==== Patch <gajim-message-mode> level 2
Source: c68c8ed0-6fce-42b2-a3b7-6be8b34235d4:/local:7657 [local]
Target: c4d4e39b-2f5f-9a77-1c94-36969bb79148:/trunk:8972 [mirrored]
        (svn://svn.gajim.org/gajim/trunk)
Log:
 r7653@damasonium:  ddanier | 2007-11-14 21:10:55 +0100
 
 r7654@damasonium:  ddanier | 2007-11-15 00:32:14 +0100
  * Implemented very simple message-mode like psi:
    - Configuration option for default-type of new messages when clicking on an roster item
    - SingleMessageWindow:
      - Added "Next" and "Quote" button
      - "Next"-button to read next message waiting
      - "Next"-button show how many messages are waiting (by subscribing to gajim.events)
      - "Reply"-button does not quote, "Quote"-button does
      - Focus on Text by default
      - "RE: " only added to subject if subject is not empty
      - "Reply"/"Quote" does not close received message window, the parent is closed when reply window is closed and only if there are no more messages waiting
 r7655@damasonium:  ddanier | 2007-11-15 00:33:26 +0100
  * TODO for message-mode

=== src/config.py
==================================================================
--- src/config.py	(revision 8972)
+++ src/config.py	(patch gajim-message-mode level 2)
@@ -71,6 +71,8 @@
 		self.notebook = self.xml.get_widget('preferences_notebook')
 		self.treat_incoming_messages_combobox =\
 			self.xml.get_widget('treat_incoming_messages_combobox')
+		self.send_outgoing_messages_combobox =\
+			self.xml.get_widget('send_outgoing_messages_combobox')
 		self.one_window_type_combobox =\
 			self.xml.get_widget('one_window_type_combobox')
 		self.iconset_combobox = self.xml.get_widget('iconset_combobox')
@@ -140,6 +142,14 @@
 		else:
 			self.treat_incoming_messages_combobox.set_active(0)
 
+		# Set default for send outgoing messages
+		choices = common.config.opt_send_outgoing_messages
+		type = gajim.config.get('send_outgoing_messages')
+		if type in choices:
+			self.send_outgoing_messages_combobox.set_active(choices.index(type))
+		else:
+			self.send_outgoing_messages_combobox.set_active(0)
+
 		# Set default for single window type
 		choices = common.config.opt_one_window_types
 		type = gajim.config.get('one_message_window')
@@ -574,6 +584,11 @@
 		config_type = common.config.opt_treat_incoming_messages[active]
 		gajim.config.set('treat_incoming_messages', config_type)
 
+	def on_send_outgoing_messages_combobox_changed(self, widget):
+		active = widget.get_active()
+		config_type = common.config.opt_send_outgoing_messages[active]
+		gajim.config.set('send_outgoing_messages', config_type)
+
 	def on_one_window_type_combo_changed(self, widget):
 		active = widget.get_active()
 		config_type = common.config.opt_one_window_types[active]
=== src/roster_window.py
==================================================================
--- src/roster_window.py	(revision 8972)
+++ src/roster_window.py	(patch gajim-message-mode level 2)
@@ -1969,14 +1969,16 @@
 			self.draw_account(account)
 
 	def on_send_single_message_menuitem_activate(self, widget, account,
-	contact = None):
+	contact=None, resource=None):
 		if contact is None:
 			dialogs.SingleMessageWindow(account, action = 'send')
 		elif type(contact) == type([]):
 			dialogs.SingleMessageWindow(account, contact, 'send')
 		else:
 			jid = contact.jid
-			if contact.jid == gajim.get_jid_from_account(account):
+			if resource:
+				jid += '/' + resource
+			elif contact.jid == gajim.get_jid_from_account(account):
 				jid += '/' + contact.resource
 			dialogs.SingleMessageWindow(account, jid, 'send')
 
@@ -4358,7 +4360,11 @@
 				c = gajim.contacts.get_contact_with_highest_priority(account, jid)
 			if jid == gajim.get_jid_from_account(account):
 				resource = c.resource
-			self.on_open_chat_window(widget, c, account, resource = resource, session = session)
+			send_outgoing_messages = gajim.config.get('send_outgoing_messages')
+			if send_outgoing_messages == 'normal':
+				self.on_send_single_message_menuitem_activate(widget, account, c, resource = resource)
+			else:
+				self.on_open_chat_window(widget, c, account, resource = resource, session = session)
 
 	def on_roster_treeview_row_activated(self, widget, path, col = 0):
 		'''When an iter is double clicked: open the first event window'''
=== src/dialogs.py
==================================================================
--- src/dialogs.py	(revision 8972)
+++ src/dialogs.py	(patch gajim-message-mode level 2)
@@ -1841,6 +1841,8 @@
 		self.resource = resource
 		self.session = session
 
+		self.next_count = 0
+
 		self.xml = gtkgui_helpers.get_glade('single_message_window.glade')
 		self.window = self.xml.get_widget('single_message_window')
 		self.count_chars_label = self.xml.get_widget('count_chars_label')
@@ -1874,7 +1876,10 @@
 			self.action = 'form'
 
 		self.send_button = self.xml.get_widget('send_button')
+		self.quote_button = self.xml.get_widget('quote_button')
 		self.reply_button = self.xml.get_widget('reply_button')
+		self.next_button = self.xml.get_widget('next_button')
+		self.next_count_label = self.xml.get_widget('next_count_label')
 		self.send_and_close_button = self.xml.get_widget('send_and_close_button')
 		self.cancel_button = self.xml.get_widget('cancel_button')
 		self.close_button = self.xml.get_widget('close_button')
@@ -1899,6 +1904,11 @@
 
 		self.prepare_widgets_for(self.action)
 
+		gajim.events.event_added_subscribe(self.on_event_added)
+		gajim.events.event_removed_subscribe(self.on_event_removed)
+		if self.action == 'receive':
+			self.update_next_count()
+
 		# set_text(None) raises TypeError exception
 		if self.subject is None:
 			self.subject = ''
@@ -1921,9 +1931,11 @@
 
 		if gajim.config.get('saveposition'):
 			# get window position and size from config
