public UploadsControl(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            m_MainForm = mainForm;
            InitializeComponent();
            uploadsDataGridView.Sort(uploadsDataGridView.Columns["Progress"], ListSortDirection.Descending);

            //2008-07-28 Nochbaer BZ 56 load order of columns
            try
            {
                uploadsDataGridView.Columns["FileName"].DisplayIndex = Int32.Parse(m_Settings["uploadsFileNameIndex"]);
                uploadsDataGridView.Columns["FileName"].FillWeight = float.Parse(m_Settings["uploadsFileNameWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                uploadsDataGridView.Columns["FileSize"].DisplayIndex = Int32.Parse(m_Settings["uploadsFileSizeIndex"]);
                uploadsDataGridView.Columns["FileSize"].FillWeight = float.Parse(m_Settings["uploadsFileSizeWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                uploadsDataGridView.Columns["Completed"].DisplayIndex = Int32.Parse(m_Settings["uploadsCompletedIndex"]);
                uploadsDataGridView.Columns["Completed"].FillWeight = float.Parse(m_Settings["uploadsCompletedWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                uploadsDataGridView.Columns["Progress"].DisplayIndex = Int32.Parse(m_Settings["uploadsProgressIndex"]);
                uploadsDataGridView.Columns["Progress"].FillWeight = float.Parse(m_Settings["uploadsProgressWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                uploadsDataGridView.Columns["Remaining"].DisplayIndex = Int32.Parse(m_Settings["uploadsRemainingIndex"]);
                uploadsDataGridView.Columns["Remaining"].FillWeight = float.Parse(m_Settings["uploadsRemainingWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                uploadsDataGridView.Columns["lastRequest"].DisplayIndex = Int32.Parse(m_Settings["uploadslastRequestIndex"]);
                uploadsDataGridView.Columns["lastRequest"].FillWeight = float.Parse(m_Settings["uploadslastRequestWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error loading style of columns\n\n" + ex.Message, "UploadsControl", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            m_start = false;
        }
 public PreferencesDialog(MainForm mainForm)
 {
     RShare.MainForm.SetUILanguage();
     InitializeComponent();
     m_PreferencesControl = new PreferencesControl(mainForm);
     m_PreferencesControl.Dock = DockStyle.Fill;
     m_DirectoriesControl = new DirectoriesControl();
     m_DirectoriesControl.Dock = DockStyle.Fill;
     m_MiscControl = new MiscControl();
     m_MiscControl.Dock = DockStyle.Fill;
     m_AboutControl = new AboutControl();
     m_AboutControl.Dock = DockStyle.Fill;
     toolStripStatusLabel.Text = Properties.Resources.RestartAfterChanges;
     switch (m_Settings["PreferencesDialogLastTab"])
     {
         case "1":
             directoriesToolStripButton.PerformClick();
             break;
         case "2":
             miscToolStripButton.PerformClick();
             break;
         case "3":
             aboutToolStripButton.PerformClick();
             break;
         default:
             preferencesToolStripButton.PerformClick();
             break;
     }
 }
        public QuickInformationDialog(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            InitializeComponent();
            m_MainForm = mainForm;
            Left = Screen.PrimaryScreen.Bounds.Width - (int)((float)Width * 1.25F);
            Top = Screen.PrimaryScreen.Bounds.Height - (int)((float)Height * 1.25F);
        }
        public SharedFilesControl(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            m_MainForm = mainForm;
            InitializeComponent();
            sharedFilesDataGridView.Sort(sharedFilesDataGridView.Columns["FileName"], ListSortDirection.Ascending);
            SharedFileInformationDialog.Initialize(sharedFilesDataGridView);
            // select always the first entry for the search
            columnComboBox.SelectedIndex = 0;
            // display nummer of shared files
            sharedFilesLabel.Text = string.Format(Properties.Resources.SharedFiles, 0, Core.SharedFiles.Count);

            //2008-07-28 Nochbaer BZ 56 load order of columns
            try
            {
                sharedFilesDataGridView.Columns["Icon"].DisplayIndex = Int32.Parse(m_Settings["sharedIconIndex"]);
                sharedFilesDataGridView.Columns["Icon"].FillWeight = float.Parse(m_Settings["sharedIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["RatingIcon"].DisplayIndex = Int32.Parse(m_Settings["sharedRatingIconIndex"]);
                sharedFilesDataGridView.Columns["RatingIcon"].FillWeight = float.Parse(m_Settings["sharedRatingIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["FileName"].DisplayIndex = Int32.Parse(m_Settings["sharedFileNameIndex"]);
                sharedFilesDataGridView.Columns["FileName"].FillWeight = float.Parse(m_Settings["sharedFileNameWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["FileSize"].DisplayIndex = Int32.Parse(m_Settings["sharedFileSizeIndex"]);
                sharedFilesDataGridView.Columns["FileSize"].FillWeight = float.Parse(m_Settings["sharedFileSizeWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["Directory"].DisplayIndex = Int32.Parse(m_Settings["sharedDirectoryIndex"]);
                sharedFilesDataGridView.Columns["Directory"].FillWeight = float.Parse(m_Settings["sharedDirectoryWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["Album"].DisplayIndex = Int32.Parse(m_Settings["sharedAlbumIndex"]);
                sharedFilesDataGridView.Columns["Album"].FillWeight = float.Parse(m_Settings["sharedAlbumWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["Artist"].DisplayIndex = Int32.Parse(m_Settings["sharedArtistIndex"]);
                sharedFilesDataGridView.Columns["Artist"].FillWeight = float.Parse(m_Settings["sharedArtistWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["Title"].DisplayIndex = Int32.Parse(m_Settings["sharedTitleIndex"]);
                sharedFilesDataGridView.Columns["Title"].FillWeight = float.Parse(m_Settings["sharedTitleWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sharedFilesDataGridView.Columns["lastRequest"].DisplayIndex = Int32.Parse(m_Settings["sharedlastRequestIndex"]);
                sharedFilesDataGridView.Columns["lastRequest"].FillWeight = float.Parse(m_Settings["sharedlastRequestWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error loading style of columns\n\n" + ex.Message, "SharedFilesControl", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            m_start = false;
        }
        public StatisticsControl(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            m_MainForm = mainForm;
            InitializeComponent();
            downloadGraphsControl.BorderPen.Color = downloadGraphsControl.XGridLinesPen.Color = downloadGraphsControl.YGridLinesPen.Color = downloadGraphsControl.ForeColor = Color.FromArgb(192, 192, 255);
            downloadGraphsControl.BackColor = Color.FromArgb(0, 0, 64);
            downloadGraphsControl.Graphs.Add(new Regensburger.RShare.GraphsControl.Graph());
            downloadGraphsControl.Graphs[0].Pen.Color = Color.FromArgb(0, 192, 64);
            downloadGraphsControl.Graphs[0].Description = Properties.Resources.Statistics_Average1Minute;
            downloadGraphsControl.Graphs[0].ValuesToShow = 300;
            downloadGraphsControl.Graphs[0].DrawFromRightToLeft = true;
            downloadGraphsControl.Graphs.Add(new GraphsControl.Graph());
            downloadGraphsControl.Graphs[1].Pen.Color = Color.FromArgb(0, 128, 64);
            downloadGraphsControl.Graphs[1].Description = Properties.Resources.Statistics_Average;
            downloadGraphsControl.Graphs[1].ValuesToShow = 300;
            downloadGraphsControl.Graphs[1].DrawFromRightToLeft = true;
            uploadGraphsControl.BorderPen.Color = uploadGraphsControl.XGridLinesPen.Color = uploadGraphsControl.YGridLinesPen.Color = uploadGraphsControl.ForeColor = Color.FromArgb(192, 192, 255);
            uploadGraphsControl.BackColor = Color.FromArgb(0, 0, 64);
            uploadGraphsControl.Graphs.Add(new GraphsControl.Graph());
            uploadGraphsControl.Graphs[0].Pen.Color = Color.FromArgb(192, 0, 64);
            uploadGraphsControl.Graphs[0].Description = Properties.Resources.Statistics_Average1Minute;
            uploadGraphsControl.Graphs[0].ValuesToShow = 300;
            uploadGraphsControl.Graphs[0].DrawFromRightToLeft = true;
            uploadGraphsControl.Graphs.Add(new GraphsControl.Graph());
            uploadGraphsControl.Graphs[1].Pen.Color = Color.FromArgb(128, 0, 64);
            uploadGraphsControl.Graphs[1].Description = Properties.Resources.Statistics_Average;
            uploadGraphsControl.Graphs[1].ValuesToShow = 300;
            uploadGraphsControl.Graphs[1].DrawFromRightToLeft = true;
            connectionsGraphsControl.BorderPen.Color = connectionsGraphsControl.XGridLinesPen.Color = connectionsGraphsControl.YGridLinesPen.Color = connectionsGraphsControl.ForeColor = Color.FromArgb(192, 192, 255);
            connectionsGraphsControl.BackColor = Color.FromArgb(0, 0, 64);
            connectionsGraphsControl.Graphs.Add(new GraphsControl.Graph());
            connectionsGraphsControl.Graphs[0].Pen.Color = Color.FromArgb(128, 192, 255);
            connectionsGraphsControl.Graphs[0].Description = Properties.Resources.Statistics_Current;
            connectionsGraphsControl.Graphs[0].ValuesToShow = 300;
            connectionsGraphsControl.Graphs[0].DrawFromRightToLeft = true;
            connectionsGraphsControl.DrawOnlyIntegers = true;
        }
        public ConnectionsControl(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            m_MainForm = mainForm;
            RShare.MainForm.SetUILanguage();
            InitializeComponent();
            connectionsDataGridView.Sort(connectionsDataGridView.Columns["IPAddress"], ListSortDirection.Ascending);

            //2008-07-28 Nochbaer BZ 56 load order of columns
            try
            {
                connectionsDataGridView.Columns["Icon"].DisplayIndex = Int32.Parse(m_Settings["connectionsIconIndex"]);
                connectionsDataGridView.Columns["Icon"].FillWeight = float.Parse(m_Settings["connectionsIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                connectionsDataGridView.Columns["IPAddress"].DisplayIndex = Int32.Parse(m_Settings["connectionsIPAddressIndex"]);
                connectionsDataGridView.Columns["IPAddress"].FillWeight = float.Parse(m_Settings["connectionsIPAddressWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                connectionsDataGridView.Columns["Port"].DisplayIndex = Int32.Parse(m_Settings["connectionsPortIndex"]);
                connectionsDataGridView.Columns["Port"].FillWeight = float.Parse(m_Settings["connectionsPortWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                connectionsDataGridView.Columns["Sent"].DisplayIndex = Int32.Parse(m_Settings["connectionsSentIndex"]);
                connectionsDataGridView.Columns["Sent"].FillWeight = float.Parse(m_Settings["connectionsSentWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                connectionsDataGridView.Columns["Received"].DisplayIndex = Int32.Parse(m_Settings["connectionsReceivedIndex"]);
                connectionsDataGridView.Columns["Received"].FillWeight = float.Parse(m_Settings["connectionsReceivedWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                connectionsDataGridView.Columns["SentCommands"].DisplayIndex = Int32.Parse(m_Settings["connectionsSentCommandsIndex"]);
                connectionsDataGridView.Columns["SentCommands"].FillWeight = float.Parse(m_Settings["connectionsSentCommandsWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                connectionsDataGridView.Columns["ReceivedCommands"].DisplayIndex = Int32.Parse(m_Settings["connectionsReceivedCommandsIndex"]);
                connectionsDataGridView.Columns["ReceivedCommands"].FillWeight = float.Parse(m_Settings["connectionsReceivedCommandsWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                connectionsDataGridView.Columns["EnqueuedCommands"].DisplayIndex = Int32.Parse(m_Settings["connectionsEnqueuedCommandsIndex"]);
                connectionsDataGridView.Columns["EnqueuedCommands"].FillWeight = float.Parse(m_Settings["connectionsEnqueuedCommandsWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error loading style of columns\n\n" + ex.Message, "ConnectionsControl", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            m_start = false;
        }
        public DownloadsControl(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            m_MainForm = mainForm;

            // Added 2007-05-20 by markus for MUI support
            RShare.MainForm.SetUILanguage();
            InitializeComponent();
            downloadsDataGridView.Sort(downloadsDataGridView.Columns["ProgressImage"], ListSortDirection.Descending);
            sourcesDataGridView.Sort(sourcesDataGridView.Columns["Queue"], ListSortDirection.Ascending);
            DownloadInformationDialog.Initialize(downloadsDataGridView);

            //2008-07-28 Nochbaer BZ 56 load order of columns
            try
            {
                splitContainer.SplitterDistance = (Int32.Parse(m_Settings["downloadsSplitterDistance"]) * this.Height) / 100;

                downloadsDataGridView.Columns["DownloadIcon"].DisplayIndex = Int32.Parse(m_Settings["downloadsDownloadIconIndex"]);
                downloadsDataGridView.Columns["DownloadIcon"].FillWeight = float.Parse(m_Settings["downloadsDownloadIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["RatingIcon"].DisplayIndex = Int32.Parse(m_Settings["downloadsRatingIconIndex"]);
                downloadsDataGridView.Columns["RatingIcon"].FillWeight = float.Parse(m_Settings["downloadsRatingIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["FileName"].DisplayIndex = Int32.Parse(m_Settings["downloadsFileNameIndex"]);
                downloadsDataGridView.Columns["FileName"].FillWeight = float.Parse(m_Settings["downloadsFileNameWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["FileSize"].DisplayIndex = Int32.Parse(m_Settings["downloadsFileSizeIndex"]);
                downloadsDataGridView.Columns["FileSize"].FillWeight = float.Parse(m_Settings["downloadsFileSizeWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["Completed"].DisplayIndex = Int32.Parse(m_Settings["downloadsCompletedIndex"]);
                downloadsDataGridView.Columns["Completed"].FillWeight = float.Parse(m_Settings["downloadsCompletedWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["ProgressImage"].DisplayIndex = Int32.Parse(m_Settings["downloadsProgressImageIndex"]);
                downloadsDataGridView.Columns["ProgressImage"].FillWeight = float.Parse(m_Settings["downloadsProgressImageWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["Status"].DisplayIndex = Int32.Parse(m_Settings["downloadsStatusIndex"]);
                downloadsDataGridView.Columns["Status"].FillWeight = float.Parse(m_Settings["downloadsStatusWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["Sources"].DisplayIndex = Int32.Parse(m_Settings["downloadsSourcesIndex"]);
                downloadsDataGridView.Columns["Sources"].FillWeight = float.Parse(m_Settings["downloadsSourcesWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["Remaining"].DisplayIndex = Int32.Parse(m_Settings["downloadsRemainingIndex"]);
                downloadsDataGridView.Columns["Remaining"].FillWeight = float.Parse(m_Settings["downloadsRemainingWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["lastSeen"].DisplayIndex = Int32.Parse(m_Settings["downloadslastSeenIndex"]);
                downloadsDataGridView.Columns["lastSeen"].FillWeight = float.Parse(m_Settings["downloadslastSeenWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                downloadsDataGridView.Columns["lastReception"].DisplayIndex = Int32.Parse(m_Settings["downloadslastReceptionIndex"]);
                downloadsDataGridView.Columns["lastReception"].FillWeight = float.Parse(m_Settings["downloadslastReceptionWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));

                sourcesDataGridView.Columns["SourceIcon"].DisplayIndex = Int32.Parse(m_Settings["sourcesSourceIconIndex"]);
                sourcesDataGridView.Columns["SourceIcon"].FillWeight = float.Parse(m_Settings["sourcesSourceIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sourcesDataGridView.Columns["TypeIcon"].DisplayIndex = Int32.Parse(m_Settings["sourcesTypeIconIndex"]);
                sourcesDataGridView.Columns["TypeIcon"].FillWeight = float.Parse(m_Settings["sourcesTypeIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sourcesDataGridView.Columns["Type"].DisplayIndex = Int32.Parse(m_Settings["sourcesTypeIndex"]);
                sourcesDataGridView.Columns["Type"].FillWeight = float.Parse(m_Settings["sourcesTypeWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sourcesDataGridView.Columns["Queue"].DisplayIndex = Int32.Parse(m_Settings["sourcesQueueIndex"]);
                sourcesDataGridView.Columns["Queue"].FillWeight = float.Parse(m_Settings["sourcesQueueWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sourcesDataGridView.Columns["SentCommands"].DisplayIndex = Int32.Parse(m_Settings["sourcesSentCommandsIndex"]);
                sourcesDataGridView.Columns["SentCommands"].FillWeight = float.Parse(m_Settings["sourcesSentCommandsWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                sourcesDataGridView.Columns["ReceivedCommands"].DisplayIndex = Int32.Parse(m_Settings["sourcesReceivedCommandsIndex"]);
                sourcesDataGridView.Columns["ReceivedCommands"].FillWeight = float.Parse(m_Settings["sourcesReceivedCommandsWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));

            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error loading style of columns\n\n" + ex.Message, "DownloadsControl", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            m_start = false;
        }
        private void IsLoadingDialog_FormClosed(object sender, FormClosedEventArgs e)
        {
            m_MainForm = new MainForm();
            m_MainForm.FormClosed += new FormClosedEventHandler(MainForm_FormClosed);
            // T.Norad: BZ 125
            m_MainForm.SetStart();
            m_MainForm.Show();
            m_MainForm.Activate();

            // 2007-10.19 Eroli: Mono-Fix
            if (!UtilitiesForMono.IsRunningOnMono)
            {
                // 2007-10-03 T.Norad: if the client is startet with a stealthnet link (and not startet before)
                // send the stealthnet link to the mainform after activate it
                Program.SendStealthNetLinkToOpenClient(m_Arguments);
            }
        }
        public SearchControl(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            m_MainForm = mainForm;
            RShare.MainForm.SetUILanguage();
            InitializeComponent();
            searchesDataGridView.Sort(searchesDataGridView.Columns["Pattern"], ListSortDirection.Ascending);
            resultsDataGridView.Sort(resultsDataGridView.Columns["Sources"], ListSortDirection.Descending);
            // 2007-05-28 T.Norad
            FileTypeFilterComboBox.Items.Add(new AnyFileType());
            FileTypeFilterComboBox.Items.Add(new ArchiveFileType());
            FileTypeFilterComboBox.Items.Add(new AudioFileType());
            FileTypeFilterComboBox.Items.Add(new CDImageFileType());
            FileTypeFilterComboBox.Items.Add(new DocumentFileType());
            FileTypeFilterComboBox.Items.Add(new ImageFileType());
            FileTypeFilterComboBox.Items.Add(new ProgramFileType());
            FileTypeFilterComboBox.Items.Add(new SNCollectionFileType());
            FileTypeFilterComboBox.Items.Add(new VideoFileType());
            // preselect always the first entry. cause the default filter is AnyType
            FileTypeFilterComboBox.SelectedIndex = 0;
            // 2008-07-15 T.Norad: BZ58 fixed the drop down item count to display all contained items
            FileTypeFilterComboBox.MaxDropDownItems = FileTypeFilterComboBox.Items.Count;

            //2009-02-01 Nochbaer
            SearchTypeComboBox.SelectedIndex = 0;
            if (!bool.Parse(m_Settings["ActivateSearchDB"]))
            {
                SearchTypeComboBox.Enabled = false;
            }

            SearchResultInformationDialog.Initialize(resultsDataGridView);

            //2008-07-28 Nochbaer BZ 56 load order of columns
            try
            {
                splitContainer.SplitterDistance = (Int32.Parse(m_Settings["searchSplitterDistance"]) * this.Width) / 100;

                searchesDataGridView.Columns["Pattern"].DisplayIndex = Int32.Parse(m_Settings["searchesPatternIndex"]);
                searchesDataGridView.Columns["Pattern"].FillWeight = float.Parse(m_Settings["searchesPatternWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                searchesDataGridView.Columns["IsActive"].DisplayIndex = Int32.Parse(m_Settings["searchesIsActiveIndex"]);
                searchesDataGridView.Columns["IsActive"].FillWeight = float.Parse(m_Settings["searchesIsActiveWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                searchesDataGridView.Columns["Results"].DisplayIndex = Int32.Parse(m_Settings["searchesResultsIndex"]);
                searchesDataGridView.Columns["Results"].FillWeight = float.Parse(m_Settings["searchesResultsWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));

                resultsDataGridView.Columns["Icon"].DisplayIndex = Int32.Parse(m_Settings["resultsIconIndex"]);
                resultsDataGridView.Columns["Icon"].FillWeight = float.Parse(m_Settings["resultsIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["RatingIcon"].DisplayIndex = Int32.Parse(m_Settings["resultsRatingIconIndex"]);
                resultsDataGridView.Columns["RatingIcon"].FillWeight = float.Parse(m_Settings["resultsRatingIconWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["FileName"].DisplayIndex = Int32.Parse(m_Settings["resultsFileNameIndex"]);
                resultsDataGridView.Columns["FileName"].FillWeight = float.Parse(m_Settings["resultsFileNameWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["FileSize"].DisplayIndex = Int32.Parse(m_Settings["resultsFileSizeIndex"]);
                resultsDataGridView.Columns["FileSize"].FillWeight = float.Parse(m_Settings["resultsFileSizeWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["Sources"].DisplayIndex = Int32.Parse(m_Settings["resultsSourcesIndex"]);
                resultsDataGridView.Columns["Sources"].FillWeight = float.Parse(m_Settings["resultsSourcesWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["Album"].DisplayIndex = Int32.Parse(m_Settings["resultsAlbumIndex"]);
                resultsDataGridView.Columns["Album"].FillWeight = float.Parse(m_Settings["resultsAlbumWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["Artist"].DisplayIndex = Int32.Parse(m_Settings["resultsArtistIndex"]);
                resultsDataGridView.Columns["Artist"].FillWeight = float.Parse(m_Settings["resultsArtistWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["Title"].DisplayIndex = Int32.Parse(m_Settings["resultsTitleIndex"]);
                resultsDataGridView.Columns["Title"].FillWeight = float.Parse(m_Settings["resultsTitleWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));
                resultsDataGridView.Columns["Age"].DisplayIndex = Int32.Parse(m_Settings["resultsAgeIndex"]);
                resultsDataGridView.Columns["Age"].FillWeight = float.Parse(m_Settings["resultsAgeWidth"], System.Globalization.CultureInfo.CreateSpecificCulture("de-de"));

            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error loading style of columns\n\n" + ex.Message, "SearchControl", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            m_start = false;
        }
        public PreferencesControl(MainForm mainForm)
        {
            if (mainForm == null)
                throw new ArgumentNullException("mainForm");

            InitializeComponent();
            m_MainForm = mainForm;
            if (int.Parse(m_Settings["Port"]) < portNumericUpDown.Minimum)
                m_Settings["Port"] = portNumericUpDown.Minimum.ToString();
            if (int.Parse(m_Settings["Port"]) > portNumericUpDown.Maximum)
                m_Settings["Port"] = portNumericUpDown.Maximum.ToString();
            portNumericUpDown.Value = decimal.Parse(m_Settings["Port"]);
            if (int.Parse(m_Settings["AverageConnectionsCount"]) < 2)
                oneRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 3)
                twoRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 4)
                threeRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 5)
                fourRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 6)
                fiveRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 7)
                sixRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 8)
                sevenRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 9)
                eigthRadioButton.Checked = true;
            else if (int.Parse(m_Settings["AverageConnectionsCount"]) < 10)
                nineRadioButton.Checked = true;
            else
                tenRadioButton.Checked = true;
            int downloadCapacity = int.Parse(m_Settings["DownloadCapacity"]) * 8 / 1024;
            if (downloadCapacity < downloadCapacityNumericUpDown.Minimum)
                downloadCapacity = (int)downloadCapacityNumericUpDown.Minimum;
            if (downloadCapacity > downloadCapacityNumericUpDown.Maximum)
                downloadCapacity = (int)downloadCapacityNumericUpDown.Maximum;
            downloadCapacityNumericUpDown.Value = downloadCapacity;
            int uploadCapacity = int.Parse(m_Settings["UploadCapacity"]) * 8 / 1024;
            if (uploadCapacity < uploadCapacityNumericUpDown.Minimum)
                uploadCapacity = (int)uploadCapacityNumericUpDown.Minimum;
            if (uploadCapacity > uploadCapacityNumericUpDown.Maximum)
                uploadCapacity = (int)uploadCapacityNumericUpDown.Maximum;
            uploadCapacityNumericUpDown.Value = uploadCapacity;
            enableDownloadLimitCheckBox.Checked = bool.Parse(m_Settings["HasDownloadLimit"]);
            int downloadLimit = int.Parse(m_Settings["DownloadLimit"]) * 8 / 1024;
            if (downloadLimit < downloadLimitNumericUpDown.Minimum)
                downloadLimit = (int)downloadLimitNumericUpDown.Minimum;
            if (downloadLimit > downloadLimitNumericUpDown.Maximum)
                downloadLimit = (int)downloadLimitNumericUpDown.Maximum;
            downloadLimitNumericUpDown.Value = downloadLimit;
            enableUploadLimitCheckBox.Checked = bool.Parse(m_Settings["HasUploadLimit"]);
            int uploadLimit = int.Parse(m_Settings["UploadLimit"]) * 8 / 1024;
            if (uploadLimit < uploadLimitNumericUpDown.Minimum)
                uploadLimit = (int)uploadLimitNumericUpDown.Minimum;
            if (uploadLimit > uploadLimitNumericUpDown.Maximum)
                uploadLimit = (int)uploadLimitNumericUpDown.Maximum;
            uploadLimitNumericUpDown.Value = uploadLimit;
            //2008-07-24 Nochbaer: BZ 45
            NewDownloadsToBeginngingOfQueueCheckBox.Checked = bool.Parse(m_Settings["NewDownloadsToBeginngingOfQueue"]);
            progressBarsHaveShadowCheckBox.Checked = bool.Parse(m_Settings["ProgressBarsHaveShadow"]);
            if (int.Parse(m_Settings["ProgressBarsShadow"]) < progressBarsShadowNumericUpDown.Minimum)
                m_Settings["ProgressBarsShadow"] = progressBarsShadowNumericUpDown.Minimum.ToString();
            if (int.Parse(m_Settings["ProgressBarsShadow"]) > progressBarsShadowNumericUpDown.Maximum)
                m_Settings["ProgressBarsShadow"] = progressBarsShadowNumericUpDown.Maximum.ToString();
            progressBarsShadowNumericUpDown.Value = decimal.Parse(m_Settings["ProgressBarsShadow"]);
            progressBarsShowPercentCheckBox.Checked = bool.Parse(m_Settings["ProgressBarsShowPercent"]);
            synchronizeWebCachesCheckBox.Checked = bool.Parse(m_Settings["SynchronizeWebCaches"]);
            showMessageBoxesCheckBox.Checked = bool.Parse(m_Settings["ShowMessageBoxes"]);
            useBytesInsteadOfBitsCheckBox.Checked = bool.Parse(m_Settings["UseBytesInsteadOfBits"]);
            //2008-03-13 Nochbaer
            SubFolderForCollectionsCheckBox.Checked = bool.Parse(m_Settings["SubFoldersForCollections"]);
            //2008-07-22 Nochbaer
            startInTrayCheckBox.Checked = bool.Parse(m_Settings["StartInTray"]);
            ParseCollectionsCheckBox.Checked = bool.Parse(m_Settings["ParseCollections"]);
            autoMoveCheckBox.Checked = bool.Parse(m_Settings["AutoMoveDownloads"]);
            autoMoveNumericUpDown.Value = Int32.Parse(m_Settings["AutoMoveDownloadsIntervall"]);
        }