#include <QResizeEvent>
#include <QHeaderView>
-#include <QSvgWidget>
+#include <QPixmap>
+#include <QLabel>
+#include <QWidget>
+#include <QSettings>
+
#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")
+ : QTableWidget(0, 2, parent)
{
verticalHeader()->setVisible(false);
horizontalHeader()->setVisible(false);
{
}
+QWidget *RemoteTable::selectRatingWidget(int rating)
+{
+ QSettings settings;
+ QLabel *label = new QLabel;
+ QPixmap pix;
+ if (rating < -45) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "down_5_thumbs.png");
+ } else if (rating < -25) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "down_4_thumbs.png");
+ } else if (rating < -12) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "down_3_thumbs.png");
+ } else if (rating < -5) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "down_2_thumbs.png");
+ } else if (rating < 0) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "down_1_thumbs.png");
+ } else if (rating == 0) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "0_thumbs.png");
+ } else if (rating < 5) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "up_1_thumbs.png");
+ } else if (rating < 12) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "up_2_thumbs.png");
+ } else if (rating < 25) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "up_3_thumbs.png");
+ } else if (rating < 45) {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "up_4_thumbs.png");
+ } else {
+ pix = QPixmap(settings.value("symbolPath", "/usr/share/irwi/symbols/").toString() + "up_5_thumbs.png");
+ }
+
+ label->setPixmap(pix);
+ return label;
+}
+
void RemoteTable::addItem(Remote *remote)
{
if (remote == NULL) {
remotes[currentRow] = remote;
QString key = remote->name();
- QWidget *ratingWidget = NULL;
- if (remote->rating() > 5) {
- ratingWidget = new QSvgWidget(thumbsUp);
- } else {
- ratingWidget = new QSvgWidget(thumbsDown);
- }
+ QWidget *ratingWidget = selectRatingWidget(remote->rating());
QTableWidgetItem *k = new QTableWidgetItem(key);
k->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
insertRow(currentRow);
setRowCount(0);
remotes.clear();
}
-/*
+
void RemoteTable::resizeEvent(QResizeEvent *e)
{
- setColumnWidth(0, (2 * e->size().width() / 3) - 10);
- setColumnWidth(1, (e->size().width() / 3) - 10);
+ setColumnWidth(0, e->size().width() - 148);
+ setColumnWidth(1, 128);
}
-*/
layout = new QHBoxLayout(this);
alphabetList = new QListWidget(this);
- alphabetList->setMaximumWidth(96);
+ alphabetList->setMaximumWidth(64);
layout->addWidget(alphabetList);
connect(alphabetList,
SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
SLOT(alphabetItemChanged(QListWidgetItem*, QListWidgetItem*)));
mfgList = new QListWidget(this);
+ mfgList->setMaximumWidth(192);
layout->addWidget(mfgList);
connect(mfgList,
SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
m_selectRemoteBtn = new QPushButton(tr("Select remote"), this);
m_aboutBtn = new QPushButton(tr("About"), this);
m_rateUpBtn = new QPushButton(
- QIcon(settings.value("rateUpIcon",
- "/usr/share/icons/hicolor/48x48/hildon/chat_smiley_happy.png").
- toString()),
+ QIcon(settings.value("symbolPath",
+ "/usr/share/irwi/symbols/").
+ toString() + "symbol_thumbs_up.png"),
"", this);
m_rateDownBtn = new QPushButton(
- QIcon(settings.value("rateDownIcon",
- "/usr/share/icons/hicolor/48x48/hildon/chat_smiley_sad.png").
- toString()),
+ QIcon(settings.value("symbolPath",
+ "/usr/share/irwi/symbols/").
+ toString() + "symbol_thumbs_down.png"),
"", this);
m_rateUpBtn->setMaximumSize(72, 72);
m_rateDownBtn->setMaximumSize(72, 72);