Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 13 additions & 90 deletions src/PDFGeek/App.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,97 +3,20 @@
x:Class="PDFGeek.App"
RequestedThemeVariant="Dark">

<!-- The control styles used to sit inline here on their own hardcoded palette. They are in
Themes/Shell.axaml now, reading the house tokens from Themes/Dark.axaml - the same two
files, with the same token names, that the rest of the range carries. -->

<Application.Styles>
<FluentTheme />

<!-- NeoDark palette, matching the TechyGeeksHome brand tokens -->
<Style Selector="Window">
<Setter Property="Background" Value="#0b0b0d" />
<Setter Property="FontFamily" Value="Inter, Segoe UI, sans-serif" />
</Style>

<Style Selector="Button.accent">
<Setter Property="Background" Value="#38bdf8" />
<Setter Property="Foreground" Value="#0b0b0d" />
<Setter Property="FontWeight" Value="SemiBold" />
<Setter Property="Padding" Value="18,10" />
<Setter Property="CornerRadius" Value="8" />
</Style>
<Style Selector="Button.accent:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="#0ea5e9" />
<Setter Property="TextBlock.Foreground" Value="#0b0b0d" />
</Style>

<Style Selector="Button.ghost">
<Setter Property="Background" Value="#1a1a1e" />
<Setter Property="Foreground" Value="#e5e7eb" />
<Setter Property="BorderBrush" Value="#1f1f22" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="14,8" />
<Setter Property="CornerRadius" Value="8" />
</Style>

<Style Selector="ListBox.tools ListBoxItem">
<Setter Property="Padding" Value="12,9" />
<Setter Property="CornerRadius" Value="8" />
<Setter Property="Foreground" Value="#9ca3af" />
</Style>
<Style Selector="ListBox.tools ListBoxItem:selected /template/ ContentPresenter">
<Setter Property="Background" Value="#38bdf8" />
<Setter Property="TextBlock.Foreground" Value="#0b0b0d" />
<Setter Property="TextBlock.FontWeight" Value="SemiBold" />
</Style>
<Style Selector="ListBox.tools ListBoxItem:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="#1a1a1e" />
<Setter Property="TextBlock.Foreground" Value="#e5e7eb" />
</Style>

<Style Selector="Button.sidelink">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Foreground" Value="#9ca3af" />
<Setter Property="Padding" Value="0,3" />
<Setter Property="FontSize" Value="11" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="HorizontalAlignment" Value="Left" />
</Style>
<Style Selector="Button.sidelink:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="Transparent" />
<Setter Property="TextBlock.Foreground" Value="#38bdf8" />
</Style>

<Style Selector="TextBlock.h1">
<Setter Property="FontSize" Value="20" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Foreground" Value="#e5e7eb" />
</Style>

<Style Selector="TextBlock.sub">
<Setter Property="Foreground" Value="#9ca3af" />
<Setter Property="FontSize" Value="12" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style>

<Style Selector="TextBlock.label">
<Setter Property="Foreground" Value="#9ca3af" />
<Setter Property="FontSize" Value="12" />
<Setter Property="Margin" Value="0,10,0,4" />
</Style>

<Style Selector="Border.card">
<Setter Property="Background" Value="#111113" />
<Setter Property="BorderBrush" Value="#1f1f22" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="16" />
<Setter Property="Padding" Value="20" />
</Style>

<Style Selector="TextBox">
<Setter Property="Background" Value="#0b0b0d" />
<Setter Property="Foreground" Value="#e5e7eb" />
<Setter Property="BorderBrush" Value="#1f1f22" />
<Setter Property="CornerRadius" Value="8" />
<Setter Property="Padding" Value="10,8" />
</Style>
<StyleInclude Source="avares://PDFGeek/Themes/Shell.axaml" />
</Application.Styles>

<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceInclude Source="avares://PDFGeek/Themes/Dark.axaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
6 changes: 3 additions & 3 deletions src/PDFGeek/PDFGeek.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
<Product>PDFGeek</Product>
<Company>TechyGeeksHome</Company>
<Authors>TechyGeeksHome</Authors>
<Version>1.1.0</Version>
<AssemblyVersion>1.1.0.0</AssemblyVersion>
<FileVersion>1.1.0.0</FileVersion>
<Version>1.1.1</Version>
<AssemblyVersion>1.1.1.0</AssemblyVersion>
<FileVersion>1.1.1.0</FileVersion>
<Copyright>Copyright © TechyGeeksHome</Copyright>
<Description>Free, offline PDF tools for Windows. No limits, no uploads.</Description>

