From dc4f4922af8845274c419a6e022698975f394a04 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Fri, 12 Jan 2007 19:27:00 +0000
Subject: [PATCH] [Brice Maron & I] add option to configure the way time is
 printed. fixes #2797

---
 configure.ac                        |   2 +-
 data/glade/preferences_window.glade | 624 +++++++++++++---------------
 src/common/config.py                |   3 +-
 src/common/defs.py                  |   2 +-
 src/common/optparser.py             |   9 +
 src/config.py                       |  27 +-
 src/conversation_textview.py        |  10 +-
 src/history_window.py               |   9 +-
 8 files changed, 306 insertions(+), 380 deletions(-)

diff --git a/configure.ac b/configure.ac
index d775b696f5..f3a023fec9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_INIT([Gajim - A Jabber Instant Messager],
-		[0.11],[http://trac.gajim.org/],[gajim])
+		[0.11.0.1],[http://trac.gajim.org/],[gajim])
 AC_PREREQ([2.59])
 AM_INIT_AUTOMAKE([1.8])
 AC_CONFIG_HEADER(config.h)
diff --git a/data/glade/preferences_window.glade b/data/glade/preferences_window.glade
index 91780c9d79..ba600a7d1c 100644
--- a/data/glade/preferences_window.glade
+++ b/data/glade/preferences_window.glade
@@ -729,105 +729,94 @@ Single message</property>
 			  </child>
 
 			  <child>
-			    <widget class="GtkTable" id="table25">
+			    <widget class="GtkHBox" id="hbox3025">
 			      <property name="visible">True</property>
-			      <property name="n_rows">6</property>
-			      <property name="n_columns">4</property>
 			      <property name="homogeneous">False</property>
-			      <property name="row_spacing">6</property>
-			      <property name="column_spacing">12</property>
+			      <property name="spacing">6</property>
 
 			      <child>
-				<widget class="GtkLabel" id="label72">
+				<widget class="GtkLabel" id="time_stamp_label">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Incoming message:</property>
-				  <property name="use_underline">True</property>
+				  <property name="label" translatable="yes">Time Stamp:</property>
+				  <property name="use_underline">False</property>
 				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_CENTER</property>
-				  <property name="wrap">True</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
 				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
+				  <property name="xalign">0.5</property>
 				  <property name="yalign">0.5</property>
 				  <property name="xpad">0</property>
 				  <property name="ypad">0</property>
-				  <property name="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>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label70">
+				<widget class="GtkScrolledWindow" id="scrolledwindow29">
+				  <property name="height_request">30</property>
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Outgoing message:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_CENTER</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</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">2</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
+				  <property name="can_focus">True</property>
+				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+				  <property name="shadow_type">GTK_SHADOW_IN</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
-			      <child>
-				<widget class="GtkLabel" id="label71">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Status message:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_CENTER</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</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>
+				  <child>
+				    <widget class="GtkTextView" id="time_stamp_textview">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="overwrite">False</property>
+				      <property name="accepts_tab">True</property>
+				      <property name="justification">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap_mode">GTK_WRAP_CHAR</property>
+				      <property name="cursor_visible">True</property>
+				      <property name="pixels_above_lines">0</property>
+				      <property name="pixels_below_lines">0</property>
+				      <property name="pixels_inside_wrap">0</property>
+				      <property name="left_margin">0</property>
+				      <property name="right_margin">0</property>
+				      <property name="indent">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <signal name="focus_out_event" handler="on_time_stamp_textview_focus_out_event" last_modification_time="Thu, 11 Jan 2007 13:08:04 GMT"/>
+				    </widget>
+				  </child>
 				</widget>
 				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
 				</packing>
 			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkTable" id="table25">
+			      <property name="visible">True</property>
+			      <property name="n_rows">5</property>
+			      <property name="n_columns">4</property>
+			      <property name="homogeneous">False</property>
+			      <property name="row_spacing">6</property>
+			      <property name="column_spacing">12</property>
 
 			      <child>
-				<widget class="GtkLabel" id="label371">
+				<widget class="GtkLabel" id="label230">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_URL:</property>
+				  <property name="label" translatable="yes">B_efore nickname:</property>
 				  <property name="use_underline">True</property>
 				  <property name="use_markup">False</property>
 				  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -837,44 +826,56 @@ Single message</property>
 				  <property name="yalign">0.5</property>
 				  <property name="xpad">0</property>
 				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">url_msg_colorbutton</property>
+				  <property name="mnemonic_widget">scrolledwindow27</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>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
 				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="before_time_label">
+				<widget class="GtkScrolledWindow" id="scrolledwindow27">
+				  <property name="height_request">30</property>
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Before time:</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</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">scrolledwindow25</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>
+				  <property name="can_focus">True</property>
+				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+				  <property name="shadow_type">GTK_SHADOW_IN</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+				  <child>
+				    <widget class="GtkTextView" id="before_nickname_textview">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">True</property>
+				      <property name="overwrite">False</property>
+				      <property name="accepts_tab">True</property>
+				      <property name="justification">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap_mode">GTK_WRAP_CHAR</property>
+				      <property name="cursor_visible">True</property>
+				      <property name="pixels_above_lines">0</property>
+				      <property name="pixels_below_lines">0</property>
+				      <property name="pixels_inside_wrap">0</property>
+				      <property name="left_margin">0</property>
+				      <property name="right_margin">0</property>
+				      <property name="indent">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <signal name="focus_out_event" handler="on_before_nickname_textview_focus_out_event" last_modification_time="Wed, 20 Sep 2006 19:52:05 GMT"/>
+				    </widget>
+				  </child>
 				</widget>
 				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">2</property>
 				  <property name="top_attach">0</property>
 				  <property name="bottom_attach">1</property>
 				  <property name="x_options">fill</property>
@@ -904,164 +905,173 @@ Single message</property>
 				<packing>
 				  <property name="left_attach">2</property>
 				  <property name="right_attach">3</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
 				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkHBox" id="hbox3021">
+				<widget class="GtkScrolledWindow" id="scrolledwindow28">
+				  <property name="height_request">30</property>
 				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">6</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="font_label">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">_Font:</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</property>
-				      <property name="yalign">0.5</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="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
+				  <property name="can_focus">True</property>
+				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+				  <property name="shadow_type">GTK_SHADOW_IN</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 				  <child>
-				    <widget class="GtkFontButton" id="conversation_fontbutton">
+				    <widget class="GtkTextView" id="after_nickname_textview">
 				      <property name="visible">True</property>
 				      <property name="can_focus">True</property>
-				      <property name="show_style">True</property>
-				      <property name="show_size">True</property>
-				      <property name="use_font">False</property>
-				      <property name="use_size">False</property>
-				      <property name="focus_on_click">True</property>
-				      <signal name="font_set" handler="on_conversation_fontbutton_font_set" last_modification_time="Sun, 07 Aug 2005 18:04:12 GMT"/>
+				      <property name="editable">True</property>
+				      <property name="overwrite">False</property>
+				      <property name="accepts_tab">True</property>
+				      <property name="justification">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap_mode">GTK_WRAP_CHAR</property>
+				      <property name="cursor_visible">True</property>
+				      <property name="pixels_above_lines">0</property>
+				      <property name="pixels_below_lines">0</property>
+				      <property name="pixels_inside_wrap">0</property>
+				      <property name="left_margin">0</property>
+				      <property name="right_margin">0</property>
+				      <property name="indent">0</property>
+				      <property name="text" translatable="yes"></property>
+				      <signal name="focus_out_event" handler="on_after_nickname_textview_focus_out_event" last_modification_time="Wed, 20 Sep 2006 19:52:51 GMT"/>
 				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">True</property>
-				    </packing>
 				  </child>
 				</widget>
 				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">5</property>
-				  <property name="bottom_attach">6</property>
-				  <property name="x_options">fill</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="default_chat_font">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use system _default</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_default_chat_font_toggled" last_modification_time="Thu, 11 May 2006 18:15:34 GMT"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">2</property>
+				  <property name="left_attach">3</property>
 				  <property name="right_attach">4</property>
-				  <property name="top_attach">5</property>
-				  <property name="bottom_attach">6</property>
+				  <property name="top_attach">0</property>
+				  <property name="bottom_attach">1</property>
 				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkColorButton" id="outgoing_msg_colorbutton">
+				<widget class="GtkLabel" id="label72">
 				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="use_alpha">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_outgoing_msg_colorbutton_color_set" last_modification_time="Sun, 06 Mar 2005 14:07:56 GMT"/>
+				  <property name="label" translatable="yes">_Incoming message:</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_CENTER</property>
+				  <property name="wrap">True</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</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">3</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
 				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkColorButton" id="url_msg_colorbutton">
+				<widget class="GtkColorButton" id="incoming_msg_colorbutton">
 				  <property name="visible">True</property>
+				  <property name="can_default">True</property>
+				  <property name="has_default">True</property>
 				  <property name="can_focus">True</property>
+				  <property name="has_focus">True</property>
 				  <property name="use_alpha">False</property>
 				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_url_msg_colorbutton_color_set" last_modification_time="Sun, 25 Dec 2005 15:22:17 GMT"/>
+				  <signal name="color_set" handler="on_incoming_msg_colorbutton_color_set" last_modification_time="Sun, 06 Mar 2005 14:07:44 GMT"/>
 				</widget>
 				<packing>
-				  <property name="left_attach">3</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
-				  <property name="x_options">fill</property>
+				  <property name="left_attach">1</property>
+				  <property name="right_attach">2</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options"></property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="after_time_label">
+				<widget class="GtkLabel" id="label70">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_After time:</property>
+				  <property name="label" translatable="yes">_Outgoing message:</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="justify">GTK_JUSTIFY_CENTER</property>
+				  <property name="wrap">True</property>
 				  <property name="selectable">False</property>
 				  <property name="xalign">0</property>
 				  <property name="yalign">0.5</property>
 				  <property name="xpad">0</property>
 				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">scrolledwindow26</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">2</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
+				  <property name="left_attach">2</property>
+				  <property name="right_attach">3</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkColorButton" id="outgoing_msg_colorbutton">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="use_alpha">False</property>
+				  <property name="focus_on_click">True</property>
+				  <signal name="color_set" handler="on_outgoing_msg_colorbutton_color_set" last_modification_time="Sun, 06 Mar 2005 14:07:56 GMT"/>
+				</widget>
+				<packing>
+				  <property name="left_attach">3</property>
+				  <property name="right_attach">4</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="x_options">fill</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkColorButton" id="url_msg_colorbutton">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="use_alpha">False</property>
+				  <property name="focus_on_click">True</property>
+				  <signal name="color_set" handler="on_url_msg_colorbutton_color_set" last_modification_time="Sun, 25 Dec 2005 15:22:17 GMT"/>
+				</widget>
+				<packing>
+				  <property name="left_attach">3</property>
+				  <property name="right_attach">4</property>
+				  <property name="top_attach">2</property>
+				  <property name="bottom_attach">3</property>
 				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label230">
+				<widget class="GtkLabel" id="label371">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">B_efore nickname:</property>
+				  <property name="label" translatable="yes">_URL:</property>
 				  <property name="use_underline">True</property>
 				  <property name="use_markup">False</property>
 				  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1071,32 +1081,29 @@ Single message</property>
 				  <property name="yalign">0.5</property>
 				  <property name="xpad">0</property>
 				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">scrolledwindow27</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>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
+				  <property name="left_attach">2</property>
+				  <property name="right_attach">3</property>
+				  <property name="top_attach">2</property>
+				  <property name="bottom_attach">3</property>
 				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkColorButton" id="incoming_msg_colorbutton">
+				<widget class="GtkColorButton" id="status_msg_colorbutton">
 				  <property name="visible">True</property>
-				  <property name="can_default">True</property>
-				  <property name="has_default">True</property>
 				  <property name="can_focus">True</property>
-				  <property name="has_focus">True</property>
 				  <property name="use_alpha">False</property>
 				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_incoming_msg_colorbutton_color_set" last_modification_time="Sun, 06 Mar 2005 14:07:44 GMT"/>
+				  <signal name="color_set" handler="on_status_msg_colorbutton_color_set" last_modification_time="Sun, 06 Mar 2005 14:08:04 GMT"/>
 				</widget>
 				<packing>
 				  <property name="left_attach">1</property>
@@ -1109,19 +1116,30 @@ Single message</property>
 			      </child>
 
 			      <child>
-				<widget class="GtkColorButton" id="status_msg_colorbutton">
+				<widget class="GtkLabel" id="label71">
 				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="use_alpha">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_status_msg_colorbutton_color_set" last_modification_time="Sun, 06 Mar 2005 14:08:04 GMT"/>
+				  <property name="label" translatable="yes">_Status message:</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_CENTER</property>
+				  <property name="wrap">True</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</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">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
-				  <property name="x_options"></property>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">2</property>
+				  <property name="bottom_attach">3</property>
+				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
@@ -1239,171 +1257,89 @@ Single message</property>
 				<packing>
 				  <property name="left_attach">0</property>
 				  <property name="right_attach">4</property>
-				  <property name="top_attach">4</property>
-				  <property name="bottom_attach">5</property>
-				  <property name="x_options">fill</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow26">
-				  <property name="height_request">30</property>
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTextView" id="after_time_textview">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="overwrite">False</property>
-				      <property name="accepts_tab">True</property>
-				      <property name="justification">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap_mode">GTK_WRAP_CHAR</property>
-				      <property name="cursor_visible">True</property>
-				      <property name="pixels_above_lines">0</property>
-				      <property name="pixels_below_lines">0</property>
-				      <property name="pixels_inside_wrap">0</property>
-				      <property name="left_margin">0</property>
-				      <property name="right_margin">0</property>
-				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <signal name="focus_out_event" handler="on_after_time_textview_focus_out_event" last_modification_time="Wed, 20 Sep 2006 19:52:22 GMT"/>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">3</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
+				  <property name="top_attach">3</property>
+				  <property name="bottom_attach">4</property>
 				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow28">
-				  <property name="height_request">30</property>
+				<widget class="GtkHBox" id="hbox3021">
 				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">6</property>
 
 				  <child>
-				    <widget class="GtkTextView" id="after_nickname_textview">
+				    <widget class="GtkLabel" id="font_label">
 				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="overwrite">False</property>
-				      <property name="accepts_tab">True</property>
-				      <property name="justification">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap_mode">GTK_WRAP_CHAR</property>
-				      <property name="cursor_visible">True</property>
-				      <property name="pixels_above_lines">0</property>
-				      <property name="pixels_below_lines">0</property>
-				      <property name="pixels_inside_wrap">0</property>
-				      <property name="left_margin">0</property>
-				      <property name="right_margin">0</property>
-				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <signal name="focus_out_event" handler="on_after_nickname_textview_focus_out_event" last_modification_time="Wed, 20 Sep 2006 19:52:51 GMT"/>
+				      <property name="label" translatable="yes">_Font:</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</property>
+				      <property name="yalign">0.5</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="padding">0</property>
+				      <property name="expand">True</property>
+				      <property name="fill">True</property>
+				    </packing>
 				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">3</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow27">
-				  <property name="height_request">30</property>
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 				  <child>
-				    <widget class="GtkTextView" id="before_nickname_textview">
+				    <widget class="GtkFontButton" id="conversation_fontbutton">
 				      <property name="visible">True</property>
 				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="overwrite">False</property>
-				      <property name="accepts_tab">True</property>
-				      <property name="justification">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap_mode">GTK_WRAP_CHAR</property>
-				      <property name="cursor_visible">True</property>
-				      <property name="pixels_above_lines">0</property>
-				      <property name="pixels_below_lines">0</property>
-				      <property name="pixels_inside_wrap">0</property>
-				      <property name="left_margin">0</property>
-				      <property name="right_margin">0</property>
-				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <signal name="focus_out_event" handler="on_before_nickname_textview_focus_out_event" last_modification_time="Wed, 20 Sep 2006 19:52:05 GMT"/>
+				      <property name="show_style">True</property>
+				      <property name="show_size">True</property>
+				      <property name="use_font">False</property>
+				      <property name="use_size">False</property>
+				      <property name="focus_on_click">True</property>
+				      <signal name="font_set" handler="on_conversation_fontbutton_font_set" last_modification_time="Sun, 07 Aug 2005 18:04:12 GMT"/>
 				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">False</property>
+				      <property name="fill">True</property>
+				    </packing>
 				  </child>
 				</widget>
 				<packing>
-				  <property name="left_attach">1</property>
+				  <property name="left_attach">0</property>
 				  <property name="right_attach">2</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
+				  <property name="top_attach">4</property>
+				  <property name="bottom_attach">5</property>
 				  <property name="x_options">fill</property>
-				  <property name="y_options"></property>
 				</packing>
 			      </child>
 
 			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow25">
-				  <property name="height_request">30</property>
+				<widget class="GtkCheckButton" id="default_chat_font">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTextView" id="before_time_textview">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="editable">True</property>
-				      <property name="overwrite">False</property>
-				      <property name="accepts_tab">True</property>
-				      <property name="justification">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap_mode">GTK_WRAP_CHAR</property>
-				      <property name="cursor_visible">True</property>
-				      <property name="pixels_above_lines">0</property>
-				      <property name="pixels_below_lines">0</property>
-				      <property name="pixels_inside_wrap">0</property>
-				      <property name="left_margin">0</property>
-				      <property name="right_margin">0</property>
-				      <property name="indent">0</property>
-				      <property name="text" translatable="yes"></property>
-				      <signal name="focus_out_event" handler="on_before_time_textview_focus_out_event" last_modification_time="Wed, 20 Sep 2006 18:21:39 GMT"/>
-				    </widget>
-				  </child>
+				  <property name="label" translatable="yes">Use system _default</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <property name="active">False</property>
+				  <property name="inconsistent">False</property>
+				  <property name="draw_indicator">True</property>
+				  <signal name="toggled" handler="on_default_chat_font_toggled" last_modification_time="Thu, 11 May 2006 18:15:34 GMT"/>
 				</widget>
 				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
+				  <property name="left_attach">2</property>
+				  <property name="right_attach">4</property>
+				  <property name="top_attach">4</property>
+				  <property name="bottom_attach">5</property>
 				  <property name="x_options">fill</property>
 				  <property name="y_options"></property>
 				</packing>
diff --git a/src/common/config.py b/src/common/config.py
index 84f3005840..2b56fa1fed 100644
--- a/src/common/config.py
+++ b/src/common/config.py
@@ -130,9 +130,8 @@ class Config:
 		'roster_height': [ opt_int, 400 ],
 		'latest_disco_addresses': [ opt_str, '' ],
 		'recently_groupchat': [ opt_str, '' ],
-		'before_time': [ opt_str, '[' ],
-		'after_time': [ opt_str, ']' ],
 		'before_nickname': [ opt_str, '' ],
+		'time_stamp': [ opt_str, '[%H:%M] ' ],
 		'after_nickname': [ opt_str, ':' ],
 		'send_os_info': [ opt_bool, True ],
 		'set_status_msg_from_current_music_track': [ opt_bool, False ],
diff --git a/src/common/defs.py b/src/common/defs.py
index 06f297e038..806434949d 100644
--- a/src/common/defs.py
+++ b/src/common/defs.py
@@ -2,7 +2,7 @@ docdir = '../'
 
 datadir = '../'
 
-version = '0.11'
+version = '0.11.0.1'
 
 import sys, os.path
 for base in ('.', 'common'):
diff --git a/src/common/optparser.py b/src/common/optparser.py
index 119d0b70f2..571dc31315 100644
--- a/src/common/optparser.py
+++ b/src/common/optparser.py
@@ -149,6 +149,8 @@ class OptionsParser:
 			self.update_config_to_01017()
 		if old < [0, 10, 1, 8] and new >= [0, 10, 1, 8]:
 			self.update_config_to_01018()
+		if old < [0, 11, 0, 1] and new >= [0, 11, 0, 1]:
+			self.update_config_to_01018()
 
 		gajim.logger.init_vars()
 		gajim.config.set('version', new_version)
@@ -366,3 +368,10 @@ class OptionsParser:
 			gajim.config.set('outgoing_chat_state_notifications',
 				 self.old_values['chat_state_notifications'])
 		gajim.config.set('version', '0.10.1.8')
+
+	def update_config_to_01101(self):
+		'''fill time_stamp from before_time and after_time'''
+		if self.old_values.has_key('before_time'):
+			gajim.config.set('time_stamp', '%s%%H:%%M%s ' % (
+				self.old_values['before_time'], self.old_values['after_time']))
+		gajim.config.set('version', '0.11.0.1')
diff --git a/src/config.py b/src/config.py
index 1bbff25416..50f60b15f1 100644
--- a/src/config.py
+++ b/src/config.py
@@ -240,15 +240,10 @@ class PreferencesWindow:
 		else:
 			self.xml.get_widget('time_always_radiobutton').set_active(True)
 
-		# before time
-		st = gajim.config.get('before_time')
+		# TimeStamp
+		st = gajim.config.get('time_stamp')
 		st = helpers.from_one_line(st)
-		self.xml.get_widget('before_time_textview').get_buffer().set_text(st)
-
-		# after time
-		st = gajim.config.get('after_time')
-		st = helpers.from_one_line(st)
-		self.xml.get_widget('after_time_textview').get_buffer().set_text(st)
+		self.xml.get_widget('time_stamp_textview').get_buffer().set_text(st)
 
 		# before nickname
 		st = gajim.config.get('before_nickname')
@@ -717,10 +712,8 @@ class PreferencesWindow:
 		self.on_checkbutton_toggled(widget, 'ignore_incoming_xhtml')
 		
 	def _set_sensitivity_for_before_after_time_widgets(self, sensitive):
-		self.xml.get_widget('before_time_label').set_sensitive(sensitive)
-		self.xml.get_widget('before_time_textview').set_sensitive(sensitive)
-		self.xml.get_widget('after_time_label').set_sensitive(sensitive)
-		self.xml.get_widget('after_time_textview').set_sensitive(sensitive)
+		self.xml.get_widget('time_stamp_label').set_sensitive(sensitive)
+		self.xml.get_widget('time_stamp_textview').set_sensitive(sensitive)
 	
 	def on_time_never_radiobutton_toggled(self, widget):
 		if widget.get_active():
@@ -745,16 +738,10 @@ class PreferencesWindow:
 		begin, end = buffer.get_bounds()
 		return buffer.get_text(begin, end).decode('utf-8')
 
-	def on_before_time_textview_focus_out_event(self, widget, event):
-		text = self._get_textview_text(widget)
-		text = helpers.to_one_line(text)
-		gajim.config.set('before_time', text)
-		gajim.interface.save_config()
-
-	def on_after_time_textview_focus_out_event(self, widget, event):
+	def on_time_stamp_textview_focus_out_event(self, widget, event):
 		text = self._get_textview_text(widget)
 		text = helpers.to_one_line(text)
-		gajim.config.set('after_time', text)
+		gajim.config.set('time_stamp', text)
 		gajim.interface.save_config()
 
 	def on_before_nickname_textview_focus_out_event(self, widget, event):
diff --git a/src/conversation_textview.py b/src/conversation_textview.py
index a12349b3e8..2a7e9a1717 100644
--- a/src/conversation_textview.py
+++ b/src/conversation_textview.py
@@ -688,12 +688,10 @@ class ConversationTextview:
 			tim = time.localtime()
 		current_print_time = gajim.config.get('print_time')
 		if current_print_time == 'always' and kind != 'info':
-			before_str = gajim.config.get('before_time')
-			before_str = helpers.from_one_line(before_str)
-			after_str = gajim.config.get('after_time')
-			after_str = helpers.from_one_line(after_str)
-			tim_format = before_str + self.get_time_to_show(tim) + after_str
-			buffer.insert_with_tags_by_name(end_iter, tim_format + ' ',
+			timestamp_str = gajim.config.get('time_stamp')
+			timestamp_str = helpers.from_one_line(timestamp_str)
+			timestamp = time.strftime(timestamp_str, tim)
+			buffer.insert_with_tags_by_name(end_iter, timestamp,
 				*other_tags_for_time)
 		elif current_print_time == 'sometimes' and kind != 'info':
 			every_foo_seconds = 60 * gajim.config.get(
diff --git a/src/history_window.py b/src/history_window.py
index 4a9bc9ceca..ae76796f4f 100644
--- a/src/history_window.py
+++ b/src/history_window.py
@@ -209,12 +209,9 @@ class HistoryWindow:
 		end_iter = buf.get_end_iter()
 		
 		if gajim.config.get('print_time') == 'always':
-			before_str = gajim.config.get('before_time')
-			before_str = helpers.from_one_line(before_str)
-			after_str = gajim.config.get('after_time')
-			after_str = helpers.from_one_line(after_str)
-			format = before_str + '%X' + after_str + ' '
-			tim = time.strftime(format, time.localtime(float(tim)))
+			timestamp_str = gajim.config.get('time_stamp')
+			timestamp_str = helpers.from_one_line(timestamp_str)
+			tim = time.strftime(timestamp_str, time.localtime(float(tim)))
 			buf.insert(end_iter, tim) # add time
 		elif gajim.config.get('print_time') == 'sometimes':
 			every_foo_seconds = 60 * gajim.config.get(
-- 
GitLab