コード例 #1
0
ファイル: Utils.cs プロジェクト: victory78/toggldesktop
        public static void SaveWindowLocation(Window mainWindow, EditViewPopup edit, MiniTimerWindow miniTimer)
        {
            long x, y, w, h;

            if (mainWindow.WindowState == WindowState.Minimized)
            {
                var rb = mainWindow.RestoreBounds;
                x = (long)rb.X;
                y = (long)rb.Y;
                w = (long)rb.Width;
                h = (long)rb.Height;
            }
            else
            {
                x = (long)mainWindow.Left;
                y = (long)mainWindow.Top;
                w = (long)mainWindow.Width;
                h = (long)mainWindow.Height;
            }

            var success = ValidateWindowSettings(x, y, h, w) &&
                          Toggl.SetWindowSettings(x, y, h, w);

            Toggl.Debug(success
                    ? "Saved window location and size ({0}x{1} by {2}x{3})"
                    : "Failed to save window location and size ({0}x{1} by {2}x{3})",
                        x, y, w, h);

            var state = mainWindow.WindowState;

            Toggl.SetWindowMaximized(state == WindowState.Maximized);
            Toggl.SetWindowMinimized(state == WindowState.Minimized);

            if (edit != null)
            {
                Toggl.SetEditViewWidth((long)edit.Width);
            }

            if (miniTimer != null)
            {
                x = (long)miniTimer.Left;
                y = (long)miniTimer.Top;
                w = (long)miniTimer.Width;
                Toggl.SetMiniTimerX(x);
                Toggl.SetMiniTimerY(y);
                Toggl.SetMiniTimerW(w);
                Toggl.Debug("Saved mini timer location ({0}x{1} by {2})", x, y, w);
            }
        }