File indexing completed on 2024-04-28 05:45:14
0001 /* 0002 This file is part of the KDE project 0003 SPDX-FileCopyrightText: 2022 Felix Ernst <felixernst@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #include "actiontexthelper.h" 0009 0010 using namespace SelectionMode; 0011 0012 ActionTextHelper::ActionTextHelper(QObject *parent) 0013 : QObject(parent) 0014 { 0015 } 0016 0017 void ActionTextHelper::registerTextWhenNothingIsSelected(QAction *action, QString registeredText) 0018 { 0019 Q_CHECK_PTR(action); 0020 m_registeredActionTextChanges.emplace_back(action, registeredText, TextWhenNothingIsSelected); 0021 } 0022 0023 void ActionTextHelper::textsWhenNothingIsSelectedEnabled(bool enabled) 0024 { 0025 for (auto i = m_registeredActionTextChanges.begin(); i != m_registeredActionTextChanges.end(); ++i) { 0026 while (!i->action) { 0027 i = m_registeredActionTextChanges.erase(i); 0028 if (i == m_registeredActionTextChanges.end()) { 0029 break; 0030 } 0031 } 0032 0033 if (enabled && i->textStateOfRegisteredText == TextWhenNothingIsSelected) { 0034 QString textWhenSomethingIsSelected = i->action->text(); 0035 i->action->setText(i->registeredText); 0036 i->registeredText = textWhenSomethingIsSelected; 0037 i->textStateOfRegisteredText = TextWhenSomethingIsSelected; 0038 } else if (!enabled && i->textStateOfRegisteredText == TextWhenSomethingIsSelected) { 0039 QString textWhenNothingIsSelected = i->action->text(); 0040 i->action->setText(i->registeredText); 0041 i->registeredText = textWhenNothingIsSelected; 0042 i->textStateOfRegisteredText = TextWhenNothingIsSelected; 0043 } 0044 } 0045 }