Commit graph

1424 commits

Author SHA1 Message Date
Alexander Lohnau
b54e739753 Do not make m_ui instance a ptr
By having it as a simple member variable, we do not need to take care of deleting it manually
2023-07-30 07:27:45 +00:00
Alexander Lohnau
2e67f95017 Add explicit moc includes to cpp files
The rationale is explained in https://planet.kde.org/friedrich-kossebau-2023-06-28-include-also-moc-files-of-headers/

In case of KDEConnect, it impressively speeds up compilation. Before it
took 390 seconds on a clean build and with this change it took 330 seconds.
This is due to the mocs_compilation having to include the header files
and thus all their headers. Due to the lots of small plugins we have,
this means that the same headers must be compiled plenty of times.
When we include the moc files directly in the C++ file, they are already
available.
2023-07-30 07:27:45 +00:00
l10n daemon script
1ff98bc580 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"
2023-07-30 01:37:54 +00:00
l10n daemon script
297bc8cd73 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"
2023-07-29 01:37:09 +00:00
l10n daemon script
885d311b31 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"
2023-07-28 01:41:47 +00:00
l10n daemon script
d9f7fc6918 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"
2023-07-27 01:37:50 +00:00
l10n daemon script
a0b0477b13 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"
2023-07-26 01:38:38 +00:00
Alexander Lohnau
e00ffbb4f6 Use versionless cmake variable for KF requirements
Also, adjust find_package calls that are hidden behind a feature flag
2023-07-25 18:29:38 +02:00
Alexander Lohnau
a1195a72a3 Use versionless Qt targets where possible
We depend on 5.15 which allows us to use those
2023-07-25 18:29:38 +02:00
Albert Vaca Cintora
6e8abd75e8 Do not use optionals when they are not needed 2023-07-25 17:22:20 +02:00
l10n daemon script
7efcc8bbda 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"
2023-07-25 01:37:00 +00:00
Albert Vaca Cintora
59adbc2da4 Move all generated dbus interfaces to kdeconnectinterfaces exclude them from clazy
* Moves the XML definitions of DBus interfaces and code generation from the different plugins
  to kdeconnectinterfaces. Before each plugin had their own, some of them duplicated.
* Appends `// clazy:skip` to the generated interface files, so Clazy doesn't emit warnings
  about them because they are missing the NOTIFY/CONSTANT keywords on Q_PROPERTIES.
* Makes kdeconnectinterfaces static on Qt5 as well (removes a difference with Qt6).
* Moves the generated files to a `generated` directory and updates the includes so they are
  easily distinguished from other header files.
2023-07-24 12:18:47 +00:00
l10n daemon script
9bb076584b 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"
2023-07-24 08:31:14 +00:00
Alexander Lohnau
7091f333f9 Do not mark plugin classes as exported
This is not needed, because only a symbol to create the KPluginFactory
instance must be exported. The KPluginFactory macros or rather the underlying
Q_PLUGIN_METADATA macro already take care of that.

In other plugin code of KDE, we also do not export classes.
The size of the generated plugin files is nearly identical, but removing
the macros avoids confusion for developers.
2023-07-22 20:51:19 +00:00
Alexander Lohnau
75a8db1ec5 Use pragma once in plugins
For non-library code, this is simpler and more concise
2023-07-22 20:51:19 +00:00
Alexander Lohnau
b7cf34c11f Simplify slots of some KCMs
Remove Q_SLOTS where not needed, use lambda if we only connect/call it in one place
2023-07-22 20:51:19 +00:00
Alexander Lohnau
f483c1449c Use simpler K_PLUGIN_CLASS macro for KCMs 2023-07-22 20:51:19 +00:00
Alexander Lohnau
ede9e37b40 Use KPluginMetaData::pluginId for getting config plugin name
By removing the postfix we consistently use, we get exactly the same string as before

However, all our pluginId logic is now done as part of the buildsystem.
Before, they were in the JSON metadata, the buildsystem and the string constructor parameter

KPluginFactory has the KPluginMetaData object in any case, do using it
doesn't create any overhead.
2023-07-22 20:51:19 +00:00
Alexander Lohnau
98040c3ffe GIT_SILENT Re-run clang-format 2023-07-22 20:51:19 +00:00
Alexander Lohnau
35a450f366 Port to new PMF connect syntax
This way we catch missing methods/mismatching arguments at compile and
not at runtime.
This fixes some Qt6 regressions due to the removal of deprecated methods.
2023-07-22 20:51:19 +00:00
Alexander Lohnau
c61fad5561 Do not make virtual methods of KCModule Q_SLOT
We do not need those methods to be marked as slots and the KCMUtils
classes like KPluginWidget also don't need it.
Meaning it just results in more moc code being generated.
2023-07-22 20:51:19 +00:00
Alexander Lohnau
9fdc2901b2 Use target-centric CMake approach rest of logging categories 2023-07-22 20:51:19 +00:00
Alexander Lohnau
41d474b1a5 findthisdeviceplugin_config: Check for URL before trying to play sound
Having a clear button and then emitting a warning if an enabled button is clicked doesn't really make sense.
2023-07-22 20:51:19 +00:00
Alexander Lohnau
f740a8bda8 Use target-centric CMake approach for declaring debug category
This makes it easier to read, because we do not have to handle a list of
files that get added to the targets. In other KDE projects, we also
prefer the target centric approach.