-			gtkgui_helpers.move_window(self.window,
-				gajim.config.get('single-msg-x-position'),
-				gajim.config.get('single-msg-y-position'))
+			# Makes absolutely no sense when dealing with multiple windows
+			# (for example when hitting "reply" the orig window stays)
+			#gtkgui_helpers.move_window(self.window,
+			#	gajim.config.get('single-msg-x-position'),
+			#	gajim.config.get('single-msg-y-position'))
 			gtkgui_helpers.resize_window(self.window,
 				gajim.config.get('single-msg-width'),
 				gajim.config.get('single-msg-height'))
@@ -1965,6 +1977,8 @@
 			self.to_label.show()
 			self.to_entry.show()
 			self.reply_button.hide()
+			self.quote_button.hide()
+			self.next_button.hide()
 			self.from_label.hide()
 			self.from_entry.hide()
 			self.conversation_scrolledwindow.hide()
@@ -1979,11 +1993,17 @@
 			else: # we write a new message (not from reply)
 				self.close_button.hide()
 				if self.to: # do we already have jid?
-					self.subject_entry.grab_focus()
+					# Most of the time users skip the subject
+					#self.subject_entry.grab_focus()
+					self.message_textview.grab_focus()
+				else:
+					self.to_entry.grab_focus()
 
 		elif action == 'receive': # prepare UI for Receiving
 			title = _('Received %s') % title
 			self.reply_button.show()
+			self.quote_button.show()
+			self.next_button.show()
 			self.from_label.show()
 			self.from_entry.show()
 			self.send_button.hide()
@@ -2004,6 +2024,7 @@
 			self.reply_button.grab_focus()
 			self.cancel_button.hide()
 			self.close_button.show()
+			
 		elif action == 'form': # prepare UI for Receiving
 			title = _('Form %s') % title 
 			self.send_button.show() 
@@ -2018,6 +2039,69 @@
 
 		self.window.set_title(title)
 
+	def on_single_message_window_destroy(self, widget):
+		gajim.events.event_added_unsubscribe(self.on_event_added)
+		gajim.events.event_removed_unsubscribe(self.on_event_removed)
+
+	def update_next_count(self):
+		# gajim.get_jid_without_resource(self.from_jid)?
+		self.next_count = len(gajim.events.get_events(self.account, \
+			self.from_whom, types=('normal',)))
+		self.next_count_label.set_label("(%d)" % self.next_count)
+
+	def on_event_added(self, event):
+		if event.type_ == 'normal':
+			self.update_next_count()
+
+	def on_event_removed(self, event_list):
+		for event in event_list:
+			if event.type_ == 'normal':
+				self.update_next_count()
+				return
+
+	def on_next_button_clicked(self, widget):
+		if self.next_count == 0:
+			return
+		next_event = gajim.events.get_first_event(self.account, self.from_whom, 'normal')
+		#if not next_event:
+		#	next_event = gajim.events.get_first_event(self.account, self.from_whom, 'chat')
+		if not next_event:
+			return
+		# parameters:
+		# message, subject, kind, time, encrypted, resource,
+		# msg_id
+		self.action = 'receive'
+		self.subject = next_event.parameters[1]
+		self.message = next_event.parameters[0]
+		self.resource = next_event.parameters[5]
+		self.session = next_event.parameters[8]
+		form_node = next_event.parameters[9]
+		
+		parent_box = self.xml.get_widget('conversation_scrolledwindow').get_parent()
+		if form_node:
+			dataform = dataforms.ExtendForm(node = form_node)
+			self.form_widget = dataforms_widget.DataFormWidget(dataform)
+			self.form_widget.show_all()
+			parent_box.add(self.form_widget)
+			parent_box.child_set_property(self.form_widget, 'position',
+				parent_box.child_get_property(self.xml.get_widget('conversation_scrolledwindow'), 'position'))
+			self.action = 'form'
+		elif self.form_widget:
+			self.form_widget.hide()
+			parent_box.remove(self.form_widget)
+			self.form_widget = None
+
+		self.conversation_textview.clear()
+		self.prepare_widgets_for(self.action)
+
+		# set_text(None) raises TypeError exception
+		if self.subject is None:
+			self.subject = ''
+		self.subject_entry.set_text(self.subject)
+
+		gajim.interface.remove_first_event(self.account, self.from_whom, next_event.type_)
+		self.update_next_count()
+
 	def on_cancel_button_clicked(self, widget):
 		self.save_pos()
 		self.window.destroy()
@@ -2073,18 +2157,34 @@
 
 	def on_send_button_clicked(self, widget):
 		self.send_single_message()
+	
+	def on_child_window_destroy(self, widget):
+		# TODO: Only close window if child send a message
+		if self.next_count == 0:
+			self.save_pos()
+			self.window.destroy()
 
-	def on_reply_button_clicked(self, widget):
+	def on_reply_button_clicked(self, widget, quote=False):
 		# we create a new blank window to send and we preset RE: and to jid
-		self.subject = _('RE: %s') % self.subject
-		self.message = _('%s wrote:\n') % self.from_whom + self.message
-		# add > at the begining of each line
-		self.message = self.message.replace('\n', '\n> ') + '\n\n'
-		self.window.destroy()
-		SingleMessageWindow(self.account, to = self.from_whom,
-			action = 'send',	from_whom = self.from_whom, subject = self.subject,
-			message = self.message, session = self.session)
+		if self.subject:
+			subject = _('RE: %s') % self.subject
+		else:
+			subject = ''
+		if quote:
+			message = _('%s wrote:\n') % self.from_whom + self.message
+			# add > at the begining of each line
+			message = message.replace('\n', '\n> ') + '\n\n'
+		else:
+			message = ''
+		smw = SingleMessageWindow(self.account, to = self.from_whom,
+			action = 'send',	from_whom = self.from_whom, subject = subject,
+			message = message, session = self.session)
+		smw.window.connect('destroy',
+			self.on_child_window_destroy)
 
+	def on_quote_button_clicked(self, widget):
+		self.on_reply_button_clicked(widget, quote=True)
+
 	def on_send_and_close_button_clicked(self, widget):
 		self.send_single_message()
 		self.save_pos()
