4 Commits

Author SHA1 Message Date
ba059015cf Bump version number. 2024-08-06 10:41:00 -04:00
3b57fb0edf The date format is now selectable.
Added the form controls and AppSettings keys to allow the user to select
the format of the date appended to the output file.
Further update to issue #1.
2024-08-06 10:37:42 -04:00
1e75972ae9 Appending a date to the output file is now working.
This commit should resolve issue #1. Appending a date to the output file
is now a selectable option in the app configuration.
2024-08-06 09:53:40 -04:00
8c5d3f9e06 Merge pull request 'installer' (#2) from installer into master
Reviewed-on: ABSC/PDF-Merge#2
2024-08-05 19:18:16 -04:00
8 changed files with 134 additions and 35 deletions

View File

@@ -37,7 +37,7 @@ namespace PDF_Merge
return titleAttribute.Title; return titleAttribute.Title;
} }
} }
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase); return Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
} }
} }

View File

@@ -3,7 +3,11 @@
<appSettings> <appSettings>
<add key="PDF-Path" value=""/> <add key="PDF-Path" value=""/>
<add key="PDF-Output" value=""/> <add key="PDF-Output" value=""/>
<add key="PDF-Name" value="merged.pdf"/> <add key="PDF-Name" value="merged"/>
<add key ="PDF-Extension" value=".pdf"/>
<add key="overwrite" value="true"/> <add key="overwrite" value="true"/>
<add key="appendDate" value="false"/>
<add key ="dateFormat" value="yyyy-MM-dd"/>
<add key="dateIndex" value="0"/>
</appSettings> </appSettings>
</configuration> </configuration>

88
ConfForm.Designer.cs generated
View File

