Commit Graph

78 Commits

Author SHA1 Message Date
Ilya Fedin 618ce15b21 Revert "Workaround Wayland popup menu bug."
This reverts commit 51027a0bc2.
2023-09-26 12:26:18 +04:00
Ilya Fedin ff9321e971 Main thread deadlock detector for debug mode 2023-09-21 12:23:23 +04:00
Ilya Fedin ec9f8943de Use QEvent::registerEventType for custom event types 2023-08-16 16:41:55 +02:00
John Preston 51027a0bc2 Workaround Wayland popup menu bug.
When hiding a child popup first the app receives ApplicationDeactivate
event and in a short time (a couple of ms) ApplicationActivate.

But the first event hides all popups, so the parent popup gets closed too.

Delay handling of ApplicationDeactivate event in this specific case.
2023-07-20 07:20:47 +04:00
Ilya Fedin a7bd097b2f Have a global Core::Launcher accessor
This allows to use Launcher in code executing before Sandbox is created
2023-06-13 12:19:21 +04:00
Ilya Fedin a6e5e7ab84 Tell QLocalSocket the socket is abstract 2023-04-07 12:21:35 +04:00
Ilya Fedin e632ac631e Add version check for abstract sockets 2023-04-02 00:06:04 +04:00
Ilya Fedin 30f057fff5 Use abstract socket for single instance on Linux 2023-04-01 00:17:58 +04:00
John Preston 7264d82e8d Allow larger scales on high-dpi screens. 2023-03-15 17:17:46 +04:00
Ilya Fedin 0b100884fc Round system scale in step of 5 points, just like in settings 2023-02-11 15:40:00 +04:00
Ilya Fedin 6e89d41d58 Use variables from style namespace instead of hardcoded scale limits 2023-02-11 15:40:00 +04:00
John Preston 7023b013ce Initial support of separate windows for accounts. 2023-01-19 09:45:28 +04:00
John Preston 39075538fb Enable RoundPreferFloor HighDpi support on Windows.
Add an experimental setting for exact HighDPI on Windows.
2023-01-12 13:57:09 +04:00
John Preston 05911a7172 Fix initial scale counting from dpi. 2023-01-10 09:51:12 +04:00
John Preston c49dac57b7 Don't use window title for IPC. 2023-01-09 16:08:34 +04:00
Ilya Fedin 6288da2f3d Remove socket errors from Qt adapters 2023-01-09 15:01:14 +04:00
John Preston 3532e187fd Write more DPI logs. 2023-01-09 09:05:07 +04:00
23rd 4fabb3f2a2 Replaced some qsl with u""_q literal. 2022-11-30 17:17:14 +03:00
John Preston ad3f8e72a0 Remove namespace App. 2022-11-30 17:28:09 +04:00
Ilya Fedin 2f0d14bd35 Use customWorkingDir() outside of Core::Launcher
This allows to add -workdir to shortcuts only if the process was launched with -workdir
2022-11-21 21:30:17 +00:00
John Preston 644ec1f599 Remove base::Observable / base::Variable. 2022-11-11 11:43:24 +04:00
Ilya Fedin 4f261ced8e Ceil device pixel ratio
Qt 6.4 provides QT_WIDGETS_HIGHDPI_DOWNSCALE that allows widgets to draw at integer device pixel ratio by using the next integer. Ceiling this value makes tdesktop in sync with technique and provides sharp content.

Without QT_WIDGETS_HIGHDPI_DOWNSCALE, this doesn't makes the content sharp, but the quality is still better as Qt attempts to downscale those graphic rather than upscale.
2022-09-02 21:27:41 +04:00
Ilya Fedin 0921ae283b Send XDG_ACTIVATION_TOKEN to the first instance 2022-08-03 15:26:08 +04:00
Ilya Fedin 0a876226fe Move QT_FONT_DPI workaround to Qt patches 2022-06-14 16:36:44 +04:00
Ilya Fedin db33fbac27 Get rid of DisableCustomScaling hack
This shouldn't be needed since Qt is built without High-DPI scaling support in official binaries and QT_SCALE_FACTOR is a debug environment variable, so any use of it is a user's environment misconfiguration.

