diff options
Diffstat (limited to 'gtk-recordmydesktop/src/rmdPrefsWidget.py')
-rw-r--r-- | gtk-recordmydesktop/src/rmdPrefsWidget.py | 284 |
1 files changed, 284 insertions, 0 deletions
diff --git a/gtk-recordmydesktop/src/rmdPrefsWidget.py b/gtk-recordmydesktop/src/rmdPrefsWidget.py new file mode 100644 index 0000000..2e8a553 --- /dev/null +++ b/gtk-recordmydesktop/src/rmdPrefsWidget.py @@ -0,0 +1,284 @@ +#/********************************************************************************* +#* gtk-recordMyDesktop * +#********************************************************************************** +#* * +#* Copyright (C) 2006 John Varouhakis * +#* * +#* * +#* 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. * +#* * +#* This program is distributed in the hope that it will be useful, * +#* but WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +#* GNU General Public License for more details. * +#* * +#* You should have received a copy of the GNU General Public License * +#* along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +#* * +#* * +#* * +#* For further information contact me at johnvarouhakis@gmail.com * +#**********************************************************************************/ + + +import pygtk +pygtk.require('2.0') +import gtk +import locale, gettext +import rmdConfig +_ = gettext.gettext +gettext.textdomain('gtk-recordMyDesktop') +gettext.bindtextdomain('gtk-recordMyDesktop',rmdConfig.locale_install_dir) +import os + + + + +class prefsWidget(object): + labelStrings=[_('Frames Per Second'),_(' '),_('Startup Delay(secs)'), + _('Channels'),_('Frequency'),_('Device'),_('Video Quality'),_('Sound Quality'), + _('Display'),_('Mouse Cursor'),_('Full shots at every frame'),_('MIT-Shm extension'), + _('Drop Frames(encoder)'),_('Shared Threshold'),_('Quick Subsampling')] + mouseStrings=[_('Normal'),_('White'),_('Black'),_('None')] + stateStrings=[_('Enabled'),_('Disabled')] + tabStrings=[_('Basic'),_('Sound'),_('Advanced')] + + def destroy(self,Event=None): + self.values[0]=self.fpsSpinButton.get_value_as_int() + self.values[1]=self.mouseComboBox.get_active() + #self.values[2]=self.soundComboBox.get_active() + self.values[3]=self.fullComboBox.get_active() + #self.values[4]=self.pathEntry.get_text() + #self.values[5]=self.are + self.values[6]=self.delaySpinButton.get_value_as_int() + self.values[7]=self.channelsSpinButton.get_value_as_int() + self.values[8]=self.freqSpinButton.get_value_as_int() + self.values[9]=self.deviceEntry.get_text().replace(' ','') + #self.values[10]=self.vidqSpinButton.get_value_as_int() + #self.values[11]=self.soundqSpinButton.get_value_as_int() + self.values[12]=self.displayEntry.get_text().replace(' ','') + self.values[13]=self.sharedComboBox.get_active() + self.values[14]=self.frdropComboBox.get_active() + self.values[15]=self.thresSpinButton.get_value_as_int() + self.values[16]=self.quickComboBox.get_active() + + self.window.destroy() + self.optionsOpen[0]=0 + + def __exit__(self,Event=None): + gtk.main_quit() + self.values[0]=-1 + self.optionsOpen[0]=0 + self.window.destroy() + + + + def __subWidgets__(self): + self.labels={} + self.boxes={} + self.labelbox={} + #self.labelbox[0]=gtk.VBox(homogeneous=False, spacing=20) + for i in range(3): + self.labelbox[i]=gtk.VBox(homogeneous=False, spacing=20) + self.notebook = gtk.Notebook() + +#basic page + self.fpsAdjustment=gtk.Adjustment(value=self.values[0], lower=1, upper=50, step_incr=1, page_incr=5, page_size=0) + self.fpsSpinButton= gtk.SpinButton(self.fpsAdjustment, climb_rate=0.5, digits=0) + + + #self.soundComboBox = gtk.combo_box_new_text() + #for i in range(2): + #self.soundComboBox.append_text(self.stateStrings[i]) + #self.soundComboBox.set_active(self.values[2]) + + self.delayAdjustment=gtk.Adjustment(value=self.values[6], lower=0,upper=10000, step_incr=1, page_incr=5, page_size=0) + self.delaySpinButton= gtk.SpinButton(self.delayAdjustment, climb_rate=0.5, digits=0) + + #self.pathEntry= gtk.Entry(max=0) + #self.pathEntry.set_text(self.values[4]) + #self.pathButton = gtk.Button(None,gtk.STOCK_SAVE_AS) + + self.okButton=gtk.Button(None,gtk.STOCK_CLOSE) + + for i in xrange(0,3,2): + self.labels[i]=gtk.Label(self.labelStrings[i]) + self.labels[i].set_justify(gtk.JUSTIFY_LEFT) + self.boxes[i]=gtk.HBox(homogeneous=False, spacing=0) + self.boxes[i].pack_start(self.labels[i],expand=False,fill=False) + self.labels[i].show() + self.labelbox[0].pack_start(self.boxes[i],expand=False,fill=False) + + self.boxes[3]=gtk.HBox(homogeneous=False, spacing=20) + self.labelbox[0].pack_start(self.boxes[3],expand=False,fill=False) + placeholder2=gtk.Label("\n\n\n\n\n\n") + placeholder2.show() + self.labelbox[0].pack_start(placeholder2,True,True) + self.boxes[4]=gtk.HBox(homogeneous=False, spacing=0) + self.labelbox[0].pack_end(self.boxes[4]) + + self.fpsSpinButton.show() + self.boxes[0].pack_end(self.fpsSpinButton,expand=False,fill=False) + #self.soundComboBox.show() + #self.boxes[1].pack_end(self.soundComboBox,expand=False,fill=False) + self.delaySpinButton.show() + self.boxes[2].pack_end(self.delaySpinButton,expand=False,fill=False) + #self.pathEntry.show() + #self.boxes[3].pack_start(self.pathEntry,expand=False,fill=False) + #self.pathButton.show() + #self.boxes[3].pack_end(self.pathButton,expand=False,fill=False) + self.okButton.show() + self.boxes[4].pack_end(self.okButton,expand=False,fill=False) + for i in range(5): + if i!=1: + self.boxes[i].show() +#sound page + for i in xrange(3,6): + self.labels[i]=gtk.Label(self.labelStrings[i]) + self.labels[i].set_justify(gtk.JUSTIFY_LEFT) + self.boxes[i+5]=gtk.HBox(homogeneous=False, spacing=0) + self.boxes[i+5].pack_start(self.labels[i],expand=False,fill=False) + self.labels[i].show() + #self.boxes[i+5].show() + self.labelbox[1].pack_start(self.boxes[i+5],expand=False,fill=False) + self.channelsAdjustment=gtk.Adjustment(value=self.values[7], lower=1,upper=2, step_incr=1, page_incr=1, page_size=1) + self.channelsSpinButton= gtk.SpinButton(self.channelsAdjustment, climb_rate=0.5, digits=0) + self.boxes[8].pack_end(self.channelsSpinButton,expand=False,fill=False) + self.channelsSpinButton.show() + self.boxes[8].show() + + self.freqAdjustment=gtk.Adjustment(value=self.values[8], lower=0,upper=44100, step_incr=1, page_incr=100, page_size=0) + self.freqSpinButton= gtk.SpinButton(self.freqAdjustment, climb_rate=0.5, digits=0) + self.boxes[9].pack_end(self.freqSpinButton,expand=False,fill=False) + self.freqSpinButton.show() + self.boxes[9].show() + + self.deviceEntry= gtk.Entry(max=0) + self.deviceEntry.set_text(self.values[9]) + self.boxes[10].pack_end(self.deviceEntry,expand=False,fill=False) + self.deviceEntry.show() + self.boxes[10].show() + + +#encoding page + #for i in xrange(6,8): + #self.labels[i]=gtk.Label(self.labelStrings[i]) + #self.labels[i].set_justify(gtk.JUSTIFY_LEFT) + #self.boxes[i+5]=gtk.HBox(homogeneous=False, spacing=0) + #self.boxes[i+5].pack_start(self.labels[i],expand=False,fill=False) + #self.labels[i].show() + ##self.boxes[i+5].show() + #self.labelbox[2].pack_start(self.boxes[i+5],expand=False,fill=False) + #self.vidqAdjustment=gtk.Adjustment(value=self.values[10], lower=0,upper=63, step_incr=1, page_incr=1, page_size=1) + #self.vidqSpinButton= gtk.SpinButton(self.vidqAdjustment, climb_rate=0.5, digits=0) + #self.boxes[11].pack_end(self.vidqSpinButton,expand=False,fill=False) + #self.vidqSpinButton.show() + #self.boxes[11].show() + #self.soundqAdjustment=gtk.Adjustment(value=self.values[11], lower=-1,upper=10, step_incr=1, page_incr=1, page_size=1) + #self.soundqSpinButton= gtk.SpinButton(self.soundqAdjustment, climb_rate=0.5, digits=0) + #self.boxes[12].pack_end(self.soundqSpinButton,expand=False,fill=False) + #self.soundqSpinButton.show() + #self.boxes[12].show() + +#misc page + for i in xrange(8,15): + self.labels[i]=gtk.Label(self.labelStrings[i]) + self.labels[i].set_justify(gtk.JUSTIFY_LEFT) + self.boxes[i+5]=gtk.HBox(homogeneous=False, spacing=0) + self.boxes[i+5].pack_start(self.labels[i],expand=False,fill=False) + self.labels[i].show() + #self.boxes[i+5].show() + self.labelbox[2].pack_start(self.boxes[i+5],expand=False,fill=False) + self.displayEntry= gtk.Entry(max=0) + self.displayEntry.set_text(self.values[12]) + self.boxes[13].pack_end(self.displayEntry,expand=False,fill=False) + self.displayEntry.show() + self.boxes[13].show() + + self.mouseComboBox = gtk.combo_box_new_text() + for i in range(4): + self.mouseComboBox.append_text(self.mouseStrings[i]) + self.mouseComboBox.set_active(self.values[1]) + self.boxes[14].pack_end(self.mouseComboBox,expand=False,fill=False) + self.mouseComboBox.show() + self.boxes[14].show() + + self.fullComboBox = gtk.combo_box_new_text() + for i in range(2): + self.fullComboBox.append_text(self.stateStrings[i]) + self.fullComboBox.set_active(self.values[3]) + self.boxes[15].pack_end(self.fullComboBox,expand=False,fill=False) + self.fullComboBox.show() + self.boxes[15].show() + + self.sharedComboBox = gtk.combo_box_new_text() + for i in range(2): + self.sharedComboBox.append_text(self.stateStrings[i]) + self.sharedComboBox.set_active(self.values[13]) + self.boxes[16].pack_end(self.sharedComboBox,expand=False,fill=False) + self.sharedComboBox.show() + self.boxes[16].show() + + + self.frdropComboBox = gtk.combo_box_new_text() + for i in range(2): + self.frdropComboBox.append_text(self.stateStrings[i]) + self.frdropComboBox.set_active(self.values[14]) + self.boxes[17].pack_end(self.frdropComboBox,expand=False,fill=False) + self.frdropComboBox.show() + self.boxes[17].show() + + self.thresAdjustment=gtk.Adjustment(value=self.values[15], lower=0,upper=100, step_incr=1, page_incr=5, page_size=1) + self.thresSpinButton= gtk.SpinButton(self.thresAdjustment, climb_rate=0.5, digits=0) + self.boxes[18].pack_end(self.thresSpinButton,expand=False,fill=False) + self.thresSpinButton.show() + self.boxes[18].show() + + self.quickComboBox = gtk.combo_box_new_text() + for i in range(2): + self.quickComboBox.append_text(self.stateStrings[i]) + self.quickComboBox.set_active(self.values[16]) + self.boxes[19].pack_end(self.quickComboBox,expand=False,fill=False) + self.quickComboBox.show() + self.boxes[19].show() + +#append and show + for i in range(3): + self.notebook.append_page(self.labelbox[i],gtk.Label(self.tabStrings[i])) + self.window.add(self.notebook) + for i in range(3): + self.labelbox[i].show() + self.notebook.show() + + def __makeCons__(self): + #self.pathButton.connect("clicked",self.__fileSelect__) + self.okButton.connect("clicked",self.destroy) + + def __init__(self,values,optionsOpen): + self.values=values + self.optionsOpen=optionsOpen + self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) + self.window.connect("destroy", self.destroy) + self.window.set_border_width(10) + self.window.set_title("recordMyDesktop") + self.__subWidgets__() + self.__makeCons__() + + + self.window.set_size_request(350,-1) + self.window.show() + + def main(self): + gtk.main() + + + + + + + + |