refs #198 , changed keyboardkey classes so they can be initialized either by read settings or default values

This commit is contained in:
Klaus Basan
2014-04-01 12:18:11 +02:00
parent 6327c3a1cb
commit f3148fdd49
3 changed files with 27 additions and 10 deletions

View File

@@ -27,7 +27,7 @@ namespace BlackGui
//! \copydoc CListModelBase::data
QVariant data(const QModelIndex &modelIndex, int role = Qt::DisplayRole) const override;
//! \copydoc BlackMisc::Hardware::CKeyboardKeyList::initAsHotkeyList
//! \copydoc CKeyboardKeyList::initAsHotkeyList(bool reset)
void initAsHotkeyList() { this->m_container.initAsHotkeyList(); }
//! \copydoc QAbstractTableModel::setData

View File

@@ -22,6 +22,14 @@ namespace BlackMisc
CSequence<CKeyboardKey>(baseClass)
{ }
/*
* Contains this hotkey function?
*/
bool CKeyboardKeyList::containsFunction(CKeyboardKey::HotkeyFunction key)
{
return CSequence::contains(&CKeyboardKey::getFunction, key);
}
/*
* Register metadata
*/
@@ -35,14 +43,17 @@ namespace BlackMisc
qDBusRegisterMetaType<CKeyboardKeyList>();
}
void CKeyboardKeyList::initAsHotkeyList()
/*
* Hotkey list
*/
void CKeyboardKeyList::initAsHotkeyList(bool reset)
{
this->clear();
this->push_back(CKeyboardKey(CKeyboardKey::HotkeyPtt));
this->push_back(CKeyboardKey(CKeyboardKey::HotkeyOpacity50));
this->push_back(CKeyboardKey(CKeyboardKey::HotkeyOpacity100));
this->push_back(CKeyboardKey(CKeyboardKey::HotkeyToggleCom1));
this->push_back(CKeyboardKey(CKeyboardKey::HotkeyToggleCom2));
if (reset) this->clear();
if (!this->containsFunction(CKeyboardKey::HotkeyPtt)) this->push_back(CKeyboardKey(CKeyboardKey::HotkeyPtt));
if (!this->containsFunction(CKeyboardKey::HotkeyOpacity50)) this->push_back(CKeyboardKey(CKeyboardKey::HotkeyOpacity50));
if (!this->containsFunction(CKeyboardKey::HotkeyOpacity100)) this->push_back(CKeyboardKey(CKeyboardKey::HotkeyOpacity100));
if (!this->containsFunction(CKeyboardKey::HotkeyToggleCom1)) this->push_back(CKeyboardKey(CKeyboardKey::HotkeyToggleCom1));
if (!this->containsFunction(CKeyboardKey::HotkeyToggleCom2)) this->push_back(CKeyboardKey(CKeyboardKey::HotkeyToggleCom2));
}
} // namespace

View File

@@ -37,11 +37,17 @@ namespace BlackMisc
return QVariant::fromValue(*this);
}
//! \brief contains given hotkey function?
bool containsFunction(CKeyboardKey::HotkeyFunction key);
//! \brief Register metadata
static void registerMetadata();
//! \brief Fill the list with hotkey
void initAsHotkeyList();
/*!
* \brief Fill the list with hotkeys
* \param reset true, list will be be reset, otherwise value will not be overridde
*/
void initAsHotkeyList(bool reset = true);
};
} //namespace