Skip to content

Commit d8cee87

Browse files
committed
Added header-template settings and localization
1 parent 8ca2374 commit d8cee87

File tree

3 files changed

+47
-5
lines changed

3 files changed

+47
-5
lines changed

wordpress2doc/Form1.cs

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
using System.Net;
2121
using TuesPechkin;
2222
using System.Drawing.Printing;
23+
using System.Diagnostics;
2324

2425
namespace Wordpress2Doc
2526
{
@@ -28,6 +29,7 @@ public partial class Form1 : MetroForm
2829
private PrivateFontCollection fontColl;
2930
private Font handwrittenFont;
3031
private Localization loc;
32+
private const string basicHeaderTemplate = "<h1>{{title}}</h1><i>{{date:ddd, dd MMM yyyy HH:mm:ss}}, {{creator}}, [{{categories}}]</i><br/><br/>";
3133
private int version = 4;
3234

3335
public Form1()
@@ -91,7 +93,13 @@ private void LoadSettingsTab()
9193
}
9294
metroToggleSettingsProxy.Checked = Convert.ToBoolean(SettingsHelper.GetAppSetting("proxy-use"));
9395
metroTextBoxSettingsProxyPort.Text = SettingsHelper.GetAppSetting("proxy-port");
94-
metroTextBoxSettingsProxy.Text = SettingsHelper.GetAppSetting("proxy-server");
96+
metroTextBoxSettingsProxy.Text = SettingsHelper.GetAppSetting("proxy-server");
97+
98+
if (SettingsHelper.GetAppSetting("headerTemplate") == null)
99+
{
100+
SettingsHelper.SetAppSetting("headerTemplate", basicHeaderTemplate);
101+
}
102+
richTextBoxHeaderTemplate.Text = SettingsHelper.GetAppSetting("headerTemplate");
95103
}
96104

97105
private void UpdateLanguage()
@@ -123,7 +131,10 @@ private void UpdateLanguage()
123131
metroLabelSettingsStyle.Text = loc.C_lblSettingsStyle;
124132
metroLabelSettingsLanguage.Text = loc.C_lblSettingsLanguage;
125133
metroButtonSettingsClose.Text = loc.C_btnSettingsClose;
126-
metroLabelSettingsCredits.Text = loc.C_lblSettingsCredits + " (Version: " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() + ")";
134+
metroTabPageSettingsCredits.Text = loc.C_lblSettingsCredits + " (Version: " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() + ")";
135+
metroTabPageSettingsHeader.Text = loc.C_tpSettingsHeader;
136+
richTextBoxHeaderDescription.Text = loc.C_txtHeaderDescription;
137+
metroButtonResetHeaderTemplate.Text = loc.C_btnResetHeaderTemplate;
127138
metroLabelSettingsProxyPort.Text = loc.C_lblProxyPort;
128139
metroLabelSettingsProxyServer.Text = loc.C_lblProxyServer;
129140
metroLabelSettingsUseProxy.Text = loc.C_lblUseProxy;
@@ -516,6 +527,7 @@ private void metroComboBoxSettingsStyle_SelectedIndexChanged(object sender, Even
516527

517528
private void metroButtonSettingsClose_Click(object sender, EventArgs e)
518529
{
530+
SettingsHelper.SetAppSetting("headerTemplate", richTextBoxHeaderTemplate.Text);
519531
metroTabControlContainer.TabPages.Clear();
520532
metroTabControlContainer.TabPages.AddRange(new TabPage[]{metroTabPageLoad, metroTabPageChoose, metroTabPageExport });
521533
}
@@ -647,7 +659,7 @@ void bgw_DoWork(object sender, DoWorkEventArgs e)
647659
}
648660

649661
//Create metadata html
650-
var headerLineTemplate = "<h1>{{title}}</h1><i>{{date:ddd, dd MMM yyyy HH:mm:ss}}, {{creator}}, [{{categories}}]</i><br/><br/>";
662+
var headerLineTemplate = SettingsHelper.GetAppSetting("headerTemplate");
651663

