Website updated.
[irwi] / src / settingstable.cpp
1 #include <QResizeEvent>
2 #include <QHeaderView>
3 #include "settingstable.h"
4
5 SettingsTable::SettingsTable(QWidget *parent)
6     : QTableWidget(0, 2, parent) // Always two columns. Key and value.
7 {
8     verticalHeader()->setVisible(false);
9     horizontalHeader()->setVisible(false);
10 }
11
12 SettingsTable::~SettingsTable()
13 {
14 }
15
16 void SettingsTable::appendRow(const QString &key, const QString &value)
17 {
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);
27 }
28
29 void SettingsTable::removeAllRows()
30 {
31     clear();
32     setRowCount(0);
33 }
34
35 void SettingsTable::resizeEvent(QResizeEvent *e)
36 {
37     setColumnWidth(0, (e->size().width() / 3) - 10);
38     setColumnWidth(1, (2 * e->size().width() / 3) - 10);
39 }
40
41 QString SettingsTable::key(unsigned int row) const
42 {
43     return item(row, 0)->text();
44 }
45
46 QString SettingsTable::value(unsigned int row) const
47 {
48     return item(row, 1)->text();
49 }
50