[Notifications] Update gtkui from libglade to gtkbuilder

This commit is contained in:
DjLegolas 2017-08-06 13:05:38 +03:00 committed by Calum Lind
commit 24a31b1194
2 changed files with 299 additions and 217 deletions

View file

@ -1,185 +1,230 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<glade-interface> <interface>
<!-- interface-requires gtk+ 2.16 --> <requires lib="gtk+" version="2.24"/>
<!-- interface-naming-policy toplevel-contextual --> <!-- interface-naming-policy toplevel-contextual -->
<widget class="GtkWindow" id="window"> <object class="GtkAdjustment" id="adjustment1">
<property name="lower">1</property>
<property name="upper">65535</property>
<property name="value">25</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkWindow" id="window">
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkVBox" id="prefs_box"> <object class="GtkVBox" id="prefs_box">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkViewport" id="viewport1"> <object class="GtkViewport" id="viewport1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="resize_mode">queue</property> <property name="resize_mode">queue</property>
<child> <child>
<widget class="GtkVBox" id="vbox4"> <object class="GtkVBox" id="vbox4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkVBox" id="vbox3"> <object class="GtkVBox" id="vbox3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkLabel" id="label22"> <object class="GtkLabel" id="label22">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="xpad">10</property> <property name="xpad">10</property>
<property name="ypad">10</property> <property name="ypad">10</property>
<property name="label" translatable="yes">&lt;b&gt;&lt;i&gt;&lt;big&gt;Notifications&lt;/big&gt;&lt;/i&gt;&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;&lt;i&gt;&lt;big&gt;Notifications&lt;/big&gt;&lt;/i&gt;&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkHSeparator" id="hseparator1"> <object class="GtkHSeparator" id="hseparator1">
<property name="visible">True</property> <property name="visible">True</property>
</widget> <property name="can_focus">False</property>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkAlignment" id="alignment1"> <object class="GtkAlignment" id="alignment1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="yalign">0</property> <property name="yalign">0</property>
<property name="bottom_padding">2</property> <property name="bottom_padding">2</property>
<property name="left_padding">2</property> <property name="left_padding">2</property>
<property name="right_padding">2</property> <property name="right_padding">2</property>
<child> <child>
<widget class="GtkNotebook" id="notebook1"> <object class="GtkNotebook" id="notebook1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<child> <child>
<widget class="GtkVBox" id="vbox2"> <object class="GtkVBox" id="vbox2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkFrame" id="frame2"> <object class="GtkFrame" id="frame2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property> <property name="label_xalign">0</property>
<property name="shadow_type">none</property> <property name="shadow_type">none</property>
<child> <child>
<widget class="GtkAlignment" id="alignment2"> <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkVBox" id="vbox1"> <object class="GtkVBox" id="vbox1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkCheckButton" id="blink_enabled"> <object class="GtkCheckButton" id="blink_enabled">
<property name="label" translatable="yes">Tray icon blinks enabled</property> <property name="label" translatable="yes">Tray icon blinks enabled</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="popup_enabled"> <object class="GtkCheckButton" id="popup_enabled">
<property name="label" translatable="yes">Popups enabled</property> <property name="label" translatable="yes">Popups enabled</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkHBox" id="hbox2"> <object class="GtkHBox" id="hbox2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkCheckButton" id="sound_enabled"> <object class="GtkCheckButton" id="sound_enabled">
<property name="label" translatable="yes">Sound enabled</property> <property name="label" translatable="yes">Sound enabled</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
<signal name="toggled" handler="on_sound_enabled_toggled"/> <signal name="toggled" handler="on_sound_enabled_toggled" swapped="no"/>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkFileChooserButton" id="sound_path"> <object class="GtkFileChooserButton" id="sound_path">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="create_folders">False</property> <property name="create_folders">False</property>
<signal name="update_preview" handler="on_sound_path_update_preview"/> <signal name="update-preview" handler="on_sound_path_update_preview" swapped="no"/>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="padding">2</property> <property name="padding">2</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
</child> </child>
<child> <child type="label">
<widget class="GtkLabel" id="label6"> <object class="GtkLabel" id="label6">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xpad">5</property> <property name="xpad">5</property>
<property name="label" translatable="yes">&lt;b&gt;UI Notifications&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;UI Notifications&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing>
<property name="type">label_item</property>
</packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkFrame" id="frame3"> <object class="GtkFrame" id="frame3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property> <property name="label_xalign">0</property>
<property name="shadow_type">none</property> <property name="shadow_type">none</property>
<child> <child>
<widget class="GtkAlignment" id="alignment3"> <object class="GtkAlignment" id="alignment3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkTable" id="prefs_table"> <object class="GtkTable" id="prefs_table">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_rows">7</property> <property name="n_rows">7</property>
<property name="n_columns">4</property> <property name="n_columns">4</property>
<property name="column_spacing">2</property> <property name="column_spacing">2</property>
<property name="row_spacing">2</property> <property name="row_spacing">2</property>
<child> <child>
<widget class="GtkLabel" id="label1"> <placeholder/>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Hostname:</property> <property name="label" translatable="yes">Hostname:</property>
<property name="justify">right</property> <property name="justify">right</property>
</widget> </object>
<packing> <packing>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="bottom_attach">2</property> <property name="bottom_attach">2</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="smtp_host"> <object class="GtkEntry" id="smtp_host">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
</widget> <property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
</object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
@ -188,11 +233,12 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label2"> <object class="GtkLabel" id="label2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Port:</property> <property name="label" translatable="yes">Port:</property>
<property name="justify">right</property> <property name="justify">right</property>
</widget> </object>
<packing> <packing>
<property name="left_attach">2</property> <property name="left_attach">2</property>
<property name="right_attach">3</property> <property name="right_attach">3</property>
@ -201,15 +247,19 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkSpinButton" id="smtp_port"> <object class="GtkSpinButton" id="smtp_port">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="max_length">5</property> <property name="max_length">5</property>
<property name="width_chars">5</property> <property name="width_chars">5</property>
<property name="adjustment">25 1 65535 1 10 0</property> <property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
<property name="adjustment">adjustment1</property>
<property name="climb_rate">1</property> <property name="climb_rate">1</property>
<property name="numeric">True</property> <property name="numeric">True</property>
</widget> </object>
<packing> <packing>
<property name="left_attach">3</property> <property name="left_attach">3</property>
<property name="right_attach">4</property> <property name="right_attach">4</property>
@ -218,21 +268,26 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label3"> <object class="GtkLabel" id="label3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Username:</property> <property name="label" translatable="yes">Username:</property>
<property name="justify">right</property> <property name="justify">right</property>
</widget> </object>
<packing> <packing>
<property name="top_attach">2</property> <property name="top_attach">2</property>
<property name="bottom_attach">3</property> <property name="bottom_attach">3</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="smtp_user"> <object class="GtkEntry" id="smtp_user">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
</widget> <property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
</object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">4</property> <property name="right_attach">4</property>
@ -241,21 +296,26 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label4"> <object class="GtkLabel" id="label4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Password:</property> <property name="label" translatable="yes">Password:</property>
</widget> </object>
<packing> <packing>
<property name="top_attach">3</property> <property name="top_attach">3</property>
<property name="bottom_attach">4</property> <property name="bottom_attach">4</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="smtp_pass"> <object class="GtkEntry" id="smtp_pass">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="visibility">False</property> <property name="visibility">False</property>
</widget> <property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
</object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">4</property> <property name="right_attach">4</property>
@ -264,52 +324,58 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkFrame" id="frame1"> <object class="GtkFrame" id="frame1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property> <property name="label_xalign">0</property>
<property name="shadow_type">none</property> <property name="shadow_type">none</property>
<child> <child>
<widget class="GtkAlignment" id="alignment4"> <object class="GtkAlignment" id="alignment4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<widget class="GtkHBox" id="hbox1"> <object class="GtkHBox" id="hbox1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">2</property> <property name="spacing">2</property>
<child> <child>
<widget class="GtkScrolledWindow" id="scrolledwindow1"> <object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property> <property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property> <property name="vscrollbar_policy">automatic</property>
<property name="shadow_type">in</property> <property name="shadow_type">in</property>
<child> <child>
<widget class="GtkTreeView" id="smtp_recipients"> <object class="GtkTreeView" id="smtp_recipients">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="headers_visible">False</property> <property name="headers_visible">False</property>
<property name="enable_grid_lines">horizontal</property> <property name="enable_grid_lines">horizontal</property>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkVButtonBox" id="vbuttonbox1"> <object class="GtkVButtonBox" id="vbuttonbox1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<property name="layout_style">start</property> <property name="layout_style">start</property>
<child> <child>
<widget class="GtkButton" id="add_button"> <object class="GtkButton" id="add_button">
<property name="label">gtk-add</property> <property name="label">gtk-add</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">True</property> <property name="receives_default">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="clicked" handler="on_add_button_clicked"/> <signal name="clicked" handler="on_add_button_clicked" swapped="no"/>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
@ -317,43 +383,42 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkButton" id="delete_button"> <object class="GtkButton" id="delete_button">
<property name="label">gtk-delete</property> <property name="label">gtk-delete</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">True</property> <property name="receives_default">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="clicked" handler="on_delete_button_clicked"/> <signal name="clicked" handler="on_delete_button_clicked" swapped="no"/>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property> <property name="padding">3</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
</child> </child>
<child> <child type="label">
<widget class="GtkLabel" id="label5"> <object class="GtkLabel" id="label5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">&lt;b&gt;Recipients&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Recipients&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing>
<property name="type">label_item</property>
</packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="right_attach">4</property> <property name="right_attach">4</property>
<property name="top_attach">6</property> <property name="top_attach">6</property>
@ -361,18 +426,19 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="smtp_tls"> <object class="GtkCheckButton" id="smtp_tls">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
<child> <child>
<widget class="GtkLabel" id="label9"> <object class="GtkLabel" id="label9">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Server requires TLS/SSL</property> <property name="label" translatable="yes">Server requires TLS/SSL</property>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">4</property> <property name="right_attach">4</property>
@ -382,21 +448,26 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label8"> <object class="GtkLabel" id="label8">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">From:</property> <property name="label" translatable="yes">From:</property>
<property name="justify">right</property> <property name="justify">right</property>
</widget> </object>
<packing> <packing>
<property name="top_attach">4</property> <property name="top_attach">4</property>
<property name="bottom_attach">5</property> <property name="bottom_attach">5</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="smtp_from"> <object class="GtkEntry" id="smtp_from">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
</widget> <property name="primary_icon_activatable">False</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
</object>
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">4</property> <property name="right_attach">4</property>
@ -405,141 +476,147 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="smtp_enabled"> <object class="GtkCheckButton" id="smtp_enabled">
<property name="label" translatable="yes">Enabled</property> <property name="label" translatable="yes">Enabled</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="draw_indicator">True</property> <property name="draw_indicator">True</property>
<signal name="toggled" handler="on_enabled_toggled"/> <signal name="toggled" handler="on_enabled_toggled" swapped="no"/>
</widget> </object>
<packing> <packing>
<property name="right_attach">4</property> <property name="right_attach">4</property>
</packing> </packing>
</child> </child>
<child> </object>
<placeholder/>
</child>
</widget>
</child> </child>
</widget> </object>
</child> </child>
<child> <child type="label">
<widget class="GtkLabel" id="label7"> <object class="GtkLabel" id="label7">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xpad">5</property> <property name="xpad">5</property>
<property name="label" translatable="yes">&lt;b&gt;Email Notifications&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Email Notifications&lt;/b&gt;</property>
<property name="use_markup">True</property> <property name="use_markup">True</property>
</widget> </object>
<packing>
<property name="type">label_item</property>
</packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
<child> <child type="tab">
<widget class="GtkLabel" id="settings_page_label"> <object class="GtkLabel" id="settings_page_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Settings</property> <property name="label" translatable="yes">Settings</property>
</widget> </object>
<packing> <packing>
<property name="tab_fill">False</property> <property name="tab_fill">False</property>
<property name="type">tab</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkVBox" id="vbox5"> <object class="GtkVBox" id="vbox5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<placeholder/> <placeholder/>
</child> </child>
<child> <child>
<widget class="GtkScrolledWindow" id="scrolledwindow2"> <object class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property> <property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property> <property name="vscrollbar_policy">automatic</property>
<child> <child>
<widget class="GtkTreeView" id="subscriptions_treeview"> <object class="GtkTreeView" id="subscriptions_treeview">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="enable_grid_lines">horizontal</property> <property name="enable_grid_lines">horizontal</property>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label12"> <object class="GtkLabel" id="label12">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">This configuration does not mean that you'll actually receive notifications for all these events.</property> <property name="label" translatable="yes">This configuration does not mean that you'll actually receive notifications for all these events.</property>
<property name="justify">fill</property> <property name="justify">fill</property>
<property name="wrap">True</property> <property name="wrap">True</property>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">2</property> <property name="padding">2</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<child> <child type="tab">
<widget class="GtkLabel" id="subscriptions_page_label"> <object class="GtkLabel" id="subscriptions_page_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Subscriptions</property> <property name="label" translatable="yes">Subscriptions</property>
</widget> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
<property name="tab_fill">False</property> <property name="tab_fill">False</property>
<property name="type">tab</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkVBox" id="sounds_page"> <object class="GtkVBox" id="sounds_page">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<child> <child>
<widget class="GtkScrolledWindow" id="scrolledwindow3"> <object class="GtkScrolledWindow" id="scrolledwindow3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="hscrollbar_policy">automatic</property> <property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property> <property name="vscrollbar_policy">automatic</property>
<child> <child>
<widget class="GtkTreeView" id="sounds_treeview"> <object class="GtkTreeView" id="sounds_treeview">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkHButtonBox" id="hbuttonbox1"> <object class="GtkHButtonBox" id="hbuttonbox1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">10</property> <property name="spacing">10</property>
<property name="layout_style">end</property> <property name="layout_style">end</property>
<child> <child>
<widget class="GtkButton" id="sounds_revert_button"> <object class="GtkButton" id="sounds_revert_button">
<property name="label">gtk-revert-to-saved</property> <property name="label">gtk-revert-to-saved</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">True</property> <property name="receives_default">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="clicked" handler="on_sounds_revert_button_clicked"/> <signal name="clicked" handler="on_sounds_revert_button_clicked" swapped="no"/>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
@ -547,59 +624,64 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkButton" id="sounds_edit_button"> <object class="GtkButton" id="sounds_edit_button">
<property name="label">gtk-edit</property> <property name="label">gtk-edit</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">True</property> <property name="receives_default">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="clicked" handler="on_sounds_edit_button_clicked"/> <signal name="clicked" handler="on_sounds_edit_button_clicked" swapped="no"/>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">False</property> <property name="fill">False</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">5</property> <property name="padding">5</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
<child> <child type="tab">
<widget class="GtkLabel" id="sounds_page_label"> <object class="GtkLabel" id="sounds_page_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Sound Customization</property> <property name="label" translatable="yes">Sound Customization</property>
</widget> </object>
<packing> <packing>
<property name="position">2</property> <property name="position">2</property>
<property name="tab_fill">False</property> <property name="tab_fill">False</property>
<property name="type">tab</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
<packing> <packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
</widget> </object>
</child> </child>
</widget> </object>
</glade-interface> </interface>

