Skip to content

Commit

Permalink
Dev (#197)
Browse files Browse the repository at this point in the history
* cleanup code
* fix index out of range when only front matter present
* fix clipboard to DataUri
* allow per monitor dpi
* move commands
* move commands
* move commands
* refactor to use static
* refactor commands
* fix init problem
* refactor more commands
* refactor more commands
* refactor more commands
* refactor more commands
* fix openfile command
* move more commands
* main window refactored
* begin refactoring editor commands
* move more editor commands:
* move more commands
* refactor to commands
* update packages, reduce template
* make stylesheet less github like
* add list indent on tab
* add multi-jit startup
* fix redraw issues
* navigate to named anchors in same document #171
* only add to list items if it's increasing line count #172
* check if previous/previous line in list #173
* to enable newer common control styles
* move app manifest into solution items
* v1.30
* Create local.txt
* Add files via upload
* Add files via upload
* Update SpellingLanguages.cs
* Update SpellingLanguages.cs
* Update SpellingLanguages.cs
* sv translation
* add translations
* Add swedish translation to project
* fix crash
* CustomMarkdownConverter to use long file names
* fix CustomConverter by adding separate CustomConverterArgs setting, disable UI when set
* special case handling of blockquote in list #176
* 1.30.1
* cleanup
* add snytax highlighting styles
* update
* add russian translation
* v1.30.2
* refactor to vm
* create vm for main window
* add crash reporter
* remove intentional exception
* move crashreport initialization
* messing with UWA
* update to MahApp 1.3
* switch to win10 style toggle switches, add format section
* Show time near doc stats #194
* expand dialog for language translations #192
* add hypen snippet
* add hyphen snippet #195
* add spellcheck error color to theme settings #193
* 1.31
  • Loading branch information
mike-ward committed Oct 2, 2016
1 parent be96086 commit 8964b89
Show file tree
Hide file tree
Showing 33 changed files with 644 additions and 330 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ _posts
cov-int/
.idea/
*.iml
/uwa

# Build results

Expand Down
2 changes: 2 additions & 0 deletions build-uwa.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
call rimraf uwa
desktopappconverter -Installer MarkdownEditSetup.msi -InstallerArguments "/q" -Destination "uwa" -PackageName "MarkdownEdit" -Publisher "CN=MikeWard.Net" -Version 1.3.2.0 -MakeAppx -Verbose -Sign
1 change: 1 addition & 0 deletions src/MarkdownEdit/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ public App()

private void OnStartup(object sender, StartupEventArgs ea)
{
CrashReport.Initialize(this);
InitializeSettings();

if (UserSettings == null || AlreadyEditingFile())
Expand Down
2 changes: 1 addition & 1 deletion src/MarkdownEdit/Commands/DecreaseEditorMarginCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ static DecreaseEditorMarginCommand()
private static void Execute(object sender, ExecutedRoutedEventArgs e)
{
App.UserSettings.SinglePaneMargin =
Math.Min(App.UserSettings.SinglePaneMargin + 1, MainWindow.EditorMarginMax);
Math.Min(App.UserSettings.SinglePaneMargin + 1, MainWindowViewModel.EditorMarginMax);
}
}
}
49 changes: 49 additions & 0 deletions src/MarkdownEdit/Commands/ExportThemeCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using System;
using System.IO;
using System.Windows;
using System.Windows.Input;
using MarkdownEdit.Models;
using Microsoft.Win32;
using Newtonsoft.Json;

