Esempio n. 1
0
        void IncrementalSettings_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            bool hasWarnedClean = m_wrapper.CleanupSettingsUI.HasWarnedClean;

            if (!m_valuesAutoLoaded)
            {
                if (m_wrapper.MaxFullBackups > 0)
                {
                    CleanFullBackupCount.Value    = m_wrapper.MaxFullBackups;
                    EnableFullBackupClean.Checked = true;
                }
                else
                {
                    CleanFullBackupCount.Value    = 4;
                    EnableFullBackupClean.Checked = false;
                }

                CleanupDuration.Value         = m_wrapper.BackupExpireInterval;
                EnableCleanupDuration.Checked = !string.IsNullOrEmpty(m_wrapper.BackupExpireInterval);
                if (!EnableCleanupDuration.Checked)
                {
                    CleanupDuration.Value = m_wrapper.FullBackupInterval;
                }

                IgnoreTimestamps.Checked = m_wrapper.IgnoreFileTimestamps;
            }

            m_wrapper.CleanupSettingsUI.HasWarnedClean = hasWarnedClean;
        }
 public void TestWizardSetting()
 {
     var dict = new Dictionary<string, object>();
     dict["WSW_Backend"] = "file";
     var wsw = new WizardSettingsWrapper(dict);
     Assert.AreEqual("file", wsw.Backend);
 }
Esempio n. 3
0
        void RunNowFinished_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            Summary.Text = string.Format(Strings.RunNowFinished.SummaryText, m_wrapper.ScheduleName);
            args.TreatAsLast = true;
        }
Esempio n. 4
0
        void DeleteFinished_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            Summary.Text     = string.Format(Strings.DeleteFinished.SummaryText, m_wrapper.ScheduleName);
            args.TreatAsLast = true;
        }
Esempio n. 5
0
 void TargetFolder_PageEnter(object sender, PageChangedArgs args)
 {
     m_wrapper = new WizardSettingsWrapper(m_settings);
     if (PartialRestore.Checked)
     {
         PartialRestore_CheckedChanged(null, null);
     }
 }
        public void TestWizardSetting()
        {
            var dict = new Dictionary <string, object>();

            dict["WSW_Backend"] = "file";
            var wsw = new WizardSettingsWrapper(dict);

            Assert.AreEqual("file", wsw.Backend);
        }
Esempio n. 7
0
 void AdvancedOptions_PageEnter(object sender, PageChangedArgs args)
 {
     m_wrapper = new WizardSettingsWrapper(m_settings);
     if (!m_valuesAutoLoaded)
     {
         IncludeXervBackupSetup.Checked = m_wrapper.IncludeSetup;
         EditOverrides.Checked = m_wrapper.Overrides.Count > 0;
     }
 }
Esempio n. 8
0
 void AdvancedOptions_PageEnter(object sender, PageChangedArgs args)
 {
     m_wrapper = new WizardSettingsWrapper(m_settings);
     if (!m_valuesAutoLoaded)
     {
         IncludeDuplicatiSetup.Checked = m_wrapper.IncludeSetup;
         EditOverrides.Checked         = m_wrapper.Overrides.Count > 0;
     }
 }
Esempio n. 9
0
        void FilterEditor_PageEnter(object sender, System.Windows.Forms.Wizard.PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            filterEditor1.FilterXml = m_wrapper.EncodedFilterXml;

            List<KeyValuePair<bool, string>> lst = new List<KeyValuePair<bool, string>>();
            filterEditor1.BasePath = DynamicSetupHelper.GetSourceFolders(m_wrapper, new ApplicationSettings(m_wrapper.DataConnection ?? Program.DataConnection), lst);
            filterEditor1.DynamicFilter = Library.Utility.FilenameFilter.EncodeAsFilter(lst);
        }
Esempio n. 10
0
        void FilterEditor_PageEnter(object sender, System.Windows.Forms.Wizard.PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            filterEditor1.FilterXml = m_wrapper.EncodedFilterXml;

            List <KeyValuePair <bool, string> > lst = new List <KeyValuePair <bool, string> >();

            filterEditor1.BasePath      = DynamicSetupHelper.GetSourceFolders(m_wrapper, new ApplicationSettings(m_wrapper.DataConnection ?? Program.DataConnection), lst);
            filterEditor1.DynamicFilter = Library.Utility.FilenameFilter.EncodeAsFilter(lst);
        }
        void FinishedRestoreSetup_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            List<KeyValuePair<string, string>> strings = new List<KeyValuePair<string, string>>();
            strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummaryAction, Strings.FinishedRestoreSetup.SummaryRestoreBackup));

            strings.Add(new KeyValuePair<string, string>(null, null));
            strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySource, m_wrapper.Backend.ToString()));

            //TODO: Figure out how to make summary

            /*switch(m_wrapper.Backend)
            {
                case WizardSettingsWrapper.BackendType.File:
                    FileSettings file = new FileSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, file.Path));
                    break;
                case WizardSettingsWrapper.BackendType.FTP:
                    FTPSettings ftp = new FTPSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, ftp.Server + "/" + ftp.Path));
                    break;
                case WizardSettingsWrapper.BackendType.SSH:
                    SSHSettings ssh = new SSHSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, ssh.Server + "/" + ssh.Path));
                    break;
                case WizardSettingsWrapper.BackendType.S3:
                    S3Settings s3 = new S3Settings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, s3.Path));
                    break;
                case WizardSettingsWrapper.BackendType.WebDav:
                    WEBDAVSettings webdav = new WEBDAVSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, webdav.Path));
                    break;
            }*/

            int maxlen = 0;
            foreach (KeyValuePair<string, string> i in strings)
                if (i.Key != null)
                    maxlen = Math.Max(maxlen, i.Key.Length);

            System.Text.StringBuilder sb = new StringBuilder();
            foreach (KeyValuePair<string, string> i in strings)
                if (i.Key == null)
                    sb.Append("\r\n");
                else
                    sb.Append(i.Key + ": " + new String(' ', maxlen - i.Key.Length) + i.Value + "\r\n");

            Summary.Text = sb.ToString();

            args.TreatAsLast = true;
        }
