Commit Graph

671 Commits

Author SHA1 Message Date
23rd 780b5555d7 Added missed OSX checking to touchbar's files. 2020-07-15 22:10:06 +04:00
23rd 87aa8a249f Reimplemented track position item for audio touchbar. 2020-07-15 22:10:06 +04:00
23rd 8de6d0b63b Moved creation of touchbar buttons and sliders to separate file. 2020-07-15 22:10:06 +04:00
23rd 8dceec5a9f Fixed memory leak in obtaining doNotDisturb value on macOS. 2020-07-15 22:10:06 +04:00
23rd da690d2741 Removed source code of old touchbar. 2020-07-15 22:10:06 +04:00
23rd b95f5071a4 Added new touchbar to MainWindow. 2020-07-15 22:10:06 +04:00
23rd 7cc55e24c0 Added touchbar manager. 2020-07-15 22:10:06 +04:00
23rd 199c746216 Added main touchbar. 2020-07-15 22:10:06 +04:00
23rd 2b9cce2f23 Moved touchbar item for text formatting to separate file. 2020-07-15 22:10:06 +04:00
23rd c50df6a6bc Moved touchbar scrubber item for stickers and emoji to separate file. 2020-07-15 22:10:06 +04:00
23rd 54149fb156 Moved panel of pinned dialogs for touchbar to separate file. 2020-07-15 22:10:06 +04:00
23rd 2f964d0415 Refactored and moved to separate file audio player in touchbar. 2020-07-15 22:10:06 +04:00
23rd 0970728273 Added common touchbar utils. 2020-07-15 22:10:06 +04:00
23rd b02dd889e0 Removed old touchbar from MainWindow. 2020-07-15 22:10:06 +04:00
Ilya Fedin c61cabb075 Make qt_make_filter_list a part of file_utilities_linux.cpp 2020-07-13 06:53:45 +04:00
Ilya Fedin a6fe5c08ad Add a method to get flatpak ID 2020-07-13 06:53:45 +04:00
Ilya Fedin 256e976167 Hide ProcessNameByPID and RealExecutablePath into a private namespace 2020-07-13 06:53:45 +04:00
Ilya Fedin e081ed4b4a Follow device pixel ratio in TrayIconFile 2020-07-13 06:53:45 +04:00
Ilya Fedin b587328fed Add support for custom titlebar on Linux with Qt < 5.15 2020-07-12 23:19:05 +04:00
Ilya Fedin 2fd5771c3d Add support for org.gnome.Mutter.IdleMonitor 2020-07-12 22:19:44 +04:00
Ilya Fedin 59b521d666 Implement xcb-based LastUserInputTime method 2020-07-12 22:19:44 +04:00
John Preston f10b2194e6 Add option for a native window frame.
Fixes #2958.
2020-07-07 21:34:25 +04:00
John Preston d1050e6041 Use window shadow from lib_ui. 2020-07-07 21:34:25 +04:00
John Preston 7f55fd2cad Use a safer way to load system libraries. 2020-07-02 21:01:25 +04:00
Sean Wei 212944d89c Fix format 2020-07-02 11:32:17 +04:00
John Preston 370ad0aa44 Fix critical memory leak on macOS. 2020-07-01 22:34:42 +04:00
John Preston eb1845e33b Fix crash in session destruction.
Also use rpl::event_stream for downloaderTaskFinished.
2020-07-01 12:26:29 +04:00
Ilya Fedin dd76d54aeb Fix build with TDESKTOP_DISABLE_GTK_INTEGRATION 2020-06-30 22:13:36 +04:00
John Preston b7707a8a89 Fix event loop tracking crash. 2020-06-30 17:41:58 +04:00
John Preston 613a2f358a Fix clearing session notifications. 2020-06-30 11:52:59 +04:00
Ilya Fedin 90af3d295b Always fallback to gtk icon theme
To inherit icon theme even on WM-based environments
2020-06-30 10:23:07 +04:00
John Preston 107dea085c Fix build for OS X 10.10-10.11. 2020-06-30 00:05:27 +04:00
John Preston eff340deaf Fix touchbar destruction with Window. 2020-06-29 22:12:40 +04:00
Ilya Fedin 0ede4bba72 Unity doesn't support _NET_WM_MOVERESIZE 2020-06-29 19:17:06 +04:00
Ilya Fedin 5e8e654324 Add cross-platform TitleWidget implementation based on startSystemMove/startSystemResize 2020-06-29 17:04:05 +04:00
Ilya Fedin 916601a52c Don't request IsStatusNotifierHostRegistered when SNI become available
To avoid situations when StatusNotifierItem registers icon, but tdesktop assumes that there are still no SNI
2020-06-29 16:58:00 +04:00
Ilya Fedin a726c6411b Don't use custom notificaions on Wayland even with TDESKTOP_DISABLE_DBUS_INTEGRATION 2020-06-29 16:53:50 +04:00
Ilya Fedin bb8f9a1b7f Link to gtk3 without QLibrary if DESKTOP_APP_USE_PACKAGED is defined 2020-06-29 16:27:45 +04:00
Ilya Fedin 4922768086 Don't use QLibrary for glib 2020-06-29 16:27:45 +04:00
Ilya Fedin 806f2e0b50 Check for all needed gtk functions for gtk clipboard 2020-06-29 16:27:45 +04:00
Ilya Fedin d319c85c57 Don't load another gtk version if gtk_init_check was called 2020-06-29 16:27:45 +04:00
John Preston b6ac4a0233 Closed alpha version 2.1.13.1: Multiaccount. 2020-06-26 17:09:39 +04:00
23rd f8dca0ae88 Fixed couple of issues with passcode lock support in touchbar. 2020-06-26 15:57:09 +03:00
23rd ef6fab7f2a Improved unread badges in touchbar. 2020-06-26 15:05:08 +03:00
23rd c8c7497d75 Removed from touchbar unused code of old panel of pinned dialogs. 2020-06-26 15:05:08 +03:00
23rd 4f062788d2 Wrapped Pins in touchbar to shared_ptr. 2020-06-26 15:05:08 +03:00
23rd 25ab88d87a Added animated online dots to panel of pinned dialogs in touchbar. 2020-06-26 15:05:08 +03:00
23rd e5732cba97 Added ability to reorder pins in new panel in touchbar. 2020-06-26 15:05:08 +03:00
23rd 0e794d53cd Reimplemented panel of pinned dialogs for touchbar. 2020-06-26 15:05:08 +03:00
23rd 68badc6682 Slightly optimized drawing stickers in touchbar. 2020-06-26 15:05:08 +03:00
23rd 27c799ce3d Fixed size ratios of stickers in touchbar. 2020-06-26 15:05:08 +03:00
John Preston 9703f7460a Fix build on Linux. 2020-06-26 12:27:54 +04:00
John Preston 325840703e Fix launching with a passcode on macOS. 2020-06-26 11:51:05 +04:00
John Preston 8c4d3a86e7 Fix notifications on macOS. 2020-06-25 19:13:02 +04:00
John Preston d8a2b391a3 Use Main::Session::uniqueId in notifications. 2020-06-24 13:05:56 +04:00
John Preston e7b8a52278 Move terms lock from Core::App to Session. 2020-06-24 11:56:16 +04:00
23rd 2e7a89d9c4 Added support of switching accounts to touchbar. 2020-06-23 21:53:43 +04:00
23rd e318a7d65f Simplified ranges::find_if with ranges::any_of and ranges::none_of. 2020-06-23 21:53:43 +04:00
John Preston 4a8d297df3 Use username in notifications if available. 2020-06-23 21:53:43 +04:00
John Preston 3bb352e0e5 Fix build and working on macOS. 2020-06-23 21:53:42 +04:00
John Preston 5433c16244 Add target account name to notifications. 2020-06-23 21:53:42 +04:00
John Preston 997913be25 One Window::Notifications system for all sessions. 2020-06-23 21:53:42 +04:00
John Preston 83538675ce Move a lot of settings to Core::Settings. 2020-06-23 21:53:42 +04:00
John Preston 3a5ede534e Count all accounts in Core::App().unreadBadge. 2020-06-23 21:53:41 +04:00
John Preston 357caf8007 Keep separate MTP::Config's for separate accounts. 2020-06-23 21:53:41 +04:00
23rd 3ef45f5431 Fixed starting with touchbar. 2020-06-23 21:53:41 +04:00
John Preston bc144377c0 Support logout of a secondary account. 2020-06-23 21:53:41 +04:00
23rd 9faf15943a Fixed build for macOS. 2020-06-23 21:53:40 +04:00
John Preston 3c4e959468 Replace observer_peer with rpl interface. 2020-06-23 21:53:40 +04:00
John Preston b0f9ad71dd Check some more App::main()s. 2020-06-23 21:53:40 +04:00
John Preston ad4afe9293 Move session data localstorage -> storage_account. 2020-06-23 21:53:39 +04:00
23rd 739a3ebe97 Removed all Auth() calls from touchbar. 2020-06-23 21:53:39 +04:00
John Preston fc174f742a Move stickers code to Data::Stickers class. 2020-06-23 21:53:38 +04:00
John Preston 27af83267e Move autolock checking to Core::Application. 2020-06-23 21:53:38 +04:00
Ilya Fedin 06a4480520 Drop unneeded GTK methods 2020-06-23 21:29:18 +04:00
Ilya Fedin 9a65481e9d Unset QT_STYLE_OVERRIDE instead of forcing Fusion
To don't break styling on KDE
2020-06-23 21:23:47 +04:00
Ilya Fedin 3a91003eea Use gtk clipboard when available to avoid https://bugreports.qt.io/browse/QTBUG-56595 2020-06-17 20:34:47 +04:00
Ilya Fedin dbad9fa73a Use Q_OS_UNIX instead of Q_OS_LINUX since linux-specific code can be used also on *BSD/Haiku 2020-06-17 20:33:23 +04:00
Ilya Fedin 56de3194ef Never use custom notifications on Wayland since there are no positioning API 2020-06-17 20:32:50 +04:00
Ilya Fedin e009ac026d Update snap to core20 2020-06-09 19:01:35 +04:00
Ilya Fedin d45e74619d Use Platform::IsWayland from lib_base 2020-06-03 11:43:55 +04:00
Ilya Fedin d92b5eebcc Restore X error handler just like qgtk3 2020-06-03 11:31:34 +04:00
Ilya Fedin 5c6b4d95b0 Suppress warning about transient parent when opening gtk file dialog 2020-06-03 11:31:34 +04:00
Ilya Fedin 0fbec5eba1 Use QVersionNumber to compare version in native notifications 2020-06-03 11:31:34 +04:00
Ilya Fedin ab13d9bdaf Skip empty parts in QT_QPA_PLATFORMTHEME 2020-06-03 11:31:34 +04:00
Ilya Fedin 0165e31ca7 Never use custom code for portal detecting in flatpak 2020-06-03 11:31:34 +04:00
Ilya Fedin c776f81dc7 Add support for choosing directories via xdg-desktop-portal 2020-06-03 11:31:34 +04:00
John Preston 793906ca9a Fix build on Windows. 2020-06-02 12:26:58 +04:00
Ilya Fedin e098922a4b Add Platform::AutostartSupported 2020-06-01 18:25:21 +04:00
Ilya Fedin 413ddf285e Fix crash in gtk file dialog on Wayland 2020-06-01 18:22:53 +04:00
Ilya Fedin 7ac78be984 Load gtk2 even on Wayland 2020-06-01 18:22:53 +04:00
Ilya Fedin 4c546156da Remove duplicate log line 2020-06-01 18:22:53 +04:00
Ilya Fedin 10b169f9f6 Make not supported errors static 2020-06-01 18:19:34 +04:00
Ilya Fedin c83b8d4043 Fix naming of static variables 2020-06-01 18:19:34 +04:00
Ilya Fedin 1fc2b19c94 Add Cinnamon sound settings command 2020-06-01 18:19:34 +04:00
Ilya Fedin fb97940cac Rename SandboxAutostart to PortalAutostart 2020-06-01 18:19:34 +04:00
Ilya Fedin 16c38b54e2 Rename InSandbox to InFlatpak 2020-06-01 18:19:34 +04:00
Ilya Fedin 7f29f57c3d Use custom gtk file dialog only on gtk-based DEs 2020-06-01 18:19:34 +04:00
Ilya Fedin 1fb1d57a27 Get system icon theme on gtk-based DEs 2020-06-01 18:19:34 +04:00
Ilya Fedin 47d7bd95ae Add a method to check if gtk integration is forced 2020-06-01 18:19:34 +04:00
John Preston b7aa60bedf Fix build for Linux. 2020-06-01 18:09:34 +04:00
John Preston d5b3fa017b Fix build for macOS. 2020-06-01 18:09:34 +04:00
John Preston 36fbdfb380 Simplify Image, remove ImageSource. 2020-06-01 18:09:33 +04:00
John Preston f066e0f05a Use Data::CloudImage for userpics. 2020-06-01 18:09:33 +04:00
John Preston ae9ed820ee Fix sticker set icons display. 2020-06-01 18:09:33 +04:00
John Preston 1329870c8e Fix build on macOS. 2020-06-01 18:09:30 +04:00
Ilya Fedin 1504136828 Don't spam logs if there are no dbus 2020-05-26 07:24:18 +04:00
Ilya Fedin cd81fc6727 Don't lose -freetype argument on restart 2020-05-25 09:26:49 +04:00
Ilya Fedin 4c1f83daca Add a check for bundled Qt plugins 2020-05-24 10:57:37 +04:00
Wei Cheng 6559e83e83 fix: obtain doNotDisturb value correctly 2020-05-15 11:44:06 +04:00
Ilya Fedin 492dc2568c Add DESKTOP_APP_USE_PACKAGED support for Windows 2020-05-12 17:32:40 +04:00
John Preston 6f760d513e Add a checkbox to disable taskbar flash.
Also add ability to set urgent flag for the window on Linux.

