[Turqstat-commits] [SCM] Turquoise SuperStat - http://www.softwolves.pp.se/sw/software/turquoise branch, xturqstat-win32, updated. release-3.0-2-8-g9d9d340
Peter Karlsson
peter at softwolves.pp.se
Sat Mar 22 23:53:31 UTC 2008
The following commit has been merged in the xturqstat-win32 branch:
commit f75b0aa7ef3d9113d4ac7765fe1055e8723e6867
Author: Peter Karlsson <peter at softwolves.pp.se>
Date: Sun Mar 23 00:21:52 2008 +0100
Further porting to Qt 4.
Compiles, but not tested run-time.
diff --git a/outputqt.cpp b/outputqt.cpp
index 66e382c..110ac2f 100644
--- a/outputqt.cpp
+++ b/outputqt.cpp
@@ -52,8 +52,8 @@ void TDisplay::SetMessagesTotal(int number)
{
QProgressDialog *p =
InfoWindow::getMainWindow()->getProgressDialog(maximum);
- p->setTotalSteps(number);
- p->setProgress(0);
+ p->setMaximum(number);
+ p->setValue(0);
}
}
@@ -63,7 +63,7 @@ void TDisplay::UpdateProgress(int messages)
{
QProgressDialog *p =
InfoWindow::getMainWindow()->getProgressDialog(maximum);
- p->setProgress(messages);
+ p->setValue(messages);
}
else
{
diff --git a/qtgui.cpp b/qtgui.cpp
index 46ac4e5..f8ea081 100644
--- a/qtgui.cpp
+++ b/qtgui.cpp
@@ -279,7 +279,7 @@ ProgressText *InfoWindow::getProgressText()
}
m_progresstext_p =
- new ProgressText(this, "progress2",
+ new ProgressText(this,
m_hasnews ? tr("Reading news group")
: tr("Reading message base"));
m_progresstext_p->setWindowTitle("Turquoise SuperStat");
@@ -548,7 +548,7 @@ void InfoWindow::update()
void InfoWindow::quotelist()
{
TopListWindow *quotedialog =
- new TopListWindow(this, "quotelist", TopListWindow::Quoters);
+ new TopListWindow(this, TopListWindow::Quoters);
if (quotedialog)
{
quotedialog->fillOut(m_engine_p);
@@ -559,7 +559,7 @@ void InfoWindow::quotelist()
void InfoWindow::senderlist()
{
TopListWindow *senderdialog =
- new TopListWindow(this, "senderlist", TopListWindow::Senders);
+ new TopListWindow(this, TopListWindow::Senders);
if (senderdialog)
{
senderdialog->fillOut(m_engine_p);
@@ -570,7 +570,7 @@ void InfoWindow::senderlist()
void InfoWindow::contentlist()
{
TopListWindow *contentdialog =
- new TopListWindow(this, "contentlist", TopListWindow::OrigContent);
+ new TopListWindow(this, TopListWindow::OrigContent);
if (contentdialog)
{
contentdialog->fillOut(m_engine_p);
@@ -581,7 +581,7 @@ void InfoWindow::contentlist()
void InfoWindow::fidonetlist()
{
TopListWindow *fidonetsdialog =
- new TopListWindow(this, "netlist", TopListWindow::FidoNets);
+ new TopListWindow(this, TopListWindow::FidoNets);
if (fidonetsdialog)
{
fidonetsdialog->fillOut(m_engine_p);
@@ -592,7 +592,7 @@ void InfoWindow::fidonetlist()
void InfoWindow::domainlist()
{
TopListWindow *domaindialog =
- new TopListWindow(this, "domainlist", TopListWindow::Domains);
+ new TopListWindow(this, TopListWindow::Domains);
if (domaindialog)
{
domaindialog->fillOut(m_engine_p);
@@ -603,7 +603,7 @@ void InfoWindow::domainlist()
void InfoWindow::receiverlist()
{
TopListWindow *receiverdialog =
- new TopListWindow(this, "receiverlist", TopListWindow::Receivers);
+ new TopListWindow(this, TopListWindow::Receivers);
if (receiverdialog)
{
receiverdialog->fillOut(m_engine_p);
@@ -614,7 +614,7 @@ void InfoWindow::receiverlist()
void InfoWindow::subjectlist()
{
TopListWindow *subjectdialog =
- new TopListWindow(this, "subjectlist", TopListWindow::Subjects);
+ new TopListWindow(this, TopListWindow::Subjects);
if (subjectdialog)
{
subjectdialog->fillOut(m_engine_p);
@@ -625,7 +625,7 @@ void InfoWindow::subjectlist()
void InfoWindow::softwarelist()
{
TopListWindow *softwaredialog =
- new TopListWindow(this, "softwaredialog", TopListWindow::Software);
+ new TopListWindow(this, TopListWindow::Software);
if (softwaredialog)
{
softwaredialog->fillOut(m_engine_p);
@@ -668,7 +668,7 @@ void InfoWindow::clear()
void InfoWindow::report()
{
ReportSelectWindow *reportwindow =
- new ReportSelectWindow(this, "reportselect", m_engine_p);
+ new ReportSelectWindow(this, m_engine_p);
reportwindow->exec();
}
diff --git a/qtlist.cpp b/qtlist.cpp
index 3d6819e..7ac4e81 100644
--- a/qtlist.cpp
+++ b/qtlist.cpp
@@ -15,7 +15,7 @@
#include <config.h>
-#include <qlistview.h>
+#include <qtreewidget.h>
#include <qpushbutton.h>
#include <qstring.h>
#include <qlayout.h>
@@ -28,26 +28,23 @@
#include "qtlist.h"
#include "statengine.h"
-TopListWindow::TopListWindow(QWidget *parent, const char *name, toplist_e list)
- : QDialog(parent, name), toplist(list)
+TopListWindow::TopListWindow(QWidget *parent, toplist_e list)
+ : QDialog(parent), toplist(list)
{
// Create layout
- QVBoxLayout *layout = new QVBoxLayout(this);
+ QGridLayout *layout_p = new QGridLayout(this);
// Create list view
- m_listview_p = new QListView(this, "toplistview");
- m_listview_p->setSorting(-1);
- layout->addWidget(m_listview_p);
+ m_treeview_p = new QTreeWidget(this);
+ layout_p->addWidget(m_treeview_p, 0, 0, 0, 2);
// Add buttons
- QHBoxLayout *buttonlayout = new QHBoxLayout(layout);
-
QPushButton *ok = new QPushButton(tr("Dismiss"), this);
- buttonlayout->addWidget(ok);
+ layout_p->addWidget(ok, 1, 0);
connect(ok, SIGNAL(clicked()), SLOT(accept()));
QPushButton *save = new QPushButton(tr("&Save"), this);
- buttonlayout->addWidget(save);
+ layout_p->addWidget(save, 1, 1);
connect(save, SIGNAL(clicked()), SLOT(saveToFile()));
}
@@ -57,49 +54,49 @@ TopListWindow::~TopListWindow()
void TopListWindow::fillOut(StatEngine *engine)
{
- if (!engine || !m_listview_p) return;
+ if (!engine || !m_treeview_p) return;
setupHeaders();
switch (toplist)
{
case Quoters:
- setCaption(tr("Quoters"));
+ setWindowTitle(tr("Quoters"));
addQuoters(engine);
break;
case Senders:
- setCaption(tr("Senders"));
+ setWindowTitle(tr("Senders"));
addSenders(engine);
break;
case OrigContent:
- setCaption(tr("Original content per message"));
+ setWindowTitle(tr("Original content per message"));
addOriginalContent(engine);
break;
case FidoNets:
- setCaption(tr("Fidonet nets"));
+ setWindowTitle(tr("Fidonet nets"));
addFidoNets(engine);
break;
case Domains:
- setCaption(tr("Internet topdomains"));
+ setWindowTitle(tr("Internet topdomains"));
addDomains(engine);
break;
case Receivers:
- setCaption(tr("Receivers"));
+ setWindowTitle(tr("Receivers"));
addReceivers(engine);
break;
case Subjects:
- setCaption(tr("Subjects"));
+ setWindowTitle(tr("Subjects"));
addSubjects(engine);
break;
case Software:
- setCaption(tr("Software"));
+ setWindowTitle(tr("Software"));
addSoftware(engine);
break;
}
@@ -107,60 +104,68 @@ void TopListWindow::fillOut(StatEngine *engine)
void TopListWindow::setupHeaders()
{
- m_listview_p->addColumn(tr("Place"));
+ int column = 0;
+ QTreeWidgetItem *header_p = new QTreeWidgetItem(m_treeview_p);
+ if (!header_p)
+ return;
+ // Create headers, counting them as we go along
if (Quoters == toplist || Senders == toplist || OrigContent == toplist ||
Receivers == toplist)
- m_listview_p->addColumn(tr("Name"));
+ header_p->setText(column ++, tr("Name"));
if (OrigContent == toplist)
- m_listview_p->addColumn(tr("Original content"));
+ header_p->setText(column ++, tr("Original content"));
if (FidoNets == toplist)
- m_listview_p->addColumn(tr("Zone:Net"));
+ header_p->setText(column ++, tr("Zone:Net"));
if (Domains == toplist)
- m_listview_p->addColumn(tr("Domain"));
+ header_p->setText(column ++, tr("Domain"));
if (Subjects == toplist)
- m_listview_p->addColumn(tr("Subject"));
+ header_p->setText(column ++, tr("Subject"));
if (Software == toplist)
- m_listview_p->addColumn(tr("Program"));
+ header_p->setText(column ++, tr("Program"));
if (Quoters == toplist || Senders == toplist || OrigContent == toplist ||
FidoNets == toplist || Domains == toplist || Subjects == toplist ||
Software == toplist)
- m_listview_p->addColumn(tr("Messages"));
+ header_p->setText(column ++, tr("Messages"));
if (Receivers == toplist)
{
- m_listview_p->addColumn(tr("Received"));
- m_listview_p->addColumn(tr("Sent"));
+ header_p->setText(column ++, tr("Received"));
+ header_p->setText(column ++, tr("Sent"));
}
if (Senders == toplist || FidoNets == toplist || Domains == toplist ||
Subjects == toplist)
- m_listview_p->addColumn(tr("Bytes"));
+ header_p->setText(column ++, tr("Bytes"));
if (Senders == toplist)
- m_listview_p->addColumn(tr("Lines"));
+ header_p->setText(column ++, tr("Lines"));
if (Quoters == toplist || Senders == toplist)
- m_listview_p->addColumn(tr("Quote ratio"));
+ header_p->setText(column ++, tr("Quote ratio"));
if (Receivers == toplist)
- m_listview_p->addColumn(tr("Ratio"));
+ header_p->setText(column ++, tr("Ratio"));
if (OrigContent == toplist)
- m_listview_p->addColumn(tr("Per Message"));
+ header_p->setText(column ++, tr("Per Message"));
+
+ // Set up the tree view, and add the header
+ m_treeview_p->setColumnCount(column);
+ m_treeview_p->setHeaderItem(header_p);
}
void TopListWindow::addQuoters(StatEngine *engine)
{
unsigned place = 1;
bool restart = true;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
StatEngine::persstat_s data;
while (engine->GetTopQuoters(restart, data))
@@ -174,12 +179,13 @@ void TopListWindow::addQuoters(StatEngine *engine)
else
tmp = data.address.c_str();
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- tmp, QString::number(data.messageswritten),
- percentString(data.bytesquoted,
- data.byteswritten));
- previous = item;
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, tmp);
+ item_p->setText(2, QString::number(data.messageswritten));
+ item_p->setText(3, percentString(data.bytesquoted, data.byteswritten));
+
+ previous_p = item_p;
}
restart = false;
}
@@ -191,7 +197,7 @@ void TopListWindow::addSenders(StatEngine *engine)
{
unsigned place = 1;
bool restart = true;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
StatEngine::persstat_s data;
while (engine->GetTopWriters(restart, data))
@@ -205,17 +211,18 @@ void TopListWindow::addSenders(StatEngine *engine)
else
tmp = data.address.c_str();
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- tmp, QString::number(data.messageswritten),
- QString::number(data.byteswritten),
- QString::number(data.lineswritten),
- (data.bytesquoted > 0
- ? percentString(data.bytesquoted,
- data.byteswritten)
- : tr("N/A")));
-
- previous = item;
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, tmp);
+ item_p->setText(2, QString::number(data.messageswritten));
+ item_p->setText(3, QString::number(data.byteswritten));
+ item_p->setText(4, QString::number(data.lineswritten));
+ item_p->setText(5, (data.bytesquoted > 0
+ ? percentString(data.bytesquoted,
+ data.byteswritten)
+ : tr("N/A")));
+
+ previous_p = item_p;
restart = false;
}
@@ -226,7 +233,7 @@ void TopListWindow::addOriginalContent(StatEngine *engine)
{
unsigned place = 1;
bool restart = true;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
StatEngine::persstat_s data;
while (engine->GetTopOriginalPerMsg(restart, data))
@@ -247,14 +254,14 @@ void TopListWindow::addOriginalContent(StatEngine *engine)
unsigned originalpermsg =
(data.byteswritten - data.bytesquoted) / data.messageswritten;
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, tmp);
+ item_p->setText(2, QString::number(data.byteswritten - data.bytesquoted));
+ item_p->setText(3, QString::number(data.messageswritten));
+ item_p->setText(4, QString::number(originalpermsg));
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- tmp, QString::number(data.byteswritten -
- data.bytesquoted),
- QString::number(data.messageswritten),
- QString::number(originalpermsg));
- previous = item;
+ previous_p = item_p;
}
engine->DoneTopPeople();
@@ -264,18 +271,18 @@ void TopListWindow::addFidoNets(StatEngine *engine)
{
unsigned place = 1;
bool restart = true;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
StatEngine::netstat_s data;
while (engine->GetTopNets(restart, data))
{
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- QString::number(data.zone) + ":" +
- QString::number(data.net),
- QString::number(data.messages),
- QString::number(data.bytes));
- previous = item;
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, QString::number(data.zone) + ":" + QString::number(data.net));
+ item_p->setText(2, QString::number(data.messages));
+ item_p->setText(3, QString::number(data.bytes));
+
+ previous_p = item_p;
restart = false;
}
@@ -286,18 +293,18 @@ void TopListWindow::addDomains(StatEngine *engine)
{
unsigned place = 1;
bool restart = true;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
StatEngine::domainstat_s data;
while (engine->GetTopDomains(restart, data))
{
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- data.topdomain.c_str(),
- QString::number(data.messages),
- QString::number(data.bytes));
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, data.topdomain.c_str());
+ item_p->setText(2, QString::number(data.messages));
+ item_p->setText(3, QString::number(data.bytes));
- previous = item;
+ previous_p = item_p;
restart = false;
}
@@ -308,7 +315,7 @@ void TopListWindow::addReceivers(StatEngine *engine)
{
unsigned place = 1;
bool restart = true;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
StatEngine::persstat_s data;
while (engine->GetTopReceivers(restart, data))
@@ -321,16 +328,17 @@ void TopListWindow::addReceivers(StatEngine *engine)
else
tmp = tr("(none)");
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- tmp, QString::number(data.messagesreceived),
- QString::number(data.messageswritten),
- (data.messageswritten
- ? QString::number((100 * data.messagesreceived)
- / data.messageswritten) + "%"
- : tr("N/A")));
-
- previous = item;
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, tmp);
+ item_p->setText(2, QString::number(data.messagesreceived));
+ item_p->setText(3, QString::number(data.messageswritten));
+ item_p->setText(4, (data.messageswritten
+ ? QString::number((100 * data.messagesreceived)
+ / data.messageswritten) + "%"
+ : tr("N/A")));
+
+ previous_p = item_p;
restart = false;
}
@@ -342,7 +350,7 @@ void TopListWindow::addSubjects(StatEngine *engine)
unsigned place = 1;
bool restart = true;
StatEngine::subjstat_s data;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
while (engine->GetTopSubjects(restart, data))
{
@@ -352,12 +360,13 @@ void TopListWindow::addSubjects(StatEngine *engine)
else
tmp = tr("(none)");
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- tmp, QString::number(data.count),
- QString::number(data.bytes));
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, tmp);
+ item_p->setText(2, QString::number(data.count));
+ item_p->setText(3, QString::number(data.bytes));
- previous = item;
+ previous_p = item_p;
restart = false;
}
@@ -368,7 +377,7 @@ void TopListWindow::addSoftware(StatEngine *engine)
{
unsigned place = 1;
bool restart = true;
- QListViewItem *previous = NULL;
+ QTreeWidgetItem *previous_p = NULL;
StatEngine::progstat_s data;
while (engine->GetTopPrograms(restart, data))
@@ -379,12 +388,12 @@ void TopListWindow::addSoftware(StatEngine *engine)
else
tmp = tr("(none)");
- QListViewItem *item =
- new QListViewItem(m_listview_p, previous, QString::number(place ++),
- tmp, QString::number(data.count));
-
+ QTreeWidgetItem *item_p = new QTreeWidgetItem(m_treeview_p, previous_p);
+ item_p->setText(0, QString::number(place ++));
+ item_p->setText(1, tmp);
+ item_p->setText(2, QString::number(data.count));
- previous = item;
+ previous_p = item_p;
restart = false;
}
@@ -415,8 +424,8 @@ QString TopListWindow::percentString(int numerator, int denumerator)
void TopListWindow::saveToFile()
{
- int numentries = m_listview_p->childCount();
- int numcolumns = m_listview_p->columns();
+ int numentries = m_treeview_p->topLevelItemCount();
+ int numcolumns = m_treeview_p->columnCount();
if (0 == numentries || 0 == numcolumns)
{
QMessageBox::warning(this, "Turquoise SuperStat",
@@ -437,13 +446,10 @@ void TopListWindow::saveToFile()
tr("Tab separated file (*.tsv)")
};
- QFileDialog filedialog(QString::null,
- filter[0] + ";;" + filter[1] + ";;" + filter[2] +
- ";;" + filter[3],
- this, "savefile", true);
- filedialog.setMode(QFileDialog::AnyFile);
- filedialog.setCaption(tr("Save toplist"));
- filedialog.setShowHiddenFiles(false);
+ QFileDialog filedialog(this, tr("Save toplist"), QString(),
+ filter[0] + ";;" + filter[1] + ";;" + filter[2] +
+ ";;" + filter[3]);
+ filedialog.setFileMode(QFileDialog::AnyFile);
if (filedialog.exec() != QDialog::Accepted)
{
return;
@@ -460,59 +466,62 @@ void TopListWindow::saveToFile()
}
// Create the file
- QFile output(filedialog.selectedFile());
- if (!output.open(IO_WriteOnly | IO_Translate))
+ QFile output(filedialog.selectedFiles().at(0));
+ if (!output.open(QIODevice::WriteOnly | QIODevice::Text))
{
- QMessageBox::warning(this, filedialog.selectedFile(),
+ QMessageBox::warning(this, filedialog.selectedFiles().at(0),
tr("Unable to create the selected file"));
return;
}
// Select output format
QString format;
- unsigned *columnwidth = NULL;
+ int *columnwidth_p = NULL;
if (PLAINTEXT == filternum)
{
// TODO: Give the user some option to edit this...
- columnwidth = new unsigned[numcolumns - 1];
+ columnwidth_p = new int[numcolumns - 1];
for (int i = 0; i < numcolumns; i ++)
{
- columnwidth[i] = 1;
+ columnwidth_p[i] = 1;
}
// Traverse the list and find the widest element of each column
- QListViewItem *current = m_listview_p->firstChild();
for (int i = 0; i < numentries; i ++)
{
- for (int j = 0; j < numcolumns - 1; j ++)
- {
- if (current->text(j).length() >= columnwidth[j])
- {
- columnwidth[j] = current->text(j).length() + 1;
- }
- }
- current = current->nextSibling();
+ QTreeWidgetItem *current_p = m_treeview_p->topLevelItem(i);
+ if (current_p)
+ {
+ for (int j = 0; j < numcolumns - 1; j ++)
+ {
+ if (current_p->text(j).length() >= columnwidth_p[j])
+ {
+ columnwidth_p[j] = current_p->text(j).length() + 1;
+ }
+ }
+ }
}
}
QTextStream out(&output);
// Print the titles
+ QTreeWidgetItem *header_p = m_treeview_p->headerItem();
for (int i = 0; i < numcolumns; i ++)
{
- QString s = m_listview_p->columnText(i);
+ QString s = header_p->text(i);
if (i < numcolumns - 1)
{
switch (filternum)
{
case PLAINTEXT:
- if (s.length() > columnwidth[i])
+ if (s.length() > columnwidth_p[i])
{
- s.truncate(columnwidth[i] - 1);
+ s.truncate(columnwidth_p[i] - 1);
s += '.';
}
else
{
- s = s.leftJustify(columnwidth[i], ' ', true);
+ s = s.leftJustified(columnwidth_p[i], ' ', true);
}
break;
@@ -533,20 +542,23 @@ void TopListWindow::saveToFile()
}
out << endl;
- QListViewItem *current = m_listview_p->firstChild();
// Print the entries
for (int i = 0; i < numentries; i ++)
{
+ QTreeWidgetItem *current_p = m_treeview_p->topLevelItem(i);
+ if (!current_p)
+ continue;
+
for (int j = 0; j < numcolumns; j ++)
{
- QString s = current->text(j);
+ QString s = current_p->text(j);
if (j < numcolumns - 1)
{
switch (filternum)
{
case PLAINTEXT:
- s = s.leftJustify(columnwidth[j], ' ', true);
+ s = s.leftJustified(columnwidth_p[j], ' ', true);
break;
case COMMA:
@@ -568,9 +580,6 @@ void TopListWindow::saveToFile()
out << s;
}
out << endl;
-
- // Go to next item
- current = current->nextSibling();
}
// Done
diff --git a/qtlist.h b/qtlist.h
index b83b3da..5b6a16e 100644
--- a/qtlist.h
+++ b/qtlist.h
@@ -24,7 +24,7 @@
using namespace std;
#endif
-class QListView;
+class QTreeWidget;
class StatEngine;
#if !defined(HAVE_WORKING_WSTRING)
class wstring;
@@ -62,7 +62,7 @@ public:
* @param name Name given to this instance.
* @param list Type of list to display in the window.
*/
- TopListWindow(QWidget *parent, const char *name, toplist_e list);
+ TopListWindow(QWidget *parent, toplist_e list);
/** Standard destructor. */
~TopListWindow();
@@ -102,7 +102,7 @@ protected:
QString percentString(int, int);
/** List view used to display the actual toplist. */
- QListView *m_listview_p;
+ QTreeWidget *m_treeview_p;
/** The kind of toplist associated with this object. */
enum toplist_e toplist;
diff --git a/qtprogress.cpp b/qtprogress.cpp
index 09e0ce4..bfce1aa 100644
--- a/qtprogress.cpp
+++ b/qtprogress.cpp
@@ -20,19 +20,16 @@
#include "qtprogress.h"
-ProgressText::ProgressText(QWidget *parent, const char *name,
- const QString &title)
- : QDialog(parent, name, false)
+ProgressText::ProgressText(QWidget *parent, const QString &title)
+ : QDialog(parent)
{
- // Create vertical layout
- QBoxLayout *vlayout = new QVBoxLayout(this);
- QLabel *t = new QLabel(title, this);
- vlayout->addWidget(t);
+ QGridLayout *layout_p = new QGridLayout(this);
+ QLabel *t_p = new QLabel(title, this);
+ layout_p->addWidget(t_p, 0, 0, 1, 2);
- // Create horizontal layout
- QBoxLayout *hlayout = new QHBoxLayout(vlayout);
+ // Create horizontal layout
m_progress_p = new QLabel("0", this);
- hlayout->addWidget(m_progress_p);
- QLabel *l = new QLabel(tr("message(s) read"), this);
- hlayout->addWidget(l);
+ layout_p->addWidget(m_progress_p, 1, 0);
+ QLabel *l_p = new QLabel(tr("message(s) read"), this);
+ layout_p->addWidget(m_progress_p, 1, 1);
}
diff --git a/qtprogress.h b/qtprogress.h
index 65dcd05..ccdab26 100644
--- a/qtprogress.h
+++ b/qtprogress.h
@@ -40,7 +40,7 @@ public:
* @param name Name given to this instance.
* @param title Title to display in window.
*/
- ProgressText(QWidget *parent, const char *name, const QString &title);
+ ProgressText(QWidget *parent, const QString &title);
/**
* Update the progress indicator.
diff --git a/qtreport.cpp b/qtreport.cpp
index 07d6b7c..4e1b5c2 100644
--- a/qtreport.cpp
+++ b/qtreport.cpp
@@ -24,6 +24,9 @@
#include <qlabel.h>
#include <qlineedit.h>
#include <limits.h>
+#ifdef HAVE_WIN32_GETMODULEFILENAME
+# include <windows.h>
+#endif
#include "qtreport.h"
#include "statview.h"
@@ -49,9 +52,8 @@ int ReportSelectWindow::g_defaultmaxnum = 15;
QString ReportSelectWindow::g_templpath;
Template *ReportSelectWindow::g_template = NULL;
-ReportSelectWindow::ReportSelectWindow(QWidget *parent, const char *name,
- StatEngine *engine_p)
- : QDialog(parent, name, true), m_engine_p(engine_p)
+ReportSelectWindow::ReportSelectWindow(QWidget *parent, StatEngine *engine_p)
+ : QDialog(parent), m_engine_p(engine_p)
{
// Create layout
QVBoxLayout *layout = new QVBoxLayout(this);
@@ -113,7 +115,10 @@ ReportSelectWindow::ReportSelectWindow(QWidget *parent, const char *name,
#endif
// Input boxes
- m_maxnum_p = new QSpinBox(1, INT_MAX, 1, this);
+ m_maxnum_p = new QSpinBox(this);
+ m_maxnum_p->setMinimum(1);
+ m_maxnum_p->setMaximum(INT_MAX);
+ m_maxnum_p->setSingleStep(1);
m_maxnum_p->setValue(g_defaultmaxnum);
m_maxnum_p->setSuffix(tr(" entries"));
layout->addWidget(m_maxnum_p);
@@ -121,20 +126,20 @@ ReportSelectWindow::ReportSelectWindow(QWidget *parent, const char *name,
QLabel *charsetlabel = new QLabel(tr("&Character set for report"), this);
layout->addWidget(charsetlabel);
- m_charset_p = new QComboBox(false, this);
+ m_charset_p = new QComboBox(this);
layout->addWidget(m_charset_p);
charsetlabel->setBuddy(m_charset_p);
CharsetEnumerator charsets(CharsetEnumerator::Usenet);
- const char *charsetname;
- while (NULL != (charsetname = charsets.Next()))
- {
- m_charset_p->insertItem(charsetname);
- if (g_docharset == charsetname)
- {
- m_charset_p->setCurrentItem(m_charset_p->count() - 1);
- }
- }
+ const char *charsetname_p;
+ while (NULL != (charsetname_p = charsets.Next()))
+ {
+ m_charset_p->addItem(charsetname_p);
+ if (g_docharset == charsetname_p)
+ {
+ m_charset_p->setCurrentIndex(m_charset_p->count() - 1);
+ }
+ }
// Template file browser
if (!g_template)
@@ -167,31 +172,29 @@ ReportSelectWindow::ReportSelectWindow(QWidget *parent, const char *name,
g_template = Template::Parse(templatefile, is_error);
if (!is_error)
{
- g_templpath = templatefile;
+ g_templpath.fromStdString(templatefile);
}
}
QLabel *templatelabel = new QLabel(tr("Template file to use"), this);
layout->addWidget(templatelabel);
- QHBoxLayout *filebrowselayout = new QHBoxLayout(layout);
+ QGridLayout *filebrowselayout_p = new QGridLayout(this);
- m_templatefilename_p = new QLineEdit(this, "templatefile");
+ m_templatefilename_p = new QLineEdit(this);
m_templatefilename_p->setReadOnly(true);
m_templatefilename_p->setText(g_templpath);
- filebrowselayout->addWidget(m_templatefilename_p);
+ filebrowselayout_p->addWidget(m_templatefilename_p, 0, 0);
m_filebrowsebutton_p = new QPushButton(tr("&Browse"), this);
- filebrowselayout->addWidget(m_filebrowsebutton_p);
+ filebrowselayout_p->addWidget(m_filebrowsebutton_p, 0, 1);
connect(m_filebrowsebutton_p, SIGNAL(clicked()), SLOT(browseForTemplate()));
// Add buttons
- QHBoxLayout *buttonlayout = new QHBoxLayout(layout);
-
QPushButton *save = new QPushButton(tr("&Save"), this);
- buttonlayout->addWidget(save);
+ filebrowselayout_p->addWidget(save, 1, 0);
connect(save, SIGNAL(clicked()), SLOT(saveToFile()));
QPushButton *ok = new QPushButton(tr("Cancel"), this);
- buttonlayout->addWidget(ok);
+ filebrowselayout_p->addWidget(ok, 1, 1);
connect(ok, SIGNAL(clicked()), SLOT(accept()));
}
@@ -208,10 +211,10 @@ void ReportSelectWindow::saveToFile()
}
// Browse for filename
- QString filename =
- QFileDialog::getSaveFileName(tr("report.txt"),
- tr("Report files (*.txt)"),
- this, "savereport", tr("Save report"));
+ QString filename =
+ QFileDialog::getSaveFileName(this, tr("Save report"),
+ tr("report.txt"),
+ tr("Report files (*.txt)"));
if (filename.isEmpty()) return; // Cancel
// Create view object
@@ -253,11 +256,11 @@ void ReportSelectWindow::saveToFile()
view.ShowVersions(true);
view.ShowAllNums(false);
view.SetMaxEntries(g_defaultmaxnum);
- view.SetCharset(g_docharset.latin1());
+ view.SetCharset(g_docharset.toLatin1());
// Write output
view.SetTemplate(g_template);
- view.CreateReport(m_engine_p, string(filename.local8Bit()));
+ view.CreateReport(m_engine_p, string(filename.toLocal8Bit()));
// Close
accept();
@@ -267,15 +270,15 @@ void ReportSelectWindow::browseForTemplate()
{
// Browse for filename
QString filename =
- QFileDialog::getSaveFileName(g_templpath,
- tr("Template files (*.tpl)"),
- this, "browsefortemplate", tr("Browse for template"));
+ QFileDialog::getOpenFileName(this, tr("Browse for template"),
+ g_templpath,
+ tr("Template files (*.tpl)"));
if (filename.isEmpty()) return; // Cancel
// Load template if possible
bool error = false;
Template *new_template =
- Template::Parse(string(filename.local8Bit()), error);
+ Template::Parse(string(filename.toLocal8Bit()), error);
if (!new_template || error)
{
TDisplay *display = TDisplay::GetOutputObject();
diff --git a/qtreport.h b/qtreport.h
index 27897a9..388b642 100644
--- a/qtreport.h
+++ b/qtreport.h
@@ -43,7 +43,7 @@ public:
* @param name Name given to this instance.
* @param engine_p Pointer to engine containing the statistics.
*/
- ReportSelectWindow(QWidget *parent, const char *name, StatEngine *);
+ ReportSelectWindow(QWidget *parent, StatEngine *);
/** Standard destructor. */
~ReportSelectWindow();
--
Turquoise SuperStat - http://www.softwolves.pp.se/sw/software/turquoise
More information about the Turqstat-commits
mailing list