Expand Down
40 changes: 40 additions & 0 deletions src/PDFGeek/Themes/Dark.axaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<!--
The TechyGeeksHome house palette. These are the same token names and values as
DriverGeek, CleanGeek, DiskGeek and AppGeek carry -
copied, not re-derived, so the five apps cannot drift apart. If a value changes here it
changes in all of them.
-->

<SolidColorBrush x:Key="Navy" Color="#FF0A0D16" />
<SolidColorBrush x:Key="Chrome" Color="#FF0C111C" />
<SolidColorBrush x:Key="Panel" Color="#FF111725" />
<SolidColorBrush x:Key="Panel2" Color="#FF161D2E" />
<SolidColorBrush x:Key="PanelHover" Color="#FF141B2A" />
<SolidColorBrush x:Key="Selected" Color="#FF12203A" />
<SolidColorBrush x:Key="Line" Color="#FF242D42" />
<SolidColorBrush x:Key="LineSoft" Color="#FF1A2233" />
<SolidColorBrush x:Key="Line2" Color="#FF2E3950" />
<SolidColorBrush x:Key="Blue" Color="#FF2E78D8" />
<SolidColorBrush x:Key="BlueHover" Color="#FF3A85E6" />
<SolidColorBrush x:Key="BlueLight" Color="#FF6BA8F0" />
<SolidColorBrush x:Key="Teal" Color="#FF17AEB7" />
<SolidColorBrush x:Key="Green" Color="#FF3BA55C" />
<SolidColorBrush x:Key="GreenLight" Color="#FF5ED18A" />
<SolidColorBrush x:Key="Amber" Color="#FFE0A62B" />
<SolidColorBrush x:Key="Red" Color="#FFD9534F" />
<SolidColorBrush x:Key="RedLight" Color="#FFE08D8A" />
<SolidColorBrush x:Key="Txt" Color="#FFFFFFFF" />
<SolidColorBrush x:Key="Txt2" Color="#FFBEC4D2" />
<SolidColorBrush x:Key="Txt3" Color="#FF7C8699" />
<SolidColorBrush x:Key="Txt4" Color="#FF5C6578" />
<SolidColorBrush x:Key="ControlBg" Color="#FF0E1421" />
<SolidColorBrush x:Key="ButtonBg" Color="#FF1B2333" />
<SolidColorBrush x:Key="ButtonBorder" Color="#FF2A3549" />

<FontFamily x:Key="UiFont">Segoe UI Variable Display, Segoe UI, Arial</FontFamily>
<FontFamily x:Key="MonoFont">Cascadia Mono, Consolas, Courier New</FontFamily>

</ResourceDictionary>
161 changes: 161 additions & 0 deletions src/PDFGeek/Themes/Shell.axaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
<Styles xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<!--
Application.Styles is built before Application.Resources, so a StaticResource lookup in
here cannot see the app-level dictionary. Merge the palette in locally as well; it is the
same file, so there is still exactly one definition of every token.
-->
<Styles.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceInclude Source="avares://PDFGeek/Themes/Dark.axaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Styles.Resources>

