X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fremotetable.cpp;fp=src%2Fremotetable.cpp;h=b27301e587aead4de59c25f45189239716b07814;hb=b7ed6b2adabca3f775e65ba14893eef74f042560;hp=0000000000000000000000000000000000000000;hpb=621f09956bc837b5a5135ebb99fe9e1391bf3163;p=irwi diff --git a/src/remotetable.cpp b/src/remotetable.cpp new file mode 100644 index 0000000..b27301e --- /dev/null +++ b/src/remotetable.cpp @@ -0,0 +1,68 @@ +#include +#include +#include +#include "remotetable.h" +#include "remote.h" + +RemoteTable::RemoteTable(QWidget *parent) + // Always two columns: Remote name and rating. + : QTableWidget(0, 2, parent), + thumbsUp("/usr/share/irwi/symbols/symbol_thumbs_up.svg"), + thumbsDown("/usr/share/irwi/symbols/symbol_thumbs_down.svg") +{ + verticalHeader()->setVisible(false); + horizontalHeader()->setVisible(false); + + setSelectionMode(QAbstractItemView::SingleSelection); +} + +RemoteTable::~RemoteTable() +{ +} + +void RemoteTable::addItem(Remote *remote) +{ + if (remote == NULL) { + return; + } + int currentRow = rowCount(); + remotes[currentRow] = remote; + + QString key = remote->name(); + QWidget *ratingWidget = NULL; + if (remote->rating() > 5) { + ratingWidget = new QSvgWidget(thumbsUp); + } else { + ratingWidget = new QSvgWidget(thumbsDown); + } + QTableWidgetItem *k = new QTableWidgetItem(key); + k->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + insertRow(currentRow); + setItem(currentRow, 0, k); + setCellWidget(currentRow, 1, ratingWidget); + verticalHeader()->resizeSection(currentRow, 60); +} + +Remote *RemoteTable::selected() +{ + QModelIndexList selections = selectedIndexes(); + if (selections.count() != 1) { + return NULL; + } + + return remotes[selections[0].row()]; +} + +void RemoteTable::removeAllRows() +{ + clear(); + setRowCount(0); + remotes.clear(); +} +/* +void RemoteTable::resizeEvent(QResizeEvent *e) +{ + setColumnWidth(0, (2 * e->size().width() / 3) - 10); + setColumnWidth(1, (e->size().width() / 3) - 10); +} +*/