示例#1
0
        /// <summary>
        /// Creates a JumpList for the given application instance.
        /// It also adds thumbnail toolbars, which are a set of up to seven buttons at the bottom of the taskbar’s icon thumbnail preview.
        /// </summary>
        /// <param name="windowHandle">The application instance's main window handle.</param>
        /// <param name="buttons">The thumbnail toolbar buttons to be added.</param>
        public void CreateJumpList(IntPtr windowHandle, WindowsThumbnailToolbarButtons buttons)
        {
            if (ToolbarButtonsCreated || !IsSupported || windowHandle == IntPtr.Zero)
            {
                return;
            }

            SafeInvoke(() =>
            {
                // One ApplicationId, so all windows must share the same jumplist
                var jumpList = JumpList.CreateJumpList();
                jumpList.ClearAllUserTasks();
                jumpList.KnownCategoryToDisplay = JumpListKnownCategoryType.Recent;
                jumpList.Refresh();

                CreateTaskbarButtons(windowHandle, buttons);
            }, nameof(CreateJumpList));

            return;

            void CreateTaskbarButtons(IntPtr handle, WindowsThumbnailToolbarButtons thumbButtons)
            {
                _commitButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Commit.Image, 48, true), thumbButtons.Commit.Text);
                _commitButton.Click += thumbButtons.Commit.Click;

                _pushButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Push.Image, 48, true), thumbButtons.Push.Text);
                _pushButton.Click += thumbButtons.Push.Click;

                _pullButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Pull.Image, 48, true), thumbButtons.Pull.Text);
                _pullButton.Click += thumbButtons.Pull.Click;

                // Call this method using reflection.  This is a workaround to *not* reference WPF libraries, becuase of how the WindowsAPICodePack was implimented.
                TaskbarManager.Instance.ThumbnailToolBars.AddButtons(handle, _commitButton, _pullButton, _pushButton);
            }
        }
示例#2
0
        public static void AddButton(String tooltip, Icon icon, IntPtr windowsHandle)
        {
            ThumbnailToolBarButton button = new ThumbnailToolBarButton(icon, tooltip);

            button.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(button_Click);
            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(windowsHandle, new ThumbnailToolBarButton[] { button });
        }
        private void CreateToolBarButtons()
        {
            var buttons = new List <ThumbnailToolBarButton>();

            s_PlayPauseButton        = new ThumbnailToolBarButton(s_PlayIcon, TEXT_PLAY);
            s_PlayPauseButton.Click += PlayPauseClick;

            s_StopButton        = new ThumbnailToolBarButton(s_StopIcon, TEXT_STOP);
            s_StopButton.Click += StopClick;

            s_ForwardButton        = new ThumbnailToolBarButton(s_ForwardIcon, TEXT_FORWARD);
            s_ForwardButton.Click += ForwardClick;

            s_BackwardButton        = new ThumbnailToolBarButton(s_BackwardIcon, TEXT_BACKWARD);
            s_BackwardButton.Click += BackwardClick;

            buttons.Add(s_BackwardButton);
            buttons.Add(s_PlayPauseButton);
            buttons.Add(s_StopButton);
            buttons.Add(s_ForwardButton);

            if (m_Playlist != null)
            {
                s_NextButton        = new ThumbnailToolBarButton(s_NextIcon, TEXT_NEXT);
                s_NextButton.Click += NextClick;

                s_PrevButton        = new ThumbnailToolBarButton(s_PrevIcon, TEXT_PREV);
                s_PrevButton.Click += PrevClick;

                buttons.Add(s_NextButton);
                buttons.Insert(0, s_PrevButton);
            }

            Taskbar.ThumbnailToolBars.AddButtons(m_MpdnFormHandle, buttons.ToArray());
        }
示例#4
0
        private void InitTaskBar()
        {
            //播放按钮
            ToolBarPlayPauseButton         = new ThumbnailToolBarButton(Properties.Resources.Play, "播放");
            ToolBarPlayPauseButton.Enabled = true;
            ToolBarPlayPauseButton.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(btnPlayPause_Click);


            ThumbnailToolBarButton btnNext = new ThumbnailToolBarButton(Properties.Resources.Next, "下一曲");

            btnNext.Enabled = true;
            btnNext.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(btnNext_Click);

            //上一首按钮
            ThumbnailToolBarButton btnPre = new ThumbnailToolBarButton(Properties.Resources.Last, "上一曲");

            btnNext.Enabled = true;
            btnPre.Click   += new EventHandler <ThumbnailButtonClickedEventArgs>(btnPre_Click);

            //添加按钮
            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(new WindowInteropHelper(Application.Current.MainWindow).Handle, btnPre, ToolBarPlayPauseButton, btnNext);

            //裁剪略缩图,后面提到
            //TaskbarManager.Instance.TabbedThumbnail.SetThumbnailClip(new WindowInteropHelper(this).Handle, new System.Drawing.Rectangle(5, 570, 45, 43));
        }
