#1005 : Advanced Notifications Control : First part : Preferences GUI.

This commit is contained in:
Jean-Marie Traissard 2006-05-09 00:05:15 +00:00
parent b145e59b41
commit a106d402b8
4 changed files with 1494 additions and 179 deletions

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,6 @@
<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>
<signal name="key_press_event" handler="on_preferences_window_key_press_event" last_modification_time="Fri, 08 Apr 2005 01:08:08 GMT"/>
<signal name="destroy" handler="on_preferences_window_destroy" last_modification_time="Sun, 05 Mar 2006 11:50:52 GMT"/>
@ -192,10 +191,6 @@
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">iconset_combobox</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="padding">0</property>
@ -207,8 +202,6 @@
<child>
<widget class="GtkComboBox" id="iconset_combobox">
<property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
<signal name="changed" handler="on_iconset_combobox_changed" last_modification_time="Tue, 21 Jun 2005 15:36:21 GMT"/>
</widget>
<packing>
@ -266,10 +259,6 @@
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">theme_combobox</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="padding">0</property>
@ -281,8 +270,6 @@
<child>
<widget class="GtkComboBox" id="theme_combobox">
<property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
<signal name="changed" handler="on_theme_combobox_changed" last_modification_time="Fri, 29 Apr 2005 11:44:52 GMT"/>
</widget>
<packing>
@ -333,10 +320,6 @@
<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>
@ -392,10 +375,6 @@
<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="padding">0</property>
@ -436,10 +415,6 @@
<property name="xpad">1</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">one_window_type_combobox</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="padding">0</property>
@ -455,8 +430,6 @@
Always
Per account
Per type</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
<signal name="changed" handler="on_one_window_type_combo_changed" last_modification_time="Thu, 29 Dec 2005 02:04:46 GMT"/>
</widget>
<packing>
@ -518,10 +491,6 @@ Per type</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>
</child>
</widget>
@ -535,8 +504,6 @@ Per type</property>
<child>
<widget class="GtkComboBox" id="emoticons_combobox">
<property name="visible">True</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
<signal name="changed" handler="on_emoticons_combobox_changed" last_modification_time="Fri, 28 Apr 2006 15:39:32 GMT"/>
</widget>
<packing>
@ -598,10 +565,6 @@ Per type</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="padding">0</property>
@ -703,10 +666,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">after_time_entry</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="left_attach">2</property>
@ -732,10 +691,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">after_nickname_entry</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="left_attach">2</property>
@ -761,10 +716,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">before_nickname_entry</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="left_attach">0</property>
@ -790,10 +741,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">before_time_entry</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="left_attach">0</property>
@ -931,10 +878,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">incoming_msg_colorbutton</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="left_attach">0</property>
@ -960,10 +903,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">outgoing_msg_colorbutton</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="left_attach">0</property>
@ -989,10 +928,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">status_msg_colorbutton</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="left_attach">0</property>
@ -1117,10 +1052,6 @@ Per type</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="padding">0</property>
@ -1157,10 +1088,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">conversation_fontbutton</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="left_attach">0</property>
@ -1207,10 +1134,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">url_msg_colorbutton</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="left_attach">0</property>
@ -1264,10 +1187,6 @@ Per type</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>
@ -1323,10 +1242,6 @@ Per type</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="padding">0</property>
@ -1489,10 +1404,6 @@ Per type</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>
</child>
</widget>
@ -1527,10 +1438,6 @@ Per type</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="padding">0</property>
@ -1607,6 +1514,102 @@ Per type</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkHBox" id="hbox3020">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkButton" id="button1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<signal name="clicked" handler="on_open_advanced_notifications_button_clicked" last_modification_time="Wed, 03 May 2006 17:08:13 GMT"/>
<child>
<widget class="GtkAlignment" id="alignment90">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">0</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkHBox" id="hbox3019">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image1371">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label382">
<property name="visible">True</property>
<property name="label" translatable="yes">_Advanced Notifications Control...</property>
<property name="use_underline">True</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>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
@ -1625,10 +1628,6 @@ Per type</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>
@ -1690,10 +1689,6 @@ Per type</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">chat_states_combobox</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>
</child>
</widget>
@ -1710,8 +1705,6 @@ Per type</property>
<property name="items" translatable="yes">All chat states
Composing only
Disabled</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
<signal name="changed" handler="on_chat_states_combobox_changed" last_modification_time="Sun, 07 Aug 2005 19:15:49 GMT"/>
</widget>
<packing>
@ -1799,10 +1792,6 @@ Disabled</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">soundplayer_entry</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="padding">0</property>
@ -1862,9 +1851,6 @@ Disabled</property>
<property name="rules_hint">False</property>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
<signal name="cursor_changed" handler="on_treeview_sounds_cursor_changed" last_modification_time="Wed, 09 Feb 2005 22:51:36 GMT"/>
</widget>
</child>
@ -1970,10 +1956,6 @@ Disabled</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>
@ -2029,10 +2011,6 @@ Disabled</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="padding">0</property>
@ -2121,10 +2099,6 @@ Disabled</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="left_attach">2</property>
@ -2149,10 +2123,6 @@ Disabled</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="left_attach">2</property>
@ -2312,10 +2282,6 @@ Disabled</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="padding">0</property>
@ -2434,9 +2400,6 @@ Disabled</property>
<property name="rules_hint">False</property>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
<signal name="cursor_changed" handler="on_msg_treeview_cursor_changed" last_modification_time="Sun, 24 Oct 2004 21:46:28 GMT"/>
<signal name="key_press_event" handler="on_msg_treeview_key_press_event" last_modification_time="Wed, 02 Feb 2005 21:04:34 GMT"/>
</widget>
@ -2551,10 +2514,6 @@ Disabled</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>
@ -2610,10 +2569,6 @@ Disabled</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="padding">0</property>
@ -2667,8 +2622,6 @@ Disabled</property>
Always use GNOME default applications
Always use KDE default applications
Custom</property>
<property name="add_tearoffs">False</property>
<property name="focus_on_click">True</property>
<signal name="changed" handler="on_applications_combobox_changed" last_modification_time="Tue, 09 Aug 2005 15:12:31 GMT"/>
</widget>
<packing>
@ -2720,10 +2673,6 @@ Custom</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">custom_browser_entry</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="left_attach">0</property>
@ -2749,10 +2698,6 @@ Custom</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">custom_mail_client_entry</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="left_attach">0</property>
@ -2822,10 +2767,6 @@ Custom</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="mnemonic_widget">custom_file_manager_entry</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="left_attach">0</property>
@ -2876,10 +2817,6 @@ Custom</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>
@ -2910,10 +2847,6 @@ Custom</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>
@ -3029,10 +2962,6 @@ Custom</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>
@ -3122,10 +3051,6 @@ Custom</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="padding">0</property>
@ -3155,10 +3080,6 @@ Custom</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>
@ -3214,10 +3135,6 @@ Custom</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="padding">0</property>

