Beispiel #1
0
        // 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;
        }
Beispiel #2
0
 /// <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);
     }
 }
Beispiel #3
0
 /// <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;
     }
 }
Beispiel #4
0
 /// <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;
     }
 }
Beispiel #5
0
        /// <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);
        }