Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2415)

Unified Diff: chrome/browser/cocoa/window_size_autosaver.h

Issue 536086: Mac: Save/restore task manager window pos and size. (Closed)
Patch Set: comments Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/task_manager_mac.mm ('k') | chrome/browser/cocoa/window_size_autosaver.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/window_size_autosaver.h
diff --git a/chrome/browser/cocoa/window_size_autosaver.h b/chrome/browser/cocoa/window_size_autosaver.h
new file mode 100644
index 0000000000000000000000000000000000000000..9021d5dae5913fce852c11ff8855100400d3d007
--- /dev/null
+++ b/chrome/browser/cocoa/window_size_autosaver.h
@@ -0,0 +1,42 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_COCOA_WINDOW_SIZE_AUTOSAVER_H_
+#define CHROME_BROWSER_COCOA_WINDOW_SIZE_AUTOSAVER_H_
+
+class PrefService;
+@class NSWindow;
+
+enum WindowSizeAutosaverState {
+
+ // Autosave only the window's bottom-right corner.
+ kSaveWindowPos,
+
+ // Autosave the whole window rect, i.e. both position and size.
+ kSaveWindowRect,
+};
+
+// WindowSizeAutosaver is a helper class that makes it easy to let windows
+// autoremember their position or position and size in a PrefService object.
+// To use this, add a |scoped_nsobject<WindowSizeAutosaver>| to your window
+// controller and initialize it in the window controller's init method, passing
+// a window and an autosave name. The autosaver will register for "window moved"
+// and "window resized" notifications and write the current window state to the
+// prefs service every time they fire. The window's size is automatically
+// restored when the autosaver's |initWithWindow:...| method is called.
Robert Sesek 2010/01/19 21:51:12 Maybe add a note about not having "Visible on laun
+@interface WindowSizeAutosaver : NSObject {
+ NSWindow* window_; // weak
+ PrefService* prefService_; // weak
+ const wchar_t* path_;
+ WindowSizeAutosaverState state_;
+}
+
+- (id)initWithWindow:(NSWindow*)window
+ prefService:(PrefService*)prefs
+ path:(const wchar_t*)path
+ state:(WindowSizeAutosaverState)state;
+@end
+
+#endif // CHROME_BROWSER_COCOA_WINDOW_SIZE_AUTOSAVER_H_
+
« no previous file with comments | « chrome/browser/cocoa/task_manager_mac.mm ('k') | chrome/browser/cocoa/window_size_autosaver.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698