=== src/common/config.py
==================================================================
--- src/common/config.py	(revision 8972)
+++ src/common/config.py	(patch gajim-message-mode level 2)
@@ -47,6 +47,7 @@
 opt_color = [ 'color', '^(#[0-9a-fA-F]{6})|()$' ]
 opt_one_window_types = ['never', 'always', 'peracct', 'pertype']
 opt_treat_incoming_messages = ['', 'chat', 'normal']
+opt_send_outgoing_messages = ['chat', 'normal']
 
 class Config:
 
@@ -245,6 +246,7 @@
 		'use_gnomekeyring': [opt_bool, True, _('If True, Gajim will use Gnome Keyring (if available) to store account passwords.')],
 		'show_contacts_number': [opt_bool, True, _('If True, Gajim will show number of online and total contacts in account and group rows.')],
 		'treat_incoming_messages': [ opt_str, '', _('Can be empty, \'chat\' or \'normal\'. If not empty, treat all incoming messages as if they were of this type')],
+		'send_outgoing_messages': [ opt_str, 'chat', _('Can be \'chat\' or \'normal\'. All outgoing messages have this type by default.')],
 		'scroll_roster_to_last_message': [opt_bool, True, _('If True, Gajim will scroll and select the contact who sent you the last message, if chat window is not already opened.')],
 		'use_latex': [opt_bool, False, _('If True, Gajim will convert string between $$ and $$ to an image using dvips and convert before insterting it in chat window.')],
 		'change_status_window_timeout': [opt_int, 15, _('Time of inactivity needed before the change status window closes down.')],
=== data/glade/single_message_window.glade
==================================================================
--- data/glade/single_message_window.glade	(revision 8972)
+++ data/glade/single_message_window.glade	(patch gajim-message-mode level 2)
@@ -7,6 +7,7 @@
     <property name="default_width">550</property>
     <property name="default_height">280</property>
     <signal name="key_press_event" handler="on_single_message_window_key_press_event"/>
+    <signal name="destroy" handler="on_single_message_window_destroy"/>
     <signal name="delete_event" handler="on_single_message_window_delete_event"/>
     <child>
       <widget class="GtkVBox" id="vbox97">
@@ -50,7 +51,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="no_show_all">True</property>
-                <property name="invisible_char">*</property>
               </widget>
               <packing>
                 <property name="left_attach">1</property>
@@ -78,7 +78,6 @@
               <widget class="GtkEntry" id="subject_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">*</property>
               </widget>
               <packing>
                 <property name="left_attach">1</property>
@@ -93,7 +92,6 @@
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="no_show_all">True</property>
-                <property name="invisible_char">*</property>
               </widget>
               <packing>
                 <property name="left_attach">1</property>
@@ -236,6 +234,104 @@
               </packing>
             </child>
             <child>
+              <widget class="GtkButton" id="send_and_close_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="no_show_all">True</property>
+                <property name="tooltip" translatable="yes">Send message and close window</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_send_and_close_button_clicked"/>
+                <child>
+                  <widget class="GtkAlignment" id="alignment83">
+                    <property name="visible">True</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox2983">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <widget class="GtkImage" id="image878">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-ok</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label347">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Send &amp; Close</property>
+                            <property name="use_underline">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="quote_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="no_show_all">True</property>
+                <property name="tooltip" translatable="yes">Reply to this message</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_quote_button_clicked"/>
+                <child>
+                  <widget class="GtkAlignment" id="alignment3">
+                    <property name="visible">True</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <widget class="GtkImage" id="image3">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-ok</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label3">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Quote</property>
+                            <property name="use_underline">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">4</property>
+              </packing>
+            </child>
+            <child>
               <widget class="GtkButton" id="reply_button">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -281,31 +377,31 @@
                 </child>
               </widget>
               <packing>
-                <property name="position">3</property>
+                <property name="position">5</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="send_and_close_button">
+              <widget class="GtkButton" id="next_button">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="no_show_all">True</property>
-                <property name="tooltip" translatable="yes">Send message and close window</property>
+                <property name="tooltip" translatable="yes">View next message</property>
                 <property name="response_id">0</property>
-                <signal name="clicked" handler="on_send_and_close_button_clicked"/>
+                <signal name="clicked" handler="on_next_button_clicked"/>
                 <child>
-                  <widget class="GtkAlignment" id="alignment83">
+                  <widget class="GtkAlignment" id="alignment5">
                     <property name="visible">True</property>
                     <property name="xscale">0</property>
                     <property name="yscale">0</property>
                     <child>
-                      <widget class="GtkHBox" id="hbox2983">
+                      <widget class="GtkHBox" id="hbox5">
                         <property name="visible">True</property>
                         <property name="spacing">2</property>
                         <child>
-                          <widget class="GtkImage" id="image878">
+                          <widget class="GtkImage" id="image5">
                             <property name="visible">True</property>
-                            <property name="stock">gtk-ok</property>
+                            <property name="stock">gtk-media-next</property>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
@@ -313,10 +409,31 @@
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="label347">
+                          <widget class="GtkHBox" id="hbox1">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes">_Send &amp; Close</property>
-                            <property name="use_underline">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="spacing">4</property>
+                            <child>
+                              <widget class="GtkLabel" id="label5">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">_Next</property>
+                                <property name="use_underline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="next_count_label">
+                                <property name="visible">True</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">(0)</property>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
                           </widget>
                           <packing>
                             <property name="expand">False</property>
@@ -330,7 +447,7 @@
                 </child>
               </widget>
               <packing>
-                <property name="position">4</property>
+                <property name="position">6</property>
               </packing>
             </child>
           </widget>
=== data/glade/preferences_window.glade
==================================================================
--- data/glade/preferences_window.glade	(revision 8972)
+++ data/glade/preferences_window.glade	(patch gajim-message-mode level 2)
@@ -26,7 +26,6 @@
                   <widget class="GtkFrame" id="frame1">
                     <property name="visible">True</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_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment1">
@@ -111,7 +110,6 @@
                   <widget class="GtkFrame" id="frame2">
                     <property name="visible">True</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_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment2">
@@ -122,51 +120,84 @@
                           <widget class="GtkTable" id="table1">
                             <property name="visible">True</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="n_rows">6</property>
+                            <property name="n_rows">7</property>
                             <property name="n_columns">2</property>
                             <property name="column_spacing">6</property>
                             <property name="row_spacing">6</property>
                             <child>