示例#5
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            ttbbPrevious         = new ThumbnailToolBarButton(System.Drawing.Icon.FromHandle(Properties.Resources.PreviousIcon.GetHicon()), "Previous");
            ttbbPrevious.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(Button_Click_4);
            ttbbPlayPause        = new ThumbnailToolBarButton(System.Drawing.Icon.FromHandle(Properties.Resources.PlayIcon.GetHicon()), "Play");
            ttbbPlayPause.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(Button_Click_2);
            ttbbNext             = new ThumbnailToolBarButton(System.Drawing.Icon.FromHandle(Properties.Resources.NextIcon.GetHicon()), "Next");
            ttbbNext.Click      += new EventHandler <ThumbnailButtonClickedEventArgs>(Button_Click_3);

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(new WindowInteropHelper(this).Handle, ttbbPrevious, ttbbPlayPause, ttbbNext);

            threadSliderPosition = new Thread(
                () => {
                while (true)
                {
                    this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
                                                (ThreadStart) delegate()
                    {
                        PositionSlider.Value = audioFileReader.CurrentTime.TotalSeconds;
                    }
                                                );
                    Thread.Sleep(400);
                }
            }
                )
            {
                IsBackground = true
            };
        }
示例#6
0
        void Form1_Shown(object sender, System.EventArgs e)
        {
            listView1.SelectedIndexChanged += new System.EventHandler(listView1_SelectedIndexChanged);

            buttonFirst         = new ThumbnailToolBarButton(Properties.Resources.first, "First Image");
            buttonFirst.Enabled = false;
            buttonFirst.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonFirst_Click);

            buttonPrevious         = new ThumbnailToolBarButton(Properties.Resources.prevArrow, "Previous Image");
            buttonPrevious.Enabled = false;
            buttonPrevious.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonPrevious_Click);

            buttonNext        = new ThumbnailToolBarButton(Properties.Resources.nextArrow, "Next Image");
            buttonNext.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonNext_Click);

            buttonLast        = new ThumbnailToolBarButton(Properties.Resources.last, "Last Image");
            buttonLast.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonLast_Click);

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, buttonFirst, buttonPrevious, buttonNext, buttonLast);

            if (listView1.Items.Count > 0)
            {
                listView1.Items[0].Selected = true;
            }

            //
            TaskbarManager.Instance.TabbedThumbnail.SetThumbnailClip(this.Handle, new Rectangle(pictureBox1.Location, pictureBox1.Size));
        }
示例#7
0
        private void InitializeTaskBarButtons()
        {
            try
            {
                _togglePlayPauseButton         = new ThumbnailToolBarButton(Properties.Resources.play_circle, "Play");
                _togglePlayPauseButton.Click  += TogglePlayPauseButtonOnClick;
                _togglePlayPauseButton.Enabled = false;
                _nextTrackButton         = new ThumbnailToolBarButton(Properties.Resources.ff_circle, "Next");
                _nextTrackButton.Click  += NextTrackButtonOnClick;
                _nextTrackButton.Enabled = false;

                TaskbarManager
                .Instance
                .ThumbnailToolBars
                .AddButtons(
                    new WindowInteropHelper(
                        Application.Current.MainWindow).Handle,
                    _togglePlayPauseButton,
                    _nextTrackButton);
            }
            catch (Exception e)
            {
                _logger.Log(e.ToString(), Category.Exception, Priority.Medium);
            }
        }
        public static void AddTaskbarButtons(UIElement content)
        {
            ThumbnailToolBarButton refresh = AddRefreshBtn();
            ThumbnailToolBarButton forward = AddForwardBtn();
            ThumbnailToolBarButton back    = AddBackBtn();

            if (content == null || refresh == null || forward == null || back == null)
            {
                return;
            }
            try
            {
                TaskbarManager.Instance.ThumbnailToolBars.AddButtons(content, back, refresh, forward);
                var tempList = new List <ThumbnailToolBarButton>();
                tempList.Add(back);
                tempList.Add(refresh);
                tempList.Add(forward);
                var preview = TaskbarManager.Instance.TabbedThumbnail.GetThumbnailPreview(content);
                buttonList.Add(preview, tempList);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.ToString());
            }
        }
        private static ThumbnailToolBarButton AddRefreshBtn()
        {
            ThumbnailToolBarButton refresh = null;
            var streamResourceInfo         = Application.GetResourceStream(new Uri("/BodyArchitect.Client.Resources;component/Images/Refresh16.png", UriKind.Relative));

            if (streamResourceInfo != null)
            {
                Stream iconStream = streamResourceInfo.Stream;
                var    bmp        = new Bitmap(iconStream);
                var    icon       = Icon.FromHandle(bmp.GetHicon());
                //TODO:Translate
                refresh        = new ThumbnailToolBarButton(icon, "Refresh");
                refresh.Click += (sender, e) =>
                {
                    var content = e.WindowsControl as Frame;
                    if (content != null)
                    {
                        var control = content.Content as IControlView;
                        if (control != null)
                        {
                            control.RefreshView();
                            TThumbnailHelper.DelayedRefreshPreview(content);
                        }
                    }
                };
            }
            return(refresh);
        }
