1 #include <QResizeEvent>
3 #include "settingstable.h"
5 SettingsTable::SettingsTable(QWidget *parent)
6 : QTableWidget(0, 2, parent) // Always two columns. Key and value.
8 verticalHeader()->setVisible(false);
9 horizontalHeader()->setVisible(false);
12 SettingsTable::~SettingsTable()
16 void SettingsTable::appendRow(const QString &key, const QString &value)
18 int currentRow = rowCount();
19 QTableWidgetItem *k = new QTableWidgetItem(key);
20 QTableWidgetItem *v = new QTableWidgetItem(value);
21 k->setFlags(Qt::NoItemFlags | Qt::ItemIsEnabled);
22 v->setFlags(Qt::ItemIsEnabled | Qt::ItemIsEditable);
23 insertRow(currentRow);
24 setItem(currentRow, 0, k);
25 setItem(currentRow, 1, v);
26 verticalHeader()->resizeSection(currentRow, 60);
29 void SettingsTable::removeAllRows()
35 void SettingsTable::resizeEvent(QResizeEvent *e)
37 setColumnWidth(0, (e->size().width() / 3) - 10);
38 setColumnWidth(1, (2 * e->size().width() / 3) - 10);
41 QString SettingsTable::key(unsigned int row) const
43 return item(row, 0)->text();
46 QString SettingsTable::value(unsigned int row) const
48 return item(row, 1)->text();