Esempio n. 12
0
        void FirstLaunch_PageLeave(object sender, System.Windows.Forms.Wizard.PageChangedArgs args)
        {
            WizardSettingsWrapper wrapper = new WizardSettingsWrapper(m_settings);

            if (CreateNew.Checked)
            {
                //If there are no existing backups, the mainpage just selects add, and sets the defaults
                args.NextPage = new MainPage();
                wrapper.DataConnection = Program.DataConnection;
                wrapper.PrimayAction = WizardSettingsWrapper.MainAction.Add;
            }
            else if (RestoreSetup.Checked)
            {
                DialogResult res = MessageBox.Show(this, Strings.FirstLaunch.ShowAdvancedQuestion, Application.ProductName, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (res == DialogResult.Cancel)
                {
                    args.Cancel = true;
                    return;
                }
                wrapper.SetupDefaults();
                wrapper.ShowAdvancedRestoreOptions = res == DialogResult.Yes;
                args.NextPage = new Add_backup.PasswordSettings();
                wrapper.DataConnection = Program.DataConnection;
                wrapper.PrimayAction = WizardSettingsWrapper.MainAction.RestoreSetup;
            }
            else if (RestoreFiles.Checked)
            {
                wrapper.SetupDefaults();
                wrapper.DataConnection = new System.Data.LightDatamodel.DataFetcherNested(Program.DataConnection);

                Datamodel.Schedule s = new Datamodel.Schedule();
                Datamodel.Task t = new Datamodel.Task();

                wrapper.DataConnection.Add(s);
                wrapper.DataConnection.Add(t);

                s.Task = t;

                wrapper.ScheduleID = s.ID;
                args.NextPage = new Add_backup.PasswordSettings();
                wrapper.PrimayAction = WizardSettingsWrapper.MainAction.Restore;
            }
            else
            {
                MessageBox.Show(this, Strings.FirstLaunch.NoActionSelection, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                args.Cancel = true;
                args.NextPage = null;
                return;
            }
        }
Esempio n. 13
0
        void SelectName_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            BackupFolder.Setup(Program.DataConnection, true, true);

            if (!m_valuesAutoLoaded)
            {
                BackupName.Text             = m_wrapper.ScheduleName;
                BackupFolder.SelectedFolder = m_wrapper.SchedulePath;
            }

            try { BackupName.Focus(); }
            catch { }
        }
Esempio n. 14
0
        void SelectName_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            BackupFolder.Setup(Program.DataConnection, true, true);

            if (!m_valuesAutoLoaded)
            {
                BackupName.Text = m_wrapper.ScheduleName;
                BackupFolder.SelectedFolder = m_wrapper.SchedulePath;
            }

            try { BackupName.Focus(); }
            catch { }
        }
