// Set the style for active item private void setItemActive(ToolStripMenuItem item) { Color activeItemColor = HColor.color(Properties.Menu.Default.ActiveTaskColor); item.Font = new Font(item.Font, FontStyle.Bold); item.BackColor = activeItemColor; }
/// <summary> /// On mouse enter, if default text, remove it and change text color. /// </summary> void ReminderText_MouseEnter(object sender, EventArgs e) { if (((ToolStripTextBox)sender).Text == Properties.Menu.Default.ReminderTextWatermarkText) { ((ToolStripTextBox)sender).Text = ""; ((ToolStripTextBox)sender).ForeColor = HColor.color(Properties.Menu.Default.NewItemTextColor); } }
/// <summary> /// On mouse leave, if no text was entered, unfocus and reset default text and color. /// </summary> void NewInterval_MouseLeave(object sender, EventArgs e) { if (((ToolStripTextBox)sender).Text == "") { ((ToolStripDropDownMenu)(((ToolStripTextBox)sender).Owner)).Focus(); ((ToolStripTextBox)sender).ForeColor = HColor.color(Properties.Menu.Default.WatermarkTextColor); ((ToolStripTextBox)sender).Text = Properties.Menu.Default.NewIntervalWatermarkText; } }
/// <summary> /// On mouse leave, if no text was entered, unfocus and reset default text and color. /// </summary> void NewItem_MouseLeave(object sender, EventArgs e) { if (((ToolStripTextBox)sender).Text == "") { ((ContextMenuStrip)(((ToolStripTextBox)sender).Owner)).Focus(); ((ToolStripTextBox)sender).ForeColor = HColor.color(Properties.Menu.Default.WatermarkTextColor); ((ToolStripTextBox)sender).Text = Properties.Menu.Default.NewProjectWatermarkText; } }
/// <summary> /// Create menu on right-click /// </summary> /// <param name="menu"></param> public void createMenuList(ContextMenuStrip menu) { menu.Items.Clear(); ToolStripMenuItem item; ToolStripTextBox newItemBox; ToolStripSeparator sep; // Task list in desired order + current task if relevant string[] taskNames = getTaskNames(); int numberOfTasks = taskNames.Length; string actualTask; bool actual = TimerFile.Instance.getLastItem(out actualTask); string[] intervals = Ini.GetStringArray(Program.secManualReminder, Program.paramsIntervals, "10 mins"); int maxItemsInList = Ini.GetInt(Program.secGeneral, Program.paramsMaxItems, numberOfTasks); if (maxItemsInList <= 0) { maxItemsInList = numberOfTasks; } // Actually creating the menu ToolStripMenuItem startOfList = new ToolStripMenuItem(); startOfList.Text = "More..."; startOfList.Font = new Font(startOfList.Font, FontStyle.Italic); if (numberOfTasks > maxItemsInList) { menu.Items.Add(startOfList); } int i; for (i = 0; i < numberOfTasks - maxItemsInList; i++) { string taskName = taskNames[i]; if (taskName != "") { item = new ToolStripMenuItem(); item.Text = taskName; if (actual && taskName.Equals(actualTask)) { setItemActive(item); menu.Items.Add(item); } else { item.Font = new Font(item.Font, FontStyle.Regular); item.Click += new EventHandler(Task_Click); startOfList.DropDownItems.Add(item); } } } for (; i < numberOfTasks; i++) { string taskName = taskNames[i]; if (taskName != "") { item = new ToolStripMenuItem(); item.Text = taskName; item.Click += new EventHandler(Task_Click); menu.Items.Add(item); if (actual && taskName.Equals(actualTask)) { setItemActive(item); } } } // Textbox for adding new project newItemBox = new ToolStripTextBox("NewProject"); newItemBox.Text = Properties.Menu.Default.NewProjectWatermarkText; newItemBox.ForeColor = HColor.color(Properties.Menu.Default.WatermarkTextColor); newItemBox.KeyUp += new KeyEventHandler(NewItem_KeyUp); newItemBox.MouseEnter += new EventHandler(NewItem_MouseEnter); newItemBox.MouseLeave += new EventHandler(NewItem_MouseLeave); menu.Items.Add(newItemBox); // Separator. sep = new ToolStripSeparator(); menu.Items.Add(sep); // Pause. item = new ToolStripMenuItem(); item.Text = "Pause"; item.Click += new EventHandler(Pause_Click); //item.Image = Resources.Pause; menu.Items.Add(item); // Pause and remind. item = new ToolStripMenuItem(); item.Text = "Pause and remind in..."; //item.Image = Resources.Pause; menu.Items.Add(item); ToolStripMenuItem subItem; foreach (string interval in intervals) { if (interval != "") { subItem = new ToolStripMenuItem(); subItem.Text = interval; subItem.Click += new EventHandler(PauseAndRemindIn_Click); item.DropDownItems.Add(subItem); } } // Textbox for adding new project newItemBox = new ToolStripTextBox("How long?"); newItemBox.Text = Properties.Menu.Default.NewIntervalWatermarkText; newItemBox.ForeColor = HColor.color(Properties.Menu.Default.WatermarkTextColor); newItemBox.KeyUp += new KeyEventHandler(NewInterval_KeyUp); newItemBox.MouseEnter += new EventHandler(NewInterval_MouseEnter); newItemBox.MouseLeave += new EventHandler(NewInterval_MouseLeave); item.DropDownItems.Add(newItemBox); // Reminder. item = new ToolStripMenuItem(); item.Text = "Simple reminder..."; //item.Image = Resources.Pause; menu.Items.Add(item); // Textbox for adding reminder text newItemBox = new ToolStripTextBox(Properties.Menu.Default.ReminderTextWatermarkText); newItemBox.Text = Properties.Menu.Default.ReminderTextWatermarkText; newItemBox.Font = new Font(newItemBox.Font, FontStyle.Italic); newItemBox.KeyUp += new KeyEventHandler(ReminderText_KeyUp); newItemBox.MouseEnter += new EventHandler(ReminderText_MouseEnter); newItemBox.MouseLeave += new EventHandler(ReminderText_MouseLeave); item.DropDownItems.Add(newItemBox); // Separator. sep = new ToolStripSeparator(); item.DropDownItems.Add(sep); foreach (string interval in intervals) { if (interval != "") { subItem = new ToolStripMenuItem(); subItem.Text = interval; subItem.Click += new EventHandler(ReminderIn_Click); item.DropDownItems.Add(subItem); } } // Textbox for adding new time for reminder newItemBox = new ToolStripTextBox("How long?"); newItemBox.Text = Properties.Menu.Default.NewIntervalWatermarkText; newItemBox.ForeColor = HColor.color(Properties.Menu.Default.WatermarkTextColor); newItemBox.KeyUp += new KeyEventHandler(ReminderIn_KeyUp); newItemBox.MouseEnter += new EventHandler(NewInterval_MouseEnter); newItemBox.MouseLeave += new EventHandler(NewInterval_MouseLeave); item.DropDownItems.Add(newItemBox); // Separator. sep = new ToolStripSeparator(); menu.Items.Add(sep); item = new ToolStripMenuItem(); item.Text = "Remove..."; menu.Items.Add(item); foreach (string taskName in taskNames) { if (taskName != "") { ToolStripMenuItem remItem = new ToolStripMenuItem(); remItem.Text = taskName; if (actual && taskName.Equals(actualTask)) { remItem.Enabled = false; remItem.Text += " (active)"; } else { remItem.Click += new EventHandler(RemoveTask_Click); } item.DropDownItems.Add(remItem); } } // Separator. sep = new ToolStripSeparator(); menu.Items.Add(sep); // Timesheet. item = new ToolStripMenuItem(); item.Text = "TimeSheet"; item.Font = new Font(item.Font, FontStyle.Bold); item.Click += new EventHandler(TimeSheet_Click); //item.Image = Resources.Timesheet; menu.Items.Add(item); // Separator. sep = new ToolStripSeparator(); menu.Items.Add(sep); // Files item = new ToolStripMenuItem(); item.Text = "Files..."; menu.Items.Add(item); subItem = new ToolStripMenuItem(); subItem.Text = "Settings"; subItem.Click += new EventHandler(Open_Click); item.DropDownItems.Add(subItem); subItem = new ToolStripMenuItem(); subItem.Text = "Time file"; subItem.Click += new EventHandler(Open_Click); item.DropDownItems.Add(subItem); // Ordering string order = Ini.GetString(Program.secGeneral, Program.paramsOrder, ""); item = new ToolStripMenuItem(); item.Text = "Order..."; menu.Items.Add(item); subItem = new ToolStripMenuItem(); subItem.Text = "Ascending"; subItem.Click += new EventHandler(Order_Click); if (string.Compare(subItem.Text, order, true) == 0) { setItemActive(subItem); } item.DropDownItems.Add(subItem); subItem = new ToolStripMenuItem(); subItem.Text = "Descending"; subItem.Click += new EventHandler(Order_Click); if (string.Compare(subItem.Text, order, true) == 0) { setItemActive(subItem); } item.DropDownItems.Add(subItem); subItem = new ToolStripMenuItem(); subItem.Text = "Chronological"; subItem.Click += new EventHandler(Order_Click); if (string.Compare(subItem.Text, order, true) == 0) { setItemActive(subItem); } item.DropDownItems.Add(subItem); // Separator. sep = new ToolStripSeparator(); menu.Items.Add(sep); // About. item = new ToolStripMenuItem(); item.Text = "About"; item.Click += new EventHandler(About_Click); item.Image = SystemIcons.Information.ToBitmap(); //item.Image = Resources.About; menu.Items.Add(item); // Separator. sep = new ToolStripSeparator(); menu.Items.Add(sep); // Exit. item = new ToolStripMenuItem(); item.Text = "Exit"; item.Click += new System.EventHandler(Exit_Click); item.Image = SystemIcons.Error.ToBitmap(); //item.Image = Resources.Exit; menu.Items.Add(item); }