Commit graph

3425 commits

Author SHA1 Message Date
Weixuan Xiao
f1843cb492 Improve D-Bus implementation on macOS
Better patch to replace !218.

- Auto and quick detection of previous D-Bus instance;
- Remove private D-Bus compile definition, only use it on macOS without an existing D-Bus instance;
- Safe reboot after crashes because the indicator is not relating on the kdeconnectd to run a D-Bus session;
- Safe exit after clicking on `Quit` in the systray.


More details in commit logs:

Only enable private D-Bus on macOS because the other platforms do not
need them.
The app should be able to easily detect the session bus from the env
DBUS_LAUNCHD_SESSION_BUS_SOCKET from launchd through launchctl.
Because https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/dbus/dbus-sysdeps-unix.c#L4392
shows that it is the only probing method on macOS with launchd.

The D-Bus session bus can be easily found from launchd/launchctl
with DBUS_LAUNCHD_SESSION_BUS_SOCKET env. It can be an external one
(installed from HomeBrew) or an internal one (launched by a previous
instance followed by a crash).

The indicator helper on macOS can now automatically detect whether we can use a potentially
(with launchd/launchctl env set, or KDE Connect macOS
private_bus_address set) existed and usable session bus.
If previous bus is usable, just try to launch the kdeconnectd with us.
Otherwise, launch a private D-Bus daemon, export the launchd/launchctl
env, and run a kdeconnectd instance.

Everything works better and quicker now :)
2022-04-12 05:40:03 +00:00
l10n daemon script
81349acd82 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-04-12 01:42:58 +00:00
l10n daemon script
b0c8db667e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-04-07 01:42:30 +00:00
Nicolas Fella
43960f3efe Add windows CI 2022-04-05 13:25:13 +02:00
Nicolas Fella
12d8adef76 Enable highdpi for all executables 2022-04-02 14:32:54 +02:00
l10n daemon script
872e213010 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-31 01:41:19 +00:00
l10n daemon script
66a0cdfcb3 GIT_SILENT made messages (after extraction) 2022-03-31 00:43:11 +00:00
l10n daemon script
1c67f4eccf SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-29 02:08:15 +00:00
l10n daemon script
f5037a42d8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-25 01:46:05 +00:00
l10n daemon script
9f99f87082 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-23 02:03:39 +00:00
Aleix Pol
21dbf0410f kcm: Fix showing plugins' configuration
We were using the plugin infrastructure to tell the name of the plugin
we were configuring.

Since this doesn't make any sense, just let the kcms themselves define
where they want their settings to be.

This fixes a regression from when we ported away from using KService to
list them. e365e1b35c
2022-03-21 18:03:45 +01:00
l10n daemon script
a09825c498 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-20 02:05:33 +00:00
l10n daemon script
5718070bb6 GIT_SILENT made messages (after extraction) 2022-03-20 00:48:45 +00:00
l10n daemon script
5a9361c22b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-18 01:49:08 +00:00
l10n daemon script
662058bea4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-03-17 01:46:52 +00:00
Albert Astals Cid
3df8fcf8b0 GIT_SILENT Upgrade release service version to 22.07.70. 2022-03-12 13:25:49 +01:00
Michael Prager
ef0efc360f [Connectivity Report] Fixed crash if signalStrengths is empty.
BUG: 449276
2022-03-10 17:36:07 +01:00
Albert Vaca Cintora
19b8249ed1 Changes as per CR 2022-03-10 17:17:55 +01:00
Albert Vaca Cintora
58adbc8cb4 SharePlugin: Read and write shared file creation time
When sharing a file, add metadata about the file's creation time and last
modified time. When receiving a shared file, read those fields and set them
on the file we create.

Note: Qt doesn't support setting the creation date on Unix [1].

[1] https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/io/qfilesystemengine_unix.cpp?h=v5.15.2&id=40143c189b7c1bf3c2058b77d00ea5c4e3be8b28#n1590
2022-03-10 17:17:55 +01:00
Nicolas Fella
05e3fd2972 Add windows installer to appstream artifacts
This way it gets listed on apps.kde.org
2022-03-10 13:17:29 +01:00
Simon Redman
3ee78eadd7 [SMS App] Prevent crash if a conversation doesn't have any messages
## Summary

Fix crash in kdeconnect-sms if a conversation contains a message which has no addresses.

I am not sure why this would happen and there's probably something which should be fixed on the Android side to ensure that every message has addresses, but this is an easy fix to prevent user-reported crashes.

BUG: 449719

## Test Plan

