Summary:
QUrl constructor assumes the string passed is already encoded so we need
to pass it through setPath and QUrl::DecodedMode.
Test Plan: sent a file with a weird character
Reviewers: #kde_connect, jeanv
Reviewed By: jeanv
Differential Revision: https://phabricator.kde.org/D7224
Summary:
Don't use QDBusConnection::ExportAllContents
No need to make connect and receivedPackage public slots (they're are the
parent's already)
Fixes T4975
Test Plan: Rough manual test
Reviewers: #kde_connect, albertvaka
Reviewed By: #kde_connect, albertvaka
Maniphest Tasks: T4975
Differential Revision: https://phabricator.kde.org/D3871
Make the share received notification explicitly internal.
Fix runtime warning about how QUrl cannot be exported.
Notify about all shares, not exclusively transferred files.
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
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
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.
Use iconName instead of sending a fixed-size pixmap around, fix wording and use title
capitalization, more meaningful names in notifyrc, QStringLiteral and new style connect.
REVIEW: 122121
This meant to add a lot of dependencies to each plugin since we had
KDELibs4support as PUBLIC link meaning that anything linking against
kdeconnectcore was linking at the same time to mostly all frameworks.
Now each plugin has more or less its dependencies in the CMake some
still depend on KDELibs4Support.
For the mousepad plugin I needed to add a fixX11.h file that basically
undefines/defines again some stuff xlib has that conflcits with normal
C++ and Qt.
Before it was not conflicting because some lib within KDELibs4Support
was including this file, but now we have to do it ourselves.
Had to instance QUrl using fromLocalFile since our
kconfig/KGlobalSettings are not setting the scheme (aka returning
/home/user instead of file:///home/user).
Tested, it works great.
Ported using KDELibs4Support, for a smaller delta, so we can keep
developing on master until we decide not to.
At the moment, it builds and installs but tests don't pass because
of a QCA2 initialization problem I didn't manage to debug yet.
CCMAIL: kdeconnect@kde.org