Esempio n. 15
0
        public static List<Library.Interface.ICommandLineArgument> GetModuleOptions(WizardSettingsWrapper wrapper, Control parent)
        {
            List<Library.Interface.ICommandLineArgument> res = new List<Library.Interface.ICommandLineArgument>();
            try
            {
                res.AddRange(Library.DynamicLoader.BackendLoader.GetSupportedCommands(wrapper.Backend));
            }
            catch (Exception ex)
            {
                if (parent != null)
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.BackendLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            try
            {
                res.AddRange(Library.DynamicLoader.EncryptionLoader.GetSupportedCommands(wrapper.EncryptionModule));
            }
            catch (Exception ex)
            {
                if (parent != null)
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.EncryptionLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            try
            {
                res.AddRange(Library.DynamicLoader.CompressionLoader.GetSupportedCommands(wrapper.CompressionModule));
            }
            catch (Exception ex)
            {
                if (parent != null)
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.CompressionLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            try
            {
                foreach (Library.Interface.IGenericModule m in Library.DynamicLoader.GenericLoader.Modules)
                    if (m.SupportedCommands != null)
                        res.AddRange(m.SupportedCommands);
            }
            catch (Exception ex)
            {
                if (parent != null)
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.GenericModuleLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return res;
        }
Esempio n. 16
0
        void FinishedRestore_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            Summary.Text = string.Format(
                Strings.FinishedRestore.SummaryText,
                m_wrapper.ScheduleName,
                (m_wrapper.RestoreTime.Ticks == 0 ? Strings.FinishedRestore.MostRecent : m_wrapper.RestoreTime.ToString()),
                m_wrapper.DisplayRestorePath
            );

            args.TreatAsLast = true;

            Schedule schedule = m_wrapper.DataConnection.GetObjectById<Schedule>(m_wrapper.ScheduleID);
            if (!schedule.ExistsInDb)
            {
                RunInBackground.Checked = false;
                RunInBackground.Visible = false;
            }
        }
Esempio n. 17
0
        void FinishedRestore_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            Summary.Text = string.Format(
                Strings.FinishedRestore.SummaryText,
                m_wrapper.ScheduleName,
                (m_wrapper.RestoreTime.Ticks == 0 ? Strings.FinishedRestore.MostRecent : m_wrapper.RestoreTime.ToString()),
                m_wrapper.DisplayRestorePath
                );

            args.TreatAsLast = true;

            Schedule schedule = m_wrapper.DataConnection.GetObjectById <Schedule>(m_wrapper.ScheduleID);

            if (!schedule.ExistsInDb)
            {
                RunInBackground.Checked = false;
                RunInBackground.Visible = false;
            }
        }
Esempio n. 18
0
        void SettingOverrides_PageEnter(object sender, System.Windows.Forms.Wizard.PageChangedArgs args)
        {
            if (!OptionGrid.Unsupported)
            {
                m_wrapper = new WizardSettingsWrapper(m_settings);

                if (!m_settings.ContainsKey("Overrides:Table"))
                {
                    IList <Library.Interface.ICommandLineArgument> primary   = new Library.Main.Options(new Dictionary <string, string>()).SupportedCommands;
                    IList <Library.Interface.ICommandLineArgument> secondary = GetModuleOptions(m_wrapper, this);

                    OptionGrid.Setup(primary, secondary, m_wrapper.Overrides);

                    m_settings["Overrides:Table"]            = OptionGrid.DataSet;
                    m_settings["Overrides:DataElementCache"] = OptionGrid.DataElementCache;
                }
                else
                {
                    OptionGrid.DataSet          = (DataSet)m_settings["Overrides:Table"];
                    OptionGrid.DataElementCache = (Dictionary <string, Library.Interface.ICommandLineArgument>)m_settings["Overrides:DataElementCache"];
                }
            }
        }
Esempio n. 19
0
        void ThrottleOptions_PageEnter(object sender, System.Windows.Forms.Wizard.PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);
            if (!m_valuesAutoLoaded)
            {
                Bandwidth.UploadLimit   = m_wrapper.UploadSpeedLimit;
                Bandwidth.DownloadLimit = m_wrapper.DownloadSpeedLimit;

                if (string.IsNullOrEmpty(m_wrapper.BackupSizeLimit) || Library.Utility.Sizeparser.ParseSize(m_wrapper.BackupSizeLimit) == 0)
                {
                    BackupLimitEnabled.Checked = false;
                }
                else
                {
                    BackupLimitEnabled.Checked = true;
                    BackupLimit.CurrentSize    = m_wrapper.BackupSizeLimit;
                }

                VolumeSize.CurrentSize = m_wrapper.VolumeSize;

                AsyncEnabled.Checked = m_wrapper.AsyncTransfer;
                ThreadPriorityPicker.SelectedPriority = string.IsNullOrEmpty(m_wrapper.ThreadPriority) ? null : (System.Threading.ThreadPriority?)Library.Utility.Utility.ParsePriority(m_wrapper.ThreadPriority);
            }
        }
Esempio n. 20
0
 public SelectBackup(WizardSettingsWrapper.MainAction action)
     : this()
 {
     m_action = action;
 }
Esempio n. 21
0
        void SelectBackup_PageEnter(object sender, PageChangedArgs args)
        {
            BackupList.Setup(Program.DataConnection, true, false);
            m_wrapper = new WizardSettingsWrapper(m_settings);

            if (m_action != null)
                m_wrapper.PrimayAction = m_action.Value;

            if (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.RunNow && m_wrapper.DataConnection == null)
                m_wrapper.DataConnection = Program.DataConnection;

            if (m_wrapper.ScheduleID > 0)
                BackupList.SelectedBackup = (m_wrapper.DataConnection ?? Program.DataConnection).GetObjectById<Schedule>(m_wrapper.ScheduleID);

            if (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Restore)
            {
                topLabel.Visible = false;
                RestoreOptions.Visible = true;
            }
            else
            {
                topLabel.Visible = true;
                RestoreOptions.Visible = false;
                ShowAdvancedPanel.Visible = false;
                topLabel.Text = this.Title;
            }

            if (m_valuesAutoLoaded)
            {

                m_skipFirstEvent = true;
            }

            args.TreatAsLast = false;
        }
Esempio n. 22
0
        void IncrementalSettings_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            bool hasWarnedClean = m_wrapper.CleanupSettingsUI.HasWarnedClean;

            if (!m_valuesAutoLoaded)
            {
                if (m_wrapper.MaxFullBackups > 0)
                {
                    CleanFullBackupCount.Value = m_wrapper.MaxFullBackups;
                    EnableFullBackupClean.Checked = true;
                }
                else
                {
                    CleanFullBackupCount.Value = 4;
                    EnableFullBackupClean.Checked = false;
                }

                CleanupDuration.Value = m_wrapper.BackupExpireInterval;
                EnableCleanupDuration.Checked = !string.IsNullOrEmpty(m_wrapper.BackupExpireInterval);
                if (!EnableCleanupDuration.Checked)
                    CleanupDuration.Value = m_wrapper.FullBackupInterval;

                IgnoreTimestamps.Checked = m_wrapper.IgnoreFileTimestamps;
            }

            m_wrapper.CleanupSettingsUI.HasWarnedClean = hasWarnedClean;
        }
Esempio n. 23
0
 void SelectBackupVersion_PageEnter(object sender, PageChangedArgs args)
 {
     m_wrapper = new WizardSettingsWrapper(m_settings);
     m_wrapper.UpdateSchedule(m_wrapper.DataConnection.GetObjectById <Schedule>(m_wrapper.ScheduleID));
     BackupList.Setup(m_wrapper.DataConnection.GetObjectById <Schedule>(m_wrapper.ScheduleID));
 }
Esempio n. 24
0
        void FinishedRestoreSetup_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            List <KeyValuePair <string, string> > strings = new List <KeyValuePair <string, string> >();

            strings.Add(new KeyValuePair <string, string>(Strings.FinishedRestoreSetup.SummaryAction, Strings.FinishedRestoreSetup.SummaryRestoreBackup));

            strings.Add(new KeyValuePair <string, string>(null, null));
            strings.Add(new KeyValuePair <string, string>(Strings.FinishedRestoreSetup.SummarySource, m_wrapper.Backend.ToString()));

            //TODO: Figure out how to make summary

            /*switch(m_wrapper.Backend)
             * {
             *  case WizardSettingsWrapper.BackendType.File:
             *      FileSettings file = new FileSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, file.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.FTP:
             *      FTPSettings ftp = new FTPSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, ftp.Server + "/" + ftp.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.SSH:
             *      SSHSettings ssh = new SSHSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, ssh.Server + "/" + ssh.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.S3:
             *      S3Settings s3 = new S3Settings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, s3.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.WebDav:
             *      WEBDAVSettings webdav = new WEBDAVSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedRestoreSetup.SummarySourcePath, webdav.Path));
             *      break;
             * }*/

            int maxlen = 0;

            foreach (KeyValuePair <string, string> i in strings)
            {
                if (i.Key != null)
                {
                    maxlen = Math.Max(maxlen, i.Key.Length);
                }
            }

            System.Text.StringBuilder sb = new StringBuilder();
            foreach (KeyValuePair <string, string> i in strings)
            {
                if (i.Key == null)
                {
                    sb.Append("\r\n");
                }
                else
                {
                    sb.Append(i.Key + ": " + new String(' ', maxlen - i.Key.Length) + i.Value + "\r\n");
                }
            }

            Summary.Text = sb.ToString();

            args.TreatAsLast = true;
        }