-                              <widget class="GtkEventBox" id="eventbox5">
+                              <widget class="GtkComboBox" id="send_outgoing_messages_combobox">
                                 <property name="visible">True</property>
-                                <property name="tooltip" translatable="yes">If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons</property>
-                                <child>
-                                  <widget class="GtkLabel" id="label381">
-                                    <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="xpad">1</property>
-                                    <property name="label" translatable="yes">Emoticons:</property>
-                                  </widget>
-                                </child>
+                                <property name="items" translatable="yes">Chat message
+Single message</property>
+                                <signal name="changed" handler="on_send_outgoing_messages_combobox_changed"/>
                               </widget>
                               <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="emoticons_combobox">
+                              <widget class="GtkLabel" id="label14">
                                 <property name="visible">True</property>
-                                <signal name="changed" handler="on_emoticons_combobox_changed"/>
+                                <property name="xalign">0</property>
+                                <property name="xpad">1</property>
+                                <property name="label" translatable="yes">Send outgoing messages as:</property>
                               </widget>
                               <packing>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="one_window_type_combobox">
+                                <property name="visible">True</property>
+                                <property name="items" translatable="yes">Never
+Always
+Per account
+Per type</property>
+                                <signal name="changed" handler="on_one_window_type_combo_changed"/>
+                              </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">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="speller_checkbutton">
+                              <widget class="GtkLabel" id="label379">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="xpad">1</property>
+                                <property name="label" translatable="yes">Use only one message _window:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">one_window_type_combobox</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="compact_view_checkbutton">
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">_Highlight misspelled words</property>
+                                <property name="tooltip" translatable="yes">Hides buttons in chatwindows to </property>
+                                <property name="label" translatable="yes">_Make message windows compact</property>
                                 <property name="use_underline">True</property>
                                 <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_speller_checkbutton_toggled"/>
+                                <signal name="toggled" handler="on_compact_view_checkbutton_toggled"/>
                               </widget>
                               <packing>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">5</property>
-                                <property name="bottom_attach">6</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
@@ -183,42 +214,37 @@
                               </widget>
                               <packing>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">4</property>
-                                <property name="bottom_attach">5</property>
+                                <property name="top_attach">5</property>
+                                <property name="bottom_attach">6</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="compact_view_checkbutton">
+                              <widget class="GtkCheckButton" id="speller_checkbutton">
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Hides buttons in chatwindows to </property>
-                                <property name="label" translatable="yes">_Make message windows compact</property>
+                                <property name="label" translatable="yes">_Highlight misspelled words</property>
                                 <property name="use_underline">True</property>
                                 <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_compact_view_checkbutton_toggled"/>
+                                <signal name="toggled" handler="on_speller_checkbutton_toggled"/>
                               </widget>
                               <packing>
                                 <property name="right_attach">2</property>
-                                <property name="top_attach">3</property>
-                                <property name="bottom_attach">4</property>
+                                <property name="top_attach">6</property>
+                                <property name="bottom_attach">7</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="one_window_type_combobox">
+                              <widget class="GtkLabel" id="label387">
                                 <property name="visible">True</property>
-                                <property name="items" translatable="yes">Never
-Always
-Per account
-Per type</property>
-                                <signal name="changed" handler="on_one_window_type_combo_changed"/>
+                                <property name="xalign">0</property>
+                                <property name="xpad">1</property>
+                                <property name="label" translatable="yes">Treat all incoming messages as:</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">1</property>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
@@ -239,30 +265,30 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label379">
+                              <widget class="GtkComboBox" id="emoticons_combobox">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">1</property>
-                                <property name="label" translatable="yes">Use only one message _window:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">one_window_type_combobox</property>
+                                <signal name="changed" handler="on_emoticons_combobox_changed"/>
                               </widget>
                               <packing>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label387">
+                              <widget class="GtkEventBox" id="eventbox5">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">1</property>
-                                <property name="label" translatable="yes">Treat all incoming messages as:</property>
+                                <property name="tooltip" translatable="yes">If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label381">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="xpad">1</property>
+                                    <property name="label" translatable="yes">Emoticons:</property>
+                                  </widget>
+                                </child>
                               </widget>
                               <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
@@ -291,7 +317,6 @@
                   <widget class="GtkFrame" id="frame3">
                     <property name="visible">True</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_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment3">
@@ -307,42 +332,55 @@
                             <property name="column_spacing">6</property>
                             <property name="row_spacing">6</property>
                             <child>
-                              <widget class="GtkLabel" id="label4">
+                              <widget class="GtkLabel" id="label6">
                                 <property name="visible">True</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">3</property>
+                                <property name="left_attach">2</property>
                                 <property name="right_attach">4</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkCheckButton" id="transports_iconsets_checkbutton">
+                              <widget class="GtkLabel" id="label249">
                                 <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">T_heme:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">theme_combobox</property>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkButton" id="manage_theme_button">
+                                <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)</property>
-                                <property name="label" translatable="yes">Use _transports iconsets</property>
+                                <property name="tooltip" translatable="yes">Configure color and font of the interface</property>
+                                <property name="label" translatable="yes">Ma_nage...</property>
                                 <property name="use_underline">True</property>
                                 <property name="response_id">0</property>
-                                <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_transports_iconsets_checkbutton_toggled"/>
+                                <signal name="clicked" handler="on_manage_theme_button_clicked"/>
                               </widget>
                               <packing>
-                                <property name="right_attach">4</property>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
+                                <property name="left_attach">2</property>
+                                <property name="right_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="iconset_combobox">
+                              <widget class="GtkComboBox" id="theme_combobox">
                                 <property name="visible">True</property>
-                                <signal name="changed" handler="on_iconset_combobox_changed"/>
+                                <signal name="changed" handler="on_theme_combobox_changed"/>
                               </widget>
                               <packing>
                                 <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">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
@@ -363,57 +401,44 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="theme_combobox">
+                              <widget class="GtkComboBox" id="iconset_combobox">
                                 <property name="visible">True</property>
-                                <signal name="changed" handler="on_theme_combobox_changed"/>
+                                <signal name="changed" handler="on_iconset_combobox_changed"/>
                               </widget>
                               <packing>
                                 <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">GTK_FILL</property>
                                 <property name="y_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkButton" id="manage_theme_button">