### Before:
kdeconnect-sms crashes upon selecting a conversation with a message with no addresses

### After:
kdeconnect-sms does not crash
2022-03-06 22:56:18 +00:00
Nicolas Fella
035a0d6ca8 [appstream] Add Windows Store link 2022-03-05 03:30:00 +01:00
Ryan Adolf
531418c7d2 Change tray icon so it is the right color on MacOS
## Summary

On MacOS the system tray icon is off-color because it uses the gray-colored `kdeconnectindicatordark` icon which does not match the rest of MacOS.

![image](/uploads/430933399d9570dc1c59807e4715e87b/image.png)

BUG: 430226

I've used two patches to fix this:
1. Always use the status `KStatusNotifierItem::Passive` on MacOS. `KStatusNotifierItem` will only mark the icon as a mask (which is needed to allow it to dynamically switch between light and dark theme) [if the status is passive](cff7c337ab/src/kstatusnotifieritem.cpp (L1079-1081)).
2. The above should theoretically be enough to fix the issue and I swear at one point it was all that was needed. However, to fix this issue in my dev environment I also needed to pass in a `QIcon` with `setIsMask(true)` instead of setting the icon by its name. And I also use the `kdeconnectindicator` instead of `kdeconnectindicatordark` icon.

## Test Plan

The icon now renders in the correct color, regardless of whether devices are connected:

![image](/uploads/5010a07cbb5f23a286ece641c6b3879c/image.png) ![image](/uploads/2ae5d3d8aa633ebafb260febe313057c/image.png)

## Future work

Once I've verified this PR is working in the right direction, I want to look into making the icon gray (and hopefully a much easier-to-see gray) when no devices are connected!

For example, WireGuard, when not connected, looks like this:

![image](/uploads/43c2ef6bc7261431e878c9c1c05174f9/image.png) ![image](/uploads/f7587190648606df77ad3e3dde84098f/image.png)

P.S. I've been testing off the v21.12.2 tag since the master branch doesn't compile for me, so I haven't tested this change on the latest dev commit. But there should be no conflicts.
2022-03-02 12:06:36 +00:00
Ismael Asensio
b288aa2910 [KCM] Remove extra margins on standalone settings
This makes the standalone KCM dialog consistent with the same KCM
when launched via kcmshell, systemsettings, or even other modules.

The dialog is required so it doesn't need to depend on kde-cli-tools.
2022-02-28 21:46:11 +01:00
Heiko Becker
95ff13bf61 GIT_SILENT Update Appstream for new release
(cherry picked from commit f5339dae7e)
2022-02-27 19:43:04 +01:00
Weixuan Xiao
9b5871523d Fix macOS build due to the inappropriate QTimer pointer
The type of `m_clipboardMonitorTimer` is unintentionally modified in 5d970ddd48, which causes failing build on macOS.
2022-02-26 19:10:52 +00:00
Ryan Adolf
14543fcba5 Raise configuration window (MacOS bug)
## Summary

I've added a call to [`dialog->raise()`](https://doc.qt.io/qt-5/qwindow.html#raise) when launching the configuration dialog.

This is intended to fix a MacOS bug where the configuration window launches behind other open windows, but this call shouldn't harm operating systems as well.

BUG: 416050

## Test Plan

### Before:
Configuration dialog launches behind other open windows on MacOS.

