diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-08-23 20:08:18 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-08-23 22:09:36 +0800 |
commit | 1ad15d157971b6550cb11787a03463e891d29364 (patch) | |
tree | d477032973b531993eb8d9c58f7415cbc8a609d8 | |
parent | a54170335d7c6246f1606347ed109e682c883927 (diff) | |
download | gsoc2013-empathy-1ad15d157971b6550cb11787a03463e891d29364.tar gsoc2013-empathy-1ad15d157971b6550cb11787a03463e891d29364.tar.gz gsoc2013-empathy-1ad15d157971b6550cb11787a03463e891d29364.tar.bz2 gsoc2013-empathy-1ad15d157971b6550cb11787a03463e891d29364.tar.lz gsoc2013-empathy-1ad15d157971b6550cb11787a03463e891d29364.tar.xz gsoc2013-empathy-1ad15d157971b6550cb11787a03463e891d29364.tar.zst gsoc2013-empathy-1ad15d157971b6550cb11787a03463e891d29364.zip |
Move main window's UI manager to its own UI file
Glade doesn't support GtkUIManager so it was impossible to edit the main window at all
because of that.
-rw-r--r-- | po/POTFILES.in | 1 | ||||
-rw-r--r-- | src/empathy-main-window-menubar.ui | 307 | ||||
-rw-r--r-- | src/empathy-main-window.c | 31 | ||||
-rw-r--r-- | src/empathy-main-window.ui | 309 |
4 files changed, 331 insertions, 317 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in index ed0002913..1b60d8031 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -101,6 +101,7 @@ src/empathy-import-widget.c src/empathy-import-widget.c src/empathy-main-window.c [type: gettext/glade]src/empathy-main-window.ui +[type: gettext/glade]src/empathy-main-window-menubar.ui src/empathy-new-chatroom-dialog.c [type: gettext/glade]src/empathy-new-chatroom-dialog.ui src/empathy-preferences.c diff --git a/src/empathy-main-window-menubar.ui b/src/empathy-main-window-menubar.ui new file mode 100644 index 000000000..979afe215 --- /dev/null +++ b/src/empathy-main-window-menubar.ui @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<!--*- mode: xml -*--> +<interface> + <object class="GtkUIManager" id="ui_manager"> + <child> + <object class="GtkActionGroup" id="actiongroup1"> + <child> + <object class="GtkAction" id="chat"> + <property name="name">chat</property> + <property name="label" translatable="yes">_Chat</property> + </object> + </child> + <child> + <object class="GtkAction" id="chat_new_message"> + <property name="icon-name">im-message-new</property> + <property name="name">chat_new_message</property> + <property name="label" translatable="yes">_New Conversation…</property> + </object> + <accelerator key="N" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkAction" id="chat_new_call"> + <property name="icon-name">audio-input-microphone</property> + <property name="name">chat_new_call</property> + <property name="label" translatable="yes">New _Call…</property> + </object> + <accelerator key="M" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkAction" id="view_history"> + <property name="icon-name">document-open-recent</property> + <property name="name">view_history</property> + <property name="label" translatable="yes">_Previous Conversations</property> + </object> + <accelerator key="F3" modifiers=""/> + </child> + <child> + <object class="GtkAction" id="chat_add_contact"> + <property name="stock_id">gtk-add</property> + <property name="name">chat_add_contact</property> + <property name="label" translatable="yes">_Add Contact…</property> + </object> + </child> + <child> + <object class="GtkAction" id="chat_search_contacts"> + <property name="stock_id">gtk-find</property> + <property name="name">chat_search_contacts</property> + <property name="label" translatable="yes">_Search for Contacts…</property> + </object> + <accelerator key="f" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkAction" id="view_show_ft_manager"> + <property name="icon-name">document-send</property> + <property name="name">view_show_ft_manager</property> + <property name="label" translatable="yes">_File Transfers</property> + </object> + </child> + <child> + <object class="GtkToggleAction" id="view_show_offline"> + <property name="name">view_show_offline</property> + <property name="label" translatable="yes">_Offline Contacts</property> + </object> + <accelerator key="H" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkToggleAction" id="view_show_protocols"> + <property name="name">view_show_protocols</property> + <property name="label" translatable="yes">Show P_rotocols</property> + </object> + </child> + <child> + <object class="GtkToggleAction" id="view_balance_show_in_roster"> + <property name="name">view_balance_show_in_roster</property> + <property name="label" translatable="yes">Credit Balance</property> + <property name="visible">False</property> + </object> + </child> + <child> + <object class="GtkAction" id="view_show_map"> + <property name="name">view_show_map</property> + <property name="label" translatable="yes">Contacts on a _Map</property> + </object> + </child> + <child> + <object class="GtkAction" id="chat_quit"> + <property name="stock_id">gtk-quit</property> + <property name="name">chat_quit</property> + </object> + <accelerator key="Q" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkAction" id="edit"> + <property name="name">edit</property> + <property name="label" translatable="yes">_Edit</property> + </object> + </child> + <child> + <object class="GtkAction" id="edit_context"> + <property name="name">edit_context</property> + <property name="label" translatable="no">Context</property> + </object> + </child> + <child> + <object class="GtkAction" id="edit_accounts"> + <property name="name">edit_accounts</property> + <property name="label" translatable="yes">_Accounts</property> + </object> + <accelerator key="F4" modifiers=""/> + </child> + <child> + <object class="GtkAction" id="edit_personal_information"> + <property name="name">edit_personal_information</property> + <property name="label" translatable="yes">_Personal Information</property> + </object> + </child> + <child> + <object class="GtkAction" id="edit_blocked_contacts"> + <property name="name">edit_blocked_contacts</property> + <property name="label" translatable="yes">_Blocked Contacts</property> + </object> + </child> + <child> + <object class="GtkAction" id="edit_preferences"> + <property name="stock_id">gtk-preferences</property> + <property name="name">edit_preferences</property> + <property name="label" translatable="yes">P_references</property> + </object> + </child> + <child> + <object class="GtkAction" id="edit_search_contacts"> + <property name="name">edit_search_contacts</property> + <property name="label" translatable="yes">Find in Contact _List</property> + </object> + <accelerator key="f" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkAction" id="view"> + <property name="name">view</property> + <property name="label" translatable="yes">_View</property> + </object> + </child> + <child> + <object class="GtkRadioAction" id="view_sort_by_name"> + <property name="name">view_sort_by_name</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Sort by _Name</property> + <property name="draw_as_radio">True</property> + <property name="value">1</property> + <property name="current-value">1</property> + </object> + </child> + <child> + <object class="GtkRadioAction" id="view_sort_by_status"> + <property name="name">view_sort_by_status</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Sort by _Status</property> + <property name="draw_as_radio">True</property> + <property name="group">view_sort_by_name</property> + <property name="value">0</property> + </object> + </child> + <child> + <object class="GtkRadioAction" id="view_normal_size_with_avatars"> + <property name="name">view_normal_size_with_avatars</property> + <property name="visible">True</property> + <property name="label" translatable="yes">Normal Size With _Avatars</property> + <property name="draw_as_radio">True</property> + <property name="value">0</property> + <property name="current-value">0</property> + </object> + <accelerator key="1" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkRadioAction" id="view_normal_size"> + <property name="name">view_normal_size</property> + <property name="visible">True</property> + <property name="label" translatable="yes">N_ormal Size</property> + <property name="draw_as_radio">True</property> + <property name="group">view_normal_size_with_avatars</property> + <property name="value">1</property> + </object> + <accelerator key="2" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkRadioAction" id="view_compact_size"> + <property name="name">view_compact_size</property> + <property name="visible">True</property> + <property name="label" translatable="yes">_Compact Size</property> + <property name="draw_as_radio">True</property> + <property name="group">view_normal_size_with_avatars</property> + <property name="value">2</property> + </object> + <accelerator key="3" modifiers="GDK_CONTROL_MASK"/> + </child> + <child> + <object class="GtkAction" id="room"> + <property name="name">room</property> + <property name="label" translatable="yes">_Room</property> + </object> + </child> + <child> + <object class="GtkAction" id="room_join_new"> + <property name="name">room_join_new</property> + <property name="label" translatable="yes">_Join…</property> + </object> + </child> + <child> + <object class="GtkAction" id="room_join_favorites"> + <property name="name">room_join_favorites</property> + <property name="label" translatable="yes">Join _Favorites</property> + </object> + <accelerator key="F5" modifiers=""/> + </child> + <child> + <object class="GtkAction" id="room_manage_favorites"> + <property name="icon-name">system-users</property> + <property name="name">room_manage_favorites</property> + <property name="label" translatable="yes">Manage Favorites</property> + </object> + </child> + <child> + <object class="GtkAction" id="help"> + <property name="name">help</property> + <property name="label" translatable="yes">_Help</property> + </object> + </child> + <child> + <object class="GtkAction" id="help_contents"> + <property name="stock_id">gtk-help</property> + <property name="name">help_contents</property> + <property name="label" translatable="yes">_Contents</property> + </object> + <accelerator key="F1" modifiers=""/> + </child> + <child> + <object class="GtkAction" id="help_debug"> + <property name="name">help_debug</property> + <property name="label" translatable="yes">_Debug</property> + </object> + </child> + <child> + <object class="GtkAction" id="help_about"> + <property name="stock_id">gtk-about</property> + <property name="name">help_about</property> + </object> + </child> + </object> + </child> + <ui> + <menubar name="menubar"> + <menu action="chat"> + <menuitem action="chat_new_message"/> + <menuitem action="chat_new_call"/> + <separator/> + <menuitem action="chat_add_contact"/> + <menuitem action="chat_search_contacts"/> + <separator/> + <menuitem action="chat_quit"/> + </menu> + <menu action="edit"> + <menuitem action="edit_context"/> + <separator name="edit_context_separator"/> + <menuitem action="edit_accounts"/> + <menuitem action="edit_personal_information"/> + <menuitem action="edit_search_contacts"/> + <menuitem action="edit_blocked_contacts"/> + <separator/> + <menuitem action="edit_preferences"/> + </menu> + <menu action="view"> + <menuitem action="view_show_offline"/> + <menuitem action="view_show_protocols"/> + <separator/> + <menuitem action="view_balance_show_in_roster"/> + <placeholder name="view_balance_placeholder"/> + <separator/> + <menuitem action="view_sort_by_name"/> + <menuitem action="view_sort_by_status"/> + <separator/> + <menuitem action="view_normal_size_with_avatars"/> + <menuitem action="view_normal_size"/> + <menuitem action="view_compact_size"/> + <separator/> + <menuitem action="view_history"/> + <menuitem action="view_show_ft_manager"/> + <menuitem action="view_show_map"/> + </menu> + <menu action="room"> + <menuitem action="room_join_new"/> + <menuitem action="room_join_favorites"/> + <separator/> + <separator name="room_separator"/> + <menuitem action="room_manage_favorites"/> + </menu> + <menu action="help"> + <menuitem action="help_contents"/> + <menuitem action="help_debug"/> + <menuitem action="help_about"/> + </menu> + </menubar> + </ui> + </object> + <object class="GtkMenuBar" constructor="ui_manager" id="menubar"> + <property name="visible">True</property> + </object> +</interface> diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c index fa50ef587..1463e8ed9 100644 --- a/src/empathy-main-window.c +++ b/src/empathy-main-window.c @@ -2096,7 +2096,7 @@ empathy_main_window_init (EmpathyMainWindow *window) { EmpathyMainWindowPriv *priv; EmpathyIndividualManager *individual_manager; - GtkBuilder *gui; + GtkBuilder *gui, *gui_mgr; GtkWidget *sw; GtkToggleAction *show_offline_widget; GtkAction *show_map_widget; @@ -2106,6 +2106,7 @@ empathy_main_window_init (EmpathyMainWindow *window) GSList *l; GtkTreeModel *model; GtkWidget *search_vbox; + GtkWidget *menubar; priv = window->priv = G_TYPE_INSTANCE_GET_PRIVATE (window, EMPATHY_TYPE_MAIN_WINDOW, EmpathyMainWindowPriv); @@ -2126,6 +2127,17 @@ empathy_main_window_init (EmpathyMainWindow *window) "balance_vbox", &priv->balance_vbox, "errors_vbox", &priv->errors_vbox, "auth_vbox", &priv->auth_vbox, + "search_vbox", &search_vbox, + "presence_toolbar", &priv->presence_toolbar, + "notebook", &priv->notebook, + "no_entry_label", &priv->no_entry_label, + "roster_scrolledwindow", &sw, + NULL); + g_free (filename); + + /* Set UI manager */ + filename = empathy_file_lookup ("empathy-main-window-menubar.ui", "src"); + gui_mgr = empathy_builder_get_file (filename, "ui_manager", &priv->ui_manager, "view_show_offline", &show_offline_widget, "view_show_protocols", &priv->show_protocols, @@ -2137,22 +2149,24 @@ empathy_main_window_init (EmpathyMainWindow *window) "view_history", &priv->view_history, "view_show_map", &show_map_widget, "room_join_favorites", &priv->room_join_favorites, - "presence_toolbar", &priv->presence_toolbar, - "notebook", &priv->notebook, - "no_entry_label", &priv->no_entry_label, - "roster_scrolledwindow", &sw, "view_balance_show_in_roster", &priv->view_balance_show_in_roster, - "search_vbox", &search_vbox, + "menubar", &menubar, NULL); g_free (filename); + /* The UI manager is living in its own .ui file as Glade doesn't support + * those. The GtkMenubar has to be in this file as well to we manually add + * it to the first position of the vbox. */ + gtk_box_pack_start (GTK_BOX (priv->main_vbox), menubar, FALSE, FALSE, 0); + gtk_box_reorder_child (GTK_BOX (priv->main_vbox), menubar, 0); + gtk_container_add (GTK_CONTAINER (window), priv->main_vbox); gtk_widget_show (priv->main_vbox); g_signal_connect (window, "key-press-event", G_CALLBACK (main_window_key_press_event_cb), NULL); - empathy_builder_connect (gui, window, + empathy_builder_connect (gui_mgr, window, "chat_quit", "activate", main_window_chat_quit_cb, "chat_new_message", "activate", main_window_chat_new_message_cb, "chat_new_call", "activate", main_window_chat_new_call_cb, @@ -2180,10 +2194,11 @@ empathy_main_window_init (EmpathyMainWindow *window) NULL); /* Set up connection related widgets. */ - main_window_connection_items_setup (window, gui); + main_window_connection_items_setup (window, gui_mgr); g_object_ref (priv->ui_manager); g_object_unref (gui); + g_object_unref (gui_mgr); #ifndef HAVE_LIBCHAMPLAIN gtk_action_set_visible (show_map_widget, FALSE); diff --git a/src/empathy-main-window.ui b/src/empathy-main-window.ui index bab01c10e..a92dd7327 100644 --- a/src/empathy-main-window.ui +++ b/src/empathy-main-window.ui @@ -1,318 +1,9 @@ <?xml version="1.0"?> <!--*- mode: xml -*--> <interface> - <object class="GtkUIManager" id="ui_manager"> - <child> - <object class="GtkActionGroup" id="actiongroup1"> - <child> - <object class="GtkAction" id="chat"> - <property name="name">chat</property> - <property name="label" translatable="yes">_Chat</property> - </object> - </child> - <child> - <object class="GtkAction" id="chat_new_message"> - <property name="icon-name">im-message-new</property> - <property name="name">chat_new_message</property> - <property name="label" translatable="yes">_New Conversation…</property> - </object> - <accelerator key="N" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkAction" id="chat_new_call"> - <property name="icon-name">audio-input-microphone</property> - <property name="name">chat_new_call</property> - <property name="label" translatable="yes">New _Call…</property> - </object> - <accelerator key="M" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkAction" id="view_history"> - <property name="icon-name">document-open-recent</property> - <property name="name">view_history</property> - <property name="label" translatable="yes">_Previous Conversations</property> - </object> - <accelerator key="F3" modifiers=""/> - </child> - <child> - <object class="GtkAction" id="chat_add_contact"> - <property name="stock_id">gtk-add</property> - <property name="name">chat_add_contact</property> - <property name="label" translatable="yes">_Add Contact…</property> - </object> - </child> - <child> - <object class="GtkAction" id="chat_search_contacts"> - <property name="stock_id">gtk-find</property> - <property name="name">chat_search_contacts</property> - <property name="label" translatable="yes">_Search for Contacts…</property> - </object> - <accelerator key="f" modifiers="GDK_SHIFT_MASK | GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkAction" id="view_show_ft_manager"> - <property name="icon-name">document-send</property> - <property name="name">view_show_ft_manager</property> - <property name="label" translatable="yes">_File Transfers</property> - </object> - </child> - <child> - <object class="GtkToggleAction" id="view_show_offline"> - <property name="name">view_show_offline</property> - <property name="label" translatable="yes">_Offline Contacts</property> - </object> - <accelerator key="H" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkToggleAction" id="view_show_protocols"> - <property name="name">view_show_protocols</property> - <property name="label" translatable="yes">Show P_rotocols</property> - </object> - </child> - <child> - <object class="GtkToggleAction" id="view_balance_show_in_roster"> - <property name="name">view_balance_show_in_roster</property> - <property name="label" translatable="yes">Credit Balance</property> - <property name="visible">False</property> - </object> - </child> - <child> - <object class="GtkAction" id="view_show_map"> - <property name="name">view_show_map</property> - <property name="label" translatable="yes">Contacts on a _Map</property> - </object> - </child> - <child> - <object class="GtkAction" id="chat_quit"> - <property name="stock_id">gtk-quit</property> - <property name="name">chat_quit</property> - </object> - <accelerator key="Q" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkAction" id="edit"> - <property name="name">edit</property> - <property name="label" translatable="yes">_Edit</property> - </object> - </child> - <child> - <object class="GtkAction" id="edit_context"> - <property name="name">edit_context</property> - <property name="label" translatable="no">Context</property> - </object> - </child> - <child> - <object class="GtkAction" id="edit_accounts"> - <property name="name">edit_accounts</property> - <property name="label" translatable="yes">_Accounts</property> - </object> - <accelerator key="F4" modifiers=""/> - </child> - <child> - <object class="GtkAction" id="edit_personal_information"> - <property name="name">edit_personal_information</property> - <property name="label" translatable="yes">_Personal Information</property> - </object> - </child> - <child> - <object class="GtkAction" id="edit_blocked_contacts"> - <property name="name">edit_blocked_contacts</property> - <property name="label" translatable="yes">_Blocked Contacts</property> - </object> - </child> - <child> - <object class="GtkAction" id="edit_preferences"> - <property name="stock_id">gtk-preferences</property> - <property name="name">edit_preferences</property> - <property name="label" translatable="yes">P_references</property> - </object> - </child> - <child> - <object class="GtkAction" id="edit_search_contacts"> - <property name="name">edit_search_contacts</property> - <property name="label" translatable="yes">Find in Contact _List</property> - </object> - <accelerator key="f" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkAction" id="view"> - <property name="name">view</property> - <property name="label" translatable="yes">_View</property> - </object> - </child> - <child> - <object class="GtkRadioAction" id="view_sort_by_name"> - <property name="name">view_sort_by_name</property> - <property name="visible">True</property> - <property name="label" translatable="yes">Sort by _Name</property> - <property name="draw_as_radio">True</property> - <property name="value">1</property> - <property name="current-value">1</property> - </object> - </child> - <child> - <object class="GtkRadioAction" id="view_sort_by_status"> - <property name="name">view_sort_by_status</property> - <property name="visible">True</property> - <property name="label" translatable="yes">Sort by _Status</property> - <property name="draw_as_radio">True</property> - <property name="group">view_sort_by_name</property> - <property name="value">0</property> - </object> - </child> - <child> - <object class="GtkRadioAction" id="view_normal_size_with_avatars"> - <property name="name">view_normal_size_with_avatars</property> - <property name="visible">True</property> - <property name="label" translatable="yes">Normal Size With _Avatars</property> - <property name="draw_as_radio">True</property> - <property name="value">0</property> - <property name="current-value">0</property> - </object> - <accelerator key="1" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkRadioAction" id="view_normal_size"> - <property name="name">view_normal_size</property> - <property name="visible">True</property> - <property name="label" translatable="yes">N_ormal Size</property> - <property name="draw_as_radio">True</property> - <property name="group">view_normal_size_with_avatars</property> - <property name="value">1</property> - </object> - <accelerator key="2" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkRadioAction" id="view_compact_size"> - <property name="name">view_compact_size</property> - <property name="visible">True</property> - <property name="label" translatable="yes">_Compact Size</property> - <property name="draw_as_radio">True</property> - <property name="group">view_normal_size_with_avatars</property> - <property name="value">2</property> - </object> - <accelerator key="3" modifiers="GDK_CONTROL_MASK"/> - </child> - <child> - <object class="GtkAction" id="room"> - <property name="name">room</property> - <property name="label" translatable="yes">_Room</property> - </object> - </child> - <child> - <object class="GtkAction" id="room_join_new"> - <property name="name">room_join_new</property> - <property name="label" translatable="yes">_Join…</property> - </object> - </child> - <child> - <object class="GtkAction" id="room_join_favorites"> - <property name="name">room_join_favorites</property> - <property name="label" translatable="yes">Join _Favorites</property> - </object> - <accelerator key="F5" modifiers=""/> - </child> - <child> - <object class="GtkAction" id="room_manage_favorites"> - <property name="icon-name">system-users</property> - <property name="name">room_manage_favorites</property> - <property name="label" translatable="yes">Manage Favorites</property> - </object> - </child> - <child> - <object class="GtkAction" id="help"> - <property name="name">help</property> - <property name="label" translatable="yes">_Help</property> - </object> - </child> - <child> - <object class="GtkAction" id="help_contents"> - <property name="stock_id">gtk-help</property> - <property name="name">help_contents</property> - <property name="label" translatable="yes">_Contents</property> - </object> - <accelerator key="F1" modifiers=""/> - </child> - <child> - <object class="GtkAction" id="help_debug"> - <property name="name">help_debug</property> - <property name="label" translatable="yes">_Debug</property> - </object> - </child> - <child> - <object class="GtkAction" id="help_about"> - <property name="stock_id">gtk-about</property> - <property name="name">help_about</property> - </object> - </child> - </object> - </child> - <ui> - <menubar name="menubar"> - <menu action="chat"> - <menuitem action="chat_new_message"/> - <menuitem action="chat_new_call"/> - <separator/> - <menuitem action="chat_add_contact"/> - <menuitem action="chat_search_contacts"/> - <separator/> - <menuitem action="chat_quit"/> - </menu> - <menu action="edit"> - <menuitem action="edit_context"/> - <separator name="edit_context_separator"/> - <menuitem action="edit_accounts"/> - <menuitem action="edit_personal_information"/> - <menuitem action="edit_search_contacts"/> - <menuitem action="edit_blocked_contacts"/> - <separator/> - <menuitem action="edit_preferences"/> - </menu> - <menu action="view"> - <menuitem action="view_show_offline"/> - <menuitem action="view_show_protocols"/> - <separator/> - <menuitem action="view_balance_show_in_roster"/> - <placeholder name="view_balance_placeholder"/> - <separator/> - <menuitem action="view_sort_by_name"/> - <menuitem action="view_sort_by_status"/> - <separator/> - <menuitem action="view_normal_size_with_avatars"/> - <menuitem action="view_normal_size"/> - <menuitem action="view_compact_size"/> - <separator/> - <menuitem action="view_history"/> - <menuitem action="view_show_ft_manager"/> - <menuitem action="view_show_map"/> - </menu> - <menu action="room"> - <menuitem action="room_join_new"/> - <menuitem action="room_join_favorites"/> - <separator/> - <separator name="room_separator"/> - <menuitem action="room_manage_favorites"/> - </menu> - <menu action="help"> - <menuitem action="help_contents"/> - <menuitem action="help_debug"/> - <menuitem action="help_about"/> - </menu> - </menubar> - </ui> - </object> <object class="GtkVBox" id="main_vbox"> <property name="visible">True</property> <child> - <object class="GtkMenuBar" constructor="ui_manager" id="menubar"> - <property name="visible">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - <child> <object class="GtkToolbar" id="presence_toolbar"> <property name="visible">True</property> <property name="toolbar_style">GTK_TOOLBAR_BOTH</property> |