Menu

[r321]: / trunk / GoogleContactsSync / ConfigurationManager.cs  Maximize  Restore  History

Download this file

125 lines (109 with data), 4.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using Microsoft.Win32;
using System.Windows.Forms;
namespace GoContactSyncMod
{
public partial class ConfigurationManagerForm : Form
{
public ConfigurationManagerForm()
{
InitializeComponent();
}
public string AddProfile()
{
string vReturn = "";
AddEditProfileForm AddEditProfile = new AddEditProfileForm("New profile", null);
if (AddEditProfile.ShowDialog() == DialogResult.OK)
{
if (null != Registry.CurrentUser.OpenSubKey(SettingsForm.AppRootKey + '\\' + AddEditProfile.ProfileName))
{
MessageBox.Show("Profile " + AddEditProfile.ProfileName + " exists, try again. ", "New profile");
}
else
{
Registry.CurrentUser.CreateSubKey(SettingsForm.AppRootKey + '\\' + AddEditProfile.ProfileName);
vReturn = AddEditProfile.ProfileName;
}
}
return vReturn;
}
private void fillListProfiles()
{
RegistryKey regKeyAppRoot = Registry.CurrentUser.CreateSubKey(SettingsForm.AppRootKey);
lbProfiles.Items.Clear();
foreach (string subKeyName in regKeyAppRoot.GetSubKeyNames())
{
lbProfiles.Items.Add(subKeyName);
}
}
//copy all the values
private void CopyKey(RegistryKey parent, string keyNameSource, string keyNameDestination)
{
RegistryKey destination = parent.CreateSubKey(keyNameDestination);
RegistryKey source = parent.OpenSubKey(keyNameSource);
foreach (string valueName in source.GetValueNames())
{
object objValue = source.GetValue(valueName);
RegistryValueKind valKind = source.GetValueKind(valueName);
destination.SetValue(valueName, objValue, valKind);
}
}
private void btClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void btAdd_Click(object sender, EventArgs e)
{
AddProfile();
fillListProfiles();
}
private void btEdit_Click(object sender, EventArgs e)
{
if (1 == lbProfiles.CheckedItems.Count)
{
AddEditProfileForm AddEditProfile = new AddEditProfileForm("Edit profile",lbProfiles.CheckedItems[0].ToString());
if (AddEditProfile.ShowDialog() == DialogResult.OK)
{
if (null != Registry.CurrentUser.OpenSubKey(SettingsForm.AppRootKey + '\\' + AddEditProfile.ProfileName))
{
MessageBox.Show("Profile " + AddEditProfile.ProfileName + " exists, try again. ", "Edit profile");
}
else
{
CopyKey(Registry.CurrentUser.CreateSubKey(SettingsForm.AppRootKey), lbProfiles.CheckedItems[0].ToString(), AddEditProfile.ProfileName);
Registry.CurrentUser.DeleteSubKeyTree(SettingsForm.AppRootKey + '\\' + lbProfiles.CheckedItems[0].ToString());
}
}
}
else
{
MessageBox.Show("Please, select one profile for editing", "Edit profile");
}
fillListProfiles();
}
private void btDel_Click(object sender, EventArgs e)
{
if (0 >= lbProfiles.CheckedItems.Count)
{
MessageBox.Show("You don`t select any profile. Deletion imposble.", "Delete profile");
} else if (DialogResult.Yes == MessageBox.Show("Do you sure to delete selection ?", "Delete profile",
MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
foreach (object itemChecked in lbProfiles.CheckedItems)
{
Registry.CurrentUser.DeleteSubKeyTree(SettingsForm.AppRootKey + '\\' + itemChecked.ToString());
}
}
fillListProfiles();
}
private void ConfigurationManagerForm_Load(object sender, EventArgs e)
{
fillListProfiles();
}
}
}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.