Esempio n. 25
0
        void SelectFiles_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper          = new WizardSettingsWrapper(m_settings);
            m_owner.Cancelled += new CancelEventHandler(m_owner_Cancelled);

            if (m_settings.ContainsKey("Files:Sizes"))
            {
                m_sizes = (Dictionary <string, long>)m_settings["Files:Sizes"];
            }

            if (!m_valuesAutoLoaded)
            {
                if (m_wrapper.SelectFilesUI.Version < 2)
                {
                    //Either upgrade or fresh copy
                    if (string.IsNullOrEmpty(m_wrapper.SourcePath))
                    {
                        //Set defaults
                        DocumentsRadio.Checked   = true;
                        IncludeDocuments.Checked = true;
                        IncludeImages.Checked    = true;
                        IncludeMusic.Checked     = false;
                        IncludeDesktop.Checked   = true;
                        IncludeSettings.Checked  = false;
                    }
                    else
                    {
                        UpgradeFromVersionOne();
                    }
                }
                else
                {
                    //Multifolder version
                    if (m_wrapper.SelectFilesUI.UseSimpleMode)
                    {
                        IncludeDocuments.Checked = m_wrapper.SelectFilesUI.IncludeDocuments;
                        IncludeImages.Checked    = m_wrapper.SelectFilesUI.IncludeImages;
                        IncludeMusic.Checked     = m_wrapper.SelectFilesUI.IncludeMusic;
                        IncludeDesktop.Checked   = m_wrapper.SelectFilesUI.IncludeDesktop;
                        IncludeSettings.Checked  = m_wrapper.SelectFilesUI.IncludeSettings;
                        DocumentsRadio.Checked   = true;
                    }
                    else
                    {
                        FolderRadio.Checked = true;
                    }
                }
            }

            //Always populate the list
            InnerControlContainer.Controls.Clear();
            if (!string.IsNullOrEmpty(m_wrapper.SourcePath))
            {
                foreach (string s in m_wrapper.SourcePath.Split(System.IO.Path.PathSeparator))
                {
                    if (!string.IsNullOrEmpty(s))
                    {
                        AddFolderControl().SelectedPath = s;
                    }
                }
            }

            Rescan();

            //Make sure we resize correctly
            TargetType_CheckedChanged(null, null);
        }
Esempio n. 26
0
        void FinishedAdd_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            List <KeyValuePair <string, string> > strings = new List <KeyValuePair <string, string> >();

            if (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Add)
            {
                strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummaryAction, Strings.FinishedAdd.SummaryActionAdd));
            }
            else
            {
                strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummaryAction, Strings.FinishedAdd.SummaryActionModify));
            }

            strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummarySourceFolder, m_wrapper.SourcePath));
            strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummaryWhen, m_wrapper.BackupTimeOffset.ToString()));
            if (!string.IsNullOrEmpty(m_wrapper.RepeatInterval))
            {
                strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummaryRepeat, m_wrapper.RepeatInterval));
            }
            if (!string.IsNullOrEmpty(m_wrapper.FullBackupInterval))
            {
                strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummaryFullBackupEach, m_wrapper.FullBackupInterval));
            }
            if (m_wrapper.MaxFullBackups > 0)
            {
                strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummaryKeepFullBackups, m_wrapper.MaxFullBackups.ToString()));
            }

            strings.Add(new KeyValuePair <string, string>(null, null));
            strings.Add(new KeyValuePair <string, string>(Strings.FinishedAdd.SummaryDestination, m_wrapper.Backend.ToString()));

            //TODO: Figure out how to make a summary

            /*switch(m_wrapper.Backend)
             * {
             *  case WizardSettingsWrapper.BackendType.File:
             *      FileSettings file = new FileSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, file.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.FTP:
             *      FTPSettings ftp = new FTPSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, ftp.Server + "/" + ftp.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.SSH:
             *      SSHSettings ssh = new SSHSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, ssh.Server + "/" + ssh.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.S3:
             *      S3Settings s3 = new S3Settings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, s3.Path));
             *      break;
             *  case WizardSettingsWrapper.BackendType.WebDav:
             *      WEBDAVSettings webdav = new WEBDAVSettings(m_wrapper);
             *      strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, webdav.Path));
             *      break;
             * }*/

            int maxlen = 0;

            foreach (KeyValuePair <string, string> i in strings)
            {
                if (i.Key != null)
                {
                    maxlen = Math.Max(maxlen, i.Key.Length);
                }
            }

            System.Text.StringBuilder sb = new StringBuilder();
            foreach (KeyValuePair <string, string> i in strings)
            {
                if (i.Key == null)
                {
                    sb.Append("\r\n");
                }
                else
                {
                    sb.Append(i.Key + ": " + new String(' ', maxlen - i.Key.Length) + i.Value + "\r\n");
                }
            }

            Summary.Text = sb.ToString();

            args.TreatAsLast = true;

            CommandLine.Text = "";
            Tabs.SelectedTab = TabSummary;
        }