View file

@ -18,7 +18,6 @@ import logging
from os.path import basename from os.path import basename
import gtk import gtk
import gtk.glade
from twisted.internet import defer from twisted.internet import defer
import deluge.common import deluge.common
@ -238,9 +237,10 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
self.config = deluge.configmanager.ConfigManager( self.config = deluge.configmanager.ConfigManager(
'notifications-gtk.conf', DEFAULT_PREFS 'notifications-gtk.conf', DEFAULT_PREFS
) )
self.glade = gtk.glade.XML(get_resource('config.glade')) self.builder = gtk.Builder()
self.glade.get_widget('smtp_port').set_value(25) self.builder.add_from_file(get_resource('config.ui'))
self.prefs = self.glade.get_widget('prefs_box') self.builder.get_object('smtp_port').set_value(25)
self.prefs = self.builder.get_object('prefs_box')
self.prefs.show_all() self.prefs.show_all()
self.build_recipients_model_populate_treeview() self.build_recipients_model_populate_treeview()
@ -251,7 +251,7 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
self.popuplate_what_needs_handled_events self.popuplate_what_needs_handled_events
) )
self.glade.signal_autoconnect({ self.builder.connect_signals({
'on_add_button_clicked': (self.on_add_button_clicked, 'on_add_button_clicked': (self.on_add_button_clicked,
self.recipients_treeview), self.recipients_treeview),
'on_delete_button_clicked': (self.on_delete_button_clicked, 'on_delete_button_clicked': (self.on_delete_button_clicked,
@ -276,24 +276,24 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
self.on_show_prefs) self.on_show_prefs)
if not POPUP_AVAILABLE: if not POPUP_AVAILABLE:
self.glade.get_widget('popup_enabled').set_property('sensitive', self.builder.get_object('popup_enabled').set_property('sensitive',
False) False)
if not SOUND_AVAILABLE: if not SOUND_AVAILABLE:
# for widget_name in ('sound_enabled', 'sound_path', 'sounds_page', 'sounds_page_label'): # for widget_name in ('sound_enabled', 'sound_path', 'sounds_page', 'sounds_page_label'):
# self.glade.get_widget(widget_name).set_property('sensitive', False) # self.builder.get_object(widget_name).set_property('sensitive', False)
self.glade.get_widget('sound_enabled').set_property('sensitive', self.builder.get_object('sound_enabled').set_property('sensitive',
False)
self.builder.get_object('sound_path').set_property('sensitive', False)
self.builder.get_object('sounds_page').set_property('sensitive',
False) False)
self.glade.get_widget('sound_path').set_property('sensitive', False) self.builder.get_object('sounds_page_label').set_property('sensitive',
self.glade.get_widget('sounds_page').set_property('sensitive', False)
False)
self.glade.get_widget('sounds_page_label').set_property('sensitive',
False)
self.systray = component.get('SystemTray') self.systray = component.get('SystemTray')
if not hasattr(self.systray, 'tray'): if not hasattr(self.systray, 'tray'):
# Tray is not beeing used # Tray is not beeing used
self.glade.get_widget('blink_enabled').set_property('sensitive', self.builder.get_object('blink_enabled').set_property('sensitive',
False) False)
GtkUiNotifications.enable(self) GtkUiNotifications.enable(self)
@ -307,7 +307,7 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
def build_recipients_model_populate_treeview(self): def build_recipients_model_populate_treeview(self):
# SMTP Recipients treeview/model # SMTP Recipients treeview/model
self.recipients_treeview = self.glade.get_widget('smtp_recipients') self.recipients_treeview = self.builder.get_object('smtp_recipients')
treeview_selection = self.recipients_treeview.get_selection() treeview_selection = self.recipients_treeview.get_selection()
treeview_selection.connect( treeview_selection.connect(
'changed', self.on_recipients_treeview_selection_changed 'changed', self.on_recipients_treeview_selection_changed
@ -326,7 +326,7 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
def build_sounds_model_populate_treeview(self): def build_sounds_model_populate_treeview(self):
# Sound customisation treeview/model # Sound customisation treeview/model
self.sounds_treeview = self.glade.get_widget('sounds_treeview') self.sounds_treeview = self.builder.get_object('sounds_treeview')
sounds_selection = self.sounds_treeview.get_selection() sounds_selection = self.sounds_treeview.get_selection()
sounds_selection.connect( sounds_selection.connect(
'changed', self.on_sounds_treeview_selection_changed 'changed', self.on_sounds_treeview_selection_changed
@ -362,7 +362,7 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
def build_notifications_model_populate_treeview(self): def build_notifications_model_populate_treeview(self):
# Notification Subscriptions treeview/model # Notification Subscriptions treeview/model
self.subscriptions_treeview = self.glade.get_widget('subscriptions_treeview') self.subscriptions_treeview = self.builder.get_object('subscriptions_treeview')
subscriptions_selection = self.subscriptions_treeview.get_selection() subscriptions_selection = self.subscriptions_treeview.get_selection()
subscriptions_selection.connect( subscriptions_selection.connect(
'changed', self.on_subscriptions_treeview_selection_changed 'changed', self.on_subscriptions_treeview_selection_changed
@ -469,7 +469,7 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
current_sound_subscriptions.append(event) current_sound_subscriptions.append(event)
old_sound_file = self.config['sound_path'] old_sound_file = self.config['sound_path']
new_sound_file = self.glade.get_widget('sound_path').get_filename() new_sound_file = self.builder.get_object('sound_path').get_filename()
log.debug('Old Default sound file: %s New one: %s', log.debug('Old Default sound file: %s New one: %s',
old_sound_file, new_sound_file) old_sound_file, new_sound_file)
custom_sounds = {} custom_sounds = {}
@ -480,9 +480,9 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
custom_sounds[event_name] = filepath custom_sounds[event_name] = filepath
self.config.config.update({ self.config.config.update({
'popup_enabled': self.glade.get_widget('popup_enabled').get_active(), 'popup_enabled': self.builder.get_object('popup_enabled').get_active(),
'blink_enabled': self.glade.get_widget('blink_enabled').get_active(), 'blink_enabled': self.builder.get_object('blink_enabled').get_active(),
'sound_enabled': self.glade.get_widget('sound_enabled').get_active(), 'sound_enabled': self.builder.get_object('sound_enabled').get_active(),
'sound_path': new_sound_file, 'sound_path': new_sound_file,
'subscriptions': { 'subscriptions': {
'popup': current_popup_subscriptions, 'popup': current_popup_subscriptions,
@ -494,13 +494,13 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
self.config.save() self.config.save()
core_config = { core_config = {
'smtp_enabled': self.glade.get_widget('smtp_enabled').get_active(), 'smtp_enabled': self.builder.get_object('smtp_enabled').get_active(),
'smtp_host': self.glade.get_widget('smtp_host').get_text(), 'smtp_host': self.builder.get_object('smtp_host').get_text(),
'smtp_port': self.glade.get_widget('smtp_port').get_value(), 'smtp_port': self.builder.get_object('smtp_port').get_value(),
'smtp_user': self.glade.get_widget('smtp_user').get_text(), 'smtp_user': self.builder.get_object('smtp_user').get_text(),
'smtp_pass': self.glade.get_widget('smtp_pass').get_text(), 'smtp_pass': self.builder.get_object('smtp_pass').get_text(),
'smtp_from': self.glade.get_widget('smtp_from').get_text(), 'smtp_from': self.builder.get_object('smtp_from').get_text(),
'smtp_tls': self.glade.get_widget('smtp_tls').get_active(), 'smtp_tls': self.builder.get_object('smtp_tls').get_active(),
'smtp_recipients': [dest[0] for dest in self.recipients_model if 'smtp_recipients': [dest[0] for dest in self.recipients_model if
dest[0] != 'USER@HOST'], dest[0] != 'USER@HOST'],
'subscriptions': {'email': current_email_subscriptions} 'subscriptions': {'email': current_email_subscriptions}
@ -514,37 +514,37 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
def cb_get_config(self, core_config): def cb_get_config(self, core_config):
'callback for on show_prefs' 'callback for on show_prefs'
self.glade.get_widget('smtp_host').set_text(core_config['smtp_host']) self.builder.get_object('smtp_host').set_text(core_config['smtp_host'])
self.glade.get_widget('smtp_port').set_value(core_config['smtp_port']) self.builder.get_object('smtp_port').set_value(core_config['smtp_port'])
self.glade.get_widget('smtp_user').set_text(core_config['smtp_user']) self.builder.get_object('smtp_user').set_text(core_config['smtp_user'])
self.glade.get_widget('smtp_pass').set_text(core_config['smtp_pass']) self.builder.get_object('smtp_pass').set_text(core_config['smtp_pass'])
self.glade.get_widget('smtp_from').set_text(core_config['smtp_from']) self.builder.get_object('smtp_from').set_text(core_config['smtp_from'])
self.glade.get_widget('smtp_tls').set_active(core_config['smtp_tls']) self.builder.get_object('smtp_tls').set_active(core_config['smtp_tls'])
self.recipients_model.clear() self.recipients_model.clear()
for recipient in core_config['smtp_recipients']: for recipient in core_config['smtp_recipients']:
self.recipients_model.set(self.recipients_model.append(), self.recipients_model.set(self.recipients_model.append(),
RECIPIENT_FIELD, recipient, RECIPIENT_FIELD, recipient,
RECIPIENT_EDIT, False) RECIPIENT_EDIT, False)
self.glade.get_widget('smtp_enabled').set_active( self.builder.get_object('smtp_enabled').set_active(
core_config['smtp_enabled'] core_config['smtp_enabled']
) )
self.glade.get_widget('sound_enabled').set_active( self.builder.get_object('sound_enabled').set_active(
self.config['sound_enabled'] self.config['sound_enabled']
) )
self.glade.get_widget('popup_enabled').set_active( self.builder.get_object('popup_enabled').set_active(
self.config['popup_enabled'] self.config['popup_enabled']
) )
self.glade.get_widget('blink_enabled').set_active( self.builder.get_object('blink_enabled').set_active(
self.config['blink_enabled'] self.config['blink_enabled']
) )
if self.config['sound_path']: if self.config['sound_path']:
sound_path = self.config['sound_path'] sound_path = self.config['sound_path']
else: else:
sound_path = deluge.common.get_default_download_dir() sound_path = deluge.common.get_default_download_dir()
self.glade.get_widget('sound_path').set_filename(sound_path) self.builder.get_object('sound_path').set_filename(sound_path)
# Force toggle # Force toggle
self.on_enabled_toggled(self.glade.get_widget('smtp_enabled')) self.on_enabled_toggled(self.builder.get_object('smtp_enabled'))
self.on_sound_enabled_toggled(self.glade.get_widget('sound_enabled')) self.on_sound_enabled_toggled(self.builder.get_object('sound_enabled'))
client.notifications.get_handled_events().addCallback( client.notifications.get_handled_events().addCallback(
self.popuplate_what_needs_handled_events, self.popuplate_what_needs_handled_events,
@ -575,34 +575,34 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
def on_recipients_treeview_selection_changed(self, selection): def on_recipients_treeview_selection_changed(self, selection):
model, selected_connection_iter = selection.get_selected() model, selected_connection_iter = selection.get_selected()
if selected_connection_iter: if selected_connection_iter:
self.glade.get_widget('delete_button').set_property('sensitive', self.builder.get_object('delete_button').set_property('sensitive',
True) True)
else: else:
self.glade.get_widget('delete_button').set_property('sensitive', self.builder.get_object('delete_button').set_property('sensitive',
False) False)
def on_subscriptions_treeview_selection_changed(self, selection): def on_subscriptions_treeview_selection_changed(self, selection):
model, selected_connection_iter = selection.get_selected() model, selected_connection_iter = selection.get_selected()
if selected_connection_iter: if selected_connection_iter:
self.glade.get_widget('delete_button').set_property('sensitive', self.builder.get_object('delete_button').set_property('sensitive',
True) True)
else: else:
self.glade.get_widget('delete_button').set_property('sensitive', self.builder.get_object('delete_button').set_property('sensitive',
False) False)
def on_sounds_treeview_selection_changed(self, selection): def on_sounds_treeview_selection_changed(self, selection):
model, selected_iter = selection.get_selected() model, selected_iter = selection.get_selected()
if selected_iter: if selected_iter:
self.glade.get_widget('sounds_edit_button').set_property('sensitive', True) self.builder.get_object('sounds_edit_button').set_property('sensitive', True)
path = model.get(selected_iter, SND_PATH)[0] path = model.get(selected_iter, SND_PATH)[0]
log.debug('Sound selection changed: %s', path) log.debug('Sound selection changed: %s', path)
if path != self.config['sound_path']: if path != self.config['sound_path']:
self.glade.get_widget('sounds_revert_button').set_property('sensitive', True) self.builder.get_object('sounds_revert_button').set_property('sensitive', True)
else: else:
self.glade.get_widget('sounds_revert_button').set_property('sensitive', False) self.builder.get_object('sounds_revert_button').set_property('sensitive', False)
else: else:
self.glade.get_widget('sounds_edit_button').set_property('sensitive', False) self.builder.get_object('sounds_edit_button').set_property('sensitive', False)
self.glade.get_widget('sounds_revert_button').set_property('sensitive', False) self.builder.get_object('sounds_revert_button').set_property('sensitive', False)
def on_sounds_revert_button_clicked(self, widget): def on_sounds_revert_button_clicked(self, widget):
log.debug('on_sounds_revert_button_clicked') log.debug('on_sounds_revert_button_clicked')
@ -646,25 +646,25 @@ class GtkUI(GtkPluginBase, GtkUiNotifications):
for widget_name in ('smtp_host', 'smtp_port', 'smtp_user', 'smtp_pass', for widget_name in ('smtp_host', 'smtp_port', 'smtp_user', 'smtp_pass',
'smtp_pass', 'smtp_tls', 'smtp_from', 'smtp_pass', 'smtp_tls', 'smtp_from',
'smtp_recipients'): 'smtp_recipients'):
self.glade.get_widget(widget_name).set_property('sensitive', self.builder.get_object(widget_name).set_property('sensitive',
widget.get_active()) widget.get_active())
def on_sound_enabled_toggled(self, widget): def on_sound_enabled_toggled(self, widget):
if widget.get_active(): if widget.get_active():
self.glade.get_widget('sound_path').set_property('sensitive', True) self.builder.get_object('sound_path').set_property('sensitive', True)
self.glade.get_widget('sounds_page').set_property('sensitive', self.builder.get_object('sounds_page').set_property('sensitive',
True) True)
self.glade.get_widget('sounds_page_label').set_property('sensitive', self.builder.get_object('sounds_page_label').set_property('sensitive',
True) True)
else: else:
self.glade.get_widget('sound_path').set_property('sensitive', False) self.builder.get_object('sound_path').set_property('sensitive', False)
self.glade.get_widget('sounds_page').set_property('sensitive', self.builder.get_object('sounds_page').set_property('sensitive',
False) False)
self.glade.get_widget('sounds_page_label').set_property('sensitive', self.builder.get_object('sounds_page_label').set_property('sensitive',
False) False)
# for widget_name in ('sounds_path', 'sounds_page', 'sounds_page_label'): # for widget_name in ('sounds_path', 'sounds_page', 'sounds_page_label'):
# self.glade.get_widget(widget_name).set_property('sensitive', # self.builder.get_object(widget_name).set_property('sensitive',
# widget.get_active()) # widget.get_active())
def _on_email_col_toggled(self, cell, path): def _on_email_col_toggled(self, cell, path):