Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+67
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
*
|
||||
* Helper for editing FunctionKeys
|
||||
*
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
#include "function_keys_edit.h"
|
||||
#include "ui_function_keys_edit.h"
|
||||
|
||||
#include <QKeySequence>
|
||||
#include <QTableWidgetItem>
|
||||
|
||||
namespace SettingsEditor
|
||||
{
|
||||
|
||||
FunctionKeysEdit::FunctionKeysEdit(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
m_ui(new Ui::FunctionKeysEdit)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
// Initialize table
|
||||
m_ui->twKeysEdit->setRowCount(Qt::Key_F12 - Qt::Key_F5 + 1);
|
||||
m_ui->twKeysEdit->resizeColumnToContents(0);
|
||||
for (int i = Qt::Key_F5; i <= Qt::Key_F12; ++i)
|
||||
{
|
||||
QTableWidgetItem *item = new QTableWidgetItem(QKeySequence(i).toString());
|
||||
item->setFlags(Qt::NoItemFlags);
|
||||
m_ui->twKeysEdit->setItem((i - Qt::Key_F5), 0, item);
|
||||
|
||||
item = new QTableWidgetItem(QString());
|
||||
item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsEditable);
|
||||
m_ui->twKeysEdit->setItem((i - Qt::Key_F5), 1, item);
|
||||
}
|
||||
}
|
||||
|
||||
FunctionKeysEdit::~FunctionKeysEdit()
|
||||
{
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
void FunctionKeysEdit::setValue(const QVariant &value)
|
||||
{
|
||||
const QVariantMap map = value.toMap();
|
||||
|
||||
for (auto it = map.cbegin(); it != map.cend(); ++it)
|
||||
m_ui->twKeysEdit->item(it.key().toInt() - Qt::Key_F5, 1)->setText(it.value().toString());
|
||||
}
|
||||
|
||||
QVariant FunctionKeysEdit::value() const
|
||||
{
|
||||
QVariantMap map;
|
||||
|
||||
for (int i = Qt::Key_F5; i <= Qt::Key_F12; ++i)
|
||||
{
|
||||
const auto item = m_ui->twKeysEdit->item((i - Qt::Key_F5), 1);
|
||||
if (!item->text().isEmpty())
|
||||
map.insert(QString::number(i), item->text());
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user