#include "views/zoomlevelinfo.h"
#include "kconfig_version.h"
-#ifdef HAVE_BALOO
+#if HAVE_BALOO
#include <Baloo/IndexerConfig>
#endif
#include <KActionCollection>
#include <QMenu>
#include <QPointer>
+#include <iostream>
+
DolphinViewActionHandler::DolphinViewActionHandler(KActionCollection* collection, QObject* parent) :
QObject(parent),
m_actionCollection(collection),
this, &DolphinViewActionHandler::slotZoomLevelChanged);
connect(view, &DolphinView::writeStateChanged,
this, &DolphinViewActionHandler::slotWriteStateChanged);
+ connect(view, &DolphinView::selectionModeRequested,
+ this, [this]() { Q_EMIT setSelectionMode(true); });
connect(view, &DolphinView::selectionChanged,
this, &DolphinViewActionHandler::slotSelectionChanged);
slotSelectionChanged(m_currentView->selectedItems());
QActionGroup* groupMenuGroup = nullptr;
bool indexingEnabled = false;
-#ifdef HAVE_BALOO
+#if HAVE_BALOO
Baloo::IndexerConfig config;
indexingEnabled = config.fileIndexingEnabled();
#endif
void DolphinViewActionHandler::slotViewModeActionTriggered(QAction* action)
{
const DolphinView::Mode mode = action->data().value<DolphinView::Mode>();
- m_currentView->setMode(mode);
+ m_currentView->setViewMode(mode);
QAction* viewModeMenu = m_actionCollection->action(QStringLiteral("view_mode"));
viewModeMenu->setIcon(action->icon());
void DolphinViewActionHandler::slotRename()
{
- Q_EMIT actionBeingHandled();
- m_currentView->renameSelectedItems();
+ if (m_currentView->selectedItemsCount() == 0) {
+ Q_EMIT setSelectionMode(true, SelectionModeBottomBar::Contents::RenameContents);
+ } else {
+ Q_EMIT actionBeingHandled();
+ m_currentView->renameSelectedItems();
+ }
}
void DolphinViewActionHandler::slotTrashActivated()
{
- Q_EMIT actionBeingHandled();
- m_currentView->trashSelectedItems();
+ if (m_currentView->selectedItemsCount() == 0) {
+ Q_EMIT setSelectionMode(true, SelectionModeBottomBar::Contents::MoveToTrashContents);
+ } else {
+ Q_EMIT actionBeingHandled();
+ m_currentView->trashSelectedItems();
+ Q_EMIT setSelectionMode(false);
+ }
}
void DolphinViewActionHandler::slotDeleteItems()
{
- Q_EMIT actionBeingHandled();
- m_currentView->deleteSelectedItems();
+ if (m_currentView->selectedItemsCount() == 0) {
+ Q_EMIT setSelectionMode(true, SelectionModeBottomBar::Contents::DeleteContents);
+ } else {
+ Q_EMIT actionBeingHandled();
+ m_currentView->deleteSelectedItems();
+ Q_EMIT setSelectionMode(false);
+ }
}
void DolphinViewActionHandler::togglePreview(bool show)
QString DolphinViewActionHandler::currentViewModeActionName() const
{
- switch (m_currentView->mode()) {
+ switch (m_currentView->viewMode()) {
case DolphinView::IconsView:
return QStringLiteral("icons");
case DolphinView::DetailsView:
void DolphinViewActionHandler::slotDuplicate()
{
- Q_EMIT actionBeingHandled();
- m_currentView->duplicateSelectedItems();
+ if (m_currentView->selectedItemsCount() == 0) {
+ Q_EMIT setSelectionMode(true, SelectionModeBottomBar::Contents::DuplicateContents);
+ } else {
+ Q_EMIT actionBeingHandled();
+ m_currentView->duplicateSelectedItems();
+ Q_EMIT setSelectionMode(false);
+ }
}
void DolphinViewActionHandler::slotProperties()
void DolphinViewActionHandler::slotCopyPath()
{
- m_currentView->copyPathToClipboard();
+ if (m_currentView->selectedItemsCount() == 0) {
+ Q_EMIT setSelectionMode(true, SelectionModeBottomBar::Contents::CopyLocationContents);
+ } else {
+ m_currentView->copyPathToClipboard();
+ Q_EMIT setSelectionMode(false);
+ }
}
void DolphinViewActionHandler::slotSelectionChanged(const KFileItemList& selection)