9 /////////////////////////////////////////////////////////////////
11 /////////////////////////////////////////////////////////////////
12 KeySwitch::KeySwitch (
13 const QString &kIdentifier,
15 const QString &kGroup,
17 const QKeySequence &kseq)
19 identifier = kIdentifier;
26 /////////////////////////////////////////////////////////////////
28 /////////////////////////////////////////////////////////////////
29 Switchboard::Switchboard ()
33 void Switchboard::addGroup( QString gIdentifier, QString gName)
35 if (groups.contains(gIdentifier))
37 qDebug() << "Warning switchboard: Shortcut group " << gIdentifier << " already exists";
40 groups.insert(gIdentifier, gName);
43 void Switchboard::addSwitch( QString identifier, QString scope, QAction *action, QString tag)
45 if (!switches.contains(identifier))
47 KeySwitch ksw(identifier, action->text(), scope, tag, action->shortcut());
48 switches.insert(scope, ksw);
50 qDebug() << "Warning switchboard::addSwitch warning: Existing idenifier " << identifier;
53 QString Switchboard::getASCII()
57 foreach (g, switches.uniqueKeys())
59 s += "Scope " + g +":\n";
60 QList <KeySwitch> values=switches.values(g);
61 for (int i=0; i<values.size(); ++i)
63 QString desc=values.at(i).name;
64 QString sc=values.at(i).keySequence.toString();
65 desc=desc.remove('&');
66 desc=desc.remove("...");
67 s += QString(" %1: %2\n").arg(sc,12).arg(desc);
73 foreach (g, actions.uniqueKeys())
76 QList <QAction*> values=actions.values(g);
77 for (int i=0;i<values.size();++i)
79 QString desc=values.at(i)->text();
80 QString sc=values.at(i)->shortcut().toString();
81 desc=desc.remove('&');
82 desc=desc.remove("...");
83 s+= QString(" %1: %2\n").arg(sc,12).arg(desc);
90 void Switchboard::printASCII ()
92 cout <<qPrintable(getASCII() );
95 void Switchboard::printLaTeX ()
98 foreach (g,actions.uniqueKeys())
100 cout <<"Group: "<<qPrintable(g)<<"\\\\ \\hline"<<endl;
101 QList <QAction*> values=actions.values(g);
102 for (int i=0;i<values.size();++i)
103 if (!values.at(i)->shortcut().toString().isEmpty())
105 QString desc=values.at(i)->text();
106 QString sc=values.at(i)->shortcut().toString();
107 desc=desc.remove('&');
108 desc=desc.remove("...");
109 cout << qPrintable( QString(" %1& %2").arg(sc,12).arg(desc) )<<endl;