1 #include <QResizeEvent>
4 #include "remotetable.h"
7 RemoteTable::RemoteTable(QWidget *parent)
8 // Always two columns: Remote name and rating.
9 : QTableWidget(0, 2, parent),
10 thumbsUp("/usr/share/irwi/symbols/symbol_thumbs_up.svg"),
11 thumbsDown("/usr/share/irwi/symbols/symbol_thumbs_down.svg")
13 verticalHeader()->setVisible(false);
14 horizontalHeader()->setVisible(false);
16 setSelectionMode(QAbstractItemView::SingleSelection);
19 RemoteTable::~RemoteTable()
23 void RemoteTable::addItem(Remote *remote)
28 int currentRow = rowCount();
29 remotes[currentRow] = remote;
31 QString key = remote->name();
32 QWidget *ratingWidget = NULL;
33 if (remote->rating() > 5) {
34 ratingWidget = new QSvgWidget(thumbsUp);
36 ratingWidget = new QSvgWidget(thumbsDown);
38 QTableWidgetItem *k = new QTableWidgetItem(key);
39 k->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
40 insertRow(currentRow);
41 setItem(currentRow, 0, k);
42 setCellWidget(currentRow, 1, ratingWidget);
43 verticalHeader()->resizeSection(currentRow, 60);
46 Remote *RemoteTable::selected()
48 QModelIndexList selections = selectedIndexes();
49 if (selections.count() != 1) {
53 return remotes[selections[0].row()];
56 void RemoteTable::removeAllRows()
63 void RemoteTable::resizeEvent(QResizeEvent *e)
65 setColumnWidth(0, (2 * e->size().width() / 3) - 10);
66 setColumnWidth(1, (e->size().width() / 3) - 10);