Esempio n. 27
0
        void SelectWhen_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            bool hasWarnedNoSchedule = m_wrapper.SelectWhenUI.HasWarnedNoSchedule;
            bool HasWarnedTooManyIncremental = m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental;
            bool hasWarnedNoIncrementals = m_wrapper.SelectWhenUI.HasWarnedNoIncrementals;

            DayOfWeek d = System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.FirstDayOfWeek;
            CheckBox[] chks = new CheckBox[] { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
            Label[] lbls = new Label[] { Day1Label, Day2Label, Day3Label, Day4Label, Day5Label, Day6Label, Day7Label };

            int spacing = AllowedDaysPanel.Width / 7;
            int offset = spacing / 2;

            for (int i = 0; i < 7; i++)
            {
                int index = (((int)d) + i) % 7;
                chks[index].Left = offset + (spacing * i);
                lbls[index].Text = System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.AbbreviatedDayNames[index];
                lbls[index].Left = chks[index].Left + (chks[index].Width / 2) - (lbls[index].Width / 2);
            }

            if (!m_valuesAutoLoaded)
            {
                OffsetDate.Value = m_wrapper.BackupTimeOffset;
                OffsetTime.Value = m_wrapper.BackupTimeOffset;
                ScheduleRadio.Checked = !string.IsNullOrEmpty(m_wrapper.RepeatInterval);
                if (string.IsNullOrEmpty(m_wrapper.RepeatInterval))
                    RepeatInterval.Value = "1D";
                else
                    RepeatInterval.Value = m_wrapper.RepeatInterval;
                NoScheduleRadio.Checked = ! ScheduleRadio.Checked;

                if (m_wrapper.AllowedWeekdays == null || m_wrapper.AllowedWeekdays.Length == 0)
                {
                    foreach (CheckBox c in chks)
                        c.Checked = true;
                }
                else
                {
                    foreach (CheckBox c in chks)
                        c.Checked = false;

                    foreach (DayOfWeek day in m_wrapper.AllowedWeekdays)
                        chks[(int)day].Checked = true;
                }

                if (string.IsNullOrEmpty(m_wrapper.FullBackupInterval))
                {
                    NeverFullRadio.Checked = true;
                    FullDuration.Value = "1M";
                }
                else if (m_wrapper.FullBackupInterval.Equals("1s")) //TODO: Is this the best way?
                {
                    AlwaysFullRadio.Checked = true;
                    FullDuration.Value = "1M";
                }
                else
                {
                    IncrementalPeriodRadio.Checked = true;
                    FullDuration.Value = m_wrapper.FullBackupInterval;
                }
            }

            m_wrapper.SelectWhenUI.HasWarnedNoSchedule = hasWarnedNoSchedule;
            m_wrapper.SelectWhenUI.HasWarnedNoIncrementals = hasWarnedNoIncrementals;
            m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = HasWarnedTooManyIncremental;
        }
Esempio n. 28
0
        void SelectBackend_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            int top = 0;
            BackendList.Controls.Clear();

            //Sort backends by display name
            SortedList<string, Library.Interface.IBackend> lst = new SortedList<string, XervBackup.Library.Interface.IBackend>();
            foreach (Library.Interface.IBackend backend in Library.DynamicLoader.BackendLoader.Backends)
                lst.Add(backend.DisplayName.Trim().ToLower(), backend);

            foreach (Library.Interface.IBackend backend in lst.Values)
            {
                DoubleClickRadioButton button = new DoubleClickRadioButton();
                button.AutoSize = true;
                button.Text = backend.DisplayName;
                toolTips.SetToolTip(button, backend.Description);
                button.Left = 0;
                button.Top = top;
                button.Tag = backend;
                button.CheckedChanged += new EventHandler(Item_CheckChanged);
                button.DoubleClick += new EventHandler(button_DoubleClick);

                button.Checked = (backend.ProtocolKey == m_wrapper.Backend);

                top += button.Height + 5;
                BackendList.Controls.Add(button);
            }

            Item_CheckChanged(null, null);

            if (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.RestoreSetup || m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Restore)
                Question.Text = Strings.SelectBackend.RestoreSetupTitle;
        }
Esempio n. 29
0
 void TargetFolder_PageEnter(object sender, PageChangedArgs args)
 {
     m_wrapper = new WizardSettingsWrapper(m_settings);
     if (PartialRestore.Checked)
         PartialRestore_CheckedChanged(null, null);
 }
Esempio n. 30
0
        void SettingOverrides_PageEnter(object sender, System.Windows.Forms.Wizard.PageChangedArgs args)
        {
            if (!OptionGrid.Unsupported)
            {
                m_wrapper = new WizardSettingsWrapper(m_settings);

                if (!m_settings.ContainsKey("Overrides:Table"))
                {
                    IList<Library.Interface.ICommandLineArgument> primary = new Library.Main.Options(new Dictionary<string, string>()).SupportedCommands;
                    IList<Library.Interface.ICommandLineArgument> secondary = GetModuleOptions(m_wrapper, this);

                    OptionGrid.Setup(primary, secondary, m_wrapper.Overrides);

                    m_settings["Overrides:Table"] = OptionGrid.DataSet;
                    m_settings["Overrides:DataElementCache"] = OptionGrid.DataElementCache;
                }
                else
                {
                    OptionGrid.DataSet = (DataSet)m_settings["Overrides:Table"];
                    OptionGrid.DataElementCache = (Dictionary<string, Library.Interface.ICommandLineArgument>)m_settings["Overrides:DataElementCache"];
                }
            }
        }
Esempio n. 31
0
 void SelectBackupVersion_PageEnter(object sender, PageChangedArgs args)
 {
     m_wrapper = new WizardSettingsWrapper(m_settings);
     m_wrapper.UpdateSchedule(m_wrapper.DataConnection.GetObjectById<Schedule>(m_wrapper.ScheduleID));
     BackupList.Setup(m_wrapper.DataConnection.GetObjectById<Schedule>(m_wrapper.ScheduleID));
 }