Fixes #223, fixes #897, fixes #906.
2020-05-12 14:16:24 +04:00
John Preston f5c0e5d31d Remove unnecessary include. 2020-05-12 09:43:54 +04:00
Ilya Fedin d1d1f83881 Remove outdated LIBGL_ALWAYS_INDIRECT hack 2020-05-08 12:54:21 +04:00
Ilya Fedin 13c2d6ff72 Detect global menu at runtime 2020-05-05 09:54:35 +04:00
Ilya Fedin 5180d31b40 Fix decoration applying and trigger repainting on update
For some reason this is needed for newer Qt in flatpak
2020-05-02 16:29:00 +04:00
Ilya Fedin 161e51757c Change color of wayland decoration according to theme 2020-05-01 12:26:10 +04:00
Ilya Fedin 46d4b03d49 Fix freeze in notifications settings when notification daemon is unavailable 2020-05-01 12:15:01 +04:00
Ilya Fedin 95b4f56b86 Don't use QDesktopServices::openUrl on snap 2020-05-01 12:06:01 +04:00
Ilya Fedin 7f890122e6 Add methods to detect appimage, static binary and forced gtk dialog 2020-04-26 12:28:34 +04:00
Ilya Fedin 7bc86cc9af Fix directory opening with portal and use them by default with KDE 2020-04-24 14:33:26 +04:00
John Preston e1dc15321a Work around 32-bitness of GetLastInputInfo.
Fixes #7637.
2020-04-21 18:55:35 +04:00
Ilya Fedin 41d39012d2 Synchronize AppMenu availability check with Qt 2020-04-21 14:06:03 +04:00
Ilya Fedin ed91c07f99 Restore the old behavior with fallback fontconfig configuration
With current code fallback works only through time and replaces the config even if it is changed by the user.

