diff options
Diffstat (limited to 'src/panels')
| -rw-r--r-- | src/panels/information/informationpanel.cpp | 10 | ||||
| -rw-r--r-- | src/panels/information/informationpanel.h | 2 | ||||
| -rw-r--r-- | src/panels/places/dolphin_placespanelsettings.kcfg | 3 | ||||
| -rw-r--r-- | src/panels/places/placespanel.cpp | 13 | ||||
| -rw-r--r-- | src/panels/places/placesview.cpp | 5 |
5 files changed, 26 insertions, 7 deletions
diff --git a/src/panels/information/informationpanel.cpp b/src/panels/information/informationpanel.cpp index f843e7f46..9a6fc3708 100644 --- a/src/panels/information/informationpanel.cpp +++ b/src/panels/information/informationpanel.cpp @@ -242,6 +242,7 @@ void InformationPanel::showItemInfo() connect(m_folderStatJob, &KIO::Job::result, this, &InformationPanel::slotFolderStatFinished); } else { + m_shownUrl = item.url(); m_content->showItem(item); } } @@ -303,6 +304,15 @@ void InformationPanel::slotFilesAdded(const QString& directory) } } +void InformationPanel::slotFilesItemChanged(const KFileItemList &changedFileItems) +{ + const auto item = changedFileItems.findByUrl(m_shownUrl); + if (!item.isNull()) { + m_fileItem = item; + showItemInfo(); + } +} + void InformationPanel::slotFilesChanged(const QStringList& files) { for (const QString& fileName : files) { diff --git a/src/panels/information/informationpanel.h b/src/panels/information/informationpanel.h index debd88e46..d7f89bc9c 100644 --- a/src/panels/information/informationpanel.h +++ b/src/panels/information/informationpanel.h @@ -46,6 +46,8 @@ public Q_SLOTS: */ void requestDelayedItemInfo(const KFileItem& item); + void slotFilesItemChanged(const KFileItemList &changedFileItems); + protected: /** @see Panel::urlChanged() */ bool urlChanged() override; diff --git a/src/panels/places/dolphin_placespanelsettings.kcfg b/src/panels/places/dolphin_placespanelsettings.kcfg index b2ef8e574..db0ac9495 100644 --- a/src/panels/places/dolphin_placespanelsettings.kcfg +++ b/src/panels/places/dolphin_placespanelsettings.kcfg @@ -4,11 +4,12 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 http://www.kde.org/standards/kcfg/1.0/kcfg.xsd"> + <include>kiconloader.h</include> <kcfgfile name="dolphinrc"/> <group name="PlacesPanel"> <entry name="IconSize" type="Int"> <label>Size of icons in the Places Panel (-1 means "use the style's small size")</label> - <default>-1</default> + <default code="true">KIconLoader::SizeSmallMedium</default> </entry> </group> </kcfg> diff --git a/src/panels/places/placespanel.cpp b/src/panels/places/placespanel.cpp index d49ad39ec..1f5f0260f 100644 --- a/src/panels/places/placespanel.cpp +++ b/src/panels/places/placespanel.cpp @@ -23,6 +23,7 @@ #include "placesview.h" #include "trash/dolphintrash.h" #include "views/draganddrophelper.h" +#include "settings/dolphinsettingsdialog.h" #include <KFilePlaceEditDialog> #include <KFilePlacesModel> @@ -181,6 +182,7 @@ void PlacesPanel::slotItemContextMenuRequested(int index, const QPointF& pos) QMenu menu(this); QAction* emptyTrashAction = nullptr; + QAction* configureTrashAction = nullptr; QAction* editAction = nullptr; QAction* teardownAction = nullptr; QAction* ejectAction = nullptr; @@ -200,7 +202,7 @@ void PlacesPanel::slotItemContextMenuRequested(int index, const QPointF& pos) if (item->url().isLocalFile()) { propertiesAction = menu.addAction(QIcon::fromTheme(QStringLiteral("document-properties")), i18nc("@action:inmenu", "Properties")); } - if (!isDevice && !isTrash) { + if (!isDevice) { menu.addSeparator(); } @@ -236,6 +238,10 @@ void PlacesPanel::slotItemContextMenuRequested(int index, const QPointF& pos) } } + if (isTrash) { + configureTrashAction = menu.addAction(QIcon::fromTheme(QStringLiteral("configure")), i18nc("@action:inmenu", "Configure Trash...")); + } + if (!isDevice) { editAction = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-entry")), i18nc("@item:inmenu", "Edit...")); } @@ -255,6 +261,11 @@ void PlacesPanel::slotItemContextMenuRequested(int index, const QPointF& pos) if (action) { if (action == emptyTrashAction) { Trash::empty(this); + } else if (action == configureTrashAction) { + DolphinSettingsDialog* settingsDialog = new DolphinSettingsDialog(item->url(), this); + settingsDialog->setCurrentPage(settingsDialog->trashSettings); + settingsDialog->setAttribute(Qt::WA_DeleteOnClose); + settingsDialog->show(); } else { // The index might have changed if devices were added/removed while // the context menu was open. diff --git a/src/panels/places/placesview.cpp b/src/panels/places/placesview.cpp index 5214f47dc..50446d44d 100644 --- a/src/panels/places/placesview.cpp +++ b/src/panels/places/placesview.cpp @@ -1,6 +1,5 @@ /* * SPDX-FileCopyrightText: 2012 Frank Reininghaus <[email protected]> - * SPDX-FileCopyrightText: 2021 Harald Sitter <[email protected]> * * SPDX-License-Identifier: GPL-2.0-or-later */ @@ -12,10 +11,6 @@ PlacesView::PlacesView(QGraphicsWidget* parent) : KStandardItemListView(parent) { - KItemListStyleOption option = styleOption(); - option.padding = 4; - setStyleOption(option); - const int iconSize = PlacesPanelSettings::iconSize(); if (iconSize >= 0) { setIconSize(iconSize); |