示例#10
0
        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            btninfo        = new ThumbnailToolBarButton(Properties.Resources.iconfinder_icon_play_211876, "Info");
            btninfo.Click += btninfo_Click;

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(new System.Windows.Interop.WindowInteropHelper(this).Handle, btninfo);
        }
示例#11
0
        void Window1_Loaded(object sender, RoutedEventArgs e)
        {
            buttonFirst         = new ThumbnailToolBarButton(Properties.Resources.first, "First Image");
            buttonFirst.Enabled = false;
            buttonFirst.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonFirst_Click);

            buttonPrevious         = new ThumbnailToolBarButton(Properties.Resources.prevArrow, "Previous Image");
            buttonPrevious.Enabled = false;
            buttonPrevious.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonPrevious_Click);

            buttonNext        = new ThumbnailToolBarButton(Properties.Resources.nextArrow, "Next Image");
            buttonNext.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonNext_Click);

            buttonLast        = new ThumbnailToolBarButton(Properties.Resources.last, "Last Image");
            buttonLast.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(buttonLast_Click);

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(new WindowInteropHelper(this).Handle, buttonFirst, buttonPrevious, buttonNext, buttonLast);

            // Set our selection
            ImageList.SelectedIndex = 0;
            ImageList.Focus();

            if (ImageList.SelectedItem != null)
            {
                ImageList.ScrollIntoView(ImageList.SelectedItem);
            }
        }
示例#12
0
        public Form1()
        {
            InitializeComponent();
            timer.Interval = 1000;
            timer.Tick    += new EventHandler(timer_Tick);
            day            = 8 * 60;
            max            = 100;
            that           = this;

            ThumbnailToolBarButton oneButton = new ThumbnailToolBarButton(TimeTrack.Properties.Resources.one, "+1 Minute");

            oneButton.Click += button1_Click;

            ThumbnailToolBarButton fiveButton = new ThumbnailToolBarButton(TimeTrack.Properties.Resources.five, "+5 Minuten");

            fiveButton.Click += button2_Click;

            ThumbnailToolBarButton tenButton = new ThumbnailToolBarButton(TimeTrack.Properties.Resources.ten, "+10 Minuten");

            tenButton.Click += button3_Click;

            ThumbnailToolBarButton thirtyButton = new ThumbnailToolBarButton(TimeTrack.Properties.Resources.thirty, "+30 Minuten");

            thirtyButton.Click += button4_Click;

            ThumbnailToolBarButton sixtyButton = new ThumbnailToolBarButton(TimeTrack.Properties.Resources.sixty, "+60 Minuten");

            sixtyButton.Click += button5_Click;

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, oneButton, fiveButton, tenButton, thirtyButton, sixtyButton);
        }
        private void InitTaskbar(bool init)
        {
            if (init)
            {
                taskbar = TaskbarManager.Instance;

                taskbarPlayPause = new ThumbnailToolBarButton(Resources.Play, "Play");
                taskbarStop      = new ThumbnailToolBarButton(Resources.Stop, "Stop");
                taskbarClipboard = new ThumbnailToolBarButton(Resources.PlayClipboard, "Play Clipboard");

                taskbarClipboard.Click += buttonPlayClipboard_Click;
                taskbarPlayPause.Click += onTaskbarPlayPause_Click;
                taskbarStop.Click      += buttonStop_Click;

                taskbarButtons = new ThumbnailToolBarButton[]
                {
                    taskbarClipboard,
                    taskbarPlayPause,
                    taskbarStop
                };

                taskbar.ThumbnailToolBars.AddButtons(Handle, taskbarButtons);
            }
            else
            {
                taskbar = null;

                taskbarPlayPause = null;
                taskbarStop      = null;
                taskbarClipboard = null;

                taskbarButtons = null;
            }
        }
