Finished up the profile manager for now and added some code to get the FileViewer started.
This commit is contained in:
Binary file not shown.
+128
-17
@@ -8,6 +8,7 @@ using Microsoft.Data.Sqlite;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace DataOrganizer
|
namespace DataOrganizer
|
||||||
{
|
{
|
||||||
@@ -67,18 +68,19 @@ namespace DataOrganizer
|
|||||||
Name = reader["profile_name"].ToString(),
|
Name = reader["profile_name"].ToString(),
|
||||||
DefaultNewContentFolder = reader["default_new_content_folder_name"].ToString(),
|
DefaultNewContentFolder = reader["default_new_content_folder_name"].ToString(),
|
||||||
MachineName = reader["machine_name"].ToString(),
|
MachineName = reader["machine_name"].ToString(),
|
||||||
RowId = Convert.ToInt32(reader["profile_id"])
|
Id = Convert.ToInt32(reader["profile_id"]),
|
||||||
|
FolderGroups = new List<FolderGroup>()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|
||||||
command.CommandText = "SELECT root_id, name FROM folder_root WHERE profile_id = @ID";
|
command.CommandText = "SELECT root_id, name, path FROM folder_root WHERE profile_id = @ID ORDER BY name";
|
||||||
|
|
||||||
foreach(var profile in profiles)
|
foreach(var profile in profiles)
|
||||||
{
|
{
|
||||||
command.Parameters.Clear();
|
command.Parameters.Clear();
|
||||||
command.Parameters.AddWithValue("ID", profile.RowId);
|
command.Parameters.AddWithValue("ID", profile.Id);
|
||||||
|
|
||||||
reader = command.ExecuteReader();
|
reader = command.ExecuteReader();
|
||||||
|
|
||||||
@@ -87,14 +89,15 @@ namespace DataOrganizer
|
|||||||
profile.FolderGroups.Add(new FolderGroup
|
profile.FolderGroups.Add(new FolderGroup
|
||||||
{
|
{
|
||||||
Name = reader["name"].ToString(),
|
Name = reader["name"].ToString(),
|
||||||
rowId = Convert.ToInt32(reader["root_id"])
|
Id = Convert.ToInt32(reader["root_id"]),
|
||||||
|
Path = reader["path"].ToString()
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
reader.Close();
|
reader.Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return profiles;
|
return profiles;
|
||||||
}
|
}
|
||||||
@@ -110,7 +113,7 @@ namespace DataOrganizer
|
|||||||
command.Parameters.AddWithValue("MachineName", profile.MachineName);
|
command.Parameters.AddWithValue("MachineName", profile.MachineName);
|
||||||
command.Parameters.AddWithValue("DefaultPath", profile.DefaultNewContentFolder);
|
command.Parameters.AddWithValue("DefaultPath", profile.DefaultNewContentFolder);
|
||||||
command.Parameters.AddWithValue("Name", profile.Name);
|
command.Parameters.AddWithValue("Name", profile.Name);
|
||||||
command.Parameters.AddWithValue("ID", profile.RowId);
|
command.Parameters.AddWithValue("ID", profile.Id);
|
||||||
|
|
||||||
connection.Open();
|
connection.Open();
|
||||||
|
|
||||||
@@ -121,18 +124,89 @@ namespace DataOrganizer
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool InsertNewProfile(Profile profile)
|
public int InsertNewProfile(Profile profile)
|
||||||
{
|
{
|
||||||
var query = @"INSERT INTO main.profile (machine_name, default_new_content_folder_name, profile_name) VALUES (@MachineName, @DefaultPath, @Name)";
|
var query = @"INSERT INTO main.profile (machine_name, default_new_content_folder_name, profile_name) VALUES (@MachineName, @DefaultPath, @Name)";
|
||||||
|
var id = -1;
|
||||||
|
|
||||||
using (var connection = new SqliteConnection(ConnectionString))
|
using (var connection = new SqliteConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
using (var command = new SqliteCommand(query, connection))
|
connection.Open();
|
||||||
|
|
||||||
|
using (var transaction = connection.BeginTransaction())
|
||||||
|
{
|
||||||
|
using (var command = new SqliteCommand(query, connection, transaction))
|
||||||
{
|
{
|
||||||
command.Parameters.AddWithValue("MachineName", profile.MachineName);
|
command.Parameters.AddWithValue("MachineName", profile.MachineName);
|
||||||
command.Parameters.AddWithValue("DefaultPath", profile.DefaultNewContentFolder);
|
command.Parameters.AddWithValue("DefaultPath", profile.DefaultNewContentFolder);
|
||||||
command.Parameters.AddWithValue("Name", profile.Name);
|
command.Parameters.AddWithValue("Name", profile.Name);
|
||||||
|
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
|
||||||
|
command.CommandText = "SELECT MAX(profile_id) FROM main.profile";
|
||||||
|
|
||||||
|
id = Convert.ToInt32(command.ExecuteScalar());
|
||||||
|
|
||||||
|
command.CommandText = "INSERT INTO main.folder_root (name, path, profile_id) VALUES (@Name, @Path, @ProfileID)";
|
||||||
|
|
||||||
|
if (profile.FolderGroups != null)
|
||||||
|
{
|
||||||
|
foreach(var group in profile.FolderGroups)
|
||||||
|
{
|
||||||
|
command.Parameters.Clear();
|
||||||
|
command.Parameters.AddWithValue("Name", group.Name);
|
||||||
|
command.Parameters.AddWithValue("Path", group.Path);
|
||||||
|
command.Parameters.AddWithValue("ProfileID", id);
|
||||||
|
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
transaction.Commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int InsertNewFolderGroup(Profile profile, string name, string path)
|
||||||
|
{
|
||||||
|
var query = @"INSERT INTO main.folder_root (name, path, profile_id) VALUES (@Name, @Path, @ProfileID)";
|
||||||
|
var id = -1;
|
||||||
|
|
||||||
|
using (var connection = new SqliteConnection(ConnectionString))
|
||||||
|
{
|
||||||
|
using (var command = new SqliteCommand(query, connection))
|
||||||
|
{
|
||||||
|
command.Parameters.AddWithValue("Name", name);
|
||||||
|
command.Parameters.AddWithValue("Path", path);
|
||||||
|
command.Parameters.AddWithValue("ProfileID", profile.Id);
|
||||||
|
|
||||||
|
connection.Open();
|
||||||
|
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
|
||||||
|
command.CommandText = @"SELECT MAX(root_id) FROM main.folder_root";
|
||||||
|
|
||||||
|
id = Convert.ToInt32(command.ExecuteScalar());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool UpdateFolderGroup(string newName, string path)
|
||||||
|
{
|
||||||
|
var query = @"UPDATE main.folder_root SET name = @Name, path = @Path";
|
||||||
|
|
||||||
|
using (var connection = new SqliteConnection(ConnectionString))
|
||||||
|
{
|
||||||
|
using (var command = new SqliteCommand(query, connection))
|
||||||
|
{
|
||||||
|
command.Parameters.AddWithValue("Name", newName);
|
||||||
|
command.Parameters.AddWithValue("Path", path);
|
||||||
|
|
||||||
connection.Open();
|
connection.Open();
|
||||||
|
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
@@ -142,20 +216,56 @@ namespace DataOrganizer
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool InsertNewFolderGroup(Profile profile, string name)
|
public bool DeleteFolderGroup(FolderGroup folderGroup)
|
||||||
{
|
{
|
||||||
var query = @"INSERT INTO main.folder_root (name, profile_id) VALUES (@Name, @ProfileID)";
|
var query = string.Format("DELETE FROM main.file WHERE folder_root_id = {0}", folderGroup.Id);
|
||||||
|
|
||||||
|
using(var connection = new SqliteConnection(ConnectionString))
|
||||||
|
{
|
||||||
|
connection.Open();
|
||||||
|
|
||||||
|
using (var transaction = connection.BeginTransaction())
|
||||||
|
{
|
||||||
|
using(var command = new SqliteCommand(query, connection, transaction))
|
||||||
|
{
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
|
||||||
|
command.CommandText = string.Format("DELETE FROM main.folder_root WHERE root_id = {0}", folderGroup.Id);
|
||||||
|
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
transaction.Commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool DeleteProfile(Profile profile)
|
||||||
|
{
|
||||||
|
var query = string.Format("DELETE FROM main.file WHERE profile_id = {0}", profile.Id);
|
||||||
|
|
||||||
using (var connection = new SqliteConnection(ConnectionString))
|
using (var connection = new SqliteConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
using (var command = new SqliteCommand(query, connection))
|
|
||||||
{
|
|
||||||
command.Parameters.AddWithValue("ProfileID", profile.RowId);
|
|
||||||
command.Parameters.AddWithValue("Name", name);
|
|
||||||
|
|
||||||
connection.Open();
|
connection.Open();
|
||||||
|
|
||||||
|
using (var transaction = connection.BeginTransaction())
|
||||||
|
{
|
||||||
|
using (var command = new SqliteCommand(query, connection, transaction))
|
||||||
|
{
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
|
|
||||||
|
command.CommandText = string.Format("DELETE FROM main.folder_root WHERE profile_id = {0}", profile.Id);
|
||||||
|
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
|
||||||
|
command.CommandText = string.Format("DELETE FROM main.profile WHERE profile_id = {0}", profile.Id);
|
||||||
|
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
transaction.Commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,14 +277,15 @@ namespace DataOrganizer
|
|||||||
public string Name;
|
public string Name;
|
||||||
public string DefaultNewContentFolder;
|
public string DefaultNewContentFolder;
|
||||||
public string MachineName;
|
public string MachineName;
|
||||||
public int RowId;
|
public int Id;
|
||||||
public List<FolderGroup> FolderGroups;
|
public List<FolderGroup> FolderGroups;
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct FolderGroup
|
public struct FolderGroup
|
||||||
{
|
{
|
||||||
public int rowId;
|
public int Id;
|
||||||
public string Name;
|
public string Name;
|
||||||
|
public string Path;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,19 +12,42 @@ namespace DataOrganizer
|
|||||||
{
|
{
|
||||||
public partial class FileViewer : Form
|
public partial class FileViewer : Form
|
||||||
{
|
{
|
||||||
|
private List<DB.Profile> Profiles { get; } = new List<DB.Profile>();
|
||||||
|
|
||||||
public FileViewer()
|
public FileViewer()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
var db = new DB();
|
var db = new DB();
|
||||||
|
|
||||||
var profiles = db.GetProfiles();
|
Profiles = db.GetProfiles();
|
||||||
|
|
||||||
if(profiles.Count == 0)
|
foreach(var profile in Profiles)
|
||||||
{
|
{
|
||||||
// insert
|
ProfileComboBox.Items.Add(profile.Name);
|
||||||
var man = new ProfileManager();
|
|
||||||
man.ShowDialog();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProfileComboBox.SelectedIndexChanged += ProfileComboBox_SelectedIndexChanged;
|
||||||
|
|
||||||
|
ProfileComboBox.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProfileComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var profile = Profiles[ProfileComboBox.SelectedIndex];
|
||||||
|
|
||||||
|
RootFolderComboBox.Items.Clear();
|
||||||
|
|
||||||
|
if (profile.FolderGroups.Count > 0)
|
||||||
|
{
|
||||||
|
foreach (var folder in profile.FolderGroups)
|
||||||
|
{
|
||||||
|
RootFolderComboBox.Items.Add(folder.Name);
|
||||||
|
}
|
||||||
|
|
||||||
|
RootFolderComboBox.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
RootFolderComboBox.Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FolderSelectButton_Click(object sender, EventArgs e)
|
private void FolderSelectButton_Click(object sender, EventArgs e)
|
||||||
|
|||||||
Generated
+120
-64
@@ -34,6 +34,10 @@
|
|||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.ProfileInfoPanel = new System.Windows.Forms.Panel();
|
this.ProfileInfoPanel = new System.Windows.Forms.Panel();
|
||||||
this.ProfileInfoGroupBox = new System.Windows.Forms.GroupBox();
|
this.ProfileInfoGroupBox = new System.Windows.Forms.GroupBox();
|
||||||
|
this.InsertGroupName = new System.Windows.Forms.Button();
|
||||||
|
this.FolderGroupNameTextBox = new System.Windows.Forms.TextBox();
|
||||||
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
|
this.DeleteProfileButton = new System.Windows.Forms.Button();
|
||||||
this.MachineNameTextBox = new System.Windows.Forms.TextBox();
|
this.MachineNameTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
this.ProfileNameTextBox = new System.Windows.Forms.TextBox();
|
this.ProfileNameTextBox = new System.Windows.Forms.TextBox();
|
||||||
@@ -43,11 +47,12 @@
|
|||||||
this.SelectNewContentLocationButton = new System.Windows.Forms.Button();
|
this.SelectNewContentLocationButton = new System.Windows.Forms.Button();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.NewContentLocationTextBox = new System.Windows.Forms.TextBox();
|
this.NewContentLocationTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.DeleteProfileButton = new System.Windows.Forms.Button();
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
this.FolderGroupPathTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.FolderGroupNameTextBox = new System.Windows.Forms.TextBox();
|
this.FolderGroupPathButton = new System.Windows.Forms.Button();
|
||||||
this.InsertGroupName = new System.Windows.Forms.Button();
|
this.FolderGroupListView = new System.Windows.Forms.ListView();
|
||||||
this.FolderGroupsTreeView = new System.Windows.Forms.TreeView();
|
this.NameColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
|
this.PathColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.MainLayoutPanel.SuspendLayout();
|
this.MainLayoutPanel.SuspendLayout();
|
||||||
this.MainPanel.SuspendLayout();
|
this.MainPanel.SuspendLayout();
|
||||||
this.ProfileInfoPanel.SuspendLayout();
|
this.ProfileInfoPanel.SuspendLayout();
|
||||||
@@ -66,7 +71,7 @@
|
|||||||
this.MainLayoutPanel.RowCount = 2;
|
this.MainLayoutPanel.RowCount = 2;
|
||||||
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 15F));
|
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 15F));
|
||||||
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 85F));
|
this.MainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 85F));
|
||||||
this.MainLayoutPanel.Size = new System.Drawing.Size(627, 725);
|
this.MainLayoutPanel.Size = new System.Drawing.Size(627, 809);
|
||||||
this.MainLayoutPanel.TabIndex = 0;
|
this.MainLayoutPanel.TabIndex = 0;
|
||||||
//
|
//
|
||||||
// MainPanel
|
// MainPanel
|
||||||
@@ -76,14 +81,14 @@
|
|||||||
this.MainPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.MainPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.MainPanel.Location = new System.Drawing.Point(3, 3);
|
this.MainPanel.Location = new System.Drawing.Point(3, 3);
|
||||||
this.MainPanel.Name = "MainPanel";
|
this.MainPanel.Name = "MainPanel";
|
||||||
this.MainPanel.Size = new System.Drawing.Size(621, 102);
|
this.MainPanel.Size = new System.Drawing.Size(621, 115);
|
||||||
this.MainPanel.TabIndex = 0;
|
this.MainPanel.TabIndex = 0;
|
||||||
//
|
//
|
||||||
// ProfilesComboBox
|
// ProfilesComboBox
|
||||||
//
|
//
|
||||||
this.ProfilesComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.ProfilesComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.ProfilesComboBox.FormattingEnabled = true;
|
this.ProfilesComboBox.FormattingEnabled = true;
|
||||||
this.ProfilesComboBox.Location = new System.Drawing.Point(201, 24);
|
this.ProfilesComboBox.Location = new System.Drawing.Point(201, 44);
|
||||||
this.ProfilesComboBox.Name = "ProfilesComboBox";
|
this.ProfilesComboBox.Name = "ProfilesComboBox";
|
||||||
this.ProfilesComboBox.Size = new System.Drawing.Size(311, 28);
|
this.ProfilesComboBox.Size = new System.Drawing.Size(311, 28);
|
||||||
this.ProfilesComboBox.TabIndex = 0;
|
this.ProfilesComboBox.TabIndex = 0;
|
||||||
@@ -91,7 +96,7 @@
|
|||||||
// label3
|
// label3
|
||||||
//
|
//
|
||||||
this.label3.AutoSize = true;
|
this.label3.AutoSize = true;
|
||||||
this.label3.Location = new System.Drawing.Point(19, 24);
|
this.label3.Location = new System.Drawing.Point(23, 47);
|
||||||
this.label3.Name = "label3";
|
this.label3.Name = "label3";
|
||||||
this.label3.Size = new System.Drawing.Size(65, 20);
|
this.label3.Size = new System.Drawing.Size(65, 20);
|
||||||
this.label3.TabIndex = 7;
|
this.label3.TabIndex = 7;
|
||||||
@@ -101,14 +106,17 @@
|
|||||||
//
|
//
|
||||||
this.ProfileInfoPanel.Controls.Add(this.ProfileInfoGroupBox);
|
this.ProfileInfoPanel.Controls.Add(this.ProfileInfoGroupBox);
|
||||||
this.ProfileInfoPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.ProfileInfoPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.ProfileInfoPanel.Location = new System.Drawing.Point(3, 111);
|
this.ProfileInfoPanel.Location = new System.Drawing.Point(3, 124);
|
||||||
this.ProfileInfoPanel.Name = "ProfileInfoPanel";
|
this.ProfileInfoPanel.Name = "ProfileInfoPanel";
|
||||||
this.ProfileInfoPanel.Size = new System.Drawing.Size(621, 611);
|
this.ProfileInfoPanel.Size = new System.Drawing.Size(621, 682);
|
||||||
this.ProfileInfoPanel.TabIndex = 1;
|
this.ProfileInfoPanel.TabIndex = 1;
|
||||||
//
|
//
|
||||||
// ProfileInfoGroupBox
|
// ProfileInfoGroupBox
|
||||||
//
|
//
|
||||||
this.ProfileInfoGroupBox.Controls.Add(this.FolderGroupsTreeView);
|
this.ProfileInfoGroupBox.Controls.Add(this.FolderGroupListView);
|
||||||
|
this.ProfileInfoGroupBox.Controls.Add(this.FolderGroupPathButton);
|
||||||
|
this.ProfileInfoGroupBox.Controls.Add(this.FolderGroupPathTextBox);
|
||||||
|
this.ProfileInfoGroupBox.Controls.Add(this.label6);
|
||||||
this.ProfileInfoGroupBox.Controls.Add(this.InsertGroupName);
|
this.ProfileInfoGroupBox.Controls.Add(this.InsertGroupName);
|
||||||
this.ProfileInfoGroupBox.Controls.Add(this.FolderGroupNameTextBox);
|
this.ProfileInfoGroupBox.Controls.Add(this.FolderGroupNameTextBox);
|
||||||
this.ProfileInfoGroupBox.Controls.Add(this.label5);
|
this.ProfileInfoGroupBox.Controls.Add(this.label5);
|
||||||
@@ -125,14 +133,53 @@
|
|||||||
this.ProfileInfoGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.ProfileInfoGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.ProfileInfoGroupBox.Location = new System.Drawing.Point(0, 0);
|
this.ProfileInfoGroupBox.Location = new System.Drawing.Point(0, 0);
|
||||||
this.ProfileInfoGroupBox.Name = "ProfileInfoGroupBox";
|
this.ProfileInfoGroupBox.Name = "ProfileInfoGroupBox";
|
||||||
this.ProfileInfoGroupBox.Size = new System.Drawing.Size(621, 611);
|
this.ProfileInfoGroupBox.Size = new System.Drawing.Size(621, 682);
|
||||||
this.ProfileInfoGroupBox.TabIndex = 0;
|
this.ProfileInfoGroupBox.TabIndex = 0;
|
||||||
this.ProfileInfoGroupBox.TabStop = false;
|
this.ProfileInfoGroupBox.TabStop = false;
|
||||||
this.ProfileInfoGroupBox.Text = "Profile Information";
|
this.ProfileInfoGroupBox.Text = "Profile Information";
|
||||||
//
|
//
|
||||||
|
// InsertGroupName
|
||||||
|
//
|
||||||
|
this.InsertGroupName.Enabled = false;
|
||||||
|
this.InsertGroupName.Location = new System.Drawing.Point(518, 429);
|
||||||
|
this.InsertGroupName.Name = "InsertGroupName";
|
||||||
|
this.InsertGroupName.Size = new System.Drawing.Size(86, 39);
|
||||||
|
this.InsertGroupName.TabIndex = 8;
|
||||||
|
this.InsertGroupName.Text = "Insert";
|
||||||
|
this.InsertGroupName.UseVisualStyleBackColor = true;
|
||||||
|
this.InsertGroupName.Click += new System.EventHandler(this.InsertGroupName_Click);
|
||||||
|
//
|
||||||
|
// FolderGroupNameTextBox
|
||||||
|
//
|
||||||
|
this.FolderGroupNameTextBox.Location = new System.Drawing.Point(201, 286);
|
||||||
|
this.FolderGroupNameTextBox.Name = "FolderGroupNameTextBox";
|
||||||
|
this.FolderGroupNameTextBox.Size = new System.Drawing.Size(311, 26);
|
||||||
|
this.FolderGroupNameTextBox.TabIndex = 5;
|
||||||
|
//
|
||||||
|
// label5
|
||||||
|
//
|
||||||
|
this.label5.AutoSize = true;
|
||||||
|
this.label5.Location = new System.Drawing.Point(16, 289);
|
||||||
|
this.label5.Name = "label5";
|
||||||
|
this.label5.Size = new System.Drawing.Size(153, 20);
|
||||||
|
this.label5.TabIndex = 9;
|
||||||
|
this.label5.Text = "Folder Group Name:";
|
||||||
|
//
|
||||||
|
// DeleteProfileButton
|
||||||
|
//
|
||||||
|
this.DeleteProfileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.DeleteProfileButton.Location = new System.Drawing.Point(9, 633);
|
||||||
|
this.DeleteProfileButton.Name = "DeleteProfileButton";
|
||||||
|
this.DeleteProfileButton.Size = new System.Drawing.Size(75, 40);
|
||||||
|
this.DeleteProfileButton.TabIndex = 8;
|
||||||
|
this.DeleteProfileButton.TabStop = false;
|
||||||
|
this.DeleteProfileButton.Text = "Delete";
|
||||||
|
this.DeleteProfileButton.UseVisualStyleBackColor = true;
|
||||||
|
this.DeleteProfileButton.Click += new System.EventHandler(this.DeleteProfileButton_Click);
|
||||||
|
//
|
||||||
// MachineNameTextBox
|
// MachineNameTextBox
|
||||||
//
|
//
|
||||||
this.MachineNameTextBox.Location = new System.Drawing.Point(201, 253);
|
this.MachineNameTextBox.Location = new System.Drawing.Point(201, 228);
|
||||||
this.MachineNameTextBox.Name = "MachineNameTextBox";
|
this.MachineNameTextBox.Name = "MachineNameTextBox";
|
||||||
this.MachineNameTextBox.Size = new System.Drawing.Size(311, 26);
|
this.MachineNameTextBox.Size = new System.Drawing.Size(311, 26);
|
||||||
this.MachineNameTextBox.TabIndex = 4;
|
this.MachineNameTextBox.TabIndex = 4;
|
||||||
@@ -140,7 +187,7 @@
|
|||||||
// label4
|
// label4
|
||||||
//
|
//
|
||||||
this.label4.AutoSize = true;
|
this.label4.AutoSize = true;
|
||||||
this.label4.Location = new System.Drawing.Point(19, 256);
|
this.label4.Location = new System.Drawing.Point(16, 231);
|
||||||
this.label4.Name = "label4";
|
this.label4.Name = "label4";
|
||||||
this.label4.Size = new System.Drawing.Size(119, 20);
|
this.label4.Size = new System.Drawing.Size(119, 20);
|
||||||
this.label4.TabIndex = 7;
|
this.label4.TabIndex = 7;
|
||||||
@@ -148,7 +195,7 @@
|
|||||||
//
|
//
|
||||||
// ProfileNameTextBox
|
// ProfileNameTextBox
|
||||||
//
|
//
|
||||||
this.ProfileNameTextBox.Location = new System.Drawing.Point(201, 51);
|
this.ProfileNameTextBox.Location = new System.Drawing.Point(201, 54);
|
||||||
this.ProfileNameTextBox.Name = "ProfileNameTextBox";
|
this.ProfileNameTextBox.Name = "ProfileNameTextBox";
|
||||||
this.ProfileNameTextBox.Size = new System.Drawing.Size(311, 26);
|
this.ProfileNameTextBox.Size = new System.Drawing.Size(311, 26);
|
||||||
this.ProfileNameTextBox.TabIndex = 1;
|
this.ProfileNameTextBox.TabIndex = 1;
|
||||||
@@ -156,7 +203,7 @@
|
|||||||
// MachineNameLabel
|
// MachineNameLabel
|
||||||
//
|
//
|
||||||
this.MachineNameLabel.AutoSize = true;
|
this.MachineNameLabel.AutoSize = true;
|
||||||
this.MachineNameLabel.Location = new System.Drawing.Point(17, 185);
|
this.MachineNameLabel.Location = new System.Drawing.Point(16, 173);
|
||||||
this.MachineNameLabel.Name = "MachineNameLabel";
|
this.MachineNameLabel.Name = "MachineNameLabel";
|
||||||
this.MachineNameLabel.Size = new System.Drawing.Size(472, 20);
|
this.MachineNameLabel.Size = new System.Drawing.Size(472, 20);
|
||||||
this.MachineNameLabel.TabIndex = 5;
|
this.MachineNameLabel.TabIndex = 5;
|
||||||
@@ -165,10 +212,10 @@
|
|||||||
// AddOrUpdateProfileButton
|
// AddOrUpdateProfileButton
|
||||||
//
|
//
|
||||||
this.AddOrUpdateProfileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.AddOrUpdateProfileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.AddOrUpdateProfileButton.Location = new System.Drawing.Point(518, 562);
|
this.AddOrUpdateProfileButton.Location = new System.Drawing.Point(518, 633);
|
||||||
this.AddOrUpdateProfileButton.Name = "AddOrUpdateProfileButton";
|
this.AddOrUpdateProfileButton.Name = "AddOrUpdateProfileButton";
|
||||||
this.AddOrUpdateProfileButton.Size = new System.Drawing.Size(86, 40);
|
this.AddOrUpdateProfileButton.Size = new System.Drawing.Size(86, 40);
|
||||||
this.AddOrUpdateProfileButton.TabIndex = 7;
|
this.AddOrUpdateProfileButton.TabIndex = 9;
|
||||||
this.AddOrUpdateProfileButton.Text = "button1";
|
this.AddOrUpdateProfileButton.Text = "button1";
|
||||||
this.AddOrUpdateProfileButton.UseVisualStyleBackColor = true;
|
this.AddOrUpdateProfileButton.UseVisualStyleBackColor = true;
|
||||||
this.AddOrUpdateProfileButton.Click += new System.EventHandler(this.AddOrUpdateProfileButton_Click);
|
this.AddOrUpdateProfileButton.Click += new System.EventHandler(this.AddOrUpdateProfileButton_Click);
|
||||||
@@ -176,7 +223,7 @@
|
|||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
this.label1.AutoSize = true;
|
this.label1.AutoSize = true;
|
||||||
this.label1.Location = new System.Drawing.Point(17, 57);
|
this.label1.Location = new System.Drawing.Point(16, 57);
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(103, 20);
|
this.label1.Size = new System.Drawing.Size(103, 20);
|
||||||
this.label1.TabIndex = 0;
|
this.label1.TabIndex = 0;
|
||||||
@@ -184,7 +231,7 @@
|
|||||||
//
|
//
|
||||||
// SelectNewContentLocationButton
|
// SelectNewContentLocationButton
|
||||||
//
|
//
|
||||||
this.SelectNewContentLocationButton.Location = new System.Drawing.Point(518, 113);
|
this.SelectNewContentLocationButton.Location = new System.Drawing.Point(518, 111);
|
||||||
this.SelectNewContentLocationButton.Name = "SelectNewContentLocationButton";
|
this.SelectNewContentLocationButton.Name = "SelectNewContentLocationButton";
|
||||||
this.SelectNewContentLocationButton.Size = new System.Drawing.Size(50, 30);
|
this.SelectNewContentLocationButton.Size = new System.Drawing.Size(50, 30);
|
||||||
this.SelectNewContentLocationButton.TabIndex = 3;
|
this.SelectNewContentLocationButton.TabIndex = 3;
|
||||||
@@ -194,7 +241,7 @@
|
|||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
this.label2.AutoSize = true;
|
this.label2.AutoSize = true;
|
||||||
this.label2.Location = new System.Drawing.Point(19, 119);
|
this.label2.Location = new System.Drawing.Point(16, 115);
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(170, 20);
|
this.label2.Size = new System.Drawing.Size(170, 20);
|
||||||
this.label2.TabIndex = 2;
|
this.label2.TabIndex = 2;
|
||||||
@@ -207,64 +254,68 @@
|
|||||||
this.NewContentLocationTextBox.Size = new System.Drawing.Size(311, 26);
|
this.NewContentLocationTextBox.Size = new System.Drawing.Size(311, 26);
|
||||||
this.NewContentLocationTextBox.TabIndex = 2;
|
this.NewContentLocationTextBox.TabIndex = 2;
|
||||||
//
|
//
|
||||||
// DeleteProfileButton
|
// label6
|
||||||
//
|
//
|
||||||
this.DeleteProfileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
this.label6.AutoSize = true;
|
||||||
this.DeleteProfileButton.Enabled = false;
|
this.label6.Location = new System.Drawing.Point(16, 339);
|
||||||
this.DeleteProfileButton.Location = new System.Drawing.Point(9, 562);
|
this.label6.Name = "label6";
|
||||||
this.DeleteProfileButton.Name = "DeleteProfileButton";
|
this.label6.Size = new System.Drawing.Size(144, 20);
|
||||||
this.DeleteProfileButton.Size = new System.Drawing.Size(75, 40);
|
this.label6.TabIndex = 11;
|
||||||
this.DeleteProfileButton.TabIndex = 8;
|
this.label6.Text = "Folder Group Path:";
|
||||||
this.DeleteProfileButton.TabStop = false;
|
|
||||||
this.DeleteProfileButton.Text = "Delete";
|
|
||||||
this.DeleteProfileButton.UseVisualStyleBackColor = true;
|
|
||||||
//
|
//
|
||||||
// label5
|
// FolderGroupPathTextBox
|
||||||
//
|
//
|
||||||
this.label5.AutoSize = true;
|
this.FolderGroupPathTextBox.Location = new System.Drawing.Point(201, 336);
|
||||||
this.label5.Location = new System.Drawing.Point(19, 308);
|
this.FolderGroupPathTextBox.Name = "FolderGroupPathTextBox";
|
||||||
this.label5.Name = "label5";
|
this.FolderGroupPathTextBox.Size = new System.Drawing.Size(311, 26);
|
||||||
this.label5.Size = new System.Drawing.Size(153, 20);
|
this.FolderGroupPathTextBox.TabIndex = 6;
|
||||||
this.label5.TabIndex = 9;
|
|
||||||
this.label5.Text = "Folder Group Name:";
|
|
||||||
//
|
//
|
||||||
// FolderGroupNameTextBox
|
// FolderGroupPathButton
|
||||||
//
|
//
|
||||||
this.FolderGroupNameTextBox.Location = new System.Drawing.Point(201, 305);
|
this.FolderGroupPathButton.Location = new System.Drawing.Point(518, 334);
|
||||||
this.FolderGroupNameTextBox.Name = "FolderGroupNameTextBox";
|
this.FolderGroupPathButton.Name = "FolderGroupPathButton";
|
||||||
this.FolderGroupNameTextBox.Size = new System.Drawing.Size(311, 26);
|
this.FolderGroupPathButton.Size = new System.Drawing.Size(50, 30);
|
||||||
this.FolderGroupNameTextBox.TabIndex = 5;
|
this.FolderGroupPathButton.TabIndex = 7;
|
||||||
|
this.FolderGroupPathButton.Text = "...";
|
||||||
|
this.FolderGroupPathButton.UseVisualStyleBackColor = true;
|
||||||
|
this.FolderGroupPathButton.Click += new System.EventHandler(this.FolderGroupPathButton_Click);
|
||||||
//
|
//
|
||||||
// InsertGroupName
|
// FolderGroupListView
|
||||||
//
|
//
|
||||||
this.InsertGroupName.Location = new System.Drawing.Point(518, 299);
|
this.FolderGroupListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||||
this.InsertGroupName.Name = "InsertGroupName";
|
this.NameColumn,
|
||||||
this.InsertGroupName.Size = new System.Drawing.Size(86, 39);
|
this.PathColumn});
|
||||||
this.InsertGroupName.TabIndex = 6;
|
this.FolderGroupListView.HideSelection = false;
|
||||||
this.InsertGroupName.Text = "Insert";
|
this.FolderGroupListView.Location = new System.Drawing.Point(20, 407);
|
||||||
this.InsertGroupName.UseVisualStyleBackColor = true;
|
this.FolderGroupListView.MultiSelect = false;
|
||||||
this.InsertGroupName.Click += new System.EventHandler(this.InsertGroupName_Click);
|
this.FolderGroupListView.Name = "FolderGroupListView";
|
||||||
|
this.FolderGroupListView.Size = new System.Drawing.Size(492, 220);
|
||||||
|
this.FolderGroupListView.TabIndex = 14;
|
||||||
|
this.FolderGroupListView.TabStop = false;
|
||||||
|
this.FolderGroupListView.UseCompatibleStateImageBehavior = false;
|
||||||
|
this.FolderGroupListView.View = System.Windows.Forms.View.Details;
|
||||||
//
|
//
|
||||||
// FolderGroupsTreeView
|
// NameColumn
|
||||||
//
|
//
|
||||||
this.FolderGroupsTreeView.FullRowSelect = true;
|
this.NameColumn.Text = "Name";
|
||||||
this.FolderGroupsTreeView.LabelEdit = true;
|
this.NameColumn.Width = 167;
|
||||||
this.FolderGroupsTreeView.Location = new System.Drawing.Point(23, 349);
|
//
|
||||||
this.FolderGroupsTreeView.Name = "FolderGroupsTreeView";
|
// PathColumn
|
||||||
this.FolderGroupsTreeView.ShowPlusMinus = false;
|
//
|
||||||
this.FolderGroupsTreeView.ShowRootLines = false;
|
this.PathColumn.Text = "Path";
|
||||||
this.FolderGroupsTreeView.Size = new System.Drawing.Size(489, 188);
|
this.PathColumn.Width = 312;
|
||||||
this.FolderGroupsTreeView.TabIndex = 10;
|
|
||||||
this.FolderGroupsTreeView.TabStop = false;
|
|
||||||
//
|
//
|
||||||
// ProfileManager
|
// ProfileManager
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(627, 725);
|
this.ClientSize = new System.Drawing.Size(627, 809);
|
||||||
this.Controls.Add(this.MainLayoutPanel);
|
this.Controls.Add(this.MainLayoutPanel);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
this.MaximizeBox = false;
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
this.Name = "ProfileManager";
|
this.Name = "ProfileManager";
|
||||||
|
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||||
this.Text = "ProfileManager";
|
this.Text = "ProfileManager";
|
||||||
this.MainLayoutPanel.ResumeLayout(false);
|
this.MainLayoutPanel.ResumeLayout(false);
|
||||||
this.MainPanel.ResumeLayout(false);
|
this.MainPanel.ResumeLayout(false);
|
||||||
@@ -297,6 +348,11 @@
|
|||||||
private System.Windows.Forms.Button InsertGroupName;
|
private System.Windows.Forms.Button InsertGroupName;
|
||||||
private System.Windows.Forms.TextBox FolderGroupNameTextBox;
|
private System.Windows.Forms.TextBox FolderGroupNameTextBox;
|
||||||
private System.Windows.Forms.Label label5;
|
private System.Windows.Forms.Label label5;
|
||||||
private System.Windows.Forms.TreeView FolderGroupsTreeView;
|
private System.Windows.Forms.Button FolderGroupPathButton;
|
||||||
|
private System.Windows.Forms.TextBox FolderGroupPathTextBox;
|
||||||
|
private System.Windows.Forms.Label label6;
|
||||||
|
private System.Windows.Forms.ListView FolderGroupListView;
|
||||||
|
private System.Windows.Forms.ColumnHeader NameColumn;
|
||||||
|
private System.Windows.Forms.ColumnHeader PathColumn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+127
-16
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.Drawing.Printing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -15,22 +16,22 @@ namespace DataOrganizer
|
|||||||
private string MachineNameLabelText { get; } = "The Machine Name property determines what\r\nprofile will be loaded automatically (Currently: '{0}').";
|
private string MachineNameLabelText { get; } = "The Machine Name property determines what\r\nprofile will be loaded automatically (Currently: '{0}').";
|
||||||
private bool IsUpdating { get; set; }
|
private bool IsUpdating { get; set; }
|
||||||
private ContextMenu FolderGroupListContextMenu { get; set; } = new ContextMenu();
|
private ContextMenu FolderGroupListContextMenu { get; set; } = new ContextMenu();
|
||||||
|
private TreeNode ClickedNode { get; set; }
|
||||||
|
|
||||||
public ProfileManager()
|
public ProfileManager()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
var renameMenuItem = new MenuItem("Rename");
|
|
||||||
var deleteMenuItem = new MenuItem("Delete");
|
var deleteMenuItem = new MenuItem("Delete");
|
||||||
FolderGroupListContextMenu.MenuItems.Add(renameMenuItem);
|
|
||||||
FolderGroupListContextMenu.MenuItems.Add(deleteMenuItem);
|
FolderGroupListContextMenu.MenuItems.Add(deleteMenuItem);
|
||||||
|
|
||||||
ProfilesComboBox.SelectedIndexChanged += ProfilesComboBox_SelectedIndexChanged;
|
ProfilesComboBox.SelectedIndexChanged += ProfilesComboBox_SelectedIndexChanged;
|
||||||
ProfileNameTextBox.TextChanged += ToggleAddOrUpdateButton;
|
ProfileNameTextBox.TextChanged += ToggleAddOrUpdateButton;
|
||||||
NewContentLocationTextBox.TextChanged += ToggleAddOrUpdateButton;
|
NewContentLocationTextBox.TextChanged += ToggleAddOrUpdateButton;
|
||||||
MachineNameTextBox.TextChanged += MachineNameTextBox_TextChanged;
|
MachineNameTextBox.TextChanged += MachineNameTextBox_TextChanged;
|
||||||
FolderGroupsTreeView.NodeMouseClick += FolderGroupsTreeView_NodeMouseClick;
|
//FolderGroupsTreeView.NodeMouseClick += FolderGroupsTreeView_NodeMouseClick;
|
||||||
renameMenuItem.Click += RenameMenuItem_Click;
|
FolderGroupPathTextBox.TextChanged += ToggleGroupInsertButton;
|
||||||
|
FolderGroupNameTextBox.TextChanged += ToggleGroupInsertButton;
|
||||||
deleteMenuItem.Click += DeleteMenuItem_Click;
|
deleteMenuItem.Click += DeleteMenuItem_Click;
|
||||||
|
|
||||||
UpdateProfileComboBox();
|
UpdateProfileComboBox();
|
||||||
@@ -40,18 +41,36 @@ namespace DataOrganizer
|
|||||||
{
|
{
|
||||||
if (e.Button == MouseButtons.Right)
|
if (e.Button == MouseButtons.Right)
|
||||||
{
|
{
|
||||||
FolderGroupListContextMenu.Show(FolderGroupsTreeView, e.Location);
|
ClickedNode = e.Node;
|
||||||
|
//FolderGroupListContextMenu.Show(FolderGroupsTreeView, e.Location);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DeleteMenuItem_Click(object sender, EventArgs e)
|
private void DeleteMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
if(IsUpdating)
|
||||||
|
{
|
||||||
|
var result = MessageBox.Show("Are you sure you want to delete this group? Doing so will delete all records associated with it?", "Confirm Group Deletion", MessageBoxButtons.YesNo);
|
||||||
|
|
||||||
|
if(result == DialogResult.Yes)
|
||||||
|
{
|
||||||
|
var db = new DB();
|
||||||
|
var currentIndex = ProfilesComboBox.SelectedIndex;
|
||||||
|
|
||||||
|
db.DeleteFolderGroup((DB.FolderGroup) ClickedNode.Tag);
|
||||||
|
|
||||||
|
UpdateProfileComboBox();
|
||||||
|
|
||||||
|
ProfilesComboBox.SelectedIndex = currentIndex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FolderGroupListView.Items.Remove(FolderGroupListView.SelectedItems[0]);
|
||||||
|
//FolderGroupsTreeView.Nodes.Remove(ClickedNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RenameMenuItem_Click(object sender, EventArgs e)
|
ClickedNode = null;
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MachineNameTextBox_TextChanged(object sender, EventArgs e)
|
private void MachineNameTextBox_TextChanged(object sender, EventArgs e)
|
||||||
@@ -70,6 +89,14 @@ namespace DataOrganizer
|
|||||||
AddOrUpdateProfileButton.Enabled = false;
|
AddOrUpdateProfileButton.Enabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ToggleGroupInsertButton(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(FolderGroupNameTextBox.Text) && !string.IsNullOrEmpty(FolderGroupPathTextBox.Text))
|
||||||
|
InsertGroupName.Enabled = true;
|
||||||
|
else
|
||||||
|
InsertGroupName.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
private void UpdateProfileComboBox()
|
private void UpdateProfileComboBox()
|
||||||
{
|
{
|
||||||
var db = new DB();
|
var db = new DB();
|
||||||
@@ -79,6 +106,7 @@ namespace DataOrganizer
|
|||||||
ProfilesComboBox.Tag = null;
|
ProfilesComboBox.Tag = null;
|
||||||
ProfilesComboBox.Items.Add("Add New Profile");
|
ProfilesComboBox.Items.Add("Add New Profile");
|
||||||
ProfilesComboBox.SelectedIndex = 0;
|
ProfilesComboBox.SelectedIndex = 0;
|
||||||
|
FolderGroupListView.Items.Clear();
|
||||||
|
|
||||||
if (profiles.Count == 0)
|
if (profiles.Count == 0)
|
||||||
{
|
{
|
||||||
@@ -108,13 +136,24 @@ namespace DataOrganizer
|
|||||||
|
|
||||||
if (!IsUpdating)
|
if (!IsUpdating)
|
||||||
{
|
{
|
||||||
db.InsertNewProfile(new DB.Profile { Name = ProfileNameTextBox.Text, DefaultNewContentFolder = NewContentLocationTextBox.Text, MachineName = machineName });
|
var folders = new List<DB.FolderGroup>();
|
||||||
|
|
||||||
|
foreach(ListViewItem node in FolderGroupListView.Items)
|
||||||
|
{
|
||||||
|
folders.Add(new DB.FolderGroup
|
||||||
|
{
|
||||||
|
Name = node.SubItems[0].Text,
|
||||||
|
Path = node.SubItems[1].Text
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
db.InsertNewProfile(new DB.Profile { Name = ProfileNameTextBox.Text, DefaultNewContentFolder = NewContentLocationTextBox.Text, MachineName = machineName, FolderGroups = folders });
|
||||||
|
|
||||||
UpdateProfileComboBox();
|
UpdateProfileComboBox();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var profile = ((List<DB.Profile>)ProfilesComboBox.Tag)[ProfilesComboBox.SelectedIndex - 1];
|
GetCurrentProfile(out DB.Profile profile);
|
||||||
profile.Name = ProfileNameTextBox.Text;
|
profile.Name = ProfileNameTextBox.Text;
|
||||||
profile.DefaultNewContentFolder = NewContentLocationTextBox.Text;
|
profile.DefaultNewContentFolder = NewContentLocationTextBox.Text;
|
||||||
profile.MachineName = MachineNameTextBox.Text;
|
profile.MachineName = MachineNameTextBox.Text;
|
||||||
@@ -126,6 +165,8 @@ namespace DataOrganizer
|
|||||||
|
|
||||||
private void ProfilesComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
private void ProfilesComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
FolderGroupListView.Items.Clear();
|
||||||
|
|
||||||
if (ProfilesComboBox.SelectedIndex == 0)
|
if (ProfilesComboBox.SelectedIndex == 0)
|
||||||
{
|
{
|
||||||
ProfileNameTextBox.Text = string.Empty;
|
ProfileNameTextBox.Text = string.Empty;
|
||||||
@@ -135,31 +176,101 @@ namespace DataOrganizer
|
|||||||
AddOrUpdateProfileButton.Enabled = false;
|
AddOrUpdateProfileButton.Enabled = false;
|
||||||
MachineNameLabel.Text = string.Format(MachineNameLabelText, Environment.MachineName);
|
MachineNameLabel.Text = string.Format(MachineNameLabelText, Environment.MachineName);
|
||||||
IsUpdating = false;
|
IsUpdating = false;
|
||||||
|
DeleteProfileButton.Enabled = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var profile = ((List<DB.Profile>)ProfilesComboBox.Tag)[ProfilesComboBox.SelectedIndex - 1];
|
IsUpdating = true;
|
||||||
|
|
||||||
|
GetCurrentProfile(out DB.Profile profile);
|
||||||
|
|
||||||
ProfileNameTextBox.Text = profile.Name;
|
ProfileNameTextBox.Text = profile.Name;
|
||||||
NewContentLocationTextBox.Text = profile.DefaultNewContentFolder;
|
NewContentLocationTextBox.Text = profile.DefaultNewContentFolder;
|
||||||
MachineNameTextBox.Text = profile.MachineName;
|
MachineNameTextBox.Text = profile.MachineName;
|
||||||
|
DeleteProfileButton.Enabled = true;
|
||||||
|
|
||||||
MachineNameLabel.Text = string.Format(MachineNameLabelText, profile.MachineName);
|
MachineNameLabel.Text = string.Format(MachineNameLabelText, profile.MachineName);
|
||||||
|
|
||||||
AddOrUpdateProfileButton.Text = "Update";
|
AddOrUpdateProfileButton.Text = "Update";
|
||||||
IsUpdating = true;
|
|
||||||
|
if(profile.FolderGroups != null)
|
||||||
|
{
|
||||||
|
foreach(var group in profile.FolderGroups)
|
||||||
|
{
|
||||||
|
var item = new ListViewItem(group.Name);
|
||||||
|
item.SubItems.Add(group.Path);
|
||||||
|
|
||||||
|
FolderGroupListView.Items.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InsertGroupName_Click(object sender, EventArgs e)
|
private void InsertGroupName_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if(!string.IsNullOrEmpty(FolderGroupNameTextBox.Text))
|
var groupName = FolderGroupNameTextBox.Text.Trim();
|
||||||
|
|
||||||
|
if(!string.IsNullOrEmpty(groupName))
|
||||||
{
|
{
|
||||||
if (!FolderGroupsTreeView.Nodes.ContainsKey(FolderGroupNameTextBox.Text))
|
if (!FolderGroupListView.Items.ContainsKey(groupName))//!FolderGroupsTreeView.Nodes.ContainsKey(groupName))
|
||||||
FolderGroupsTreeView.Nodes.Add(FolderGroupNameTextBox.Text);
|
{
|
||||||
|
var item = new ListViewItem(groupName);
|
||||||
|
item.SubItems.Add(FolderGroupPathTextBox.Text);
|
||||||
|
|
||||||
|
FolderGroupListView.Items.Add(item);
|
||||||
|
|
||||||
|
|
||||||
|
if (IsUpdating)
|
||||||
|
{
|
||||||
|
var db = new DB();
|
||||||
|
|
||||||
|
GetCurrentProfile(out DB.Profile profile);
|
||||||
|
|
||||||
|
var newId = db.InsertNewFolderGroup(profile, groupName, FolderGroupPathTextBox.Text);
|
||||||
|
|
||||||
|
profile.FolderGroups.Add(new DB.FolderGroup { Name = groupName, Id = newId, Path = FolderGroupPathTextBox.Text });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FolderGroupNameTextBox.Text = string.Empty;
|
FolderGroupNameTextBox.Text = string.Empty;
|
||||||
|
FolderGroupPathTextBox.Text = string.Empty;
|
||||||
FolderGroupNameTextBox.Focus();
|
FolderGroupNameTextBox.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool GetCurrentProfile(out DB.Profile profile)
|
||||||
|
{
|
||||||
|
profile = new DB.Profile();
|
||||||
|
|
||||||
|
if (!IsUpdating) return false;
|
||||||
|
|
||||||
|
profile = ((List<DB.Profile>)ProfilesComboBox.Tag)[ProfilesComboBox.SelectedIndex - 1];
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DeleteProfileButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var result = MessageBox.Show("Are you sure? This will delete all file records (not files on disk), groups and any customization data set in this profile.", "Wipe Profile", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
|
||||||
|
|
||||||
|
if(result == DialogResult.Yes)
|
||||||
|
{
|
||||||
|
var db = new DB();
|
||||||
|
GetCurrentProfile(out DB.Profile profile);
|
||||||
|
|
||||||
|
db.DeleteProfile(profile);
|
||||||
|
|
||||||
|
UpdateProfileComboBox();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FolderGroupPathButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var dialog = new FolderBrowserDialog();
|
||||||
|
|
||||||
|
if(dialog.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
|
FolderGroupPathTextBox.Text = dialog.SelectedPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user