diff --git a/src/filewidgets/kdiroperator.cpp b/src/filewidgets/kdiroperator.cpp --- a/src/filewidgets/kdiroperator.cpp +++ b/src/filewidgets/kdiroperator.cpp @@ -287,6 +287,7 @@ bool isSaving; KActionMenu *decorationMenu; + QActionGroup *decorationGroup; KToggleAction *leftAction; QList itemsToBeSetAsCurrent; bool shouldFetchForItems; @@ -319,6 +320,7 @@ iconsZoom(0), isSaving(false), decorationMenu(nullptr), + decorationGroup(nullptr), leftAction(nullptr), shouldFetchForItems(false), inlinePreviewState(NotForced) @@ -1615,7 +1617,9 @@ // if we cannot cast it to a QListView, disable the "Icon Position" menu. Note that this check // needs to be done here, and not in createView, since we can be set an external view - d->decorationMenu->setEnabled(qobject_cast(d->itemView)); + const bool itemViewEnabled = qobject_cast(d->itemView); + d->decorationMenu->setEnabled(itemViewEnabled); + d->decorationGroup->setEnabled(itemViewEnabled); d->shouldFetchForItems = qobject_cast(view); if (d->shouldFetchForItems) { @@ -1919,20 +1923,20 @@ d->decorationMenu = new KActionMenu(i18n("Icon Position"), this); d->actionCollection->addAction(QStringLiteral("decoration menu"), d->decorationMenu); - d->leftAction = new KToggleAction(i18n("Next to File Name"), this); + d->leftAction = new KToggleAction(i18n("Icons Next to File Name"), this); d->actionCollection->addAction(QStringLiteral("decorationAtLeft"), d->leftAction); connect(d->leftAction, SIGNAL(triggered(bool)), this, SLOT(_k_slotChangeDecorationPosition())); - KToggleAction *topAction = new KToggleAction(i18n("Above File Name"), this); + KToggleAction *topAction = new KToggleAction(i18n("Icons Above File Name"), this); d->actionCollection->addAction(QStringLiteral("decorationAtTop"), topAction); connect(topAction, SIGNAL(triggered(bool)), this, SLOT(_k_slotChangeDecorationPosition())); d->decorationMenu->addAction(d->leftAction); d->decorationMenu->addAction(topAction); - QActionGroup *decorationGroup = new QActionGroup(this); - d->leftAction->setActionGroup(decorationGroup); - topAction->setActionGroup(decorationGroup); + d->decorationGroup = new QActionGroup(this); + d->leftAction->setActionGroup(d->decorationGroup); + topAction->setActionGroup(d->decorationGroup); KToggleAction *shortAction = new KToggleAction(i18n("Short View"), this); d->actionCollection->addAction(QStringLiteral("short view"), shortAction); diff --git a/src/filewidgets/kfilewidget.cpp b/src/filewidgets/kfilewidget.cpp --- a/src/filewidgets/kfilewidget.cpp +++ b/src/filewidgets/kfilewidget.cpp @@ -489,7 +489,8 @@ menu->addAction(coll->action(QStringLiteral("sorting menu"))); menu->addAction(coll->action(QStringLiteral("view menu"))); menu->addSeparator(); - menu->addAction(coll->action(QStringLiteral("decoration menu"))); + menu->addAction(coll->action(QStringLiteral("decorationAtLeft"))); + menu->addAction(coll->action(QStringLiteral("decorationAtTop"))); menu->addSeparator(); menu->addAction(coll->action(QStringLiteral("show hidden"))); menu->addAction(showSidebarAction);