[tuxdroid-svn] r660 - in software/gadgets/settings/trunk: . settings settings/Scripts/Python/GUI/wi
Status: Beta
Brought to you by:
ks156
From: Paul_R <c2m...@c2...> - 2007-11-06 15:40:44
|
Author: Paul_R Date: 2007-11-06 16:40:31 +0100 (Tue, 06 Nov 2007) New Revision: 660 Modified: software/gadgets/settings/trunk/settings.tgf software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.glade software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.pyp software/gadgets/settings/trunk/settings/Strings/fr_ALL.xml software/gadgets/settings/trunk/settings/about.xml software/gadgets/settings/trunk/settings/settings.xml software/gadgets/settings/trunk/settings/strings.xml Log: * Added the version tab. The function 'Show change log' and 'flash CPUs' aren't implemented yet. Modified: software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.glade =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.glade 2007-11-06 14:21:56 UTC (rev 659) +++ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.glade 2007-11-06 15:40:31 UTC (rev 660) @@ -64,7 +64,7 @@ <child> <widget class="GtkLabel" id="lblTabConfig"> <property name="visible">True</property> - <property name="label" translatable="yes">Main</property> + <property name="label" translatable="yes">Configuration</property> <property name="use_underline">False</property> <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> @@ -91,7 +91,148 @@ <property name="spacing">0</property> <child> - <placeholder/> + <widget class="GtkVBox" id="vbox4"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkFrame" id="frame12"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + + <child> + <widget class="GtkAlignment" id="alignment12"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_NEVER</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <placeholder/> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="lblVersions"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>frame12</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkFrame" id="frame13"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + + <child> + <widget class="GtkAlignment" id="alignment13"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">12</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow3"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_NEVER</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <placeholder/> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="lblLocal"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>frame13</b></property> + <property name="use_underline">False</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="type">label_item</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> </child> </widget> <packing> @@ -103,7 +244,7 @@ <child> <widget class="GtkLabel" id="lblTabVersion"> <property name="visible">True</property> - <property name="label" translatable="yes">TTS</property> + <property name="label" translatable="yes">Version</property> <property name="use_underline">False</property> <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> Modified: software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.pyp =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.pyp 2007-11-06 14:21:56 UTC (rev 659) +++ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.pyp 2007-11-06 15:40:31 UTC (rev 660) @@ -1,12 +1,17 @@ bindtextdomain("params", "") soundcard = tux.hw.alsa_device +from xml.dom import minidom, Node +from xml.dom.minidom import Document +import subprocess + class Window(SimpleGladeApp): def __init__(self, path=_me.get_path('root') + '/Scripts/Python/GUI/widget/other.glade', root="window1", domain="params", **kwargs): SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + self.prev = False def new(self): self.get_widget("window1").set_title(_me.string('name_to_read')) @@ -17,10 +22,71 @@ self.get_widget('lblTabSound').set_text(_me.string('lblTabSound')) self.get_widget('lblTabVersion').set_text(_me.string('lblTabVersion')) + self.ConfigLabelUpdate() + self.VersionsLabelUpdate() self.SoundLabelUpdate() - self.treeview_update() - self.get_widget('progressbar1').hide() + + def ConfigLabelUpdate(self): + self.get_widget('lblVersions').set_text(_me.string('lblVersions')) + self.get_widget('lblLocal').set_text(_me.string('lblLocal')) + + def VersionsLabelUpdate(self): + self.VersionTreeviewUpdate() + self.FileTreeviewUpdate() + + def VersionTreeviewUpdate(self): + #Create the treeview + self.prog_column = gtk.TreeViewColumn(_me.string('treeVersionProg')) + self.prog_column.set_min_width(200) + self.prog_cell = gtk.CellRendererText() + self.prog_column.pack_start(self.prog_cell, True) + self.prog_column.add_attribute(self.prog_cell, 'text', 0) + + self.version_column = gtk.TreeViewColumn(_me.string('treeVersionVer')) + self.version_column.set_min_width(200) + self.version_cell = gtk.CellRendererText() + self.version_column.pack_start(self.version_cell, True) + self.version_column.add_attribute(self.version_cell, 'text', 1) + + self.ver_value_list = gtk.TreeStore(str, str) + self.ver_gadget_viewer = gtk.TreeView(self.ver_value_list) + self.ver_gadget_viewer.append_column(self.prog_column) + self.ver_gadget_viewer.append_column(self.version_column) + self.ver_gadget_viewer.set_rules_hint(True) + self.ver_gadget_viewer.get_selection().connect("changed",self.on_row_selected_version) + self.get_widget("scrolledwindow2").add(self.ver_gadget_viewer) + self.get_widget("scrolledwindow2").show_all() + + self.refresh_version() + + def FileTreeviewUpdate(self): + self.firmware_column = gtk.TreeViewColumn(_me.string('treeVersionProg')) + self.firmware_column.set_min_width(300) + self.firmware_cell = gtk.CellRendererText() + self.firmware_column.pack_start(self.firmware_cell, True) + self.firmware_column.add_attribute(self.firmware_cell, 'text', 0) + + self.fversion_column = gtk.TreeViewColumn(_me.string('treeVersionVer')) + self.fversion_column.set_min_width(200) + self.fversion_cell = gtk.CellRendererText() + self.fversion_column.pack_start(self.fversion_cell, True) + self.fversion_column.add_attribute(self.fversion_cell, 'text', 1) + + self.f_value_list = gtk.TreeStore(str, str) + self.f_gadget_viewer = gtk.TreeView(self.f_value_list) + self.f_gadget_viewer.append_column(self.firmware_column) + self.f_gadget_viewer.append_column(self.fversion_column) + self.f_gadget_viewer.set_rules_hint(True) + self.f_gadget_viewer.get_selection().connect("changed",self.on_row_selected_firmware) + self.f_gadget_viewer.connect("button_press_event", self.on_tree_button_pressed) + self.get_widget("scrolledwindow3").add(self.f_gadget_viewer) + self.get_widget("scrolledwindow3").show_all() + + self.searchFiles() + self.refresh_files() + + def SoundLabelUpdate(self): self.get_widget('btnSoundAdd').set_label(_me.string('btnSoundAdd')) self.get_widget('btnSoundClear').set_label(_me.string('btnSoundClear')) @@ -41,13 +107,10 @@ self.get_widget('lblSoundMic').set_text(_me.string('lblSoundMic')) self.get_widget('lblSoundStore').set_text(_me.string('lblSoundStore')) - - - + self.SoundTreeviewUpdate() + self.get_widget('progressbar1').hide() - - - def treeview_update(self): + def SoundTreeviewUpdate(self): self.index_column = gtk.TreeViewColumn('Index') self.index_column.set_min_width(50) self.index_cell = gtk.CellRendererText() @@ -64,6 +127,7 @@ self.gadget_viewer = gtk.TreeView(self.value_list) self.gadget_viewer.append_column(self.index_column) self.gadget_viewer.append_column(self.event_column) + self.gadget_viewer.set_rules_hint(True) self.gadget_viewer.get_selection().connect("changed",self.on_row_selected) self.get_widget("scrolledwindow1").add(self.gadget_viewer) self.get_widget("scrolledwindow1").show_all() @@ -71,6 +135,135 @@ #--------------------------------------------------------------------------- # +# VERSION TAB +# +#--------------------------------------------------------------------------- + def on_row_selected_version(self, obj): + path = obj.get_selected_rows() + if path[1]!= []: + if path[1][0][0] == 2 and self.prev == False: + self.ver_value_list.clear() + self.prev = True + for i in range(len(self.version_table)): + self.ver_value_list.append(None,self.version_table[i]) + elif self.prev == True and path[1][0][0] == 2: + self.prev = False + self.ver_value_list.clear() + for i in range(3): + self.ver_value_list.append(None,self.version_table[i]) + + def on_row_selected_firmware(self, obj): + print 'row selected' + + def searchFiles(self): + filelist = os.listdir('/opt/tuxdroid/firmware') + tmppath = [] + for file in filelist: + if file.lower().find('.tar.gz') != -1: + tmppath.append([file, '']) + self.filepath = tmppath + print self.filepath + + def refresh_files(self): + self.f_value_list.clear() + for i in range(len(self.filepath)): + proc = subprocess.Popen("tar -C '/tmp' -xvf '/opt/tuxdroid/firmware/%s'"%self.filepath[i][0], shell = True, stdout = subprocess.PIPE) + proc.wait() + version = self.get_new_version_infos() + self.filepath[i][1] = str(version) + print self.filepath + os.system('rm -rf /tmp/tuxdroid-firmware*') + + self.f_value_list.clear() + for i in range(len(self.filepath)): + self.f_value_list.append(None, self.filepath[i]) + + def on_tree_button_pressed(self, widget, event): + def show_popup(p, button, time): + tux.sys.wait(0.1) + self.show_gadget_popup(p, button, time) + if event.button == 3: # right click + thread.start_new_thread(show_popup, (None, event.button, event.time)) + + def show_gadget_popup(self, status_icon, button, activate_time): + menu = gtk.Menu() + item = gtk.CheckMenuItem(_me.string('itemChangeLog')) + item.connect("activate", self.showChangeLog) + menu.append(item) + + item = gtk.CheckMenuItem(_me.string('itemCPU')) + item.connect("activate", self.flashCPU) + menu.append(item) + + menu.show_all() + menu.popup(None, None, None, button, activate_time) + + def showChangeLog(self, widget): + print 'show ChangeLog' + + def flashCPU(self, widget): + print 'flash CPU' + + def get_new_version_infos(self): + filelist = os.listdir('/tmp') + tmppath = '' + for file in filelist: + if file.lower().find('tuxdroid-firmware') != -1: + print 'tick' + tmppath = file + dom = minidom.parse('/tmp/%s/info.xml' % tmppath) + racine = dom.getElementsByTagName('root') + version = racine[0].getElementsByTagName('version') + ver = version[0].attributes['tuxdroid_firmware_version'].nodeValue + return ver + + + + def refresh_version(self): + version_table = [] + name = 'Daemon' + version = tux.daemon.get_version() + version_table.append([name,version]) + + name = 'API' + version = tux.api_version + version_table.append([name,version]) + + name = 'Firmware' + version = 'Get the general firmware version' + version_table.append([name,version]) + + name = ' Tuxcore' + version = tux.hw.behavior_get_version() + version = str(version[0])+'.'+str(version[1])+'.'+str(version[2]) + version_table.append([name,version]) + + name = ' Tuxaudio' + version = tux.hw.audio_get_version() + version = str(version[0])+'.'+str(version[1])+'.'+str(version[2]) + version_table.append([name,version]) + + name = ' Tux RF' + version = tux.hw.tuxrf_get_version() + version = str(version[0])+'.'+str(version[1])+'.'+str(version[2]) + version_table.append([name,version]) + + name = ' Fux RF' + version = tux.hw.donglerf_get_version() + version = str(version[0])+'.'+str(version[1])+'.'+str(version[2]) + version_table.append([name,version]) + + name = ' Fux USB' + version = 'Get the USB version' + version_table.append([name,version]) + + self.ver_value_list.clear() + for i in range(3): + self.ver_value_list.append(None,version_table[i]) + self.version_table = version_table + +#--------------------------------------------------------------------------- +# # SOUND TAB # #--------------------------------------------------------------------------- Modified: software/gadgets/settings/trunk/settings/Strings/fr_ALL.xml =================================================================== --- software/gadgets/settings/trunk/settings/Strings/fr_ALL.xml 2007-11-06 14:21:56 UTC (rev 659) +++ software/gadgets/settings/trunk/settings/Strings/fr_ALL.xml 2007-11-06 15:40:31 UTC (rev 660) @@ -1,5 +1,6 @@ <?xml version='1.0' encoding='UTF-8'?> <strings> + <lblLocal type='str'>Versions disponibles</lblLocal> <gui_conf_remote_title type='str'>Télécommande</gui_conf_remote_title> <btnSoundRemove type='str'>Enlever</btnSoundRemove> <lblSoundExternalFile type='str'>Fichier :</lblSoundExternalFile> @@ -8,6 +9,7 @@ <gui_conf_accept_bt type='str'>Valider</gui_conf_accept_bt> <help_text type='str'> </help_text> + <itemCPU type='str'>Flasher les processeurs</itemCPU> <btnSoundPlayMic type='str'>Lire</btnSoundPlayMic> <lblSoundLocal type='str'>Lire un wave local</lblSoundLocal> <gui_conf_version_lb type='str'>Version</gui_conf_version_lb> @@ -20,10 +22,13 @@ <chkSoundOriginal type='str'>Fichier originaux</chkSoundOriginal> <btnSoundClear type='str'>Purger</btnSoundClear> <lblSoundMic type='str'>Microphone</lblSoundMic> + <itemChangeLog type='str'>Voir les changements</itemChangeLog> <lblSoundLocalSelect type='str'>Selectionner un son :</lblSoundLocalSelect> <lblSoundExternal type='str'>Lire un wave externe</lblSoundExternal> <gui_conf_description_lb type='str'>Description</gui_conf_description_lb> <gui_conf_author_lb type='str'>Auteur</gui_conf_author_lb> + <treeVersionVer type='str'>Version</treeVersionVer> + <treeVersionProg type='str'>Component</treeVersionProg> <lblSoundExternalPlay type='str'>Lecture</lblSoundExternalPlay> <gui_conf_current_bind_lb type='str'>Assignation</gui_conf_current_bind_lb> <speaker_name type='str'>Bruno8k</speaker_name> @@ -32,6 +37,7 @@ <gui_conf_window_title type='str'>Paramètres</gui_conf_window_title> <lblTabSound type='str'>Audio</lblTabSound> <btnSoundStore type='str'>Ecrire</btnSoundStore> + <lblVersions type='str'>Versions installées</lblVersions> <btnSoundModify type='str'>Modifier</btnSoundModify> <lblTabVersion type='str'>Versions</lblTabVersion> <btnSoundPlayNum type='str'>Lire</btnSoundPlayNum> Modified: software/gadgets/settings/trunk/settings/about.xml =================================================================== (Binary files differ) Modified: software/gadgets/settings/trunk/settings/settings.xml =================================================================== --- software/gadgets/settings/trunk/settings/settings.xml 2007-11-06 14:21:56 UTC (rev 659) +++ software/gadgets/settings/trunk/settings/settings.xml 2007-11-06 15:40:31 UTC (rev 660) @@ -1,14 +1,14 @@ <?xml version='1.0' encoding='UTF-8'?> <settings> <parameters> - <hidden_in_manager type='bool'>True</hidden_in_manager> + <hidden_in_manager type='bool'>False</hidden_in_manager> </parameters> <general> <gui_state> <widget> <y type='int'>176</y> <visible type='bool'>True</visible> - <x type='int'>1058</x> + <x type='int'>1019</x> </widget> <conf> <y type='int'>50</y> @@ -20,7 +20,9 @@ <notified type='bool'>True</notified> <notify_delay type='int'>60</notify_delay> <menu_active type='bool'>True</menu_active> + <main_priority type='int'>4</main_priority> <speaker type='int'>3</speaker> <pitch type='int'>100</pitch> + <notify_priority type='int'>4</notify_priority> </general> </settings> Modified: software/gadgets/settings/trunk/settings/strings.xml =================================================================== --- software/gadgets/settings/trunk/settings/strings.xml 2007-11-06 14:21:56 UTC (rev 659) +++ software/gadgets/settings/trunk/settings/strings.xml 2007-11-06 15:40:31 UTC (rev 660) @@ -1,5 +1,6 @@ <?xml version='1.0' encoding='UTF-8'?> <strings> + <lblLocal type='str'>Available versions</lblLocal> <gui_conf_remote_title type='str'>Remote</gui_conf_remote_title> <btnSoundRemove type='str'>Remove</btnSoundRemove> <lblSoundExternalFile type='str'>File :</lblSoundExternalFile> @@ -8,6 +9,7 @@ <gui_conf_accept_bt type='str'>Accept</gui_conf_accept_bt> <help_text type='str'> </help_text> + <itemCPU type='str'>Flash the CPUs</itemCPU> <btnSoundPlayMic type='str'>Play</btnSoundPlayMic> <lblSoundLocal type='str'>Play local wave files</lblSoundLocal> <gui_conf_version_lb type='str'>Version</gui_conf_version_lb> @@ -20,10 +22,13 @@ <chkSoundOriginal type='str'>Include originals</chkSoundOriginal> <btnSoundClear type='str'>Clear list</btnSoundClear> <speaker_name type='str'>Ryan8k</speaker_name> + <itemChangeLog type='str'>Show ChangeLog</itemChangeLog> <lblSoundLocalSelect type='str'>Select sound</lblSoundLocalSelect> <lblSoundExternal type='str'>Play external wave file</lblSoundExternal> <gui_conf_description_lb type='str'>Description</gui_conf_description_lb> <gui_conf_author_lb type='str'>Author</gui_conf_author_lb> + <treeVersionVer type='str'>Version</treeVersionVer> + <treeVersionProg type='str'>Component</treeVersionProg> <lblSoundExternalPlay type='str'>Play</lblSoundExternalPlay> <gui_conf_current_bind_lb type='str'>Current</gui_conf_current_bind_lb> <lblSoundMic type='str'>Microphone</lblSoundMic> @@ -32,6 +37,7 @@ <gui_conf_window_title type='str'>Parameters</gui_conf_window_title> <lblTabSound type='str'>Audio</lblTabSound> <btnSoundStore type='str'>Store</btnSoundStore> + <lblVersions type='str'>Installed versions</lblVersions> <btnSoundModify type='str'>Modify</btnSoundModify> <lblTabVersion type='str'>Versions</lblTabVersion> <btnSoundPlayNum type='str'>Play</btnSoundPlayNum> Modified: software/gadgets/settings/trunk/settings.tgf =================================================================== (Binary files differ) |