2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@kde.org>
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
8 #include "actiontexthelper.h"
10 using namespace SelectionMode
;
12 ActionTextHelper::ActionTextHelper(QObject
*parent
)
17 void ActionTextHelper::registerTextWhenNothingIsSelected(QAction
*action
, QString registeredText
)
20 m_registeredActionTextChanges
.emplace_back(action
, registeredText
, TextWhenNothingIsSelected
);
23 void ActionTextHelper::textsWhenNothingIsSelectedEnabled(bool enabled
)
25 for (auto i
= m_registeredActionTextChanges
.begin(); i
!= m_registeredActionTextChanges
.end(); ++i
) {
27 i
= m_registeredActionTextChanges
.erase(i
);
28 if (i
== m_registeredActionTextChanges
.end()) {
33 if (enabled
&& i
->textStateOfRegisteredText
== TextWhenNothingIsSelected
) {
34 QString textWhenSomethingIsSelected
= i
->action
->text();
35 i
->action
->setText(i
->registeredText
);
36 i
->registeredText
= textWhenSomethingIsSelected
;
37 i
->textStateOfRegisteredText
= TextWhenSomethingIsSelected
;
38 } else if (!enabled
&& i
->textStateOfRegisteredText
== TextWhenSomethingIsSelected
) {
39 QString textWhenNothingIsSelected
= i
->action
->text();
40 i
->action
->setText(i
->registeredText
);
41 i
->registeredText
= textWhenNothingIsSelected
;
42 i
->textStateOfRegisteredText
= TextWhenNothingIsSelected
;