construct the whole QUrl from a local file, not just the default;
entries returned from QStandardPaths are translated on systems with a non
US locale, and this turned the string such as "~/Stažené" into its decoded
form, preventing the transfer from happening
Otherwise we often turn paths into URLs, a fix I pushed previously today
and the ones I detected when adding -DQT_NO_URL_CAST_FROM_STRING.
CCMAIL: kdeconnect@kde.org
It could have been fixed by changing QUrl(dir) into QUrl::fromLocalFile(dir)
but this way we get to have a non-local destinationDir.
CCMAIL: bansal.ashish096@gmail.com
Moves the implementation into the actual daemon. This opens the
possibility for different ways to expose these notifications depending on
where the libkdeconnect will be deployed.
REVIEW: 123076
Uses KPluginLoader+KPluginMetadata instead.
Describes plugins in json instead of desktop files. These desktop files are
then embedded into the .so file. All the plugins will be in a kdeconnect/
directory, and those will be the ones to look for.
Note it doesn't drop the KService dependency as KIOCore is a KDE Connect
dependency as well.
REVIEW: 123042
Centralizing the plugins' config will ensure that all the plugins store it
the same way (ie: not in random files scattered around, like until now).
The base KCM class, together with the already existing base plugin class,
will give easy access to all the plugins to this centralized config. Also,
now the settings are not shared across devices (that is: every device can
have different config for a same plugin).
Note: This commit requires KCMUtils 5.9
REVIEW: 122927
Removes the usage of RenameDialog by moving the functionality away. In
fact, what it does is make the share dialog try to come up with a different
name rather than asking the user. It's a quite common procedure as makes
the interaction simpler (for example, Chromium and Kamoso work like that).
REVIEW: 122813
Don't assume destination is local, also don't use setPath, which is quite
broken as it still keeps the scheme.
This way, destination can be any valid URL.
Don't add a trailing slash if we're going to remove it afterwards anyway.
Remove some back-and-forth conversions between QUrl and QString.
Benefits:
- We had config files in different paths, now they will be centralized.
- Daemon, LanLinkProvider and NetworkPackage depend only on Qt now.
- KConfig is accessed with strings as keys, where a typo can go unnoticed.
- Daemon is now thinner, as it doesn't need to initialize config values.
- QCA::Initializer is in a single place now (was in Daemon and Plugin).