namespace MarkdownEdit.Commands
{
internal static class ExportThemeCommand
{
public static readonly RoutedCommand Command = new RoutedCommand();

static ExportThemeCommand()
{
Application.Current.MainWindow.CommandBindings.Add(new CommandBinding(Command, Execute));
}

private static void Execute(object sender, ExecutedRoutedEventArgs e)
{
try
{
var filename = GetFileName();
if (filename == null) return;
var theme = JsonConvert.SerializeObject(App.UserSettings.Theme);
// ReSharper disable once AssignNullToNotNullAttribute
Directory.CreateDirectory(Path.GetDirectoryName(filename));
File.WriteAllText(filename, theme);
}
catch (Exception ex)
{
Notify.Alert(ex.Message);
}
}

private static string GetFileName()
{
var dialog = new SaveFileDialog
{
Filter = "json files (*.json)|*.json|"
+ "All files (*.*)|*.*"
};

var showDialog = dialog.ShowDialog();
return (showDialog != null && (bool)showDialog) ? dialog.FileName : null;
}
}
}
2 changes: 1 addition & 1 deletion src/MarkdownEdit/Commands/IncreaseEditorMarginCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ static IncreaseEditorMarginCommand()
private static void Execute(object sender, ExecutedRoutedEventArgs e)
{
App.UserSettings.SinglePaneMargin =
Math.Max(App.UserSettings.SinglePaneMargin - 1, MainWindow.EditorMarginMin);
Math.Max(App.UserSettings.SinglePaneMargin - 1, MainWindowViewModel.EditorMarginMin);
}
}
}
93 changes: 51 additions & 42 deletions src/MarkdownEdit/Controls/DisplaySettings.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,28 @@
x:Class="MarkdownEdit.Controls.DisplaySettings"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:commands="clr-namespace:MarkdownEdit.Commands"
xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:converters="clr-namespace:MarkdownEdit.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i18N="clr-namespace:MarkdownEdit.i18n"
xmlns:local="clr-namespace:MarkdownEdit.Controls"
xmlns:markdownEdit="clr-namespace:MarkdownEdit"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:MarkdownEdit.Models"
xmlns:p="clr-namespace:MarkdownEdit.Properties"
xmlns:commands="clr-namespace:MarkdownEdit.Commands"
x:Name="DisplaySettingsControl"
d:DesignHeight="1000"
d:DesignWidth="400"
DataContext="{Binding Source={x:Static markdownEdit:App.UserSettings}}"
mc:Ignorable="d">

<UserControl.Resources>
<Style x:Key="ToggleSwitchStyle" TargetType="controls:ToggleSwitch">
<converters:PadWithSpaceConverter x:Key="Pad" />

<Style x:Key="ToggleSwitchStyle" BasedOn="{StaticResource MahApps.Metro.Styles.ToggleSwitch.Win10}" TargetType="controls:ToggleSwitch">
<Setter Property="Foreground" Value="WhiteSmoke" />
<Setter Property="Height" Value="30" />
<Setter Property="Margin" Value="0,5" />
</Style>

<Style x:Key="SectionHeader" TargetType="TextBlock">
Expand Down Expand Up @@ -55,87 +58,93 @@
</Setter.Value>
</Setter>
</Style>

</UserControl.Resources>

