You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.2 KiB
114 lines
4.2 KiB
#!/usr/bin/python
|
|
###########################################################################
|
|
# servertestdialog.py - #
|
|
# ------------------------------ #
|
|
# copyright : (C) 2004 by Simon Edwards #
|
|
# email : simon@simonzone.com #
|
|
# #
|
|
###########################################################################
|
|
# #
|
|
# This program is free software; you can redistribute it and/or modify #
|
|
# it under the terms of the GNU General Public License as published by #
|
|
# the Free Software Foundation; either version 2 of the License, or #
|
|
# (at your option) any later version. #
|
|
# #
|
|
###########################################################################
|
|
from qt import * # Just use Qt for this.
|
|
import os
|
|
import sys
|
|
|
|
############################################################################
|
|
class ServerTestDialog(QDialog):
|
|
def __init__(self):
|
|
QDialog.__init__(self)
|
|
|
|
msec = 10000
|
|
margin = 4
|
|
spacing = 4
|
|
|
|
self.totaltimer = QTimer(self)
|
|
self.updatetimer = QTimer(self)
|
|
self.msectotal = self.msecremaining = msec
|
|
self.updateinterval = 1000
|
|
|
|
self.connect(self.totaltimer, SIGNAL("timeout()"), self.slotInternalTimeout)
|
|
self.connect(self.updatetimer, SIGNAL("timeout()"), self.slotUpdateTime)
|
|
|
|
layout = QHBoxLayout(self)
|
|
# create the widgets
|
|
self.mainwidget = QVBox(self, "mainWidget")
|
|
self.mainwidget.setMargin(margin)
|
|
self.mainwidget.setSpacing(spacing)
|
|
|
|
layout.addWidget(self.mainwidget,1)
|
|
|
|
label = QLabel(self.mainwidget)
|
|
label.setText(i18n("Are these settings acceptable?"))
|
|
QWidget(self.mainwidget)
|
|
|
|
self.timerwidget = QHBox(self.mainwidget, "timerWidget")
|
|
self.timerlabel = QLabel(self.timerwidget)
|
|
self.timerprogress = QProgressBar(self.timerwidget)
|
|
self.timerprogress.setTotalSteps(self.msectotal)
|
|
self.timerprogress.setPercentageVisible(False)
|
|
|
|
hbox = QHBox(self.mainwidget)
|
|
self.okbutton = QPushButton(i18n("Yes"),hbox)
|
|
QWidget(hbox)
|
|
self.cancelbutton = QPushButton(i18n("No"),hbox)
|
|
self.connect(self.okbutton, SIGNAL("clicked()"), self.slotOk)
|
|
self.connect(self.cancelbutton, SIGNAL("clicked()"), self.slotCancel)
|
|
|
|
self.slotUpdateTime(False)
|
|
|
|
def show(self):
|
|
QDialog.show(self)
|
|
self.totaltimer.start(self.msectotal, True)
|
|
self.updatetimer.start(self.updateinterval, False)
|
|
|
|
def exec_loop(self):
|
|
self.totaltimer.start(self.msectotal, True)
|
|
self.updatetimer.start(self.updateinterval, False)
|
|
return QDialog.exec_loop(self)
|
|
|
|
def setRefreshInterval(self, msec):
|
|
self.updateinterval = msec;
|
|
if self.updatetimer.isActive():
|
|
self.updatetimer.changeInterval(self.updateinterval)
|
|
|
|
def timeoutButton(self):
|
|
return self.buttonontimeout
|
|
|
|
def setTimeoutButton(self, newbutton):
|
|
self.buttonontimeout = newbutton
|
|
|
|
def slotUpdateTime(self, update=True):
|
|
self.msecremaining -= self.updateinterval
|
|
|
|
self.timerprogress.setProgress(self.msecremaining)
|
|
self.timerlabel.setText( i18n("Automatically cancelling in %1 seconds:").arg(self.msecremaining/1000.0) )
|
|
|
|
def slotInternalTimeout(self):
|
|
self.reject()
|
|
|
|
def slotOk(self):
|
|
self.accept()
|
|
|
|
def slotCancel(self):
|
|
self.reject()
|
|
############################################################################
|
|
|
|
os.environ["DISPLAY"] = ":9"
|
|
os.environ["XAUTHORITY"] = sys.argv[1]
|
|
|
|
# FIXME set the application name / string catalog, for i18n().
|
|
qapp = QApplication(sys.argv)
|
|
dialog = ServerTestDialog()
|
|
dialog.show()
|
|
dialog.exec_loop()
|
|
|
|
if dialog.result()==QDialog.Accepted:
|
|
sys.exit(0)
|
|
else:
|
|
sys.exit(1)
|