<!--
These styles used to sit inline in App.axaml on a second, hardcoded palette - the older
near-black/sky-blue set (#0b0b0d, #111113, #1f1f22, #38bdf8). PDFGeek was the last app in
the range still carrying it. Same rules, now reading the house tokens, so a change to
Dark.axaml lands here too.

The class names are PDFGeek's existing ones and are deliberately unchanged - renaming them
would be churn with no visual result. Converging the class vocabulary across the range is a
separate pass.
-->

<Style Selector="Window">
<Setter Property="Background" Value="{StaticResource Navy}" />
<Setter Property="FontFamily" Value="{StaticResource UiFont}" />
</Style>

<!-- The one primary action per screen -->
<Style Selector="Button.accent">
<Setter Property="Background" Value="{StaticResource Blue}" />
<Setter Property="Foreground" Value="{StaticResource Txt}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FontWeight" Value="SemiBold" />
<Setter Property="Padding" Value="18,10" />
<Setter Property="CornerRadius" Value="7" />
</Style>
<Style Selector="Button.accent:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource BlueHover}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource Txt}" />
</Style>
<Style Selector="Button.accent:disabled /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource ButtonBg}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource Txt4}" />
</Style>

<!-- Secondary button -->
<Style Selector="Button.ghost">
<Setter Property="Background" Value="{StaticResource ButtonBg}" />
<Setter Property="Foreground" Value="{StaticResource Txt2}" />
<Setter Property="BorderBrush" Value="{StaticResource ButtonBorder}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="14,8" />
<Setter Property="CornerRadius" Value="7" />
</Style>
<Style Selector="Button.ghost:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource PanelHover}" />
</Style>

<!-- Tool list down the left-hand side -->
<Style Selector="ListBox.tools ListBoxItem">
<Setter Property="Padding" Value="12,9" />
<Setter Property="CornerRadius" Value="7" />
<Setter Property="Foreground" Value="{StaticResource Txt2}" />
</Style>
<Style Selector="ListBox.tools ListBoxItem:selected /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource Selected}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource Txt}" />
<Setter Property="TextBlock.FontWeight" Value="SemiBold" />
</Style>
<Style Selector="ListBox.tools ListBoxItem:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource PanelHover}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource Txt}" />
</Style>

<!-- The small text links under the sidebar -->
<Style Selector="Button.sidelink">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Foreground" Value="{StaticResource Txt3}" />
<Setter Property="Padding" Value="0,3" />
<Setter Property="FontSize" Value="11" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="HorizontalAlignment" Value="Left" />
</Style>
<Style Selector="Button.sidelink:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="Transparent" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource BlueLight}" />
</Style>

<!-- Type -->
<Style Selector="TextBlock.h1">
<Setter Property="FontSize" Value="20" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Foreground" Value="{StaticResource Txt}" />
</Style>
<Style Selector="TextBlock.sub">
<Setter Property="FontSize" Value="12" />
<Setter Property="Foreground" Value="{StaticResource Txt3}" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
<Style Selector="TextBlock.label">
<Setter Property="FontSize" Value="12" />
<Setter Property="Foreground" Value="{StaticResource Txt3}" />
<Setter Property="Margin" Value="0,10,0,4" />
</Style>

<!-- Cards. 7px, not the 16px the old palette used. -->
<Style Selector="Border.card">
<Setter Property="Background" Value="{StaticResource Panel}" />
<Setter Property="BorderBrush" Value="{StaticResource Line}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="7" />
<Setter Property="Padding" Value="20" />
</Style>

<!-- Inputs -->
<Style Selector="TextBox">
<Setter Property="Background" Value="{StaticResource ControlBg}" />
<Setter Property="Foreground" Value="{StaticResource Txt}" />
<Setter Property="BorderBrush" Value="{StaticResource ButtonBorder}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="7" />
<Setter Property="Padding" Value="10,8" />
</Style>
<Style Selector="ComboBox">
<Setter Property="Background" Value="{StaticResource ControlBg}" />
<Setter Property="Foreground" Value="{StaticResource Txt}" />
<Setter Property="BorderBrush" Value="{StaticResource ButtonBorder}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="7" />
</Style>
<Style Selector="CheckBox">
<Setter Property="Foreground" Value="{StaticResource Txt2}" />
</Style>

<!-- Default button, for anything not explicitly classed -->
<Style Selector="Button">
<Setter Property="Background" Value="{StaticResource ButtonBg}" />
<Setter Property="Foreground" Value="{StaticResource Txt2}" />
<Setter Property="BorderBrush" Value="{StaticResource ButtonBorder}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="7" />
<Setter Property="Padding" Value="12,7" />
</Style>
<Style Selector="Button:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource PanelHover}" />
</Style>

<Style Selector="ListBox">
<Setter Property="Background" Value="Transparent" />
</Style>
<Style Selector="ScrollViewer">
<Setter Property="Background" Value="Transparent" />
</Style>

</Styles>
22 changes: 11 additions & 11 deletions src/PDFGeek/Views/MainWindow.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
<Grid ColumnDefinitions="220,*">

<!-- ============================ sidebar ============================ -->
<Border Grid.Column="0" Background="#111113" BorderBrush="#1f1f22" BorderThickness="0,0,1,0">
<Border Grid.Column="0" Background="{StaticResource Panel}" BorderBrush="{StaticResource Line}" BorderThickness="0,0,1,0">
<DockPanel LastChildFill="True">

<StackPanel DockPanel.Dock="Top" Margin="20,24,20,18" Orientation="Horizontal" Spacing="10">
<Image Source="/Assets/pdfgeek.png" Width="38" Height="38" VerticalAlignment="Center" />
<StackPanel VerticalAlignment="Center">
<TextBlock Text="PDFGeek" FontSize="20" FontWeight="Bold" Foreground="#e5e7eb" />
<TextBlock Text="by TechyGeeksHome" FontSize="10" Foreground="#38bdf8" Margin="0,1,0,0" />
<TextBlock Text="PDFGeek" FontSize="20" FontWeight="Bold" Foreground="{StaticResource Txt}" />
<TextBlock Text="by TechyGeeksHome" FontSize="10" Foreground="{StaticResource BlueLight}" Margin="0,1,0,0" />
</StackPanel>
</StackPanel>

Expand All @@ -31,7 +31,7 @@
HorizontalAlignment="Stretch" HorizontalContentAlignment="Center"
FontSize="11" Padding="10,7" />
<TextBlock x:Name="VersionText" Text="v1.0.0" FontSize="10"
Foreground="#6b7280" HorizontalAlignment="Center" Margin="0,2,0,0" />
Foreground="{StaticResource Txt4}" HorizontalAlignment="Center" Margin="0,2,0,0" />
</StackPanel>
</StackPanel>

Expand All @@ -51,11 +51,11 @@
<DockPanel Grid.Column="1" LastChildFill="True">

<!-- status bar -->
<Border DockPanel.Dock="Bottom" Background="#111113" BorderBrush="#1f1f22"
<Border DockPanel.Dock="Bottom" Background="{StaticResource Panel}" BorderBrush="{StaticResource Line}"
BorderThickness="0,1,0,0" Padding="20,10">
<Grid ColumnDefinitions="*,Auto">
<TextBlock x:Name="StatusText" Grid.Column="0" Text="Ready."
Foreground="#9ca3af" FontSize="12" VerticalAlignment="Center"
Foreground="{StaticResource Txt3}" FontSize="12" VerticalAlignment="Center"
TextTrimming="CharacterEllipsis" />
<Button x:Name="OpenOutputButton" Grid.Column="1" Classes="ghost"
Content="Show last result" IsEnabled="False" FontSize="11" Padding="10,5" />
Expand All @@ -73,8 +73,8 @@

<Border Classes="card">
<StackPanel Spacing="10">
<ListBox x:Name="MergeList" Height="230" Background="#0b0b0d"
BorderBrush="#1f1f22" BorderThickness="1" />
<ListBox x:Name="MergeList" Height="230" Background="{StaticResource ControlBg}"
BorderBrush="{StaticResource Line}" BorderThickness="1" />
<StackPanel Orientation="Horizontal" Spacing="8">
<Button x:Name="MergeAddButton" Classes="ghost" Content="Add files" />
<Button x:Name="MergeUpButton" Classes="ghost" Content="Move up" />
Expand Down Expand Up @@ -237,7 +237,7 @@
TickFrequency="5" IsSnapToTickEnabled="True" />

<CheckBox x:Name="WatermarkDiagonal" Content="Diagonal" IsChecked="True"
Foreground="#e5e7eb" Margin="0,6,0,0" />
Foreground="{StaticResource Txt}" Margin="0,6,0,0" />
</StackPanel>
</Border>

Expand Down Expand Up @@ -272,9 +272,9 @@

<StackPanel x:Name="PasswordPermissions" Spacing="4" Margin="0,10,0,0">
<CheckBox x:Name="AllowPrinting" Content="Allow printing" IsChecked="True"
Foreground="#e5e7eb" />
Foreground="{StaticResource Txt}" />
<CheckBox x:Name="AllowCopying" Content="Allow copying text"
Foreground="#e5e7eb" />
Foreground="{StaticResource Txt}" />
</StackPanel>
</StackPanel>
</Border>
Expand Down
Loading
Loading