Ignore:
Timestamp:
9/28/2008 3:24:03 PM (4 years ago)
Author:
lowjoel
Message:

Have a "hide when minimised" behaviour to Eraser.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/Eraser/MainForm.cs

    r427 r431  
    5757                new Executor.TaskProcessedEvent(OnTaskProcessed); 
    5858 
     59            //Check the notification area context menu's minimise to tray item. 
     60            hideWhenMinimiseToolStripMenuItem.Checked = HideWhenMinimised; 
     61 
    5962            //Create the toolbar control 
    6063            ToolBar.Name = "toolBar"; 
     
    186189            //And the logo 
    187190            Bitmap logo = Properties.Resources.BackgroundLogo; 
    188             dc.DrawImage(logo, new Point(ClientSize.Width - logo.Width - 10, 
    189                 (contentPanel.Top - logo.Height) / 2)); 
     191            dc.DrawImage(logo, new Rectangle(ClientSize.Width - logo.Width - 10, 
     192                (contentPanel.Top - logo.Height) / 2, logo.Width, logo.Height)); 
    190193 
    191194            dc.SmoothingMode = SmoothingMode.AntiAlias; 
     
    201204        private void MainForm_Resize(object sender, EventArgs e) 
    202205        { 
    203             if (WindowState == FormWindowState.Normal) 
     206            if (WindowState != FormWindowState.Minimized) 
    204207            { 
    205208                Bitmap bmp = new Bitmap(Width, Height); 
     
    209212                CreateGraphics().DrawImage(bmp, new Point(0, 0)); 
    210213            } 
    211             else if (WindowState == FormWindowState.Minimized) 
     214            else if (HideWhenMinimised) 
    212215            { 
    213216                Hide(); 
     
    233236        } 
    234237 
     238        #region Task processing code (for notification area animation) 
    235239        void OnTaskProcessing(Eraser.Manager.Task task) 
    236240        { 
     
    280284            Resources.NotifyBusy10 
    281285        }; 
    282  
     286        #endregion 
     287 
     288        #region Minimise to tray code 
     289        private bool HideWhenMinimised 
     290        { 
     291            get 
     292            { 
     293                Dictionary<string, object> settings = 
     294                    ManagerLibrary.Instance.Settings.PluginSettings; 
     295                return settings.ContainsKey("HideWhenMinimised") ? 
     296                    (bool)settings["HideWhenMinimised"] : true; 
     297            } 
     298 
     299            set 
     300            { 
     301                Dictionary<string, object> settings = 
     302                    ManagerLibrary.Instance.Settings.PluginSettings; 
     303                settings["HideWhenMinimised"] = hideWhenMinimiseToolStripMenuItem.Checked; 
     304                ManagerLibrary.Instance.Settings.SetSettings(settings); 
     305            } 
     306        } 
     307 
     308        private bool closedFromNotificationIcon = false; 
    283309        private void MainForm_FormClosing(object sender, FormClosingEventArgs e) 
    284310        { 
    285             if (sender == null) 
     311            if (HideWhenMinimised && ( 
     312                !closedFromNotificationIcon || e.CloseReason != CloseReason.UserClosing)) 
    286313            { 
    287314                e.Cancel = true; 
     
    290317        } 
    291318 
    292         private void Show(object sender, EventArgs e) 
     319        private void openToolStripMenuItem_Click(object sender, EventArgs e) 
    293320        { 
    294321            Visible = true; 
     
    296323            Activate(); 
    297324        } 
     325 
     326        private void exitToolStripMenuItem_Click(object sender, EventArgs e) 
     327        { 
     328            closedFromNotificationIcon = true; 
     329            Close(); 
     330        } 
     331 
     332        private void hideWhenMinimiseToolStripMenuItem_Click(object sender, EventArgs e) 
     333        { 
     334            HideWhenMinimised = hideWhenMinimiseToolStripMenuItem.Checked; 
     335        } 
     336        #endregion 
    298337    } 
    299338} 
Note: See TracChangeset for help on using the changeset viewer.