In case one wants to reuse the same category in multiple places, it
would be best to create a small static lib. But for now, this is not
needed.
2023-07-22 20:51:19 +00:00
Alexander Lohnau
999f8e00de Remove explicit plugin Id
The one derived from the filename is identical. Deriving it from the filename is the preferred approach.
In KF6, log messages are printed out if the Id is needlessly specified.
A mismatching Id vs basename would print out a warning.
2023-07-22 20:51:19 +00:00
Alexander Lohnau
319696c445 Remove version and website metadata for plugins
The plugin version doesn't matter, because all plugins are shipped as
part of kdeconnect and not separately.
The website was also set inconsistently, some pointed to a custom blog,
the KDE homepage or a broken link. If we want to make announcements more
visible, we should have a link in a more central place.
2023-07-22 19:12:33 +02:00
Alexander Lohnau
4ca8f98b7d Remove obsolete ServiceTypes definitions
Task: https://phabricator.kde.org/T14483
2023-07-22 19:12:33 +02:00
Alexander Lohnau
f3998e4b5f Fix windows build issues
- Add dummy args param to QProcess::startDetached
- Remove logging category from inline snippet. This was removed due to
  being unused in non-windows builds.
2023-07-22 19:12:28 +02:00
Alexander Lohnau
ac3d439a2a Clean up unneeded version checks
With the min. version bumped, those can be safely removed
2023-07-22 16:17:24 +02:00
Alexander Lohnau
1ee75463e0 Get rid of QOverload/static_cast for overloaded signals
By exclusing deprecated API in the KF5 build, the deprecated signal no
longer cause an ambiguity
2023-07-22 16:17:24 +02:00
Alexander Lohnau
e97af9dc15 Provide default implementation for KdeConnectPlugin::connected
In most plugins, we just provided a dummy implementation
2023-07-22 16:06:21 +02:00
Alexander Lohnau
0b99c3a637 Remove unneeded destructors from plugins
We already have a destructor from the baseclass and don't need to clean
up any resources in the affected plugins
2023-07-22 16:01:21 +02:00
Albert Vaca Cintora
a33eb46d9b Fix crash due to begin and end belonging to different iterators 2023-07-22 15:13:34 +02:00
l10n daemon script
b7c84d3398 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"
2023-07-22 01:45:05 +00:00
l10n daemon script
2b67cefe39 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"
2023-07-21 01:47:33 +00:00
Albert Vaca Cintora
382ace9c69 Remove check for Qt > 5.14 when minimum is 5.15 2023-07-20 18:23:45 +02:00
Alexander Lohnau
b8c6e529ba Port QMultiMedia usage for Qt6 2023-07-20 13:32:17 +03:00
Alexander Lohnau
d50055ddb4 plugins/runcommand: Fix messed up layouting of KCM 2023-07-20 11:15:56 +03:00
Alexander Lohnau
52b6d57942 Qt6 build fixes in plugins and KCM 2023-07-20 11:15:46 +03:00
Alexander Lohnau
b4b4837b14 Remove qRegisterMetaTypeStreamOperators call for Qt6 builds 2023-07-20 11:15:46 +03:00
Alexander Lohnau
4e7764f328 Adjust includes/linking for QX11Extras 2023-07-20 11:15:46 +03:00
Alexander Lohnau
a5560dafe6 presenterplugin: Only call setClearBeforeRendering in Qt5
As documented in https://doc.qt.io/qt-6/quick-changes-qt6.html, this
should not be needed 1in Qt6 and was consequently removed.
2023-07-20 11:15:46 +03:00
Alexander Lohnau
c5bfc4a5b0 Allow building against Qt6/KF6 2023-07-20 11:15:41 +03:00
l10n daemon script
03fe04010c 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"
2023-07-20 01:43:59 +00:00
Albert Vaca Cintora
495e3019e4 Reduce number of optional dependencies
Change some optional dependencies from being optional to being mandatory
or being mandatory but behind on-by-default cmake flags. Eg: instead of
only compiling Wayland support if we find the appropriate libraries, we
always require the libraries unless the user specifies WITH_WAYLAND=OFF.

Optional libraries are hard to discover by packagers (since they don't
see an error once we add them) and create lots of possible build flavors
with a different features that can confuse users.
2023-07-19 17:08:03 +00:00
l10n daemon script
a57680bb0b 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"
2023-07-19 01:49:03 +00:00
Albert Vaca Cintora
22be63ae9e Remove compatibility with Qt < 5.15
In theory we support Qt 5.6 (because of SailfishOS) but in practice we are not checking that in the CI so probably we broke the compatibility long ago. Also, I don't think anyone is using this code in SailfishOS, so we can greatly simplify the code by requiring Qt 5.15 or later.
2023-07-18 20:13:27 +00:00
Albert Vaca Cintora
2a1c751ef4 Remove request packets from Battery and Connectivity Report plugins
We already send updates right after connecting and once there's a
change, so this was redundant.
2023-07-17 14:58:59 +00:00
Albert Vaca Cintora
9c87393b28 clang-format pass 2023-07-16 16:20:34 +02:00
Albert Vaca Cintora
598dde025c Disable sendnotifications plugin on Mac (won't compile) 2023-06-25 17:11:20 +02:00