示例#14
0
        /// <summary>
        /// Creates a JumpList for the given application instance.
        /// It also adds thumbnail toolbars, which are a set of up to seven buttons at the bottom of the taskbar’s icon thumbnail preview.
        /// </summary>
        /// <param name="windowHandle">The application instance's main window handle.</param>
        /// <param name="buttons">The thumbnail toolbar buttons to be added.</param>
        public void CreateJumpList(IntPtr windowHandle, WindowsThumbnailToolbarButtons buttons)
        {
            if (!IsSupported)
            {
                return;
            }

            CreateJumpList();

            CreateTaskbarButtons(windowHandle, buttons);

            return;

            void CreateJumpList()
            {
                try
                {
                    var jumpList = JumpList.CreateJumpListForIndividualWindow(TaskbarManager.Instance.ApplicationId, windowHandle);
                    jumpList.ClearAllUserTasks();
                    jumpList.KnownCategoryToDisplay = JumpListKnownCategoryType.Recent;
                    jumpList.Refresh();
                }
                catch
                {
                    // have seen a COM exception here that caused the UI to stop loading
                }
            }

            void CreateTaskbarButtons(IntPtr handle, WindowsThumbnailToolbarButtons thumbButtons)
            {
                if (!_toolbarButtonsCreated)
                {
                    _commitButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Commit.Image, 48, true), thumbButtons.Commit.Text);
                    _commitButton.Click += thumbButtons.Commit.Click;

                    _pushButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Push.Image, 48, true), thumbButtons.Push.Text);
                    _pushButton.Click += thumbButtons.Push.Click;

                    _pullButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Pull.Image, 48, true), thumbButtons.Pull.Text);
                    _pullButton.Click += thumbButtons.Pull.Click;

                    _toolbarButtonsCreated = true;

                    // Call this method using reflection.  This is a workaround to *not* reference WPF libraries, becuase of how the WindowsAPICodePack was implimented.
                    TaskbarManager.Instance.ThumbnailToolBars.AddButtons(handle, _commitButton, _pullButton, _pushButton);
                    TaskbarManager.Instance.ApplicationId = "GitExtensions";
                }

                _commitButton.Enabled = true;
                _pushButton.Enabled   = true;
                _pullButton.Enabled   = true;
            }
        }
示例#15
0
        public ml(string[] iArgs)
        {
            //Debugger.Launch();

            args = iArgs;

            InitializeComponent();

            // taskbar buttons
            ThumbnailToolBarButton buttonFirst = new ThumbnailToolBarButton(Properties.Resources.last1, "Last");

            buttonFirst.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(playPause);
            buttonFirst.Visible = buttonFirst.Enabled = true;

            ThumbnailToolBarButton buttonMiddle = new ThumbnailToolBarButton(Properties.Resources.playPause1, "Play");

            buttonMiddle.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(playPause);
            buttonMiddle.Visible = buttonMiddle.Enabled = true;

            ThumbnailToolBarButton buttonLast = new ThumbnailToolBarButton(Properties.Resources.next1, "Next");

            buttonLast.Click  += new EventHandler <ThumbnailButtonClickedEventArgs>(playPause);
            buttonLast.Visible = buttonLast.Enabled = true;

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(Handle, buttonFirst, buttonMiddle, buttonLast);

            PlayerManager.mediaPlayer = mediaPlayer = new MediaPlayer(logger, notifyIcon);

            mediaPlayer.linkVolume(prgVolume);
            mediaPlayer.linkPlayPauseButton(btnPlayPause);
            mediaPlayer.linkTrackbar(prgTimeDone);
            mediaPlayer.linkTimeLabels(lblTimeDone, lblTimeUp);
            mediaPlayer.linkUpNowLabels(lblUpNowTitle, lblUpNowArtist);
            mediaPlayer.linkCover(imgCover);

            hotkeyManager = new HotkeyManager(mediaPlayer, this.prgVolume);

            tbControl.SelectTab(1);

            server = new HttpWebServer(mediaPlayer, logger, prgVolume, args, forceServer: true);

            spotify = new Search.Spotify(listView1, spotifyContextMenu, notifyIcon, mediaPlayer);
            spotify.authorizeUser();
            PlayerManager.logger = PlaylistManager.logger = logger;
            PlaylistManager.AutoPlaylists.updateSpecialPlaylists();

            GameChecker gameChecker = new GameChecker();

            GameLibraryManager.Initialise(gameChecker, server);

            Task.Factory.StartNew(() => updateUpdater());
        }
        public void CreatePreviewButtons()
        {
            _starticon = new Icon(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "/resources/start.ico");
            _stopicon  = new Icon(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "/resources/stop.ico");

            _thumbnailToolBarButton = new ThumbnailToolBarButton(
                _starticon, "Start");

            _thumbnailToolBarButton.Click += ToolbarThumbnailToolBarButtonClick;
            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(
                new WindowInteropHelper(Application.Current.MainWindow).Handle,
                _thumbnailToolBarButton);
        }
