Commit Graph

998 Commits

Author SHA1 Message Date
John Preston 8cca75da5c Handle foreign instance in COM toast activator. 2021-10-08 13:46:52 +04:00
John Preston 8d0ff1b61d Try setting current window as foreground on activate. 2021-10-08 12:20:24 +04:00
John Preston dd856b9e4a Use real QWindow for taskbar icon hider.
Fixes #17081.
2021-10-08 12:19:41 +04:00
John Preston 352768053d Beta version 3.1.6: Fix build on Linux. 2021-10-06 21:07:18 +04:00
John Preston 5cd0a3719e Beta version 3.1.6: Detach FastReply from MarkAsRead. 2021-10-06 19:24:30 +04:00
John Preston 8b7cd4a0c7 Beta version 3.1.6: Fix crash on old Windows 10 versions. 2021-10-06 17:36:30 +04:00
John Preston e7cf560da0 Handle toast activations by COM activator. 2021-10-06 11:02:57 +04:00
John Preston 86e07518ad Fix clearing notifications from Action Center.
Regression was introduced in 997913be25.
2021-10-05 16:53:36 +04:00
John Preston 8c71d03959 Add reply from Windows native notifications. 2021-10-05 16:52:46 +04:00
John Preston 967e86f4ab Rewrite Windows native notifications using C++/WinRT. 2021-10-05 12:09:15 +04:00
John Preston 5136cc3c9c Rename Dialogs::Layout to Dialogs::Ui. 2021-10-04 23:45:21 +04:00
John Preston b78b27f517 Move dialogs_layout to dialogs/ui/. 2021-10-04 23:45:21 +04:00
Ilya Fedin c2212c719e Inform Qt about taskbar hider
This allows the feature to work without patching Qt
2021-10-04 23:23:50 +04:00
23rd 21f7cec781 Fixed build for macOS. 2021-09-30 21:21:07 +04:00
23rd 64af456d29 Fixed build for macOS. 2021-09-30 21:16:45 +04:00
Ilya Fedin d2a41a42e0 Move applicationDidFinishLaunching code to init
This should make the Qt patch catching the event unneeded
2021-09-29 09:04:23 +04:00
John Preston 844fd58a97 Support Windows 11 rounded corners and themeable title bar. 2021-09-28 21:11:35 +04:00
John Preston 19ce1edc16 Use base::SafeRound instead of std::round.
Previous assertion violations because of NaN from std::round were
in video streaming, see commits 27d58ba07b, 8f5830d520.

Now the crashes happened in the ConvertScale() call from a background
thread when preparing an image from clipboard for sending to a chat.
2021-09-27 12:13:57 +04:00
John Preston 8759ca4577 Rewrite bingmaps check to C++/WinRT. 2021-09-26 17:17:57 +04:00
Hermesis d5c6d9a231 Open map in browser if default "bingmaps:" handler is not found 2021-09-26 17:16:38 +04:00
Gleb Smirnoff 59f2f750b4 On FreeBSD the system malloc is jemalloc and non-portable
extensions are enabled including malloc_np.h.
2021-09-15 23:24:39 +03:00
John Preston 8069fdd873 Use base/random.h instead of openssl::RandomValue. 2021-09-15 13:42:22 +03:00
Ilya Fedin e92ae40ecb Implement close to taskbar option 2021-09-13 17:46:53 +03:00
Ilya Fedin 3fbd68cff9 Don't link glib with DESKTOP_APP_DISABLE_DBUS_INTEGRATION 2021-09-12 00:12:13 +03:00
Gleb Smirnoff 720f238cf8 Close a race between Gio threads and Qt application init.
QApplication has a historical feature[1] of calling setlocale(3) at init,
which today cause more harm than good.  Such call isn't thread safe neither
per C standard, not per any known libc implementation.  The Gio threads
would call into locale reading functions all the time, so early access to
locale by Gio may race with setlocale() by Qt leading to undefined behavior.

Platform specific start before the Sandbox (aka QApplication) is at core
design of tdesktop and that order can't be changed. There is no way to pause
Gio until QApplication instantiates.

Fortunately, Qt library itself has a static global flag that prevents it
from calling setlocale() twice. We don't even need to instantiate a
temporary QCoreApplication, we can just call into the method.  So call
it form Platform::start before any existing or future calls to Gio.