+                              <widget class="GtkCheckButton" id="transports_iconsets_checkbutton">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Configure color and font of the interface</property>
-                                <property name="label" translatable="yes">Ma_nage...</property>
+                                <property name="tooltip" translatable="yes">If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)</property>
+                                <property name="label" translatable="yes">Use _transports iconsets</property>
                                 <property name="use_underline">True</property>
                                 <property name="response_id">0</property>
-                                <signal name="clicked" handler="on_manage_theme_button_clicked"/>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_transports_iconsets_checkbutton_toggled"/>
                               </widget>
                               <packing>
-                                <property name="left_attach">2</property>
-                                <property name="right_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
+                                <property name="right_attach">4</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label249">
+                              <widget class="GtkLabel" id="label4">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">T_heme:</property>
-                                <property name="use_underline">True</property>
-                                <property name="mnemonic_widget">theme_combobox</property>
-                              </widget>
-                              <packing>
-                                <property name="x_options">GTK_FILL</property>
-                                <property name="y_options">GTK_FILL</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkLabel" id="label6">
-                                <property name="visible">True</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                               </widget>
                               <packing>
-                                <property name="left_attach">2</property>
+                                <property name="left_attach">3</property>
                                 <property name="right_attach">4</property>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
                               </packing>
                             </child>
                           </widget>
@@ -438,9 +463,6 @@
                   </packing>
                 </child>
               </widget>
-              <packing>
-                <property name="tab_expand">False</property>
-              </packing>
             </child>
             <child>
               <widget class="GtkLabel" id="label74">
@@ -449,7 +471,6 @@
               </widget>
               <packing>
                 <property name="type">tab</property>
-                <property name="tab_expand">False</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -462,7 +483,6 @@
                   <widget class="GtkFrame" id="frame4">
                     <property name="visible">True</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_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment4">
@@ -478,89 +498,89 @@
                             <property name="column_spacing">6</property>
                             <property name="row_spacing">6</property>
                             <child>
-                              <widget class="GtkCheckButton" id="ignore_events_from_unknown_contacts_checkbutton">
+                              <widget class="GtkComboBox" id="outgoing_chat_states_combobox">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Check this option, only if someone you don't have in the roster spams/annoys you. Use with caution, because it blocks all messages from any contact that is not in the roster</property>
-                                <property name="label" translatable="yes">_Ignore events from contacts not in the roster</property>
-                                <property name="use_underline">True</property>
-                                <property name="response_id">0</property>
-                                <property name="draw_indicator">True</property>
-                                <signal name="toggled" handler="on_ignore_events_from_unknown_contacts_checkbutton_toggled"/>
-                              </widget>
-                              <packing>
-                                <property name="right_attach">2</property>
-                                <property name="top_attach">2</property>
-                                <property name="bottom_attach">3</property>
-                                <property name="x_options">GTK_FILL</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <widget class="GtkComboBox" id="displayed_chat_states_combobox">
-                                <property name="visible">True</property>
                                 <property name="items" translatable="yes">All chat states
 Composing only
 Disabled</property>
-                                <signal name="changed" handler="on_displayed_chat_states_combobox_changed"/>
+                                <signal name="changed" handler="on_outgoing_chat_states_combobox_changed"/>
                               </widget>
                               <packing>
                                 <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">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkEventBox" id="eventbox7">
+                              <widget class="GtkEventBox" id="eventbox4">
                                 <property name="visible">True</property>
-                                <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to display in chat windows.</property>
+                                <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to send to the other party.</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label386">
+                                  <widget class="GtkLabel" id="label354">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Display chat state notifications:</property>
+                                    <property name="label" translatable="yes">_Send chat state notifications:</property>
                                     <property name="use_underline">True</property>
                                   </widget>
                                 </child>
                               </widget>
                               <packing>
-                                <property name="top_attach">1</property>
-                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkEventBox" id="eventbox4">
+                              <widget class="GtkEventBox" id="eventbox7">
                                 <property name="visible">True</property>
-                                <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to send to the other party.</property>
+                                <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to display in chat windows.</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label354">
+                                  <widget class="GtkLabel" id="label386">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Send chat state notifications:</property>
+                                    <property name="label" translatable="yes">_Display chat state notifications:</property>
                                     <property name="use_underline">True</property>
                                   </widget>
                                 </child>
                               </widget>
                               <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                                 <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkComboBox" id="outgoing_chat_states_combobox">
+                              <widget class="GtkComboBox" id="displayed_chat_states_combobox">
                                 <property name="visible">True</property>
                                 <property name="items" translatable="yes">All chat states
 Composing only
 Disabled</property>
-                                <signal name="changed" handler="on_outgoing_chat_states_combobox_changed"/>
+                                <signal name="changed" handler="on_displayed_chat_states_combobox_changed"/>
                               </widget>
                               <packing>
                                 <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">GTK_FILL</property>
                               </packing>
                             </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="ignore_events_from_unknown_contacts_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">Check this option, only if someone you don't have in the roster spams/annoys you. Use with caution, because it blocks all messages from any contact that is not in the roster</property>
+                                <property name="label" translatable="yes">_Ignore events from contacts not in the roster</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_ignore_events_from_unknown_contacts_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
                           </widget>
                         </child>
                       </widget>
@@ -584,7 +604,6 @@
                 <child>
                   <widget class="GtkFrame" id="frame24">
                     <property name="visible">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment53">
@@ -603,79 +622,152 @@
                                 <property name="column_spacing">12</property>
                                 <property name="row_spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label72">
+                                  <widget class="GtkCheckButton" id="default_chat_font">
                                     <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Incoming message:</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="label" translatable="yes">Use system _default</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
-                                    <property name="wrap">True</property>
-                                    <property name="mnemonic_widget">incoming_msg_colorbutton</property>
+                                    <property name="response_id">0</property>
+                                    <property name="draw_indicator">True</property>
+                                    <signal name="toggled" handler="on_default_chat_font_toggled"/>
                                   </widget>
                                   <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">4</property>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
                                     <property name="x_options">GTK_FILL</property>
                                     <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkColorButton" id="incoming_msg_colorbutton">
