summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamiano Galassi <[email protected]>2015-10-09 20:20:50 +0200
committerDamiano Galassi <[email protected]>2015-10-09 20:20:50 +0200
commit7f1f6dc4ff37e1dbc194f2ffec3c706f43131292 (patch)
tree665ae0b9c4051bf5a13011b8d0e66b69177b54a8
parentb890cb4223588a0c07fe158be408a0544f054160 (diff)
MacGui: fix the preview window position between restart
-rw-r--r--macosx/English.lproj/PicturePreview.xib4
-rw-r--r--macosx/HBPreviewController.m20
2 files changed, 21 insertions, 3 deletions
diff --git a/macosx/English.lproj/PicturePreview.xib b/macosx/English.lproj/PicturePreview.xib
index afb3b3dcb..77013fe9f 100644
--- a/macosx/English.lproj/PicturePreview.xib
+++ b/macosx/English.lproj/PicturePreview.xib
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9052" systemVersion="15B22c" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9052" systemVersion="15B30a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<deployment identifier="macosx"/>
<development version="6300" identifier="xcode"/>
@@ -29,7 +29,7 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
- <window title="Preview" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" frameAutosaveName="Preview" animationBehavior="default" id="5" userLabel="PreviewPanel">
+ <window title="Preview" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" frameAutosaveName="" animationBehavior="default" id="5" userLabel="PreviewPanel">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<rect key="contentRect" x="221" y="837" width="500" height="360"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1418"/>
diff --git a/macosx/HBPreviewController.m b/macosx/HBPreviewController.m
index e3ebde368..df6dff6a2 100644
--- a/macosx/HBPreviewController.m
+++ b/macosx/HBPreviewController.m
@@ -81,7 +81,24 @@ typedef enum ViewMode : NSUInteger {
{
[self.window.contentView setWantsLayer:YES];
- self.windowCenterPoint = [self centerPoint];
+ // Read the window center position
+ // We need the center and we can't use the
+ // standard NSWindow autosave because we change
+ // the window size at startup.
+ NSString *centerString = [[NSUserDefaults standardUserDefaults] objectForKey:@"HBPreviewWindowCenter"];
+ if (centerString.length)
+ {
+ NSPoint center = NSPointFromString(centerString);
+ NSRect frame = self.window.frame;
+ [self.window setFrameOrigin:NSMakePoint(center.x - floor(frame.size.width / 2),
+ center.y - floor(frame.size.height / 2))];
+
+ self.windowCenterPoint = center;
+ }
+ else
+ {
+ self.windowCenterPoint = [self centerPoint];
+ }
self.window.excludedFromWindowsMenu = YES;
self.window.acceptsMouseMovedEvents = YES;
@@ -231,6 +248,7 @@ typedef enum ViewMode : NSUInteger {
if (self.previewView.fitToView == NO)
{
self.windowCenterPoint = [self centerPoint];
+ [[NSUserDefaults standardUserDefaults] setObject:NSStringFromPoint(self.windowCenterPoint) forKey:@"HBPreviewWindowCenter"];
}
}