<ScrollViewer>
<StackPanel Margin="10,0" Style="{StaticResource StackPanelStyle}">
<TextBlock Style="{StaticResource SectionHeader}" Text="{i18N:Localize settings-editor-section}" />
<Separator Style="{StaticResource SeparatorStyle}" />
<StackPanel Margin="30,5">
<local:FontComboBox x:Name="FontCombo" Margin="0,0,0,3" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding Path=WordWrapEnabled, Source={x:Static p:Settings.Default}}"
OffLabel="{i18N:Localize settings-word-wrap}"
OnLabel="{i18N:Localize settings-word-wrap}"
OffLabel="{Binding Source={i18N:Localize settings-word-wrap}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-word-wrap}, Converter={StaticResource Pad}}"
ToolTip="{i18N:Localize tooltip-ctrl-w}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding Path=AutoSave, Source={x:Static p:Settings.Default}}"
OffLabel="{i18N:Localize settings-auto-save}"
OnLabel="{i18N:Localize settings-auto-save}"
OffLabel="{Binding Source={i18N:Localize settings-auto-save}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-auto-save}, Converter={StaticResource Pad}}"
ToolTip="{i18N:Localize tooltip-alt-s}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorShowLineNumbers}"
OffLabel="{i18N:Localize settings-line-numbers}"
OnLabel="{i18N:Localize settings-line-numbers}" />
OffLabel="{Binding Source={i18N:Localize settings-line-numbers}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-line-numbers}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorOpenLastFile}"
OffLabel="{i18N:Localize settings-open-last-file}"
OnLabel="{i18N:Localize settings-open-last-file}" />
OffLabel="{Binding Source={i18N:Localize settings-open-last-file}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-open-last-file}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding FormatOnSave}"
OffLabel="{i18N:Localize settings-format-on-save}"
OnLabel="{i18N:Localize settings-format-on-save}" />
OffLabel="{Binding Source={i18N:Localize settings-format-on-save}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-format-on-save}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorOpenLastCursorPosition}"
OffLabel="{i18N:Localize settings-remember-cursor-pos}"
OnLabel="{i18N:Localize settings-remember-cursor-pos}" />
OffLabel="{Binding Source={i18N:Localize settings-remember-cursor-pos}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-remember-cursor-pos}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorHighlightCurrentLine}"
OffLabel="{i18N:Localize settings-highlight-current}"
OnLabel="{i18N:Localize settings-highlight-current}" />
OffLabel="{Binding Source={i18N:Localize settings-highlight-current}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-highlight-current}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorVerticalScrollBarVisible}"
OffLabel="{i18N:Localize settings-show-scroll-bar}"
OnLabel="{i18N:Localize settings-show-scroll-bar}" />
OffLabel="{Binding Source={i18N:Localize settings-show-scroll-bar}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-show-scroll-bar}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorShowTabs}"
OffLabel="{i18N:Localize settings-show-tabs}"
OnLabel="{i18N:Localize settings-show-tabs}" />
OffLabel="{Binding Source={i18N:Localize settings-show-tabs}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-show-tabs}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorShowSpaces}"
OffLabel="{i18N:Localize settings-show-spaces}"
OnLabel="{i18N:Localize settings-show-spaces}" />
OffLabel="{Binding Source={i18N:Localize settings-show-spaces}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-show-spaces}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding EditorShowEndOfLine}"
OffLabel="{i18N:Localize settings-show-end-of-line}"
OnLabel="{i18N:Localize settings-show-end-of-line}" />
OffLabel="{Binding Source={i18N:Localize settings-show-end-of-line}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-show-end-of-line}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding SynchronizeScrollPositions}"
OffLabel="{i18N:Localize settings-sync-scroll-pos}"
OnLabel="{i18N:Localize settings-sync-scroll-pos}" />
OffLabel="{Binding Source={i18N:Localize settings-sync-scroll-pos}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-sync-scroll-pos}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
x:Name="MarkdownEngine"
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding GitHubMarkdown}"
OffLabel="{i18N:Localize settings-github-markdown}"
OnLabel="{i18N:Localize settings-github-markdown}" />
OffLabel="{Binding Source={i18N:Localize settings-github-markdown}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-github-markdown}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding YesIDonated}"
OffLabel="{i18N:Localize settings-yes-i-donated}"
OnLabel="{i18N:Localize settings-yes-i-donated}" />
OffLabel="{Binding Source={i18N:Localize settings-yes-i-donated}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-yes-i-donated}, Converter={StaticResource Pad}}" />
</StackPanel>

