Exemple #1
0
 private static void updateColor(IEditControl c, QCheckBox cb)
 {
     updateColor(c, cb.Checked);
     if (c is IWatermarkable)
     {
         (c as IWatermarkable).WatermarkEnabled = !cb.Checked;
         c.ForeColor = cb.Checked ? Color.Black : Styles.Watermark;
     }
 }
        public QCheckedMessageBox(IWin32Window Owner, string Text, string Title, QMessageBoxButtons Buttons, QMessageBoxIcon Icon, QMessageBoxButton DefaultButton, string CheckboxText, bool Checked)
            : base(Text, Title, Buttons, Icon, DefaultButton)
        {
            chkCheckbox          = new QCheckBox(CheckboxText, this.BackColor);
            chkCheckbox.Location = new Point(MARGIN, btnOK.Bottom + SPACING);
            chkCheckbox.Checked  = Checked;
            this.Controls.Add(chkCheckbox);
            this.ClientSize = new Size(Math.Max(this.ClientRectangle.Width, chkCheckbox.Right + MARGIN), chkCheckbox.Bottom + MARGIN);

            this.ShowDialog(Owner);
        }
Exemple #3
0
        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++;
        }
Exemple #4
0
        private void updateColor(object sender, EventArgs e)
        {
            if (isMultiple)
            {
                IEditControl c  = checkboxes.First(kvp => kvp.Value.Equals(sender)).Key;
                QCheckBox    cb = sender as QCheckBox;

                updateColor(c, cb);
            }
            else
            {
                IEditControl it = sender as IEditControl;
                it.Highlighted = it.Changed;
            }
        }
Exemple #5
0
        private void setupArtwork()
        {
            if (art == null)
            {
                art = new Artwork();

                art.BlankMessage = Localization.Get(UI_Key.Edit_Tags_Artwork_Blank_Message);

                art.DragEnter  += artDragEnter;
                art.DragDrop   += artDragDrop;
                art.MouseDown  += artDoDrag;
                art.AllowDrop   = true;
                art.OverlayInfo = true;

                this.Controls.Add(art);

                //if (isMultiple)
                {
                    chkArt = new QCheckBox(String.Empty, this.BackColor);
                    chkArt.CheckedChanged += (s, e) =>
                    {
                        ImageDirty = chkArt.Checked;
                        Dirty     |= chkArt.Checked;
                    };
                    this.Controls.Add(chkArt);
                }

                btnLoadArt = new QButton(Localization.Get(UI_Key.Edit_Tags_Load), false, true);
                btnLoadArt.ButtonPressed += (s) => { loadArt(); };
                this.Controls.Add(btnLoadArt);

                btnClearArt = new QButton(Localization.Get(UI_Key.Edit_Tags_Clear), false, true);
                btnClearArt.ButtonPressed += (s) => { clearArt(); };
                this.Controls.Add(btnClearArt);

                btnCopyArt = new QButton(Localization.Get(UI_Key.Edit_Tags_Copy), false, true);
                btnCopyArt.ButtonPressed += (s) => { copyArt(); };
                this.Controls.Add(btnCopyArt);

                btnPasteArt = new QButton(Localization.Get(UI_Key.Edit_Tags_Paste), false, true);
                btnPasteArt.ButtonPressed += (s) => { pasteArt(); };
                this.Controls.Add(btnPasteArt);
            }
            Image            = null;
            art.CurrentTrack = tracks[0];
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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();
        }
Exemple #8
0
        public QSpin(bool CheckBox, bool Checked, string PrefixText, string PostfixText, int Min, int Max, int Default, int Increment, Color BackColor)
        {
            restoring = true;

            this.Min = Min;
            this.Max = Max;

            this.BackColor = BackColor;

            upHover   = false;
            downHover = false;

            this.Increment = Increment;

            if (CheckBox)
            {
                chkMain                 = new QCheckBox(PrefixText, this.BackColor);
                chkMain.AutoSize        = false;
                chkMain.Checked         = Checked;
                chkMain.CheckedChanged += new EventHandler(chkMain_CheckedChanged);
                chkMain.MouseEnter     += (s, e) => { this.Hovering = true; this.Invalidate(); };
                chkMain.MouseLeave     += (s, e) => { this.Hovering = false; this.Invalidate(); };
                this.Controls.Add(chkMain);
            }
            else
            {
                chkMain = null;
            }

            prefixText  = PrefixText;
            postfixText = PostfixText;

            txtMain              = new QTextBox();
            txtMain.Font         = Styles.Font;
            txtMain.Width        = 30;
            txtMain.TextAlign    = HorizontalAlignment.Right;
            txtMain.BorderStyle  = BorderStyle.None;
            txtMain.TextChanged += new EventHandler(txtMain_TextChanged);
            txtMain.Leave       += (s, e) => { if (txtMain.Text.Length == 0)
                                               {
                                                   txtMain.Text = this.Min.ToString();
                                               }
            };
            txtMain.KeyUp += (s, e) =>
            {
                switch (e.KeyCode)
                {
                case Keys.Up:
                    setValWithIncrement(this.Value + Increment);
                    e.Handled = true;
                    break;

                case Keys.Down:
                    setValWithIncrement(this.value - Increment);
                    e.Handled = true;
                    break;
                }
            };

            //this.Size = txtMain.Size;
            this.Controls.Add(txtMain);

            setValue(Math.Min(this.Max, Math.Max(this.Min, Default)));

            OffEquivalent = -1;

            updateControls();

            restoring = false;

            this.TabStop = false;
        }
Exemple #9
0
        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 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();
        }
Exemple #11
0
        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);
        }
Exemple #12
0
        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);
            }
        }
Exemple #13
0
        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();
        }
Exemple #14
0
        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;
        }