コード例 #1
0
        public void Show(ITrayMenu trayMenu)
        {
#if WINDOWS
            var contextMenu = new ContextMenu();

            foreach (var menuEntry in trayMenu.MenuEntries)
            {
                // TODO SubMenus
                contextMenu.Items.Add(new MenuItem {
                    Header = menuEntry.Title, Command = new RelayCommand(o => menuEntry.Clicked?.Invoke(menuEntry))
                });
            }

            var iconPath = Process.GetCurrentProcess().MainModule.FileName;

            _ = new TaskbarIcon
            {
                Icon           = System.Drawing.Icon.ExtractAssociatedIcon(iconPath),
                ToolTipText    = "MakroBoard",
                ContextMenu    = contextMenu,
                Visibility     = System.Windows.Visibility.Visible,
                MenuActivation = PopupActivationMode.LeftOrRightClick,
            };
            Application.Run();
#endif
        }
コード例 #2
0
        public TrayMenuController(ITrayMenu menu, ApplicationContext app, IPomodoroEngine pomodoroEngine, IEventHub eventHub)
        {
            this.menu           = menu;
            this.app            = app;
            this.pomodoroEngine = pomodoroEngine;

            menu.OnStartPomodoroClick(OnStartPomodoroClick);
            menu.OnStartLongBreakClick(OnStartLongBreakClick);
            menu.OnStartShortBreakClick(OnStartShortBreakClick);
            menu.OnStopTimerClick(OnStopTimerClick);
            menu.OnResetPomodoroCountClick(OnResetPomodoroCountClick);
            menu.OnExitClick(OnExitClick);

            eventHub.Subscribe <TimerStarted>(OnTimerStarted);
            eventHub.Subscribe <TimerStopped>(OnTimerStopped);
            eventHub.Subscribe <TimeElapsed>(OnTimeElasped);
            eventHub.Subscribe <PomodoroCountChanged>(OnPomodoroCountChanged);

            menu.Update(mutator =>
            {
                mutator.UpdateRemainingTime(Duration.Zero.ToTimeString());
                mutator.UpdatePomodoroCount(0);
                mutator.EnableStopTimerItem(false);
            });
        }
コード例 #3
0
        private static NotifyIcon CreateTrayIcon(ITrayMenu trayMenu)
        {
            var trayIcon = new NotifyIcon(new Container());

            trayIcon.Text             = "Tomighty";
            trayIcon.Icon             = Properties.Resources.icon_tomato_white;
            trayIcon.ContextMenuStrip = trayMenu.Component;
            trayIcon.Visible          = true;

            return(trayIcon);
        }
コード例 #4
0
        public void Show(ITrayMenu trayMenu)
        {
#if Linux
            Application.Init();
            _TrayMenu = trayMenu;
            var app = new Application("app.makroboard.client.tray", GLib.ApplicationFlags.None);
            app.Register(GLib.Cancellable.Current);

            trayIcon            = new StatusIcon(new Pixbuf("app_icon.png"));
            trayIcon.Visible    = true;
            trayIcon.PopupMenu += OnTrayIconPopup;

            Application.Run();
#endif
        }
コード例 #5
0
ファイル: frmMain.cs プロジェクト: monster1025/JiraTimeBot
        public frmMain()
        {
            InitializeComponent();
            _container = new Bootstrapper().Build(txtLog);

            _trayIcon = _container.Resolve <ITrayMenu>();
            _trayIcon.Create(this);

            _job             = _container.Resolve <Job>();
            _log             = _container.Resolve <ILog>();
            _tasksProcessors = _container.Resolve <IAllTasksProcessors>();

            _controls = new Control[] { txtDummyMode, btnStart, btnMeeting, btnSettings, dteForDay, btnDoForDate };

            _settingsWindowShow = () =>
            {
                var frmSettings = new frmSettings(_container.Resolve <AutoStartUp>());
                frmSettings.ShowDialog(this);
            };
            _settingsErrorReporter = msg =>
                                     MessageBox.Show(msg, "Загрузка настроек", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            ;
        }
コード例 #6
0
 public PluginManager(ITrayMenu menu)
 {
     _menu   = menu;
     Plugins = new List <IPlugin>();
 }
コード例 #7
0
 public void Show(ITrayMenu trayMenu)
 {
     _InternalTrayIcon.Show(trayMenu);
 }
コード例 #8
0
 public void Show(ITrayMenu trayMenu)
 {
     throw new NotImplementedException();
 }