652664
var dtFormat = Regex.Match(headerLineTemplate, "{{date:(?<dtformat>[^}]*?)}}").Groups["dtformat"];
653665
var catStr = string.Join(", ", categories.Select(x => $"{x.Domain}: {x.NiceName}"));
@@ -790,6 +802,20 @@ private class WpCategory
790802
public string NiceName { get; set; }
791803
public string Domain { get; set; }
792804
}
793-
805+
806+
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
807+
{
808+
SettingsHelper.SetAppSetting("headerTemplate", richTextBoxHeaderTemplate.Text);
809+
}
810+
811+
private void metroButtonResetHeaderTemplate_Click(object sender, EventArgs e)
812+
{
813+
richTextBoxHeaderTemplate.Text = basicHeaderTemplate;
814+
}
815+
816+
private void richTextBoxHeaderDescription_LinkClicked(object sender, LinkClickedEventArgs e)
817+
{
818+
Process.Start(e.LinkText);
819+
}
794820
}
795821
}

wordpress2doc/Localization.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ public TranslationInfo GetInfo
143143
public string C_dlgErrorHelp { get { return GetText("C_dlgErrorHelp"); } }
144144
public string C_lblConvertAIO { get { return GetText("C_lblConvertAIO"); } }
145145
public string C_txtUnpublished { get { return GetText("C_txtUnpublished"); } }
146+
public string C_tpSettingsHeader { get { return GetText("C_tpSettingsHeader"); } }
147+
public string C_btnResetHeaderTemplate { get { return GetText("C_btnResetHeaderTemplate"); } }
148+
public string C_txtHeaderDescription { get { return GetText("C_txtHeaderDescription"); } }
146149

147150
public struct TranslationInfo
148151
{

wordpress2doc/local/lang.de.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<translation>
3-
<info language="de" language-long="German" application="Wordpress2Doc" author="Raffael Herrmann" author-link="http://code-bude.net" lastedit-ts="636477077593115026" lastedit="Freitag, 1. Dezember 2017 06:49:19" />
3+
<info language="de" language-long="German" application="Wordpress2Doc" author="Raffael Herrmann" author-link="http://code-bude.net" lastedit-ts="636477096169523755" lastedit="Freitag, 1. Dezember 2017 07:20:16" />
44
<ressources>
55
<ressource label="C_ttPreviewTip">Doppelklicken Sie auf eine Zeile, um eine Vorschau des Artikel angezeigt zu bekommen</ressource>
66
<ressource label="C_lblConvertStatus"> Artikel insgesamt / </ressource>
@@ -50,5 +50,18 @@ Umwandlungsprozess zu beginnen.</ressource>
5050
</ressource>
5151
<ressource label="C_lblConvertAIO">Alle Artikel in einer Datei:</ressource>
5252
<ressource label="C_txtUnpublished">Nicht veröffentlicht</ressource>
53+
<ressource label="C_tpSettingsHeader">Kopfzeile</ressource>
54+
<ressource label="C_btnResetHeaderTemplate">Template zurücksetzen</ressource>
55+
<ressource label="C_txtHeaderDescription">Nutzen Sie das oben stehende Template um die Kopfzeile der Artikel anzupassen. Zur Formatierung können Sie HTML und CSS nutzen.
56+
Verwenden Sie die folgenden Platzhalter, um Elemente des Artikels auszugeben.
57+
58+
{{title}}
59+
{{date:ddd, dd MMM yyyy HH:mm:ss}}
60+
{{creator}}
61+
{{categories}}
62+
63+
Tipps:
64+
- Wenn keine Kopfzeile gewünscht ist, löschen Sie das Template komplett.
65+
- Die Datumsausgabe des {{date}}-Platzhalters können Sie mit folgenden Zeichen formatieren: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings</ressource>
5366
</ressources>
5467
</translation>

0 commit comments

Comments
 (0)