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
75ff7a6637
Control GtkOpenWithDialog lifetime from outside
2021-07-04 20:05:53 +03:00
Ilya Fedin
22d23c8be1
Add missed signalId check
2021-07-02 20:11:28 +03:00
Ilya Fedin
b335741f99
Use gsl::finally to pop thread context where appropriate
2021-07-02 20:11:28 +03:00
Ilya Fedin
1261c775d4
Fix freeze after creating file dialog
2021-07-02 15:51:58 +03:00
Ilya Fedin
551ea7d879
Move GTK integration out of process with D-Bus
2021-07-02 00:59:36 +03:00
Ilya Fedin
47e32bebe4
Remove not really needed gtk scale factor query
2021-07-01 22:13:50 +03:00
Ilya Fedin
0b21c04489
Remove the copy of gtk file dialog
2021-07-01 22:13:50 +03:00
Ilya Fedin
85f013ebdb
Revert "Avoid removing portal platformtheme plugin in snap"
...
This reverts commit 12db51fe75
.
2021-07-01 22:13:50 +03:00
Ilya Fedin
d42fb6d1b9
Switch from mallocng to jemalloc
...
Now it's known how to make it free the memory in an expected manner and it's better maintained
2021-07-01 22:13:20 +03:00
Ilya Fedin
8d75078a42
Use Glib::MainLoop instead of QEventLoop in glib code
2021-06-29 15:10:08 +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
Ilya Fedin
79f96480c2
Use QMenuBar instead of own global menu implementation on Linux
2021-06-29 10:30:48 +03:00
Ilya Fedin
5c8f08fc92
Move preview support from QGtkDialog to GtkFileDialog
2021-06-24 11:26:24 +04:00
Ilya Fedin
00a0b2c8b6
Get rid of GTK cast templates
2021-06-24 11:26:24 +04:00
Ilya Fedin
007218cc13
Use C++ wrappers in GtkOpenWithDialog
2021-06-24 11:26:24 +04:00
Ilya Fedin
8afe495a4f
Avoid using g_unix_fd_list_new_from_array
2021-06-24 11:26:24 +04:00
Ilya Fedin
257f2086d1
Get rid of gtk2 header compatibility
2021-06-24 11:26:24 +04:00
Ilya Fedin
f011c84ce8
Make Linux file dialog API better
2021-06-24 11:26:24 +04:00
Ilya Fedin
a55b41faa1
Provide a list of shell integrations in QT_WAYLAND_SHELL_INTEGRATION
2021-06-20 10:39:42 +04:00
Ilya Fedin
a26d769304
Set QT_WAYLAND_SHELL_INTEGRATION to custom value
2021-06-19 08:16:38 +04:00
23rd
b422ec025e
Removed Ui::show from classes that have pointer to Controller.
2021-06-17 10:57:45 +04:00
23rd
707b36dc12
Moved DBIWorkMode to Core::Settings.
2021-06-16 09:31:32 +03:00
23rd
5334372671
Moved WorkMode global variable from facades to core settings.
2021-06-16 09:31:32 +03:00
mid-kid
37f59095f4
Fix building with LINK_TO_GTK
2021-06-12 15:08:11 +04:00
23rd
32e47c24b4
Moved Linux MPRIS support to lib_base.
2021-06-10 23:00:56 +03:00
Ilya Fedin
b964c681f8
Get system dark mode state asynchronously on Linux
2021-05-31 20:31:24 +03:00
Ilya Fedin
c6dcc57c5e
Set _KDE_NET_WM_DESKTOP_FILE on X11
2021-05-31 20:30:51 +03:00
23rd
690fbe83fd
Unified and moved to single place generating of song name from SongData.
2021-05-31 08:54:22 +04:00
Ilya Fedin
e0d6faf45b
Fix build with LTO
2021-05-19 12:26:07 +03:00
John Preston
fbe4e3f0ec
Fix build with mallocng.
2021-05-17 13:38:28 +04:00
Ilya Fedin
837485974a
Use mallocng on Linux
2021-05-17 10:35:18 +03:00
Ilya Fedin
3cf739eca9
Use event filter to get surface expose event
2021-05-17 10:00:01 +03:00
Ilya Fedin
cfee688feb
Replace call_delayed with InvokeQueued in MainWindow::handleVisibleChanged
2021-05-17 10:00:01 +03:00
Ilya Fedin
30d8894c30
Use nodiscard in WaylandIntegration
2021-05-17 10:00:01 +03:00
Ilya Fedin
0b86feeeb5
Implement appmenu on Wayland with org_kde_kwin_appmenu protocol
2021-05-17 10:00:01 +03:00
Ilya Fedin
434ef34378
Implement taskbar icon hidding on Wayland with org_kde_plasma_shell protocol
2021-05-17 10:00:01 +03:00
Ilya Fedin
166c28c215
Get rid of default_delete
2021-05-17 10:00:01 +03:00
Ilya Fedin
17c514e851
Use surface as XdgExporter parent
2021-05-17 10:00:01 +03:00
John Preston
383acf0ffc
Fix crash in native notifications on Linux.
2021-05-12 12:10:55 +04:00
Ilya Fedin
680a9a7ca7
Implement parent setting for portal and gtk dialogs on Wayland via xdg-foreign-v2
2021-05-11 10:53:32 +03:00
Ilya Fedin
95b4435396
Resubscribe to signal when running with old xdg-desktop-portal
2021-05-07 18:32:02 +03:00
John Preston
b1c4524612
Fix crash dump generation on Linux.
2021-05-03 17:34:33 +04:00
Ilya Fedin
9a857659ce
Check action type before launching new version
2021-05-03 14:53:21 +03:00
Ilya Fedin
68dc00be27
Move weak_ptr include to .cpp in linux notifications
2021-05-03 14:39:24 +03:00
Ilya Fedin
ee00f12131
Launch new version directly in write-protected mode
2021-05-03 14:39:24 +03:00
John Preston
7444f17c4e
Use sendfile only on Linux.
2021-05-03 14:59:24 +04:00
Ilya Fedin
578833446d
Add support for write-protected update on Linux
2021-05-03 12:54:08 +03:00
John Preston
98180d3a9e
Always guard and send on_main in native notifications.
2021-05-03 13:08:50 +04:00
John Preston
434a4af9ef
Fix sendfile() arguments.
2021-05-03 12:43:36 +04:00
John Preston
3cad89f299
Fix build, add logs for sendfile().
2021-05-03 11:21:38 +04:00
Ilya Fedin
56a5363eb9
Move keyPressed out of GSDMediaKeys::Private
2021-05-03 10:20:26 +03:00
Ilya Fedin
b1c95d719a
Use crl::guard in XDPFileDialog
2021-05-03 10:20:26 +03:00
Ilya Fedin
d87ea056c6
Fix a crash in NotificationData::show
2021-05-03 10:20:26 +03:00
Ilya Fedin
34534a9653
Use kernel accelerated sendfile to copy files on Linux
2021-05-03 09:59:58 +03:00
Ilya Fedin
b72260f420
Avoid 30s freeze when opening file dialog in broken envirionments
2021-04-30 08:43:25 +03:00
Ilya Fedin
896eee9841
Check whether portal dialog is failed to open
2021-04-30 08:43:25 +03:00
Ilya Fedin
0d96657c33
Fix check for disconnected error
2021-04-30 08:43:25 +03:00
Ilya Fedin
89b11ef084
Move gtk initialization back to ThirdParty::start
2021-04-30 08:41:05 +03:00
Ilya Fedin
26d3995424
Move wayland helper to cmake_helpers
2021-04-30 08:41:05 +03:00
John Preston
b6fad35146
Improve library loading on Linux.
2021-04-29 12:05:32 +04:00
John Preston
70bf328e7d
Load wayland-client dynamically and provide functions.
2021-04-29 11:21:57 +04:00
John Preston
404538c989
Fix build with dummy notifications manager on Linux.
2021-04-29 11:21:57 +04:00
John Preston
728b1efb9a
Respect Focus Assist only for native notifications.
...
Fixes #16215 .
2021-04-28 11:20:39 +04:00
Ilya Fedin
16ba20f898
Prefer portal file dialog in all environments
2021-04-28 09:39:20 +03:00
Ilya Fedin
cb930a89ce
Silence ServiceUnknown and Disconnected errors for native notifications
2021-04-27 17:44:16 +03:00
John Preston
e26e666135
Hide native notification details on lock screen.
2021-04-27 13:51:52 +04:00
John Preston
819ce06dfb
Don't mark messages as read when screen is locked.
2021-04-27 13:31:51 +04:00
Ilya Fedin
c87802ce65
Move GTK initialization before Qt initialization
...
To ensure Qt doesn't load GTK earlier than us and gdk_set_allowed_backends respected
2021-04-13 14:03:00 +03:00
John Preston
e6587f2556
Add limited webview support on Linux.
2021-04-06 18:41:16 +04:00
Ilya Fedin
7ab3be3631
Handle any audio type with MPRIS
2021-04-05 09:08:33 +03:00
Ilya Fedin
591488c497
Close players instead of quitting the app
2021-04-05 09:08:33 +03:00
Ilya Fedin
ae54c8af6a
Add support for setting cover with MPRIS
2021-04-05 09:08:33 +03:00
Ilya Fedin
30c86523ff
Remove redudant indenattion level in MPRIS XML
2021-04-05 09:08:33 +03:00
Ilya Fedin
9a6e571154
Move XDP file dialog to glibmm mime type & regex methods
2021-04-05 08:30:04 +03:00
Ilya Fedin
6463890b11
Workaround snap's activation restriction
2021-04-05 08:25:47 +03:00
Nicholas Guriev
f528a240d9
Rely on QT_STRINGIFY instead of custom macro
2021-04-05 07:59:18 +03:00
Ilya Fedin
81d052adfc
Add a way to get dark mode state on KDE
2021-04-02 20:30:47 +03:00
Ilya Fedin
822c1cafd2
Fix a space on end of a line in linux_mpris_support
2021-04-02 20:30:47 +03:00
Ilya Fedin
c08a148baf
Fix build on 32-bit systems
2021-03-23 18:21:07 +03:00
Ilya Fedin
12db51fe75
Avoid removing portal platformtheme plugin in snap
2021-03-22 07:57:18 +03:00
Ilya Fedin
ce5579e8f9
Unify gtk/xdp file dialog getters
2021-03-22 07:57:18 +03:00
Ilya Fedin
9f6f7f7c9b
Fix build without dbus
2021-03-21 08:59:19 +03:00
Ilya Fedin
3d1cddaca5
Add a way to change default handler in snap
2021-03-20 14:20:09 +03:00
Ilya Fedin
85ac983a27
Add MPRIS support
2021-03-18 21:55:06 +03:00
Ilya Fedin
b4b80822c8
Set glib's application name and prgname
2021-03-18 07:51:57 +03:00
Ilya Fedin
ace5740125
Use QProcess::startDetached for xdg-open
...
Since it may running continously
2021-03-17 15:39:26 +03:00
Ilya Fedin
0c8febce9c
Avoid allocations for case-insensetive compare
2021-03-16 12:20:48 +03:00
Ilya Fedin
fe5de8f009
Fix non-working UniqueConnection in gtk file dialog
2021-03-15 17:19:44 +03:00
Ilya Fedin
12e306dd7b
Replace remaining multi-args
2021-03-15 11:21:05 +03:00
Ilya Fedin
c4dcf064d5
Avoid multiple .arg usage as suggested by clazy
2021-03-13 19:08:33 +03:00
Ilya Fedin
e493ab12dc
Get rid of GetLauncherFilename
...
Use QGuiApplication::desktopFileName directly instead
2021-03-12 15:44:37 +04:00
Ilya Fedin
db0da70de6
Fix space on end of a g_warning
2021-03-11 11:19:26 +04:00
Ilya Fedin
59e6fd9989
Fallback to plain xdg-open as a last resort
...
Even though QDesktopServices::openUrl calls xdg-open, it doesn't fallback to xdg-open in confined environments.
This is useful in snap where portals aren't guaranteed to be present.
2021-03-11 11:19:26 +04:00
Ilya Fedin
b24cba99e2
Catch ListActivatableNames errors
2021-03-10 11:22:14 +04:00
Ilya Fedin
d6848c49e8
Fire reject signal on exceptions in XDP file dialog
2021-03-10 09:47:30 +04:00
Ilya Fedin
5d1601d9c9
Move Platform::FileDialog::Gtk::Supported to private namespace
2021-03-10 09:46:13 +04:00
Ilya Fedin
2c6a9614b2
Fix saving filename compatibility with xdg-desktop-portal-gtk
2021-03-10 09:46:13 +04:00
Ilya Fedin
cc736158a6
Get rid of QByteArray in djbStringHash
2021-03-10 09:46:13 +04:00
Ilya Fedin
817610ddd7
Get rid of RunShellCommand
2021-03-10 09:46:13 +04:00
Ilya Fedin
77c8ca76b7
Remove duplicate ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION in includes
2021-03-10 09:46:13 +04:00
Ilya Fedin
67cbe61879
Check if portal backend is present by absence of errors when getting portal version
2021-03-10 09:46:13 +04:00
Ilya Fedin
67eba93e29
Use gsl::finally in PortalAutostart
2021-03-10 09:46:13 +04:00
Ilya Fedin
b918170464
Add portal-based open with dialog implementation
2021-03-10 09:46:13 +04:00
Ilya Fedin
5f1d56fbc2
Move gtk settings connections to getters
2021-03-10 08:57:16 +04:00
Ilya Fedin
092b6e7c18
Fix spaces on ends of lines
2021-03-05 13:31:56 +04:00
Ilya Fedin
23272430b4
Build with QT_NO_KEYWORDS
2021-03-04 12:07:54 +04:00
Ilya Fedin
a29ff093f6
Fix some lines length in specific_linux
2021-03-04 12:07:54 +04:00
Ilya Fedin
37a8afaddf
Move remaining usage of dbus to glibmm in notifications_manager_linux
2021-03-04 12:07:54 +04:00
Ilya Fedin
b08c33cf8a
Move remaining usage of dbus to glibmm in main_window_linux
2021-03-04 12:07:54 +04:00
Ilya Fedin
a2f8546033
Move remaining usage of dbus to glibmm in specific_linux
2021-03-04 12:07:54 +04:00
Ilya Fedin
580a12ad7f
Wait for response in PortalAutostart
2021-03-04 12:07:54 +04:00
Ilya Fedin
d77df9905f
Move NotificationServiceWatcher to glibmm
2021-03-04 12:07:54 +04:00
Ilya Fedin
82f92cffd3
Port XDPFileDialog to gdbus
2021-03-04 12:07:54 +04:00
Ilya Fedin
8042a83fd2
Move glib usage to glibmm
2021-03-04 12:07:54 +04:00
John Preston
54f06740d5
Remove some App::wnd() calls.
2021-03-03 11:29:26 +04:00
Ilya Fedin
9b88f816d6
Use new Platform::IsX11
2021-02-24 21:41:14 +04:00
Ilya Fedin
1a3253ae8b
Implement three items tray menu on Linux
2021-02-23 17:14:57 +04:00
Ilya Fedin
40b776befc
Remove unneeded Q_DECLARE_METATYPE from specific_linux
2021-02-22 23:39:39 +04:00
Ilya Fedin
7ada85aa5a
Remove unneeded forward-declaration for wayland integration
2021-02-22 23:39:39 +04:00
Ilya Fedin
fd2e41024c
Rearrange includes in XDP file dialog like in Qt dev branch currently
2021-02-22 23:39:39 +04:00
Ilya Fedin
4becfe409a
Add Haiku autostart & system settings support
2021-02-22 23:39:00 +04:00
Ilya Fedin
14b09e88d6
Add DESKTOP_APP_DISABLE_X11_INTEGRATION
2021-02-22 23:39:00 +04:00
Ilya Fedin
a40a8ac7ee
Use local variable for QLibrary from BaseGtkIntegration
2021-02-22 23:38:09 +04:00
Ilya Fedin
23c8d7f38f
Remove unneeded checks for GtkIntegration::loaded()
...
Due to rearranged loading of gtk methods
2021-02-22 23:38:09 +04:00
Ilya Fedin
53fd3fce84
Allow initializing gtk integration before QApplication
2021-02-22 23:38:09 +04:00
Ilya Fedin
bbf49b024a
Fix implicit conversions from QByteArray
2021-02-19 14:15:09 +04:00
Ilya Fedin
4fde7852b1
Use qEnvironmentVariable where appropriate
2021-02-19 14:15:09 +04:00
Ilya Fedin
513054a307
Get rid of unneeded material wayland decorations
2021-02-19 14:15:09 +04:00
Ilya Fedin
6932d859c9
Get rid of unneeded QT_VERSION_CHECK in linux platform code
2021-02-19 14:15:09 +04:00
Ilya Fedin
15d18077b8
Use new methods from lib_ui
2021-02-19 14:15:09 +04:00
Ilya Fedin
f1ee5b5704
Expose gtk integration to lib_base
2021-02-19 12:41:09 +04:00
Ilya Fedin
294f849775
Init last path with gtk dialog
2021-02-17 11:14:41 +04:00
Ilya Fedin
88951e9e5c
Fix saving last path in confined environments
2021-02-17 11:14:41 +04:00
Ilya Fedin
7977331d8b
Read DESKTOPINTEGRATION variable instead of TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
...
Since it's widely used (by AppImages, for instance)
2021-02-17 11:12:06 +04:00
Ilya Fedin
03e8d28456
Check for null manager type
2021-02-09 16:51:25 +04:00
Ilya Fedin
9b70f24e91
Adjust some tabs in gtk file dialog
2021-02-05 20:23:00 +04:00
Ilya Fedin
8fd1d16db6
Fix accept/reject lifetime in gtk file dialog
2021-02-05 20:23:00 +04:00
Ilya Fedin
36acf60f7e
Add XDG Desktop Portal based file dialog implementation from Qt
...
This allows to use portal dialogs more flexibly (e.g. fallback mechanism)
This also allows to have any changes we want for portal dialogs without patchig Qt
No more need to override QT_QPA_PLATFORM to use portal dialogs
2021-02-05 20:23:00 +04:00
23rd
fb9a34a069
Removed App::wnd for opening about box.
2021-02-04 18:13:04 +04:00
23rd
b4af805521
Moved showLogoutConfirmation from MainWindow to Window::Controller.
2021-02-04 18:13:03 +04:00
23rd
1f80c297ec
Removed App:wnd for opening settings.
...
Removed unused App::showSettings from facades.
2021-02-04 18:13:03 +04:00
23rd
019e691fbb
Moved some session dependent methods to SessionController.
...
MainWindow::showAddContact(),
MainWindow::showNewGroup(),
MainWindow::showNewChannel().
2021-02-04 18:13:03 +04:00
Ilya Fedin
fe8bc30645
Use GCancellable to prevent crash in notificationShown
2021-02-02 20:11:09 +04:00
Ilya Fedin
160cd975ce
Another attempt to implement shadows on Wayland
...
Works only with patched Qt
2021-01-28 22:19:34 +04:00
Ilya Fedin
7c031a4fb6
Perform additional checks for gtk scaling factor
2021-01-28 11:50:52 +04:00
Ilya Fedin
9b59e74d66
Make native notifications setting tri-state
2021-01-28 11:44:43 +04:00
Ilya Fedin
ec8ddb047d
Use style::CheckScale when setting gtk scale factor
2021-01-28 11:43:17 +04:00
Ilya Fedin
82d78e7c45
Decrease indentation in notification manager creation
2021-01-25 09:42:16 +04:00