23 #include "wadseekersitestable.h"
25 #include <QHeaderView>
26 #include <QProgressBar>
29 WadseekerSitesTable::WadseekerSitesTable(QWidget* pParent)
32 d.bAlreadyShownOnce =
false;
35 void WadseekerSitesTable::addUrl(
const QUrl& url)
38 if (findUrlRow(url) < 0)
40 insertRow(rowCount());
41 int rowIndex = rowCount() - 1;
44 setSortingEnabled(
false);
46 QProgressBar* pBar =
new QProgressBar();
47 pBar->setAlignment(Qt::AlignCenter);
51 setItem(rowIndex, IDX_URL_COLUMN,
new QTableWidgetItem(url.toString()));
52 setCellWidget(rowIndex, IDX_PROGRESS_COLUMN, pBar);
54 setSortingEnabled(
true);
58 int WadseekerSitesTable::findUrlRow(
const QUrl& url)
60 QList<QTableWidgetItem *> list = findItems(url.toString(), Qt::MatchFixedString);
63 return list.first()->row();
69 void WadseekerSitesTable::removeUrl(
const QUrl& url)
71 int row = findUrlRow(url);
79 void WadseekerSitesTable::setUrlProgress(
const QUrl& url, qint64 current, qint64 total)
81 int row = findUrlRow(url);
85 QProgressBar* pBar = (QProgressBar*) this->cellWidget(row, IDX_PROGRESS_COLUMN);
86 pBar->setMaximum(total);
87 pBar->setValue(current);
91 void WadseekerSitesTable::showEvent(QShowEvent* pEvent)
93 if (!d.bAlreadyShownOnce)
97 QHeaderView* pHeader = horizontalHeader();
100 pHeader->setResizeMode(IDX_URL_COLUMN, QHeaderView::Stretch);
102 pHeader->resizeSection(IDX_PROGRESS_COLUMN, 85);