diff --git a/FileManager/Configuration.cs b/FileManager/Configuration.cs
index 3e0cb752..91f3f0a5 100644
--- a/FileManager/Configuration.cs
+++ b/FileManager/Configuration.cs
@@ -65,19 +65,19 @@ namespace FileManager
{
None = 0,
- [Description("In my Users folder")]
+ [Description("My Users folder")]
UserProfile = 1,
- [Description("In the same folder that Libation is running from")]
+ [Description("The same folder that Libation is running from")]
AppDir = 2,
- [Description("In your Windows temporary folder")]
+ [Description("Windows temporary folder")]
WinTemp = 3,
- [Description("In My Documents")]
+ [Description("My Documents")]
MyDocs = 4,
- [Description("In your settings folder (aka: Libation Files)")]
+ [Description("Your settings folder (aka: Libation Files)")]
LibationFiles = 5
}
// use func calls so we always get the latest value of LibationFiles
diff --git a/LibationLauncher/LibationLauncher.csproj b/LibationLauncher/LibationLauncher.csproj
index 126b5369..15767c49 100644
--- a/LibationLauncher/LibationLauncher.csproj
+++ b/LibationLauncher/LibationLauncher.csproj
@@ -13,7 +13,7 @@
win-x64
- 5.1.9.8
+ 5.1.9.13
diff --git a/LibationWinForms/Dialogs/DirectoryOrCustomSelectControl.cs b/LibationWinForms/Dialogs/DirectoryOrCustomSelectControl.cs
index 4783db0e..222b9130 100644
--- a/LibationWinForms/Dialogs/DirectoryOrCustomSelectControl.cs
+++ b/LibationWinForms/Dialogs/DirectoryOrCustomSelectControl.cs
@@ -28,7 +28,7 @@ namespace LibationWinForms.Dialogs
public void SetDirectoryItems(List knownDirectories, Configuration.KnownDirectories? defaultDirectory = Configuration.KnownDirectories.UserProfile)
=> this.directorySelectControl.SetDirectoryItems(knownDirectories, defaultDirectory);
- /// select, set default, or rehydrate
+ /// set selection
///
public void SelectDirectory(Configuration.KnownDirectories directory)
{
@@ -37,7 +37,7 @@ namespace LibationWinForms.Dialogs
selectDir(directory, null);
}
- /// select, set default, or rehydrate
+ /// set selection
public void SelectDirectory(string directory)
{
directory = directory?.Trim() ?? "";
@@ -46,11 +46,14 @@ namespace LibationWinForms.Dialogs
private void selectDir(Configuration.KnownDirectories knownDir, string customDir)
{
- var unknown = knownDir == Configuration.KnownDirectories.None;
- customDirectoryRb.Checked = unknown;
- knownDirectoryRb.Checked = !unknown;
- this.directorySelectControl.SelectDirectory(knownDir);
- this.customTb.Text = unknown ? customDir : "";
+ var isKnown
+ = knownDir != Configuration.KnownDirectories.None
+ // this could be a well known dir which isn't an option in this particular dropdown. This will always be true of LibationFiles
+ && this.directorySelectControl.SelectDirectory(knownDir);
+
+ customDirectoryRb.Checked = !isKnown;
+ knownDirectoryRb.Checked = isKnown;
+ this.customTb.Text = isKnown ? "" : customDir;
}
private string dirSearchTitle;
diff --git a/LibationWinForms/Dialogs/DirectorySelectControl.cs b/LibationWinForms/Dialogs/DirectorySelectControl.cs
index d2497ac9..362712f6 100644
--- a/LibationWinForms/Dialogs/DirectorySelectControl.cs
+++ b/LibationWinForms/Dialogs/DirectorySelectControl.cs
@@ -36,7 +36,7 @@ namespace LibationWinForms.Dialogs
/// Set items for combobox
/// List rather than IEnumerable so that client can determine display order
/// Optional default item to select
- public void SetDirectoryItems(List knownDirectories, Configuration.KnownDirectories? defaultDirectory = Configuration.KnownDirectories.UserProfile)
+ public void SetDirectoryItems(List knownDirectories, Configuration.KnownDirectories? defaultDirectory = null)
{
this.directoryComboBox.Items.Clear();
@@ -46,29 +46,23 @@ namespace LibationWinForms.Dialogs
SelectDirectory(defaultDirectory);
}
- /// select, set default, or rehydrate
+ /// set selection
///
/// True is there was a matching entry
public bool SelectDirectory(string directory) => SelectDirectory(Configuration.GetKnownDirectory(directory));
- /// select, set default, or rehydrate
+ /// set selection
///
/// True is there was a matching entry
public bool SelectDirectory(Configuration.KnownDirectories? directory)
{
if (directory is null || directory == Configuration.KnownDirectories.None)
- {
- this.directoryComboBox.SelectedIndex = 0;
return false;
- }
// set default
var item = this.directoryComboBox.Items.Cast().SingleOrDefault(item => item.Value == directory.Value);
if (item is null)
- {
- this.directoryComboBox.SelectedIndex = 0;
return false;
- }
this.directoryComboBox.SelectedItem = item;
return true;
diff --git a/LibationWinForms/Dialogs/LibationFilesDialog.Designer.cs b/LibationWinForms/Dialogs/LibationFilesDialog.Designer.cs
index ea0a8dc6..64a0b8fb 100644
--- a/LibationWinForms/Dialogs/LibationFilesDialog.Designer.cs
+++ b/LibationWinForms/Dialogs/LibationFilesDialog.Designer.cs
@@ -29,85 +29,29 @@
private void InitializeComponent()
{
this.libationFilesDescLbl = new System.Windows.Forms.Label();
- this.libationFilesCustomBtn = new System.Windows.Forms.Button();
- this.libationFilesCustomTb = new System.Windows.Forms.TextBox();
- this.libationFilesCustomRb = new System.Windows.Forms.RadioButton();
- this.libationFilesMyDocsRb = new System.Windows.Forms.RadioButton();
- this.libationFilesRootRb = new System.Windows.Forms.RadioButton();
this.cancelBtn = new System.Windows.Forms.Button();
this.saveBtn = new System.Windows.Forms.Button();
+ this.directoryOrCustomSelectControl = new LibationWinForms.Dialogs.DirectoryOrCustomSelectControl();
this.SuspendLayout();
//
// libationFilesDescLbl
//
this.libationFilesDescLbl.AutoSize = true;
- this.libationFilesDescLbl.Location = new System.Drawing.Point(12, 9);
+ this.libationFilesDescLbl.Location = new System.Drawing.Point(14, 10);
+ this.libationFilesDescLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.libationFilesDescLbl.Name = "libationFilesDescLbl";
- this.libationFilesDescLbl.Size = new System.Drawing.Size(36, 13);
+ this.libationFilesDescLbl.Size = new System.Drawing.Size(39, 15);
this.libationFilesDescLbl.TabIndex = 0;
this.libationFilesDescLbl.Text = "[desc]";
//
- // libationFilesCustomBtn
- //
- this.libationFilesCustomBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.libationFilesCustomBtn.Location = new System.Drawing.Point(753, 95);
- this.libationFilesCustomBtn.Name = "libationFilesCustomBtn";
- this.libationFilesCustomBtn.Size = new System.Drawing.Size(35, 23);
- this.libationFilesCustomBtn.TabIndex = 5;
- this.libationFilesCustomBtn.Text = "...";
- this.libationFilesCustomBtn.UseVisualStyleBackColor = true;
- this.libationFilesCustomBtn.Click += new System.EventHandler(this.libationFilesCustomBtn_Click);
- //
- // libationFilesCustomTb
- //
- this.libationFilesCustomTb.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.libationFilesCustomTb.Location = new System.Drawing.Point(35, 97);
- this.libationFilesCustomTb.Name = "libationFilesCustomTb";
- this.libationFilesCustomTb.Size = new System.Drawing.Size(712, 20);
- this.libationFilesCustomTb.TabIndex = 4;
- //
- // libationFilesCustomRb
- //
- this.libationFilesCustomRb.AutoSize = true;
- this.libationFilesCustomRb.Location = new System.Drawing.Point(15, 100);
- this.libationFilesCustomRb.Name = "libationFilesCustomRb";
- this.libationFilesCustomRb.Size = new System.Drawing.Size(14, 13);
- this.libationFilesCustomRb.TabIndex = 3;
- this.libationFilesCustomRb.TabStop = true;
- this.libationFilesCustomRb.UseVisualStyleBackColor = true;
- //
- // libationFilesMyDocsRb
- //
- this.libationFilesMyDocsRb.AutoSize = true;
- this.libationFilesMyDocsRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
- this.libationFilesMyDocsRb.Location = new System.Drawing.Point(15, 61);
- this.libationFilesMyDocsRb.Name = "libationFilesMyDocsRb";
- this.libationFilesMyDocsRb.Size = new System.Drawing.Size(111, 30);
- this.libationFilesMyDocsRb.TabIndex = 2;
- this.libationFilesMyDocsRb.TabStop = true;
- this.libationFilesMyDocsRb.Text = "[desc]\r\n[myDocs\\Libation]";
- this.libationFilesMyDocsRb.UseVisualStyleBackColor = true;
- //
- // libationFilesRootRb
- //
- this.libationFilesRootRb.AutoSize = true;
- this.libationFilesRootRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft;
- this.libationFilesRootRb.Location = new System.Drawing.Point(15, 25);
- this.libationFilesRootRb.Name = "libationFilesRootRb";
- this.libationFilesRootRb.Size = new System.Drawing.Size(113, 30);
- this.libationFilesRootRb.TabIndex = 1;
- this.libationFilesRootRb.TabStop = true;
- this.libationFilesRootRb.Text = "[desc]\r\n[appDir\\Libation]";
- this.libationFilesRootRb.UseVisualStyleBackColor = true;
- //
// cancelBtn
//
this.cancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.cancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.cancelBtn.Location = new System.Drawing.Point(713, 124);
+ this.cancelBtn.Location = new System.Drawing.Point(832, 118);
+ this.cancelBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.cancelBtn.Name = "cancelBtn";
- this.cancelBtn.Size = new System.Drawing.Size(75, 23);
+ this.cancelBtn.Size = new System.Drawing.Size(88, 27);
this.cancelBtn.TabIndex = 10;
this.cancelBtn.Text = "Cancel";
this.cancelBtn.UseVisualStyleBackColor = true;
@@ -116,28 +60,35 @@
// saveBtn
//
this.saveBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.saveBtn.Location = new System.Drawing.Point(612, 124);
+ this.saveBtn.Location = new System.Drawing.Point(714, 118);
+ this.saveBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.saveBtn.Name = "saveBtn";
- this.saveBtn.Size = new System.Drawing.Size(75, 23);
+ this.saveBtn.Size = new System.Drawing.Size(88, 27);
this.saveBtn.TabIndex = 9;
this.saveBtn.Text = "Save";
this.saveBtn.UseVisualStyleBackColor = true;
this.saveBtn.Click += new System.EventHandler(this.saveBtn_Click);
//
+ // directoryOrCustomSelectControl
+ //
+ this.directoryOrCustomSelectControl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.directoryOrCustomSelectControl.Location = new System.Drawing.Point(14, 28);
+ this.directoryOrCustomSelectControl.Name = "directoryOrCustomSelectControl";
+ this.directoryOrCustomSelectControl.Size = new System.Drawing.Size(909, 81);
+ this.directoryOrCustomSelectControl.TabIndex = 11;
+ //
// LibationFilesDialog
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(800, 159);
+ this.ClientSize = new System.Drawing.Size(933, 158);
+ this.Controls.Add(this.directoryOrCustomSelectControl);
this.Controls.Add(this.cancelBtn);
this.Controls.Add(this.saveBtn);
this.Controls.Add(this.libationFilesDescLbl);
- this.Controls.Add(this.libationFilesCustomBtn);
- this.Controls.Add(this.libationFilesCustomTb);
- this.Controls.Add(this.libationFilesRootRb);
- this.Controls.Add(this.libationFilesCustomRb);
- this.Controls.Add(this.libationFilesMyDocsRb);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Name = "LibationFilesDialog";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Libation Files location";
@@ -150,12 +101,8 @@
#endregion
private System.Windows.Forms.Label libationFilesDescLbl;
- private System.Windows.Forms.Button libationFilesCustomBtn;
- private System.Windows.Forms.TextBox libationFilesCustomTb;
- private System.Windows.Forms.RadioButton libationFilesCustomRb;
- private System.Windows.Forms.RadioButton libationFilesMyDocsRb;
- private System.Windows.Forms.RadioButton libationFilesRootRb;
private System.Windows.Forms.Button cancelBtn;
private System.Windows.Forms.Button saveBtn;
+ private DirectoryOrCustomSelectControl directoryOrCustomSelectControl;
}
}
\ No newline at end of file
diff --git a/LibationWinForms/Dialogs/LibationFilesDialog.cs b/LibationWinForms/Dialogs/LibationFilesDialog.cs
index 3b2799a1..4fa7757c 100644
--- a/LibationWinForms/Dialogs/LibationFilesDialog.cs
+++ b/LibationWinForms/Dialogs/LibationFilesDialog.cs
@@ -6,19 +6,10 @@ namespace LibationWinForms.Dialogs
{
public partial class LibationFilesDialog : Form
{
- Configuration config { get; } = Configuration.Instance;
- Func desc { get; } = Configuration.GetDescription;
+ private Configuration config { get; } = Configuration.Instance;
+ private Func desc { get; } = Configuration.GetDescription;
- public LibationFilesDialog()
- {
- InitializeComponent();
-
- this.libationFilesCustomTb.TextChanged += (_, __) =>
- {
- if (!string.IsNullOrWhiteSpace(libationFilesCustomTb.Text))
- this.libationFilesCustomRb.Checked = true;
- };
- }
+ public LibationFilesDialog() => InitializeComponent();
private void LibationFilesDialog_Load(object sender, EventArgs e)
{
@@ -26,35 +17,20 @@ namespace LibationWinForms.Dialogs
return;
libationFilesDescLbl.Text = desc(nameof(config.LibationFiles));
- this.libationFilesRootRb.Text = "In the same folder that Libation is running from\r\n" + Configuration.AppDir_Relative;
- this.libationFilesMyDocsRb.Text = "In My Documents\r\n" + Configuration.MyDocs;
- if (config.LibationFiles == Configuration.AppDir_Relative)
- libationFilesRootRb.Checked = true;
- else if (config.LibationFiles == Configuration.MyDocs)
- libationFilesMyDocsRb.Checked = true;
- else
+
+ directoryOrCustomSelectControl.SetSearchTitle("Libation Files");
+ directoryOrCustomSelectControl.SetDirectoryItems(new()
{
- libationFilesCustomRb.Checked = true;
- libationFilesCustomTb.Text = config.LibationFiles;
- }
- }
-
- private void libationFilesCustomBtn_Click(object sender, EventArgs e) => selectFolder("Search for Libation Files location", this.libationFilesCustomTb);
-
- private static void selectFolder(string desc, TextBox textbox)
- {
- using var dialog = new FolderBrowserDialog { Description = desc, SelectedPath = "" };
- dialog.ShowDialog();
- if (!string.IsNullOrWhiteSpace(dialog.SelectedPath))
- textbox.Text = dialog.SelectedPath;
+ Configuration.KnownDirectories.UserProfile,
+ Configuration.KnownDirectories.AppDir,
+ Configuration.KnownDirectories.MyDocs
+ }, Configuration.KnownDirectories.UserProfile);
+ directoryOrCustomSelectControl.SelectDirectory(config.LibationFiles);
}
private void saveBtn_Click(object sender, EventArgs e)
{
- var libationDir
- = libationFilesRootRb.Checked ? Configuration.AppDir_Relative
- : libationFilesMyDocsRb.Checked ? Configuration.MyDocs
- : libationFilesCustomTb.Text;
+ var libationDir = directoryOrCustomSelectControl.SelectedDirectory;
if (!config.TrySetLibationFiles(libationDir))
{
MessageBox.Show("Not saving change to Libation Files location. This folder does not exist:\r\n" + libationDir);
diff --git a/LibationWinForms/Dialogs/LibationFilesDialog.resx b/LibationWinForms/Dialogs/LibationFilesDialog.resx
index 1af7de15..f298a7be 100644
--- a/LibationWinForms/Dialogs/LibationFilesDialog.resx
+++ b/LibationWinForms/Dialogs/LibationFilesDialog.resx
@@ -1,64 +1,4 @@
-
-
-
+
diff --git a/LibationWinForms/Dialogs/TEMP_TestNewControls.cs b/LibationWinForms/Dialogs/TEMP_TestNewControls.cs
index 61890d92..cc8e8702 100644
--- a/LibationWinForms/Dialogs/TEMP_TestNewControls.cs
+++ b/LibationWinForms/Dialogs/TEMP_TestNewControls.cs
@@ -40,23 +40,23 @@ namespace LibationWinForms.Dialogs
);
}
- {
- var dirOrCustCtrl = this.directoryOrCustomSelectControl1;
- dirOrCustCtrl.SetSearchTitle("Libation Files");
- dirOrCustCtrl.SetDirectoryItems(new()
- {
- FileManager.Configuration.KnownDirectories.AppDir,
- FileManager.Configuration.KnownDirectories.MyDocs,
- FileManager.Configuration.KnownDirectories.LibationFiles,
- FileManager.Configuration.KnownDirectories.MyDocs,
- FileManager.Configuration.KnownDirectories.None,
- FileManager.Configuration.KnownDirectories.WinTemp,
- FileManager.Configuration.KnownDirectories.UserProfile
- }
- ,
- FileManager.Configuration.KnownDirectories.MyDocs
- );
- }
+ //{
+ // var dirOrCustCtrl = this.directoryOrCustomSelectControl1;
+ // dirOrCustCtrl.SetSearchTitle("Libation Files");
+ // dirOrCustCtrl.SetDirectoryItems(new()
+ // {
+ // FileManager.Configuration.KnownDirectories.AppDir,
+ // FileManager.Configuration.KnownDirectories.MyDocs,
+ // FileManager.Configuration.KnownDirectories.LibationFiles,
+ // FileManager.Configuration.KnownDirectories.MyDocs,
+ // FileManager.Configuration.KnownDirectories.None,
+ // FileManager.Configuration.KnownDirectories.WinTemp,
+ // FileManager.Configuration.KnownDirectories.UserProfile
+ // }
+ // ,
+ // FileManager.Configuration.KnownDirectories.MyDocs
+ // );
+ //}
}
@@ -64,13 +64,12 @@ namespace LibationWinForms.Dialogs
private void button1_Click(object sender, EventArgs e)
{
var dirCtrl = this.directorySelectControl1;
- var dirOrCustCtrl = this.directoryOrCustomSelectControl1;
-
var x = dirCtrl.SelectedDirectory;
- var y = dirOrCustCtrl.SelectedDirectory;
-
dirCtrl.SelectDirectory(FileManager.Configuration.KnownDirectories.UserProfile);
- dirOrCustCtrl.SelectDirectory(FileManager.Configuration.KnownDirectories.UserProfile);
+
+ //var dirOrCustCtrl = this.directoryOrCustomSelectControl1;
+ //var y = dirOrCustCtrl.SelectedDirectory;
+ //dirOrCustCtrl.SelectDirectory(FileManager.Configuration.KnownDirectories.UserProfile);
}
}
}
\ No newline at end of file