This commit is contained in:
rogier committed 2026-11-07 12:19:45 +01:00
commit d55d8bc32d
93 files changed
+13507

No files matched your search

+243
View File
@@ -0,0 +1,243 @@
<Window x:Class="Kniip.Settings.SettingsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="kniip instellingen" Width="720" Height="540" ResizeMode="NoResize"
WindowStartupLocation="CenterScreen" Background="{StaticResource WindowBrush}"
FontFamily="Segoe UI" FontSize="13" Icon="pack://application:,,,/AppIcon.ico">
<Window.Resources>
<Style x:Key="CardTitle" TargetType="TextBlock">
<Setter Property="FontWeight" Value="SemiBold" />
<Setter Property="FontSize" Value="14" />
<Setter Property="Margin" Value="0,0,0,8" />
</Style>
<Style TargetType="CheckBox">
<Setter Property="Margin" Value="0,4" />
</Style>
<Style TargetType="RadioButton">
<Setter Property="Margin" Value="0,4" />
</Style>
<Style x:Key="Hint" TargetType="TextBlock">
<Setter Property="Foreground" Value="{StaticResource SubtleTextBrush}" />
<Setter Property="FontSize" Value="12" />
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="Margin" Value="22,0,0,4" />
</Style>
<Style x:Key="SettingsTabItem" TargetType="TabItem">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="Padding" Value="12,9" />
<Setter Property="Margin" Value="0,1" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border x:Name="Bd" Background="Transparent" CornerRadius="4" Margin="0,1,8,1"
Padding="{TemplateBinding Padding}" BorderThickness="3,0,0,0" BorderBrush="Transparent"
SnapsToDevicePixels="True">
<ContentPresenter ContentSource="Header" HorizontalAlignment="Left" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsSelected" Value="False" />
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="{StaticResource HoverBrush}" />
</MultiTrigger>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Bd" Property="Background" Value="White" />
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource AccentBrush}" />
<Setter Property="Foreground" Value="{StaticResource AccentBrush}" />
<Setter Property="FontWeight" Value="SemiBold" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SettingsTabs" TargetType="TabControl">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="TabStripPlacement" Value="Left" />
<Setter Property="ItemContainerStyle" Value="{StaticResource SettingsTabItem}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabControl">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="176" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TabPanel Grid.Column="0" IsItemsHost="True" VerticalAlignment="Top" Background="Transparent" />
<Border Grid.Column="1" Background="White" BorderBrush="#E5E5E5" BorderThickness="1"
CornerRadius="6" SnapsToDevicePixels="True">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled"
Padding="16,14">
<ContentPresenter ContentSource="SelectedContent" />
</ScrollViewer>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<DockPanel Margin="20">
<DockPanel DockPanel.Dock="Bottom" Margin="0,14,0,0">
<Button Style="{StaticResource SecondaryButton}" Content="Standaardinstellingen" Click="ResetDefaults_Click"
ToolTip="Instellingen, toolstijlen, werkbalk en laatst gebruikte mappen terugzetten; pas bij Opslaan worden ze bewaard" />
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal">
<Button Style="{StaticResource SecondaryButton}" Content="Annuleren" IsCancel="True" Click="Cancel_Click" />
<Button Style="{StaticResource AccentButton}" Content="Opslaan" IsDefault="True" Click="Save_Click" Margin="4,0,0,0" />
</StackPanel>
<TextBlock x:Name="ResetStatus" Style="{StaticResource Hint}" Margin="10,0" VerticalAlignment="Center" Visibility="Collapsed"
Text="Standaardwaarden ingevuld; klik op Opslaan om ze te bewaren." />
</DockPanel>
<TabControl Style="{StaticResource SettingsTabs}" SelectionChanged="Tabs_SelectionChanged">
<TabItem Header="Knipsels">
<StackPanel>
<TextBlock Text="Knipsels oppikken" Style="{StaticResource CardTitle}" />
<CheckBox x:Name="WatchClipboardBox" Content="Klembord bewaken" />
<CheckBox x:Name="OnlySnippingToolBox" Content="Alleen afbeeldingen van het Knipprogramma" Margin="22,2,0,4" />
<CheckBox x:Name="WatchFolderBox" Content="Map Schermafbeeldingen bewaken" />
<TextBlock x:Name="FolderText" Style="{StaticResource Hint}" />
</StackPanel>
</TabItem>
<TabItem Header="Sneltoetsen">
<StackPanel>
<TextBlock Text="Sneltoetsen" Style="{StaticResource CardTitle}" />
<StackPanel Orientation="Horizontal" Margin="0,2,0,4">
<TextBlock Text="Rechthoek" VerticalAlignment="Center" Width="150" />
<Button x:Name="SnipHotkeyButton" Tag="Snip" Style="{StaticResource SecondaryButton}" Width="170" Margin="0"
Click="HotkeyButton_Click" ToolTip="Klik en druk daarna de gewenste toets in, bijvoorbeeld Print Screen" />
<Button Tag="Snip" Style="{StaticResource FlatButton}" Content="Geen" Click="ClearHotkey_Click" Margin="6,0,0,0"
ToolTip="Geen sneltoets gebruiken" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,4">
<TextBlock Text="Venster" VerticalAlignment="Center" Width="150" />
<Button x:Name="WindowHotkeyButton" Tag="Window" Style="{StaticResource SecondaryButton}" Width="170" Margin="0"
Click="HotkeyButton_Click" ToolTip="Klik en druk daarna de gewenste toets in, bijvoorbeeld Alt + Print Screen" />
<Button Tag="Window" Style="{StaticResource FlatButton}" Content="Geen" Click="ClearHotkey_Click" Margin="6,0,0,0"
ToolTip="Geen sneltoets gebruiken" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,4">
<TextBlock Text="Screencast (MP4)" VerticalAlignment="Center" Width="150" />
<Button x:Name="RecordHotkeyButton" Tag="Record" Style="{StaticResource SecondaryButton}" Width="170" Margin="0"
Click="HotkeyButton_Click" ToolTip="Klik en druk daarna de gewenste toetscombinatie in" />
<Button Tag="Record" Style="{StaticResource FlatButton}" Content="Geen" Click="ClearHotkey_Click" Margin="6,0,0,0"
ToolTip="Geen sneltoets gebruiken" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,0,0,6">
<TextBlock Text="Screencast (GIF)" VerticalAlignment="Center" Width="150" />
<Button x:Name="GifHotkeyButton" Tag="Gif" Style="{StaticResource SecondaryButton}" Width="170" Margin="0"
Click="HotkeyButton_Click" ToolTip="Klik en druk daarna de gewenste toetscombinatie in" />
<Button Tag="Gif" Style="{StaticResource FlatButton}" Content="Geen" Click="ClearHotkey_Click" Margin="6,0,0,0"
ToolTip="Geen sneltoets gebruiken" />
</StackPanel>
<TextBlock x:Name="HotkeyHint" Style="{StaticResource Hint}" Margin="0,0,0,4" />
</StackPanel>
</TabItem>
<TabItem Header="Nieuw knipsel">
<StackPanel>
<TextBlock Text="Bij een nieuw knipsel" Style="{StaticResource CardTitle}" />
<RadioButton x:Name="ActionNotifyRadio" GroupName="Action" Content="Melding tonen (klik om te bewerken)" />
<RadioButton x:Name="ActionOpenRadio" GroupName="Action" Content="Editor meteen openen" />
<RadioButton x:Name="ActionNothingRadio" GroupName="Action" Content="Niets doen (openen via systeemvak of 'Openen met')" />
<TextBlock Style="{StaticResource Hint}" Margin="0,8,0,0"
Text="Tip: zet in het Knipprogramma 'Wijzigingen automatisch kopiëren' uit, anders ziet kniip elke pennenstreek in het Knipprogramma als nieuw knipsel." />
</StackPanel>
</TabItem>
<TabItem Header="Opslaan">
<StackPanel>
<TextBlock Text="Opslaan" Style="{StaticResource CardTitle}" />
<DockPanel Margin="0,2,0,4">
<TextBlock Text="Knipsels" VerticalAlignment="Center" Width="110" />
<Button Tag="Snip" DockPanel.Dock="Right" Style="{StaticResource FlatButton}" Content="Vragen" Click="ClearSaveFolder_Click"
Margin="6,0,0,0" ToolTip="Elke keer vragen waar het knipsel wordt opgeslagen" />
<Button Tag="Snip" DockPanel.Dock="Right" Style="{StaticResource SecondaryButton}" Content="Bladeren..." Click="BrowseSaveFolder_Click"
Margin="6,0,0,0" />
<TextBlock x:Name="SnipFolderText" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" />
</DockPanel>
<DockPanel Margin="0,0,0,4">
<TextBlock Text="Screencasts" VerticalAlignment="Center" Width="110" />
<Button Tag="Video" DockPanel.Dock="Right" Style="{StaticResource FlatButton}" Content="Vragen" Click="ClearSaveFolder_Click"
Margin="6,0,0,0" ToolTip="Elke keer vragen waar de screencast wordt opgeslagen" />
<Button Tag="Video" DockPanel.Dock="Right" Style="{StaticResource SecondaryButton}" Content="Bladeren..." Click="BrowseSaveFolder_Click"
Margin="6,0,0,0" />
<TextBlock x:Name="VideoFolderText" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" />
</DockPanel>
<TextBlock Style="{StaticResource Hint}" Margin="0,4,0,8"
Text="Met een map ingesteld slaat Opslaan (Ctrl+S) direct op, met datum en tijd in de naam. Shift+klik of Ctrl+Shift+S vraagt toch waar het bestand moet komen." />
<RadioButton x:Name="SaveOnlyRadio" GroupName="SaveButton" Content="Opslaan" />
<RadioButton x:Name="SaveAndCopyRadio" GroupName="SaveButton" Content="Opslaan en kopiëren" />
<TextBlock Style="{StaticResource Hint}"
Text="Opslaan en kopiëren zet het bestand ook op het klembord, zodat je het meteen kunt plakken." />
</StackPanel>
</TabItem>
<TabItem Header="Uploaden">
<StackPanel>
<TextBlock Text="Uploaden naar Zipline" Style="{StaticResource CardTitle}" />
<DockPanel Margin="0,2,0,4">
<TextBlock Text="Server" VerticalAlignment="Center" Width="110" />
<Button DockPanel.Dock="Right" Style="{StaticResource FlatButton}" Content="Verwijderen" Click="RemoveUploader_Click"
x:Name="RemoveUploaderButton" Margin="6,0,0,0" ToolTip="Geen uploadbestemming meer gebruiken" />
<Button DockPanel.Dock="Right" Style="{StaticResource SecondaryButton}" Content="Testen" Click="TestUploader_Click"
x:Name="TestUploaderButton" Margin="6,0,0,0" ToolTip="Een klein testplaatje uploaden" />
<Button DockPanel.Dock="Right" Style="{StaticResource SecondaryButton}" Content="Importeren..." Click="ImportUploader_Click"
Margin="6,0,0,0" ToolTip="ShareX-uploader (.sxcu) of Shell Script (.sh) uit Zipline kiezen" />
<TextBlock x:Name="UploaderText" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" />
</DockPanel>
<TextBlock x:Name="UploaderStatus" Style="{StaticResource Hint}" Margin="0,4,0,4" Visibility="Collapsed" />
<TextBlock Style="{StaticResource Hint}" Margin="0,4,0,4"
Text="Maak het bestand in Zipline via Instellingen > Generate Uploaders (ShareX of Shell Script) en importeer het hier. kniip leest alleen het adres en de token uit; het script wordt niet uitgevoerd." />
<TextBlock Style="{StaticResource Hint}" Margin="0,0,0,4"
Text="Daarna staat er een knop Uploaden in de editor (Ctrl+U) en bij screencasts. De link komt op het klembord. De token wordt versleuteld bewaard voor jouw Windows-account." />
</StackPanel>
</TabItem>
<TabItem Header="Screencasts">
<StackPanel>
<TextBlock Text="Screencasts" Style="{StaticResource CardTitle}" />
<TextBlock Style="{StaticResource Hint}" Margin="0,0,0,6"
Text="Sneltoets: eerste keer gebied kiezen, tweede keer opname starten, derde keer stoppen. De nabewerking staat daarna op MP4 of GIF." />
<CheckBox x:Name="SystemAudioBox" Content="Systeemgeluid opnemen (standaard)" />
<CheckBox x:Name="MicrophoneBox" Content="Microfoon opnemen (standaard)" />
<CheckBox x:Name="ShowCursorBox" Content="Muisaanwijzer tonen" />
<CheckBox x:Name="HighlightClicksBox" Content="Muisklikken markeren (geel = links, blauw = rechts)" />
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
<TextBlock Text="Video" VerticalAlignment="Center" Width="110" />
<ComboBox x:Name="VideoFpsCombo" Style="{StaticResource PropCombo}" Width="130" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
<TextBlock Text="GIF" VerticalAlignment="Center" Width="110" />
<ComboBox x:Name="GifFpsCombo" Style="{StaticResource PropCombo}" Width="130" />
<ComboBox x:Name="GifWidthCombo" Style="{StaticResource PropCombo}" Width="150" Margin="6,0,0,0" />
</StackPanel>
</StackPanel>
</TabItem>
<TabItem Header="Windows">
<StackPanel>
<TextBlock Text="Windows-integratie" Style="{StaticResource CardTitle}" />
<CheckBox x:Name="AutostartBox" Content="kniip starten met Windows" />
<CheckBox x:Name="OpenWithBox" Content="kniip tonen in 'Openen met' (ook in het Knipprogramma: ... → Openen met)" />
<TextBlock Style="{StaticResource Hint}"
Text="Alleen voor jouw gebruikersaccount; er is geen beheerder nodig en het Knipprogramma zelf wordt niet aangepast." />
</StackPanel>
</TabItem>
<TabItem Header="Editor">
<StackPanel>
<TextBlock Text="Editor" Style="{StaticResource CardTitle}" />
<CheckBox x:Name="StraightHighlightBox" Content="Markeerstift trekt standaard een rechte horizontale streep (Shift wisselt)" />
</StackPanel>
</TabItem>
</TabControl>
</DockPanel>
</Window>