2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@zohomail.eu>
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
) :
16 void ActionTextHelper::registerTextWhenNothingIsSelected(QAction
*action
, QString registeredText
)
19 m_registeredActionTextChanges
.emplace_back(action
, registeredText
, TextWhenNothingIsSelected
);
22 void ActionTextHelper::textsWhenNothingIsSelectedEnabled(bool enabled
)
24 for (auto i
= m_registeredActionTextChanges
.begin(); i
!= m_registeredActionTextChanges
.end(); ++i
) {
26 i
= m_registeredActionTextChanges
.erase(i
);
27 if (i
== m_registeredActionTextChanges
.end()) {
32 if (enabled
&& i
->textStateOfRegisteredText
== TextWhenNothingIsSelected
) {
33 QString textWhenSomethingIsSelected
= i
->action
->text();
34 i
->action
->setText(i
->registeredText
);
35 i
->registeredText
= textWhenSomethingIsSelected
;
36 i
->textStateOfRegisteredText
= TextWhenSomethingIsSelected
;
37 } else if (!enabled
&& i
->textStateOfRegisteredText
== TextWhenSomethingIsSelected
) {
38 QString textWhenNothingIsSelected
= i
->action
->text();
39 i
->action
->setText(i
->registeredText
);
40 i
->registeredText
= textWhenNothingIsSelected
;
41 i
->textStateOfRegisteredText
= TextWhenNothingIsSelected
;