/*
This file is part of the KDE project
- SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@zohomail.eu>
+ SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@kde.org>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
/**
* @brief Helps changing the texts of actions depending on the current selection.
+ *
+ * This is useful for actions that directly trigger a change when there is a selection and do something
+ * different when nothing is selected. For example should the copy action read "Copy" when items are
+ * selected but when no items are selected it can read "Copy…" since triggering it will enter selection
+ * mode and ask users to select the files they want to copy first.
*/
class ActionTextHelper : QObject
{
/**
* Changes the text of \a action to \a text whenever textsWhenNothingIsSelectedEnabled(true) is called.
- * The texts can be changed back by calling textsWhenNothingIsSelectedEnabled(false) is called.
+ * The texts can be changed back by calling textsWhenNothingIsSelectedEnabled(false).
* @see textsWhenNothingIsSelectedEnabled()
*/
void registerTextWhenNothingIsSelected(QAction *action, QString registeredText);
void textsWhenNothingIsSelectedEnabled(bool enabled);
private:
- enum TextState {
- TextWhenNothingIsSelected,
- TextWhenSomethingIsSelected
- };
+ enum TextState { TextWhenNothingIsSelected, TextWhenSomethingIsSelected };
/**
* Utility struct to allow switching back and forth between registered actions showing their
* An example is "Copy" or "Copy…". The latter one is used when nothing is selected and signifies
* that it will trigger SelectionMode so items can be selected and then copied.
*/
- struct RegisteredActionTextChange {
+ struct RegisteredActionTextChange {
QPointer<QAction> action;
QString registeredText;
TextState textStateOfRegisteredText;
- RegisteredActionTextChange(QAction *action, QString registeredText, TextState state) :
- action{action},
- registeredText{registeredText},
- textStateOfRegisteredText{state}
- { };
+ RegisteredActionTextChange(QAction *action, QString registeredText, TextState state)
+ : action{action}
+ , registeredText{registeredText}
+ , textStateOfRegisteredText{state} {};
};
/**