This commit fixes that.
2020-04-13 10:49:30 +04:00
Ilya Fedin a1a7399023 Don't remove SNI object when SNI is lost 2020-04-13 10:43:37 +04:00
John Preston 0d58f1c9fa Try system font config once in snap build. 2020-03-30 12:18:50 +04:00
Ilya Fedin 86b9927965 Log global menu usage 2020-03-29 14:17:11 +04:00
Ilya Fedin aa4968faaa Re-use fontconfig fallback code in snap 2020-03-29 14:14:56 +04:00
John Preston e36a66b971 Fix build for macOS. 2020-03-27 20:36:03 +04:00
Ilya Fedin 13e8b60d6c Don't recreate tray icon if it is disabled 2020-03-24 17:21:00 +04:00
Ilya Fedin d2291f5b17 Fix panel icon forcing 2020-03-19 01:02:15 +04:00
Ilya Fedin 9823615a84 Check if icon has desired size when saving 2020-03-16 16:57:22 +04:00
Ilya Fedin d47e94ea4d Fallback to launcher basename if FLATPAK_ID variable is empty 2020-03-16 13:04:52 +04:00
Ilya Fedin da926d7f10 Disable SNI tray icon name setting in snap
Otherwise there are a dummy icon when tray counter is disabled
2020-03-16 13:03:53 +04:00
Ilya Fedin 99a8c93ac1 Fix build with gcc 9 2020-03-16 13:00:16 +04:00
John Preston fec6a8dd96 Beta version 1.9.20: Fix build without dbus. 2020-03-14 16:13:33 +04:00
Ilya Fedin 46445e0542 Implement global menu on Linux 2020-03-14 15:32:10 +04:00
Ilya Fedin 5f33abd391 Change tray implementation on demand 2020-03-14 15:26:13 +04:00
23rd 95d8bb01ac Guarded paletteChanged handling in touchbar's PinnedDialogButton. 2020-03-13 22:56:38 +04:00
Ilya Fedin 75d54adfce Add TDESKTOP_FORCE_PANEL_ICON environment variable for possibility to use system icon even if it is not detected 2020-03-13 11:00:09 +04:00
Ilya Fedin ba5d9eda2d Minimize dbus requests 2020-03-11 11:43:14 +04:00
Ilya Fedin 5927e8272c Convert TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION to runtime environment variable 2020-03-09 11:02:45 +04:00
Ilya Fedin 7ac4c6e479 Add mark as read feature to linux native notifications 2020-03-06 18:39:34 +04:00
Ilya Fedin fdf16d0aea Fix notification daemon detection on KDE
Minimize usage of QDBusInterface