<TextBlock Style="{StaticResource SectionHeader}" Text="{i18N:Localize settings-format-section}" />
<Separator Style="{StaticResource SeparatorStyle}" />
<StackPanel Margin="30,7">
<local:FontComboBox x:Name="FontCombo" Margin="0,10,0,3" />
<Grid Margin="0,5,0,0" HorizontalAlignment="Stretch">
<TextBlock
Width="150"
Expand Down Expand Up @@ -171,29 +180,29 @@
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding Path=SpellCheckEnabled, Source={x:Static p:Settings.Default}}"
OffLabel="{i18N:Localize settings-spell-checking}"
OnLabel="{i18N:Localize settings-spell-checking}"
OffLabel="{Binding Source={i18N:Localize settings-spell-checking}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-spell-checking}, Converter={StaticResource Pad}}"
ToolTip="{i18N:Localize tooltip-ctrl-f7}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding SpellCheckIgnoreAllCaps}"
OffLabel="{i18N:Localize settings-ignore-all-caps}"
OnLabel="{i18N:Localize settings-ignore-all-caps}" />
OffLabel="{Binding Source={i18N:Localize settings-ignore-all-caps}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-ignore-all-caps}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding SpellCheckIgnoreCodeBlocks}"
OffLabel="{i18N:Localize settings-ignore-code-blocks}"
OnLabel="{i18N:Localize settings-ignore-code-blocks}" />
OffLabel="{Binding Source={i18N:Localize settings-ignore-code-blocks}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-ignore-code-blocks}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding SpellCheckIgnoreMarkupTags}"
OffLabel="{i18N:Localize settings-ignore-markup}"
OnLabel="{i18N:Localize settings-ignore-markup}" />
OffLabel="{Binding Source={i18N:Localize settings-ignore-markup}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-ignore-markup}, Converter={StaticResource Pad}}" />
<controls:ToggleSwitch
Style="{StaticResource ToggleSwitchStyle}"
IsChecked="{Binding SpellCheckIgnoreWordsWithDigits}"
OffLabel="{i18N:Localize settings-ignore-words-digits}"
OnLabel="{i18N:Localize settings-ignore-words-digits}" />
OffLabel="{Binding Source={i18N:Localize settings-ignore-words-digits}, Converter={StaticResource Pad}}"
OnLabel="{Binding Source={i18N:Localize settings-ignore-words-digits}, Converter={StaticResource Pad}}" />
</StackPanel>

<TextBlock Style="{StaticResource SectionHeader}" Text="{i18N:Localize settings-advanced}" />
Expand Down
35 changes: 13 additions & 22 deletions src/MarkdownEdit/Controls/FindReplaceDialog.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:i18N="clr-namespace:MarkdownEdit.i18n"
Title="{i18N:Localize find-replace-title}"
Width="300"
Width="360"
GlowBrush="{StaticResource GrayBrush2}"
ResizeMode="NoResize"
ShowInTaskbar="False"
Expand All @@ -14,6 +14,14 @@
WindowTitleBrush="{StaticResource GrayBrush2}"
WindowTransitionsEnabled="False">

<controls:MetroWindow.Resources>
<Style x:Key="ButtonStyle" TargetType="Button">
<Setter Property="Width" Value="92" />
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="Margin" Value="5" />
</Style>
</controls:MetroWindow.Resources>

<Grid Margin="4,5,4,10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
Expand All @@ -37,9 +45,7 @@
Text="{Binding FindText}" />
<Button
x:Name="FindNextButton"
Width="80"
Margin="5"
HorizontalAlignment="Right"
Style="{StaticResource ButtonStyle}"
Click="FindNextClick"
Content="{i18N:Localize find-replace-find-next}" />
</StackPanel>
Expand All @@ -53,24 +59,9 @@
Text="{Binding FindText}" />
<TextBox Name="txtReplace" Margin="3" controls:TextBoxHelper.Watermark="{i18N:Localize find-replace-watermark-replace}" />
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<Button
Width="80"
Margin="5"
HorizontalAlignment="Right"
Click="FindNext2Click"
Content="{i18N:Localize find-replace-find-next}" />
<Button
Width="80"
Margin="5"
HorizontalAlignment="Right"
Click="ReplaceClick"
Content="{i18N:Localize find-replace-replace}" />
<Button
Width="80"
Margin="5"
HorizontalAlignment="Right"
Click="ReplaceAllClick"
Content="{i18N:Localize find-replace-replace-all}" />
<Button Style="{StaticResource ButtonStyle}" Click="FindNext2Click" Content="{i18N:Localize find-replace-find-next}" />
<Button Style="{StaticResource ButtonStyle}" Click="ReplaceClick" Content="{i18N:Localize find-replace-replace}" />
<Button Style="{StaticResource ButtonStyle}" Click="ReplaceAllClick" Content="{i18N:Localize find-replace-replace-all}" />
</StackPanel>
</StackPanel>
</TabItem>
Expand Down
Loading

0 comments on commit 8964b89

Please sign in to comment.