コード例 #1
0
        /**
         * Fills the toMigrationCombo ComboBox data.
         */
        public static void FillTargetMigrationComboOptions()
        {
            ComboBox migrateSourceCombo = MainForm.GetMigrateSourceCombo();
            ComboBox migrateTargetCombo = MainForm.GetMigrateTargetCombo();

            if (migrateTargetCombo.Items.Count <= 0)
            {
                FillMigrationComboOptions(migrateTargetCombo, defaultIgnoreToMigrationItems, true);

                //Making sure we have at least 1 simulator to migrate to, else we exit the program.
                if (migrateTargetCombo.Items.Count == 0)
                {
                    MessageBox.Show("The program could not identify any simulators to migrate to on this computer.\nThe application will now exit.");
                    Application.Exit();
                }

                //We don't need to return because we want to check if we need to remove un-needed options from the "from" combo box.
            }

            int ignoreID = 0;
            int currentMigrateFromSelectedValue = GetSelectedItemValue(migrateSourceCombo);

            if (migrateTargetCombo.SelectedIndex >= 0)
            {
                SimulatorOption selectedItem = GetSelectedItem(migrateTargetCombo);

                foreach (SimulatorOption migrateFromComboItem in migrateSourceCombo.Items)
                {
                    if (selectedItem.Equals(migrateFromComboItem))
                    {
                        ignoreID = selectedItem.GetValue();
                    }
                }
            }

            if (ignoreID > 0)
            {
                int defaultLength = defaultIgnoreFromMigrationItems.Length;

                int[] ignoreIDs = new int[defaultLength + 1];
                defaultIgnoreFromMigrationItems.CopyTo(ignoreIDs, 0);
                ignoreIDs[defaultLength] = ignoreID;

                FillMigrationComboOptions(migrateSourceCombo, ignoreIDs, false);
            }
            else
            {
                FillMigrationComboOptions(migrateSourceCombo, defaultIgnoreFromMigrationItems, false);
            }

            if (SettingsHandler.GetSetting("migrationTarget").Equals("") && migrateTargetCombo.SelectedIndex >= 0 && !defaultTargetChosen)
            {
                SelectItemByVal(migrateTargetCombo, defaultMigrateTo);
                defaultTargetChosen = true;
            }

            SelectItemByVal(migrateSourceCombo, currentMigrateFromSelectedValue);
        }
コード例 #2
0
        /**
         * Fills the fromMigrationCombo ComboBox data.
         */
        public static void FillSourceMigrationComboOptions()
        {
            ComboBox migrateSourceCombo = MainForm.GetMigrateSourceCombo();
            ComboBox migrateTargetCombo = MainForm.GetMigrateTargetCombo();

            if (migrateSourceCombo.Items.Count <= 0)
            {
                FillMigrationComboOptions(migrateSourceCombo, defaultIgnoreFromMigrationItems, false);
                return;
            }

            int ignoreID = 0;
            int currentMigrateToSelectedValue = GetSelectedItemValue(migrateTargetCombo);

            if (migrateSourceCombo.SelectedIndex >= 0)
            {
                SimulatorOption selectedItem = GetSelectedItem(migrateSourceCombo);

                foreach (SimulatorOption migrateToComboItem in migrateTargetCombo.Items)
                {
                    if (selectedItem.Equals(migrateToComboItem))
                    {
                        ignoreID = selectedItem.GetValue();
                        break;
                    }
                }
            }

            if (ignoreID > 0)
            {
                int   defaultLength = defaultIgnoreToMigrationItems.Length;
                int[] ignoreIDs     = new int[defaultLength + 1];

                defaultIgnoreToMigrationItems.CopyTo(ignoreIDs, 0);
                ignoreIDs[defaultLength] = ignoreID;

                FillMigrationComboOptions(migrateTargetCombo, ignoreIDs, true);
            }
            else
            {
                FillMigrationComboOptions(migrateTargetCombo, defaultIgnoreToMigrationItems, true);
            }

            SelectItemByVal(migrateTargetCombo, currentMigrateToSelectedValue);
        }