Esempio n. 32
0
        void PasswordSettings_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);
            bool hasWarnedNoPassword = m_wrapper.PasswordSettingsUI.WarnedNoPassword;

            if (!m_valuesAutoLoaded)
            {
                EnablePassword.Checked = !string.IsNullOrEmpty(m_wrapper.BackupPassword) || (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Add || m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.RestoreSetup || m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Restore);
                Password.Text = Password.InitialPassword = m_wrapper.BackupPassword;

                Password.AskToEnterNewPassword = !string.IsNullOrEmpty(m_wrapper.BackupPassword);

                m_settingsChanged = false;

                if (Program.DataConnection.GetObjects<Schedule>().Length == 0)
                    UseSettingsAsDefault.Checked = true;
            }

            bool tmp = m_settingsChanged;

            for (int i = 0; i < EncryptionModule.Items.Count; i++)
                if (((ComboBoxItemPair<Library.Interface.IEncryption>)EncryptionModule.Items[i]).Value.FilenameExtension == m_wrapper.EncryptionModule)
                {
                    EncryptionModule.SelectedIndex = i;
                    break;
                }

            //Force update of UI
            EncryptionModule_SelectedIndexChanged(EncryptionModule, null);
            m_settingsChanged = tmp;

            m_wrapper.PasswordSettingsUI.WarnedNoPassword = hasWarnedNoPassword;
            if (m_settings.ContainsKey("Password:WarnedChanged"))
                m_warnedChanged = (bool)m_settings["Password:WarnedChanged"];
            if (m_settings.ContainsKey("Password:NewPasswordGenerated"))
                m_hasGeneratedNewPassword = (bool)m_settings["Password:NewPasswordGenerated"];
            if (m_settings.ContainsKey("Password:AskToEnterNewPassword"))
                Password.AskToEnterNewPassword = (bool)m_settings.ContainsKey("Password:AskToEnterNewPassword");
            if (m_settings.ContainsKey("Password:InitialPassword"))
                Password.InitialPassword = (string)m_settings["Password:InitialPassword"];
            if (m_settings.ContainsKey("Password:Password"))
                Password.Text = (string)m_settings["Password:Password"];
            if (m_settings.ContainsKey("Password:SettingsChanged"))
                m_settingsChanged = (bool)m_settings["Password:SettingsChanged"];

            if (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.RestoreSetup || m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Restore)
            {
                PasswordHelptext.Visible =
                GeneratePasswordButton.Visible =
                EncryptionModuleLabel.Visible =
                EncryptionModule.Visible =
                EncryptionControlContainer.Visible =
                UseSettingsAsDefault.Visible = false;

                EnablePassword.Text = Strings.PasswordSettings.EnablePasswordRestoreText;
            }
        }
Esempio n. 33
0
        void ThrottleOptions_PageEnter(object sender, System.Windows.Forms.Wizard.PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);
            if (!m_valuesAutoLoaded)
            {
                Bandwidth.UploadLimit = m_wrapper.UploadSpeedLimit;
                Bandwidth.DownloadLimit = m_wrapper.DownloadSpeedLimit;

                if (string.IsNullOrEmpty(m_wrapper.BackupSizeLimit) || Library.Utility.Sizeparser.ParseSize(m_wrapper.BackupSizeLimit) == 0)
                    BackupLimitEnabled.Checked = false;
                else
                {
                    BackupLimitEnabled.Checked = true;
                    BackupLimit.CurrentSize = m_wrapper.BackupSizeLimit;
                }

                VolumeSize.CurrentSize = m_wrapper.VolumeSize;

                AsyncEnabled.Checked = m_wrapper.AsyncTransfer;
                ThreadPriorityPicker.SelectedPriority = string.IsNullOrEmpty(m_wrapper.ThreadPriority) ? null : (System.Threading.ThreadPriority?)Library.Utility.Utility.ParsePriority(m_wrapper.ThreadPriority);
            }
        }