Log the whole notification daemon information
2020-03-06 18:39:34 +04:00
Ilya Fedin 7aadaca62e Implement SkipAudio and SkipToast on Linux 2020-03-06 18:29:57 +04:00
Ilya Fedin 3fb6bbeae4 Optimize icon regeneration 2020-03-06 18:28:56 +04:00
Ilya Fedin 7202ffca76 Remove unneeded TrayIconFileTemplate function
Use /.flatpak-info instead of deprecated /run/user/$UID/flatpak-info

Improve indentation in UseXDGDesktopPortal and IsAppIndicator

Remove unneeded NeedTrayIconFile and rename IsAppIndicator to IsIndicatorApplication

Include only needed part of QtDBus in main_window_linux.cpp

Remove usage of QDBusInterface from SandboxAutostart and IsSNIAvailable

Don't check dbus activatable services in IsIndicatorApplication

Move XEmbed menu initialization to initTrayMenuHook, tray availability check to initHook

Don't create unneeded file for tooltip icon, since indicator-application doesn't support tooltips

Passthrough counter from updateIconCounters

Suppress log errors for LastUserInputTime on GNOME

Set applcation name and icon name for pulseaudio
2020-03-06 18:28:56 +04:00
Ilya Fedin 5c89dfad85 Implement LastUserInputTime on Linux
This is a dbus implementation, ideally a X11 implementation should be added as a fallback to get it work on non-mainstream DEs (and WMs)
2020-03-03 18:39:31 +04:00
Ilya Fedin 57b76e3f00 Remove usage of QDBusInterface from non-class methods in Linux native notifications 2020-03-02 11:22:36 +04:00
Ilya Fedin 7bd0598555 Unified function to detect icon name on Linux 2020-02-27 15:17:32 +04:00