diff --git a/gajim/data/gui/preferences_window.ui b/gajim/data/gui/preferences_window.ui index 1c5f6a9fc761956479860e09403efb61b40b2726..3e4571f530d8900967b8f5baa57aeb95655c6296 100644 --- a/gajim/data/gui/preferences_window.ui +++ b/gajim/data/gui/preferences_window.ui @@ -355,75 +355,15 @@ <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> - <object class="GtkEventBox" id="eventbox5"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="tooltip_text" translatable="yes">If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons</property> - <child> - <object class="GtkLabel" id="label381"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="label" translatable="yes">_Emoticons</property> - <property name="use_underline">True</property> - <property name="justify">right</property> - <style> - <class name="dim-label"/> - </style> - </object> - </child> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label379"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="label" translatable="yes">_Window behavior</property> - <property name="use_underline">True</property> - <property name="justify">right</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label28"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="label" translatable="yes">_Show roster on startup</property> - <property name="use_underline">True</property> - <property name="justify">right</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="xhtml_checkbutton"> - <property name="label" translatable="yes">_Ignore rich content in incoming messages</property> - <property name="visible">True</property> + <object class="GtkCheckButton" id="speller_checkbutton"> + <property name="label" translatable="yes">_Highlight misspelled words</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text.</property> + <property name="tooltip_text" translatable="yes">If checked, Gajim will highlight spelling errors in input fields of chat windows. If no language is explicitly set via right click on the input field, the default language will be used for this contact or group chat.</property> <property name="halign">start</property> - <property name="margin_top">18</property> <property name="use_underline">True</property> <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_xhtml_checkbutton_toggled" swapped="no"/> + <signal name="toggled" handler="on_speller_checkbutton_toggled" swapped="no"/> </object> <packing> <property name="left_attach">0</property> @@ -432,15 +372,14 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="speller_checkbutton"> - <property name="label" translatable="yes">_Highlight misspelled words</property> + <object class="GtkCheckButton" id="positive_184_ack_checkbutton"> + <property name="label" translatable="yes">Notify by icon when your messages are received</property> + <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">If checked, Gajim will highlight spelling errors in input fields of chat windows. If no language is explicitly set via right click on the input field, the default language will be used for this contact or group chat.</property> <property name="halign">start</property> - <property name="use_underline">True</property> <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_speller_checkbutton_toggled" swapped="no"/> + <signal name="toggled" handler="on_positive_184_ack_checkbutton_toggled" swapped="no"/> </object> <packing> <property name="left_attach">0</property> @@ -449,14 +388,14 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="positive_184_ack_checkbutton"> - <property name="label" translatable="yes">Notify by icon when your messages are received</property> + <object class="GtkCheckButton" id="show_avatar_in_tabs_checkbutton"> + <property name="label" translatable="yes">Show avatar in chat tabs</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> <property name="halign">start</property> <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_positive_184_ack_checkbutton_toggled" swapped="no"/> + <signal name="toggled" handler="on_show_avatar_in_tabs_checkbutton_toggled" swapped="no"/> </object> <packing> <property name="left_attach">0</property> @@ -465,14 +404,31 @@ </packing> </child> <child> - <object class="GtkComboBox" id="show_roster_on_startup"> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="label" translatable="yes">_Window behavior</property> + <property name="use_underline">True</property> + <property name="justify">right</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="one_window_type_combobox"> <property name="width_request">50</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="model">liststore7</property> - <signal name="changed" handler="on_show_roster_on_startup_changed" swapped="no"/> + <property name="model">liststore6</property> + <signal name="changed" handler="on_one_window_type_combo_changed" swapped="no"/> <child> - <object class="GtkCellRendererText" id="cellrenderertext7"/> + <object class="GtkCellRendererText" id="cellrenderertext6"/> <attributes> <attribute name="text">0</attribute> </attributes> @@ -480,18 +436,18 @@ </object> <packing> <property name="left_attach">1</property> - <property name="top_attach">2</property> + <property name="top_attach">0</property> </packing> </child> <child> - <object class="GtkComboBox" id="one_window_type_combobox"> + <object class="GtkComboBox" id="show_roster_on_startup"> <property name="width_request">50</property> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="model">liststore6</property> - <signal name="changed" handler="on_one_window_type_combo_changed" swapped="no"/> + <property name="model">liststore7</property> + <signal name="changed" handler="on_show_roster_on_startup_changed" swapped="no"/> <child> - <object class="GtkCellRendererText" id="cellrenderertext6"/> + <object class="GtkCellRendererText" id="cellrenderertext7"/> <attributes> <attribute name="text">0</attribute> </attributes> @@ -503,36 +459,45 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="show_avatar_in_tabs_checkbutton"> - <property name="label" translatable="yes">Show avatar in chat tabs</property> + <object class="GtkLabel"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="halign">start</property> - <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_show_avatar_in_tabs_checkbutton_toggled" swapped="no"/> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="label" translatable="yes">_Show roster on startup</property> + <property name="use_underline">True</property> + <property name="justify">right</property> + <style> + <class name="dim-label"/> + </style> </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">6</property> - <property name="width">2</property> + <property name="top_attach">1</property> </packing> </child> <child> - <object class="GtkComboBoxText" id="emoticons_combobox"> + <object class="GtkCheckButton" id="xhtml_checkbutton"> + <property name="label" translatable="yes">_Ignore rich content in incoming messages</property> <property name="visible">True</property> - <property name="can_focus">False</property> - <signal name="changed" handler="on_emoticons_combobox_changed" swapped="no"/> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text.</property> + <property name="halign">start</property> + <property name="margin_top">18</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_xhtml_checkbutton_toggled" swapped="no"/> </object> <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">2</property> </packing> </child> </object> </child> <child type="label"> - <object class="GtkLabel" id="label2"> + <object class="GtkLabel"> <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> @@ -1499,7 +1464,7 @@ $T will be replaced by auto-not-available timeout</property> </packing> </child> <child> - <object class="GtkBox" id="vbox58"> + <object class="GtkBox"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="margin_left">18</property> @@ -1509,170 +1474,300 @@ $T will be replaced by auto-not-available timeout</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <child> - <object class="GtkFrame" id="frame3"> + <object class="GtkGrid"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> <child> - <object class="GtkGrid" id="grid10"> + <object class="GtkLabel"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="margin_left">12</property> - <property name="margin_top">6</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> - <child> - <object class="GtkLabel" id="label249"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="label" translatable="yes">T_heme</property> - <property name="use_underline">True</property> - <property name="justify">right</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="theme_combobox"> - <property name="width_request">200</property> - <property name="visible">True</property> - <property name="can_focus">False</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkComboBox" id="iconset_combobox"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <signal name="changed" handler="on_iconset_combobox_changed" swapped="no"/> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkButton" id="manage_theme_button"> - <property name="label" translatable="yes">Ma_nage...</property> - <property name="width_request">120</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">Configure color and font of the interface</property> - <property name="use_underline">True</property> - <signal name="clicked" handler="on_manage_theme_button_clicked" swapped="no"/> - </object> - <packing> - <property name="left_attach">2</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="transports_iconsets_checkbutton"> - <property name="label" translatable="yes">Use _transports icons</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="tooltip_text" translatable="yes">If checked, Gajim will use protocol-specific status icons. (e.g. A contact from ICQ will have the equivalent ICQ icon for status online, away, busy, etc...)</property> - <property name="halign">start</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> - <signal name="toggled" handler="on_transports_iconsets_checkbutton_toggled" swapped="no"/> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label174"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="label" translatable="yes">Status _iconset</property> - <property name="use_underline">True</property> - <property name="justify">right</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="halign">end</property> - <property name="label" translatable="yes">Dark Theme</property> - <property name="use_underline">True</property> - <property name="justify">right</property> - <style> - <class name="dim-label"/> - </style> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="dark_theme_combobox"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <items> - <item id="2" translatable="yes">System</item> - <item id="1" translatable="yes">Enabled</item> - <item id="0" translatable="yes">Disabled</item> - </items> - <signal name="changed" handler="on_dark_theme_changed" swapped="no"/> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">2</property> - </packing> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Themes</property> + <style> + <class name="bold"/> + </style> </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">2</property> + </packing> </child> - <child type="label"> - <object class="GtkLabel" id="label3"> + <child> + <object class="GtkLabel"> <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="label" translatable="yes"><b>Themes</b></property> - <property name="use_markup">True</property> + <property name="halign">end</property> + <property name="label" translatable="yes">Theme</property> + <property name="use_underline">True</property> + <property name="justify">right</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="theme_combobox"> + <property name="width_request">200</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="manage_theme_button"> + <property name="label" translatable="yes">Ma_nage...</property> + <property name="width_request">120</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Configure color and font of the interface</property> + <property name="use_underline">True</property> + <signal name="clicked" handler="on_manage_theme_button_clicked" swapped="no"/> + </object> + <packing> + <property name="left_attach">3</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="label" translatable="yes">Dark Theme</property> + <property name="use_underline">True</property> + <property name="justify">right</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="dark_theme_combobox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <items> + <item id="2" translatable="yes">System</item> + <item id="1" translatable="yes">Enabled</item> + <item id="0" translatable="yes">Disabled</item> + </items> + <signal name="changed" handler="on_dark_theme_changed" swapped="no"/> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Emojis</property> + <style> + <class name="bold"/> + <class name="margin-top6"/> + </style> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="label" translatable="yes">Emoji Theme</property> + <property name="use_underline">True</property> + <property name="justify">right</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="emoticons_combobox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <signal name="changed" handler="on_emoticons_combobox_changed" swapped="no"/> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Icons</property> + <style> + <class name="bold"/> + <class name="margin-top6"/> + </style> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">6</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <property name="label" translatable="yes">Status iconset</property> + <property name="use_underline">True</property> + <property name="justify">right</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">7</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="iconset_combobox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <signal name="changed" handler="on_iconset_combobox_changed" swapped="no"/> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">7</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="transports_iconsets_checkbutton"> + <property name="label" translatable="yes">Use _transports icons</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">If checked, Gajim will use protocol-specific status icons. (e.g. A contact from ICQ will have the equivalent ICQ icon for status online, away, busy, etc...)</property> + <property name="halign">start</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_transports_iconsets_checkbutton_toggled" swapped="no"/> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">8</property> + </packing> + </child> + <child> + <object class="GtkLabel"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">end</property> + <style> + <class name="dim-label"/> + </style> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="ascii_emoticons"> + <property name="label" translatable="yes">_Convert ASCII Emojis</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal name="toggled" handler="on_convert_ascii_toggle" swapped="no"/> </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">1</property> + <property name="position">0</property> </packing> </child> </object> diff --git a/gajim/data/style/gajim.css b/gajim/data/style/gajim.css index e79fe5559457a93954ae91a374fc3757ac740885..f95340fd71e30807fec404fc0716eaa6560adc1f 100644 --- a/gajim/data/style/gajim.css +++ b/gajim/data/style/gajim.css @@ -190,6 +190,7 @@ list.settings > row > box { /* Text style */ +.bold { font-weight: bold; } .bold16 { font-size: 16px; font-weight: bold; } .bold24 { font-size: 24px; font-weight: bold; } .large-header { font-size: 20px; font-weight: bold; } @@ -197,6 +198,9 @@ list.settings > row > box { .status-dnd { color: #e62e00;} .status-online { color: #66bf10;} +/* Padding/Margins */ +.margin-top6 { margin-top: 6px; } + /* Treeview */ treeview.space { padding: 6px; } diff --git a/gajim/gtk/preferences.py b/gajim/gtk/preferences.py index 5517174d95973b97e0dca6e4acd12f0f5825e19c..723f97d4a9ded4194204bef6cf3a349b72538b83 100644 --- a/gajim/gtk/preferences.py +++ b/gajim/gtk/preferences.py @@ -110,20 +110,6 @@ class Preferences(Gtk.ApplicationWindow): st = app.config.get('sort_by_show_in_muc') self.xml.get_object('sort_by_show_in_muc_checkbutton').set_active(st) - # emoticons - emoticons_combobox = self.xml.get_object('emoticons_combobox') - emoticon_themes = helpers.get_available_emoticon_themes() - - emoticons_combobox.append_text(_('Disabled')) - for theme in emoticon_themes: - emoticons_combobox.append_text(theme) - - config_theme = app.config.get('emoticons_theme') - if config_theme not in emoticon_themes: - config_theme = _('Disabled') - emoticons_combobox.set_id_column(0) - emoticons_combobox.set_active_id(config_theme) - # Set default for single window type choices = c_config.opt_one_window_types type_ = app.config.get('one_message_window') @@ -213,6 +199,21 @@ class Preferences(Gtk.ApplicationWindow): dark_theme_combo = self.xml.get_object('dark_theme_combobox') dark_theme_combo.set_active_id(str(app.config.get('dark_theme'))) + # Emoticons + emoticons_combobox = self.xml.get_object('emoticons_combobox') + emoticon_themes = helpers.get_available_emoticon_themes() + + for theme in emoticon_themes: + emoticons_combobox.append_text(theme) + + config_theme = app.config.get('emoticons_theme') + if config_theme not in emoticon_themes: + config_theme = 'font' + emoticons_combobox.set_id_column(0) + emoticons_combobox.set_active_id(config_theme) + + self.xml.ascii_emoticons.set_active(app.config.get('ascii_emoticons')) + ### Personal Events tab ### # outgoing send chat state notifications st = app.config.get('outgoing_chat_state_notifications') @@ -564,11 +565,7 @@ class Preferences(Gtk.ApplicationWindow): active = widget.get_active() model = widget.get_model() emot_theme = model[active][0] - if emot_theme == _('Disabled'): - app.config.set('emoticons_theme', '') - else: - app.config.set('emoticons_theme', emot_theme) - + app.config.set('emoticons_theme', emot_theme) from gajim.gtk.emoji_chooser import emoji_chooser emoji_chooser.load() self.toggle_emoticons() @@ -657,6 +654,10 @@ class Preferences(Gtk.ApplicationWindow): app.config.set('iconset', icon_string) gtkgui_helpers.reload_jabber_state_images() + def on_convert_ascii_toggle(self, widget): + app.config.set('ascii_emoticons', widget.get_active()) + app.interface.make_regexps() + def on_transports_iconsets_checkbutton_toggled(self, widget): self.on_checkbutton_toggled(widget, 'use_transports_iconsets') gtkgui_helpers.reload_jabber_state_images() diff --git a/gajim/gui_interface.py b/gajim/gui_interface.py index f61c1b2d0c14e180d2222b2d110771d22fb862b4..41d2e0d5de96b2d3af6c7a5f4ee19d1469701d83 100644 --- a/gajim/gui_interface.py +++ b/gajim/gui_interface.py @@ -1819,6 +1819,11 @@ class Interface: # so http://be) will match http://be and http://be)be) will match # http://be)be + self._basic_pattern_re = None + self._emot_and_basic_re = None + self._sth_at_sth_dot_sth_re = None + self._invalid_XML_chars_re = None + legacy_prefixes = r"((?<=\()(www|ftp)\.([A-Za-z0-9\.\-_~:/\?#\[\]@!\$"\ r"&'\(\)\*\+,;=]|%[A-Fa-f0-9]{2})+(?=\)))"\ r"|((www|ftp)\.([A-Za-z0-9\.\-_~:/\?#\[\]@!\$&'\(\)\*\+,;=]"\