+                                  <widget class="GtkHBox" id="hbox3021">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="has_focus">True</property>
-                                    <property name="can_default">True</property>
-                                    <property name="has_default">True</property>
-                                    <property name="response_id">0</property>
-                                    <signal name="color_set" handler="on_incoming_msg_colorbutton_color_set"/>
+                                    <property name="spacing">6</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="font_label">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Font:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">conversation_fontbutton</property>
+                                      </widget>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkFontButton" id="conversation_fontbutton">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="response_id">0</property>
+                                        <signal name="font_set" handler="on_conversation_fontbutton_font_set"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </widget>
                                   <packing>
-                                    <property name="left_attach">1</property>
                                     <property name="right_attach">2</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
+                                    <property name="x_options">GTK_FILL</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label70">
+                                  <widget class="GtkHBox" id="hbox3022">
                                     <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Outgoing message:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
-                                    <property name="wrap">True</property>
-                                    <property name="mnemonic_widget">outgoing_msg_colorbutton</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label383">
+                                        <property name="visible">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="reset_colors_button">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="focus_on_click">False</property>
+                                        <property name="response_id">0</property>
+                                        <signal name="clicked" handler="on_reset_colors_button_clicked"/>
+                                        <child>
+                                          <widget class="GtkAlignment" id="alignment52">
+                                            <property name="visible">True</property>
+                                            <property name="xscale">0</property>
+                                            <property name="yscale">0</property>
+                                            <child>
+                                              <widget class="GtkHBox" id="hbox2936">
+                                                <property name="visible">True</property>
+                                                <property name="spacing">2</property>
+                                                <child>
+                                                  <widget class="GtkImage" id="image439">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-revert-to-saved</property>
+                                                  </widget>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">False</property>
+                                                  </packing>
+                                                </child>
+                                                <child>
+                                                  <widget class="GtkLabel" id="label217">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">_Reset to Default Colors</property>
+                                                    <property name="use_underline">True</property>
+                                                  </widget>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">False</property>
+                                                    <property name="position">1</property>
+                                                  </packing>
+                                                </child>
+                                              </widget>
+                                            </child>
+                                          </widget>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </widget>
                                   <packing>
-                                    <property name="left_attach">2</property>
-                                    <property name="right_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">GTK_FILL</property>
-                                    <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkColorButton" id="outgoing_msg_colorbutton">
+                                  <widget class="GtkColorButton" id="url_msg_colorbutton">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="response_id">0</property>
-                                    <signal name="color_set" handler="on_outgoing_msg_colorbutton_color_set"/>
+                                    <signal name="color_set" handler="on_url_msg_colorbutton_color_set"/>
                                   </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">GTK_FILL</property>
                                     <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label71">
+                                  <widget class="GtkLabel" id="label371">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Status message:</property>
+                                    <property name="label" translatable="yes">_URL:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
-                                    <property name="wrap">True</property>
-                                    <property name="mnemonic_widget">status_msg_colorbutton</property>
+                                    <property name="mnemonic_widget">url_msg_colorbutton</property>
                                   </widget>
                                   <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="x_options">GTK_FILL</property>
@@ -699,16 +791,16 @@
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkLabel" id="label371">
+                                  <widget class="GtkLabel" id="label71">
                                     <property name="visible">True</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_URL:</property>
+                                    <property name="label" translatable="yes">_Status message:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">url_msg_colorbutton</property>
+                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="wrap">True</property>
+                                    <property name="mnemonic_widget">status_msg_colorbutton</property>
                                   </widget>
                                   <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="x_options">GTK_FILL</property>
@@ -716,137 +808,64 @@
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkColorButton" id="url_msg_colorbutton">
+                                  <widget class="GtkColorButton" id="outgoing_msg_colorbutton">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="response_id">0</property>
-                                    <signal name="color_set" handler="on_url_msg_colorbutton_color_set"/>
+                                    <signal name="color_set" handler="on_outgoing_msg_colorbutton_color_set"/>
                                   </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">GTK_FILL</property>
                                     <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox3022">
+                                  <widget class="GtkLabel" id="label70">
                                     <property name="visible">True</property>
-                                    <child>
-                                      <widget class="GtkLabel" id="label383">
-                                        <property name="visible">True</property>
-                                      </widget>
-                                      <packing>
-                                        <property name="fill">False</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkButton" id="reset_colors_button">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="focus_on_click">False</property>
-                                        <property name="response_id">0</property>
-                                        <signal name="clicked" handler="on_reset_colors_button_clicked"/>
-                                        <child>
-                                          <widget class="GtkAlignment" id="alignment52">
-                                            <property name="visible">True</property>
-                                            <property name="xscale">0</property>
-                                            <property name="yscale">0</property>
-                                            <child>
-                                              <widget class="GtkHBox" id="hbox2936">
-                                                <property name="visible">True</property>
-                                                <property name="spacing">2</property>
-                                                <child>
-                                                  <widget class="GtkImage" id="image439">
-                                                    <property name="visible">True</property>
-                                                    <property name="stock">gtk-revert-to-saved</property>
-                                                  </widget>
-                                                  <packing>
-                                                    <property name="expand">False</property>
-                                                    <property name="fill">False</property>
-                                                  </packing>
-                                                </child>
-                                                <child>
-                                                  <widget class="GtkLabel" id="label217">
-                                                    <property name="visible">True</property>
-                                                    <property name="label" translatable="yes">_Reset to Default Colors</property>
-                                                    <property name="use_underline">True</property>
-                                                  </widget>
-                                                  <packing>
-                                                    <property name="expand">False</property>
-                                                    <property name="fill">False</property>
-                                                    <property name="position">1</property>
-                                                  </packing>
-                                                </child>
-                                              </widget>
-                                            </child>
-                                          </widget>
-                                        </child>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Outgoing message:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="wrap">True</property>
+                                    <property name="mnemonic_widget">outgoing_msg_colorbutton</property>
                                   </widget>
                                   <packing>
-                                    <property name="right_attach">4</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="bottom_attach">3</property>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</property>
                                     <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox3021">
+                                  <widget class="GtkColorButton" id="incoming_msg_colorbutton">
                                     <property name="visible">True</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <widget class="GtkLabel" id="font_label">
