Beispiel #1
0
        private void RestoreSettings()
        {
            object value = this.settings["WindowBounds"];

            if (value is Rect r && !r.IsEmpty)
            {
                // make sure it is visible on the user's current screen configuration.
                var bounds = new Rect(
                    XamlExtensions.ConvertFromDeviceIndependentPixels(r.X),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(r.Y),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(r.Width),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(r.Height));
                var virtualScreen = new Rect(SystemParameters.VirtualScreenLeft,
                                             SystemParameters.VirtualScreenTop,
                                             SystemParameters.VirtualScreenWidth,
                                             SystemParameters.VirtualScreenHeight);
                if (virtualScreen.Contains(bounds))
                {
                    this.Left   = XamlExtensions.ConvertToDeviceIndependentPixels((int)bounds.X);
                    this.Top    = XamlExtensions.ConvertToDeviceIndependentPixels((int)bounds.Y);
                    this.Width  = XamlExtensions.ConvertToDeviceIndependentPixels((int)bounds.Width);
                    this.Height = XamlExtensions.ConvertToDeviceIndependentPixels((int)bounds.Height);
                }
            }

            UpdateTheme();

            this.recentFiles.SetFiles(this.settings["RecentFiles"] as Uri[]);

            this.Visibility = Visibility.Visible;
        }
Beispiel #2
0
        private void RestorePosition()
        {
            this.SizeChanged     -= OnWindowSizeChanged;
            this.LocationChanged -= OnWindowLocationChanged;
            this.settings         = App.Instance.LoadSettings();
            if (settings.WindowLocation.X != 0 && settings.WindowSize.Width != 0 && settings.WindowSize.Height != 0)
            {
                // make sure it is visible on the user's current screen configuration.
                var bounds = new System.Drawing.Rectangle(
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowLocation.X),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowLocation.Y),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowSize.Width),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowSize.Height));
                var screen = System.Windows.Forms.Screen.FromRectangle(bounds);
                bounds.Intersect(screen.WorkingArea);

                this.Left   = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.X);
                this.Top    = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.Y);
                this.Width  = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.Width);
                this.Height = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.Height);
            }
            this.Visibility       = Visibility.Visible;
            this.SizeChanged     += OnWindowSizeChanged;
            this.LocationChanged += OnWindowLocationChanged;
        }
Beispiel #3
0
        private async void RestoreSettings()
        {
            Settings settings = await((App)App.Current).LoadSettings();

            if (settings.WindowLocation.X != 0 && settings.WindowSize.Width != 0 && settings.WindowSize.Height != 0)
            {
                // make sure it is visible on the user's current screen configuration.
                var bounds = new System.Drawing.Rectangle(
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowLocation.X),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowLocation.Y),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowSize.Width),
                    XamlExtensions.ConvertFromDeviceIndependentPixels(settings.WindowSize.Height));
                var screen = System.Windows.Forms.Screen.FromRectangle(bounds);
                bounds.Intersect(screen.WorkingArea);

                this.Left   = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.X);
                this.Top    = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.Y);
                this.Width  = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.Width);
                this.Height = XamlExtensions.ConvertToDeviceIndependentPixels(bounds.Height);
            }
            ConnectionPanel.DefaultUdpPort = settings.Port;
            this.Visibility = Visibility.Visible;
        }