### After:
Configuration dialog launches over other open windows on MacOS.
2022-02-26 10:23:20 +00:00
l10n daemon script
5b314846fe SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-02-20 01:45:04 +00:00
l10n daemon script
33db3d3dc2 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-02-18 01:48:51 +00:00
l10n daemon script
b2c80f27ac SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-02-15 01:47:16 +00:00
l10n daemon script
1c61349115 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-02-13 01:40:53 +00:00
Bharadwaj Raju (away; can't respond)
fc83fb32e9 smsapp: Assorted UI improvements
- Move the device combobox to the global drawer
- Move search field and new button to header
- Use Kirigami SearchField instead
- Don't switch focus away from search field when typing
- Give the New button an icon
- Clarify the search field text
- Center messages view loading indicator
- Make send and attach buttons stick to bottom of text area
- Make cursor an I-beam when hovering over text area
- Move send button to the right
- Give proper padding to messages view top
- Move refresh action to global drawer
- Show refresh button directly in loading message where it is most useful

| Before | After |
| ------ | ------ |
| ![kdeconnectsms-old1](/uploads/469fa5f198ce81f1f53e8aa73694a824/kdeconnectsms-old1.png) | ![kdeconnectsms-new1](/uploads/c3b2b552d5d1bb73c566c6879c5b2a3c/kdeconnectsms-new1.png) |
| ![kdeconnectsms-old2](/uploads/eed795529946ed9ff856d8599bc66fb2/kdeconnectsms-old2.png) | ![kdeconnectsms-new2](/uploads/7abff93670aaea36052f3e3bfe01da62/kdeconnectsms-new2.png) |
| ![kdeconnectsms-old3](/uploads/f24dc7a902e33a1317cc8d9b90c39482/kdeconnectsms-old3.png) | ![kdeconnectsms-new3](/uploads/ea7d07f64d1904757dce56e86f1876ba/kdeconnectsms-new3.png) |

cc @teams/usability @teams/vdg
2022-02-09 03:47:36 +00:00
l10n daemon script
b859463f22 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-02-07 01:45:12 +00:00
l10n daemon script
988f84e54c GIT_SILENT made messages (after extraction) 2022-02-07 00:44:14 +00:00
l10n daemon script
c832e85f08 GIT_SILENT made messages (after extraction) 2022-02-06 00:46:40 +00:00
Aleix Pol
28a8c5a98a appstream: Address some problems
* Instead of using the kcm to signify kde connect, just call it kde
org.kde.kdeconnect. org.kde.kdeconnect.kcm.desktop didn't exist anyway.
* Specify launchables for optimal integration in software centers.
* Specify which dbus service it's offering, in case it ever is
necessary.
* Specify the oars, stating there's no offensive content of any kind
offered through KDE Connect.
2022-02-04 14:00:04 +00:00
Heiko Becker
d97dcbb55f GIT_SILENT Update Appstream for new release
(cherry picked from commit 364193797c)
2022-01-29 00:34:38 +01:00
Nicolas Fella
bb4ac289e2 Show pairing notification also when in do not disturb mode
Pairing is the result of explicit user action and requires interaction

Otherwise there is no visual feedback for a pairing attempt, leaving the user wondering why nothing happens
2022-01-23 22:11:27 +01:00
Nate Graham
9c303fee79 plasmoid: Don't show redundant configure button in placeholder message
It's not really needed.

BUG: 448457
2022-01-14 16:08:39 -07:00
Nate Graham
21b2f53b22 Change X-GNOME-SingleWindow key to SingleMainWindow
X-GNOME-SingleWindow was upstreamed to be an XDG thing with the name
"SingleMainWindow" in
https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/53
2022-01-05 17:08:49 -07:00
Carl Schwan
127992b49d Port ScrollArea to ScrollView
Visually a new scrollbar is now displayed and in terms of behavior
changes the scrolling is now consistent with the other plasmoid.

![image](/uploads/76d7c4e73636be11a78c4e9be22a8027/image.png)
2022-01-04 22:24:28 +00:00
Heiko Becker
2bb0312058 GIT_SILENT Update Appstream for new release
(cherry picked from commit 125f70790f)
2022-01-03 23:02:27 +01:00
Nicolas Fella
6ac5e8b044 Mark settings and SMS app as single window
There is only ever one window of those

This was shells know that launching a second instance makes no sense and can disable the relevant actions
2021-12-25 21:56:19 +01:00
Nicolas Fella
5d5679c20b [settings] Rename desktop file to match desktop entry defined by KAboutData
Fix task manager icon on Wayland
2021-12-25 21:47:41 +01:00
Ahmad Samir
ad7b5b42b2 Use AccessManager from KIO::Integration
The same functionality, but a different namespace.

GIT_SILENT
2021-12-25 18:26:01 +02:00
l10n daemon script
bb39ef84b5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-12-16 01:53:14 +00:00
Nicolas Fella
dc34cfb66c Disable Battery plugin on Windows
It's causing severe issues

https://bugs.kde.org/show_bug.cgi\?id\=444612
2021-12-15 19:12:45 +01:00
Alexander Lohnau
e365e1b35c Port from KPluginSelector to new KPluginWidget class
Task: https://phabricator.kde.org/T12265
2021-12-15 08:24:22 +01:00
Alexander Lohnau
fd681e62ab Port deprecated KCMultiDialog methods & embed json metadata in KCM
This KCM will have to get installed installed in the new plasma namespace eventually.
But considering that this app is part of the release service, we should not
depend on changes in a not yet released Plasma version.

Task: https://phabricator.kde.org/T14501
2021-12-15 08:24:22 +01:00
ivan tkachenko
402ca0009f
Add compile_commands.json to gitignore
Other entries were copied from marble repo as well.

GIT_SILENT
2021-12-15 02:34:05 +03:00