[Pymoul-svn] SF.net SVN: pymoul: [190] pymoul/trunk/src/moul
Status: Alpha
Brought to you by:
tiran
|
From: <ti...@us...> - 2007-02-24 19:45:38
|
Revision: 190
http://pymoul.svn.sourceforge.net/pymoul/?rev=190&view=rev
Author: tiran
Date: 2007-02-24 11:45:36 -0800 (Sat, 24 Feb 2007)
Log Message:
-----------
Ping tab changed to use QTableWidget
Modified Paths:
--------------
pymoul/trunk/src/moul/qt/mainwindow.py
pymoul/trunk/src/moul/qt/ui/mainwindow.py
pymoul/trunk/src/moul/qt/ui/mainwindow.ui
pymoul/trunk/src/moul/server/serverlist.py
Modified: pymoul/trunk/src/moul/qt/mainwindow.py
===================================================================
--- pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-23 18:34:10 UTC (rev 189)
+++ pymoul/trunk/src/moul/qt/mainwindow.py 2007-02-24 19:45:36 UTC (rev 190)
@@ -386,48 +386,80 @@
"""
init ping tab
"""
+ header = self.tw_ping.horizontalHeader()
+ header.setResizeMode(QtGui.QHeaderView.Fixed)
+ header.setResizeMode(0, QtGui.QHeaderView.Stretch)
+ self.tw_ping.setColumnCount(3)
+
self._ping_thread = thread = PingServerThread()
-
+
self.connect(thread, SIGNAL("started()"),
self.on_pingthread_started)
self.connect(thread, SIGNAL("finished()"),
self.on_pingthread_done)
- self.connect(thread, SIGNAL("server(const QString&)"),
+ self.connect(thread, SIGNAL("server(int, const QString&)"),
self.on_pingthread_server)
- self.connect(thread, SIGNAL("dnserror(const QString&, int, const QString&)"),
+ self.connect(thread, SIGNAL("dnserror(int, int, const QString &)"),
self.on_pingthread_dnserror)
- self.connect(thread, SIGNAL("dns(const QString&, float)"),
+ self.connect(thread, SIGNAL("dns(int, float)"),
self.on_pingthread_dns)
- self.connect(thread, SIGNAL("pingerror(const QString&, int, const QString&)"),
+ self.connect(thread, SIGNAL("pingerror(int, int, const QString &)"),
self.on_pingthread_pingerror)
- self.connect(thread, SIGNAL("ping(const QString&, float)"),
+ self.connect(thread, SIGNAL("ping(int, float)"),
self.on_pingthread_ping)
def on_pingthread_started(self):
self.button_ping.setEnabled(False)
- self.tb_ping_view.clear()
+ self.tw_ping.clearContents()
def on_pingthread_done(self):
self.button_ping.setEnabled(True)
- def on_pingthread_server(self, name):
- pass
- #self.tb_ping_view.insertPlainText("%s ... " % name)
+ def on_pingthread_server(self, i, name):
+ row = self.tw_ping.rowCount()
+ if row < (i+1):
+ self.tw_ping.setRowCount(i + 1)
- def on_pingthread_dns(self, name, time):
- self.tb_ping_view.insertPlainText("%s ... DNS: %0.3f " % (name, time))
+ proto = QtGui.QTableWidgetItem()
+ font = QtGui.QFont()
+ font.setPointSize(7)
+ proto.setFont(font)
+ proto.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
- def on_pingthread_ping(self, name, time):
- self.tb_ping_view.insertPlainText("PING: %0.3f\n" % time)
+ header = QtGui.QTableWidgetItem(proto)
+ header.setText(QtCore.QString.number(row + 1))
- def on_pingthread_dnserror(self, name, errcode, errmsg):
- LOG.error('dns error: %s, %i, %s' % (name, errcode, errmsg))
- self.tb_ping_view.insertPlainText("%s ... DNS error: %s\n" % (name, errmsg))
+ item0 = QtGui.QTableWidgetItem(proto)
+ item0.setText(name)
- def on_pingthread_pingerror(self, name, errcode, errmsg):
- LOG.error('ping error: %s, %i, %s' % (name, errcode, errmsg))
- self.tb_ping_view.insertPlainText("PING error: %s\n" % errmsg)
+ self.tw_ping.setVerticalHeaderItem(i, header)
+ self.tw_ping.setItem(i, 0, item0)
+ self.tw_ping.setItem(i, 1, QtGui.QTableWidgetItem(proto))
+ self.tw_ping.setItem(i, 2, QtGui.QTableWidgetItem(proto))
+ self.tw_ping.resizeRowsToContents()
+ def on_pingthread_dns(self, i, time):
+ item = self.tw_ping.item(i, 1)
+ item.setText("%0.3f" % time)
+
+ def on_pingthread_ping(self, i, time):
+ item = self.tw_ping.item(i, 2)
+ item.setText("%0.3f" % time)
+
+ def on_pingthread_dnserror(self, i, errcode, errmsg):
+ item = self.tw_ping.item(i, 1)
+ item.setForeground(QtGui.QBrush(Qt.red))
+ item.setText(errmsg)
+ item.setToolTip("%s (code: %i)" % (errmsg, errcode))
+ #self.tw_ping.resizeColumnsToContents()
+
+ def on_pingthread_pingerror(self, i, errcode, errmsg):
+ item = self.tw_ping.item(i, 2)
+ item.setForeground(QtGui.QBrush(Qt.red))
+ item.setText(errmsg)
+ item.setToolTip("%s (code: %i)" % (errmsg, errcode))
+ #self.tw_ping.resizeColumnsToContents()
+
@pyqtSignature("bool")
def on_button_ping_clicked(self, ignore=False):
thread = self._ping_thread
@@ -451,26 +483,26 @@
def run(self):
# TODO: thread safety!
# emit a list of names first
- for server in self.servers:
- self.emit(SIGNAL("server(const QString&)"), server.name)
+ for i, server in enumerate(self.servers):
+ self.emit(SIGNAL("server(int, const QString&)"), i, server.name)
- for server in self.servers:
+ for i, server in enumerate(self.servers):
name = server.name
dns = server.dns()
if isSocketError(dns):
errno, msg = fmtSocketError(dns)
- self.emit(SIGNAL("dnserror(const QString&, int, const QString&)"),
- name, errno, msg)
+ self.emit(SIGNAL("dnserror(int, int, const QString &)"),
+ i, errno, msg)
continue
- self.emit(SIGNAL("dns(const QString&, float)"), name, dns)
+ self.emit(SIGNAL("dns(int, float)"), i, dns)
ping = server.portping()
if isSocketError(ping):
- errno, msg = fmtSocketError(dns)
- self.emit(SIGNAL("pingerror(const QString&, int, const QString&)"),
- name, errno, msg)
+ errno, msg = fmtSocketError(ping)
+ self.emit(SIGNAL("pingerror(int, int, const QString &)"),
+ i, errno, msg)
continue
- self.emit(SIGNAL("ping(const QString&, float)"), name, ping)
+ self.emit(SIGNAL("ping(int, float)"), i, ping)
class MoulRunningThread(QtCore.QThread):
def __init__(self, parent=None):
@@ -485,7 +517,7 @@
if not self.isRunning():
self._running = True
self.start()
-
+
def stopChecker(self):
# TODO check this
self._running = False
Modified: pymoul/trunk/src/moul/qt/ui/mainwindow.py
===================================================================
--- pymoul/trunk/src/moul/qt/ui/mainwindow.py 2007-02-23 18:34:10 UTC (rev 189)
+++ pymoul/trunk/src/moul/qt/ui/mainwindow.py 2007-02-24 19:45:36 UTC (rev 190)
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file './src/moul/qt/ui/mainwindow.ui'
#
-# Created: Fri Feb 23 19:22:27 2007
+# Created: Sat Feb 24 20:39:41 2007
# by: PyQt4 UI code generator 4.1.1
#
# WARNING! All changes made in this file will be lost!
@@ -681,11 +681,9 @@
self.button_ping.setGeometry(QtCore.QRect(370,370,75,24))
self.button_ping.setObjectName("button_ping")
- self.tb_ping_view = QtGui.QTextBrowser(self.gb_servers)
- self.tb_ping_view.setGeometry(QtCore.QRect(10,20,431,341))
- self.tb_ping_view.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse)
- self.tb_ping_view.setOpenExternalLinks(True)
- self.tb_ping_view.setObjectName("tb_ping_view")
+ self.tw_ping = QtGui.QTableWidget(self.gb_servers)
+ self.tw_ping.setGeometry(QtCore.QRect(10,20,431,341))
+ self.tw_ping.setObjectName("tw_ping")
self.tabwidget.addTab(self.tab_ping,"")
self.tab_time = QtGui.QWidget()
@@ -1114,7 +1112,7 @@
self.lb_doc_status.setBuddy(self.pb_doc_loadjournals)
self.retranslateUi(MainWindow)
- self.tabwidget.setCurrentIndex(3)
+ self.tabwidget.setCurrentIndex(2)
self.tab_sub_settings.setCurrentIndex(0)
self.tabWidget.setCurrentIndex(0)
self.tabwidget_about.setCurrentIndex(0)
@@ -1175,6 +1173,21 @@
self.tabwidget.setTabText(self.tabwidget.indexOf(self.tab_settings), QtGui.QApplication.translate("MainWindow", "Settings", None, QtGui.QApplication.UnicodeUTF8))
self.gb_servers.setTitle(QtGui.QApplication.translate("MainWindow", "Ping servers", None, QtGui.QApplication.UnicodeUTF8))
self.button_ping.setText(QtGui.QApplication.translate("MainWindow", "Ping", None, QtGui.QApplication.UnicodeUTF8))
+ self.tw_ping.clear()
+ self.tw_ping.setColumnCount(3)
+ self.tw_ping.setRowCount(0)
+
+ headerItem = QtGui.QTableWidgetItem()
+ headerItem.setText(QtGui.QApplication.translate("MainWindow", "Server", None, QtGui.QApplication.UnicodeUTF8))
+ self.tw_ping.setHorizontalHeaderItem(0,headerItem)
+
+ headerItem1 = QtGui.QTableWidgetItem()
+ headerItem1.setText(QtGui.QApplication.translate("MainWindow", "DNS", None, QtGui.QApplication.UnicodeUTF8))
+ self.tw_ping.setHorizontalHeaderItem(1,headerItem1)
+
+ headerItem2 = QtGui.QTableWidgetItem()
+ headerItem2.setText(QtGui.QApplication.translate("MainWindow", "Ping", None, QtGui.QApplication.UnicodeUTF8))
+ self.tw_ping.setHorizontalHeaderItem(2,headerItem2)
self.tabwidget.setTabText(self.tabwidget.indexOf(self.tab_ping), QtGui.QApplication.translate("MainWindow", "Servers", None, QtGui.QApplication.UnicodeUTF8))
self.gb_dnitime.setTitle(QtGui.QApplication.translate("MainWindow", "D\'ni time", None, QtGui.QApplication.UnicodeUTF8))
self.gb_caverntime.setTitle(QtGui.QApplication.translate("MainWindow", "Time zones", None, QtGui.QApplication.UnicodeUTF8))
Modified: pymoul/trunk/src/moul/qt/ui/mainwindow.ui
===================================================================
--- pymoul/trunk/src/moul/qt/ui/mainwindow.ui 2007-02-23 18:34:10 UTC (rev 189)
+++ pymoul/trunk/src/moul/qt/ui/mainwindow.ui 2007-02-24 19:45:36 UTC (rev 190)
@@ -110,7 +110,7 @@
<enum>QTabWidget::North</enum>
</property>
<property name="currentIndex" >
- <number>3</number>
+ <number>2</number>
</property>
<widget class="QWidget" name="tab_tasks" >
<attribute name="title" >
@@ -1464,7 +1464,7 @@
<string>Ping</string>
</property>
</widget>
- <widget class="QTextBrowser" name="tb_ping_view" >
+ <widget class="QTableWidget" name="tw_ping" >
<property name="geometry" >
<rect>
<x>10</x>
@@ -1473,12 +1473,21 @@
<height>341</height>
</rect>
</property>
- <property name="textInteractionFlags" >
- <enum>Qt::TextSelectableByMouse</enum>
- </property>
- <property name="openExternalLinks" >
- <bool>true</bool>
- </property>
+ <column>
+ <property name="text" >
+ <string>Server</string>
+ </property>
+ </column>
+ <column>
+ <property name="text" >
+ <string>DNS</string>
+ </property>
+ </column>
+ <column>
+ <property name="text" >
+ <string>Ping</string>
+ </property>
+ </column>
</widget>
</widget>
</widget>
Modified: pymoul/trunk/src/moul/server/serverlist.py
===================================================================
--- pymoul/trunk/src/moul/server/serverlist.py 2007-02-23 18:34:10 UTC (rev 189)
+++ pymoul/trunk/src/moul/server/serverlist.py 2007-02-24 19:45:36 UTC (rev 190)
@@ -26,6 +26,8 @@
SERVER_LIST = [
'beta-auth.urulive.com',
'beta-file.urulive.com',
+ #'bogus.foo.bar',
+ #'www.mystonline.com',
'uruapp-cw01.ibs.aol.com',
'uruapp-cw02.ibs.aol.com',
'uruapp-cw03.ibs.aol.com',
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|