Fixes #16922

[1] https://chat.stackoverflow.com/rooms/63812/discussion-between-phil-armstrong-and-matteo-italia
2021-09-10 13:18:20 +03:00
23rd 900a7d0b2b Appended references to const auto types in loop to prevent copying.
Suggested by Apple Clang.
2021-09-09 16:32:04 +03:00
Ilya Fedin 45360adbc2 Remove unneeded libraries from snapcraft.yaml 2021-09-07 23:40:08 +03:00
Ilya Fedin 05d4d58f8b Replace GTK integration with xsettings + XDP 2021-09-06 15:43:28 +03:00
John Preston 1d2a18929a Use QOperatingSystemVersion. 2021-09-01 18:33:53 +03:00
John Preston 3cd0f9d189 Start non-unique ChatTheme. 2021-08-30 20:32:57 +03:00
Ilya Fedin 6192413f0b Split webview initialization from GtkIntegration class 2021-08-25 12:52:43 +03:00
Ilya Fedin 51df482571 Get rid of gtk open with dialog
Portal open with dialog works just fine and is a more universal solution... That allows to get rid of an additional process.
2021-08-25 12:52:43 +03:00
John Preston ddda7b8c52 Fix crash in application Dock menu on macOS. 2021-08-18 15:44:38 +03:00
Ilya Fedin e7d39e6046 Get rid of GtkIntegration::initializeSettings use 2021-08-13 15:21:19 +03:00
Ilya Fedin 63a92cb90a Log icon theme 2021-08-13 15:21:19 +03:00
Ilya Fedin 414456d003 Revert "Use gtk clipboard when available to avoid https://bugreports.qt.io/browse/QTBUG-56595"
Fixed in Qt by https://codereview.qt-project.org/c/qt/qtbase/+/306771

This reverts commit 3a91003eea.
2021-08-12 08:51:10 +03:00
Ilya Fedin 8b7b0fa570 Remove -externalupdater flag
Having a path to executable in /etc/tdesktop/externalupdater is a way more convenient and is enough
2021-08-11 18:20:52 +03:00
Ilya Fedin 97262a99c7 Get rid of osx and linux32 special targets 2021-08-11 16:59:27 +03:00
John Preston 1dec054766 Check if native window frame fits for saved geometry. 2021-08-10 15:46:18 +03:00
Ilya Fedin ac86f3e5bd Use Communications category for tray icon
Since tdesktop fits it
2021-08-10 15:42:21 +03:00
Ilya Fedin d986e70a89 Fix global menu on 64-bit systems with X11
When Wayland support for global menu was added (0b86feeeb5), X11 support was broken since QWindow::winId returns WId what is a quintptr that expands to uint32 on 32-bit and to uint64 on 64-bit, while AppMenu d-bus service accepts only uint32.
2021-07-28 23:41:36 +03:00
Ilya Fedin 1ebf27bfa1 Switch MainWindow to Ui::RpWindow 2021-07-28 18:05:39 +03:00
Ilya Fedin f71ce9afdf Fix dark titlebar on Windows 10 17763 2021-07-28 16:01:50 +03:00
John Preston 245909e381 Beta version 2.8.12: Prune icon cache on Linux. 2021-07-23 19:39:31 +03:00
John Preston 87ca2c891a Update Windows taskbar icon in new version. 2021-07-20 20:21:21 +03:00
John Preston 1ce66e5198 Pack and deploy d3dcompiler_47.dll. 2021-07-20 17:10:23 +03:00
Ilya Fedin 087fbe89ce Add additional checks to NotificationData::setImage 2021-07-19 22:56:38 +03:00
Ilya Fedin dc81f9eeaf Remove SetWatchingMediaKeys
Since SPMediaKeyTap has been removed on Mac, Linux is the only platform where this function is implemented, but that's not really needed due to MPRIS support, so SetWatchingMediaKeys can be dropped entirely
2021-07-19 22:56:14 +03:00
Ilya Fedin 49fed41dfa Use RegisterUrlScheme from lib_base 2021-07-19 22:55:57 +03:00
Ilya Fedin 9b1d967967 Move NotificationServiceWatcher to notifications manager 2021-07-19 22:39:38 +03:00