示例#17
0
        private void CreateThumbButtons()
        {
            _ButtonPrev        = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Previous.ico"), Locale.Current.Tooltips.Previous);
            _ButtonPrev.Click += _ButtonPrev_Click;

            _ButtonInbox        = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Inbox.ico"), Locale.Current.Tooltips.Inbox);
            _ButtonInbox.Click += _ButtonInbox_Click;

            _ButtonNext        = new ThumbnailToolBarButton(Utilities.ResourceHelper.GetIcon("Next.ico"), Locale.Current.Tooltips.Next);
            _ButtonNext.Click += _ButtonNext_Click;

            _TaskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext });
        }
        private void CreateThumbButtons()
        {
            _ButtonPrev        = new ThumbnailToolBarButton(Resources.Icons.Previous, Locale.Current.Common.Previous);
            _ButtonPrev.Click += _ButtonPrev_Click;

            _ButtonInbox        = new ThumbnailToolBarButton(Resources.Icons.Inbox, Locale.Current.Thumbnails.Inbox);
            _ButtonInbox.Click += _ButtonInbox_Click;

            _ButtonNext        = new ThumbnailToolBarButton(Resources.Icons.Next, Locale.Current.Common.Next);
            _ButtonNext.Click += _ButtonNext_Click;

            _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext });
        }
        ///<summary>
        ///Initializes and the thumbnail controls and adds them to the event handlers and matches them to the real buttons
        ///</summary>
        private void InitThumbnailToolbar()
        {
            // Create our Thumbnail toolbar buttons for the Browser doc
            thumbButtonPrev        = new ThumbnailToolBarButton(Properties.Resources.PrevIconWhite, "Previous Song");
            thumbButtonPrev.Click += new System.EventHandler <ThumbnailButtonClickedEventArgs>(this.thumbButtonPrev_Click);
            thumbButtonNext        = new ThumbnailToolBarButton(Properties.Resources.NextIconWhite, "Next Song");
            thumbButtonNext.Click += new System.EventHandler <ThumbnailButtonClickedEventArgs>(this.thumbButtonNext_Click);
            thumbButtonStop        = new ThumbnailToolBarButton(Properties.Resources.StopIconWhite, "Stop");
            thumbButtonStop.Click += new System.EventHandler <ThumbnailButtonClickedEventArgs>(this.thumbButtonStop_Click);
            thumbButtonPlay        = new ThumbnailToolBarButton(Properties.Resources.PlayIconWhite, "Play");
            thumbButtonPlay.Click += new System.EventHandler <ThumbnailButtonClickedEventArgs>(this.thumbButtonPlay_Click);

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle,
                                                                 thumbButtonPrev, thumbButtonPlay, thumbButtonStop, thumbButtonNext);
            toggleButtons(prevButton.Enabled, playButton.Enabled, stopButton.Enabled, nextButton.Enabled);
        }
示例#20
0
        public void AddButtons()
        {
            PlayPauseButton         = new ThumbnailToolBarButton(ToIcon(Resources.Taskbar.Play), Localize.Get(Strings.Play));
            PlayPauseButton.Click  += PlayPauseButton_Click;
            PlayPauseButton.Visible = false;

            NextButton         = new ThumbnailToolBarButton(ToIcon(Resources.Taskbar.FastForward), Localize.Get(Strings.Next));
            NextButton.Click  += NextButton_Click;
            NextButton.Visible = false;

            BackButton         = new ThumbnailToolBarButton(ToIcon(Resources.Taskbar.Rewind), Localize.Get(Strings.Back));
            BackButton.Click  += BackButton_Click;
            BackButton.Visible = false;

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(new WindowInteropHelper(ParentWindow).Handle,
                                                                 new ThumbnailToolBarButton[] { BackButton, PlayPauseButton, NextButton });
        }
示例#21
0
        /// <summary>
        /// Creates a JumpList for the given application instance.
        /// It also adds thumbnail toolbars, which are a set of up to seven buttons at the bottom of the taskbar’s icon thumbnail preview.
        /// </summary>
        /// <param name="windowHandle">The application instance's main window handle.</param>
        /// <param name="buttons">The thumbnail toolbar buttons to be added.</param>
        public void CreateJumpList(IntPtr windowHandle, WindowsThumbnailToolbarButtons buttons)
        {
            if (ToolbarButtonsCreated || !IsSupported || windowHandle == IntPtr.Zero)
            {
                return;
            }

            CreateJumpList();

            CreateTaskbarButtons(windowHandle, buttons);

            return;

            void CreateJumpList()
            {
                try
                {
                    // One ApplicationId, so all windows must share the same jumplist
                    var jumpList = JumpList.CreateJumpList();
                    jumpList.ClearAllUserTasks();
                    jumpList.KnownCategoryToDisplay = JumpListKnownCategoryType.Recent;
                    jumpList.Refresh();
                }
                catch (Exception ex)
                {
                    // have seen a COM exception here that caused the UI to stop loading
                    Trace.WriteLine(ex.Message, "CreateJumpList");
                }
            }

            void CreateTaskbarButtons(IntPtr handle, WindowsThumbnailToolbarButtons thumbButtons)
            {
                _commitButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Commit.Image, 48, true), thumbButtons.Commit.Text);
                _commitButton.Click += thumbButtons.Commit.Click;

                _pushButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Push.Image, 48, true), thumbButtons.Push.Text);
                _pushButton.Click += thumbButtons.Push.Click;

                _pullButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Pull.Image, 48, true), thumbButtons.Pull.Text);
                _pullButton.Click += thumbButtons.Pull.Click;

                // Call this method using reflection.  This is a workaround to *not* reference WPF libraries, becuase of how the WindowsAPICodePack was implimented.
                TaskbarManager.Instance.ThumbnailToolBars.AddButtons(handle, _commitButton, _pullButton, _pushButton);
            }
        }