@@ -30,8 +30,8 @@ namespace PDF_Merge
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
saveBtn = new Button(); SaveBtn = new Button();
cancelBtn = new Button(); CancelBtn = new Button();
sourceBox = new TextBox(); sourceBox = new TextBox();
outputBox = new TextBox(); outputBox = new TextBox();
folderBrowserDialog1 = new FolderBrowserDialog(); folderBrowserDialog1 = new FolderBrowserDialog();
@@ -42,27 +42,30 @@ namespace PDF_Merge
outPathBtn = new Button(); outPathBtn = new Button();
FileLable = new Label(); FileLable = new Label();
FileNameBox = new TextBox(); FileNameBox = new TextBox();
fileExtlabel = new Label();
appendDatecheckBox = new CheckBox();
dateFormatOpts = new ComboBox();
SuspendLayout(); SuspendLayout();
// //
// saveBtn // SaveBtn
// //
saveBtn.Location = new Point(327, 227); SaveBtn.Location = new Point(327, 227);
saveBtn.Name = "saveBtn"; SaveBtn.Name = "SaveBtn";
saveBtn.Size = new Size(112, 34); SaveBtn.Size = new Size(112, 34);
saveBtn.TabIndex = 0; SaveBtn.TabIndex = 0;
saveBtn.Text = "Save"; SaveBtn.Text = "Save";
saveBtn.UseVisualStyleBackColor = true; SaveBtn.UseVisualStyleBackColor = true;
saveBtn.Click += saveBtn_Click; SaveBtn.Click += SaveBtn_Click;
// //
// cancelBtn // CancelBtn
// //
cancelBtn.Location = new Point(193, 227); CancelBtn.Location = new Point(193, 227);
cancelBtn.Name = "cancelBtn"; CancelBtn.Name = "CancelBtn";
cancelBtn.Size = new Size(112, 34); CancelBtn.Size = new Size(112, 34);
cancelBtn.TabIndex = 1; CancelBtn.TabIndex = 1;
cancelBtn.Text = "Cancel"; CancelBtn.Text = "Cancel";
cancelBtn.UseVisualStyleBackColor = true; CancelBtn.UseVisualStyleBackColor = true;
cancelBtn.Click += cancelBtn_Click; CancelBtn.Click += CancelBtn_Click;
// //
// sourceBox // sourceBox
// //
@@ -116,7 +119,7 @@ namespace PDF_Merge
sourceDirBtn.TabIndex = 7; sourceDirBtn.TabIndex = 7;
sourceDirBtn.Text = "..."; sourceDirBtn.Text = "...";
sourceDirBtn.UseVisualStyleBackColor = true; sourceDirBtn.UseVisualStyleBackColor = true;
sourceDirBtn.Click += sourceDirBtn_Click; sourceDirBtn.Click += SourceDirBtn_Click;
// //
// outPathBtn // outPathBtn
// //
@@ -126,7 +129,7 @@ namespace PDF_Merge
outPathBtn.TabIndex = 8; outPathBtn.TabIndex = 8;
outPathBtn.Text = "..."; outPathBtn.Text = "...";
outPathBtn.UseVisualStyleBackColor = true; outPathBtn.UseVisualStyleBackColor = true;
outPathBtn.Click += outPathBtn_Click; outPathBtn.Click += OutPathBtn_Click;
// //
// FileLable // FileLable
// //
@@ -144,11 +147,43 @@ namespace PDF_Merge
FileNameBox.Size = new Size(150, 31); FileNameBox.Size = new Size(150, 31);
FileNameBox.TabIndex = 10; FileNameBox.TabIndex = 10;
// //
// fileExtlabel
//
fileExtlabel.AutoSize = true;
fileExtlabel.Location = new Point(327, 114);
fileExtlabel.Name = "fileExtlabel";
fileExtlabel.Size = new Size(44, 25);
fileExtlabel.TabIndex = 11;
fileExtlabel.Text = ".pdf";
//
// appendDatecheckBox
//
appendDatecheckBox.AutoSize = true;
appendDatecheckBox.Location = new Point(171, 187);
appendDatecheckBox.Name = "appendDatecheckBox";
appendDatecheckBox.Size = new Size(144, 29);
appendDatecheckBox.TabIndex = 12;
appendDatecheckBox.Text = "Append Date";
appendDatecheckBox.UseVisualStyleBackColor = true;
appendDatecheckBox.CheckedChanged += AppendDatecheckBox_CheckedChanged;
//
// dateFormatOpts
//
dateFormatOpts.FormattingEnabled = true;
dateFormatOpts.Items.AddRange(new object[] { "yyyy-MM-dd", "MM-dd-yyyy" });
dateFormatOpts.Location = new Point(321, 188);
dateFormatOpts.Name = "dateFormatOpts";
dateFormatOpts.Size = new Size(182, 33);
dateFormatOpts.TabIndex = 13;
//
// ConfForm // ConfForm
// //
AutoScaleDimensions = new SizeF(10F, 25F); AutoScaleDimensions = new SizeF(10F, 25F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(500, 282); ClientSize = new Size(546, 282);
Controls.Add(dateFormatOpts);
Controls.Add(appendDatecheckBox);
Controls.Add(fileExtlabel);
Controls.Add(FileNameBox); Controls.Add(FileNameBox);
Controls.Add(FileLable); Controls.Add(FileLable);
Controls.Add(outPathBtn); Controls.Add(outPathBtn);
@@ -158,8 +193,8 @@ namespace PDF_Merge
Controls.Add(sourceLabel); Controls.Add(sourceLabel);
Controls.Add(outputBox); Controls.Add(outputBox);
Controls.Add(sourceBox); Controls.Add(sourceBox);
Controls.Add(cancelBtn); Controls.Add(CancelBtn);
Controls.Add(saveBtn); Controls.Add(SaveBtn);
Name = "ConfForm"; Name = "ConfForm";
Text = "Configure"; Text = "Configure";
ResumeLayout(false); ResumeLayout(false);
@@ -168,8 +203,8 @@ namespace PDF_Merge
#endregion #endregion
private Button saveBtn; private Button SaveBtn;
private Button cancelBtn; private Button CancelBtn;
private TextBox sourceBox; private TextBox sourceBox;
private TextBox outputBox; private TextBox outputBox;
private FolderBrowserDialog folderBrowserDialog1; private FolderBrowserDialog folderBrowserDialog1;
@@ -180,5 +215,8 @@ namespace PDF_Merge
private Button outPathBtn; private Button outPathBtn;
private Label FileLable; private Label FileLable;
private TextBox FileNameBox; private TextBox FileNameBox;
private Label fileExtlabel;
private CheckBox appendDatecheckBox;
private ComboBox dateFormatOpts;
} }
} }

