public void StartComic(Comic comic) { var arguments = Comic.ExecutionString.CreateExecutionArguments(Profile.ExecutionArguments, comic); if (this.Type == Application.Viewer) { var viewer = new Viewer.MainWindow(arguments.ToArray()) { Top = Support.Helper.RestrictToRange(Properties.Settings.Default.ViewerTop, 0, null), Left = Support.Helper.RestrictToRange(Properties.Settings.Default.ViewerLeft, 0, null), Height = Support.Helper.RestrictToRange(Properties.Settings.Default.ViewerHeight, 200, null), Width = Support.Helper.RestrictToRange(Properties.Settings.Default.ViewerWidth, 200, null) }; var conn = SQL.Database.DatabaseConnection.ForCurrentProfile(); viewer.GoToIndex(conn.GetProgress(comic)); var customContextMenuItems = new List <object>(); var loveItem = new System.Windows.Controls.MenuItem { Header = "Love" }; loveItem.Click += ((o, e) => comic.Loved = !comic.Loved); var dislikeItem = new System.Windows.Controls.MenuItem() { Header = "Dislike" }; dislikeItem.Click += ((o, e) => comic.Disliked = !comic.Disliked); var thumbnailItem = new System.Windows.Controls.MenuItem() { Header = "Set Thumbnail as Current Image" }; thumbnailItem.Click += ((o, e) => { // This also needs to be more generic comic.ThumbnailSource = viewer.CurrentImage; comic.Save(); comic.GenerateThumbnail(); App.ComicsWindow.RefreshComics(); }); customContextMenuItems.Add(loveItem); customContextMenuItems.Add(dislikeItem); customContextMenuItems.Add(thumbnailItem); viewer.CustomContextMenuItems = customContextMenuItems; viewer.Closing += ((sender, e) => { Properties.Settings.Default.ViewerTop = viewer.Top; Properties.Settings.Default.ViewerLeft = viewer.Left; Properties.Settings.Default.ViewerHeight = viewer.ActualHeight; Properties.Settings.Default.ViewerWidth = viewer.ActualWidth; conn.SetProgress(comic, viewer.CurrentImageIndex); }); viewer.Show(); } else { if (!File.Exists(this.Path)) { MessageBox.Show("Startup application doesn't exist!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; } Process.Start(this.Path, string.Join(" ", arguments.Select(p => "\"" + p + "\""))); } }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.Viewer = ((Viewer.MainWindow)(target)); #line 4 "..\..\..\MainWindow.xaml" this.Viewer.Closing += new System.ComponentModel.CancelEventHandler(this.Viewer_Closing); #line default #line hidden #line 4 "..\..\..\MainWindow.xaml" this.Viewer.Loaded += new System.Windows.RoutedEventHandler(this.Viewer_Loaded); #line default #line hidden return; case 2: this.Layout = ((System.Windows.Controls.Grid)(target)); return; case 3: this.Header = ((System.Windows.Controls.Grid)(target)); return; case 4: this.Logo = ((System.Windows.Controls.Image)(target)); return; case 5: this.Tagline = ((System.Windows.Controls.TextBlock)(target)); return; case 6: this.Viewers = ((System.Windows.Controls.Grid)(target)); return; case 7: this.Depth = ((System.Windows.Controls.Image)(target)); return; case 8: this.Skeleton = ((System.Windows.Controls.Image)(target)); return; case 9: this.ControlsLayout = ((System.Windows.Controls.Grid)(target)); return; case 10: this.ProviderControls = ((System.Windows.Controls.Grid)(target)); return; case 11: this.ViewerControls = ((System.Windows.Controls.Grid)(target)); return; case 12: this.ProviderLabel = ((System.Windows.Controls.Label)(target)); return; case 13: this.Provider = ((System.Windows.Controls.ComboBox)(target)); #line 44 "..\..\..\MainWindow.xaml" this.Provider.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this._ProviderChangedEvent); #line default #line hidden return; case 14: this.Start = ((System.Windows.Controls.Button)(target)); #line 45 "..\..\..\MainWindow.xaml" this.Start.Click += new System.Windows.RoutedEventHandler(this._StartClickEvent); #line default #line hidden return; case 15: this.Stop = ((System.Windows.Controls.Button)(target)); #line 46 "..\..\..\MainWindow.xaml" this.Stop.Click += new System.Windows.RoutedEventHandler(this._StopClickEvent); #line default #line hidden return; } this._contentLoaded = true; }