David Richardson
af4d9dd9b9
AppKit: Implement window zoom and title bar double-click
...
Implement Cocoa zoom API on CPWindow and enable zoom button for resizable windows. Zoom window on double-click where drag moves it.
* CPWindow.j:
- Add zoom:, performZoom: and isZoomed, toggling between standard frame and user frame; treat frame within 4 points of standard frame as zoomed.
- Add windowWillUseStandardFrame:defaultFrame: and windowShouldZoom:toFrame: to CPWindowDelegate; consult window subclass when delegate lacks them.
- Take default frame from platform window's usable content frame; keep standard frame within minimum and maximum sizes and usable area.
- Enable performZoom: and zoom: menu items only when window can zoom.
* _CPStandardWindowView.j: Enable zoom button for resizable windows and target window's zoom:.
* _CPWindowView.j: Call performZoom: on double-click where drag moves window.
* CPWindowTest.j: Add tests for zoom toggling, default frame, delegate refusal, maximum size, missing user frame, window subclass standard frame, performZoom: on fixed-size window, menu validation and title bar double-click.
* DropInCompatibilityTest.j: Add test for zoom button enabled only for resizable windows.
2026-11-08 14:17:08 -06:00
..
2026-10-09 16:47:46 -06:00
2026-10-09 16:47:46 -06:00
2026-10-20 17:35:13 -06:00
2026-08-27 23:17:15 -06:00
2026-10-24 22:00:51 +02:00
2026-10-24 22:00:51 +02:00
2026-10-24 22:00:51 +02:00
2026-11-02 14:52:41 -06:00
2026-11-08 14:17:08 -06:00
2026-11-02 14:52:41 -06:00
2020-10-02 12:13:00 +02:00
2026-11-08 13:51:36 -06:00
2019-03-28 14:01:31 -07:00
2020-08-30 09:47:21 +02:00
2026-10-06 18:50:09 -06:00
2026-08-25 22:34:22 -06:00
2026-10-09 16:47:46 -06:00
2026-08-24 09:21:10 -06:00
2026-07-25 19:26:39 +02:00
2013-01-23 15:48:55 +07:00
2012-12-20 14:22:09 +01:00
2014-11-06 10:17:05 -08:00
2012-12-20 14:22:09 +01:00
2013-01-23 15:48:55 +07:00
2012-12-20 14:22:09 +01:00
2026-07-25 19:26:39 +02:00
2026-10-24 12:34:51 -06:00
2026-10-31 20:51:13 -06:00
2026-10-24 22:00:51 +02:00
2014-11-06 10:17:05 -08:00
2026-10-31 22:18:28 -06:00
2026-11-08 13:19:54 -06:00
2026-11-08 13:19:54 -06:00
2020-03-11 10:30:00 +01:00
2025-09-02 17:38:10 +03:00
2026-11-02 09:26:11 -06:00
2026-01-28 19:59:59 +01:00
2026-11-02 09:26:11 -06:00
2026-11-02 09:26:11 -06:00
2026-07-21 15:15:53 -06:00
2015-05-19 14:30:09 -07:00
2026-07-21 15:15:53 -06:00
2013-02-08 11:26:56 +00:00
2026-10-20 17:35:13 -06:00
2026-04-03 19:00:09 +02:00
2026-08-29 12:25:14 -06:00
2013-01-23 15:48:55 +07:00
2026-07-21 15:15:53 -06:00
2026-10-25 17:41:02 +01:00
2026-11-08 13:19:54 -06:00
2026-10-24 22:00:51 +02:00
2013-01-18 14:24:37 +01:00
2026-08-31 17:04:24 -06:00
2026-08-12 13:25:52 -06:00
2020-01-31 13:43:58 +01:00
2025-12-26 10:42:41 +01:00
2020-01-31 13:43:58 +01:00
2014-11-06 10:17:05 -08:00
2026-10-06 17:41:26 -06:00
2013-01-24 19:18:39 +08:00
2026-08-12 13:25:52 -06:00
2026-10-24 22:00:51 +02:00
2026-09-01 08:34:36 -06:00
2016-02-06 20:39:49 +01:00
2016-02-06 20:39:49 +01:00
2019-03-31 17:37:44 +02:00
2026-08-29 12:25:14 -06:00
2026-10-25 17:41:02 +01:00
2026-10-24 11:33:57 -06:00
2025-04-28 15:40:57 +02:00
2026-01-18 13:44:59 +01:00
2025-06-22 11:04:46 +02:00
2026-11-02 14:52:41 -06:00
2026-11-02 15:57:00 -06:00
2026-07-21 15:15:53 -06:00
2026-10-23 21:49:41 -06:00
2026-07-21 15:15:53 -06:00
2026-11-02 09:26:11 -06:00
2026-10-25 17:41:02 +01:00
2026-07-21 15:15:53 -06:00
2026-10-23 20:20:51 -06:00
2018-03-04 18:40:33 +01:00
2026-08-21 15:52:17 -06:00
2026-08-10 18:21:37 +02:00
2026-10-25 17:55:46 +01:00
2026-11-02 09:26:11 -06:00
2011-03-25 22:52:57 -04:00
2026-10-25 17:41:02 +01:00
2026-10-31 22:18:28 -06:00
2026-01-03 19:44:24 +01:00
2026-08-21 15:55:25 -06:00
2013-08-12 16:39:54 +02:00
2026-07-21 15:15:53 -06:00
2026-11-02 09:26:11 -06:00
2025-09-24 14:20:37 +02:00
2026-08-14 20:09:17 -06:00
2026-11-02 09:26:11 -06:00
2026-08-31 17:04:24 -06:00
2020-01-31 13:43:58 +01:00
2026-11-03 11:19:40 -06:00
2026-11-02 15:57:00 -06:00
2026-11-02 09:26:11 -06:00
2016-10-20 17:24:18 +02:00
2019-12-19 09:08:33 +01:00
2026-11-02 09:26:11 -06:00
2026-11-08 13:19:54 -06:00
2020-04-06 13:10:34 +02:00
2026-10-31 20:51:13 -06:00
2026-03-07 17:11:25 +01:00
2012-12-20 14:22:09 +01:00
2026-07-21 15:15:53 -06:00
2026-08-25 21:09:51 +02:00
2026-08-28 13:35:27 -06:00
2020-01-31 13:43:58 +01:00
2026-10-25 16:35:38 +01:00
2026-03-01 19:58:56 +01:00
2025-07-05 16:28:16 +02:00
2026-10-31 20:51:13 -06:00
2026-09-01 08:34:36 -06:00
2020-01-31 13:43:58 +01:00
2012-02-24 19:44:13 +00:00
2022-03-17 21:07:16 +01:00
2026-11-02 11:27:37 -06:00