Exemplo n.º 1
0
        private void FormMain_Load(object sender, EventArgs e)
        {
            try
            {
                //DateTime begin = DateTime.Now;
                updating = true;
                //FormMessage.ShowMessage("Loading XML...");
                Functions.InitXml();
                FillPlatformGrid();
                //FormMessage.ShowMessage("Loading Roms...");

                columnSeries.Visible            = showSeriesToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnRomSeries);
                columnPlatform.Visible          = showPlatformColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnPlatform);
                columnGenre.Visible             = showGenreColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnGenre);
                columnStatus.Visible            = showStatusColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnStatus);
                columnLabels.Visible            = showLabelsColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnLabels);
                columnRomDBName.Visible         = showRomDBNameColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnRomDBName);
                columnFilename.Visible          = showFilenameToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnFileName);
                columnDeveloper.Visible         = showDeveloperColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnDeveloper);
                columnPublisher.Visible         = showPublisherColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnPublisher);
                columnYearReleased.Visible      = showYearReleasedColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnYearReleased);
                columnRating.Visible            = showRatingColumnToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.ColumnRating);
                pictureBoxBoxart.Visible        = showBoxArtToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.BoxArt);
                pictureBoxTitle.Visible         = showTitleToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.TitleArt);
                pictureBoxGameplay.Visible      = showGameplayArtToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.GameplayArt);
                dataGridViewPlatforms.Visible   = showPlatformsListToolStripMenuItem.Checked = ConfigBusiness.GetElementVisibility(Column.PlatformsList);
                flowLayoutPanelPictures.Visible = pictureBoxBoxart.Visible || pictureBoxTitle.Visible || pictureBoxGameplay.Visible;
                //FormMessage.ShowMessage("Filling Grid...");

                FillLabelFilter();
                FillGenreFilter();
                FillPublisherFilter();
                FillDeveloperFilter();
                FillYearReleasedFilter();
                FillStatusFilter();

                updating = true;
                Filter filter = FilterFunctions.GetFilter();

                textBoxFilter.Text = filter.text;

                if (!string.IsNullOrEmpty(filter.textType))
                {
                    comboBoxFilter.Text = filter.textType;
                }

                if (!string.IsNullOrEmpty(filter.platform))
                {
                    comboBoxPlatform.Text = filter.platform;
                }

                if (!string.IsNullOrEmpty(filter.label))
                {
                    comboBoxLabels.Text = filter.label;
                }

                if (!string.IsNullOrEmpty(filter.genre))
                {
                    comboBoxGenre.Text = filter.genre;
                }

                if (!string.IsNullOrEmpty(filter.status))
                {
                    comboBoxStatus.Text = filter.status;
                }

                if (!string.IsNullOrEmpty(filter.developer))
                {
                    comboBoxDeveloper.Text = filter.developer;
                }

                if (!string.IsNullOrEmpty(filter.publisher))
                {
                    comboBoxPublisher.Text = filter.publisher;
                }

                if (!string.IsNullOrEmpty(filter.year))
                {
                    comboBoxYearReleased.Text = filter.year;
                }

                checkBoxFavorite.Checked = filter.favorite;
                checkBoxArcade.Checked   = filter.arcade;
                checkBoxConsole.Checked  = filter.console;
                checkBoxHandheld.Checked = filter.handheld;
                checkBoxCD.Checked       = filter.cd;
                FillPlatformFilter(filter.platform);

                updating = false;

                FilterRoms(filter);
                dataGridView.ClearSelection();

                var height = ConfigBusiness.GetHeight();
                var width  = ConfigBusiness.GetWidth();

                if (!string.IsNullOrEmpty(height) && !string.IsNullOrEmpty(width))
                {
                    this.Height = Convert.ToInt32(height);
                    this.Width  = Convert.ToInt32(width);
                }

                if (string.IsNullOrEmpty(filter.romfile))
                {
                    SelectRandomRom();
                }
                else
                {
                    for (int i = 0; i < dataGridView.Rows.Count; i++)
                    {
                        if (dataGridView.Rows[i].Cells[columnPlatform.Index].Value.ToString() == filter.romplatform &&
                            dataGridView.Rows[i].Cells[columnFilename.Index].Value.ToString() == filter.romfile)
                        {
                            dataGridView.CurrentCell = dataGridView.Rows[i].Cells[0];
                            break;
                        }
                    }
                }

                this.textBoxFilter.TextChanged += new System.EventHandler(this.textBoxFilter_TextChanged);

                try
                {
                    Functions.BackupDB();
                }
                catch (Exception backupEx)
                {
                    FormCustomMessage.ShowError(backupEx.Message);
                }

                //FormMessage.CloseMessage();
                //DateTime end = DateTime.Now;
                //FormCustomMessage.Show((end - begin).ToString());
            }
            catch (Exception ex)
            {
                FormCustomMessage.ShowError(ex.Message);
            }
        }