┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/views')
-rw-r--r--src/views/dolphinremoteencoding.cpp3
-rw-r--r--src/views/dolphinview.cpp30
-rw-r--r--src/views/dolphinview.h18
-rw-r--r--src/views/dolphinviewactionhandler.cpp2
-rw-r--r--src/views/tooltips/dolphinfilemetadatawidget.cpp2
-rw-r--r--src/views/versioncontrol/kversioncontrolplugin.h5
-rw-r--r--src/views/versioncontrol/versioncontrolobserver.cpp11
-rw-r--r--src/views/versioncontrol/versioncontrolobserver.h2
8 files changed, 49 insertions, 24 deletions
diff --git a/src/views/dolphinremoteencoding.cpp b/src/views/dolphinremoteencoding.cpp
index 41b3b6890..c7c8b09d1 100644
--- a/src/views/dolphinremoteencoding.cpp
+++ b/src/views/dolphinremoteencoding.cpp
@@ -90,7 +90,7 @@ void DolphinRemoteEncoding::fillMenu()
QMenu* menu = m_menu->menu();
menu->clear();
-
+ menu->addAction(i18n("Default"), this, SLOT(slotDefault()), 0)->setCheckable(true);
for (int i = 0; i < m_encodingDescriptions.size();i++) {
QAction* action = new QAction(m_encodingDescriptions.at(i), this);
action->setCheckable(true);
@@ -100,7 +100,6 @@ void DolphinRemoteEncoding::fillMenu()
menu->addSeparator();
menu->addAction(i18n("Reload"), this, SLOT(slotReload()), 0);
- menu->addAction(i18n("Default"), this, SLOT(slotDefault()), 0)->setCheckable(true);
m_idDefault = m_encodingDescriptions.size() + 2;
connect(menu, &QMenu::triggered, this, &DolphinRemoteEncoding::slotItemSelected);
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 9a063d857..bb537b982 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -974,12 +974,14 @@ void DolphinView::slotItemActivated(int index)
}
}
-void DolphinView::slotItemsActivated(const KItemSet& indexes)
+void DolphinView::slotItemsActivated(const KItemSet &indexes)
{
Q_ASSERT(indexes.count() >= 2);
abortTwoClicksRenaming();
+ const auto modifiers = QGuiApplication::keyboardModifiers();
+
if (indexes.count() > 5) {
QString question = i18np("Are you sure you want to open 1 item?", "Are you sure you want to open %1 items?", indexes.count());
const int answer = KMessageBox::warningYesNo(this, question);
@@ -995,8 +997,15 @@ void DolphinView::slotItemsActivated(const KItemSet& indexes)
KFileItem item = m_model->fileItem(index);
const QUrl& url = openItemAsFolderUrl(item);
- if (!url.isEmpty()) { // Open folders in new tabs
- Q_EMIT tabRequested(url);
+ if (!url.isEmpty()) {
+ // Open folders in new tabs or in new windows depending on the modifier
+ // The ctrl+shift behavior is ignored because we are handling multiple items
+ // keep in sync with KUrlNavigator::slotNavigatorButtonClicked
+ if (modifiers & Qt::ShiftModifier && !(modifiers & Qt::ControlModifier)) {
+ Q_EMIT windowRequested(url);
+ } else {
+ Q_EMIT tabRequested(url);
+ }
} else {
items.append(item);
}
@@ -1013,10 +1022,21 @@ void DolphinView::slotItemMiddleClicked(int index)
{
const KFileItem& item = m_model->fileItem(index);
const QUrl& url = openItemAsFolderUrl(item);
+ const auto modifiers = QGuiApplication::keyboardModifiers();
if (!url.isEmpty()) {
- Q_EMIT tabRequested(url);
+ // keep in sync with KUrlNavigator::slotNavigatorButtonClicked
+ if (modifiers & Qt::ShiftModifier) {
+ Q_EMIT activeTabRequested(url);
+ } else {
+ Q_EMIT tabRequested(url);
+ }
} else if (isTabsForFilesEnabled()) {
- Q_EMIT tabRequested(item.url());
+ // keep in sync with KUrlNavigator::slotNavigatorButtonClicked
+ if (modifiers & Qt::ShiftModifier) {
+ Q_EMIT activeTabRequested(item.url());
+ } else {
+ Q_EMIT tabRequested(item.url());
+ }
}
}
diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h
index 75c9dd985..0f288f942 100644
--- a/src/views/dolphinview.h
+++ b/src/views/dolphinview.h
@@ -425,13 +425,13 @@ Q_SIGNALS:
/**
* Is emitted when clicking on an item with the left mouse button.
*/
- void itemActivated(const KFileItem& item);
+ void itemActivated(const KFileItem &item);
/**
* Is emitted when multiple items have been activated by e. g.
* context menu open with.
*/
- void itemsActivated(const KFileItemList& items);
+ void itemsActivated(const KFileItemList &items);
/**
* Is emitted if items have been added or deleted.
@@ -444,6 +444,16 @@ Q_SIGNALS:
void tabRequested(const QUrl& url);
/**
+ * Is emitted if a new tab should be opened for the URL \a url and set as active.
+ */
+ void activeTabRequested(const QUrl &url);
+
+ /**
+ * Is emitted if a new window should be opened for the URL \a url.
+ */
+ void windowRequested(const QUrl &url);
+
+ /**
* Is emitted if the view mode (IconsView, DetailsView,
* PreviewsView) has been changed.
*/
@@ -458,7 +468,7 @@ Q_SIGNALS:
/** Is emitted if the 'grouped sorting' property has been changed. */
void groupedSortingChanged(bool groupedSorting);
- /** Is emmited in reaction to a requestStatusBarText() call.
+ /** Is emitted in reaction to a requestStatusBarText() call.
* @see requestStatusBarText() */
void statusBarTextChanged(QString statusBarText);
@@ -619,7 +629,7 @@ private Q_SLOTS:
void activate();
void slotItemActivated(int index);
- void slotItemsActivated(const KItemSet& indexes);
+ void slotItemsActivated(const KItemSet &indexes);
void slotItemMiddleClicked(int index);
void slotItemContextMenuRequested(int index, const QPointF& pos);
void slotViewContextMenuRequested(const QPointF& pos);
diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp
index 47247ec35..2e524f8f2 100644
--- a/src/views/dolphinviewactionhandler.cpp
+++ b/src/views/dolphinviewactionhandler.cpp
@@ -213,7 +213,7 @@ void DolphinViewActionHandler::createActions()
viewModeActions->addAction(compactAction);
viewModeActions->addAction(detailsAction);
viewModeActions->setToolBarMode(KSelectAction::MenuMode);
- connect(viewModeActions, QOverload<QAction*>::of(&KSelectAction::triggered), this, &DolphinViewActionHandler::slotViewModeActionTriggered);
+ connect(viewModeActions, &KSelectAction::triggered, this, &DolphinViewActionHandler::slotViewModeActionTriggered);
QAction* zoomInAction = KStandardAction::zoomIn(this,
&DolphinViewActionHandler::zoomIn,
diff --git a/src/views/tooltips/dolphinfilemetadatawidget.cpp b/src/views/tooltips/dolphinfilemetadatawidget.cpp
index b147135bf..e914593fb 100644
--- a/src/views/tooltips/dolphinfilemetadatawidget.cpp
+++ b/src/views/tooltips/dolphinfilemetadatawidget.cpp
@@ -66,7 +66,7 @@ DolphinFileMetaDataWidget::DolphinFileMetaDataWidget(QWidget* parent) :
QHBoxLayout* layout = new QHBoxLayout(this);
layout->addWidget(m_preview);
- layout->addSpacing(layout->margin());
+ layout->addSpacing(layout->contentsMargins().left());
layout->addLayout(textLayout);
}
diff --git a/src/views/versioncontrol/kversioncontrolplugin.h b/src/views/versioncontrol/kversioncontrolplugin.h
index c908be247..d3a39fbd6 100644
--- a/src/views/versioncontrol/kversioncontrolplugin.h
+++ b/src/views/versioncontrol/kversioncontrolplugin.h
@@ -45,7 +45,6 @@ class KFileItem;
* - Add the following lines at the top of fileviewsvnplugin.cpp:
* <code>
* #include <KPluginFactory>
- * #include <KPluginLoader>
* K_PLUGIN_CLASS_WITH_JSON(FileViewSvnPlugin, "fileviewsvnplugin.json")
* </code>
*
@@ -143,8 +142,8 @@ public:
virtual QString fileName() const = 0;
/**
- * Returns the path of the local repository root for the versionned directory
- * Returns an emtpy QString when directory is not part of a working copy
+ * Returns the path of the local repository root for the versioned directory
+ * Returns an empty QString when directory is not part of a working copy
*/
virtual QString localRepositoryRoot(const QString& directory) const;
diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp
index 6766aa479..a773aef6b 100644
--- a/src/views/versioncontrol/versioncontrolobserver.cpp
+++ b/src/views/versioncontrol/versioncontrolobserver.cpp
@@ -14,7 +14,6 @@
#include <KLocalizedString>
#include <KPluginFactory>
-#include <KPluginLoader>
#include <KPluginMetaData>
#include <QTimer>
@@ -136,7 +135,7 @@ void VersionControlObserver::slotItemsChanged(const KItemRangeList& itemRanges,
{
Q_UNUSED(itemRanges)
- // Because "version" role is emitted by VCS plugin (ourselfs) we don't need to
+ // Because "version" role is emitted by VCS plugin (ourselves) we don't need to
// analyze it and update directory item states information. So lets check if
// there is only "version".
if ( !(roles.count() == 1 && roles.contains("version")) ) {
@@ -164,7 +163,7 @@ void VersionControlObserver::verifyDirectory()
// by an immediate verification.
m_dirVerificationTimer->setInterval(500);
} else {
- // View was versionned but should not be anymore
+ // View was versioned but should not be anymore
updateItemStates();
}
} else if ((m_plugin = searchPlugin(rootItem.url()))) {
@@ -280,15 +279,13 @@ void VersionControlObserver::initPlugins()
// all fileview version control plugins and remember them in 'plugins'.
const QStringList enabledPlugins = VersionControlSettings::enabledPlugins();
- const QVector<KPluginMetaData> plugins = KPluginLoader::findPlugins(QStringLiteral("dolphin/vcs"));
+ const QVector<KPluginMetaData> plugins = KPluginMetaData::findPlugins(QStringLiteral("dolphin/vcs"));
QSet<QString> loadedPlugins;
for (const auto &p : plugins) {
if (enabledPlugins.contains(p.name())) {
- KPluginLoader loader(p.fileName());
- KPluginFactory *factory = loader.factory();
- KVersionControlPlugin *plugin = factory->create<KVersionControlPlugin>();
+ auto plugin = KPluginFactory::instantiatePlugin<KVersionControlPlugin>(p).plugin;
if (plugin) {
m_plugins.append(plugin);
loadedPlugins += p.name();
diff --git a/src/views/versioncontrol/versioncontrolobserver.h b/src/views/versioncontrol/versioncontrolobserver.h
index 6e3977fb2..064a3088f 100644
--- a/src/views/versioncontrol/versioncontrolobserver.h
+++ b/src/views/versioncontrol/versioncontrolobserver.h
@@ -95,7 +95,7 @@ private Q_SLOTS:
/**
* Is invoked if the thread m_updateItemStatesThread has been finished
- * and applys the item states.
+ * and applies the item states.
*/
void slotThreadFinished();