]> cloud.milkyroute.net Git - dolphin.git/blob - src/selectionmode/actiontexthelper.cpp
DolphinTrash: port away from deprecated KIO API
[dolphin.git] / src / selectionmode / actiontexthelper.cpp
1 /*
2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@zohomail.eu>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6 */
7
8 #include "actiontexthelper.h"
9
10 using namespace SelectionMode;
11
12 ActionTextHelper::ActionTextHelper(QObject *parent) :
13 QObject(parent)
14 { }
15
16 void ActionTextHelper::registerTextWhenNothingIsSelected(QAction *action, QString registeredText)
17 {
18 Q_CHECK_PTR(action);
19 m_registeredActionTextChanges.emplace_back(action, registeredText, TextWhenNothingIsSelected);
20 }
21
22 void ActionTextHelper::textsWhenNothingIsSelectedEnabled(bool enabled)
23 {
24 for (auto i = m_registeredActionTextChanges.begin(); i != m_registeredActionTextChanges.end(); ++i) {
25 while (!i->action) {
26 i = m_registeredActionTextChanges.erase(i);
27 if (i == m_registeredActionTextChanges.end()) {
28 break;
29 }
30 }
31
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;
42 }
43 }
44 }