public static PersistentGoogleCalendar[] AllCalendars()
        {
            try
            {
                RegistryKey key = Registry.CurrentUser.OpenSubKey(RegBase);

                if (key == null)
                {
                    return(null);
                }

                string[] cals = key.GetSubKeyNames();

                int length = cals.Length;
                PersistentGoogleCalendar[] gCals = new PersistentGoogleCalendar[length];

                for (int i = 0; i < length; i++)
                {
                    string path = key.Name + "\\" + cals[i];

                    gCals[i] = new PersistentGoogleCalendar(
                        (string)Registry.GetValue(path, "Owner", null),
                        cals[i],
                        (string)Registry.GetValue(path, "Title", null),
                        (string)Registry.GetValue(path, "Color", null)
                        );
                }

                return(gCals);
            }
            catch
            {
                return(null);
            }
        }
        public static void Save(PersistentGoogleCalendar gCalendar)
        {
            RegistryKey key = Registry.CurrentUser.CreateSubKey(RegBase + "\\" + gCalendar.Url);

            key.SetValue("Title", gCalendar.Title);
            key.SetValue("Owner", gCalendar.Owner);
            key.SetValue("Color", gCalendar.Color);
        }
 public static void Delete(PersistentGoogleCalendar gCalendar)
 {
     Registry.CurrentUser.DeleteSubKey(RegBase + "\\" + gCalendar.Url);
 }