]> cloud.milkyroute.net Git - dolphin.git/blob - src/selectionmode/actiontexthelper.cpp
DolphinView: Remove -1 interval, add setAutoActivationEnabled
[dolphin.git] / src / selectionmode / actiontexthelper.cpp
1 /*
2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@kde.org>
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
17 void ActionTextHelper::registerTextWhenNothingIsSelected(QAction *action, QString registeredText)
18 {
19 Q_CHECK_PTR(action);
20 m_registeredActionTextChanges.emplace_back(action, registeredText, TextWhenNothingIsSelected);
21 }
22
23 void ActionTextHelper::textsWhenNothingIsSelectedEnabled(bool enabled)
24 {
25 for (auto i = m_registeredActionTextChanges.begin(); i != m_registeredActionTextChanges.end(); ++i) {
26 while (!i->action) {
27 i = m_registeredActionTextChanges.erase(i);
28 if (i == m_registeredActionTextChanges.end()) {
29 break;
30 }
31 }
32
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;
43 }
44 }
45 }