public KinskyDesktop() { iInstance = this; HttpWebRequest.DefaultWebProxy = WebRequest.GetSystemWebProxy(); HttpWebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials; iWindowLoaded = new AutoResetEvent(false); iImageCache = new WpfImageCache(kCacheSize, kDownscaleImageSize, kThreadCount); iIconResolver = new IconResolver(); ResourceDictionary dictionary = App.Current.Resources; string assemblyName = System.Reflection.Assembly.GetExecutingAssembly().FullName; string[] resourceDictionaries = { "Shared", "ControlStyles", "ScrollBar", "ComboBox", "ListBox", "TileViewStyle", "WindowChromeStyle", "MenuItem", "Slider" }; foreach (string resourceDictionary in resourceDictionaries) { dictionary.MergedDictionaries.Add(Application.LoadComponent(new Uri(string.Format("/{0};component/{1}.xaml", assemblyName, resourceDictionary), UriKind.Relative)) as ResourceDictionary); } InitializeComponent(); iUpdateOnExit = false; iHelper = new HelperKinsky(Environment.GetCommandLineArgs(), new Invoker(this.Dispatcher)); ICrashLogDumper d = new CrashLogDumperForm(this, iHelper.Title, iHelper.Product, iHelper.Version); iHelper.AddCrashLogDumper(d); System.Windows.Forms.Application.SetUnhandledExceptionMode(System.Windows.Forms.UnhandledExceptionMode.ThrowException); iUIOptions = new UiOptions(iHelper); InitialiseStack(); WindowChrome.SetIsMiniModeActive(mainWindowChrome, iUIOptions.MiniMode); SetWindowDimensions(); iProcessedOptions = true; AllowsTransparency = iTransparentOption.Native; this.Loaded += new RoutedEventHandler(KinskyDesktop_Loaded); }
public KinskyDesktop() { iInstance = this; HttpWebRequest.DefaultWebProxy = WebRequest.GetSystemWebProxy(); HttpWebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials; iWindowLoaded = new AutoResetEvent(false); iImageCache = new WpfImageCache(kCacheSize, kDownscaleImageSize, kThreadCount); iIconResolver = new IconResolver(); ResourceDictionary dictionary = App.Current.Resources; string assemblyName = System.Reflection.Assembly.GetExecutingAssembly().FullName; string[] resourceDictionaries = { "Shared", "ControlStyles", "ScrollBar", "ComboBox", "ListBox", "TileViewStyle", "WindowChromeStyle", "MenuItem", "Slider" }; foreach (string resourceDictionary in resourceDictionaries) { dictionary.MergedDictionaries.Add(Application.LoadComponent(new Uri(string.Format("/{0};component/Resources/{1}.xaml", assemblyName, resourceDictionary), UriKind.Relative)) as ResourceDictionary); } InitializeComponent(); iUpdateOnExit = false; var invoker = new Invoker(this.Dispatcher); iHelper = new HelperKinsky(Environment.GetCommandLineArgs(), invoker); #if DEBUG Xamarin.Insights.Initialize(kApiKeyDummyProject, iHelper.Version, iHelper.Product); #else Xamarin.Insights.Initialize(kApiKey, iHelper.Version, iHelper.Product); #endif ICrashLogDumper d = new CrashLogDumperForm(this, iHelper.Title, iHelper.Product, iHelper.Version); iHelper.AddCrashLogDumper(d); System.Windows.Forms.Application.SetUnhandledExceptionMode(System.Windows.Forms.UnhandledExceptionMode.ThrowException); iUIOptions = new UiOptions(iHelper); InitialiseStack(); Xamarin.Insights.Identify(iHelper.OptionInstallId.Value, null); WindowChrome.SetIsMiniModeActive(mainWindowChrome, iUIOptions.MiniMode); SetWindowDimensions(); iProcessedOptions = true; AllowsTransparency = iTransparentOption.Native; this.Loaded += new RoutedEventHandler(KinskyDesktop_Loaded); iNotificationController = new NotificationController(invoker, iHelper, new NotificationServerHttp(NotificationServerHttp.DefaultUri(iHelper.Product)), this, NotificationController.DefaultTimespan); viewKinsky.ShowOptionsDialog = () => { ShowOptionsDialog(false); }; Uri iconUri = new Uri("pack://application:,,,/icon.ico", UriKind.RelativeOrAbsolute); //make sure your path is correct, and the icon set as Resource this.Icon = BitmapFrame.Create(iconUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad); }
internal void Initialise(KinskyDesktop aKinskyDesktop, HelperKinsky aHelperKinsky, ContentDirectoryLocator aLocator, IViewSaveSupport aSaveSupport, IPlaylistSupport aPlaylistSupport, DropConverter aBrowseDropConverter, DropConverter aViewDropConverter, ViewMaster aViewMaster, UiOptions aUIOptions, OptionBool aPlaylistGroupingOption, ModelSenders aSenders ) { iHelperKinsky = aHelperKinsky; iLocator = aLocator; iBrowseDropConverter = aBrowseDropConverter; iViewMaster = aViewMaster; iUIOptions = aUIOptions; iSenders = aSenders; iPlaylistSupport = aPlaylistSupport; aPlaylistSupport.EventIsDraggingChanged += new EventHandler <EventArgs>(aPlaylistSupport_EventIsDraggingChanged); iViewDropConverter = aViewDropConverter; iBrowser = new Browser(new Location(iLocator.Root)); ViewWidgetButton upButtonWidgetBrowser = new ViewWidgetButton(buttonUpBrowser); breadcrumbBrowser.SetButtonUpDirectory(upButtonWidgetBrowser); iNavigationController = new NavigationController(iBrowser, iLocator, breadcrumbBrowser, iHelperKinsky); iBookmarks = new ViewWidgetBookmarks(iHelperKinsky, iHelperKinsky.BookmarkManager, lstBookmarks, iBrowser, popupBookmarksList, popupAddBookmark, buttonShowBookmarksList, buttonShowAddBookmark, buttonAddBookmark, buttonCancelAddBookmark, txtTitle, txtBreadcrumb, pnlAddBookmark, iNavigationController); iBrowserWidget = new ViewWidgetBrowser(iPlaylistSupport, iBrowseDropConverter, buttonChangeSize, buttonToggleListView, iUIOptions, sliderSize, iNavigationController, iBookmarks); pnlBrowser.Children.Add(iBrowserWidget); iRoomSelector = new ViewWidgetSelectorRoom(lstRooms, ctlSelectRoom, btnStandbyAll); IPlaylistWidget playlistMediaRenderer = new PlaylistWidget(aViewDropConverter, aPlaylistSupport, iUIOptions); IPlaylistWidget playlistRadio = new PlaylistWidget(aViewDropConverter, aPlaylistSupport, iUIOptions); IPlaylistWidget playlistReceiver = new PlaylistWidget(aViewDropConverter, aPlaylistSupport, iUIOptions); iViewWidgetPlaylistMediaRenderer = new ViewWidgetPlaylistMediaRenderer(pnlPlaylist, playlistMediaRenderer, aSaveSupport, aPlaylistSupport, aPlaylistGroupingOption.Native); iViewWidgetPlaylistRadio = new ViewWidgetPlaylistRadio(pnlPlaylist, playlistRadio, aSaveSupport); iViewWidgetPlaylistAux = new ViewWidgetPlaylistAux(pnlPlaylist); iViewWidgetPlaylistDiscPlayer = new ViewWidgetPlaylistDiscPlayer(pnlPlaylist); iViewWidgetPlaylistReceiver = new ViewWidgetPlaylistReceiver(pnlPlaylist, playlistReceiver, aSaveSupport, iSenders); iViewWidgetButtonStandby = new ViewWidgetButtonStandby(this); iViewWidgetButtonSave = new ViewWidgetButtonSave(buttonSave, aViewDropConverter, aSaveSupport); iViewWidgetButtonWasteBin = new ViewWidgetButtonWasteBin(buttonDelete, aViewDropConverter); iViewWidgetPlayMode = new ViewWidgetPlayMode(buttonRepeat, buttonShuffle); iViewWidgetTransportControl = new ViewWidgetTransportControl(aKinskyDesktop, threeKArray, aViewDropConverter, aPlaylistSupport); iViewWidgetPlayNowNextLater = new ViewWidgetPlayNowNextLater(aViewDropConverter, aPlaylistSupport, buttonPlayNow, buttonPlayNext, buttonPlayLater); iViewWidgetVolumeControl = new ViewWidgetVolumeControl(aKinskyDesktop, rotaryControlVolume, rockerControlVolume); iViewWidgetMediaTime = new ViewWidgetMediaTime(rotaryControlMediaTime, rockerControlMediaTime); iViewWidgetTrack = new ViewWidgetTrack(viewWidgetTrackDisplay, new IPlaylistWidget[] { playlistMediaRenderer, playlistRadio, playlistReceiver }); SplitBarPositionLeft = new GridLength(iUIOptions.BrowserSplitterLocationLeft, GridUnitType.Star); SplitBarPositionRight = new GridLength(iUIOptions.BrowserSplitterLocationRight, GridUnitType.Star); iSourceSelector = new ViewWidgetSelectorSource(lstSources, ctlSelectSource); iMediatorHouse = new MediatorHouse(iRoomSelector, iSourceSelector, pnlPlaylist, lstRooms, lstSources, buttonSelectRoom, buttonSelectSource, popupRoomSelection, popupSourceSelection, btnStandbyAll);; aPlaylistGroupingOption.EventValueChanged += (d, e) => { iViewWidgetPlaylistMediaRenderer.SetGroupByAlbum(aPlaylistGroupingOption.Native); }; iInitialised = true; }
public SystrayForm(KinskyDesktop aParent) { InitializeComponent(); iParent = aParent; ShowToolStripMenuItem = new ToolStripMenuItem(); ShowToolStripMenuItem.Size = new System.Drawing.Size(177, 22); ShowToolStripMenuItem.Text = "Hide Kinsky"; ShowToolStripMenuItem.Click += (d, e) => { if (aParent.WindowState == System.Windows.WindowState.Minimized) { aParent.WindowState = System.Windows.WindowState.Normal; } else { aParent.WindowState = System.Windows.WindowState.Minimized; } }; aParent.StateChanged += (d, e) => { if (aParent.WindowState == System.Windows.WindowState.Minimized) { ShowToolStripMenuItem.Text = "Show Kinsky"; } else { ShowToolStripMenuItem.Text = "Hide Kinsky"; } }; iSeparator1 = new ToolStripSeparator(); iSeparator1.Size = new System.Drawing.Size(174, 6); RepeatToolStripMenuItem = new ToolStripMenuItem(); RepeatToolStripMenuItem.Enabled = false; RepeatToolStripMenuItem.Size = new System.Drawing.Size(177, 22); RepeatToolStripMenuItem.Text = "Repeat"; ShuffleToolStripMenuItem = new ToolStripMenuItem(); ShuffleToolStripMenuItem.Enabled = false; ShuffleToolStripMenuItem.Size = new System.Drawing.Size(177, 22); ShuffleToolStripMenuItem.Text = "Shuffle"; iSeparator2 = new ToolStripSeparator(); iSeparator2.Size = new System.Drawing.Size(174, 6); PreviousToolStripMenuItem = new ToolStripMenuItem(); PreviousToolStripMenuItem.Enabled = false; PreviousToolStripMenuItem.Image = StaticImages.SysTrayPrevious; PreviousToolStripMenuItem.Size = new System.Drawing.Size(177, 22); PreviousToolStripMenuItem.Text = "Previous"; PlayToolStripMenuItem = new ToolStripMenuItem(); PlayToolStripMenuItem.Enabled = false; PlayToolStripMenuItem.Image = StaticImages.SysTrayPlay; PlayToolStripMenuItem.Size = new System.Drawing.Size(177, 22); PlayToolStripMenuItem.Text = "Play"; NextToolStripMenuItem = new ToolStripMenuItem(); NextToolStripMenuItem.Enabled = false; NextToolStripMenuItem.Image = StaticImages.SysTrayNext; NextToolStripMenuItem.Size = new System.Drawing.Size(177, 22); NextToolStripMenuItem.Text = "Next"; iSeparator3 = new ToolStripSeparator(); iSeparator3.Size = new System.Drawing.Size(174, 6); MuteToolStripMenuItem = new ToolStripMenuItem(); MuteToolStripMenuItem.Enabled = false; MuteToolStripMenuItem.Size = new System.Drawing.Size(177, 22); MuteToolStripMenuItem.Text = "Mute"; iSeparator4 = new ToolStripSeparator(); iSeparator4.Size = new System.Drawing.Size(174, 6); ExitToolStripMenuItem = new ToolStripMenuItem(); ExitToolStripMenuItem.Size = new System.Drawing.Size(177, 22); ExitToolStripMenuItem.Text = "Exit"; ExitToolStripMenuItem.Click += (d, e) => { if (EventClosed != null) { EventClosed(this, EventArgs.Empty); } }; NotifyIcon = new NotifyIcon(); NotifyIcon.ContextMenuStrip = new ContextMenuStrip(); NotifyIcon.ContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { ShowToolStripMenuItem, iSeparator1, RepeatToolStripMenuItem, ShuffleToolStripMenuItem, iSeparator2, PreviousToolStripMenuItem, PlayToolStripMenuItem, NextToolStripMenuItem, iSeparator3, MuteToolStripMenuItem, iSeparator4, ExitToolStripMenuItem }); NotifyIcon.MouseDoubleClick += new MouseEventHandler(NotifyIcon_MouseDoubleClick); try { Uri iconUri = new Uri("pack://application:,,,/icon.ico", UriKind.RelativeOrAbsolute); //make sure your path is correct, and the icon set as Resource using (var iconStream = System.Windows.Application.GetResourceStream(iconUri).Stream) { NotifyIcon.Icon = new System.Drawing.Icon(iconStream); } } catch (System.Runtime.InteropServices.ExternalException ex) { UserLog.WriteLine("COM error caught creating icon for SystrayForm: " + ex); } NotifyIcon.Visible = true; NotifyIcon.Text = aParent.Title; // hide the form on startup this.Visible = false; this.WindowState = FormWindowState.Minimized; Show(); Hide(); }
public SystrayForm(KinskyDesktop aParent) { InitializeComponent(); iParent = aParent; ShowToolStripMenuItem = new ToolStripMenuItem(); ShowToolStripMenuItem.Size = new System.Drawing.Size(177, 22); ShowToolStripMenuItem.Text = "Hide Kinsky"; ShowToolStripMenuItem.Click += (d, e) => { if (aParent.WindowState == System.Windows.WindowState.Minimized) { aParent.WindowState = System.Windows.WindowState.Normal; } else { aParent.WindowState = System.Windows.WindowState.Minimized; } }; aParent.StateChanged += (d, e) => { if (aParent.WindowState == System.Windows.WindowState.Minimized) { ShowToolStripMenuItem.Text = "Show Kinsky"; } else { ShowToolStripMenuItem.Text = "Hide Kinsky"; } }; iSeparator1 = new ToolStripSeparator(); iSeparator1.Size = new System.Drawing.Size(174, 6); RepeatToolStripMenuItem = new ToolStripMenuItem(); RepeatToolStripMenuItem.Enabled = false; RepeatToolStripMenuItem.Size = new System.Drawing.Size(177, 22); RepeatToolStripMenuItem.Text = "Repeat"; ShuffleToolStripMenuItem = new ToolStripMenuItem(); ShuffleToolStripMenuItem.Enabled = false; ShuffleToolStripMenuItem.Size = new System.Drawing.Size(177, 22); ShuffleToolStripMenuItem.Text = "Shuffle"; iSeparator2 = new ToolStripSeparator(); iSeparator2.Size = new System.Drawing.Size(174, 6); PreviousToolStripMenuItem = new ToolStripMenuItem(); PreviousToolStripMenuItem.Enabled = false; PreviousToolStripMenuItem.Image = StaticImages.SysTrayPrevious; PreviousToolStripMenuItem.Size = new System.Drawing.Size(177, 22); PreviousToolStripMenuItem.Text = "Previous"; PlayToolStripMenuItem = new ToolStripMenuItem(); PlayToolStripMenuItem.Enabled = false; PlayToolStripMenuItem.Image = StaticImages.SysTrayPlay; PlayToolStripMenuItem.Size = new System.Drawing.Size(177, 22); PlayToolStripMenuItem.Text = "Play"; NextToolStripMenuItem = new ToolStripMenuItem(); NextToolStripMenuItem.Enabled = false; NextToolStripMenuItem.Image = StaticImages.SysTrayNext; NextToolStripMenuItem.Size = new System.Drawing.Size(177, 22); NextToolStripMenuItem.Text = "Next"; iSeparator3 = new ToolStripSeparator(); iSeparator3.Size = new System.Drawing.Size(174, 6); MuteToolStripMenuItem = new ToolStripMenuItem(); MuteToolStripMenuItem.Enabled = false; MuteToolStripMenuItem.Size = new System.Drawing.Size(177, 22); MuteToolStripMenuItem.Text = "Mute"; iSeparator4 = new ToolStripSeparator(); iSeparator4.Size = new System.Drawing.Size(174, 6); ExitToolStripMenuItem = new ToolStripMenuItem(); ExitToolStripMenuItem.Size = new System.Drawing.Size(177, 22); ExitToolStripMenuItem.Text = "Exit"; ExitToolStripMenuItem.Click += (d, e) => { if (EventClosed != null) { EventClosed(this, EventArgs.Empty); } }; NotifyIcon = new NotifyIcon(); NotifyIcon.ContextMenuStrip = new ContextMenuStrip(); NotifyIcon.ContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { ShowToolStripMenuItem, iSeparator1, RepeatToolStripMenuItem, ShuffleToolStripMenuItem, iSeparator2, PreviousToolStripMenuItem, PlayToolStripMenuItem, NextToolStripMenuItem, iSeparator3, MuteToolStripMenuItem, iSeparator4, ExitToolStripMenuItem }); NotifyIcon.MouseDoubleClick += new MouseEventHandler(NotifyIcon_MouseDoubleClick); Bitmap bmp = KinskyDesktopWpf.StaticImages.KinskyIcon; try { NotifyIcon.Icon = System.Drawing.Icon.FromHandle((bmp).GetHicon()); } catch (System.Runtime.InteropServices.ExternalException ex) { UserLog.WriteLine("COM error caught creating icon for SystrayForm: " + ex); } NotifyIcon.Visible = true; NotifyIcon.Text = aParent.Title; // hide the form on startup this.Visible = false; this.WindowState = FormWindowState.Minimized; Show(); Hide(); }