示例#22
0
文件: Form1.cs 项目: kagada/Arianrhod
        public Form1()
        {
            InitializeComponent();

            // Listen for specific events on the tab control
            tabControl1.Selecting            += new TabControlCancelEventHandler(tabControl1_Selecting);
            tabControl1.SelectedIndexChanged += new EventHandler(tabControl1_SelectedIndexChanged);

            // When the size of our form changes, invalidate the thumbnails so we can capture them again
            // when user requests a peek or thumbnail preview.
            this.SizeChanged += new EventHandler(Form1_SizeChanged);

            // Set our minimum size so the form will not have 0 height/width when user tries to resize it all the way
            this.MinimumSize = new Size(500, 100);

            // Show the Favorites window
            favsWindow = new FavoritesWindow(this);
            favsWindow.Show();

            // Create our Thumbnail toolbar buttons for the Browser doc
            thumbButtonBack        = new ThumbnailToolBarButton(Properties.Resources.prevArrow, "Back");
            thumbButtonBack.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(thumbButtonBack_Click);

            thumbButtonForward        = new ThumbnailToolBarButton(Properties.Resources.nextArrow, "Forward");
            thumbButtonForward.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(thumbButtonForward_Click);

            thumbButtonRefresh        = new ThumbnailToolBarButton(Properties.Resources.refresh, "Refresh");
            thumbButtonRefresh.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(thumbButtonRefresh_Click);

            // Create our thumbnail toolbar buttons for the RichTextBox doc
            thumbButtonCut        = new ThumbnailToolBarButton(Properties.Resources.cut, "Cut");
            thumbButtonCut.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(thumbButtonCut_Click);

            thumbButtonCopy        = new ThumbnailToolBarButton(Properties.Resources.copy, "Copy");
            thumbButtonCopy.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(thumbButtonCopy_Click);

            thumbButtonPaste        = new ThumbnailToolBarButton(Properties.Resources.paste, "Paste");
            thumbButtonPaste.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(thumbButtonPaste_Click);

            thumbButtonSelectAll        = new ThumbnailToolBarButton(Properties.Resources.selectAll, "SelectAll");
            thumbButtonSelectAll.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(thumbButtonSelectAll_Click);

            this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
        }
示例#23
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var clippingRect = new Rectangle(new Point(400, 30),
                                             new Size(Convert.ToInt32(Imgdisplay.ActualWidth), Convert.ToInt32(Imgdisplay.ActualHeight)));

            var interopHelper = new WindowInteropHelper(this);
            var handle        = interopHelper.Handle;

            TaskbarManager.Instance.TabbedThumbnail.SetThumbnailClip(handle, clippingRect);
            TaskbarManager.Instance.SetOverlayIcon(new Icon(@"images\overlay.ico"), "Picture Viewer");
            _previousButton = new ThumbnailToolBarButton(new Icon(@"images\prevArrow.ico"), "Previous Image");

            _nextButton            = new ThumbnailToolBarButton(new Icon(@"images\nextArrow.ico"), "Next Image");
            _previousButton.Click += ButtonPrevious_Click;
            _nextButton.Click     += ButtonNext_Click;
            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(handle, _previousButton, _nextButton);
            _previousButton.Enabled = ImageList.SelectedIndex > 0;
            _nextButton.Enabled     = ImageList.SelectedIndex < ImageList.Items.Count - 1;
        }
