public frmNumberTracks(int First, int Range) : base(Localization.Get(UI_Key.Number_Tracks_Title), ButtonCreateType.OKAndCancel) { range = Range; this.ClientSize = new System.Drawing.Size(350, 100); lblHeading = new QLabel(Localization.Get(UI_Key.Number_Tracks_Heading)); lblHeading.Location = new System.Drawing.Point(MARGIN, MARGIN); this.Controls.Add(lblHeading); lblHeading.SetWidth(this.ClientRectangle.Width - MARGIN - MARGIN); int ypos = lblHeading.Bottom + SPACING; spnFirst = new QSpin(false, false, Localization.Get(UI_Key.Number_Tracks_First), String.Empty, 1, 200, 1, 1, this.BackColor); spnFirst.Value = First; spnFirst.Location = new System.Drawing.Point(MARGIN + MARGIN, ypos); spnFirst.ValueChanged += valueChanged; this.Controls.Add(spnFirst); ypos = spnFirst.Bottom + SPACING; lblLast = new QLabel(Localization.Get(UI_Key.Number_Tracks_Last, (First + range - 1).ToString())); lblLast.Location = new System.Drawing.Point(MARGIN + MARGIN, ypos); lblLast.SetWidth(this.ClientRectangle.Width - MARGIN - MARGIN - MARGIN); this.Controls.Add(lblLast); ypos = lblLast.Bottom + SPACING; PlaceButtons(this.ClientRectangle.Right, ypos); this.ClientSize = new System.Drawing.Size(this.ClientSize.Width, btnOK.Bottom + MARGIN); spnFirst.Focus(); }
public frmGamepadHelp() : base(Localization.Get(UI_Key.Gamepad_Help_Title), ButtonCreateType.OKOnly) { GamepadEnabled = false; gamePadImage = Styles.BitmapGamePad; this.ClientSize = new Size(gamePadImage.Width + 30, 1000); lblInstructions = new QLabel(Localization.Get(UI_Key.Gamepad_Help_Instructions)); this.Controls.Add(lblInstructions); lblInstructions.Location = new Point(MARGIN, MARGIN); lblInstructions.SetWidth(this.ClientSize.Width - MARGIN - MARGIN); btnOK.Text = Localization.Get(UI_Key.Gamepad_Help_Exit); this.ClientSize = new Size(this.ClientSize.Width, lblInstructions.Bottom + gamePadImage.Height + MARGIN + MARGIN + btnOK.Height + 5); PlaceButtons(this.ClientRectangle.Width, this.ClientRectangle.Height - btnOK.Height - MARGIN); btnOK.BackColor = Color.Black; setupPadLocations(); showMessage(Localization.Get(UI_Key.Gamepad_Help_Press_Button)); }
public frmMonitor() : base(Localization.Get(UI_Key.Auto_Monitor_Title), ButtonCreateType.OKAndCancel) { initialized = false; this.ClientSize = new System.Drawing.Size(590, 300); lblInstructions = new QLabel(Localization.Get(UI_Key.Auto_Monitor_Instructions, Application.ProductName)); lblInstructions.Visible = true; this.Controls.Add(lblInstructions); lstDirectories = new QListBox(true); this.Controls.Add(lstDirectories); btnAdd = new QButton(Localization.Get(UI_Key.Auto_Monitor_Add_Folder), false, false); AddButton(btnAdd, add); btnRemove = new QButton(Localization.Get(UI_Key.Auto_Monitor_Remove_Folder), false, false); AddButton(btnRemove, remove); initialized = true; lstDirectories.TabStop = false; int tabIndex = 0; btnAdd.TabIndex = tabIndex++; btnRemove.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; arrangeControls(); }
public QPodcastDetails(PodcastSubscription Subscription, Callback Done) : base() { this.ps = Subscription; this.doneCallback = Done; lblTitle = new QLabel("Title"); lblURL = new QLabel("URL"); lblGenre = new QLabel("Mark New Episodes with Genre"); txtTitle = new QTextBox(); txtTitle.Width = 1000; // prevent scrolling when text set txtTitle.Text = ps.Name; txtURL = new QTextBox(); txtURL.Text = ps.URL; btnOK = new QButton("Save", false, false); btnCancel = new QButton("Cancel", false, false); AddButton(btnOK, ok); AddButton(btnCancel, cancel); cboGenre = new QComboBox(true); List <string> genres = Database.GetGenres(); if (!genres.Contains(ps.DefaultGenre, StringComparer.OrdinalIgnoreCase)) { genres.Add(ps.DefaultGenre); } genres.Sort(); cboGenre.Items.AddRange(genres.ToArray()); cboGenre.SelectedIndex = genres.FindIndex(g => String.Compare(g, ps.DefaultGenre, StringComparison.OrdinalIgnoreCase) == 0); this.Controls.Add(lblTitle); this.Controls.Add(lblURL); this.Controls.Add(txtTitle); this.Controls.Add(txtURL); this.Controls.Add(lblGenre); this.Controls.Add(cboGenre); buttonWidth = Math.Max(btnOK.Width, btnCancel.Width); btnOK.Width = buttonWidth; btnCancel.Width = buttonWidth; this.Height = calcHeight(); int tabIndex = 0; lblTitle.TabIndex = tabIndex++; txtTitle.TabIndex = tabIndex++; lblURL.TabIndex = tabIndex++; txtURL.TabIndex = tabIndex++; lblGenre.TabIndex = tabIndex++; cboGenre.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; setWrapAroundTabControl(tabIndex, txtTitle, null); }
protected QMessageBox(string Text, string Title, QMessageBoxButtons Buttons, QMessageBoxIcon Icon, QMessageBoxButton DefaultButton) : base(Title, (Buttons == QMessageBoxButtons.OK) ? ButtonCreateType.OKOnly : ButtonCreateType.OKAndCancel) { this.SPACING = 8; this.ClientSize = new Size(400, 300); icon = Icon; int textWidth = TextRenderer.MeasureText(Text, Styles.Font).Width; int iconWidth = (icon == QMessageBoxIcon.None) ? 0 : getIcon().Width + 5; int width; int baseWidth = textWidth + iconWidth; if (baseWidth < 300) width = Math.Max(150, baseWidth + 50); else if (baseWidth > 400) width = 400 + SPACING + iconWidth; else width = 350; lblMain = new QLabel(Text); this.Controls.Add(lblMain); lblMain.Location = new Point(SPACING + iconWidth, SPACING); lblMain.SetWidth(width - lblMain.Left - 2 * SPACING); iconTop = Math.Max(lblMain.Top, lblMain.Top + lblMain.Height / 2 - getIcon().Height); qmbButtons = Buttons; switch (qmbButtons) { case QMessageBoxButtons.OK: btn1 = btnOK; break; case QMessageBoxButtons.OKCancel: btn1 = btnCancel; btn2 = btnOK; break; case QMessageBoxButtons.YesNo: btn1 = btnCancel; btn1.Text = Localization.NO; btn2 = btnOK; btn2.Text = Localization.YES; break; } PlaceButtons(width, lblMain.Bottom + SPACING); this.ClientSize = new Size(width, btn1.Bottom + SPACING); Lib.DoEvents(); Lib.Beep(); defaultButton = DefaultButton; Clock.DoOnMainThread(doFocus); }
public QPodcastAutoManageOptions(Callback DoneCallback) : base() { doneCallback = DoneCallback; lblHeading = new QLabel("Podcast Automanagement Options", Styles.FontBold); this.Controls.Add(lblHeading); lblCheckFreq = new QLabel("Check for new Episodes"); this.Controls.Add(lblCheckFreq); cboRefreshSchedule = new QComboBox(false); cboRefreshSchedule.Items.AddRange(new string[] { "Every 15 Minutes", "Every Half Hour", "Every Hour", "Every Time QuuxPlayer Starts", "Manual Only" }); cboRefreshSchedule.AutoSetWidth(); cboRefreshSchedule.SelectedIndex = (int)Setting.PodcastDownloadSchedule; this.Controls.Add(cboRefreshSchedule); lblDownloadDisposition = new QLabel("When new episodes are found"); this.Controls.Add(lblDownloadDisposition); cboDownloadDisposition = new QComboBox(false); cboDownloadDisposition.Items.AddRange(new string[] { "Download All New Episodes", "Download Latest Episode", "Don't Download" }); cboDownloadDisposition.AutoSetWidth(); cboDownloadDisposition.SelectedIndex = (int)Setting.PodcastDownloadDisposition; this.Controls.Add(cboDownloadDisposition); System.Diagnostics.Debug.Assert(cboRefreshSchedule.Items.Count == (int)PodcastDownloadSchedule.Count); System.Diagnostics.Debug.Assert(cboDownloadDisposition.Items.Count == (int)PodcastDownloadDisposition.Count); /* * spnMaxConcurrentDownloads = new QSpin(false, false, "Maximum Simultaneous Downloads:", String.Empty, 1, 10, 1, 1, this.BackColor); * this.Controls.Add(spnMaxConcurrentDownloads); */ btnOK = new QButton(Localization.OK, false, false); AddButton(btnOK, ok); btnCancel = new QButton(Localization.CANCEL, false, false); AddButton(btnCancel, cancel); //btnOK.Width = btnCancel.Width = (Math.Max(btnOK.Width, btnCancel.Width)); int tabIndex = 0; lblCheckFreq.TabIndex = tabIndex++; cboRefreshSchedule.TabIndex = tabIndex++; lblDownloadDisposition.TabIndex = tabIndex++; cboDownloadDisposition.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; setWrapAroundTabControl(tabIndex, cboRefreshSchedule, null); arrangeControls(); //this.Height = spnMaxConcurrentDownloads.Bottom + MARGIN; this.Height = cboDownloadDisposition.Bottom + MARGIN; }
public frmLock(QLock Lock) : base(Localization.Get(UI_Key.Lock_Title), ButtonCreateType.OKAndCancel) { this.ClientSize = new Size(400, 300); lblInstructions = new QLabel(Localization.Get(UI_Key.Lock_Instructions, Application.ProductName)); lblInstructions.Location = new Point(SPACING, SPACING); lblInstructions.SetWidth(this.ClientRectangle.Width - 2 * SPACING); this.Controls.Add(lblInstructions); chkMain = new QCheckBox(Localization.Get(UI_Key.Lock_Checkbox), this.BackColor); chkMain.Checked = Lock != null && Lock.Locked; chkMain.Location = new Point(2 * SPACING, lblInstructions.Bottom + SPACING); chkMain.CheckedChanged += new EventHandler(chkMainCheckedChanged); this.Controls.Add(chkMain); chkCode = new QCheckBox(Localization.Get(UI_Key.Lock_Code), this.BackColor); chkCode.Checked = (Lock != null) && (Lock.Code.Length > 0); chkCode.Location = new Point(3 * SPACING, chkMain.Bottom + SPACING); chkCode.CheckedChanged += (s, e) => { txtCode.Enabled = chkCode.Checked; }; this.Controls.Add(chkCode); txtCode = new QTextBox(); txtCode.Text = (Lock != null) ? Lock.Code : String.Empty; txtCode.MaxLength = QLock.MAX_CODE_LENGTH; txtCode.Location = new Point(chkCode.Right + SPACING, chkCode.Top + chkCode.Height / 2 - txtCode.Height / 2 + 2); txtCode.Enabled = chkCode.Checked; this.Controls.Add(txtCode); chkGamepadLock = new QCheckBox(Localization.Get(UI_Key.Lock_Gamepad), this.BackColor); chkGamepadLock.Checked = (Lock != null) && Lock.GamepadLock; chkGamepadLock.Location = new Point(3 * SPACING, chkCode.Bottom + SPACING); this.Controls.Add(chkGamepadLock); //btnCancel.Location = new Point(this.ClientRectangle.Width - btnCancel.Width - SPACING, chkGamepadLock.Bottom + SPACING); //btnOK.Location = new Point(btnCancel.Left - btnOK.Width - SPACING, btnCancel.Top); PlaceButtons(this.ClientRectangle.Width, chkGamepadLock.Bottom + SPACING); this.ClientSize = new Size(this.ClientRectangle.Width, btnOK.Bottom + SPACING); this.chkMainCheckedChanged(this, EventArgs.Empty); int tabIndex = 0; chkMain.TabIndex = tabIndex++; chkCode.TabIndex = tabIndex++; txtCode.TabIndex = tabIndex++; chkGamepadLock.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; }
public frmAbout(Controller Controller) : base("About " + Application.ProductName, ButtonCreateType.OKAndCancelReverse) { this.controller = Controller; int ypos = MARGIN + MARGIN; this.ClientSize = new Size(450, 300); lblTitle = new QLabel(Application.ProductName, Styles.FontLarge); lblTitle.SetWidth(this.ClientRectangle.Width - MARGIN - MARGIN); lblTitle.Location = new Point(MARGIN, ypos); this.Controls.Add(lblTitle); ypos = lblTitle.Bottom + SPACING; lblVersion = new QLabel(Localization.Get(UI_Key.About_Version, Application.ProductVersion), Styles.FontBold); lblVersion.SetWidth(lblTitle.Width); lblVersion.Location = new Point(MARGIN, ypos); this.Controls.Add(lblVersion); ypos = lblVersion.Bottom + SPACING + SPACING + SPACING; lblRegInfo = new QLabel(Notices.ActivationInfo); lblRegInfo.Location = new Point(MARGIN, ypos); lblRegInfo.SetWidth(lblVersion.Width); this.Controls.Add(lblRegInfo); ypos = lblRegInfo.Bottom + SPACING; lblSmallPrint = new QLabel(Notices.CopyrightNotice, Styles.FontSmall); lblSmallPrint.Location = new Point(MARGIN, ypos); lblSmallPrint.SetWidth(this.lblRegInfo.Width); this.Controls.Add(lblSmallPrint); ypos = lblSmallPrint.Bottom + SPACING; btnOK.Text = Localization.Get(UI_Key.About_License_Agreement); PlaceButtons(this.ClientRectangle.Width, ypos); this.ClientSize = new Size(this.ClientRectangle.Width, btnOK.Bottom + SPACING); btnCancel.Focus(); alfredIndex = 0; backgroundBrush = Style.GetDialogBackgroundBrush(this.ClientRectangle.Height); }
public frmSleep(Controller Controller) : base(Localization.Get(UI_Key.Sleep_Title), ButtonCreateType.OKAndCancel) { this.controller = Controller; this.SuspendLayout(); lblInstructions = new QLabel(Localization.Get(UI_Key.Sleep_Instructions, Application.ProductName)); lblInstructions.AutoSize = false; this.Controls.Add(lblInstructions); txtTime = new QSpin(true, true, Localization.Get(UI_Key.Sleep_Play_For_Another), Localization.Get(UI_Key.Sleep_Minutes), 1, 24 * 60, 60, 5, this.BackColor); txtTime.CheckedChanged += new EventHandler(txtTime_CheckedChanged); txtTime.ValueChanged += new EventHandler(txtTime_ValueChanged); this.Controls.Add(txtTime); lblAndThen = new QLabel(Localization.Get(UI_Key.Sleep_And_Then)); this.Controls.Add(lblAndThen); cboAction = new QComboBox(false); cboAction.Items.Add(SHUTDOWN_TEXT); cboAction.Items.Add(STANDBY_TEXT); cboAction.Items.Add(HIBERNATE_TEXT); cboAction.Items.Add(EXIT_TEXT); cboAction.SelectedIndexChanged += new EventHandler(cboAction_SelectedIndexChanged); cboAction.Width = TextRenderer.MeasureText(SHUTDOWN_TEXT, this.Font).Width + 40; this.Controls.Add(cboAction); txtFadeTime = new QSpin(true, true, Localization.Get(UI_Key.Sleep_Gradually_Reduce_Volume_After), Localization.Get(UI_Key.Sleep_Minutes), 0, 24 * 60, 0, 5, this.BackColor); txtFadeTime.ValueChanged += new EventHandler(txtFadeTime_ValueChanged); this.Controls.Add(txtFadeTime); chkForce = new QCheckBox(Localization.Get(UI_Key.Sleep_Force_Shutdown), this.BackColor); chkForce.EnabledChanged += (s, e) => { this.Invalidate(); }; this.Controls.Add(chkForce); Sleep = new Sleep(controller); txtFadeTime_ValueChanged(this, EventArgs.Empty); txtTime_ValueChanged(this, EventArgs.Empty); setupControls(); this.ResumeLayout(false); }
public frmEditAutoPlaylist() : base(Localization.Get(UI_Key.Edit_Auto_Playlist_Title), ButtonCreateType.OKAndCancel) { btnSaveAndConvert = new QButton(Localization.Get(UI_Key.Edit_Auto_Playlist_Save_As_Standard), false, true); btnSaveAndConvert.ButtonPressed += (s) => { btnSaveAndConvert_Click(); }; this.Controls.Add(btnSaveAndConvert); btnOK.Text = Localization.Get(UI_Key.Edit_Auto_Playlist_Save); btnTest = new QButton(Localization.Get(UI_Key.Edit_Auto_Playlist_Test), false, false); AddButton(btnTest, btnTest_Click); btnHelp = new QButton(Localization.Get(UI_Key.Edit_Auto_Playlist_Help), false, false); AddButton(btnHelp, btnHelp_Click); lblOK = new Label(); lblOK.BorderStyle = BorderStyle.FixedSingle; lblOK.BackColor = Color.Green; lblOK.ForeColor = Styles.LightText; lblOK.Size = new Size(12, 12); this.Controls.Add(lblOK); lblMessage = new QLabel(String.Empty); this.Controls.Add(lblMessage); textbox.CaretLocationChanged += (dl) => { }; textbox.SelectionChanged += (s, e) => { }; textbox.DocumentChangedChanged += (s, e) => { }; textbox.BeforeShowIntellisense += new QuuxControls.BeforeShowIntellisense(textbox_BeforeShowIntellisense); textbox.NeedWordsBeforeCursorRefresh += (s, e) => { textbox.WordsBeforeCursor = getWordsBeforeCursor(); }; textbox.Location = new Point(MARGIN, MARGIN + Styles.TextHeight + MARGIN); this.Controls.Add(textbox); currentInstance = this; this.ClientSize = new System.Drawing.Size(580, 360); }
public frmTwitter() : base(Localization.Get(UI_Key.Twitter_Title), ButtonCreateType.OKAndCancel) { this.ClientSize = new Size(420, 200); lblInstructions = new QLabel(Localization.Get(UI_Key.Twitter_Instructions, Application.ProductName)); lblInstructions.Location = new Point(MARGIN, MARGIN); lblInstructions.SetWidth(this.ClientRectangle.Width - MARGIN - MARGIN); this.Controls.Add(lblInstructions); chkEnable = new QCheckBox(Localization.Get(UI_Key.Twitter_Enable), this.BackColor); chkEnable.Location = new Point(MARGIN, lblInstructions.Bottom + MARGIN + MARGIN); chkEnable.CheckedChanged += new EventHandler(enableCheckChanged); this.Controls.Add(chkEnable); lblUserName = new QLabel(Localization.Get(UI_Key.Twitter_User_Name)); lblPassword = new QLabel(Localization.Get(UI_Key.Twitter_Password)); txtUserName = new QTextBox(); txtUserName.Text = Twitter.UserName; txtUserName.MaxLength = 64; txtUserName.TextChanged += new EventHandler(textChanged); txtPassword = new QTextBox(); txtPassword.Text = Twitter.Password; txtPassword.MaxLength = 64; txtPassword.TextChanged += new EventHandler(textChanged); txtPassword.PasswordChar = '*'; lblUserName.Location = new Point(2 * MARGIN, chkEnable.Bottom + MARGIN + MARGIN + (txtUserName.Height - lblUserName.Height) / 2); lblPassword.Location = new Point(2 * MARGIN, lblUserName.Top + MARGIN + txtUserName.Height); this.Controls.Add(lblUserName); this.Controls.Add(lblPassword); int x = Math.Max(lblUserName.Right, lblPassword.Right) + MARGIN; txtUserName.Location = new Point(x, lblUserName.Top + (lblUserName.Height - txtUserName.Height) / 2); txtPassword.Location = new Point(x, lblPassword.Top + (lblPassword.Height - txtPassword.Height) / 2); this.Controls.Add(txtUserName); this.Controls.Add(txtPassword); lblMode = new QLabel("Post A Tweet With Each:"); this.Controls.Add(lblMode); lblMode.Location = new Point(4 * MARGIN, txtPassword.Bottom + MARGIN); cboMode = new QComboBox(false); cboMode.Items.Add(Localization.Get(UI_Key.Twitter_Mode_Song)); cboMode.Items.Add(Localization.Get(UI_Key.Twitter_Mode_Album)); this.Controls.Add(cboMode); cboMode.Location = new Point(lblMode.Right + MARGIN, lblMode.Top + (lblMode.Height - cboMode.Height) / 2); switch (Twitter.TwitterMode) { case Twitter.Mode.Album: cboMode.SelectedIndex = cboMode.FindStringExact(Localization.Get(UI_Key.Twitter_Mode_Album)); break; default: cboMode.SelectedIndex = cboMode.FindStringExact(Localization.Get(UI_Key.Twitter_Mode_Song)); break; } btnTest = new QButton(Localization.Get(UI_Key.Twitter_Test), false, false); AddButton(btnTest, test); btnViewOnWeb = new QButton(Localization.Get(UI_Key.Twitter_View_On_Web), false, false); AddButton(btnViewOnWeb, viewOnWeb); PlaceButtons(this.ClientRectangle.Width, cboMode.Bottom + MARGIN + MARGIN, btnCancel, btnOK, btnTest, btnViewOnWeb); this.ClientSize = new Size(this.ClientRectangle.Width, btnCancel.Bottom + MARGIN); int tabIndex = 0; chkEnable.TabIndex = tabIndex++; txtUserName.TabIndex = tabIndex++; txtPassword.TabIndex = tabIndex++; btnViewOnWeb.TabIndex = tabIndex++; btnTest.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; chkEnable.Checked = Twitter.On; enableControls(); }
public RadioEditPanel(RadioStation Station, string[] GenreList, Radio.StationEditComplete Callback) : base() { SPACING = 8; station = Station; callback = Callback; lblName = new QLabel("&Name"); lblName.ShowAccellerator(); this.Controls.Add(lblName); lblGenre = new QLabel("&Genre"); lblGenre.ShowAccellerator(); this.Controls.Add(lblGenre); lblBitRate = new QLabel("&Bit Rate"); lblBitRate.ShowAccellerator(); this.Controls.Add(lblBitRate); lblStreamType = new QLabel("&Stream Type"); lblStreamType.ShowAccellerator(); this.Controls.Add(lblStreamType); lblURL = new QLabel("&URL"); lblURL.ShowAccellerator(); this.Controls.Add(lblURL); txtName = new QTextBox(); txtName.Width = 1000; txtName.MaxLength = 140; txtName.GotFocus += (s, e) => txtName.SelectAll(); this.Controls.Add(txtName); cboGenre = new QComboBox(true); cboGenre.MaxLength = 30; cboGenre.Items.AddRange(GenreList); this.Controls.Add(cboGenre); txtBitrate = new QTextBox(); txtBitrate.NumericOnly = true; txtBitrate.MaxLength = 3; this.Controls.Add(txtBitrate); cboStreamType = new QComboBox(false); cboStreamType.Items.AddRange(RadioStation.StreamTypeArray); this.Controls.Add(cboStreamType); txtURL = new QTextBox(); txtURL.MaxLength = 2048; this.Controls.Add(txtURL); txtName.Text = station.Name; cboGenre.Text = station.Genre; if (station.BitRate > 0) { txtBitrate.Text = station.BitRate.ToString(); } else { txtBitrate.Text = String.Empty; } cboStreamType.SelectedIndex = (int)station.StreamType; txtURL.Text = station.URL; btnOK = new QButton(Localization.OK, false, false); AddButton(btnOK, ok); btnCancel = new QButton(Localization.CANCEL, false, false); AddButton(btnCancel, cancel); resize(); this.ClientSize = new Size(this.ClientRectangle.Width, btnOK.Bottom + MARGIN); int tabIndex = 0; lblName.TabIndex = tabIndex++; txtName.TabIndex = tabIndex++; lblGenre.TabIndex = tabIndex++; cboGenre.TabIndex = tabIndex++; lblURL.TabIndex = tabIndex++; txtURL.TabIndex = tabIndex++; lblBitRate.TabIndex = tabIndex++; txtBitrate.TabIndex = tabIndex++; lblStreamType.TabIndex = tabIndex++; cboStreamType.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; setWrapAroundTabControl(tabIndex, txtName, null); initialized = true; }
public QInputBox(IWin32Window Owner, string Text, string Caption, string DefaultValue, string CheckboxText, bool CheckboxVal, int MaxLength, int MinLength) : base(Caption, ButtonCreateType.OKAndCancel) { this.SPACING = 8; this.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.ClientSize = new Size(275, 300); lblMain = new QLabel(Text); lblMain.ShowAccellerator(); this.Controls.Add(lblMain); lblMain.Location = new Point(SPACING, 2 * SPACING); lblMain.SetWidth(this.ClientRectangle.Width - SPACING - SPACING); txtMain = new QTextBox(); txtMain.Text = DefaultValue; txtMain.KeyDown += (s, e) => { /* if (e.KeyCode == Keys.Enter) * { * e.Handled = true; * ok(); * } * else */if (e.KeyCode == Keys.Escape) { e.Handled = true; cancel(); } }; txtMain.MaxLength = MaxLength; minLength = MinLength; txtMain.Bounds = new System.Drawing.Rectangle(SPACING, lblMain.Bottom + 2 * SPACING, this.ClientRectangle.Width - 2 * SPACING, txtMain.Height); this.Controls.Add(txtMain); if (CheckboxText.Length > 0) { chkCheckbox = new QCheckBox(CheckboxText, this.BackColor); chkCheckbox.Checked = CheckboxVal; chkCheckbox.Location = new Point(SPACING, txtMain.Bottom + SPACING); chkCheckbox.Enabled = false; this.Controls.Add(chkCheckbox); } PlaceButtons(this.ClientRectangle.Width, ((chkCheckbox != null) ? chkCheckbox.Bottom : txtMain.Bottom) + 2 * SPACING); btnOK.Enabled = false; this.ClientSize = new Size(this.ClientSize.Width, btnOK.Bottom + SPACING); int tabIndex = 0; lblMain.TabIndex = tabIndex++; txtMain.TabIndex = tabIndex++; if (chkCheckbox != null) { chkCheckbox.TabIndex = tabIndex++; } btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; txtMain.TextChanged += (s, e) => { btnOK.Enabled = txtMain.Text.Length >= minLength; if (chkCheckbox != null) { chkCheckbox.Enabled = btnOK.Enabled; } }; this.ShowDialog(Owner); }
private void setupControl(IEditControl Control, string Caption, bool MakeCheckbox) { QLabel label = new QLabel(Caption, Styles.FontSmaller); this.Controls.Add(label); labels.Add(Control, label); label.ShowAccellerator(); if (MakeCheckbox) { QCheckBox cb = new QCheckBox(String.Empty, this.BackColor); cb.CheckedChanged += (s, e) => { updateColor(s, e); Dirty = true; }; this.Controls.Add(cb); checkboxes.Add(Control, cb); Control.ForeColor = Styles.Watermark; } this.Controls.Add(Control as Control); if (Control is QTextBox) { Control.TextChanged += textChanged; QTextBox tb = Control as QTextBox; tb.GotFocus += (s, e) => { Clock.DoOnMainThread(tb.SelectAll, 30); }; if (tb.Text == VARIES_TOKEN) { tb.EnableWatermark(this, MULTIPLE_VALUES, String.Empty); tb.Text = String.Empty; } editControls.Add(tb); } else if (Control is QComboBox) { QComboBox cb = Control as QComboBox; // need both, depends on editable vs. uneditable cb.TextChanged += textChanged; cb.SelectedIndexChanged += textChanged; if (cb.Text == VARIES_TOKEN) { cb.EnableWatermark(this, MULTIPLE_VALUES, String.Empty); cb.Text = String.Empty; } cb.DropDown += (s, e) => { if (isMultiple) { cb.ForeColor = Color.Black; } }; cb.DropDownClosed += (s, e) => { if (isMultiple) { updateColor(cb, checkboxes[cb]); } else { updateColor(cb, EventArgs.Empty); } }; editControls.Add(cb); } }
public frmLastFM(bool Enabled, string UserName, string Password) : base(Localization.Get(UI_Key.LastFM_Title), ButtonCreateType.OKAndCancel) { this.ClientSize = new Size(370, 200); lblInstructions = new QLabel(Localization.Get(UI_Key.LastFM_Instructions, Application.ProductName)); lblInstructions.Location = new Point(MARGIN, MARGIN); lblInstructions.SetWidth(this.ClientRectangle.Width - MARGIN - MARGIN); this.Controls.Add(lblInstructions); chkEnable = new QCheckBox(Localization.Get(UI_Key.LastFM_Enable), this.BackColor); chkEnable.Checked = Enabled; chkEnable.Location = new Point(MARGIN, lblInstructions.Bottom + MARGIN + MARGIN); chkEnable.CheckedChanged += new EventHandler(chkEnableChanged); this.Controls.Add(chkEnable); lblUserName = new QLabel(Localization.Get(UI_Key.LastFM_User_Name)); lblPassword = new QLabel(Localization.Get(UI_Key.LastFM_Password)); lblUserName.Enabled = Enabled; lblPassword.Enabled = Enabled; txtUserName = new QTextBox(); txtUserName.Text = UserName; txtUserName.MaxLength = 64; txtUserName.Enabled = Enabled; txtUserName.TextChanged += new EventHandler(textChanged); txtPassword = new QTextBox(); txtPassword.Text = Password; txtPassword.MaxLength = 64; txtPassword.Enabled = Enabled; txtPassword.TextChanged += new EventHandler(textChanged); txtPassword.PasswordChar = '*'; lblUserName.Location = new Point(2 * MARGIN, chkEnable.Bottom + MARGIN + MARGIN + (txtUserName.Height - lblUserName.Height) / 2); lblPassword.Location = new Point(2 * MARGIN, lblUserName.Top + MARGIN + txtUserName.Height); this.Controls.Add(lblUserName); this.Controls.Add(lblPassword); int x = Math.Max(lblUserName.Right, lblPassword.Right) + MARGIN; txtUserName.Location = new Point(x, lblUserName.Top + (lblUserName.Height - txtUserName.Height) / 2); txtPassword.Location = new Point(x, lblPassword.Top + (lblPassword.Height - txtPassword.Height) / 2); this.Controls.Add(txtUserName); this.Controls.Add(txtPassword); //btnCancel.Location = new Point(this.ClientRectangle.Width - MARGIN - btnCancel.Width, txtPassword.Bottom + MARGIN + MARGIN); //btnOK.Location = new Point(btnCancel.Left - btnOK.Width - MARGIN, btnCancel.Top); btnGoToAcccount = new QButton(Localization.Get(UI_Key.LastFM_Go_To_Account), false, false); AddButton(btnGoToAcccount, gotoAccount); //btnGoToAcccount.Location = new Point(btnOK.Left - btnGoToAcccount.Width - MARGIN, btnCancel.Top); PlaceButtons(this.ClientRectangle.Width, txtPassword.Bottom + MARGIN + MARGIN, btnCancel, btnOK, btnGoToAcccount); this.ClientSize = new Size(this.ClientRectangle.Width, btnCancel.Bottom + MARGIN); int tabIndex = 0; chkEnable.TabIndex = tabIndex++; txtUserName.TabIndex = tabIndex++; txtPassword.TabIndex = tabIndex++; btnGoToAcccount.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; enableControls(); }
public PodcastManager() { this.BackColor = Color.Black; instance = this; List <string> subHeadings = new List <string>() { "Podcast Name", "Genre", "Last Download", "Count", "Status", "Reload", "Get All", "Edit", "Remove" }; List <QListView <PodcastSubscription> .ClickDelegate> subActions = new List <QListView <PodcastSubscription> .ClickDelegate>() { checkForNewEpisodes, downloadSubscription, showSubscriptionEditPanel, removeSubscription }; lvwSubscriptions = new QListView <PodcastSubscription>(subHeadings, subActions, new string[] { String.Empty, "GenreXXXXXX", "Last DownloadXX", "XXXX / XXXX", "XXXX Available", "Reload", "Get All", "Edit", "Remove" }, PodcastSubscription.Compare); lvwSubscriptions.ContextMenuHook += new QListView <PodcastSubscription> .ContextMenuHookDelegate(lvwSubscriptions_ContextMenuHook); lvwSubscriptions.Sort((int)(PodcastSubscription.Columns.Name), true); this.Controls.Add(lvwSubscriptions); List <string> epHeadings = new List <string>() { "Title", "Description", "Episode Date", "Status", "Duration", "Download", "Play", "Remove" }; lvwEpisodes = new QListView <PodcastEpisode>(epHeadings, new List <QListView <PodcastEpisode> .ClickDelegate>() { downloadEpisode, playEpisode, removeEpisode }, new string[] { string.Empty, String.Empty, "Episode DateXX", "Downloading XXX%", "DurationXX", "Download", "Play", "Remove" }, PodcastEpisode.Compare); lvwEpisodes.ContextMenuHook += new QListView <PodcastEpisode> .ContextMenuHookDelegate(lvwEpisodes_ContextMenuHook); lvwEpisodes.Sort((int)(PodcastEpisode.Columns.Date), false); this.Controls.Add(lvwEpisodes); btnDone = new QButton("Done", false, false); btnDone.BackColor = this.BackColor; this.Controls.Add(btnDone); btnDone.ButtonPressed += (s) => { controller.RequestAction(QActionType.AdvanceScreen); }; btnStopDownloads = new QButton("Stop Downloads", false, false); btnStopDownloads.BackColor = this.BackColor; this.Controls.Add(btnStopDownloads); btnStopDownloads.Enabled = false; btnStopDownloads.ButtonPressed += (s) => { if (!Locked) { stopDownloads(); } }; btnSetDownloadFolder = new QButton("Set Download Folder...", false, false); btnSetDownloadFolder.BackColor = this.BackColor; this.Controls.Add(btnSetDownloadFolder); btnSetDownloadFolder.ButtonPressed += (s) => { if (!Locked) { setDownloadFolder(); } }; btnRefreshAll = new QButton("Refresh All Subscriptions", false, false); btnRefreshAll.BackColor = this.BackColor; this.Controls.Add(btnRefreshAll); btnRefreshAll.ButtonPressed += (s) => { if (!Locked) { Clock.DoOnNewThread(autoRefreshSubscriptions); } }; btnAutoManage = new QButton("Auto Manage Options...", false, false); btnAutoManage.BackColor = this.BackColor; this.Controls.Add(btnAutoManage); btnAutoManage.ButtonPressed += (s) => { if (!Locked) { showAutoManageOptions(); } }; txtURL = new QTextBoxFocusOnClick(); this.Controls.Add(txtURL); txtURL.MaxLength = 2048; txtURL.Enter += (s, e) => { keyPreviewChange(); }; txtURL.Leave += (s, e) => { keyPreviewChange(); }; txtURL.KeyPress += (s, e) => { if (!Locked) { switch (e.KeyChar) { case '\r': if (txtURL.Text.Length > 0) { btnGetInfo_ButtonPressed(btnGo); } e.Handled = true; break; } } }; txtURL.EnableWatermark(this, "[Type or drag a podcast feed here.]", String.Empty); btnGo = new QButton("Add Podcast", false, true); btnGo.ButtonPressed += new QButton.ButtonDelegate(btnGetInfo_ButtonPressed); btnGo.BackColor = this.BackColor; this.Controls.Add(btnGo); lblSubscriptions = new QLabel("Subscriptions", Styles.FontBold); this.Controls.Add(lblSubscriptions); lblEpisodes = new QLabel("Episodes", Styles.FontBold); this.Controls.Add(lblEpisodes); txtURL.DragEnter += (s, e) => { onDragEnter(e); }; txtURL.DragDrop += (s, e) => { onDragDrop(e); }; txtURL.AllowDrop = true; txtURL.Watermark.DragEnter += (s, e) => { onDragEnter(e); }; txtURL.Watermark.DragDrop += (s, e) => { onDragDrop(e); }; txtURL.Watermark.AllowDrop = true; lvwSubscriptions.ClickCallback += new QListView <PodcastSubscription> .ClickDelegate(populateEpisodes); lvwSubscriptions.DoubleClickCallback += new QListView <PodcastSubscription> .ClickDelegate(lvwSubscriptions_DoubleClickCallback); lvwSubscriptions.DragEnter += (s, e) => { onDragEnter(e); }; lvwSubscriptions.DragDrop += (s, e) => { onDragDrop(e); }; lvwSubscriptions.AllowDrop = true; lvwEpisodes.DoubleClickCallback += new QListView <PodcastEpisode> .ClickDelegate(lvwEpisodes_DoubleClickCallback); lvwEpisodes.ClickCallback += new QListView <PodcastEpisode> .ClickDelegate(lvwEpisodes_ClickCallback); }
public frmFileAssociations() : base(Localization.Get(UI_Key.File_Associations_Title), ButtonCreateType.OKAndCancel) { this.Size = new System.Drawing.Size(430, this.Size.Height); lblInstructions = new QLabel(Localization.Get(UI_Key.File_Associations_Instructions)); this.Controls.Add(lblInstructions); lblInstructions.Location = new System.Drawing.Point(MARGIN, MARGIN); lblInstructions.SetWidth(this.Width - MARGIN - MARGIN); int x = MARGIN * 3; lblAudioFiles = new QLabel("Audio Files", Styles.FontBold); this.Controls.Add(lblAudioFiles); lblAudioFiles.Location = new System.Drawing.Point(MARGIN, lblInstructions.Bottom + MARGIN + MARGIN); chkMP3 = new QCheckBox(Localization.Get(UI_Key.File_Associations_MP3), this.BackColor); this.Controls.Add(chkMP3); chkMP3.Location = new System.Drawing.Point(x, lblAudioFiles.Bottom + MARGIN); chkWMA = new QCheckBox(Localization.Get(UI_Key.File_Associations_WMA), this.BackColor); this.Controls.Add(chkWMA); chkWMA.Location = new System.Drawing.Point(x, chkMP3.Bottom + MARGIN); chkOGG = new QCheckBox(Localization.Get(UI_Key.File_Associations_OGG), this.BackColor); this.Controls.Add(chkOGG); chkOGG.Location = new System.Drawing.Point(x, chkWMA.Bottom + MARGIN); chkFLAC = new QCheckBox(Localization.Get(UI_Key.File_Associations_FLAC), this.BackColor); this.Controls.Add(chkFLAC); chkFLAC.Location = new System.Drawing.Point(x, chkOGG.Bottom + MARGIN); chkM4A = new QCheckBox(Localization.Get(UI_Key.File_Associations_iTunes), this.BackColor); this.Controls.Add(chkM4A); chkM4A.Location = new System.Drawing.Point(x, chkFLAC.Bottom + MARGIN); chkWV = new QCheckBox(Localization.Get(UI_Key.File_Associations_WV), this.BackColor); this.Controls.Add(chkWV); chkWV.Location = new System.Drawing.Point(x, chkM4A.Bottom + MARGIN); chkAPE = new QCheckBox(Localization.Get(UI_Key.File_Associations_APE), this.BackColor); this.Controls.Add(chkAPE); chkAPE.Location = new System.Drawing.Point(x, chkWV.Bottom + MARGIN); lblPlaylistFiles = new QLabel("Playlist Files", Styles.FontBold); this.Controls.Add(lblPlaylistFiles); lblPlaylistFiles.Location = new System.Drawing.Point(MARGIN, chkAPE.Bottom + MARGIN + MARGIN); x = this.Width / 2; chkWAV = new QCheckBox(Localization.Get(UI_Key.File_Associations_WAV), this.BackColor); this.Controls.Add(chkWAV); chkWAV.Location = new System.Drawing.Point(x, chkMP3.Top); chkAC3 = new QCheckBox(Localization.Get(UI_Key.File_Associations_AC3), this.BackColor); this.Controls.Add(chkAC3); chkAC3.Location = new System.Drawing.Point(x, chkWAV.Bottom + MARGIN); chkMPC = new QCheckBox(Localization.Get(UI_Key.File_Associations_MPC), this.BackColor); this.Controls.Add(chkMPC); chkMPC.Location = new System.Drawing.Point(x, chkAC3.Bottom + MARGIN); chkALAC = new QCheckBox(Localization.Get(UI_Key.File_Associations_ALAC), this.BackColor); this.Controls.Add(chkALAC); chkALAC.Location = new System.Drawing.Point(x, chkMPC.Bottom + MARGIN); chkAIFF = new QCheckBox(Localization.Get(UI_Key.File_Associations_AIFF), this.BackColor); this.Controls.Add(chkAIFF); chkAIFF.Location = new System.Drawing.Point(x, chkALAC.Bottom + MARGIN); chkPLS = new QCheckBox(Localization.Get(UI_Key.File_Associations_PLS), this.BackColor); this.Controls.Add(chkPLS); chkPLS.Location = new System.Drawing.Point(chkWV.Left, lblPlaylistFiles.Bottom + MARGIN); chkM3U = new QCheckBox("M3U Files", this.BackColor); this.Controls.Add(chkM3U); chkM3U.Location = new System.Drawing.Point(chkAIFF.Left, chkPLS.Top); btnNone = new QButton(Localization.Get(UI_Key.File_Associations_Check_None), false, false); AddButton(btnNone, none); btnAll = new QButton(Localization.Get(UI_Key.File_Associations_Check_All), false, false); AddButton(btnAll, all); PlaceButtons(this.ClientRectangle.Width, chkPLS.Bottom + MARGIN, btnCancel, btnOK, btnNone, btnAll); this.ClientSize = new System.Drawing.Size(this.ClientRectangle.Width, btnCancel.Bottom + MARGIN); int tabIndex = 0; chkMP3.TabIndex = tabIndex++; chkWMA.TabIndex = tabIndex++; chkOGG.TabIndex = tabIndex++; chkFLAC.TabIndex = tabIndex++; chkM4A.TabIndex = tabIndex++; chkWV.TabIndex = tabIndex++; chkWAV.TabIndex = tabIndex++; chkAC3.TabIndex = tabIndex++; chkMPC.TabIndex = tabIndex++; chkALAC.TabIndex = tabIndex++; chkAIFF.TabIndex = tabIndex++; chkAPE.TabIndex = tabIndex++; chkPLS.TabIndex = tabIndex++; chkM3U.TabIndex = tabIndex++; btnAll.TabIndex = tabIndex++; btnNone.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; updateCheckboxes(); }
public frmOptions() : base(Localization.Get(UI_Key.Options_Title, Application.ProductName), ButtonCreateType.OKAndCancel) { this.SPACING = 4; tabs = new Dictionary <QButton, List <Control> >(); InitializeComponent(); QButton button = new QButton("Primary Options", true, false); List <Control> controls = new List <Control>(); tabs.Add(button, controls); button.Value = true; button.ButtonPressed += clickTab; topMargin = PADDING + button.Height + SPACING + SPACING; lblSound = new QLabel(Localization.Get(UI_Key.Options_Label_Sound), Styles.FontBold); controls.Add(lblSound); chkAutoClippingControl = new QCheckBox(Localization.Get(UI_Key.Options_Auto_Clipping_Control), this.BackColor); controls.Add(chkAutoClippingControl); lblSoundDevice = new QLabel("Specify a sound output device:"); controls.Add(lblSoundDevice); cboSoundDevice = new QComboBox(false); cboSoundDevice.Items.AddRange(OutputDX.GetDeviceNames()); cboSoundDevice.SelectedIndexChanged += new EventHandler(cboSoundDevice_SelectedIndexChanged); asioDevices = OutputASIO.GetDeviceNames().ToArray(); cboSoundDevice.Items.AddRange(asioDevices); chkVolumeControlsWindowsVolume = new QCheckBox(Localization.Get(UI_Key.Options_Volume_Controls_Windows_Volume, Application.ProductName), this.BackColor); if (!Lib.IsVistaOrLater) { controls.Add(chkVolumeControlsWindowsVolume); } else { chkVolumeControlsWindowsVolume.Visible = false; } if (cboSoundDevice.Items.Count > 0) { cboSoundDevice.SelectedIndex = 0; cboSoundDevice.AutoSetWidth(); } controls.Add(cboSoundDevice); lblDisplay = new QLabel(Localization.Get(UI_Key.Options_Label_Display), Styles.FontBold); controls.Add(lblDisplay); chkIncludeTagCloud = new QCheckBox(Localization.Get(UI_Key.Options_Include_Tag_Cloud), this.BackColor); controls.Add(chkIncludeTagCloud); chkDisableScreensavers = new QCheckBox(Localization.Get(UI_Key.Options_Disable_Screensaver), this.BackColor); controls.Add(chkDisableScreensavers); chkDisableScreensaversOnlyWhenPlaying = new QCheckBox("Only When Playing", this.BackColor); controls.Add(chkDisableScreensaversOnlyWhenPlaying); chkShowGridOnSpectrum = new QCheckBox(Localization.Get(UI_Key.Options_Spectrum_Show_Grid), this.BackColor); controls.Add(chkShowGridOnSpectrum); button = new QButton("Secondary Options", true, false); button.Value = false; button.ButtonPressed += clickTab; controls = new List <Control>(); tabs.Add(button, controls); lblInternet = new QLabel(Localization.Get(UI_Key.Options_Label_Internet), Styles.FontBold); controls.Add(lblInternet); chkAutoCheckUpdates = new QCheckBox(Localization.Get(UI_Key.Options_Auto_Check_Updates), this.BackColor); controls.Add(chkAutoCheckUpdates); chkDownloadCoverArt = new QCheckBox(Localization.Get(UI_Key.Options_Download_Cover_Art), this.BackColor); controls.Add(chkDownloadCoverArt); lblArtSave = new QLabel(Localization.Get(UI_Key.Options_Save_Art_Caption)); lblArtSave.Enabled = false; controls.Add(lblArtSave); cboArtSave = new QComboBox(false); cboArtSave.Items.Add(Localization.Get(UI_Key.Options_Save_Art_Folder_JPG)); cboArtSave.Items.Add(Localization.Get(UI_Key.Options_Save_Art_Artist_Album)); cboArtSave.Items.Add(Localization.Get(UI_Key.Options_Save_Art_None)); cboArtSave.AutoSetWidth(); cboArtSave.Enabled = false; controls.Add(cboArtSave); lblMisc = new QLabel(Localization.Get(UI_Key.Options_Label_Other), Styles.FontBold); controls.Add(lblMisc); chkUseGlobalHotkeys = new QCheckBox(Localization.Get(UI_Key.Options_Use_Global_Hotkeys), this.BackColor); controls.Add(chkUseGlobalHotkeys); spnShortTracks = new QSpin(true, true, Localization.Get(UI_Key.Options_Dont_Load_Shorter_Than), Localization.Get(UI_Key.Options_Dont_Load_Seconds), 1, 60, 10, 5, this.BackColor); spnShortTracks.OffEquivalent = 0; controls.Add(spnShortTracks); chkDownloadCoverArt.CheckedChanged += (s, e) => { lblArtSave.Enabled = chkDownloadCoverArt.Checked; cboArtSave.Enabled = chkDownloadCoverArt.Checked; }; chkStopClearsNowPlaying = new QCheckBox("Stop clears Now Playing", this.BackColor); controls.Add(chkStopClearsNowPlaying); chkSaveNowPlayingOnExit = new QCheckBox("Save Now Playing on exit", this.BackColor); controls.Add(chkSaveNowPlayingOnExit); bool isFirst = true; int tabIndex = 0; foreach (KeyValuePair <QButton, List <Control> > kvp in tabs) { this.Controls.Add(kvp.Key); kvp.Key.TabIndex = tabIndex++; foreach (Control c in kvp.Value) { c.Visible = isFirst; this.Controls.Add(c); } isFirst = false; } cboSoundDevice.TabIndex = tabIndex++; if (!Lib.IsVistaOrLater) { chkVolumeControlsWindowsVolume.TabIndex = tabIndex++; } chkAutoClippingControl.TabIndex = tabIndex++; chkIncludeTagCloud.TabIndex = tabIndex++; chkDisableScreensavers.TabIndex = tabIndex++; chkDisableScreensaversOnlyWhenPlaying.TabIndex = tabIndex++; chkShowGridOnSpectrum.TabIndex = tabIndex++; chkAutoCheckUpdates.TabIndex = tabIndex++; chkDownloadCoverArt.TabIndex = tabIndex++; cboArtSave.TabIndex = tabIndex++; chkUseGlobalHotkeys.TabIndex = tabIndex++; chkStopClearsNowPlaying.TabIndex = tabIndex++; chkSaveNowPlayingOnExit.TabIndex = tabIndex++; spnShortTracks.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; arrangeLayout(); }
public TagCloud() { Item.Parent = this; Item.NeedRefresh += (i) => { this.invalidate(i); }; this.DoubleBuffered = true; artists = Localization.Get(UI_Key.Tag_Cloud_Artists); albums = Localization.Get(UI_Key.Tag_Cloud_Albums); groupings = Localization.Get(UI_Key.Tag_Cloud_Groupings); genres = Localization.Get(UI_Key.Tag_Cloud_Genres); lblShow = new QLabel(Localization.Get(UI_Key.Tag_Cloud_Show_At_Most)); lblShow.Location = new Point(MARGIN, MARGIN + 4); lblShow.ForeColor = Styles.LightText; this.Controls.Add(lblShow); cboType = new QComboBox(false); cboType.DropDownStyle = ComboBoxStyle.DropDownList; cboType.Items.AddRange(new string[] { "10", "25", "50", "75", "100", "125", "150", "200", "300", "500", "1000" }); cboType.SelectedIndex = 4; cboType.Location = new Point(lblShow.Right, MARGIN); this.Controls.Add(cboType); btnGenres = new QButton(genres, false, false); btnGenres.Value = false; btnGenres.ButtonPressed += (s) => { this.ViewMode = ViewModeEnum.Genre; this.setupItems(); }; btnGenres.Location = new Point(cboType.Right + MARGIN + MARGIN, MARGIN); this.Controls.Add(btnGenres); btnArtists = new QButton(artists, false, false); btnArtists.Value = true; btnArtists.ButtonPressed += (s) => { if (this.ViewMode == ViewModeEnum.Artist) { currentGenre = String.Empty; currentGrouping = String.Empty; } else { currentArtist = String.Empty; this.ViewMode = ViewModeEnum.Artist; } this.setupItems(); }; btnArtists.Location = new Point(btnGenres.Right + MARGIN, btnGenres.Top); this.Controls.Add(btnArtists); btnAlbums = new QButton(albums, false, false); btnArtists.Value = false; btnAlbums.ButtonPressed += (s) => { if (this.ViewMode == ViewModeEnum.Album) { currentArtist = String.Empty; } else { this.ViewMode = ViewModeEnum.Album; } this.setupItems(); }; btnAlbums.Location = new Point(btnArtists.Right + MARGIN, btnGenres.Top); this.Controls.Add(btnAlbums); btnGroupings = new QButton(groupings, false, false); btnGroupings.Value = false; btnGroupings.ButtonPressed += (s) => { this.ViewMode = ViewModeEnum.Grouping; this.setupItems(); }; btnGroupings.Location = new Point(btnAlbums.Right + MARGIN, btnGenres.Top); this.Controls.Add(btnGroupings); btnChooseTop = new QButton(Localization.Get(UI_Key.Tag_Cloud_Choose_Top), false, false); btnChooseTop.Value = true; btnChooseTop.ButtonPressed += (s) => { clearCurrentValues(); this.ChooseMode = ChooseModeEnum.Top; this.setupItems(); }; btnChooseTop.Location = new Point(btnGroupings.Right + MARGIN + MARGIN, btnGenres.Top); this.Controls.Add(btnChooseTop); btnChooseRandom = new QButton(Localization.Get(UI_Key.Tag_Cloud_Choose_Random), false, false); btnChooseRandom.Value = false; btnChooseRandom.ButtonPressed += (s) => { clearCurrentValues(); this.ChooseMode = ChooseModeEnum.Random; this.setupItems(); }; btnChooseRandom.Location = new Point(btnChooseTop.Right + MARGIN, btnGenres.Top); this.Controls.Add(btnChooseRandom); btnUseColor = new QButton("Use Color", true, false); btnUseColor.Value = false; btnUseColor.ButtonPressed += (s) => { Item.UseColor = btnUseColor.Value; this.Invalidate(); }; btnUseColor.Location = new Point(btnChooseRandom.Right + MARGIN + MARGIN, btnGenres.Top); this.Controls.Add(btnUseColor); }
public Organizer(Callback DoneCallback) : base() { TrackWriter.Stop(); done = DoneCallback; invalidPath = Localization.Get(UI_Key.Organize_Invalid_Path); sample = Localization.Get(UI_Key.Organize_Sample); tokenMyMusic = Localization.Get(UI_Key.Organize_Token_My_Music); tokenMyDocuments = Localization.Get(UI_Key.Organize_Token_My_Documents); tokenDesktop = Localization.Get(UI_Key.Organize_Token_Desktop); font = Styles.FontSmaller; boldFont = new Font(font, FontStyle.Bold); btnOK = new QButton(Localization.OK, false, true); btnCancel = new QButton(Localization.CANCEL, false, true); btnHelp = new QButton(Localization.Get(UI_Key.Organize_Help), false, true); AddButton(btnHelp, help); lblTitle = new QLabel(Localization.Get(UI_Key.Organize_Title), font); this.Controls.Add(lblTitle); lblTitle.Location = new System.Drawing.Point(MARGIN, MARGIN); lblDirectory = new QLabel(Localization.Get(UI_Key.Organize_Top_Folder), font); lblDirectory.ShowAccellerator(); this.Controls.Add(lblDirectory); txtDirectory = new QTextBox(); txtDirectory.Font = font; this.Controls.Add(txtDirectory); if (Setting.TopLevelDirectory.Length == 0) { Setting.TopLevelDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic); } oldRoot = Setting.TopLevelDirectory; txtDirectory.Text = simplify(oldRoot); btnBrowse = new QButton(Localization.Get(UI_Key.Organize_Browse), false, false); btnBrowse.ShowAccellerator(Keys.B); AddButton(btnBrowse, browse); lblSubdirectory = new QLabel(Localization.Get(UI_Key.Organize_Folder_Structure), font); lblSubdirectory.ShowAccellerator(); this.Controls.Add(lblSubdirectory); cboSubdirectory = new QComboBox(false); cboSubdirectory.Font = font; cboSubdirectory.Items.AddRange(TrackWriter.GetDirFormats().ToArray()); string sub = TrackWriter.GetDirFormat(Setting.DefaultDirectoryFormat); if (cboSubdirectory.Items.Contains(sub)) { cboSubdirectory.SelectedIndex = cboSubdirectory.FindStringExact(sub); } else { cboSubdirectory.SelectedIndex = 0; } this.Controls.Add(cboSubdirectory); cboSubdirectory.AutoSetWidth(); lblRename = new QLabel(Localization.Get(UI_Key.Organize_Rename), font); lblRename.ShowAccellerator(); this.Controls.Add(lblRename); cboRename = new QComboBox(false); cboRename.Font = font; string[] renames = TrackWriter.GetRenames().ToArray(); renames[0] = Localization.Get(UI_Key.Organize_Dont_Change); cboRename.Items.AddRange(renames); string ren = TrackWriter.GetRenameFormat(Setting.DefaultRenameFormat); if (cboRename.Items.Contains(ren)) { cboRename.SelectedIndex = cboRename.FindStringExact(ren); } else { cboRename.SelectedIndex = 0; } this.Controls.Add(cboRename); cboRename.AutoSetWidth(); chkKeepOrganized = new QCheckBox(Localization.Get(UI_Key.Organize_Keep_Organized), this.BackColor); chkKeepOrganized.ShowAccellerator(); chkKeepOrganized.Font = font; chkKeepOrganized.Checked = Setting.KeepOrganized; this.Controls.Add(chkKeepOrganized); chkMoveIntoTopFolder = new QCheckBox(Localization.Get(UI_Key.Organize_Move_Into_Top_Folder), this.BackColor); chkMoveIntoTopFolder.Font = font; chkMoveIntoTopFolder.Checked = Setting.MoveNewFilesIntoMain; this.Controls.Add(chkMoveIntoTopFolder); btnOK.Text = Localization.Get(UI_Key.Organize_Organize); btnCancel.Text = Localization.Get(UI_Key.Organize_Dont_Organize); btnOK.ShowAccellerator(Keys.O); btnCancel.ShowAccellerator(Keys.D); AddButton(btnOK, ok); AddButton(btnCancel, cancel); sampleTrack = new Track(-1, Localization.Get(UI_Key.Organize_Sample_Track_Path), Track.FileType.MP3, Localization.Get(UI_Key.Organize_Sample_Track_Title), Localization.Get(UI_Key.Organize_Sample_Track_Album), Localization.Get(UI_Key.Organize_Sample_Track_Artist), String.Empty, String.Empty, Localization.Get(UI_Key.Organize_Sample_Track_Grouping), Localization.Get(UI_Key.Organize_Sample_Track_Genre), (6 * 60 + 24) * 1000, 5, 0, 1973, 0, 5, 320000, 0, false, DateTime.Today, DateTime.Today, DateTime.Today, String.Empty, 2, 44100, ChangeType.None, null, float.MinValue, float.MinValue); resize(); this.Height = chkKeepOrganized.Bottom + MARGIN; cboSubdirectory.SelectedIndexChanged += (s, e) => { updateSample(); }; cboRename.SelectedIndexChanged += (s, e) => { updateSample(); }; txtDirectory.TextChanged += (s, e) => { updateSample(); }; updateSample(); int tabIndex = 0; lblDirectory.TabIndex = tabIndex++; txtDirectory.TabIndex = tabIndex++; btnBrowse.TabIndex = tabIndex++; lblSubdirectory.TabIndex = tabIndex++; cboSubdirectory.TabIndex = tabIndex++; lblRename.TabIndex = tabIndex++; cboRename.TabIndex = tabIndex++; chkKeepOrganized.TabIndex = tabIndex++; chkMoveIntoTopFolder.TabIndex = tabIndex++; btnHelp.TabIndex = tabIndex++; btnCancel.TabIndex = tabIndex++; btnOK.TabIndex = tabIndex++; setWrapAroundTabControl(tabIndex, txtDirectory, null); initialized = true; }