24 #include <QPushButton> 26 #include <QGridLayout> 27 #include <QMessageBox> 28 #include <QApplication> 31 : m_MainControl(nullptr)
54 auto layout =
new QGridLayout;
58 layout->addWidget(
new QLabel(it->first), i, 0);
59 layout->addWidget(it->second, i, 1);
60 layout->setRowStretch(i, 0);
63 layout->setRowStretch(i + 1, 10);
77 if (dataManagerHotkeysPreferencesNode.
IsNotNull())
83 keyString = it->second->GetKeySequenceAsString();
85 if (keyString.isEmpty())
87 errString = QString(
"No valid key sequence for \"%1\"").arg(it->first);
90 if (errString.isEmpty())
92 std::map<QString, QmitkHotkeyLineEdit*>::iterator it2;
96 if (it->first != it2->first && keyString == it2->second->GetKeySequenceAsString())
98 errString = QString(
"Duplicate hot key for \"%1\" and \"%2\"").arg(it->first).arg(it2->first);
104 if (!errString.isEmpty())
106 QMessageBox::critical(QApplication::activeWindow(),
"Error", errString);
114 QString keySequence = it->second->GetKeySequenceAsString();
115 dataManagerHotkeysPreferencesNode->Put(it->first, it->second->GetKeySequenceAsString());
118 dataManagerHotkeysPreferencesNode->Flush();
132 if (dataManagerHotkeysPreferencesNode.
IsNotNull())
136 it->second->setText(dataManagerHotkeysPreferencesNode->Get(it->first, it->second->text()));
void PerformCancel() override
bool PerformOk() override
virtual SmartPointer< IPreferences > GetSystemPreferences()=0
berry::IPreferences::WeakPtr m_DataManagerHotkeysPreferencesNode
The node from which the properties are taken (will be catched from the preferences service in ctor) ...
SmartPointer< ObjectType > Lock() const
std::map< QString, QmitkHotkeyLineEdit * > m_HotkeyEditors
Maps a label to hotkey lineedit, e.g. "Toggle Visibility of selected nodes" => QmitkHotkeyLineEdit.
QmitkDataManagerHotkeysPrefPage()
void CreateQtControl(QWidget *parent) override
QWidget * GetQtControl() const override
void Init(berry::IWorkbench::Pointer workbench) override