Commit Graph

216 Commits

Author SHA1 Message Date
Ilya Fedin 648b23b548 Do non-getting XCB requests synchronously 2024-06-24 16:23:32 +04:00
Ilya Fedin ba89912834 Switch more XCB code to base::Platform::XCB::Connection 2024-06-24 16:23:32 +04:00
Ilya Fedin 671a15d763 Update skip taskbar hint on Linux without QWindow events 2024-06-22 11:32:36 +04:00
Ilya Fedin 032fe3e0fc Remove std::optional indrection for nullable XCB types 2024-06-16 09:54:04 +04:00
John Preston 97a5e0c6ea Support limited formatting input in factcheck. 2024-05-30 21:35:07 +04:00
Ilya Fedin 9046b2cafb Stop using the plasma-shell protocol
Looks like this isn't really correct in combination with xdg-shell
2024-04-22 10:59:16 +04:00
Ilya Fedin a503197352 Remove XCBSetDesktopFileName
This is done by Qt nowadays
2024-04-15 10:11:30 +04:00
Ilya Fedin 41481129f7 Port main_window_linux to cppgir 2024-03-08 08:05:12 +04:00
John Preston d5147c9d28 Partially (italic+colored) support blockquotes. 2023-10-26 14:08:40 +04:00
23rd 98bb520f47 Adjusted code for refactor of input fields in lib_ui. 2023-09-04 17:36:54 +04:00
Ilya Fedin 4755be4ace Add missing returns to skip taskbar Linux abstraction 2023-08-24 11:44:06 +02:00
John Preston 8ec0bdcac9 Version 4.8.10: Fix build with GCC. 2023-07-28 21:46:41 +04:00
Ilya Fedin f817df9d7f Use new glibmm 2.78 API 2023-07-20 17:58:07 +04:00
Ilya Fedin 0534a2fb62 Fix QGuiApplication::desktopFileName usage
The Qt documentation says:
This is the file name, without the full path or the trailing ".desktop" extension of the desktop entry that represents this application according to the freedesktop desktop entry specification.

Qt 6.5.2 also automatically fixes it breaking all the current tdesktop and desktop-app usage expecting the file extension.
2023-07-19 23:51:50 +04:00
Ilya Fedin 2ce9e610fa Update icons when icon theme on Linux changes 2023-05-29 11:07:19 +04:00
Ilya Fedin 2675b5df3b Use QGuiApplication::setBadgeNumber API since Qt 6.6 on Linux 2023-05-15 10:20:18 +04:00
Ilya Fedin 0a011db483 Get rid of DESKTOP_APP_DISABLE_DBUS_INTEGRATION
Desktop App Toolkit uses GLib as the D-Bus library for quite long time, but GLib is not only a D-Bus library, it's more a basic library providing native Linux APIs implementing various specs. The situation right now is that DESKTOP_APP_DISABLE_DBUS_INTEGRATION disables not only D-Bus code but all the native API integration such as MIME handling or .desktop file parsing. In other words, the option disables native Linux APIs on Linux what is absurd and doesn't have any sense.
2023-05-15 08:08:04 +04:00
John Preston fc26457218 Show current chat name in the window title. 2023-01-09 18:39:07 +04:00
Ilya Fedin 577f4b6271 Don't check com.canonical.Unity for the counter
It seems there's a race condition when Telegram is auto-started on Plasma and it doesn't hurt to issue the signal always, so just remove the check
2022-12-09 09:19:00 +04:00
23rd 4fabb3f2a2 Replaced some qsl with u""_q literal. 2022-11-30 17:17:14 +03:00
Ilya Fedin 768fc9b8f6 Use the new Glib::Variant qint64/quint64 compatibility with old code 2022-11-18 20:40:33 +04:00
Ilya Fedin f542a026ec Add _GTK_APPLICATION_ID support 2022-11-07 18:16:49 +04:00
Ilya Fedin 1336a7149b Update glibmm to latest version 2022-11-03 14:45:01 +04:00
Ilya Fedin feb6107ce6 Qt 6.4 supports window activation with tray on Wayland 2022-09-02 21:27:41 +04:00
Ilya Fedin 2477b35b42 Move tray availability logging to the appropriate class 2022-06-14 16:36:44 +04:00
Ilya Fedin 4d997a26b0 Don't update global menu on Linux without focus widget
The window loses focus when menu is open and edit options are deactivated
2022-06-14 16:36:44 +04:00
Ilya Fedin 4410aeb3eb Make QMenuBar on Linux work without private API 2022-06-14 16:36:44 +04:00
23rd 7bf9db8644 Fixed logging out with opened non-primary windows. 2022-06-08 11:59:30 +03:00
23rd 0e16a50bbc Completely removed common and platform code for tray from main window. 2022-05-03 04:25:36 +03:00
23rd 27c5c4b8f2 Removed Linux tray implementation from main window. 2022-05-03 04:25:36 +03:00
Ilya Fedin daaa654065 Get rid of unneeded MainWindow::Private class on Linux 2022-03-05 16:47:38 +04:00
Ilya Fedin 8db567ba7a Don't hold a dbus connection unecessarily in main window 2022-03-05 16:47:38 +04:00
Ilya Fedin 805e6de1dc Add global menu event hook on Linux just like on macOS 2022-03-05 16:47:38 +04:00
Ilya Fedin 1c8d4ee7ab Get rid of Q_OBJECT in HistoryInner 2022-03-05 16:47:38 +04:00
Ilya Fedin ceb323ac7c Use QMenuBar instead of own global menu implementation on Linux
This is another attempt of 79f96480c2
2022-01-22 21:18:37 +04:00
Ilya Fedin b65d40a22b Get rid of custom SNI implementation
XDG is inventing new tray specification, so SNI will be outdated soon and it's better to just use QSystemTrayIcon.
I believe all the major drawbacks of QSystemTrayIcon are solved and we can live with minor ones.
Given the planned MainWindow refactoring, it seems it's the best time to do that.
2022-01-22 21:18:37 +04:00
Klemens Nanni 078a2af385 Fix -Wunused-const-variable warnings under DESKTOP_APP_DISABLE_DBUS_INTEGRATION
OpenBSD builds without dbus integration (for now);  this fixes the warnings.
Those variables have been introduced in multiple commits.
2021-12-29 20:16:04 +03:00
Ilya Fedin 33b7ac209e Don't use QPlatformNativeInterface-based XCB::GetRootWindowFromQt 2021-12-13 14:24:34 +04:00
Ilya Fedin 8fda1169e5 Get rid of Platform::MainWindow::psLinux* 2021-11-26 18:28:37 +04:00
Ilya Fedin 53305f5f46 Fix paste check in Linux global menu 2021-11-26 18:28:37 +04:00
John Preston aef45b3a1d Refactor icon unread counter painting. 2021-11-02 20:12:57 +04:00
Ilya Fedin c50a5db277 Restore dbusmenu-qt dependent functionality with Qt 6 2021-10-24 20:01:55 +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 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
23rd a631a28092 Removed App::pixmapFromImageInPlace. 2021-07-06 12:13:06 +03:00
Ilya Fedin 6f031a715e Revert "Use QMenuBar instead of own global menu implementation on Linux"
This reverts commit 79f96480c2.
2021-07-05 21:01:20 +03:00
Ilya Fedin c3fb392906 Clean dbus-specific code in main_window_linux.h 2021-06-29 10:30:48 +03:00
Ilya Fedin a59bfdb2f8 Fix handleNativeSurfaceChanged when dbus integration is disabled 2021-06-29 10:30:48 +03:00