View File

@ -552,6 +552,9 @@ class PreferencesWindow:
gajim.interface.roster.change_roster_style(None)
gajim.interface.save_config()
def on_open_advanced_notifications_button_clicked(self, widget):
dialogs.AdvancedNotificationsWindow()
def on_one_window_type_combo_changed(self, widget):
active = widget.get_active()
config_type = common.config.opt_one_window_types[active]

View File

@ -1717,3 +1717,127 @@ class AddSpecialNotificationDialog:
active_iter = self.listen_sound_combobox.get_active_iter()
listen_sound_model = self.listen_sound_combobox.get_model()
print listen_sound_model[active_iter][0]
class AdvancedNotificationsWindow:
def __init__(self):
self.xml = gtkgui_helpers.get_glade('advanced_notifications_window.glade')
self.window = self.xml.get_widget('advanced_notifications_window')
self.xml.signal_autoconnect(self)
self.conditions_treeview = self.xml.get_widget('conditions_treeview')
self.recipient_type_combobox = self.xml.get_widget('recipient_type_combobox')
self.recipient_list = self.xml.get_widget('recipient_list')
self.list_expander = self.xml.get_widget('list_expander')
self.status_hbox = self.xml.get_widget('status_hbox')
# Contains status checkboxes
childs = self.status_hbox.get_children()
self.all_status_rb = childs[0]
self.special_status_rb = childs[1]
self.online_cb = childs[2]
self.away_cb = childs[3]
self.not_available_cb = childs[4]
self.busy_cb = childs[5]
self.invisible_cb = childs[6]
self.use_sound_cb = self.xml.get_widget('use_sound_cb')
self.disable_sound_cb = self.xml.get_widget('disable_sound_cb')
self.use_popup_cb = self.xml.get_widget('use_popup_cb')
self.disable_popup_cb = self.xml.get_widget('disable_popup_cb')
self.use_auto_open_cb = self.xml.get_widget('use_auto_open_cb')
self.disable_auto_open_cb = self.xml.get_widget('disable_auto_open_cb')
self.use_systray_cb = self.xml.get_widget('use_systray_cb')
self.disable_systray_cb = self.xml.get_widget('disable_systray_cb')
model = gtk.ListStore(str)
model.clear()
self.conditions_treeview.set_model(model)
col = gtk.TreeViewColumn(_('Condition'))
self.conditions_treeview.append_column(col)
renderer = gtk.CellRendererText()
col.pack_start(renderer, expand = True)
col.set_attributes(renderer, text = 0)
if (0==0): # No rule set yet
self.list_expander.set_expanded(False)
if (0==1): # We have existing rule(s)
#temporary example
model.append(("When Contact Connected for contact Asterix when I am Available",))
# TODO : add a "New rule" line
self.window.show_all()
# No rule selected at init time
self.initiate_new_rule_state()
def initiate_new_rule_state(self):
'''Set default value to all widgets'''
# Deal with status line
self.all_status_rb.set_active(True)
self.on_status_radiobutton_toggled(self.all_status_rb)
self.recipient_type_combobox.set_active(0)
def on_status_radiobutton_toggled(self, widget):
if self.all_status_rb.get_active():
# 'All status' clicked
self.online_cb.hide()
self.away_cb.hide()
self.not_available_cb.hide()
self.busy_cb.hide()
self.invisible_cb.hide()
self.online_cb.set_active(False)
self.away_cb.set_active(False)
self.not_available_cb.set_active(False)
self.busy_cb.set_active(False)
self.invisible_cb.set_active(False)
self.special_status_rb.show()
else:
# 'special status' clicked
self.online_cb.show()
self.away_cb.show()
self.not_available_cb.show()
self.busy_cb.show()
self.invisible_cb.show()
self.special_status_rb.hide()
def on_recipient_type_combobox_changed(self, widget):
if (self.recipient_type_combobox.get_active()==2 ):
self.recipient_list.hide()
else:
self.recipient_list.show()
# 8 next functions : Forbid two incompatible actions to be checked together
def on_use_sound_cb_toggled(self, widget):
if self.use_sound_cb.get_active() and self.disable_sound_cb.get_active():
self.disable_sound_cb.set_active(False)
def on_disable_sound_cb_toggled(self, widget):
if self.use_sound_cb.get_active() and self.disable_sound_cb.get_active():
self.use_sound_cb.set_active(False)
def on_use_popup_cb_toggled(self, widget):
if self.use_popup_cb.get_active() and self.disable_popup_cb.get_active():
self.disable_popup_cb.set_active(False)
def on_disable_popup_cb_toggled(self, widget):
if self.use_popup_cb.get_active() and self.disable_popup_cb.get_active():
self.use_popup_cb.set_active(False)
def on_use_auto_open_cb_toggled(self, widget):
if self.use_auto_open_cb.get_active() and\
self.disable_auto_open_cb.get_active():
self.disable_auto_open_cb.set_active(False)
def on_disable_auto_open_cb_toggled(self, widget):
if self.use_auto_open_cb.get_active() and\
self.disable_auto_open_cb.get_active():
self.use_auto_open_cb.set_active(False)
def on_use_systray_cb_toggled(self, widget):
if self.use_systray_cb.get_active() and self.disable_systray_cb.get_active():
self.disable_systray_cb.set_active(False)
def on_disable_systray_cb_toggled(self, widget):
if self.use_systray_cb.get_active() and self.disable_systray_cb.get_active():
self.use_systray_cb.set_active(False)
def on_close_window(self, widget):
self.window.destroy()