-                                        <property name="visible">True</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">_Font:</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">conversation_fontbutton</property>
-                                      </widget>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkFontButton" id="conversation_fontbutton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="response_id">0</property>
-                                        <signal name="font_set" handler="on_conversation_fontbutton_font_set"/>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property name="has_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="has_default">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="color_set" handler="on_incoming_msg_colorbutton_color_set"/>
                                   </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">GTK_FILL</property>
+                                    <property name="x_options"></property>
+                                    <property name="y_options"></property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="default_chat_font">
+                                  <widget class="GtkLabel" id="label72">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="label" translatable="yes">Use system _default</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Incoming message:</property>
                                     <property name="use_underline">True</property>
-                                    <property name="response_id">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <signal name="toggled" handler="on_default_chat_font_toggled"/>
+                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="wrap">True</property>
+                                    <property name="mnemonic_widget">incoming_msg_colorbutton</property>
                                   </widget>
                                   <packing>
-                                    <property name="left_attach">2</property>
-                                    <property name="right_attach">4</property>
-                                    <property name="top_attach">3</property>
-                                    <property name="bottom_attach">4</property>
                                     <property name="x_options">GTK_FILL</property>
                                     <property name="y_options"></property>
                                   </packing>
@@ -880,7 +899,6 @@
               </widget>
               <packing>
                 <property name="position">1</property>
-                <property name="tab_expand">False</property>
               </packing>
             </child>
             <child>
@@ -891,7 +909,6 @@
               <packing>
                 <property name="type">tab</property>
                 <property name="position">1</property>
-                <property name="tab_expand">False</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -903,7 +920,6 @@
                 <child>
                   <widget class="GtkFrame" id="frame29">
                     <property name="visible">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment58">
@@ -1076,7 +1092,6 @@
                   <widget class="GtkFrame" id="frame5">
                     <property name="visible">True</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_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment5">
@@ -1229,7 +1244,6 @@
               </widget>
               <packing>
                 <property name="position">2</property>
-                <property name="tab_expand">False</property>
               </packing>
             </child>
             <child>
@@ -1240,7 +1254,6 @@
               <packing>
                 <property name="type">tab</property>
                 <property name="position">2</property>
-                <property name="tab_expand">False</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -1257,63 +1270,56 @@
                     <property name="column_spacing">12</property>
                     <property name="row_spacing">6</property>
                     <child>
-                      <widget class="GtkCheckButton" id="auto_away_checkbutton">
+                      <widget class="GtkEntry" id="auto_xa_message_entry">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Auto _away after:</property>
-                        <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
-                        <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="on_auto_away_checkbutton_toggled"/>
+                        <property name="tooltip" translatable="yes">The auto not available status message</property>
+                        <signal name="changed" handler="on_auto_xa_message_entry_changed"/>
                       </widget>
                       <packing>
-                        <property name="x_options">GTK_FILL</property>
-                        <property name="y_options"></property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkCheckButton" id="auto_xa_checkbutton">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="label" translatable="yes">Auto _not available after:</property>
-                        <property name="use_underline">True</property>
-                        <property name="response_id">0</property>
-                        <property name="draw_indicator">True</property>
-                        <signal name="toggled" handler="on_auto_xa_checkbutton_toggled"/>
-                      </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">GTK_FILL</property>
                         <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label77">
+                      <widget class="GtkEntry" id="auto_away_message_entry">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">minutes</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip" translatable="yes">The auto away status message</property>
+                        <signal name="changed" handler="on_auto_away_message_entry_changed"/>
                       </widget>
                       <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</property>
-                        <property name="x_options">GTK_FILL</property>
+                        <property name="left_attach">3</property>
+                        <property name="right_attach">4</property>
                         <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkLabel" id="label78">
+                      <widget class="GtkAlignment" id="alignment34">
                         <property name="visible">True</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">minutes</property>
+                        <property name="xalign">1</property>
+                        <property name="xscale">0</property>
+                        <child>
+                          <widget class="GtkSpinButton" id="auto_xa_time_spinbutton">
+                            <property name="width_request">50</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="adjustment">20 1 1440 1 10 10</property>
+                            <property name="climb_rate">1</property>
+                            <signal name="value_changed" handler="on_auto_xa_time_spinbutton_value_changed"/>
+                          </widget>
+                        </child>
                       </widget>
                       <packing>
-                        <property name="left_attach">2</property>
-                        <property name="right_attach">3</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">GTK_FILL</property>
-                        <property name="y_options"></property>
+                        <property name="y_options">GTK_FILL</property>
                       </packing>
                     </child>
                     <child>
@@ -1340,58 +1346,65 @@
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkAlignment" id="alignment34">
+                      <widget class="GtkLabel" id="label78">
                         <property name="visible">True</property>
-                        <property name="xalign">1</property>
-                        <property name="xscale">0</property>
-                        <child>
-                          <widget class="GtkSpinButton" id="auto_xa_time_spinbutton">
-                            <property name="width_request">50</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="adjustment">20 1 1440 1 10 10</property>
-                            <property name="climb_rate">1</property>
-                            <signal name="value_changed" handler="on_auto_xa_time_spinbutton_value_changed"/>
-                          </widget>
-                        </child>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">minutes</property>
                       </widget>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="right_attach">2</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">GTK_FILL</property>
-                        <property name="y_options">GTK_FILL</property>
+                        <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkEntry" id="auto_away_message_entry">
+                      <widget class="GtkLabel" id="label77">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="tooltip" translatable="yes">The auto away status message</property>
-                        <signal name="changed" handler="on_auto_away_message_entry_changed"/>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">minutes</property>
                       </widget>
                       <packing>
-                        <property name="left_attach">3</property>
-                        <property name="right_attach">4</property>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
                         <property name="y_options"></property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkEntry" id="auto_xa_message_entry">
+                      <widget class="GtkCheckButton" id="auto_xa_checkbutton">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="tooltip" translatable="yes">The auto not available status message</property>
-                        <signal name="changed" handler="on_auto_xa_message_entry_changed"/>
+                        <property name="label" translatable="yes">Auto _not available after:</property>
+                        <property name="use_underline">True</property>
+                        <property name="response_id">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="on_auto_xa_checkbutton_toggled"/>
                       </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">GTK_FILL</property>
                         <property name="y_options"></property>
                       </packing>
                     </child>
