Example #1
0
            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 + "\"")));
                }
            }
Example #2
0
        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;
        }