File indexing completed on 2023-05-30 10:40:03
0001 /* 0002 SPDX-FileCopyrightText: 2005-2006 Albert Astals Cid <aacid@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "button.h" 0008 0009 #include <KConfig> 0010 #include <KSharedConfig> 0011 #include <KConfigGroup> 0012 0013 #include <QKeySequence> 0014 0015 button::button(blinkenGame::color c) : m_selected(false), m_color(c) 0016 { 0017 KConfigGroup kc(KSharedConfig::openConfig(), "General"); 0018 QString cs = getColorString(); 0019 0020 switch (c) 0021 { 0022 case blinkenGame::blue: 0023 m_key = kc.readEntry(cs, int(Qt::Key_3)); 0024 break; 0025 0026 case blinkenGame::yellow: 0027 m_key = kc.readEntry(cs, int(Qt::Key_1)); 0028 break; 0029 0030 case blinkenGame::red: 0031 m_key =kc.readEntry(cs, int(Qt::Key_2)); 0032 break; 0033 0034 case blinkenGame::green: 0035 m_key = kc.readEntry(cs, int(Qt::Key_4)); 0036 break; 0037 0038 default: 0039 // never happens 0040 break; 0041 } 0042 } 0043 0044 button::~button() 0045 { 0046 } 0047 0048 void button::setShortcut(int key) 0049 { 0050 m_key = key; 0051 m_selected = false; 0052 0053 KConfigGroup kc(KSharedConfig::openConfig(), "General"); 0054 kc.writeEntry(getColorString(), key); 0055 kc.sync(); 0056 } 0057 0058 QString button::shortcut() const 0059 { 0060 return QKeySequence(m_key).toString(); 0061 } 0062 0063 int button::key() const 0064 { 0065 return m_key; 0066 } 0067 0068 void button::setSelected(bool b) 0069 { 0070 m_selected = b; 0071 } 0072 0073 bool button::selected() const 0074 { 0075 return m_selected; 0076 } 0077 0078 QString button::getColorString() const 0079 { 0080 switch (m_color) 0081 { 0082 case blinkenGame::blue: 0083 return QStringLiteral("blue"); 0084 0085 case blinkenGame::yellow: 0086 return QStringLiteral("yellow"); 0087 0088 case blinkenGame::red: 0089 return QStringLiteral("red"); 0090 0091 case blinkenGame::green: 0092 return QStringLiteral("green"); 0093 0094 default: 0095 // never happens 0096 break; 0097 } 0098 0099 // never happens 0100 return QString(); 0101 }