+                    <child>
+                      <widget class="GtkCheckButton" id="auto_away_checkbutton">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="label" translatable="yes">Auto _away after:</property>
+                        <property name="use_underline">True</property>
+                        <property name="response_id">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="on_auto_away_checkbutton_toggled"/>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
@@ -1522,7 +1535,6 @@
                 <child>
                   <widget class="GtkFrame" id="frame22">
                     <property name="visible">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment49">
@@ -1638,7 +1650,6 @@
               </widget>
               <packing>
                 <property name="position">3</property>
-                <property name="tab_expand">False</property>
               </packing>
             </child>
             <child>
@@ -1649,7 +1660,6 @@
               <packing>
                 <property name="type">tab</property>
                 <property name="position">3</property>
-                <property name="tab_expand">False</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -1661,7 +1671,6 @@
                 <child>
                   <widget class="GtkFrame" id="applications_frame">
                     <property name="visible">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment89">
@@ -1685,7 +1694,6 @@
                             </child>
                             <child>
                               <widget class="GtkFrame" id="custom_apps_frame">
-                                <property name="label_xalign">0</property>
                                 <property name="shadow_type">GTK_SHADOW_NONE</property>
                                 <child>
                                   <widget class="GtkAlignment" id="alignment43">
@@ -1700,85 +1708,85 @@
                                         <property name="column_spacing">12</property>
                                         <property name="row_spacing">6</property>
                                         <child>
-                                          <widget class="GtkLabel" id="label199">
+                                          <widget class="GtkEntry" id="custom_file_manager_entry">
                                             <property name="visible">True</property>
-                                            <property name="xalign">0</property>
-                                            <property name="label" translatable="yes">_Browser:</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">custom_browser_entry</property>
+                                            <property name="can_focus">True</property>
+                                            <signal name="changed" handler="on_custom_file_manager_entry_changed"/>
                                           </widget>
                                           <packing>
-                                            <property name="x_options">GTK_FILL</property>
+                                            <property name="left_attach">1</property>
+                                            <property name="right_attach">2</property>
+                                            <property name="top_attach">2</property>
+                                            <property name="bottom_attach">3</property>
                                             <property name="y_options"></property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label200">
+                                          <widget class="GtkLabel" id="label355">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
-                                            <property name="label" translatable="yes">_Mail client:</property>
+                                            <property name="label" translatable="yes">_File manager:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">custom_mail_client_entry</property>
+                                            <property name="mnemonic_widget">custom_file_manager_entry</property>
                                           </widget>
                                           <packing>
-                                            <property name="top_attach">1</property>
-                                            <property name="bottom_attach">2</property>
+                                            <property name="top_attach">2</property>
+                                            <property name="bottom_attach">3</property>
                                             <property name="x_options">GTK_FILL</property>
                                             <property name="y_options"></property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkEntry" id="custom_mail_client_entry">
+                                          <widget class="GtkEntry" id="custom_browser_entry">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <signal name="changed" handler="on_custom_mail_client_entry_changed"/>
+                                            <signal name="changed" handler="on_custom_browser_entry_changed"/>
                                           </widget>
                                           <packing>
                                             <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="y_options"></property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkEntry" id="custom_browser_entry">
+                                          <widget class="GtkEntry" id="custom_mail_client_entry">
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
-                                            <signal name="changed" handler="on_custom_browser_entry_changed"/>
+                                            <signal name="changed" handler="on_custom_mail_client_entry_changed"/>
                                           </widget>
                                           <packing>
                                             <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="y_options"></property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkLabel" id="label355">
+                                          <widget class="GtkLabel" id="label200">
                                             <property name="visible">True</property>
                                             <property name="xalign">0</property>
-                                            <property name="label" translatable="yes">_File manager:</property>
+                                            <property name="label" translatable="yes">_Mail client:</property>
                                             <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">custom_file_manager_entry</property>
+                                            <property name="mnemonic_widget">custom_mail_client_entry</property>
                                           </widget>
                                           <packing>
-                                            <property name="top_attach">2</property>
-                                            <property name="bottom_attach">3</property>
+                                            <property name="top_attach">1</property>
+                                            <property name="bottom_attach">2</property>
                                             <property name="x_options">GTK_FILL</property>
                                             <property name="y_options"></property>
                                           </packing>
                                         </child>
                                         <child>
-                                          <widget class="GtkEntry" id="custom_file_manager_entry">
+                                          <widget class="GtkLabel" id="label199">
                                             <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <signal name="changed" handler="on_custom_file_manager_entry_changed"/>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Browser:</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="mnemonic_widget">custom_browser_entry</property>
                                           </widget>
                                           <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="right_attach">2</property>
-                                            <property name="top_attach">2</property>
-                                            <property name="bottom_attach">3</property>
+                                            <property name="x_options">GTK_FILL</property>
                                             <property name="y_options"></property>
                                           </packing>
                                         </child>
@@ -1825,7 +1833,6 @@
                   <widget class="GtkFrame" id="frame_gmail">
                     <property name="visible">True</property>
                     <property name="no_show_all">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment_gmail">
@@ -1892,7 +1899,6 @@
                 <child>
                   <widget class="GtkFrame" id="frame27">
                     <property name="visible">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment56">
@@ -1974,7 +1980,6 @@
                 <child>
                   <widget class="GtkFrame" id="frame31">
                     <property name="visible">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment64">
@@ -2048,7 +2053,6 @@
               </widget>
               <packing>
                 <property name="position">4</property>
-                <property name="tab_expand">False</property>
               </packing>
             </child>
             <child>
@@ -2059,7 +2063,6 @@
               <packing>
                 <property name="type">tab</property>
                 <property name="position">4</property>
-                <property name="tab_expand">False</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
=== TODO.message-mode
==================================================================
--- TODO.message-mode	(revision 8972)
+++ TODO.message-mode	(patch gajim-message-mode level 2)
@@ -0,0 +1,3 @@
+ * History/UserInfos in SingleMessageWindow
+ * "Next"-button should change image when more messages are waiting (animate)
+ * Cleanup!
