From: <iwa...@us...> - 2003-08-10 01:22:06
|
Update of /cvsroot/quickrip/quickrip/gtk In directory sc8-pr-cvs1:/tmp/cvs-serv19121/gtk Modified Files: gtkerrorbox.py gtkmain.py gtkprogress.py Log Message: Halfway working on threads for base among other things. Progress dialog changed to threaded mode. Index: gtkerrorbox.py =================================================================== RCS file: /cvsroot/quickrip/quickrip/gtk/gtkerrorbox.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** gtkerrorbox.py 9 Aug 2003 02:02:34 -0000 1.3 --- gtkerrorbox.py 10 Aug 2003 01:22:04 -0000 1.4 *************** *** 27,31 **** class GTKErrorBox: ! def quit(self, widget, data=None): self.window.destroy() return gtk.FALSE --- 27,31 ---- class GTKErrorBox: ! def quit(self, widget=None, data=None): self.window.destroy() return gtk.FALSE *************** *** 38,43 **** xml = gtk.glade.XML("".join(["gtk/glade/", title, ".glade"])) except: ! gtkerrorbox.GTKErrorBox("Error!", "Couldn't load " + title + ! ".glade file") self.quit() return xml --- 38,42 ---- xml = gtk.glade.XML("".join(["gtk/glade/", title, ".glade"])) except: ! print "Error!" + "Couldn't load " + title + ".glade file" self.quit() return xml Index: gtkmain.py =================================================================== RCS file: /cvsroot/quickrip/quickrip/gtk/gtkmain.py,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** gtkmain.py 9 Aug 2003 02:02:34 -0000 1.23 --- gtkmain.py 10 Aug 2003 01:22:04 -0000 1.24 *************** *** 43,54 **** class GTKMain(base.QuickRip): def rip(self, widget, data=None): ! print "Rip" ! self.dialogProgress.window.show_all() def scan(self, widget, data=None): - print "Scan gui" self.hideRip() self.hideScan() - self.dialogProgress.window.present() self.scanDVD() --- 43,53 ---- class GTKMain(base.QuickRip): def rip(self, widget, data=None): ! self.hideRip() ! self.hideScan() ! self.ripDVD() def scan(self, widget, data=None): self.hideRip() self.hideScan() self.scanDVD() *************** *** 260,264 **** self.initTree() self.dialogSettings = gtksettings.GTKSettings(self) - self.dialogProgress = gtkprogress.GTKProgress() self.window.show_all() --- 259,262 ---- *************** *** 445,449 **** "killall -9 python ." ! self.dialogProgress.setStatus("Starting Scanning...", 0) model = gtk.TreeStore( gobject.TYPE_STRING, #track title gobject.TYPE_STRING, #track length --- 443,448 ---- "killall -9 python ." ! self.dialogProgress = gtkprogress.GTKProgress(1) ! self.dialogProgress.setStatus("Starting Scanning...") model = gtk.TreeStore( gobject.TYPE_STRING, #track title gobject.TYPE_STRING, #track length *************** *** 472,495 **** gtk.threads_enter() print "Found %s titles" % (self.numtitles) - self.dialogProgress.setStatus("Scanning titles", 0) gtk.threads_leave() ! def ui_dispTitle(self, track): gtk.threads_enter() #update status - #print "titles num " + str(self.numtitles) self.titleIncr += 1 ! self.dialogProgress.setStatus("Reading titles", ! float(self.titleIncr) / float(self.numtitles)) self.dialogProgress.setTime(0, 0, self.numtitles - self.titleIncr) gtk.threads_leave() - def ui_finishScanning(self): gtk.threads_enter() self.showRip() self.showScan() ! self.dialogProgress.window.hide() for i in range(1, int(self.numtitles) + 1): --- 471,492 ---- gtk.threads_enter() print "Found %s titles" % (self.numtitles) gtk.threads_leave() ! self.dialogProgress.setStatus("Scanning titles") ! self.dialogProgress.setProgress(0.0) def ui_dispTitle(self, track): gtk.threads_enter() #update status self.titleIncr += 1 ! self.dialogProgress.setStatus("Reading titles") ! self.dialogProgress.setProgress(float(float(self.titleIncr) / float(self.numtitles))) self.dialogProgress.setTime(0, 0, self.numtitles - self.titleIncr) gtk.threads_leave() def ui_finishScanning(self): gtk.threads_enter() self.showRip() self.showScan() ! self.dialogProgress.exit() for i in range(1, int(self.numtitles) + 1): *************** *** 527,532 **** def ui_startRipping(self): ! self.hideScan() ! self.hideRip() def ui_newTitle(self, name, number, total, vbr): --- 524,529 ---- def ui_startRipping(self): ! self.dialogProgress = gtkprogress.GTKProgress(2) ! self.dialogProgress.setStatus("Starting Ripping...") def ui_newTitle(self, name, number, total, vbr): *************** *** 534,547 **** def ui_newPass(self, passtype): print "new pass" def ui_updateProgress(self, perc, trem, tpass): print "%s percent, %s remaining in %s" % (perc, trem, tpass) ! print "update progress" def ui_finishRipping(self): - print "finish ripping" self.showScan() self.showRip() if __name__ == "__main__": --- 531,545 ---- def ui_newPass(self, passtype): + self.dialogProgress.setStatus("Performing: " + str(passtype)) print "new pass" def ui_updateProgress(self, perc, trem, tpass): print "%s percent, %s remaining in %s" % (perc, trem, tpass) ! self.dialogProgress.setProgress(perc, 2) def ui_finishRipping(self): self.showScan() self.showRip() + self.dialogProgress.exit() if __name__ == "__main__": Index: gtkprogress.py =================================================================== RCS file: /cvsroot/quickrip/quickrip/gtk/gtkprogress.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** gtkprogress.py 9 Aug 2003 02:02:34 -0000 1.9 --- gtkprogress.py 10 Aug 2003 01:22:04 -0000 1.10 *************** *** 30,41 **** import gtk.glade import gtkerrorbox ! class GTKProgress: def quit(self, widget, data=None): error = gtkerrorbox.GTKErrorBox("Warning!", "Are you sure you want to stop the current task?") ! self.window.hide() return gtk.TRUE def loadGladeFile(self, title): --- 30,48 ---- import gtk.glade + import thread + import threading import gtkerrorbox + import time ! class GTKProgress(threading.Thread): def quit(self, widget, data=None): error = gtkerrorbox.GTKErrorBox("Warning!", "Are you sure you want to stop the current task?") ! self.exit() return gtk.TRUE + + def exit(self): + self.window.hide() + self.quit = 1 def loadGladeFile(self, title): *************** *** 51,62 **** return xml ! def setStatus(self, mesg, percent): ! self.lStatus.set_text(mesg) ! self.pBar.set_fraction(percent) ! self.pBar.set_text(str(int(percent * 100)) + "%") ! ! def pulse(): ! self.pBar.pulse() ! def setTime(self, hours, mins, secs): text = "Time Remaining: " --- 58,76 ---- return xml ! def setStatus(self, mesg): ! self.status = mesg ! ! def setProgress(self, percent, bar=1): ! self.percent[bar - 1] = percent ! ! def pulse(self, bar=1): ! gtk.threads_enter() ! if bar == 1: ! self.pBar1.pulse() ! elif bar == 2: ! self.pBar2.pulse() ! elif bar == 3: ! self.pBar3.pulse() ! def setTime(self, hours, mins, secs): text = "Time Remaining: " *************** *** 68,81 **** if secs > 1: text += "s" ! self.lTime.set_text(text) def __init__(self, bars=1): xml = self.loadGladeFile('gtkprogress') self.window = xml.get_widget('window') ! self.pBar = xml.get_widget('progressbar') ! # self.pBar2 = xml.get_widget(' self.lStatus = xml.get_widget('labelStatus') self.lTime = xml.get_widget('labelTime') xml.signal_autoconnect( {'on_window_delete_event': self.quit} ) xml.signal_autoconnect( {'on_buttonCancel_clicked': self.quit} ) --- 82,123 ---- if secs > 1: text += "s" ! self.time = text def __init__(self, bars=1): + threading.Thread.__init__(self) xml = self.loadGladeFile('gtkprogress') self.window = xml.get_widget('window') ! self.pBar = [] ! self.pBar.append(xml.get_widget('progressbar1')) ! self.pBar.append(xml.get_widget('progressbar2')) ! self.pBar.append(xml.get_widget('progressbar3')) ! self.label2 = xml.get_widget('label2') ! self.label3 = xml.get_widget('label3') self.lStatus = xml.get_widget('labelStatus') self.lTime = xml.get_widget('labelTime') + self.percent = [0.0, 0.0, 0.0] + self.status = "" + self.time = "" + + if bars > 1: + self.pBar[1].show_all() + self.label2.show_all() + if bars > 2: + self.pBar[2].show_all() + self.label3.show_all() xml.signal_autoconnect( {'on_window_delete_event': self.quit} ) xml.signal_autoconnect( {'on_buttonCancel_clicked': self.quit} ) + self.start() + + def run(self): + self.quit = 0 + while self.quit == 0: + + self.lStatus.set_text(self.status) + self.lTime.set_text(self.time) + for i in range(0, 3): + self.pBar[i].set_fraction(self.percent[i]) + self.pBar[i].set_text(str(int(self.percent[i] * 100)) + "%") + + time.sleep(1) |