From: <iwa...@us...> - 2003-08-06 05:27:23
|
Update of /cvsroot/quickrip/quickrip/gtk In directory sc8-pr-cvs1:/tmp/cvs-serv11383/gtk Modified Files: gtkmain.py Log Message: Tracks read in from scan. Need to store Subtitle/language stuff. Rearranged the main gui to look usable. Index: gtkmain.py =================================================================== RCS file: /cvsroot/quickrip/quickrip/gtk/gtkmain.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** gtkmain.py 6 Aug 2003 01:18:48 -0000 1.13 --- gtkmain.py 6 Aug 2003 05:27:19 -0000 1.14 *************** *** 84,95 **** i = mod.get_iter(row_num) bool = mod.get_value(i, 4) if bool == gtk.TRUE: mod.set_value(i, 4, gtk.FALSE) else: mod.set_value(i, 4, gtk.TRUE) ! def inittree(self): ! model = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN) ! self.tree.set_model(model) self.tree.set_headers_clickable(gtk.FALSE) cell = gtk.CellRendererText() --- 84,106 ---- i = mod.get_iter(row_num) bool = mod.get_value(i, 4) + track = mod.get_value(i, 5) if bool == gtk.TRUE: mod.set_value(i, 4, gtk.FALSE) + track['rip'] = "no" else: mod.set_value(i, 4, gtk.TRUE) + track['rip'] = "yes" ! def initTree(self): ! # i = model.insert_before(None, None) ! # str = { "first": "1st", "second": "3rd" } ! # model.set_value(i, 0, str["first"]) ! # model.set_value(i, 1, str["second"]) ! # model.set_value(i, 2, "third") ! # model.set_value(i, 3, "forth") ! # i = model.append(i, None) ! # str2 = { "4" : "5", "6" : "seven" } ! # model.set_value(i, 0, str2["4"]) ! # model.set_value(i, 1, str2["6"]) self.tree.set_headers_clickable(gtk.FALSE) cell = gtk.CellRendererText() *************** *** 98,130 **** check.connect("toggled", self.toggle) column1 = gtk.TreeViewColumn("Track", cell, text=0) ! column2 = gtk.TreeViewColumn("Length", cell, text=1) ! column3 = gtk.TreeViewColumn("Language", cell)#, text=2) ! column4 = gtk.TreeViewColumn("Subtitles", cell)#, text=3) ! column5 = gtk.TreeViewColumn("Rip", check, active=4) column1.set_resizable(gtk.TRUE) column2.set_resizable(gtk.TRUE) column3.set_resizable(gtk.TRUE) column4.set_resizable(gtk.TRUE) ! column1.set_min_width(90) ! column2.set_min_width(90) ! column3.set_min_width(90) ! column4.set_min_width(90) column5.set_min_width(40) self.tree.append_column(column1) self.tree.append_column(column2) self.tree.append_column(column3) self.tree.append_column(column4) self.tree.append_column(column5) - i = model.insert_before(None, None) - str = { "first": "1st", "second": "3rd" } - model.set_value(i, 0, str["first"]) - model.set_value(i, 1, str["second"]) - # model.set_value(i, 2, "third") - # model.set_value(i, 3, "forth") - i = model.append(i, None) - str2 = { "4" : "5", "6" : "seven" } - model.set_value(i, 0, str2["4"]) - model.set_value(i, 1, str2["6"]) def __init__(self): xml = gtk.glade.XML('glade/gtkmain.glade') --- 109,177 ---- check.connect("toggled", self.toggle) column1 = gtk.TreeViewColumn("Track", cell, text=0) ! column2 = gtk.TreeViewColumn("Time (h:m:s)", cell, text=1) ! column3 = gtk.TreeViewColumn("Language", cell, text=2) ! column4 = gtk.TreeViewColumn("Subtitles", cell, text=3) ! column45 = gtk.TreeViewColumn("Result Size", cell, text=6) ! column5 = gtk.TreeViewColumn("Rip?", check, active=4) column1.set_resizable(gtk.TRUE) column2.set_resizable(gtk.TRUE) column3.set_resizable(gtk.TRUE) column4.set_resizable(gtk.TRUE) ! column45.set_resizable(gtk.TRUE) ! column5.set_resizable(gtk.FALSE) ! # column1.set_min_width(40) ! # column2.set_min_width(90) ! # column3.set_min_width(90) ! # column4.set_min_width(90) ! # column45.set_min_width(90) column5.set_min_width(40) + column5.set_max_width(40) self.tree.append_column(column1) self.tree.append_column(column2) self.tree.append_column(column3) self.tree.append_column(column4) + self.tree.append_column(column45) self.tree.append_column(column5) + def rowChange(self, widget, data=None): + # self.model, self.modeliter = "", "" + # selected = gtk.TreeSelection() + + selected = self.tree.get_selection() + (self.model, self.modelIter) = selected.get_selected()#self.model, self.modelIter) + track = self.model.get_value(self.modelIter, 5) + adj = self.sAudio.get_adjustment() + adj.value = float(track['abr']) + adj = self.sVideo.get_adjustment() + adj.value = float(track['vbr']) + self.updateSize() + + def updateSize(self): + track = self.model.get_value(self.modelIter, 5) + size = track['time'] * (track['abr'] + (track['vbr'])) / 8192 #1024 + string = str(int(size)) + " MB" + self.lSize.set_text(string) + self.model.set_value(self.modelIter, 6, string) + + def slideVideo(self, widget, data=None): + self.lVideo.set_text(str(int(widget.get_adjustment().value))) + track = self.model.get_value(self.modelIter, 5) + adj = widget.get_adjustment() + track['vbr'] = int(adj.value) + self.updateSize() + + def slideAudio(self, widget, data=None): + slider = widget.get_adjustment() + ival = int(slider.value) + if (ival % 32) < 16: + ival = ival - (ival%32) + self.lAudio.set_text(str(ival)) + else: + ival = (ival + 32) - (ival % 32) + self.lAudio.set_text(str(ival)) + track = self.model.get_value(self.modelIter, 5) + track['abr'] = ival + self.updateSize() + def __init__(self): xml = gtk.glade.XML('glade/gtkmain.glade') *************** *** 135,138 **** --- 182,190 ---- self.miScan = xml.get_widget('miScan') self.tree = xml.get_widget('treeview') + self.lAudio = xml.get_widget('labelAudio') + self.lVideo = xml.get_widget('labelVideo') + self.sAudio = xml.get_widget('scaleAudio') + self.sVideo = xml.get_widget('scaleVideo') + self.lSize = xml.get_widget('labelSize') xml.signal_autoconnect( {'on_window_delete_event': self.quit} ) *************** *** 144,149 **** xml.signal_autoconnect( {'on_rip_clicked': self.rip} ) xml.signal_autoconnect( {'on_quit_activate': self.quit} ) ! self.inittree() self.dialogSettings = GTKSettings(self) self.dialogProgress = GTKProgress() --- 196,204 ---- xml.signal_autoconnect( {'on_rip_clicked': self.rip} ) xml.signal_autoconnect( {'on_quit_activate': self.quit} ) + xml.signal_autoconnect( {'on_row_activated': self.rowChange} ) + xml.signal_autoconnect( {'on_audio_moved': self.slideAudio} ) + xml.signal_autoconnect( {'on_video_moved': self.slideVideo} ) ! self.initTree() self.dialogSettings = GTKSettings(self) self.dialogProgress = GTKProgress() *************** *** 326,335 **** def int_startScanning(self): print "start scanning backend" def int_configError(self, config): ! print "Couldn't find " + config ! def int_noTracks(self): ! print "no tracks were found" def int_dispDVD(self): --- 381,400 ---- def int_startScanning(self): print "start scanning backend" + model = gtk.TreeStore( gobject.TYPE_STRING, #track title + gobject.TYPE_STRING, #track length + gobject.TYPE_STRING, #audio language + gobject.TYPE_STRING, #subtitle language + gobject.TYPE_BOOLEAN, #boolean for rip check + gobject.TYPE_PYOBJECT, #reference to object to set based on rip + gobject.TYPE_STRING) #projected size + self.tree.set_model(model) + self.model = model + self.modelIter = None def int_configError(self, config): ! msg = GTKErrorBox("Error!", "Config couldn't autodetect: " + config) ! def int_noTitles(self): ! msg = GTKErrorBox("Sorry!", "No DVD Video Titles were found!") def int_dispDVD(self): *************** *** 338,343 **** print "Found subtitle languages %s" % (self.slangs) ! def int_dispTrack(self, track): print "display track" def int_finishScanning(self): --- 403,426 ---- print "Found subtitle languages %s" % (self.slangs) ! def int_dispTitle(self, track): print "display track" + if self.modelIter == None: + self.modelIter = self.model.insert_before(None, None) + else : + self.modelIter = self.model.append(None, None)#self.modelIter, None) + # str = { "first": "1st", "second": "3rd" } + # model.set_value(i, 0, str["first"]) + # model.set_value(i, 1, str["second"]) + # model.set_value(i, 2, "third") + # model.set_value(i, 3, "forth") + # i = model.append(i, None) + length = "" + length += str(track['time'] / 3600) + ":" + length += str((track['time'] % 3600) / 60) + ":" + length += str(track['time'] % 60) + self.model.set_value(self.modelIter, 0, track['name']) + self.model.set_value(self.modelIter, 1, length) + self.model.set_value(self.modelIter, 4, gtk.FALSE) + self.model.set_value(self.modelIter, 5, track) def int_finishScanning(self): *************** *** 345,355 **** self.showRip() self.showScan() def int_startRipping(self): - print "start rip" self.hideScan() ! self.showRip() ! def int_newTrack(self, name, number, total, vbr): print "new track" --- 428,439 ---- self.showRip() self.showScan() + # for i in range(1, int(self.numtitles) + 1): + # print "title add " + str(i) def int_startRipping(self): self.hideScan() ! self.hideRip() ! def int_newTitle(self, name, number, total, vbr): print "new track" *************** *** 357,361 **** print "new pass" ! def int_updateProgress(self, perc, tpass): print "update progress" --- 441,446 ---- print "new pass" ! def int_updateProgress(self, perc, trem, tpass): ! print "%s percent, %s remaining in %s" % (perc, trem, tpass) print "update progress" |