Esempio n. 34
0
        public static List <Library.Interface.ICommandLineArgument> GetModuleOptions(WizardSettingsWrapper wrapper, Control parent)
        {
            List <Library.Interface.ICommandLineArgument> res = new List <Library.Interface.ICommandLineArgument>();

            try
            {
                res.AddRange(Library.DynamicLoader.BackendLoader.GetSupportedCommands(wrapper.Backend));
            }
            catch (Exception ex)
            {
                if (parent != null)
                {
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.BackendLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }


            try
            {
                res.AddRange(Library.DynamicLoader.EncryptionLoader.GetSupportedCommands(wrapper.EncryptionModule));
            }
            catch (Exception ex)
            {
                if (parent != null)
                {
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.EncryptionLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            try
            {
                res.AddRange(Library.DynamicLoader.CompressionLoader.GetSupportedCommands(wrapper.CompressionModule));
            }
            catch (Exception ex)
            {
                if (parent != null)
                {
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.CompressionLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            try
            {
                foreach (Library.Interface.IGenericModule m in Library.DynamicLoader.GenericLoader.Modules)
                {
                    if (m.SupportedCommands != null)
                    {
                        res.AddRange(m.SupportedCommands);
                    }
                }
            }
            catch (Exception ex)
            {
                if (parent != null)
                {
                    MessageBox.Show(parent, string.Format(Strings.SettingOverrides.GenericModuleLoadError, ex), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            return(res);
        }
Esempio n. 35
0
        void FinishedAdd_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            List<KeyValuePair<string, string>> strings = new List<KeyValuePair<string, string>>();
            if (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Add)
                strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryAction, Strings.FinishedAdd.SummaryActionAdd));
            else
                strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryAction, Strings.FinishedAdd.SummaryActionModify));

            strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummarySourceFolder, m_wrapper.SourcePath));
            strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryWhen, m_wrapper.BackupTimeOffset.ToString()));
            if (!string.IsNullOrEmpty(m_wrapper.RepeatInterval))
                strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryRepeat, m_wrapper.RepeatInterval));
            if (!string.IsNullOrEmpty(m_wrapper.FullBackupInterval))
                strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryFullBackupEach, m_wrapper.FullBackupInterval));
            if (m_wrapper.MaxFullBackups > 0)
                strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryKeepFullBackups, m_wrapper.MaxFullBackups.ToString()));

            strings.Add(new KeyValuePair<string, string>(null, null));
            strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestination, m_wrapper.Backend.ToString()));

            //TODO: Figure out how to make a summary

            /*switch(m_wrapper.Backend)
            {
                case WizardSettingsWrapper.BackendType.File:
                    FileSettings file = new FileSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, file.Path));
                    break;
                case WizardSettingsWrapper.BackendType.FTP:
                    FTPSettings ftp = new FTPSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, ftp.Server + "/" + ftp.Path));
                    break;
                case WizardSettingsWrapper.BackendType.SSH:
                    SSHSettings ssh = new SSHSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, ssh.Server + "/" + ssh.Path));
                    break;
                case WizardSettingsWrapper.BackendType.S3:
                    S3Settings s3 = new S3Settings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, s3.Path));
                    break;
                case WizardSettingsWrapper.BackendType.WebDav:
                    WEBDAVSettings webdav = new WEBDAVSettings(m_wrapper);
                    strings.Add(new KeyValuePair<string, string>(Strings.FinishedAdd.SummaryDestinationPath, webdav.Path));
                    break;
            }*/

            int maxlen = 0;
            foreach (KeyValuePair<string, string> i in strings)
                if (i.Key != null)
                    maxlen = Math.Max(maxlen, i.Key.Length);

            System.Text.StringBuilder sb = new StringBuilder();
            foreach (KeyValuePair<string, string> i in strings)
                if (i.Key == null)
                    sb.Append("\r\n");
                else
                    sb.Append(i.Key + ": " + new String(' ', maxlen - i.Key.Length) + i.Value + "\r\n");

            Summary.Text = sb.ToString();

            args.TreatAsLast = true;

            CommandLine.Text = "";
            Tabs.SelectedTab = TabSummary;
        }
Esempio n. 36
0
        void PasswordSettings_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);
            bool hasWarnedNoPassword = m_wrapper.PasswordSettingsUI.WarnedNoPassword;

            if (!m_valuesAutoLoaded)
            {
                EnablePassword.Checked = !string.IsNullOrEmpty(m_wrapper.BackupPassword) || (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Add || m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.RestoreSetup || m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Restore);
                Password.Text          = Password.InitialPassword = m_wrapper.BackupPassword;

                Password.AskToEnterNewPassword = !string.IsNullOrEmpty(m_wrapper.BackupPassword);

                m_settingsChanged = false;

                if (Program.DataConnection.GetObjects <Schedule>().Length == 0)
                {
                    UseSettingsAsDefault.Checked = true;
                }
            }

            bool tmp = m_settingsChanged;

            for (int i = 0; i < EncryptionModule.Items.Count; i++)
            {
                if (((ComboBoxItemPair <Library.Interface.IEncryption>)EncryptionModule.Items[i]).Value.FilenameExtension == m_wrapper.EncryptionModule)
                {
                    EncryptionModule.SelectedIndex = i;
                    break;
                }
            }

            //Force update of UI
            EncryptionModule_SelectedIndexChanged(EncryptionModule, null);
            m_settingsChanged = tmp;

            m_wrapper.PasswordSettingsUI.WarnedNoPassword = hasWarnedNoPassword;
            if (m_settings.ContainsKey("Password:WarnedChanged"))
            {
                m_warnedChanged = (bool)m_settings["Password:WarnedChanged"];
            }
            if (m_settings.ContainsKey("Password:NewPasswordGenerated"))
            {
                m_hasGeneratedNewPassword = (bool)m_settings["Password:NewPasswordGenerated"];
            }
            if (m_settings.ContainsKey("Password:AskToEnterNewPassword"))
            {
                Password.AskToEnterNewPassword = (bool)m_settings.ContainsKey("Password:AskToEnterNewPassword");
            }
            if (m_settings.ContainsKey("Password:InitialPassword"))
            {
                Password.InitialPassword = (string)m_settings["Password:InitialPassword"];
            }
            if (m_settings.ContainsKey("Password:Password"))
            {
                Password.Text = (string)m_settings["Password:Password"];
            }
            if (m_settings.ContainsKey("Password:SettingsChanged"))
            {
                m_settingsChanged = (bool)m_settings["Password:SettingsChanged"];
            }

            if (m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.RestoreSetup || m_wrapper.PrimayAction == WizardSettingsWrapper.MainAction.Restore)
            {
                PasswordHelptext.Visible              =
                    GeneratePasswordButton.Visible    =
                        EncryptionModuleLabel.Visible =
                            EncryptionModule.Visible  =
                                EncryptionControlContainer.Visible =
                                    UseSettingsAsDefault.Visible   = false;

                EnablePassword.Text = Strings.PasswordSettings.EnablePasswordRestoreText;
            }
        }
Esempio n. 37
0
 void MainPage_PageEnter(object sender, PageChangedArgs args)
 {
     m_wrapper = new WizardSettingsWrapper(m_settings);
     UpdateButtonState();
     args.TreatAsLast = false;
 }
