[tuxdroid-svn] r656 - in software/gadgets: . settings settings/trunk settings/trunk/settings setti
Status: Beta
Brought to you by:
ks156
From: Paul_R <c2m...@c2...> - 2007-11-06 09:37:44
|
Author: Paul_R Date: 2007-11-06 10:37:29 +0100 (Tue, 06 Nov 2007) New Revision: 656 Added: software/gadgets/settings/ software/gadgets/settings/branches/ software/gadgets/settings/tags/ software/gadgets/settings/trunk/ software/gadgets/settings/trunk/settings.tgf software/gadgets/settings/trunk/settings/ software/gadgets/settings/trunk/settings/Pictures/ software/gadgets/settings/trunk/settings/Pictures/Icons/ software/gadgets/settings/trunk/settings/Pictures/Icons/gadget.png software/gadgets/settings/trunk/settings/Scripts/ software/gadgets/settings/trunk/settings/Scripts/Python/ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/other.glade software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/other.pyp software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/ 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/Scripts/Python/init.pyp software/gadgets/settings/trunk/settings/Scripts/Python/main.pyp software/gadgets/settings/trunk/settings/Scripts/Python/notify.pyp software/gadgets/settings/trunk/settings/Strings/ software/gadgets/settings/trunk/settings/Strings/fr_ALL.xml software/gadgets/settings/trunk/settings/about.xml software/gadgets/settings/trunk/settings/parts.xml software/gadgets/settings/trunk/settings/settings.xml software/gadgets/settings/trunk/settings/strings.xml Log: * Added the settings gadget. The sound tab is OK Added: software/gadgets/settings/trunk/settings/Pictures/Icons/gadget.png =================================================================== (Binary files differ) Property changes on: software/gadgets/settings/trunk/settings/Pictures/Icons/gadget.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/other.glade =================================================================== (Binary files differ) Property changes on: software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/other.glade ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/other.pyp =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/other.pyp (rev 0) +++ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/conf/other.pyp 2007-11-06 09:37:29 UTC (rev 656) @@ -0,0 +1,99 @@ +bindtextdomain("params", "") + +class Window(SimpleGladeApp): + + def __init__(self, + path=_me.get_path('root') + '/Scripts/Python/GUI/conf/other.glade', + root="window1", + domain="params", **kwargs): + """ + Constructor + """ + SimpleGladeApp.__init__(self, path, root, domain, **kwargs) + + def new(self): + """ + On new window + """ + self.updates_commons() + self.updates_specifics() + + def updates_commons(self): + """ + Updates common widgets + """ + # Window title + txt = "%s : %s" % (_me.string('name_to_read'), + _me.string('gui_conf_window_title')) + self.get_widget("window1").set_title(txt) + + # About labels + txt = _me.string('gui_conf_about_title') + self.get_widget("label7").set_text(txt) + + txt = "%s : %s" % (_me.string('gui_conf_description_lb'), + _me.get_description()) + self.get_widget("label_description").set_text(txt) + + txt = "%s : %s" % (_me.string('gui_conf_author_lb'), + _me.get_author()) + self.get_widget("label_author").set_text(txt) + + txt = "%s : %s" % (_me.string('gui_conf_version_lb'), + _me.get_version()) + self.get_widget("label_version").set_text(txt) + + # Remote Frame + txt = _me.string('gui_conf_remote_title') + self.get_widget("label11").set_text(txt) + + txt = "%s : None" % _me.string('gui_conf_current_bind_lb') + self.get_widget("label_remote").set_text(txt) + + txt = _me.string('gui_conf_remote_set_bt') + self.get_widget("button_remote").set_label(txt) + + # Update Frame + txt = _me.string('gui_conf_update_title') + self.get_widget("label12").set_text(txt) + + txt = "%s : " % _me.string('gui_conf_delay_lb') + self.get_widget("label13").set_text(txt) + + value = _me.get_var('notify_delay') + self.get_widget("delay_spinbutton").set_value(value) + + # Bottom buttons + txt = _me.string('gui_conf_cancel_bt') + self.get_widget("label6").set_text(txt) + + txt = _me.string('gui_conf_accept_bt') + self.get_widget("label5").set_text(txt) + + def updates_specifics(self): + pass + + def on_button_remote_clicked(self, widget, *args): + """ + On button 'set' remote clicked + """ + def remote_set_caption(): + tux.sys.wait(0.1) + gadgets['Manager'].gui('remote').window.set_captions(gadgets[_me.get_name()]) + if gadgets.has_key('Manager'): + if not gadgets['Manager'].gui('remote').showed(): + gadgets['Manager'].gui('remote').show() + thread.start_new_thread(remote_set_caption, ()) + + def on_accept_clicked(self, widget, *args): + """ + On button 'accept' clicked + """ + _me.set_var('notify_delay', int(self.get_widget("delay_spinbutton").get_value())) + self.get_widget("window1").destroy() + + def on_cancel_clicked(self, widget, *args): + """ + On button 'cancel' clicked + """ + self.get_widget("window1").destroy() Added: software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.glade =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.glade (rev 0) +++ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.glade 2007-11-06 09:37:29 UTC (rev 656) @@ -0,0 +1,943 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkWindow" id="window1"> + <property name="width_request">650</property> + <property name="height_request">475</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Tux Droid Interface</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">False</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <signal name="destroy" handler="on_window1_destroy"/> + + <child> + <widget class="GtkNotebook" id="notebook1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="show_tabs">True</property> + <property name="show_border">True</property> + <property name="tab_pos">GTK_POS_TOP</property> + <property name="scrollable">False</property> + <property name="enable_popup">False</property> + + <child> + <widget class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <placeholder/> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="lblTabConfig"> + <property name="visible">True</property> + <property name="label" translatable="yes">Main</property> + <property name="use_underline">False</property> + <property name="use_markup">False</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">tab</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <placeholder/> + </child> + </widget> + <packing> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="lblTabVersion"> + <property name="visible">True</property> + <property name="label" translatable="yes">TTS</property> + <property name="use_underline">False</property> + <property name="use_markup">False</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">tab</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox3"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkFrame" id="frame8"> + <property name="border_width">2</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_OUT</property> + + <child> + <widget class="GtkAlignment" id="alignment8"> + <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="GtkFixed" id="fixed8"> + <property name="visible">True</property> + + <child> + <widget class="GtkButton" id="btnSoundExternalPlay"> + <property name="width_request">72</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Play</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_external_play_bt_clicked"/> + </widget> + <packing> + <property name="x">289</property> + <property name="y">1</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="lblSoundExternalFile"> + <property name="width_request">71</property> + <property name="height_request">20</property> + <property name="visible">True</property> + <property name="label" translatable="yes">File name</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_RIGHT</property> + <property name="wrap">True</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="x">0</property> + <property name="y">5</property> + </packing> + </child> + + <child> + <widget class="GtkFileChooserButton" id="soundExternalChooser"> + <property name="width_request">200</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Select wave file</property> + <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property> + <property name="local_only">True</property> + <property name="show_hidden">False</property> + <property name="do_overwrite_confirmation">False</property> + <property name="width_chars">-1</property> + <signal name="selection_changed" handler="on_wave_external_changed"/> + </widget> + <packing> + <property name="x">80</property> + <property name="y">2</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="lblSoundExternal"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Play external wave file</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="frame9"> + <property name="border_width">2</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_OUT</property> + + <child> + <widget class="GtkAlignment" id="alignment9"> + <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="GtkFixed" id="fixed9"> + <property name="height_request">206</property> + <property name="visible">True</property> + + <child> + <widget class="GtkSpinButton" id="spinbutton8"> + <property name="width_request">42</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 1 255 1 10 10</property> + </widget> + <packing> + <property name="x">471</property> + <property name="y">63</property> + </packing> + </child> + + <child> + <widget class="GtkToolItem" id="toolitem1"> + <property name="width_request">50</property> + <property name="height_request">50</property> + <property name="visible">True</property> + <property name="visible_horizontal">True</property> + <property name="visible_vertical">True</property> + <property name="is_important">False</property> + </widget> + <packing> + <property name="x">24</property> + <property name="y">168</property> + </packing> + </child> + + <child> + <widget class="GtkProgressBar" id="progressbar1"> + <property name="width_request">360</property> + <property name="height_request">16</property> + <property name="visible">True</property> + <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property> + <property name="fraction">0</property> + <property name="pulse_step">0.25</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + </widget> + <packing> + <property name="x">0</property> + <property name="y">160</property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="width_request">376</property> + <property name="height_request">152</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="shadow_type">GTK_SHADOW_NONE</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <placeholder/> + </child> + </widget> + <packing> + <property name="x">0</property> + <property name="y">0</property> + </packing> + </child> + + <child> + <widget class="GtkFileChooserButton" id="soundInternalChooser"> + <property name="width_request">200</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Select wave file</property> + <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property> + <property name="local_only">True</property> + <property name="show_hidden">False</property> + <property name="do_overwrite_confirmation">False</property> + <property name="width_chars">-1</property> + <signal name="selection_changed" handler="on_wave_internal_changed"/> + </widget> + <packing> + <property name="x">392</property> + <property name="y">0</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSoundAdd"> + <property name="width_request">72</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Add</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_add_bt_clicked"/> + </widget> + <packing> + <property name="x">392</property> + <property name="y">32</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSoundRemove"> + <property name="width_request">72</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Remove</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_remove_bt_clicked"/> + </widget> + <packing> + <property name="x">392</property> + <property name="y">64</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSoundModify"> + <property name="width_request">72</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Modify</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_btnSoundModify_clicked" last_modification_time="Mon, 05 Nov 2007 14:45:42 GMT"/> + </widget> + <packing> + <property name="x">392</property> + <property name="y">96</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSoundClear"> + <property name="width_request">72</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Clear list</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_clist_bt_clicked"/> + </widget> + <packing> + <property name="x">392</property> + <property name="y">128</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSoundStore"> + <property name="width_request">72</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Store</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_store_bt_clicked"/> + </widget> + <packing> + <property name="x">520</property> + <property name="y">128</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="chkSoundOriginal"> + <property name="width_request">148</property> + <property name="height_request">24</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes"></property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_incl_orig_toggled" last_modification_time="Mon, 16 Apr 2007 10:51:02 GMT"/> + </widget> + <packing> + <property name="x">476</property> + <property name="y">32</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="lblSoundStore"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Store wave files locally</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="frame10"> + <property name="border_width">2</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_OUT</property> + + <child> + <widget class="GtkAlignment" id="alignment10"> + <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="GtkFixed" id="fixed10"> + <property name="visible">True</property> + + <child> + <widget class="GtkSpinButton" id="spinbutton7"> + <property name="width_request">56</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">False</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">False</property> + <property name="wrap">False</property> + <property name="adjustment">1 1 255 1 10 10</property> + </widget> + <packing> + <property name="x">536</property> + <property name="y">2</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound3"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">3</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play3_clicked"/> + </widget> + <packing> + <property name="x">160</property> + <property name="y">2</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound4"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">4</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internat_play4_clicked"/> + </widget> + <packing> + <property name="x">240</property> + <property name="y">2</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound5"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">5</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play5_clicked"/> + </widget> + <packing> + <property name="x">320</property> + <property name="y">2</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound6"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">6</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play6_clicked"/> + </widget> + <packing> + <property name="x">0</property> + <property name="y">35</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound1"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">1</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play1_clicked"/> + </widget> + <packing> + <property name="x">0</property> + <property name="y">2</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound8"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">8</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play8_clicked"/> + </widget> + <packing> + <property name="x">160</property> + <property name="y">35</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound7"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">7</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play7_clicked"/> + </widget> + <packing> + <property name="x">80</property> + <property name="y">35</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound9"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">9</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play9_clicked"/> + </widget> + <packing> + <property name="x">240</property> + <property name="y">35</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound10"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">10</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play10_clicked"/> + </widget> + <packing> + <property name="x">320</property> + <property name="y">35</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSound2"> + <property name="width_request">60</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">2 +</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play2_clicked" last_modification_time="Mon, 05 Nov 2007 14:41:30 GMT"/> + </widget> + <packing> + <property name="x">80</property> + <property name="y">2</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="lblSoundLocalSelect"> + <property name="width_request">133</property> + <property name="height_request">17</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Select sound</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_RIGHT</property> + <property name="wrap">True</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="x">400</property> + <property name="y">8</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSoundPlayNum"> + <property name="width_request">72</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Play</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_wave_internal_play_bt_clicked"/> + </widget> + <packing> + <property name="x">520</property> + <property name="y">35</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="lblSoundLocal"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Play local wave files</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="frame11"> + <property name="border_width">2</property> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="label_yalign">0.5</property> + <property name="shadow_type">GTK_SHADOW_OUT</property> + + <child> + <widget class="GtkAlignment" id="alignment11"> + <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="GtkFixed" id="fixed11"> + <property name="visible">True</property> + + <child> + <widget class="GtkButton" id="btnSoundRecordMic"> + <property name="width_request">90</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Record</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_mic_record_bt_clicked"/> + </widget> + <packing> + <property name="x">0</property> + <property name="y">3</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="btnSoundPlayMic"> + <property name="width_request">90</property> + <property name="height_request">27</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Play</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_mic_play_bt_clicked"/> + </widget> + <packing> + <property name="x">104</property> + <property name="y">3</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + + <child> + <widget class="GtkLabel" id="lblSoundMic"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Microphone</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="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="lblTabSound"> + <property name="visible">True</property> + <property name="label" translatable="yes">Audio</property> + <property name="use_underline">False</property> + <property name="use_markup">False</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">tab</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> Added: software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.pyp =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.pyp (rev 0) +++ software/gadgets/settings/trunk/settings/Scripts/Python/GUI/widget/other.pyp 2007-11-06 09:37:29 UTC (rev 656) @@ -0,0 +1,326 @@ +bindtextdomain("params", "") +soundcard = tux.hw.alsa_device + +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) + + def new(self): + self.get_widget("window1").set_title(_me.string('name_to_read')) + thread.start_new_thread(self.update, ()) + + def update(self): + self.get_widget('lblTabConfig').set_text(_me.string('lblTabConfig')) + self.get_widget('lblTabSound').set_text(_me.string('lblTabSound')) + self.get_widget('lblTabVersion').set_text(_me.string('lblTabVersion')) + + self.SoundLabelUpdate() + self.treeview_update() + self.get_widget('progressbar1').hide() + + def SoundLabelUpdate(self): + self.get_widget('btnSoundAdd').set_label(_me.string('btnSoundAdd')) + self.get_widget('btnSoundClear').set_label(_me.string('btnSoundClear')) + self.get_widget('btnSoundModify').set_label(_me.string('btnSoundModify')) + self.get_widget('btnSoundPlayMic').set_label(_me.string('btnSoundPlayMic')) + self.get_widget('btnSoundPlayNum').set_label(_me.string('btnSoundPlayNum')) + self.get_widget('btnSoundRecordMic').set_label(_me.string('btnSoundRecordMic')) + self.get_widget('btnSoundRemove').set_label(_me.string('btnSoundRemove')) + self.get_widget('btnSoundStore').set_label(_me.string('btnSoundStore')) + self.get_widget('btnSoundExternalPlay').set_label(_me.string('lblSoundExternalPlay')) + + self.get_widget('chkSoundOriginal').set_label(_me.string('chkSoundOriginal')) + + self.get_widget('lblSoundExternal').set_text(_me.string('lblSoundExternal')) + self.get_widget('lblSoundExternalFile').set_text(_me.string('lblSoundExternalFile')) + self.get_widget('lblSoundLocal').set_text(_me.string('lblSoundLocal')) + self.get_widget('lblSoundLocalSelect').set_text(_me.string('lblSoundLocalSelect')) + self.get_widget('lblSoundMic').set_text(_me.string('lblSoundMic')) + self.get_widget('lblSoundStore').set_text(_me.string('lblSoundStore')) + + + + + + + + def treeview_update(self): + self.index_column = gtk.TreeViewColumn('Index') + self.index_column.set_min_width(50) + self.index_cell = gtk.CellRendererText() + self.index_column.pack_start(self.index_cell, True) + self.index_column.add_attribute(self.index_cell, 'text', 0) + + self.event_column = gtk.TreeViewColumn(_me.string('treeFile')) + self.event_column.set_min_width(100) + self.event_cell = gtk.CellRendererText() + self.event_column.pack_start(self.event_cell, True) + self.event_column.add_attribute(self.event_cell, 'text', 1) + + self.value_list = gtk.TreeStore(int, str) + 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.get_selection().connect("changed",self.on_row_selected) + self.get_widget("scrolledwindow1").add(self.gadget_viewer) + self.get_widget("scrolledwindow1").show_all() + + +#--------------------------------------------------------------------------- +# +# SOUND TAB +# +#--------------------------------------------------------------------------- + + #-------------------------------------------------------------------------- + # On select external wave file event + #-------------------------------------------------------------------------- + def on_wave_external_changed(self, widget, *args): + filename=widget.get_filename() + ext=len(filename)-filename.find(".wav") + if ext != 4 : + widget.unselect_filename(filename) + + #-------------------------------------------------------------------------- + # On "play" external wave file button clicked + #-------------------------------------------------------------------------- + def on_wave_external_play_bt_clicked(self, widget, *args): + if str(self.get_widget("soundExternalChooser").get_filename())=="None": return + tux.sys.shell_free("aplay -D %s %s"% (soundcard, + self.get_widget("soundExternalChooser").get_filename())) + + #-------------------------------------------------------------------------- + # On select original sounds + #-------------------------------------------------------------------------- + def on_incl_orig_toggled(self, widget, *args): + st_wav_paths = wavs.wav_paths + if widget.get_active(): + wavs.wav_paths=[] + wavs.wav_sizes=[] + for i in range(17): + wavs.add_wav_path('/opt/tuxdroid/apps/tuxgi/sounds/%d.wav'%(i+1)) + for path in st_wav_paths: + wavs.add_wav_path(path) + else: + if len(st_wav_paths) > 17: + for i in range(17): + wavs.wav_sizes.pop(0) + wavs.wav_paths.pop(0) + else: + wavs.wav_paths=[] + wavs.wav_sizes=[] + self.refresh_wav_list() + + + #-------------------------------------------------------------------------- + # On select internal wave file event + #-------------------------------------------------------------------------- + def on_row_selected(self, obj): + path = obj.get_selected_rows() + self.__iter = self.value_list.get_iter(path[1][0]) + self.__path = path[1][0] + + + + #-------------------------------------------------------------------------- + # On select internal wave file event + #-------------------------------------------------------------------------- + def on_wave_internal_changed(self, widget, *args): + filename=widget.get_filename() + ext=len(filename)-filename.find(".wav") + if ext != 4 : + widget.unselect_filename(filename) + + #-------------------------------------------------------------------------- + # On "add" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_add_bt_clicked(self, widget, *args): + if str(self.get_widget("soundInternalChooser").get_filename())=="None": return + wavs.add_wav_path(self.get_widget("soundInternalChooser").get_filename()) + self.refresh_wav_list() + + #-------------------------------------------------------------------------- + # On "remove" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_remove_bt_clicked(self, widget, *args): + index = self.__path[0] + wavs.wav_sizes.pop(index) + wavs.wav_paths.pop(index) + self.refresh_wav_list() + + #-------------------------------------------------------------------------- + # On "modify" button clicked + #-------------------------------------------------------------------------- + def on_btnSoundModify_clicked(self, widget, *args): + index = self.__path[0] + if str(self.get_widget("soundInternalChooser").get_filename())=="None": return + path = self.get_widget("soundInternalChooser").get_filename() + #Add size to the table + f = open(path,'rb') + wh = f.read(44) + wav_length = (ord(wh[43]) * 256 ** 3) + (ord(wh[42]) * 256 ** 2) + \ + (ord(wh[41]) * 256 ** 1) + ord(wh[40]) + f.close() + wavs.wav_sizes[index] = wav_length + + #Add path to the table + wavs.wav_paths[index] = path + + self.refresh_wav_list() + + #-------------------------------------------------------------------------- + # Refreshing wave list function + #-------------------------------------------------------------------------- + def refresh_wav_list(self): + i = 0 + + self.value_list.clear() + for wavfile in wavs.wav_paths: + filename=wavfile[wavfile.rfind('/')+1:] + self.value_list.append(None,[(i+1),str(filename)]) + i += 1 + + #-------------------------------------------------------------------------- + # On "clear" internal wave file list button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_clist_bt_clicked(self, widget, *args): + wavs.wav_sizes=[] + wavs.wav_paths=[] + self.get_widget("checkbutton4").set_active(False) + self.refresh_wav_list() + + #-------------------------------------------------------------------------- + # On "store" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_store_bt_clicked(self, widget, *args): + thread.start_new_thread(self.sound_storing,()) + + #-------------------------------------------------------------------------- + # Store sound function + #-------------------------------------------------------------------------- + def sound_storing(self): + if tux.status.rf_state() == 0: + print 'no RF connexion' + return + if len(wavs.wav_sizes)==0: + print 'no wavs to store' + return + if not wavs.wavs_merging("merged.wav"): + print "Sound storing : Error : file merged is too big" + return + + self.get_widget('progressbar1').show() + self.get_widget('progressbar1').set_fraction(0) + + print "Sound storing : Erase flash" + self.get_widget('progressbar1').set_fraction(0.25) + tux.cmd.sound_storing(len(wavs.wav_sizes)) + while tux.status.flash_status()[1] != 3: + pass + current_pos=0x0400 + tux.sys.wait(0.1) + print "Sound storing : Indexes" + self.get_widget('progressbar1').set_fraction(0.5) + tux.cmd.sound_store_index(0x00,0x04,0x00) + + for size in wavs.wav_sizes: + current_pos=current_pos+size + tux.sys.wait(0.1) + tux.cmd.sound_store_index((current_pos & 0xFF0000)>>16, + (current_pos & 0x00FF00)>>8,current_pos & 0x0000FF) + + self.get_widget('progressbar1').set_fraction(0.75) + tux.sys.shell("aplay -D %s merged.wav"%soundcard) + self.get_widget('progressbar1').hide() + print "Sound storing : Storage done." + tux.sys.wait(0.3) + + + + + #-------------------------------------------------------------------------- + # On "play" flash sound button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play_bt_clicked(self, widget, *args): + def _funct(): + index=self.get_widget("spinbutton7").get_value() + tux.cmd.sound_play(int(index),0) + + thread.start_new_thread(_funct,()) + + #-------------------------------------------------------------------------- + # On "play flash sound number 1" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play1_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(1,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 2" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play2_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(2,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 3" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play3_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(3,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 4" button clicked + #-------------------------------------------------------------------------- + def on_wave_internat_play4_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(4,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 5" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play5_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(5,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 6" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play6_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(6,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 7" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play7_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(7,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 8" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play8_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(8,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 9" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play9_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(9,0,)) + + #-------------------------------------------------------------------------- + # On "play flash sound number 10" button clicked + #-------------------------------------------------------------------------- + def on_wave_internal_play10_clicked(self, widget, *args): + thread.start_new_thread(tux.cmd.sound_play,(10,0,)) + + #-------------------------------------------------------------------------- + # On "Play recorded wave file" button clicked + #-------------------------------------------------------------------------- + def on_mic_play_bt_clicked(self, widget, *args): + tux.sys.shell_free("aplay -D %s rec.wav"%soundcard) + + #-------------------------------------------------------------------------- + # On "Record wave file" button clicked + #-------------------------------------------------------------------------- + def on_mic_record_bt_clicked(self, widget, *args): + tux.cmd.mouth_open() + tux.sys.shell("arecord -D %s -d 10 -t wav rec.wav"%soundcard) + tux.cmd.mouth_close() Added: software/gadgets/settings/trunk/settings/Scripts/Python/init.pyp =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/init.pyp (rev 0) +++ software/gadgets/settings/trunk/settings/Scripts/Python/init.pyp 2007-11-06 09:37:29 UTC (rev 656) @@ -0,0 +1,30 @@ +# ---------------------------------------------------------------------------- +# Definition and initialization of the shared parameters +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Definition of the shared functions +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Initialization and finalization shared functions +# ---------------------------------------------------------------------------- +def initialization(): + """ + Function to initialize the gadget. This function is executed when all gadgets + has been loaded. + """ + pass + +def finalization(): + """ + Function to finalize the gadget. This function is executed when the gadget is + destroyed. + """ + pass + +# ---------------------------------------------------------------------------- +# Registeration of the shared functions +# ---------------------------------------------------------------------------- +_me.insert_funct('initialization', initialization) +_me.insert_funct('finalization', finalization) Added: software/gadgets/settings/trunk/settings/Scripts/Python/main.pyp =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/main.pyp (rev 0) +++ software/gadgets/settings/trunk/settings/Scripts/Python/main.pyp 2007-11-06 09:37:29 UTC (rev 656) @@ -0,0 +1,2 @@ +# 'Voiceget' part of the gadget. This code is executed when the +# gadget is run in the gadgets manager. Added: software/gadgets/settings/trunk/settings/Scripts/Python/notify.pyp =================================================================== --- software/gadgets/settings/trunk/settings/Scripts/Python/notify.pyp (rev 0) +++ software/gadgets/settings/trunk/se... [truncated message content] |