示例#24
0
        private void CreateThumbButtons()
        {
            _ButtonPrev        = new ThumbnailToolBarButton(Resources.Icons.Previous, Locale.Current.Common.Previous);
            _ButtonPrev.Click += _ButtonPrev_Click;

            _ButtonInbox        = new ThumbnailToolBarButton(Resources.Icons.Inbox, Locale.Current.Thumbnails.Inbox);
            _ButtonInbox.Click += _ButtonInbox_Click;

            //try {
            //  _ButtonInbox.Icon = Resources.Icons.Inbox;
            //}
            //catch(Microsoft.WindowsAPI.Shell.ShellException) {
            //  // happens from time to time, seems like only when the machine comes out of hibernation
            //  // Exception: Microsoft.WindowsAPI.Shell.ShellException (0x800705B4): Shell Exception has occurred, look at inner exception for information.
            //}

            _ButtonNext        = new ThumbnailToolBarButton(Resources.Icons.Next, Locale.Current.Common.Next);
            _ButtonNext.Click += _ButtonNext_Click;

            _taskbarManager.ThumbnailToolBars.AddButtons(base.Handle, new ThumbnailToolBarButton[] { _ButtonPrev, _ButtonInbox, _ButtonNext });
        }
示例#25
0
        internal void SetupThumbAndButtons()
        {
            _thumbForm = new ThumbForm(this);

            _thumb       = new TabbedThumbnail(this.Handle, _thumbForm);
            _thumb.Title = _gmailClient.Username;
            _thumb.SetWindowIcon((Icon)this.Icon.Clone());

            _thumb.TabbedThumbnailClosed += (sender, e) =>
            {
                //ideally what i would like to here is cancel the close event
                //unfortunately it appears there is a bug in the WindowsAPICodePack which is not receiving any attention from Microsoft
                //the next best alternative is just to close the entire application, otherwise it will crash next time we try to update the thumbnail preview
                Close();
            };

            _thumbForm.Show();
            _thumbForm.Render();

            _prevButton = new ThumbnailToolBarButton(Properties.Resources.Previous, "Previous")
            {
                Enabled = false
            };
            _openButton = new ThumbnailToolBarButton(Properties.Resources.Open, "Open")
            {
                Enabled = false
            };
            _nextButton = new ThumbnailToolBarButton(Properties.Resources.Next, "Next")
            {
                Enabled = false
            };

            _prevButton.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(PrevButtonClicked);
            _openButton.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(OpenButtonClicked);
            _nextButton.Click += new EventHandler <ThumbnailButtonClickedEventArgs>(NextButtonClicked);

            TaskbarManager.Instance.TabbedThumbnail.AddThumbnailPreview(_thumb);

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(_thumbForm.Handle, _prevButton, _openButton, _nextButton);
        }
        private static ThumbnailToolBarButton AddBackBtn()
        {
            ThumbnailToolBarButton back = null;
            var streamResourceInfo      = Application.GetResourceStream(new Uri("/BodyArchitect.Client.Resources;component/Images/Back16.png", UriKind.Relative));

            if (streamResourceInfo != null)
            {
                Stream iconStream = streamResourceInfo.Stream;
                var    bmp        = new Bitmap(iconStream);
                var    icon       = Icon.FromHandle(bmp.GetHicon());
                back        = new ThumbnailToolBarButton(icon, backwardTooltip);
                back.Click += (sender, e) =>
                {
                    var content = e.WindowsControl as Frame;
                    if (content != null && content.CanGoBack)
                    {
                        content.GoBack();
                    }
                };
            }
            return(back);
        }
        protected override void OnShown(EventArgs e)
        {
            base.OnShown(e);
            prevTrackButton        = new ThumbnailToolBarButton(Properties.Resources.PrevTrack, "Previous Track");
            prevTrackButton.Click += (send, ev) =>
            {
                this.prevTrack();
            };

            nextTrackButton        = new ThumbnailToolBarButton(Properties.Resources.NextTrack, "Next Track");
            nextTrackButton.Click += (send, ev) =>
            {
                this.nextTrack();
            };


            playPauseButton        = new ThumbnailToolBarButton(Properties.Resources.Play, "Play / Pause");
            playPauseButton.Click += (send, ev) =>
            {
                this.playPause();
            };

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, prevTrackButton, playPauseButton, nextTrackButton);
        }
示例#28
0
        private void CreateTaskbarButtons(IntPtr handle, WindowsThumbnailToolbarButtons thumbButtons)
        {
            if (!_toolbarButtonsCreated)
            {
                _commitButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Commit.Image, 48, true), thumbButtons.Commit.Text);
                _commitButton.Click += thumbButtons.Commit.Click;

                _pushButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Push.Image, 48, true), thumbButtons.Push.Text);
                _pushButton.Click += thumbButtons.Push.Click;

                _pullButton        = new ThumbnailToolBarButton(MakeIcon(thumbButtons.Pull.Image, 48, true), thumbButtons.Pull.Text);
                _pullButton.Click += thumbButtons.Pull.Click;

                _toolbarButtonsCreated = true;

                // Call this method using reflection.  This is a workaround to *not* reference WPF libraries, becuase of how the WindowsAPICodePack was implimented.
                TaskbarManager.Instance.ThumbnailToolBars.AddButtons(handle, _commitButton, _pullButton, _pushButton);
                TaskbarManager.Instance.ApplicationId = "GitExtensions";
            }

            _commitButton.Enabled = true;
            _pushButton.Enabled   = true;
            _pullButton.Enabled   = true;
        }