Esempio n. 38
0
        void SelectFiles_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);
            m_owner.Cancelled += new CancelEventHandler(m_owner_Cancelled);

            if (m_settings.ContainsKey("Files:Sizes"))
                m_sizes = (Dictionary<string, long>)m_settings["Files:Sizes"];

            if (!m_valuesAutoLoaded)
            {
                if (m_wrapper.SelectFilesUI.Version < 2)
                {
                    //Either upgrade or fresh copy
                    if (string.IsNullOrEmpty(m_wrapper.SourcePath))
                    {
                        //Set defaults
                        DocumentsRadio.Checked = true;
                        IncludeDocuments.Checked = true;
                        IncludeImages.Checked = true;
                        IncludeMusic.Checked = false;
                        IncludeDesktop.Checked = true;
                        IncludeSettings.Checked = false;

                    }
                    else
                        UpgradeFromVersionOne();
                }
                else
                {
                    //Multifolder version
                    if (m_wrapper.SelectFilesUI.UseSimpleMode)
                    {
                        IncludeDocuments.Checked = m_wrapper.SelectFilesUI.IncludeDocuments;
                        IncludeImages.Checked = m_wrapper.SelectFilesUI.IncludeImages;
                        IncludeMusic.Checked = m_wrapper.SelectFilesUI.IncludeMusic;
                        IncludeDesktop.Checked = m_wrapper.SelectFilesUI.IncludeDesktop;
                        IncludeSettings.Checked = m_wrapper.SelectFilesUI.IncludeSettings;
                        DocumentsRadio.Checked = true;
                    }
                    else
                    {
                        FolderRadio.Checked = true;
                    }
                }
            }

            //Always populate the list
            InnerControlContainer.Controls.Clear();
            if (!string.IsNullOrEmpty(m_wrapper.SourcePath))
                foreach (string s in m_wrapper.SourcePath.Split(System.IO.Path.PathSeparator))
                    if (!string.IsNullOrEmpty(s))
                        AddFolderControl().SelectedPath = s;

            Rescan();

            //Make sure we resize correctly
            TargetType_CheckedChanged(null, null);
        }
Esempio n. 39
0
        void GUIContainer_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);
            m_backendOptions = m_wrapper.BackendSettings;

            //We inject a marker option here so the backend can make
            // intelligent testing based on the current action
            string marker;
            switch (m_wrapper.PrimayAction)
            {
                case WizardSettingsWrapper.MainAction.Add:
                    marker = "add";
                    break;
                case WizardSettingsWrapper.MainAction.Edit:
                    marker = "edit";
                    break;
                case WizardSettingsWrapper.MainAction.Restore:
                case WizardSettingsWrapper.MainAction.RestoreSetup:
                    marker = "restore";
                    break;
                default:
                    marker = "unknown";
                    break;
            }
            m_backendOptions[ACTION_MARKER] = marker;

            m_control = m_interface.GetControl(m_wrapper.ApplicationSettings, m_backendOptions);
            m_control.SetBounds(0, 0, this.Width, this.Height);
            m_control.Visible = true;
            this.Controls.Clear();
            this.Controls.Add(m_control);
        }
Esempio n. 40
0
        void SelectWhen_PageEnter(object sender, PageChangedArgs args)
        {
            m_wrapper = new WizardSettingsWrapper(m_settings);

            bool hasWarnedNoSchedule         = m_wrapper.SelectWhenUI.HasWarnedNoSchedule;
            bool HasWarnedTooManyIncremental = m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental;
            bool hasWarnedNoIncrementals     = m_wrapper.SelectWhenUI.HasWarnedNoIncrementals;

            DayOfWeek d = System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.FirstDayOfWeek;

            CheckBox[] chks = new CheckBox[] { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
            Label[]    lbls = new Label[] { Day1Label, Day2Label, Day3Label, Day4Label, Day5Label, Day6Label, Day7Label };

            int spacing = AllowedDaysPanel.Width / 7;
            int offset  = spacing / 2;

            for (int i = 0; i < 7; i++)
            {
                int index = (((int)d) + i) % 7;
                chks[index].Left = offset + (spacing * i);
                lbls[index].Text = System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.AbbreviatedDayNames[index];
                lbls[index].Left = chks[index].Left + (chks[index].Width / 2) - (lbls[index].Width / 2);
            }


            if (!m_valuesAutoLoaded)
            {
                OffsetDate.Value      = m_wrapper.BackupTimeOffset;
                OffsetTime.Value      = m_wrapper.BackupTimeOffset;
                ScheduleRadio.Checked = !string.IsNullOrEmpty(m_wrapper.RepeatInterval);
                if (string.IsNullOrEmpty(m_wrapper.RepeatInterval))
                {
                    RepeatInterval.Value = "1D";
                }
                else
                {
                    RepeatInterval.Value = m_wrapper.RepeatInterval;
                }
                NoScheduleRadio.Checked = !ScheduleRadio.Checked;

                if (m_wrapper.AllowedWeekdays == null || m_wrapper.AllowedWeekdays.Length == 0)
                {
                    foreach (CheckBox c in chks)
                    {
                        c.Checked = true;
                    }
                }
                else
                {
                    foreach (CheckBox c in chks)
                    {
                        c.Checked = false;
                    }

                    foreach (DayOfWeek day in m_wrapper.AllowedWeekdays)
                    {
                        chks[(int)day].Checked = true;
                    }
                }

                if (string.IsNullOrEmpty(m_wrapper.FullBackupInterval))
                {
                    NeverFullRadio.Checked = true;
                    FullDuration.Value     = "1M";
                }
                else if (m_wrapper.FullBackupInterval.Equals("1s")) //TODO: Is this the best way?
                {
                    AlwaysFullRadio.Checked = true;
                    FullDuration.Value      = "1M";
                }
                else
                {
                    IncrementalPeriodRadio.Checked = true;
                    FullDuration.Value             = m_wrapper.FullBackupInterval;
                }
            }

            m_wrapper.SelectWhenUI.HasWarnedNoSchedule         = hasWarnedNoSchedule;
            m_wrapper.SelectWhenUI.HasWarnedNoIncrementals     = hasWarnedNoIncrementals;
            m_wrapper.SelectWhenUI.HasWarnedTooManyIncremental = HasWarnedTooManyIncremental;
        }