View File

@@ -20,10 +20,25 @@ namespace PDF_Merge
string sourcePath = ConfigurationManager.AppSettings["PDF-Path"]; string sourcePath = ConfigurationManager.AppSettings["PDF-Path"];
string outputPath = ConfigurationManager.AppSettings["PDF-Output"]; string outputPath = ConfigurationManager.AppSettings["PDF-Output"];
string outputName = ConfigurationManager.AppSettings["PDF-Name"]; string outputName = ConfigurationManager.AppSettings["PDF-Name"];
string outputExt = ConfigurationManager.AppSettings["PDF-Extension"];
string dateIndex = ConfigurationManager.AppSettings["dateIndex"];
int dateIndexValue;
bool indexSet = int.TryParse(dateIndex, out dateIndexValue);
if (indexSet)
{
dateFormatOpts.SelectedIndex = dateIndexValue;
} else
{
dateFormatOpts.SelectedIndex = 0;
}
sourceBox.Text = sourcePath; sourceBox.Text = sourcePath;
outputBox.Text = outputPath; outputBox.Text = outputPath;
FileNameBox.Text = outputName; FileNameBox.Text = outputName;
fileExtlabel.Text = outputExt;
if (ConfigurationManager.AppSettings["overwrite"] == true.ToString()) if (ConfigurationManager.AppSettings["overwrite"] == true.ToString())
{ {
overrideCBox.Checked = true; overrideCBox.Checked = true;
@@ -32,14 +47,23 @@ namespace PDF_Merge
{ {
overrideCBox.Checked = false; overrideCBox.Checked = false;
} }
if (ConfigurationManager.AppSettings["appendDate"] == true.ToString())
{
appendDatecheckBox.Checked = true;
}
else
{
appendDatecheckBox.Checked = false;
}
CheckAppend();
} }
private void cancelBtn_Click(object sender, EventArgs e) private void CancelBtn_Click(object sender, EventArgs e)
{ {
this.Close(); this.Close();
} }
private void saveBtn_Click(object sender, EventArgs e) private void SaveBtn_Click(object sender, EventArgs e)
{ {
Configuration appConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Configuration appConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
AppSettingsSection appSettings = appConfig.AppSettings; AppSettingsSection appSettings = appConfig.AppSettings;
@@ -68,12 +92,15 @@ namespace PDF_Merge
MessageBox.Show("File must be named.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("File must be named.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
appSettings.Settings["overwrite"].Value = overrideCBox.Checked.ToString(); appSettings.Settings["overwrite"].Value = overrideCBox.Checked.ToString();
appSettings.Settings["appendDate"].Value = appendDatecheckBox.Checked.ToString();
appSettings.Settings["dateFormat"].Value = dateFormatOpts.SelectedItem.ToString();
appSettings.Settings["dateIndex"].Value = dateFormatOpts.SelectedIndex.ToString();
appConfig.Save(ConfigurationSaveMode.Modified); appConfig.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings"); ConfigurationManager.RefreshSection("appSettings");
this.Close(); this.Close();
} }
private void sourceDirBtn_Click(object sender, EventArgs e) private void SourceDirBtn_Click(object sender, EventArgs e)
{ {
using (var SourceDirPicker = new FolderBrowserDialog()) using (var SourceDirPicker = new FolderBrowserDialog())
{ {
@@ -94,7 +121,7 @@ namespace PDF_Merge
} }
} }
private void outPathBtn_Click(object sender, EventArgs e) private void OutPathBtn_Click(object sender, EventArgs e)
{ {
using (var OutPathPicker = new FolderBrowserDialog()) using (var OutPathPicker = new FolderBrowserDialog())
{ {
@@ -106,5 +133,21 @@ namespace PDF_Merge
} }
} }
} }
private void AppendDatecheckBox_CheckedChanged(object sender, EventArgs e)
{
CheckAppend();
}
private void CheckAppend()
{
if (appendDatecheckBox.Checked)
{
dateFormatOpts.Visible = true;
}
else
{
dateFormatOpts.Visible = false;
}
}
} }
} }

