qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v11 6/6] ui/cocoa: Remove stretch_video flag


From: BALATON Zoltan
Subject: Re: [PATCH v11 6/6] ui/cocoa: Remove stretch_video flag
Date: Sat, 24 Feb 2024 14:04:50 +0100 (CET)

On Sat, 24 Feb 2024, Akihiko Odaki wrote:
On 2024/02/23 1:53, Peter Maydell wrote:
On Sat, 17 Feb 2024 at 11:19, Akihiko Odaki <akihiko.odaki@daynix.com> wrote:
Evaluate [normalWindow styleMask] & NSWindowStyleMaskResizable instead.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
  ui/cocoa.m | 11 ++++-------
  1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/ui/cocoa.m b/ui/cocoa.m
index 81de8d92669b..401ed0c3f1f5 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -103,7 +103,6 @@ static void cocoa_switch(DisplayChangeListener *dcl,
  static int left_command_key_enabled = 1;
  static bool swap_opt_cmd;

-static bool stretch_video;
  static NSTextField *pauseLabel;

  static bool allow_events;
@@ -533,7 +532,7 @@ - (void) resizeWindow
  {
[[self window] setContentAspectRatio:NSMakeSize(screen.width, screen.height)];
-    if (!stretch_video) {
+    if (!([[self window] styleMask] & NSWindowStyleMaskResizable)) {
[[self window] setContentSize:NSMakeSize(screen.width, screen.height)];
          [[self window] center];
} else if ([[self window] styleMask] & NSWindowStyleMaskFullScreen) {
@@ -1296,7 +1295,7 @@ - (BOOL)windowShouldClose:(id)sender

- (NSSize) window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize
  {
-    if (stretch_video) {
+    if ([normalWindow styleMask] & NSWindowStyleMaskResizable) {
          return [cocoaView fixZoomedFullScreenSize:proposedSize];
      }

@@ -1377,8 +1376,7 @@ - (void)showQEMUDoc:(id)sender
  /* Stretches video to fit host monitor size */
  - (void)zoomToFit:(id) sender
  {
-    stretch_video = !stretch_video;
-    if (stretch_video == true) {
+    if (([normalWindow styleMask] & NSWindowStyleMaskResizable) == 0) {
[normalWindow setStyleMask:[normalWindow styleMask] | NSWindowStyleMaskResizable];
          [sender setState: NSControlStateValueOn];
      } else {
@@ -1650,7 +1648,7 @@ static void create_initial_menus(void)
      menu = [[NSMenu alloc] initWithTitle:@"View"];
[menu addItem: [[[NSMenuItem alloc] initWithTitle:@"Enter Fullscreen" action:@selector(doToggleFullScreen:) keyEquivalent:@"f"] autorelease]]; // Fullscreen menuItem = [[[NSMenuItem alloc] initWithTitle:@"Zoom To Fit" action:@selector(zoomToFit:) keyEquivalent:@""] autorelease]; - [menuItem setState: stretch_video ? NSControlStateValueOn : NSControlStateValueOff]; + [menuItem setState: [normalWindow styleMask] & NSWindowStyleMaskResizable ? NSControlStateValueOn : NSControlStateValueOff];
      [menu addItem: menuItem];
menuItem = [[[NSMenuItem alloc] initWithTitle:@"View" action:nil keyEquivalent:@""] autorelease];
      [menuItem setSubmenu:menu];
@@ -2036,7 +2034,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
      }

      if (opts->u.cocoa.has_zoom_to_fit && opts->u.cocoa.zoom_to_fit) {
-        stretch_video = true;
[normalWindow setStyleMask:[normalWindow styleMask] | NSWindowStyleMaskResizable];
      }
It's nice to get rid of the boolean, but
  [normalWindow styleMask] & NSWindowStyleMaskResizable
feels a bit clunky -- maybe we should wrap it in a method with
a suitable name ? (isZoomToFit, maybe? but I'm not too familiar
with what cocoa function naming style is.)
I don't think we should have a method for this. It's verbose but the main 
reason of that is NSWindowStyleMaskResizable is wordy; otherwise it's quite a 
simple. There are few places that use this construct after all.
If not a method how about a macro just to make it less long? But if Peter 
is otherwise happy with the current version just this does not need 
another version IMO.
Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]