https://doc.qt.io/qt-6/highdpi.html#environment-variable-reference
2022-05-19 17:23:47 +04:00
Ilya Fedin 9a4d2bc8f9 Make processDpi a constexpr and remove unneeded qreal 2022-04-19 08:40:07 +04:00
John Preston 28f2c213f7 Remove app module. Support delayed quit by Cmd+Q on macOS. 2022-01-27 15:54:20 +03:00
John Preston b8f1cebeb6 Support confirm-on-Quit on macOS. 2022-01-26 14:50:10 +03:00
23rd 0143d22a21 Split qt_adapters to separated files. 2022-01-26 10:33:28 +03:00
Ilya Fedin 7ff7473db6 Auto-check for many instance
This option was invented when single instance check wasn't adapted for -workdir. Now, -workdir can work without -many and this option is redudant, but auto-update prevention is helpful. Let's autodetect whether the binary is already running with a lock file.
2021-12-22 14:07:22 +04:00
John Preston 9b2d080e8e Fix restart before exec on macOS. 2021-11-08 17:42:33 +04:00
Ilya Fedin 9a4b8cdd82 Use QPlatformScreen::logicalDpi instead of QScreen::logicalDotsPerInch
QScreen::logicalDotsPerInch can be overriden by QT_FONT_DPI what is not good
2021-11-04 10:18:03 +04:00
John Preston f204b9fca0 RegisterBundledResources only on macOS. 2021-10-29 17:42:57 +04:00
John Preston 1ed6844247 Use Qt resources from a file on macOS. 2021-10-29 16:10:07 +04:00
Ilya Fedin 847c01d605 Add Qt 6 support
Tested only on Linux so far
2021-10-21 13:15:00 +04:00
Ilya Fedin e92ae40ecb Implement close to taskbar option 2021-09-13 17:46:53 +03:00
John Preston a064e836f2 Removed redundant "base::EnterFromEventLoop". 2021-09-01 19:08:56 +03:00
Ilya Fedin 8b839f46b2 Fix crash report window scale 2021-06-24 11:26:08 +04:00
Ilya Fedin 766bc90921 Adapt for Ui::DisableCustomScaling changes 2021-06-18 12:15:01 +04:00
23rd 6d08542afa Moved proxy global variables from facades to core settings. 2021-06-16 09:31:32 +03:00
John Preston bc67b79023 Beta version 2.6.4: 110% UI scale on macOS Retina. 2021-03-17 00:07:08 +04:00
John Preston a909c1a813 Make default UI scale 120% on macOS Retina. 2021-03-15 20:33:41 +04:00
Ilya Fedin c4dcf064d5 Avoid multiple .arg usage as suggested by clazy 2021-03-13 19:08:33 +03:00
Ilya Fedin f25b2a2094 Apply autofixes from clazy 2021-03-13 15:25:47 +03:00
Ilya Fedin 4fde7852b1 Use qEnvironmentVariable where appropriate 2021-02-19 14:15:09 +04:00
Ilya Fedin 5e60b87cf9 Remove platform_specific.h include from mainwindow.h
In order to avoid mass rebuilds on specific_*.h changing
2021-01-22 17:22:37 +04:00
John Preston db23485fa2 Fix quit from fullscreen on macOS. 2020-11-09 13:47:53 +03:00
John Preston 74d2313784 Build Linux version with Qt 5.15.1 in CentOS 7 docker. 2020-11-06 11:21:34 +03:00
John Preston aff4f69b64 Don't quit on call end with window hidden in tray.
Fixes #8585.
2020-10-23 19:37:58 +03:00
John Preston 734d834a20 Replace mapbox variant with std::variant. 2020-09-29 19:03:19 +03:00