View File

@@ -12,7 +12,15 @@ namespace PDF_Merge
} }
private static string getOutputPath() private static string getOutputPath()
{ {
string pdfPath = ConfigurationManager.AppSettings["PDF-Output"] + Path.DirectorySeparatorChar + ConfigurationManager.AppSettings["PDF-Name"]; string pdfPath;
if (ConfigurationManager.AppSettings["appendDate"] == true.ToString())
{
pdfPath = ConfigurationManager.AppSettings["PDF-Output"] + Path.DirectorySeparatorChar + ConfigurationManager.AppSettings["PDF-Name"] + "_" + MergePDFs.GetDate() + ConfigurationManager.AppSettings["PDF-Extension"];
}
else
{
pdfPath = ConfigurationManager.AppSettings["PDF-Output"] + Path.DirectorySeparatorChar + ConfigurationManager.AppSettings["PDF-Name"] + ConfigurationManager.AppSettings["PDF-Extension"];
}
return pdfPath; return pdfPath;
} }
public void SetPathLable() public void SetPathLable()

View File

@@ -77,6 +77,13 @@
} }
return pdfFiles; return pdfFiles;
} }
public static string GetDate()
{
DateTime date = DateTime.Now;
string dateFormat = ConfigurationManager.AppSettings["dateFormat"];
return date.ToString(dateFormat);
}
} }
} }

View File

@@ -9,7 +9,7 @@
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<PackageLicenseFile>LICENSE</PackageLicenseFile> <PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageReadmeFile>README.md</PackageReadmeFile> <PackageReadmeFile>README.md</PackageReadmeFile>
<Version>2024.08.05</Version> <Version>2024.08.06.01</Version>
<Company>ABSC Inc.</Company> <Company>ABSC Inc.</Company>
<Description>This tool merges PDF files from a configured directory into a single PDF.</Description> <Description>This tool merges PDF files from a configured directory into a single PDF.</Description>
<Copyright>GNU GPL v3 2024</Copyright> <Copyright>GNU GPL v3 2024</Copyright>
@@ -26,7 +26,6 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="PDFsharp" Version="6.1.1" /> <PackageReference Include="PDFsharp" Version="6.1.1" />
<PackageReference Include="QuestPDF" Version="2024.7.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -23,7 +23,7 @@ Var Current_Version
Function SetWelcomeMsg Function SetWelcomeMsg
StrCpy $Company_Name "Applied Business Solutions Consulting, Inc. (ABSC)" StrCpy $Company_Name "Applied Business Solutions Consulting, Inc. (ABSC)"
StrCpy $Current_Version "2024.08.05.1" StrCpy $Current_Version "2024.08.06.1"
SendMessage $mui.WelcomePage.Text= ${WM_SETTEXT} 0 "STR: Merge several PDFs into a single file.$\n Requiers .NET version 6 $\n Version: $Current_Version $\n Developed by: $Company_Name" SendMessage $mui.WelcomePage.Text= ${WM_SETTEXT} 0 "STR: Merge several PDFs into a single file.$\n Requiers .NET version 6 $\n Version: $Current_Version $\n Developed by: $Company_Name"
FunctionEnd FunctionEnd