示例#29
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            _dataFilePath         = AppDomain.CurrentDomain.BaseDirectory + "\\stations.json";
            _categoryListFilePath = AppDomain.CurrentDomain.BaseDirectory + "\\categories.json";
            _settingsFilePath     = AppDomain.CurrentDomain.BaseDirectory + "\\settings.json";
            _mpvPath = AppDomain.CurrentDomain.BaseDirectory + "\\mpv\\mpv.exe";

            _radioDb          = new RadioDb(_dataFilePath, _categoryListFilePath);
            _settingReadWrite = new SettingReadWrite(_settingsFilePath, AppDomain.CurrentDomain.BaseDirectory + "\\eqsettings.json");

            _startInfo = PlayerProcess.StartInfo;

            _eqManager = new EqManager(PlayerProcess);

            #region taskbar buttons

            _playThumbnailToolBarButton                = new ThumbnailToolBarButton(pausedIcon, "Play/Pause");
            _stopThumbnailToolBarButton                = new ThumbnailToolBarButton(stopIcon, "Stop");
            _muteThumbnailToolBarButton                = new ThumbnailToolBarButton(muteIcon, "Mute");
            _playThumbnailToolBarButton.Click         += PlayThumbnailToolBarButtonOnClick;
            _stopThumbnailToolBarButton.Click         += StopThumbnailToolBarButtonOnClick;
            _muteThumbnailToolBarButton.Click         += MuteThumbnailToolBarButtonOnClick;
            _playThumbnailToolBarButton.Visible        = true;
            _playThumbnailToolBarButton.Enabled        = true;
            _stopThumbnailToolBarButton.Visible        = true;
            _stopThumbnailToolBarButton.Enabled        = true;
            _muteThumbnailToolBarButton.Visible        = true;
            _muteThumbnailToolBarButton.Enabled        = true;
            _playThumbnailToolBarButton.DismissOnClick = true;
            _stopThumbnailToolBarButton.DismissOnClick = true;

            TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, _playThumbnailToolBarButton,
                                                                 _stopThumbnailToolBarButton, _muteThumbnailToolBarButton);

            #endregion
        }
示例#30
0
        public MainForm()
        {
            InitializeComponent();
            this.MinimumSize = new Size(Settings.DEFAULT_WIDTH, Settings.DEFAULT_HEIGHT);

            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true);

            centerPanel.MouseDown += Form1_MouseDown;
            centerPanel.MouseMove += Form1_MouseMove;
            centerPanel.MouseUp   += Form1_MouseUp;
            panelRight.MouseDown  += Form1_MouseDown;
            panelRight.MouseMove  += Form1_MouseMove;
            panelRight.MouseUp    += Form1_MouseUp;

            contextMenu1.MenuItems.Add(new MenuItem("LISTEN.moe Desktop Client v" + Globals.VERSION.ToString())
            {
                Enabled = false
            });
            Settings.LoadSettings();
            //Write immediately after loading to flush any new default settings
            Settings.WriteSettings();

            cts = new CancellationTokenSource();
            ct  = cts.Token;
#pragma warning disable CS4014
            CheckForUpdates(new TaskFactory(TaskScheduler.FromCurrentSynchronizationContext()));
#pragma warning restore CS4014
            StartUpdateAutochecker();

            MouseWheel += Form1_MouseWheel;
            this.Icon   = Properties.Resources.icon;

            notifyIcon1.ContextMenu = contextMenu2;
            notifyIcon1.Icon        = Properties.Resources.icon;

            Task.Run(async() => await LoadFavSprite(heartFav)).Wait();

            if (Settings.Get <bool>(Setting.ThumbnailButton))
            {
                button        = new ThumbnailToolBarButton(Properties.Resources.pause_ico, "Pause");
                button.Click += async(_, __) => await TogglePlayback();

                TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, button);
            }

            if (Settings.Get <bool>(Setting.DiscordPresence))
            {
                InitDiscordPresence();
            }

            Connect();

            string stream = Settings.Get <StreamType>(Setting.StreamType) == StreamType.Jpop ? JPOP_STREAM : KPOP_STREAM;
            player = new WebStreamPlayer(stream);
            player.Play();

            renderLoop = Task.Run(() =>
            {
                while (!ct.IsCancellationRequested)
                {
                    centerPanel.Invalidate();
                    Thread.Sleep(33);
                }
            });

            ReloadScale();
            ReloadSettings();

            SizeChanged += MainForm_SizeChanged;
            UpdatePanelExcludedRegions();
        }