11 #include "processlist.hpp"
12 #include "ui_processlist.h"
14 using namespace Huggle;
16 ProcessList::ProcessList(QWidget *parent) : QDockWidget(parent), ui(new Ui::
ProcessList)
19 ui->tableWidget->setColumnCount(4);
21 header <<
"ID" <<
"Type" <<
"Target" <<
"Status" <<
"Result";
22 ui->tableWidget->setHorizontalHeaderLabels(header);
23 ui->tableWidget->verticalHeader()->setVisible(
false);
24 ui->tableWidget->horizontalHeader()->setSelectionBehavior(QAbstractItemView::SelectRows);
25 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
26 #if QT_VERSION >= 0x050000
28 ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
31 ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
34 ui->tableWidget->setShowGrid(
false);
35 this->Removed =
new QList<ProcessListRemovedItem*> ();
45 int size = ui->tableWidget->rowCount();
46 ui->tableWidget->insertRow(size);
47 ui->tableWidget->setItem(size, 0,
new QTableWidgetItem(QString::number(q->
QueryID())));
50 ui->tableWidget->setItem(size, 3,
new QTableWidgetItem(q->QueryStatusToString()));
54 void ProcessList::Clear()
57 ui->tableWidget->clear();
63 int result = GetItem(q);
81 int query = GetItem(q);
88 ui->tableWidget->setItem(query, 0,
new QTableWidgetItem(QString::number(q->
QueryID())));
91 ui->tableWidget->setItem(query, 3,
new QTableWidgetItem(q->QueryStatusToString()));
95 bool ProcessList::IsExpired(
Query *q)
99 while (i<Removed->count())
101 if ((
unsigned int)Removed->at(i)->GetID() == q->
QueryID())
112 void ProcessList::RemoveExpired()
114 if (Removed->count() == 0)
118 QList<ProcessListRemovedItem*> rm;
120 while (i<Removed->count())
122 if (Removed->at(i)->Expired())
124 rm.append(Removed->at(i));
132 Removed->removeOne(item);
133 int row = this->GetItem(item->GetID());
136 ui->tableWidget->removeRow(row);
143 int ProcessList::GetItem(
Query *q)
147 int size = ui->tableWidget->rowCount();
150 if (ui->tableWidget->item(curr,0)->text() == QString::number(q->
QueryID()))
161 int ProcessList::GetItem(
int Id)
164 int size = ui->tableWidget->rowCount();
167 if (ui->tableWidget->item(curr,0)->text() == QString::number(Id))
176 ProcessList::~ProcessList()
181 ProcessListRemovedItem::ProcessListRemovedItem(
int ID)
184 this->time = QDateTime::currentDateTime();
187 int ProcessListRemovedItem::GetID()
192 bool ProcessListRemovedItem::Expired()
void InsertQuery(Query *q)
Insert a query to process list, the query is automatically removed once it's done.
Removed item that was in the process list.
List of processes in a main window.
static int QueryListTimeLimit
Number of seconds for which the processed queries remain in list of processes.
virtual QString QueryTargetToString()
Return a target of a query.
void UnregisterConsumer(const int consumer)
This function will remove a string which prevent the object from being removed.
void RegisterConsumer(const int consumer)
Registers a consumer.
virtual QString QueryTypeToString()
Convert a type of this query to a string.
void RemoveQuery(Query *q)
Remove a query from list no matter if it finished or not.
Every exception raised by huggle is defined by this class.
bool ContainsQuery(Query *q)
Return true if there is already this in a list.
void UpdateQuery(Query *q)
Update information about query in list.
Query base class for all http queries executed by huggle.