Hello community, here is the log from the commit of package dolphin-plugins for openSUSE:Factory checked in at 2015-10-03 20:17:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dolphin-plugins (Old) and /work/SRC/openSUSE:Factory/.dolphin-plugins.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dolphin-plugins" Changes: -------- --- /work/SRC/openSUSE:Factory/dolphin-plugins/dolphin-plugins.changes 2015-07-14 17:31:14.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.dolphin-plugins.new/dolphin-plugins.changes 2015-10-03 20:17:33.000000000 +0200 @@ -1,0 +2,23 @@ +Sun Sep 13 18:56:40 UTC 2015 - [email protected] + +- Update to KDE Applications 15.08.1 + * KDE Applications 15.08.1 + * https://www.kde.org/announcements/announce-applications-15.08.1.php + + +------------------------------------------------------------------- +Wed Aug 19 19:42:33 UTC 2015 - [email protected] + +- Update to KDE Applications 15.08.0 + * KDE Applications 15.08.0 + * https://www.kde.org/announcements/announce-applications-15.08.0.php + +------------------------------------------------------------------- +Fri Aug 7 06:46:06 UTC 2015 - [email protected] + +- Update to KDE Applications 15.07.90 + * KDE Applications 15.08.0 RC1 + * https://www.kde.org/announcements/announce-applications-15.07.90.php + + +------------------------------------------------------------------- Old: ---- dolphin-plugins-15.04.3.tar.xz New: ---- dolphin-plugins-15.08.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dolphin-plugins.spec ++++++ --- /var/tmp/diff_new_pack.c59qmc/_old 2015-10-03 20:17:34.000000000 +0200 +++ /var/tmp/diff_new_pack.c59qmc/_new 2015-10-03 20:17:34.000000000 +0200 @@ -17,17 +17,24 @@ Name: dolphin-plugins -Version: 15.04.3 +Version: 15.08.1 Release: 0 Summary: Version control plugins for Dolphin License: GPL-2.0+ Group: System/GUI/KDE Url: http://www.kde.org/ Source0: %{name}-%{version}.tar.xz -BuildRequires: libkde4-devel -BuildRequires: libkonq-devel +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(Qt5Network) +BuildRequires: extra-cmake-modules +BuildRequires: kf5-filesystem +BuildRequires: kxmlgui-devel +BuildRequires: ki18n-devel +BuildRequires: kio-devel +BuildRequires: kdelibs4support-devel +BuildRequires: dolphin-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build -%kde4_runtime_requires %description Dolphin file manager specific version control plugins that: @@ -41,14 +48,11 @@ %ifarch ppc64 RPM_OPT_FLAGS="%{optflags} -mminimal-toc" %endif - %cmake_kde4 -d build + %cmake_kf5 -d build %make_jobs %install - cd build -%kde4_makeinstall - cd .. - %kde_post_install + %kf5_makeinstall -C build %post -p /sbin/ldconfig @@ -60,18 +64,16 @@ %files %defattr(-,root,root) %doc COPYING -%_kde4_servicesdir/fileviewgitplugin.desktop -%_kde4_configdir.kcfg/fileviewgitpluginsettings.kcfg -%_kde4_modulesdir/fileviewgitplugin.so -%_kde4_servicesdir/fileviewsvnplugin.desktop -%_kde4_configdir.kcfg/fileviewsvnpluginsettings.kcfg -%_kde4_modulesdir/fileviewsvnplugin.so -%_kde4_servicesdir/fileviewhgplugin.desktop -%_kde4_configdir.kcfg/fileviewhgpluginsettings.kcfg -%_kde4_modulesdir/fileviewhgplugin.so -%_kde4_modulesdir/fileviewbazaarplugin.so -%_kde4_servicesdir/fileviewbazaarplugin.desktop -%_kde4_modulesdir/fileviewdropboxplugin.so -%_kde4_servicesdir/fileviewdropboxplugin.desktop +%_kf5_plugindir/fileviewbazaarplugin.so +%_kf5_plugindir/fileviewdropboxplugin.so +%_kf5_plugindir/fileviewgitplugin.so +%_kf5_plugindir/fileviewsvnplugin.so +%dir %_kf5_configkcfgdir +%_kf5_configkcfgdir/fileviewgitpluginsettings.kcfg +%_kf5_configkcfgdir/fileviewsvnpluginsettings.kcfg +%_kf5_servicesdir/fileviewbazaarplugin.desktop +%_kf5_servicesdir/fileviewdropboxplugin.desktop +%_kf5_servicesdir/fileviewgitplugin.desktop +%_kf5_servicesdir/fileviewsvnplugin.desktop %changelog ++++++ dolphin-plugins-15.04.3.tar.xz -> dolphin-plugins-15.08.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/CMakeLists.txt new/dolphin-plugins-15.08.1/CMakeLists.txt --- old/dolphin-plugins-15.04.3/CMakeLists.txt 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/CMakeLists.txt 2015-09-06 17:12:06.000000000 +0200 @@ -1,21 +1,48 @@ -cmake_minimum_required(VERSION 2.6) project(dolphin-plugins) -find_package(KDE4 REQUIRED) -include(KDE4Defaults) -include(MacroLibrary) - -add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) -add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) -include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${KDEPIMLIBS_INCLUDE_DIR}) - -macro_optional_find_package(LibKonq REQUIRED) -macro_log_feature(LIBKONQ_FOUND "KDE-Base/LibKonq" "Provides high-level file management functions." "http://dolphin.kde.org/" FALSE "" "Required to build the Dolphin version control plugins.") - -if(LIBKONQ_FOUND) - macro_optional_add_subdirectory(svn) - macro_optional_add_subdirectory(git) - macro_optional_add_subdirectory(hg) - macro_optional_add_subdirectory(bazaar) - macro_optional_add_subdirectory(dropbox) -endif(LIBKONQ_FOUND) -macro_display_feature_log() + +cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) + +include(FeatureSummary) + +set(QT_MIN_VERSION "5.0.0") +set(KF5_MIN_VERSION "5.0.0") +set(ECM_MIN_VERSION "0.0.11") + +find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Core + Widgets + Network +) + +find_package(ECM ${ECM_MIN_VERSION} REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS + XmlGui + I18n + KIO + KDELibs4Support +) + +find_package(DolphinVcs) +set_package_properties(DolphinVcs PROPERTIES + DESCRIPTION "the Dolphin version control plugin library" + URL "http://dolphin.kde.org/" + TYPE REQUIRED + PURPOSE "Provides the version control plugin interface." +) + +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDECompilerSettings) +include(ECMMarkNonGuiExecutable) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +add_subdirectory(svn) +add_subdirectory(git) +#add_subdirectory(hg) +add_subdirectory(bazaar) +add_subdirectory(dropbox) + +feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/bazaar/CMakeLists.txt new/dolphin-plugins-15.08.1/bazaar/CMakeLists.txt --- old/dolphin-plugins-15.04.3/bazaar/CMakeLists.txt 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/bazaar/CMakeLists.txt 2015-09-06 17:12:06.000000000 +0200 @@ -1,9 +1,15 @@ project(fileviewbazaarplugin) -include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${LIBKONQ_INCLUDE_DIR} ) +add_definitions(-DTRANSLATION_DOMAIN=\"fileviewbazaarplugin\") set(fileviewbazaarplugin_SRCS fileviewbazaarplugin.cpp) -kde4_add_plugin(fileviewbazaarplugin ${fileviewbazaarplugin_SRCS}) -target_link_libraries(fileviewbazaarplugin ${KDE4_KIO_LIBS} ${LIBKONQ_LIBRARY}) -install(FILES fileviewbazaarplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -install(TARGETS fileviewbazaarplugin DESTINATION ${PLUGIN_INSTALL_DIR}) +add_library(fileviewbazaarplugin MODULE ${fileviewbazaarplugin_SRCS}) +target_link_libraries(fileviewbazaarplugin + KF5::KIOCore + KF5::I18n + KF5::CoreAddons + DolphinVcs +) + +install(FILES fileviewbazaarplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) +install(TARGETS fileviewbazaarplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/bazaar/fileviewbazaarplugin.cpp new/dolphin-plugins-15.08.1/bazaar/fileviewbazaarplugin.cpp --- old/dolphin-plugins-15.04.3/bazaar/fileviewbazaarplugin.cpp 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/bazaar/fileviewbazaarplugin.cpp 2015-09-06 17:12:06.000000000 +0200 @@ -21,16 +21,10 @@ #include "fileviewbazaarplugin.h" -#include <kaction.h> -#include <kdemacros.h> -#include <kdialog.h> -#include <kdebug.h> -#include <kfileitem.h> -#include <kicon.h> -#include <klocale.h> -#include <krun.h> -#include <kshell.h> -#include <kvbox.h> +#include <KLocalizedString> +#include <KPluginFactory> + +#include <QAction> #include <QDir> #include <QLabel> #include <QPlainTextEdit> @@ -39,10 +33,7 @@ #include <QStringList> #include <QTextStream> -#include <KPluginFactory> -#include <KPluginLoader> -K_PLUGIN_FACTORY(FileViewBazaarPluginFactory,registerPlugin<FileViewBazaarPlugin>();) -K_EXPORT_PLUGIN(FileViewBazaarPluginFactory("fileviewbazaarplugin")) +K_PLUGIN_FACTORY(FileViewBazaarPluginFactory, registerPlugin<FileViewBazaarPlugin>();) FileViewBazaarPlugin::FileViewBazaarPlugin(QObject* parent, const QList<QVariant>& args) : KVersionControlPlugin(parent), @@ -67,50 +58,50 @@ { Q_UNUSED(args); - m_updateAction = new KAction(this); - m_updateAction->setIcon(KIcon("go-down")); + m_updateAction = new QAction(this); + m_updateAction->setIcon(QIcon::fromTheme("go-down")); m_updateAction->setText(i18nc("@item:inmenu", "Bazaar Update")); connect(m_updateAction, SIGNAL(triggered()), this, SLOT(updateFiles())); - m_pullAction = new KAction(this); - m_pullAction->setIcon(KIcon("go-bottom")); + m_pullAction = new QAction(this); + m_pullAction->setIcon(QIcon::fromTheme("go-bottom")); m_pullAction->setText(i18nc("@item:inmenu", "Bazaar Pull")); connect(m_pullAction, SIGNAL(triggered()), this, SLOT(pullFiles())); - m_pushAction = new KAction(this); - m_pushAction->setIcon(KIcon("go-top")); + m_pushAction = new QAction(this); + m_pushAction->setIcon(QIcon::fromTheme("go-top")); m_pushAction->setText(i18nc("@item:inmenu", "Bazaar Push")); connect(m_pushAction, SIGNAL(triggered()), this, SLOT(pushFiles())); - m_showLocalChangesAction = new KAction(this); - m_showLocalChangesAction->setIcon(KIcon("view-split-left-right")); + m_showLocalChangesAction = new QAction(this); + m_showLocalChangesAction->setIcon(QIcon::fromTheme("view-split-left-right")); m_showLocalChangesAction->setText(i18nc("@item:inmenu", "Show Local Bazaar Changes")); connect(m_showLocalChangesAction, SIGNAL(triggered()), this, SLOT(showLocalChanges())); - m_commitAction = new KAction(this); - m_commitAction->setIcon(KIcon("svn-commit")); + m_commitAction = new QAction(this); + m_commitAction->setIcon(QIcon::fromTheme("svn-commit")); m_commitAction->setText(i18nc("@item:inmenu", "Bazaar Commit...")); connect(m_commitAction, SIGNAL(triggered()), this, SLOT(commitFiles())); - m_addAction = new KAction(this); - m_addAction->setIcon(KIcon("list-add")); + m_addAction = new QAction(this); + m_addAction->setIcon(QIcon::fromTheme("list-add")); m_addAction->setText(i18nc("@item:inmenu", "Bazaar Add...")); connect(m_addAction, SIGNAL(triggered()), this, SLOT(addFiles())); - m_removeAction = new KAction(this); - m_removeAction->setIcon(KIcon("list-remove")); + m_removeAction = new QAction(this); + m_removeAction->setIcon(QIcon::fromTheme("list-remove")); m_removeAction->setText(i18nc("@item:inmenu", "Bazaar Delete")); connect(m_removeAction, SIGNAL(triggered()), this, SLOT(removeFiles())); - m_logAction = new KAction(this); - m_logAction->setIcon(KIcon("format-list-ordered")); + m_logAction = new QAction(this); + m_logAction->setIcon(QIcon::fromTheme("format-list-ordered")); m_logAction->setText(i18nc("@item:inmenu", "Bazaar Log")); connect(m_logAction, SIGNAL(triggered()), this, SLOT(log())); @@ -151,7 +142,7 @@ // Clear all entries for this directory including the entries // for sub directories - QMutableHashIterator<QString, VersionState> it(m_versionInfoHash); + QMutableHashIterator<QString, ItemVersion> it(m_versionInfoHash); while (it.hasNext()) { it.next(); if (it.key().startsWith(directory) || !it.key().startsWith(baseDir)) { @@ -181,7 +172,7 @@ while (process.waitForReadyRead()) { char buffer[1024]; while (process.readLine(buffer, sizeof(buffer)) > 0) { - VersionState state = NormalVersion; + ItemVersion state = NormalVersion; QString filePath = QString::fromUtf8(buffer); // This could probably do with being more consistent @@ -232,7 +223,7 @@ { } -KVersionControlPlugin::VersionState FileViewBazaarPlugin::versionState(const KFileItem& item) +KVersionControlPlugin::ItemVersion FileViewBazaarPlugin::itemVersion(const KFileItem& item) const { const QString itemUrl = item.localPath(); if (m_versionInfoHash.contains(itemUrl)) { @@ -248,10 +239,10 @@ // The item is a directory. Check whether an item listed by 'bzr status' (= m_versionInfoHash) // is part of this directory. In this case a local modification should be indicated in the // directory already. - QHash<QString, VersionState>::const_iterator it = m_versionInfoHash.constBegin(); + QHash<QString, ItemVersion>::const_iterator it = m_versionInfoHash.constBegin(); while (it != m_versionInfoHash.constEnd()) { if (it.key().startsWith(itemUrl)) { - const VersionState state = m_versionInfoHash.value(it.key()); + const ItemVersion state = m_versionInfoHash.value(it.key()); if (state == LocallyModifiedVersion) { return LocallyModifiedVersion; } @@ -262,7 +253,25 @@ return NormalVersion; } -QList<QAction*> FileViewBazaarPlugin::contextMenuActions(const KFileItemList& items) +QList<QAction*> FileViewBazaarPlugin::actions(const KFileItemList &items) const +{ + if (items.count() == 1 && items.first().isDir()) { + QString directory = items.first().localPath(); + if (!directory.endsWith(QLatin1Char('/'))) { + directory += QLatin1Char('/'); + } + + if (directory == m_contextDir) { + return contextMenuDirectoryActions(directory); + } else { + return contextMenuFilesActions(items); + } + } else { + return contextMenuFilesActions(items); + } +} + +QList<QAction*> FileViewBazaarPlugin::contextMenuFilesActions(const KFileItemList& items) const { Q_ASSERT(!items.isEmpty()); foreach (const KFileItem& item, items) { @@ -278,7 +287,7 @@ int versionedCount = 0; int editingCount = 0; foreach (const KFileItem& item, items) { - const VersionState state = versionState(item); + const ItemVersion state = itemVersion(item); if (state != UnversionedVersion) { ++versionedCount; } @@ -318,7 +327,7 @@ return actions; } -QList<QAction*> FileViewBazaarPlugin::contextMenuActions(const QString& directory) +QList<QAction*> FileViewBazaarPlugin::contextMenuDirectoryActions(const QString& directory) const { m_contextDir = directory; m_contextItems.clear(); @@ -422,7 +431,7 @@ emit errorMessage(m_errorMsg); } else if (m_contextItems.isEmpty()) { emit operationCompletedMessage(m_operationCompletedMsg); - emit versionStatesChanged(); + emit itemVersionsChanged(); } else { startBazaarCommandProcess(); } @@ -491,3 +500,5 @@ } m_process.start(program, arguments); } + +#include "fileviewbazaarplugin.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/bazaar/fileviewbazaarplugin.desktop new/dolphin-plugins-15.08.1/bazaar/fileviewbazaarplugin.desktop --- old/dolphin-plugins-15.04.3/bazaar/fileviewbazaarplugin.desktop 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/bazaar/fileviewbazaarplugin.desktop 2015-09-06 17:12:06.000000000 +0200 @@ -16,7 +16,6 @@ Name[fr]=Bazaar Name[gl]=Bazaar Name[hu]=Bazaar -Name[is]=Bazaar Name[it]=Bazaar Name[kk]=Bazaar Name[ko]=Bazaar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/bazaar/fileviewbazaarplugin.h new/dolphin-plugins-15.08.1/bazaar/fileviewbazaarplugin.h --- old/dolphin-plugins-15.04.3/bazaar/fileviewbazaarplugin.h 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/bazaar/fileviewbazaarplugin.h 2015-09-06 17:12:06.000000000 +0200 @@ -22,8 +22,10 @@ #ifndef FILEVIEWBAZAARPLUGIN_H #define FILEVIEWBAZAARPLUGIN_H -#include <kfileitem.h> -#include <kversioncontrolplugin.h> +#include <Dolphin/KVersionControlPlugin> + +#include <KFileItem> + #include <QHash> #include <QProcess> #include <QTemporaryFile> @@ -37,15 +39,18 @@ public: FileViewBazaarPlugin(QObject* parent, const QList<QVariant>& args); - virtual ~FileViewBazaarPlugin(); - virtual QString fileName() const; - virtual bool beginRetrieval(const QString& directory); - virtual void endRetrieval(); - virtual KVersionControlPlugin::VersionState versionState(const KFileItem& item); - virtual QList<QAction*> contextMenuActions(const KFileItemList& items); - virtual QList<QAction*> contextMenuActions(const QString& directory); + ~FileViewBazaarPlugin() Q_DECL_OVERRIDE; + QString fileName() const Q_DECL_OVERRIDE; + bool beginRetrieval(const QString& directory) Q_DECL_OVERRIDE; + void endRetrieval() Q_DECL_OVERRIDE; + KVersionControlPlugin::ItemVersion itemVersion(const KFileItem& item) const Q_DECL_OVERRIDE; + QList<QAction*> actions(const KFileItemList& items) const Q_DECL_OVERRIDE; + + private slots: + QList<QAction*> contextMenuFilesActions(const KFileItemList& items) const; + QList<QAction*> contextMenuDirectoryActions(const QString& directory) const; void updateFiles(); void pullFiles(); void pushFiles(); @@ -77,9 +82,8 @@ void startBazaarCommandProcess(); -private: bool m_pendingOperation; - QHash<QString, VersionState> m_versionInfoHash; + QHash<QString, ItemVersion> m_versionInfoHash; QAction* m_updateAction; QAction* m_pullAction; @@ -95,8 +99,8 @@ QString m_errorMsg; QString m_operationCompletedMsg; - QString m_contextDir; - KFileItemList m_contextItems; + mutable QString m_contextDir; + mutable KFileItemList m_contextItems; QProcess m_process; QTemporaryFile m_tempFile; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/dropbox/CMakeLists.txt new/dolphin-plugins-15.08.1/dropbox/CMakeLists.txt --- old/dolphin-plugins-15.04.3/dropbox/CMakeLists.txt 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/dropbox/CMakeLists.txt 2015-09-06 17:12:06.000000000 +0200 @@ -1,12 +1,21 @@ project(fileviewdropboxplugin) -include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${LIBKONQ_INCLUDE_DIR} ) +add_definitions(-DTRANSLATION_DOMAIN=\"fileviewdropboxplugin\") set(fileviewdropboxplugin_SRCS fileviewdropboxplugin.cpp ) -kde4_add_plugin(fileviewdropboxplugin ${fileviewdropboxplugin_SRCS}) -target_link_libraries(fileviewdropboxplugin ${KDE4_KIO_LIBS} ${LIBKONQ_LIBRARY}) -install(FILES fileviewdropboxplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -install(TARGETS fileviewdropboxplugin DESTINATION ${PLUGIN_INSTALL_DIR}) \ No newline at end of file +add_library(fileviewdropboxplugin MODULE ${fileviewdropboxplugin_SRCS}) +target_link_libraries(fileviewdropboxplugin + Qt5::Core + Qt5::Widgets + Qt5::Network + KF5::I18n + KF5::XmlGui + KF5::KIOCore + DolphinVcs +) + +install(FILES fileviewdropboxplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) +install(TARGETS fileviewdropboxplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/dropbox/fileviewdropboxplugin.cpp new/dolphin-plugins-15.08.1/dropbox/fileviewdropboxplugin.cpp --- old/dolphin-plugins-15.04.3/dropbox/fileviewdropboxplugin.cpp 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/dropbox/fileviewdropboxplugin.cpp 2015-09-06 17:12:06.000000000 +0200 @@ -20,7 +20,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * *****************************************************************************/ -#include <KAction> #include <KFileItem> #include <KFileItemListProperties> #include <KLocalizedString> @@ -31,11 +30,11 @@ #include <QPointer> #include <QLocalSocket> #include <QFileSystemWatcher> +#include <QStringBuilder> #include "fileviewdropboxplugin.h" K_PLUGIN_FACTORY(FileViewDropboxPluginFactory, registerPlugin<FileViewDropboxPlugin>();) -K_EXPORT_PLUGIN(FileViewDropboxPluginFactory("fileviewdropboxplugin")) class FileViewDropboxPlugin::Private { @@ -57,19 +56,19 @@ QPointer<KActionCollection> contextActions; }; -QMap<QString, KVersionControlPlugin2::ItemVersion> FileViewDropboxPlugin::m_itemVersions; +QMap<QString, KVersionControlPlugin::ItemVersion> FileViewDropboxPlugin::m_itemVersions; FileViewDropboxPlugin::FileViewDropboxPlugin(QObject* parent, const QVariantList& args): - KVersionControlPlugin2(parent), + KVersionControlPlugin(parent), d(new Private(this)) { Q_UNUSED(args); if (m_itemVersions.isEmpty()) { - m_itemVersions.insert("up to date", KVersionControlPlugin2::NormalVersion); - m_itemVersions.insert("syncing", KVersionControlPlugin2::UpdateRequiredVersion); - m_itemVersions.insert("unsyncable", KVersionControlPlugin2::ConflictingVersion); - m_itemVersions.insert("unwatched", KVersionControlPlugin2::UnversionedVersion); + m_itemVersions.insert("up to date", KVersionControlPlugin::NormalVersion); + m_itemVersions.insert("syncing", KVersionControlPlugin::UpdateRequiredVersion); + m_itemVersions.insert("unsyncable", KVersionControlPlugin::ConflictingVersion); + m_itemVersions.insert("unwatched", KVersionControlPlugin::UnversionedVersion); } const QString dropboxDir = QDir::home().path() % QDir::separator() % fileName() % QDir::separator(); @@ -105,16 +104,16 @@ return connectWithDropbox(d->itemStateSocket, LongTimeout); } -KVersionControlPlugin2::ItemVersion FileViewDropboxPlugin::itemVersion(const KFileItem& item) const +KVersionControlPlugin::ItemVersion FileViewDropboxPlugin::itemVersion(const KFileItem& item) const { const QStringList reply = sendCommand("icon_overlay_file_status\npath\t", QStringList() << QDir(item.localPath()).canonicalPath(), d->itemStateSocket, WaitForReply, LongTimeout); if(reply.count() < 2) { // file/dir is not served by dropbox - return KVersionControlPlugin2::UnversionedVersion; + return KVersionControlPlugin::UnversionedVersion; } - return m_itemVersions.value(reply.at(1), KVersionControlPlugin2::UnversionedVersion); + return m_itemVersions.value(reply.at(1), KVersionControlPlugin::UnversionedVersion); } void FileViewDropboxPlugin::endRetrieval() @@ -150,10 +149,10 @@ const QStringList options = replyLine.split("~"); if (options.count() > 2) { - KAction* action = d->contextActions->addAction(options.at(2)); + QAction* action = d->contextActions->addAction(options.at(2)); action->setText(options.at(0)); action->setToolTip(options.at(1)); - action->setIcon(KIcon("dropbox")); + action->setIcon(QIcon::fromTheme("dropbox")); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/dropbox/fileviewdropboxplugin.desktop new/dolphin-plugins-15.08.1/dropbox/fileviewdropboxplugin.desktop --- old/dolphin-plugins-15.04.3/dropbox/fileviewdropboxplugin.desktop 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/dropbox/fileviewdropboxplugin.desktop 2015-09-06 17:12:06.000000000 +0200 @@ -13,8 +13,8 @@ Name[et]=Dropbox Name[fi]=Dropbox Name[fr]=DropBox +Name[gl]=Dropbox Name[hu]=Dropbox -Name[is]=Dropbox Name[it]=Dropbox Name[ko]=Dropbox Name[lt]=Dropbox diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/dropbox/fileviewdropboxplugin.h new/dolphin-plugins-15.08.1/dropbox/fileviewdropboxplugin.h --- old/dolphin-plugins-15.04.3/dropbox/fileviewdropboxplugin.h 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/dropbox/fileviewdropboxplugin.h 2015-09-06 17:12:06.000000000 +0200 @@ -23,7 +23,7 @@ #ifndef FILEVIEWDROPBOXPLUGIN_H #define FILEVIEWDROPBOXPLUGIN_H -#include <kversioncontrolplugin2.h> +#include <Dolphin/KVersionControlPlugin> #include <QMap> @@ -34,9 +34,9 @@ //Thanks Steffen Schuldenzucker! /** - * @brief Dropbox implementation for the KVersionControlPlugin2 interface. + * @brief Dropbox implementation for the KVersionControlPlugin interface. */ -class FileViewDropboxPlugin : public KVersionControlPlugin2 +class FileViewDropboxPlugin : public KVersionControlPlugin { Q_OBJECT @@ -55,15 +55,15 @@ public: FileViewDropboxPlugin(QObject* parent, const QVariantList& args); - virtual ~FileViewDropboxPlugin(); + ~FileViewDropboxPlugin() override; - virtual QString fileName() const; + QString fileName() const override; - virtual bool beginRetrieval(const QString& directory); - virtual KVersionControlPlugin2::ItemVersion itemVersion(const KFileItem& item) const; - virtual void endRetrieval(); + bool beginRetrieval(const QString& directory) override; + KVersionControlPlugin::ItemVersion itemVersion(const KFileItem& item) const override; + void endRetrieval() override; - virtual QList<QAction*> actions(const KFileItemList& items) const; + QList<QAction*> actions(const KFileItemList& items) const override; private slots: void handleContextAction(QAction* action); @@ -81,7 +81,7 @@ class Private; Private* const d; - static QMap<QString, KVersionControlPlugin2::ItemVersion> m_itemVersions; + static QMap<QString, KVersionControlPlugin::ItemVersion> m_itemVersions; }; #endif // FILEVIEWDROPBOXPLUGIN_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/git/CMakeLists.txt new/dolphin-plugins-15.08.1/git/CMakeLists.txt --- old/dolphin-plugins-15.04.3/git/CMakeLists.txt 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/git/CMakeLists.txt 2015-09-06 17:12:06.000000000 +0200 @@ -1,6 +1,6 @@ project(fileviewgitplugin) -include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${LIBKONQ_INCLUDE_DIR} ${QIMAGEBLITZ_INCLUDES} ) +add_definitions(-DTRANSLATION_DOMAIN=\"fileviewgitplugin\") set(fileviewgitplugin_SRCS fileviewgitplugin.cpp @@ -12,9 +12,21 @@ gitwrapper.cpp ) -kde4_add_kcfg_files(fileviewgitplugin_SRCS fileviewgitpluginsettings.kcfgc) -kde4_add_plugin(fileviewgitplugin ${fileviewgitplugin_SRCS}) -target_link_libraries(fileviewgitplugin ${KDE4_KIO_LIBS} ${LIBKONQ_LIBRARY}) -install(FILES fileviewgitplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR}) +kconfig_add_kcfg_files(fileviewgitplugin_SRCS + fileviewgitpluginsettings.kcfgc +) + +add_library(fileviewgitplugin MODULE ${fileviewgitplugin_SRCS}) +target_link_libraries(fileviewgitplugin + Qt5::Core + Qt5::Widgets + KF5::I18n + KF5::XmlGui + KF5::KIOCore + KF5::KDELibs4Support + DolphinVcs +) + +install(FILES fileviewgitplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) install(FILES fileviewgitpluginsettings.kcfg DESTINATION ${KCFG_INSTALL_DIR}) -install(TARGETS fileviewgitplugin DESTINATION ${PLUGIN_INSTALL_DIR}) +install(TARGETS fileviewgitplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/git/fileviewgitplugin.cpp new/dolphin-plugins-15.08.1/git/fileviewgitplugin.cpp --- old/dolphin-plugins-15.04.3/git/fileviewgitplugin.cpp 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/git/fileviewgitplugin.cpp 2015-09-06 17:12:06.000000000 +0200 @@ -27,25 +27,20 @@ #include "gitwrapper.h" #include "pulldialog.h" -#include <kaction.h> -#include <kdemacros.h> -#include <kfileitem.h> -#include <kicon.h> -#include <klocale.h> -#include <ktemporaryfile.h> -#include <kurl.h> +#include <KLocalizedString> +#include <KUrl> +#include <KPluginFactory> + +#include <QTemporaryFile> #include <QProcess> #include <QString> #include <QStringList> #include <QTextCodec> -#include <KPluginFactory> -#include <KPluginLoader> K_PLUGIN_FACTORY(FileViewGitPluginFactory, registerPlugin<FileViewGitPlugin>();) -K_EXPORT_PLUGIN(FileViewGitPluginFactory("fileviewgitplugin")) FileViewGitPlugin::FileViewGitPlugin(QObject* parent, const QList<QVariant>& args) : - KVersionControlPlugin2(parent), + KVersionControlPlugin(parent), m_pendingOperation(false), m_addAction(0), m_removeAction(0), @@ -57,42 +52,42 @@ { Q_UNUSED(args); - m_addAction = new KAction(this); - m_addAction->setIcon(KIcon("list-add")); - m_addAction->setText(i18nc("@action:inmenu", "<application>Git</application> Add")); + m_addAction = new QAction(this); + m_addAction->setIcon(QIcon::fromTheme("list-add")); + m_addAction->setText(xi18nd("@action:inmenu", "<application>Git</application> Add")); connect(m_addAction, SIGNAL(triggered()), this, SLOT(addFiles())); - m_removeAction = new KAction(this); - m_removeAction->setIcon(KIcon("list-remove")); - m_removeAction->setText(i18nc("@action:inmenu", "<application>Git</application> Remove")); + m_removeAction = new QAction(this); + m_removeAction->setIcon(QIcon::fromTheme("list-remove")); + m_removeAction->setText(xi18nd("@action:inmenu", "<application>Git</application> Remove")); connect(m_removeAction, SIGNAL(triggered()), this, SLOT(removeFiles())); - m_checkoutAction = new KAction(this); -// m_checkoutAction->setIcon(KIcon("svn_switch")); does not exist in normal kde SC - m_checkoutAction->setText(i18nc("@action:inmenu", "<application>Git</application> Checkout...")); + m_checkoutAction = new QAction(this); +// m_checkoutAction->setIcon(QIcon::fromTheme("svn_switch")); does not exist in normal kde SC + m_checkoutAction->setText(xi18nd("@action:inmenu", "<application>Git</application> Checkout...")); connect(m_checkoutAction, SIGNAL(triggered()), this, SLOT(checkout())); - m_commitAction = new KAction(this); - m_commitAction->setIcon(KIcon("svn-commit")); - m_commitAction->setText(i18nc("@action:inmenu", "<application>Git</application> Commit...")); + m_commitAction = new QAction(this); + m_commitAction->setIcon(QIcon::fromTheme("svn-commit")); + m_commitAction->setText(xi18nd("@action:inmenu", "<application>Git</application> Commit...")); connect(m_commitAction, SIGNAL(triggered()), this, SLOT(commit())); - m_tagAction = new KAction(this); -// m_tagAction->setIcon(KIcon("svn-commit")); - m_tagAction->setText(i18nc("@action:inmenu", "<application>Git</application> Create Tag...")); + m_tagAction = new QAction(this); +// m_tagAction->setIcon(QIcon::fromTheme("svn-commit")); + m_tagAction->setText(xi18nd("@action:inmenu", "<application>Git</application> Create Tag...")); connect(m_tagAction, SIGNAL(triggered()), this, SLOT(createTag())); - m_pushAction = new KAction(this); -// m_pushAction->setIcon(KIcon("svn-commit")); - m_pushAction->setText(i18nc("@action:inmenu", "<application>Git</application> Push...")); + m_pushAction = new QAction(this); +// m_pushAction->setIcon(QIcon::fromTheme("svn-commit")); + m_pushAction->setText(xi18nd("@action:inmenu", "<application>Git</application> Push...")); connect(m_pushAction, SIGNAL(triggered()), this, SLOT(push())); - m_pullAction = new KAction(this); - m_pullAction->setText(i18nc("@action:inmenu", "<application>Git</application> Pull...")); + m_pullAction = new QAction(this); + m_pullAction->setText(xi18nd("@action:inmenu", "<application>Git</application> Pull...")); connect(m_pullAction, SIGNAL(triggered()), this, SLOT(pull())); @@ -242,7 +237,7 @@ { } -KVersionControlPlugin2::ItemVersion FileViewGitPlugin::itemVersion(const KFileItem& item) const +KVersionControlPlugin::ItemVersion FileViewGitPlugin::itemVersion(const KFileItem& item) const { const QString itemUrl = item.localPath(); if (m_versionInfoHash.contains(itemUrl)) { @@ -255,9 +250,17 @@ QList<QAction*> FileViewGitPlugin::actions(const KFileItemList &items) const { - if (items.count() == 1 && items.first().isDir() && - items.first().url().path(KUrl::AddTrailingSlash) == m_currentDir) { - return contextMenuDirectoryActions(items.first().url().path(KUrl::AddTrailingSlash)); + if (items.count() == 1 && items.first().isDir()) { + QString directory = items.first().localPath(); + if (!directory.endsWith(QLatin1Char('/'))) { + directory += QLatin1Char('/'); + } + + if (directory == m_currentDir) { + return contextMenuDirectoryActions(directory); + } else { + return contextMenuFilesActions(items); + } } else { return contextMenuFilesActions(items); } @@ -342,9 +345,9 @@ void FileViewGitPlugin::addFiles() { execGitCommand(QLatin1String("add"), QStringList(), - i18nc("@info:status", "Adding files to <application>Git</application> repository..."), - i18nc("@info:status", "Adding files to <application>Git</application> repository failed."), - i18nc("@info:status", "Added files to <application>Git</application> repository.")); + xi18nd("@info:status", "Adding files to <application>Git</application> repository..."), + xi18nd("@info:status", "Adding files to <application>Git</application> repository failed."), + xi18nd("@info:status", "Added files to <application>Git</application> repository.")); } void FileViewGitPlugin::removeFiles() @@ -353,9 +356,9 @@ arguments << "-r"; //recurse through directories arguments << "--force"; //also remove files that have not been committed yet execGitCommand(QLatin1String("rm"), arguments, - i18nc("@info:status", "Removing files from <application>Git</application> repository..."), - i18nc("@info:status", "Removing files from <application>Git</application> repository failed."), - i18nc("@info:status", "Removed files from <application>Git</application> repository.")); + xi18nd("@info:status", "Removing files from <application>Git</application> repository..."), + xi18nd("@info:status", "Removing files from <application>Git</application> repository failed."), + xi18nd("@info:status", "Removed files from <application>Git</application> repository.")); } @@ -389,17 +392,17 @@ while (process.readLine(buffer, sizeof(buffer)) > 0){ const QString currentLine(buffer); if (currentLine.startsWith(QLatin1String("Switched to branch"))) { - completedMessage = i18nc("@info:status", "Switched to branch '%1'", currentBranchName); + completedMessage = xi18nd("@info:status", "Switched to branch '%1'", currentBranchName); } if (currentLine.startsWith(QLatin1String("HEAD is now at"))) { const QString headIdentifier = currentLine. mid(QString("HEAD is now at ").length()).trimmed(); - completedMessage = i18nc("@info:status Git HEAD pointer, parameter includes " + completedMessage = xi18nd("@info:status Git HEAD pointer, parameter includes " "short SHA-1 & commit message ", "HEAD is now at %1", headIdentifier); } //special output for checkout -b if (currentLine.startsWith(QLatin1String("Switched to a new branch"))) { - completedMessage = i18nc("@info:status", "Switched to a new branch '%1'", currentBranchName); + completedMessage = xi18nd("@info:status", "Switched to a new branch '%1'", currentBranchName); } } } @@ -410,7 +413,7 @@ } } else { - emit errorMessage(i18nc("@info:status", "<application>Git</application> Checkout failed." + emit errorMessage(xi18nd("@info:status", "<application>Git</application> Checkout failed." " Maybe your working directory is dirty.")); } } @@ -420,7 +423,7 @@ { CommitDialog dialog; if (dialog.exec() == QDialog::Accepted) { - KTemporaryFile tmpCommitMessageFile; + QTemporaryFile tmpCommitMessageFile; tmpCommitMessageFile.open(); tmpCommitMessageFile.write(dialog.commitMessage()); tmpCommitMessageFile.close(); @@ -448,7 +451,7 @@ { TagDialog dialog; if (dialog.exec() == QDialog::Accepted) { - KTemporaryFile tempTagMessageFile; + QTemporaryFile tempTagMessageFile; tempTagMessageFile.open(); tempTagMessageFile.write(dialog.tagMessage()); tempTagMessageFile.close(); @@ -469,14 +472,14 @@ } } if (process.exitCode() == 0 && process.exitStatus() == QProcess::NormalExit) { - completedMessage = i18nc("@info:status","Successfully created tag '%1'", dialog.tagName()); + completedMessage = xi18nd("@info:status","Successfully created tag '%1'", dialog.tagName()); emit operationCompletedMessage(completedMessage); } else { //I don't know any other error, but in case one occurs, the user doesn't get FALSE error messages emit errorMessage(gotTagAlreadyExistsMessage ? - i18nc("@info:status", "<application>Git</application> tag creation failed." + xi18nd("@info:status", "<application>Git</application> tag creation failed." " A tag with the name '%1' already exists.", dialog.tagName()) : - i18nc("@info:status", "<application>Git</application> tag creation failed.") + xi18nd("@info:status", "<application>Git</application> tag creation failed.") ); } } @@ -488,11 +491,11 @@ if (dialog.exec() == QDialog::Accepted) { m_process.setWorkingDirectory(m_contextDir); - m_errorMsg = i18nc("@info:status", "Pushing branch %1 to %2:%3 failed.", + m_errorMsg = xi18nd("@info:status", "Pushing branch %1 to %2:%3 failed.", dialog.localBranch(), dialog.destination(), dialog.remoteBranch()); - m_operationCompletedMsg = i18nc("@info:status", "Pushed branch %1 to %2:%3.", + m_operationCompletedMsg = xi18nd("@info:status", "Pushed branch %1 to %2:%3.", dialog.localBranch(), dialog.destination(), dialog.remoteBranch()); - emit infoMessage(i18nc("@info:status", "Pushing branch %1 to %2:%3...", + emit infoMessage(xi18nd("@info:status", "Pushing branch %1 to %2:%3...", dialog.localBranch(), dialog.destination(), dialog.remoteBranch())); m_command = "push"; @@ -509,11 +512,11 @@ if (dialog.exec() == QDialog::Accepted) { m_process.setWorkingDirectory(m_contextDir); - m_errorMsg = i18nc("@info:status", "Pulling branch %1 from %2 failed.", + m_errorMsg = xi18nd("@info:status", "Pulling branch %1 from %2 failed.", dialog.remoteBranch(), dialog.source()); - m_operationCompletedMsg = i18nc("@info:status", "Pulled branch %1 from %2 successfully.", + m_operationCompletedMsg = xi18nd("@info:status", "Pulled branch %1 from %2 successfully.", dialog.remoteBranch(), dialog.source()); - emit infoMessage(i18nc("@info:status", "Pulling branch %1 from %2...", dialog.remoteBranch(), + emit infoMessage(xi18nd("@info:status", "Pulling branch %1 from %2...", dialog.remoteBranch(), dialog.source())); m_command = "pull"; @@ -566,7 +569,7 @@ message = line.trimmed(); } if (line.contains("Everything up-to-date") && message.isNull()) { - message = i18nc("@info:status", "Branch is already up-to-date."); + message = xi18nd("@info:status", "Branch is already up-to-date."); } } return message; @@ -578,11 +581,11 @@ while (m_process.readLine(buffer, sizeof(buffer)) > 0) { const QString line(buffer); if (line.contains("Already up-to-date")) { - return i18nc("@info:status", "Branch is already up-to-date."); + return xi18nd("@info:status", "Branch is already up-to-date."); } if (line.contains("CONFLICT")) { emit itemVersionsChanged(); - return i18nc("@info:status", "Merge conflicts occurred. Fix them and commit the result."); + return xi18nd("@info:status", "Merge conflicts occurred. Fix them and commit the result."); } } return QString(); @@ -612,7 +615,7 @@ m_pendingOperation = true; const KFileItem item = m_contextItems.takeLast(); - m_process.setWorkingDirectory(item.url().directory()); + m_process.setWorkingDirectory(m_contextDir); QStringList arguments; arguments << m_command; arguments << m_arguments; @@ -620,7 +623,7 @@ if (m_command == "add" && !item.isDir()){ arguments<< QLatin1String("-f"); } - arguments << item.url().fileName(); + arguments << item.localPath(); m_process.start(QLatin1String("git"), arguments); // the remaining items of m_contextItems will be executed // after the process has finished (see slotOperationFinished()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/git/fileviewgitplugin.desktop new/dolphin-plugins-15.08.1/git/fileviewgitplugin.desktop --- old/dolphin-plugins-15.04.3/git/fileviewgitplugin.desktop 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/git/fileviewgitplugin.desktop 2015-09-06 17:12:06.000000000 +0200 @@ -19,7 +19,6 @@ Name[ga]=Git Name[gl]=Git Name[hu]=Git -Name[is]=Git Name[it]=Git Name[kk]=Git Name[km]=Git diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/git/fileviewgitplugin.h new/dolphin-plugins-15.08.1/git/fileviewgitplugin.h --- old/dolphin-plugins-15.04.3/git/fileviewgitplugin.h 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/git/fileviewgitplugin.h 2015-09-06 17:12:06.000000000 +0200 @@ -21,8 +21,8 @@ #ifndef FILEVIEWGITPLUGIN_H #define FILEVIEWGITPLUGIN_H -#include <kfileitem.h> -#include <kversioncontrolplugin2.h> +#include <Dolphin/KVersionControlPlugin> + #include <QList> #include <QHash> #include <QProcess> @@ -31,18 +31,18 @@ /** * @brief Git implementation for the KVersionControlPlugin2 interface. */ -class FileViewGitPlugin : public KVersionControlPlugin2 +class FileViewGitPlugin : public KVersionControlPlugin { Q_OBJECT public: FileViewGitPlugin(QObject* parent, const QList<QVariant>& args); - virtual ~FileViewGitPlugin(); - virtual QString fileName() const; - virtual bool beginRetrieval(const QString& directory); - virtual void endRetrieval(); - virtual KVersionControlPlugin2::ItemVersion itemVersion(const KFileItem& item) const; - virtual QList<QAction*> actions(const KFileItemList &items) const; + ~FileViewGitPlugin() override; + QString fileName() const override; + bool beginRetrieval(const QString& directory) override; + void endRetrieval() override; + ItemVersion itemVersion(const KFileItem& item) const override; + QList<QAction*> actions(const KFileItemList &items) const override; private slots: void addFiles(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/hg/fileviewhgplugin.desktop new/dolphin-plugins-15.08.1/hg/fileviewhgplugin.desktop --- old/dolphin-plugins-15.04.3/hg/fileviewhgplugin.desktop 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/hg/fileviewhgplugin.desktop 2015-09-06 17:12:06.000000000 +0200 @@ -16,7 +16,6 @@ Name[fr]=Mercurial Name[gl]=Mercurial Name[hu]=Mercurial -Name[is]=Mercurial Name[it]=Mercurial Name[kk]=Mercurial Name[ko]=Mercurial diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/svn/CMakeLists.txt new/dolphin-plugins-15.08.1/svn/CMakeLists.txt --- old/dolphin-plugins-15.04.3/svn/CMakeLists.txt 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/svn/CMakeLists.txt 2015-09-06 17:12:06.000000000 +0200 @@ -1,11 +1,27 @@ project(fileviewsvnplugin) -include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${LIBKONQ_INCLUDE_DIR} ${QIMAGEBLITZ_INCLUDES} ) +add_definitions(-DTRANSLATION_DOMAIN=\"fileviewsvnplugin\") -set(fileviewsvnplugin_SRCS fileviewsvnplugin.cpp) -kde4_add_kcfg_files(fileviewsvnplugin_SRCS fileviewsvnpluginsettings.kcfgc) -kde4_add_plugin(fileviewsvnplugin ${fileviewsvnplugin_SRCS}) -target_link_libraries(fileviewsvnplugin ${KDE4_KIO_LIBS} ${LIBKONQ_LIBRARY}) -install(FILES fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR}) +set(fileviewsvnplugin_SRCS + fileviewsvnplugin.cpp +) + +kconfig_add_kcfg_files(fileviewsvnplugin_SRCS + fileviewsvnpluginsettings.kcfgc +) + +add_library(fileviewsvnplugin MODULE ${fileviewsvnplugin_SRCS}) +target_link_libraries(fileviewsvnplugin + Qt5::Core + Qt5::Widgets + KF5::I18n + KF5::XmlGui + KF5::KIOCore + KF5::KIOWidgets + KF5::KDELibs4Support + DolphinVcs +) + +install(FILES fileviewsvnplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) install(FILES fileviewsvnpluginsettings.kcfg DESTINATION ${KCFG_INSTALL_DIR}) -install(TARGETS fileviewsvnplugin DESTINATION ${PLUGIN_INSTALL_DIR}) +install(TARGETS fileviewsvnplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/svn/fileviewsvnplugin.cpp new/dolphin-plugins-15.08.1/svn/fileviewsvnplugin.cpp --- old/dolphin-plugins-15.04.3/svn/fileviewsvnplugin.cpp 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/svn/fileviewsvnplugin.cpp 2015-09-06 17:12:06.000000000 +0200 @@ -21,15 +21,13 @@ #include "fileviewsvnpluginsettings.h" -#include <kaction.h> -#include <kdemacros.h> -#include <kdialog.h> -#include <kfileitem.h> -#include <kicon.h> -#include <klocale.h> -#include <krun.h> -#include <kshell.h> -#include <kvbox.h> +#include <KLocalizedString> +#include <KRun> +#include <KShell> +#include <KVBox> +#include <KDialog> +#include <KPluginFactory> + #include <QDir> #include <QLabel> #include <QPlainTextEdit> @@ -38,13 +36,10 @@ #include <QStringList> #include <QTextStream> -#include <KPluginFactory> -#include <KPluginLoader> K_PLUGIN_FACTORY(FileViewSvnPluginFactory, registerPlugin<FileViewSvnPlugin>();) -K_EXPORT_PLUGIN(FileViewSvnPluginFactory("fileviewsvnplugin")) FileViewSvnPlugin::FileViewSvnPlugin(QObject* parent, const QList<QVariant>& args) : - KVersionControlPlugin2(parent), + KVersionControlPlugin(parent), m_pendingOperation(false), m_versionInfoHash(), m_updateAction(0), @@ -64,37 +59,37 @@ { Q_UNUSED(args); - m_updateAction = new KAction(this); - m_updateAction->setIcon(KIcon("view-refresh")); + m_updateAction = new QAction(this); + m_updateAction->setIcon(QIcon::fromTheme("view-refresh")); m_updateAction->setText(i18nc("@item:inmenu", "SVN Update")); connect(m_updateAction, SIGNAL(triggered()), this, SLOT(updateFiles())); - m_showLocalChangesAction = new KAction(this); - m_showLocalChangesAction->setIcon(KIcon("view-split-left-right")); + m_showLocalChangesAction = new QAction(this); + m_showLocalChangesAction->setIcon(QIcon::fromTheme("view-split-left-right")); m_showLocalChangesAction->setText(i18nc("@item:inmenu", "Show Local SVN Changes")); connect(m_showLocalChangesAction, SIGNAL(triggered()), this, SLOT(showLocalChanges())); - m_commitAction = new KAction(this); - m_commitAction->setIcon(KIcon("svn-commit")); + m_commitAction = new QAction(this); + m_commitAction->setIcon(QIcon::fromTheme("svn-commit")); m_commitAction->setText(i18nc("@item:inmenu", "SVN Commit...")); connect(m_commitAction, SIGNAL(triggered()), this, SLOT(commitFiles())); - m_addAction = new KAction(this); - m_addAction->setIcon(KIcon("list-add")); + m_addAction = new QAction(this); + m_addAction->setIcon(QIcon::fromTheme("list-add")); m_addAction->setText(i18nc("@item:inmenu", "SVN Add")); connect(m_addAction, SIGNAL(triggered()), this, SLOT(addFiles())); - m_removeAction = new KAction(this); - m_removeAction->setIcon(KIcon("list-remove")); + m_removeAction = new QAction(this); + m_removeAction->setIcon(QIcon::fromTheme("list-remove")); m_removeAction->setText(i18nc("@item:inmenu", "SVN Delete")); connect(m_removeAction, SIGNAL(triggered()), this, SLOT(removeFiles())); - m_showUpdatesAction = new KAction(this); + m_showUpdatesAction = new QAction(this); m_showUpdatesAction->setCheckable(true); m_showUpdatesAction->setText(i18nc("@item:inmenu", "Show SVN Updates")); m_showUpdatesAction->setChecked(FileViewSvnPluginSettings::showUpdates()); @@ -196,7 +191,7 @@ { } -KVersionControlPlugin2::ItemVersion FileViewSvnPlugin::itemVersion(const KFileItem& item) const +KVersionControlPlugin::ItemVersion FileViewSvnPlugin::itemVersion(const KFileItem& item) const { const QString itemUrl = item.localPath(); if (m_versionInfoHash.contains(itemUrl)) { @@ -229,7 +224,10 @@ QList<QAction*> FileViewSvnPlugin::actions(const KFileItemList& items) const { if (items.count() == 1 && items.first().isDir()) { - const QString directory = items.first().url().path(KUrl::AddTrailingSlash); + QString directory = items.first().localPath(); + if (!directory.endsWith(QLatin1Char('/'))) { + directory += QLatin1Char('/'); + } return directoryActions(directory); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/svn/fileviewsvnplugin.desktop new/dolphin-plugins-15.08.1/svn/fileviewsvnplugin.desktop --- old/dolphin-plugins-15.04.3/svn/fileviewsvnplugin.desktop 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/svn/fileviewsvnplugin.desktop 2015-09-06 17:12:06.000000000 +0200 @@ -19,7 +19,6 @@ Name[ga]=Subversion Name[gl]=Subversion Name[hu]=Subversion -Name[is]=Subversion Name[it]=Subversion Name[kk]=Subversion Name[km]=កំណែរង diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dolphin-plugins-15.04.3/svn/fileviewsvnplugin.h new/dolphin-plugins-15.08.1/svn/fileviewsvnplugin.h --- old/dolphin-plugins-15.04.3/svn/fileviewsvnplugin.h 2015-03-16 08:49:16.000000000 +0100 +++ new/dolphin-plugins-15.08.1/svn/fileviewsvnplugin.h 2015-09-06 17:12:06.000000000 +0200 @@ -20,8 +20,8 @@ #ifndef FILEVIEWSVNPLUGIN_H #define FILEVIEWSVNPLUGIN_H -#include <kfileitem.h> -#include <kversioncontrolplugin2.h> +#include <Dolphin/KVersionControlPlugin> + #include <QHash> #include <QProcess> #include <QTemporaryFile> @@ -29,18 +29,18 @@ /** * @brief Subversion implementation for the KVersionControlPlugin interface. */ -class FileViewSvnPlugin : public KVersionControlPlugin2 +class FileViewSvnPlugin : public KVersionControlPlugin { Q_OBJECT public: FileViewSvnPlugin(QObject* parent, const QList<QVariant>& args); - virtual ~FileViewSvnPlugin(); - virtual QString fileName() const; - virtual bool beginRetrieval(const QString& directory); - virtual void endRetrieval(); - virtual ItemVersion itemVersion(const KFileItem& item) const; - virtual QList<QAction*> actions(const KFileItemList& items) const; + ~FileViewSvnPlugin() override; + QString fileName() const override; + bool beginRetrieval(const QString& directory) override; + void endRetrieval() override; + ItemVersion itemVersion(const KFileItem& item) const override; + QList<QAction*> actions(const KFileItemList& items) const override; signals: /// Invokes m_showUpdatesAction->setChecked(checked) on the UI thread.
