[gtranslator] Strip deprecated symbols and old design from GtrWindow
- From: Seán de Búrca <sdeburca src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtranslator] Strip deprecated symbols and old design from GtrWindow
- Date: Tue, 3 Feb 2015 07:52:38 +0000 (UTC)
commit a3ffbeb7deac798e34fd2804ed7dd60ea106a0b8
Author: Seán de Búrca <leftmostcat gmail com>
Date: Thu Jan 29 21:15:08 2015 -0700
Strip deprecated symbols and old design from GtrWindow
src/gtr-actions-file.c | 10 -
src/gtr-actions-go.c | 43 +--
src/gtr-window.c | 924 +-----------------------------------------------
src/gtr-window.h | 10 -
src/gtr-window.ui | 662 +----------------------------------
5 files changed, 26 insertions(+), 1623 deletions(-)
---
diff --git a/src/gtr-actions-file.c b/src/gtr-actions-file.c
index 8bf92b8..3bba22b 100644
--- a/src/gtr-actions-file.c
+++ b/src/gtr-actions-file.c
@@ -55,12 +55,10 @@ static void load_file_list (GtrWindow * window, const GSList * uris);
gboolean
gtr_open (GFile * location, GtrWindow * window, GError ** error)
{
- GtrHeader *header;
GtrPo *po;
GtrTab *tab;
GList *current;
GtrView *active_view;
- const gchar *project_id;
/*
* If the filename can't be opened, pass the error back to the caller
@@ -73,14 +71,6 @@ gtr_open (GFile * location, GtrWindow * window, GError ** error)
&& (((GError *) * error)->code != GTR_PO_ERROR_RECOVERY))
return FALSE;
- header = gtr_po_get_header (po);
- project_id = gtr_header_get_prj_id_version (header);
-
- /*
- * If not a crash/temporary file, add to the history.
- */
- _gtr_recent_add (window, location, (gchar *)project_id);
-
/*
* Create a page to add to our list of open files
*/
diff --git a/src/gtr-actions-go.c b/src/gtr-actions-go.c
index 4d10242..e6a95dc 100644
--- a/src/gtr-actions-go.c
+++ b/src/gtr-actions-go.c
@@ -26,7 +26,6 @@
#include "gtr-actions.h"
#include "gtr-jump-dialog.h"
-#include "gtr-po.h"
#include "gtr-tab.h"
#include "gtr-window.h"
@@ -35,96 +34,72 @@ void
gtr_message_go_to_first (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
gtr_tab_go_to_first (current);
- _gtr_window_set_sensitive_according_to_message (window, po);
}
void
gtr_message_go_to_previous (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
gtr_tab_go_to_prev (current);
- _gtr_window_set_sensitive_according_to_message (window, po);
}
void
gtr_message_go_to_next (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
gtr_tab_go_to_next (current);
- _gtr_window_set_sensitive_according_to_message (window, po);
}
void
gtr_message_go_to_last (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
gtr_tab_go_to_last (current);
- _gtr_window_set_sensitive_according_to_message (window, po);
}
void
gtr_message_go_to_next_fuzzy (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
- if (gtr_tab_go_to_next_fuzzy (current))
- _gtr_window_set_sensitive_according_to_message (window, po);
+ gtr_tab_go_to_next_fuzzy (current);
}
void
gtr_message_go_to_prev_fuzzy (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
- if (gtr_tab_go_to_prev_fuzzy (current))
- _gtr_window_set_sensitive_according_to_message (window, po);
+ gtr_tab_go_to_prev_fuzzy (current);
}
void
gtr_message_go_to_next_untranslated (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
- if (gtr_tab_go_to_next_untrans (current))
- _gtr_window_set_sensitive_according_to_message (window, po);
+ gtr_tab_go_to_next_untrans (current);
}
void
gtr_message_go_to_prev_untranslated (GtkAction * action, GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
- if (gtr_tab_go_to_prev_untrans (current))
- _gtr_window_set_sensitive_according_to_message (window, po);
+ gtr_tab_go_to_prev_untrans (current);
}
void
@@ -132,12 +107,9 @@ gtr_message_go_to_next_fuzzy_or_untranslated (GtkAction * action,
GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
- if (gtr_tab_go_to_next_fuzzy_or_untrans (current))
- _gtr_window_set_sensitive_according_to_message (window, po);
+ gtr_tab_go_to_next_fuzzy_or_untrans (current);
}
void
@@ -145,12 +117,9 @@ gtr_message_go_to_prev_fuzzy_or_untranslated (GtkAction * action,
GtrWindow * window)
{
GtrTab *current;
- GtrPo *po;
current = gtr_window_get_active_tab (window);
- po = gtr_tab_get_po (current);
- if (gtr_tab_go_to_prev_fuzzy_or_untrans (current))
- _gtr_window_set_sensitive_according_to_message (window, po);
+ gtr_tab_go_to_prev_fuzzy_or_untrans (current);
}
void
diff --git a/src/gtr-window.c b/src/gtr-window.c
index a88abf7..12ffdf4 100644
--- a/src/gtr-window.c
+++ b/src/gtr-window.c
@@ -41,10 +41,6 @@
#include "gtr-profile-manager.h"
#include "gtr-status-combo-box.h"
-#include "egg-toolbars-model.h"
-#include "egg-toolbar-editor.h"
-#include "egg-editable-toolbar.h"
-
#include <glib.h>
#include <glib-object.h>
#include <glib/gi18n.h>
@@ -60,31 +56,17 @@
#define PROFILE_DATA "GtrWidnowProfileData"
-static void gtr_window_cmd_edit_toolbar (GtkAction * action,
- GtrWindow * window);
-
typedef struct
{
GSettings *state_settings;
GtkWidget *main_box;
- GtkWidget *menubar;
- GtkWidget *toolbar;
- GtkActionGroup *always_sensitive_action_group;
- GtkActionGroup *action_group;
- GtkActionGroup *documents_list_action_group;
- guint documents_list_menu_ui_id;
-
GtkWidget *notebook;
GtrTab *active_tab;
GtkWidget *statusbar;
- GtkUIManager *ui_manager;
- GtkRecentManager *recent_manager;
- GtkWidget *recent_menu;
-
gint width;
gint height;
GdkWindowState window_state;
@@ -102,281 +84,10 @@ enum
TARGET_URI_LIST = 100
};
-static const GtkActionEntry always_sensitive_entries[] = {
-
- {"File", NULL, N_("_File")},
- {"Edit", NULL, N_("_Edit")},
- {"View", NULL, N_("_View")},
- {"Search", NULL, N_("_Search")},
- {"Go", NULL, N_("_Go")},
- {"Tools", NULL, N_("_Tools")},
- {"Documents", NULL, N_("_Documents")},
-
- /* File menu */
- {"FileOpen", "gtk-open", NULL, "<control>O",
- N_("Open a PO file"),
- G_CALLBACK (gtr_open_file_dialog)},
- {"FileRecentFiles", NULL, N_("_Recent Files"), NULL,
- NULL, NULL},
-
- /* Edit menu */
- {"EditToolbar", NULL, N_("T_oolbar"), NULL, NULL,
- G_CALLBACK (gtr_window_cmd_edit_toolbar)},
- {"EditHeader", "gtk-properties", N_("_Header..."), NULL, NULL,
- G_CALLBACK (gtr_actions_edit_header)},
-};
-
-/* Normal items */
-static const GtkActionEntry entries[] = {
-
- /* File menu */
- {"FileSave", "gtk-save", NULL, "<control>S",
- N_("Save the current file"),
- G_CALLBACK (gtr_save_current_file_dialog)},
- {"FileSaveAs", "gtk-save-as", NULL, "<shift><control>S",
- N_("Save the current file with another name"),
- G_CALLBACK (gtr_save_file_as_dialog)},
- /*{ "FileRevert", GTK_STOCK_REVERT_TO_SAVED, N_("_Revert"), NULL,
- N_(),
- G_CALLBACK (gtr_save_file_as_dialog) }, */
- {"FileCloseWindow", "gtk-close", NULL, "<control>W",
- N_("Close the current file"),
- G_CALLBACK (gtr_file_close)},
-
- /* Edit menu */
- {"EditUndo", "gtk-undo", NULL, "<control>Z",
- N_("Undo last operation"),
- G_CALLBACK (gtr_actions_edit_undo)},
- {"EditRedo", "gtk-redo", NULL, "<shift><control>Z",
- N_("Redo last undone operation"),
- G_CALLBACK (gtr_actions_edit_redo)},
- {"EditCut", "gtk-cut", NULL, "<control>X",
- N_("Cut the selected text"),
- G_CALLBACK (gtr_actions_edit_cut)},
- {"EditCopy", "gtk-copy", NULL, "<control>C",
- N_("Copy the selected text"),
- G_CALLBACK (gtr_actions_edit_copy)},
- {"EditPaste", "gtk-paste", NULL, "<control>V",
- N_("Paste the contents of the clipboard"),
- G_CALLBACK (gtr_actions_edit_paste)},
- {"EditClear", "gtk-clear", NULL, NULL,
- N_("Clear the selected translation"),
- G_CALLBACK (gtr_actions_edit_clear)},
- {"EditHeader", "gtk-properties", N_("_Header..."), NULL, NULL,
- G_CALLBACK (gtr_actions_edit_header)},
- {"EditMessage2Trans", NULL, N_("Copy _Message to Translation"),
- "<control>space",
- N_("Copy original message contents to the translation field"),
- G_CALLBACK (gtr_message_copy_to_translation)},
- {"EditFuzzy", NULL, N_("Toggle _Fuzzy Status"), "<control>U",
- N_("Toggle fuzzy status of a message"),
- G_CALLBACK (gtr_message_status_toggle_fuzzy)},
- {"EditTranslationMemory", NULL, N_("_Translation Memory"), NULL, NULL,
- NULL},
-
-
- /* View menu */
- {"ViewContext", NULL, N_("_Message Details"), "<control>J",
- N_("Show the Context panel"),
- G_CALLBACK (gtr_actions_view_context)},
-
- /* Go menu */
- {"GoPrevious", "gtk-go-back", N_("_Previous Message"),
- "<alt>Left", N_("Move back one message"),
- G_CALLBACK (gtr_message_go_to_previous)},
- {"GoForward", "gtk-go-forward", N_("_Next Message"),
- "<alt>Right", N_("Move forward one message"),
- G_CALLBACK (gtr_message_go_to_next)},
- {"GoJump", "gtk-jump-to", N_("_Go to Message..."),
- "<control>G", N_("Jumps to a specific message"),
- G_CALLBACK (gtr_message_jump)},
- {"GoFirst", "gtk-goto-first", N_("_First Message"),
- "<alt>Home", N_("Go to the first message"),
- G_CALLBACK (gtr_message_go_to_first)},
- {"GoLast", "gtk-goto-last", N_("_Last Message"),
- "<alt>End", N_("Go to the last message"),
- G_CALLBACK (gtr_message_go_to_last)},
- {"GoNextFuzzy", GTR_STOCK_FUZZY_NEXT, N_("Next Fuz_zy"),
- "<alt><control>Page_Down", N_("Go to the next fuzzy message"),
- G_CALLBACK (gtr_message_go_to_next_fuzzy)},
- {"GoPreviousFuzzy", GTR_STOCK_FUZZY_PREV, N_("Previous Fuzz_y"),
- "<alt><control>Page_Up", N_("Go to the previous fuzzy message"),
- G_CALLBACK (gtr_message_go_to_prev_fuzzy)},
- {"GoNextUntranslated", GTR_STOCK_UNTRANS_NEXT, N_("Next _Untranslated"),
- "<alt>Page_Down", N_("Go to the next untranslated message"),
- G_CALLBACK (gtr_message_go_to_next_untranslated)},
- {"GoPreviousUntranslated", GTR_STOCK_UNTRANS_PREV,
- N_("Previ_ous Untranslated"),
- "<alt>Page_Up", N_("Go to the previous untranslated message"),
- G_CALLBACK (gtr_message_go_to_prev_untranslated)},
- {"GoNextFuzzyUntranslated", GTR_STOCK_FUZZY_UNTRANS_NEXT,
- N_("Next Fu_zzy or Untranslated"),
- "<control><shift>Page_Down",
- N_("Go to the next fuzzy or untranslated message"),
- G_CALLBACK (gtr_message_go_to_next_fuzzy_or_untranslated)},
- {"GoPreviousFuzzyUntranslated", GTR_STOCK_FUZZY_UNTRANS_PREV,
- N_("Pre_vious Fuzzy or Untranslated"),
- "<control><shift>Page_Up",
- N_("Go to the previous fuzzy or untranslated message"),
- G_CALLBACK (gtr_message_go_to_prev_fuzzy_or_untranslated)},
-
- /* Search menu */
- {"SearchFind", "gtk-find", NULL, "<control>F",
- N_("Search for text"),
- G_CALLBACK (_gtr_actions_search_find)},
- {"SearchReplace", "gtk-find-and-replace", NULL, "<control>H",
- N_("Search for and replace text"),
- G_CALLBACK (_gtr_actions_search_replace)},
-
- /* Documents menu */
- {"FileSaveAll", "gtk-save", N_("_Save All"), "<shift><control>L",
- N_("Save all open files"),
- G_CALLBACK (_gtr_actions_file_save_all)},
- {"FileCloseAll", "gtk-close", N_("_Close All"), "<shift><control>W",
- N_("Close all open files"),
- G_CALLBACK (_gtr_actions_file_close_all)},
- {"DocumentsPreviousDocument", NULL, N_("_Previous Document"),
- "<alt><control>Page_Up",
- N_("Activate previous document"),
- G_CALLBACK (gtr_actions_documents_previous_document)},
- {"DocumentsNextDocument", NULL, N_("_Next Document"),
- "<alt><control>Page_Down",
- N_("Activate next document"),
- G_CALLBACK (gtr_actions_documents_next_document)}
-};
-
static void profile_combo_changed (GtrStatusComboBox *combo,
GtkMenuItem *item,
GtrWindow *window);
-void
-_gtr_window_set_sensitive_according_to_message (GtrWindow * window,
- GtrPo * po)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GList *current;
- GtkAction *action;
-
- current = gtr_po_get_current_message (po);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoForward");
- gtk_action_set_sensitive (action, g_list_next (current) != NULL);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoPrevious");
- gtk_action_set_sensitive (action, g_list_previous (current) != NULL);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoFirst");
- gtk_action_set_sensitive (action, g_list_first (current) != current);
-
- action = gtk_action_group_get_action (priv->action_group, "GoLast");
- gtk_action_set_sensitive (action, g_list_last (current) != current);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoNextFuzzy");
- gtk_action_set_sensitive (action, gtr_po_get_next_fuzzy (po) != NULL);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoPreviousFuzzy");
- gtk_action_set_sensitive (action, gtr_po_get_prev_fuzzy (po) != NULL);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoNextUntranslated");
- gtk_action_set_sensitive (action, gtr_po_get_next_untrans (po) != NULL);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoPreviousUntranslated");
- gtk_action_set_sensitive (action, gtr_po_get_prev_untrans (po) != NULL);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoNextFuzzyUntranslated");
- gtk_action_set_sensitive (action,
- gtr_po_get_next_fuzzy_or_untrans (po) != NULL);
-
- action = gtk_action_group_get_action (priv->action_group,
- "GoPreviousFuzzyUntranslated");
- gtk_action_set_sensitive (action,
- gtr_po_get_prev_fuzzy_or_untrans (po) != NULL);
-}
-
-static void
-set_sensitive_according_to_tab (GtrWindow * window, GtrTab * tab)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GtrNotebook *notebook;
- GtrView *view;
- GtrPo *po;
- GtkSourceBuffer *buf;
- GtkAction *action;
- GtrPoState state;
- gint pages;
- gint current_page;
-
- notebook = gtr_window_get_notebook (window);
- pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook));
- view = gtr_tab_get_active_view (tab);
- po = gtr_tab_get_po (tab);
- buf = GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)));
-
- if (gtk_action_group_get_sensitive (priv->action_group) == FALSE)
- gtk_action_group_set_sensitive (priv->action_group, TRUE);
-
- /*File */
- state = gtr_po_get_state (po);
- action = gtk_action_group_get_action (priv->action_group,
- "FileSave");
- gtk_action_set_sensitive (action, state == GTR_PO_STATE_MODIFIED);
-
- /*Edit */
- action = gtk_action_group_get_action (priv->action_group,
- "EditUndo");
- gtk_action_set_sensitive (action, gtk_source_buffer_can_undo (buf));
-
- action = gtk_action_group_get_action (priv->action_group,
- "EditRedo");
- gtk_action_set_sensitive (action, gtk_source_buffer_can_redo (buf));
-
- action = gtk_action_group_get_action (priv->action_group,
- "EditCut");
- gtk_action_set_sensitive (action,
- gtk_text_buffer_get_has_selection (GTK_TEXT_BUFFER
- (buf)));
-
- action = gtk_action_group_get_action (priv->action_group,
- "EditCopy");
- gtk_action_set_sensitive (action,
- gtk_text_buffer_get_has_selection (GTK_TEXT_BUFFER
- (buf)));
-
- /*Go */
- current_page =
- gtk_notebook_page_num (GTK_NOTEBOOK (notebook), GTK_WIDGET (tab));
- g_return_if_fail (current_page >= 0);
-
- action = gtk_action_group_get_action (priv->action_group,
- "DocumentsPreviousDocument");
- gtk_action_set_sensitive (action, current_page != 0);
-
- action = gtk_action_group_get_action (priv->action_group,
- "DocumentsNextDocument");
- gtk_action_set_sensitive (action, current_page < pages - 1);
-
- _gtr_window_set_sensitive_according_to_message (window, po);
-}
-
-static void
-set_sensitive_according_to_window (GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- gint pages;
-
- pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook));
-
- gtk_action_group_set_sensitive (priv->action_group, pages > 0);
-}
-
/*
* gtr_window_update_statusbar_message_count:
*
@@ -461,133 +172,6 @@ gtr_window_update_statusbar_message_count (GtrTab * tab,
(gdouble) message_count);
}
-static void
-documents_list_menu_activate (GtkToggleAction * action, GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- gint n;
-
- if (gtk_toggle_action_get_active (action) == FALSE)
- return;
-
- n = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), n);
-}
-
-static gchar *
-get_menu_tip_for_tab (GtrTab * tab)
-{
- GtrPo *doc;
- gchar *uri;
- gchar *tip;
- GFile *file;
-
- doc = gtr_tab_get_po (tab);
- file = gtr_po_get_location (doc);
-
- uri = g_file_get_path (file);
- g_object_unref (file);
-
- /* Translators: %s is a URI */
- tip = g_strdup_printf (_("Activate '%s'"), uri);
- g_free (uri);
-
- return tip;
-}
-
-static void
-update_documents_list_menu (GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GList *actions, *l;
- gint n, i;
- guint id;
- GSList *group = NULL;
-
- g_return_if_fail (priv->documents_list_action_group != NULL);
-
- if (priv->documents_list_menu_ui_id != 0)
- gtk_ui_manager_remove_ui (priv->ui_manager, priv->documents_list_menu_ui_id);
-
- actions = gtk_action_group_list_actions (priv->documents_list_action_group);
- for (l = actions; l != NULL; l = l->next)
- {
- g_signal_handlers_disconnect_by_func (GTK_ACTION (l->data),
- G_CALLBACK
- (documents_list_menu_activate),
- window);
- gtk_action_group_remove_action (priv->documents_list_action_group,
- GTK_ACTION (l->data));
- }
- g_list_free (actions);
-
- n = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook));
-
- id = (n > 0) ? gtk_ui_manager_new_merge_id (priv->ui_manager) : 0;
-
- for (i = 0; i < n; i++)
- {
- GtkWidget *tab;
- GtkRadioAction *action;
- gchar *action_name;
- gchar *tab_name;
- gchar *name;
- gchar *tip;
- gchar *accel;
-
- tab = gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), i);
-
- /* NOTE: the action is associated to the position of the tab in
- * the notebook not to the tab itself! This is needed to work
- * around the gtk+ bug #170727: gtk leaves around the accels
- * of the action. Since the accel depends on the tab position
- * the problem is worked around, action with the same name always
- * get the same accel.
- */
- action_name = g_strdup_printf ("Tab_%d", i);
- tab_name = _gtr_tab_get_name (GTR_TAB (tab));
- name = gtr_utils_escape_underscores (tab_name, -1);
- tip = get_menu_tip_for_tab (GTR_TAB (tab));
-
- /* alt + 1, 2, 3... 0 to switch to the first ten tabs */
- accel = (i < 10) ? g_strdup_printf ("<alt>%d", (i + 1) % 10) : NULL;
-
- action = gtk_radio_action_new (action_name, name, tip, NULL, i);
-
- if (group != NULL)
- gtk_radio_action_set_group (action, group);
-
- /* note that group changes each time we add an action, so it must be updated */
- group = gtk_radio_action_get_group (action);
-
- gtk_action_group_add_action_with_accel (priv->documents_list_action_group,
- GTK_ACTION (action), accel);
-
- g_signal_connect (action,
- "activate",
- G_CALLBACK (documents_list_menu_activate), window);
-
- gtk_ui_manager_add_ui (priv->ui_manager,
- id,
- "/MainMenu/DocumentsMenu/DocumentsListPlaceholder",
- action_name, action_name,
- GTK_UI_MANAGER_MENUITEM, FALSE);
-
- if (GTR_TAB (tab) == priv->active_tab)
- gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
-
- g_object_unref (action);
-
- g_free (action_name);
- g_free (tab_name);
- g_free (name);
- g_free (tip);
- g_free (accel);
- }
-
- priv->documents_list_menu_ui_id = id;
-}
-
static GtrWindow *
get_drop_window (GtkWidget * widget)
{
@@ -692,8 +276,6 @@ notebook_switch_page (GtkNotebook * nb,
GtrHeader *header;
GtrProfile *profile;
gint n_pages;
- GtkAction *action;
- gchar *action_name;
GList *profile_items, *l;
tab = GTR_TAB (gtk_notebook_get_nth_page (nb, page_num));
@@ -712,9 +294,6 @@ notebook_switch_page (GtkNotebook * nb,
priv->active_tab = tab;
view = gtr_tab_get_active_view (tab);
- set_sensitive_according_to_tab (window, tab);
-
-
/* sync the statusbar */
gtr_statusbar_set_overwrite (GTR_STATUSBAR
(priv->statusbar),
@@ -752,20 +331,6 @@ notebook_switch_page (GtkNotebook * nb,
window);
}
}
-
- /* activate the right item in the documents menu */
- action_name = g_strdup_printf ("Tab_%d", page_num);
- action =
- gtk_action_group_get_action (priv->documents_list_action_group,
- action_name);
- g_free (action_name);
-
- /* sometimes the action doesn't exist yet, and the proper action
- * is set active during the documents list menu creation
- * CHECK: would it be nicer if active_tab was a property and we monitored the notify signal?
- */
- if (action != NULL)
- gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
}
static void
@@ -785,81 +350,6 @@ notebook_page_removed (GtkNotebook * notebook,
/* Hide the profile combo */
if (n_pages == 0)
gtk_widget_hide (priv->profile_combo);
-
- update_documents_list_menu (window);
-}
-
-static void
-can_undo (GtkSourceBuffer * doc, GParamSpec * pspec, GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GtkAction *action;
- gboolean sensitive;
- GtrView *view;
- GtkSourceBuffer *buf;
-
- view = gtr_window_get_active_view (window);
- buf = GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)));
-
- sensitive = gtk_source_buffer_can_undo (buf);
-
- if (doc != buf)
- return;
-
- action = gtk_action_group_get_action (priv->action_group,
- "EditUndo");
- gtk_action_set_sensitive (action, sensitive);
-}
-
-static void
-can_redo (GtkSourceBuffer * doc, GParamSpec * spec, GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GtkAction *action;
- gboolean sensitive;
- GtrView *view;
- GtkSourceBuffer *buf;
-
- view = gtr_window_get_active_view (window);
- buf = GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)));
-
- sensitive = gtk_source_buffer_can_redo (buf);
-
- if (doc != buf)
- return;
-
- action = gtk_action_group_get_action (priv->action_group,
- "EditRedo");
- gtk_action_set_sensitive (action, sensitive);
-}
-
-static void
-sync_state (GtrPo * po, GParamSpec * pspec, GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- int n_pages = 0;
-
- set_sensitive_according_to_tab (window, gtr_tab_get_from_document (po));
- n_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook));
-
- if (n_pages == 1)
- set_window_title (window, TRUE);
-}
-
-static void
-showed_message_cb (GtrTab * tab, GtrMsg * msg, GtrWindow * window)
-{
- g_return_if_fail (GTR_IS_TAB (tab));
-
- gtr_window_update_statusbar_message_count (tab, msg, window);
-
- _gtr_window_set_sensitive_according_to_message (window, gtr_tab_get_po (tab));
-}
-
-static void
-selection_changed_cb (GtrTab * tab, GtrWindow * window)
-{
- set_sensitive_according_to_tab (window, tab);
}
static void
@@ -869,7 +359,6 @@ notebook_tab_added (GtkNotebook * notebook,
GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
GList *views;
GtrTab *tab = GTR_TAB (child);
- GtkTextBuffer *buffer;
gint n_pages;
g_return_if_fail (GTR_IS_TAB (tab));
@@ -888,15 +377,6 @@ notebook_tab_added (GtkNotebook * notebook,
while (views)
{
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (views->data));
-
-
- g_signal_connect (GTK_SOURCE_BUFFER (buffer),
- "notify::can-undo", G_CALLBACK (can_undo), window);
-
- g_signal_connect (GTK_SOURCE_BUFFER (buffer),
- "notify::can-redo", G_CALLBACK (can_redo), window);
-
g_signal_connect (views->data,
"toggle_overwrite",
G_CALLBACK (update_overwrite_mode_statusbar), window);
@@ -909,223 +389,6 @@ notebook_tab_added (GtkNotebook * notebook,
G_CALLBACK
(gtr_window_update_statusbar_message_count),
window);
- g_signal_connect_after (child, "showed_message",
- G_CALLBACK (showed_message_cb), window);
- g_signal_connect (child, "selection-changed",
- G_CALLBACK (selection_changed_cb), window);
-
- g_signal_connect (gtr_tab_get_po (tab),
- "notify::state", G_CALLBACK (sync_state), window);
-
- update_documents_list_menu (window);
-}
-
-void
-_gtr_recent_add (GtrWindow * window, GFile * location, gchar * project_id)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GtkRecentData *recent_data;
- gchar *uri;
- gchar *path;
- gchar *display_name;
-
- uri = g_file_get_uri (location);
- path = g_file_get_path (location);
- display_name = gtr_utils_reduce_path ((const gchar *) path);
-
- recent_data = g_slice_new (GtkRecentData);
-
- recent_data->display_name = display_name;
- recent_data->description = NULL;
- recent_data->mime_type = "text/x-gettext-translation";
- recent_data->app_name = (gchar *) g_get_application_name ();
- recent_data->app_exec = g_strjoin (" ", g_get_prgname (), "%u", NULL);
- recent_data->groups = NULL;
- recent_data->is_private = FALSE;
-
- if (!gtk_recent_manager_add_full (priv->recent_manager,
- uri, recent_data))
- {
- g_warning ("Unable to add '%s' to the list of recently used documents",
- uri);
- }
-
- g_free (uri);
- g_free (path);
- g_free (display_name);
- g_free (recent_data->app_exec);
- g_slice_free (GtkRecentData, recent_data);
-}
-
-/*
-static void
-gtr_recent_remove (GtrWindow * window, const gchar * path)
-{
- gchar *uri;
- GError *error = NULL;
-
- uri = g_filename_to_uri (path, NULL, &error);
- if (error)
- {
- g_warning ("Could not convert uri \"%s\" to a local path: %s",
- uri, error->message);
- g_error_free (error);
- return;
- }
-
- gtk_recent_manager_remove_item (window->priv->recent_manager, uri, &error);
- if (error)
- {
- g_warning ("Could not remove recent-files uri \"%s\": %s",
- uri, error->message);
- g_error_free (error);
- }
-
- g_free (uri);
-}
-*/
-
-static void
-gtr_recent_chooser_item_activated_cb (GtkRecentChooser * chooser,
- GtrWindow * window)
-{
- gchar *uri;
- GSList *list = NULL;
- GFile *location;
-
- uri = gtk_recent_chooser_get_current_uri (chooser);
- location = g_file_new_for_uri (uri);
- g_free (uri);
-
- list = g_slist_prepend (list, location);
-
- gtr_actions_load_locations (window, list);
- g_slist_free_full (list, g_object_unref);
-}
-
-static GtkWidget *
-create_recent_chooser_menu (GtrWindow * window, GtkRecentManager * manager)
-{
- GtkWidget *recent_menu;
- GtkRecentFilter *filter;
-
- recent_menu = gtk_recent_chooser_menu_new_for_manager (manager);
-
- gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (recent_menu), TRUE);
- gtk_recent_chooser_set_show_icons (GTK_RECENT_CHOOSER (recent_menu), FALSE);
- gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (recent_menu),
- GTK_RECENT_SORT_MRU);
- gtk_recent_chooser_menu_set_show_numbers (GTK_RECENT_CHOOSER_MENU
- (recent_menu), TRUE);
- gtk_recent_chooser_set_show_tips (GTK_RECENT_CHOOSER (recent_menu), TRUE);
-
- filter = gtk_recent_filter_new ();
- gtk_recent_filter_add_application (filter, g_get_application_name ());
- gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (recent_menu), filter);
-
- return recent_menu;
-}
-
-static void
-gtr_window_cmd_edit_toolbar_cb (GtkDialog * dialog,
- gint response, gpointer data)
-{
- GtrWindow *window = GTR_WINDOW (data);
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
-
- egg_editable_toolbar_set_edit_mode
- (EGG_EDITABLE_TOOLBAR (priv->toolbar), FALSE);
- _gtr_application_save_toolbars_model (GTR_APP);
- gtk_widget_destroy (GTK_WIDGET (dialog));
-}
-
-static void
-gtr_window_cmd_edit_toolbar (GtkAction * action, GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GtkWidget *dialog;
- GtkWidget *editor;
- GtkWidget *content_area;
-
- dialog = gtk_dialog_new_with_buttons (_("Toolbar Editor"),
- GTK_WINDOW (window),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CLOSE,
- GTK_RESPONSE_CLOSE, NULL);
- content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
- gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)), 5);
- gtk_box_set_spacing (GTK_BOX (content_area), 2);
- gtk_window_set_default_size (GTK_WINDOW (dialog), 500, 400);
-
- editor = egg_toolbar_editor_new (priv->ui_manager,
- EGG_TOOLBARS_MODEL
- (_gtr_application_get_toolbars_model
- (GTR_APP)));
- gtk_container_set_border_width (GTK_CONTAINER (editor), 5);
- gtk_box_set_spacing (GTK_BOX (EGG_TOOLBAR_EDITOR (editor)), 5);
-
- gtk_box_pack_start (GTK_BOX (content_area), editor, TRUE, TRUE, 0);
-
- egg_editable_toolbar_set_edit_mode
- (EGG_EDITABLE_TOOLBAR (priv->toolbar), TRUE);
-
- g_signal_connect (dialog, "response",
- G_CALLBACK (gtr_window_cmd_edit_toolbar_cb), window);
- gtk_widget_show_all (dialog);
-}
-
-static void
-menu_item_select_cb (GtkMenuItem * proxy, GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GtkAction *action;
- const gchar *message;
-
- action = gtk_activatable_get_related_action (GTK_ACTIVATABLE (proxy));
- g_return_if_fail (action != NULL);
-
- message = gtk_action_get_tooltip (action);
- if (message)
- {
- gtr_statusbar_push_default (GTR_STATUSBAR (priv->statusbar),
- message);
- }
-}
-
-static void
-menu_item_deselect_cb (GtkMenuItem * proxy, GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
-
- gtr_statusbar_pop_default (GTR_STATUSBAR (priv->statusbar));
-}
-
-static void
-connect_proxy_cb (GtkUIManager * manager,
- GtkAction * action, GtkWidget * proxy, GtrWindow * window)
-{
- if (GTK_IS_MENU_ITEM (proxy))
- {
- g_signal_connect (proxy, "select",
- G_CALLBACK (menu_item_select_cb), window);
- g_signal_connect (proxy, "deselect",
- G_CALLBACK (menu_item_deselect_cb), window);
- }
-}
-
-static void
-disconnect_proxy_cb (GtkUIManager * manager,
- GtkAction * action,
- GtkWidget * proxy, GtrWindow * window)
-{
- if (GTK_IS_MENU_ITEM (proxy))
- {
- g_signal_handlers_disconnect_by_func
- (proxy, G_CALLBACK (menu_item_select_cb), window);
- g_signal_handlers_disconnect_by_func
- (proxy, G_CALLBACK (menu_item_deselect_cb), window);
- }
}
static void
@@ -1189,21 +452,9 @@ fill_profile_combo (GtrWindow *window)
}
static void
-create_statusbar (GtrWindow *window)
+init_statusbar (GtrWindow *window)
{
GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
- GtkWidget *hbox;
-
- /* hbox */
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start (GTK_BOX (priv->main_box), hbox, FALSE, FALSE, 0);
- gtk_widget_show (hbox);
-
- priv->statusbar = gtr_statusbar_new ();
-
- gtk_box_pack_end (GTK_BOX (hbox), priv->statusbar, TRUE, TRUE, 0);
-
- gtk_widget_show (priv->statusbar);
priv->profile_combo = gtr_status_combo_box_new (_("Profile"));
gtk_widget_set_tooltip_text (priv->profile_combo,
@@ -1345,16 +596,15 @@ on_profile_modified (GtrProfileManager *manager,
}
static void
-gtr_window_init (GtrWindow * window)
+gtr_window_init (GtrWindow *window)
{
GtkTargetList *tl;
- GtkWidget *widget;
- GError *error = NULL;
- GtkActionGroup *action_group;
GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
priv->state_settings = g_settings_new ("org.gnome.gtranslator.state.window");
+ gtk_widget_init_template (GTK_WIDGET (window));
+
/* Profile manager */
priv->prof_manager = gtr_profile_manager_get_default ();
@@ -1367,101 +617,7 @@ gtr_window_init (GtrWindow * window)
g_signal_connect (priv->prof_manager, "profile-modified",
G_CALLBACK (on_profile_modified), window);
- /* Main box */
- priv->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_add (GTK_CONTAINER (window), priv->main_box);
- gtk_widget_show (priv->main_box);
-
- /* Menus */
- priv->ui_manager = gtk_ui_manager_new ();
-
- gtk_window_add_accel_group (GTK_WINDOW (window),
- gtk_ui_manager_get_accel_group
- (priv->ui_manager));
-
- priv->always_sensitive_action_group =
- gtk_action_group_new ("AlwaysSensitiveMenuActions");
- gtk_action_group_set_translation_domain
- (priv->always_sensitive_action_group, NULL);
- gtk_action_group_add_actions (priv->always_sensitive_action_group,
- always_sensitive_entries,
- G_N_ELEMENTS (always_sensitive_entries),
- window);
-
- gtk_ui_manager_insert_action_group (priv->ui_manager,
- priv->always_sensitive_action_group, 0);
-
- priv->action_group = gtk_action_group_new ("MenuActions");
- gtk_action_group_set_translation_domain (priv->action_group, NULL);
- gtk_action_group_add_actions (priv->action_group, entries,
- G_N_ELEMENTS (entries), window);
-
- gtk_ui_manager_insert_action_group (priv->ui_manager,
- priv->action_group, 0);
-
- /* list of open documents menu */
- action_group = gtk_action_group_new ("DocumentsListActions");
- gtk_action_group_set_translation_domain (action_group, NULL);
- priv->documents_list_action_group = action_group;
- gtk_ui_manager_insert_action_group (priv->ui_manager, action_group, 0);
- g_object_unref (action_group);
-
- gtk_ui_manager_add_ui_from_resource (priv->ui_manager,
- "/org/gnome/gtranslator/ui/gtranslator-ui.xml",
- &error);
-
- if (error != NULL)
- {
- g_warning ("Could not add ui definition: %s", error->message);
- g_error_free (error);
- }
-
- /* show tooltips in the statusbar */
- g_signal_connect (priv->ui_manager,
- "connect_proxy", G_CALLBACK (connect_proxy_cb), window);
- g_signal_connect (priv->ui_manager,
- "disconnect_proxy",
- G_CALLBACK (disconnect_proxy_cb), window);
-
- priv->menubar = gtk_ui_manager_get_widget (priv->ui_manager, "/MainMenu");
- gtk_box_pack_start (GTK_BOX (priv->main_box),
- priv->menubar, FALSE, FALSE, 0);
-
- /* Recent files */
- priv->recent_manager = gtk_recent_manager_get_default ();
-
- priv->recent_menu =
- create_recent_chooser_menu (window, priv->recent_manager);
-
- g_signal_connect (priv->recent_menu,
- "item-activated",
- G_CALLBACK (gtr_recent_chooser_item_activated_cb),
- window);
-
- widget = gtk_ui_manager_get_widget (priv->ui_manager,
- "/MainMenu/FileMenu/FileRecentFilesMenu");
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (widget), priv->recent_menu);
-
- /* Toolbar */
- priv->toolbar = GTK_WIDGET
- (g_object_new (EGG_TYPE_EDITABLE_TOOLBAR,
- "ui-manager", priv->ui_manager,
- "model",
- _gtr_application_get_toolbars_model (GTR_APP), NULL));
-
- gtk_style_context_add_class (gtk_widget_get_style_context (priv->toolbar),
- GTK_STYLE_CLASS_PRIMARY_TOOLBAR);
-
- egg_editable_toolbar_show (EGG_EDITABLE_TOOLBAR (priv->toolbar),
- "DefaultToolBar");
- gtk_box_pack_start (GTK_BOX (priv->main_box),
- priv->toolbar, FALSE, FALSE, 0);
- gtk_widget_show (priv->toolbar);
-
/* notebook */
- priv->notebook = GTK_WIDGET (gtr_notebook_new ());
- gtk_widget_show (priv->notebook);
- gtk_box_pack_start (GTK_BOX (priv->main_box), priv->notebook, TRUE, TRUE, 0);
g_signal_connect (priv->notebook, "switch-page",
G_CALLBACK (notebook_switch_page), window);
g_signal_connect (priv->notebook, "page-added",
@@ -1473,10 +629,7 @@ gtr_window_init (GtrWindow * window)
G_CALLBACK (gtr_close_tab), window);
/* statusbar & progress bar */
- create_statusbar (window);
-
-
- set_sensitive_according_to_window (window);
+ init_statusbar (window);
/* Drag and drop support, set targets to NULL because we add the
default uri_targets below */
@@ -1530,8 +683,6 @@ gtr_window_dispose (GObject * object)
}
g_clear_object (&priv->state_settings);
- g_clear_object (&priv->ui_manager);
- g_clear_object (&priv->action_group);
g_clear_object (&priv->prof_manager);
G_OBJECT_CLASS (gtr_window_parent_class)->dispose (object);
@@ -1558,45 +709,8 @@ gtr_window_configure_event (GtkWidget * widget, GdkEventConfigure * event)
event);
}
-#if 0
-FIXME: for now we are giving priority to the window accels
-/*
- * GtkWindow catches keybindings for the menu items _before_ passing them to
- * the focused widget. This is unfortunate and means that pressing ctrl+V
- * in an entry on a panel ends up pasting text in the TextView.
- * Here we override GtkWindow's handler to do the same things that it
- * does, but in the opposite order and then we chain up to the grand
- * parent handler, skipping gtk_window_key_press_event.
- */
-static gboolean
-gtr_window_key_press_event (GtkWidget *widget,
- GdkEventKey *event)
-{
- static gpointer grand_parent_class = NULL;
- GtkWindow *window = GTK_WINDOW (widget);
- gboolean handled = FALSE;
-
- if (grand_parent_class == NULL)
- grand_parent_class = g_type_class_peek_parent (gtr_window_parent_class);
-
- /* handle focus widget key events */
- if (!handled)
- handled = gtk_window_propagate_key_event (window, event);
-
- /* handle mnemonics and accelerators */
- if (!handled)
- handled = gtk_window_activate_key (window, event);
-
- /* Chain up, invokes binding set */
- if (!handled)
- handled = GTK_WIDGET_CLASS (grand_parent_class)->key_press_event (widget, event);
-
- return handled;
-}
-#endif
-
static void
-gtr_window_class_init (GtrWindowClass * klass)
+gtr_window_class_init (GtrWindowClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
@@ -1605,7 +719,13 @@ gtr_window_class_init (GtrWindowClass * klass)
object_class->dispose = gtr_window_dispose;
widget_class->configure_event = gtr_window_configure_event;
- /*widget_class->key_press_event = gtr_window_key_press_event;*/
+
+ gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
+ "/org/gnome/translator/gtr-window.ui");
+
+ gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GtrWindow, main_box);
+ gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GtrWindow, notebook);
+ gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GtrWindow, statusbar);
}
/***************************** Public funcs ***********************************/
@@ -1743,22 +863,6 @@ gtr_window_get_statusbar (GtrWindow * window)
}
/**
- * gtr_window_get_ui_manager:
- * @window: a #GtrWindow
- *
- * Gets the #GtkUIManager of the window.
- *
- * Returns: (transfer none): the #GtkUIManager of the @window
- */
-GtkUIManager *
-gtr_window_get_ui_manager (GtrWindow * window)
-{
- GtrWindowPrivate *priv = gtr_window_get_instance_private(window);
-
- return priv->ui_manager;
-}
-
-/**
* gtr_window_get_active_view:
* @window: a #GtranslationWindow
*
@@ -1907,6 +1011,4 @@ _gtr_window_close_tab (GtrWindow * window, GtrTab * tab)
gtr_statusbar_clear_progress_bar (GTR_STATUSBAR
(priv->statusbar));
}
-
- set_sensitive_according_to_window (window);
}
diff --git a/src/gtr-window.h b/src/gtr-window.h
index 0ce8f42..fe2ec1f 100644
--- a/src/gtr-window.h
+++ b/src/gtr-window.h
@@ -70,8 +70,6 @@ GtrHeader * gtr_window_get_header_from_active_tab (GtrWindow * window);
GtkWidget *gtr_window_get_statusbar (GtrWindow * window);
-GtkUIManager *gtr_window_get_ui_manager (GtrWindow * window);
-
GtrView *gtr_window_get_active_view (GtrWindow * window);
GList *gtr_window_get_all_views (GtrWindow * window,
@@ -83,13 +81,5 @@ void gtr_window_set_active_tab (GtrWindow * window, GtkWidget * tab);
void _gtr_window_close_tab (GtrWindow * window, GtrTab * tab);
-void _gtr_recent_add (GtrWindow * window,
- GFile * location, gchar * project_id);
-
-/* FIXME: this is wrong. we should have some signal in the po and set this and
- have this as private api */
-void _gtr_window_set_sensitive_according_to_message (GtrWindow * window,
- GtrPo * po);
-
G_END_DECLS
#endif /* __WINDOW_H__ */
diff --git a/src/gtr-window.ui b/src/gtr-window.ui
index d47a931..80aad36 100644
--- a/src/gtr-window.ui
+++ b/src/gtr-window.ui
@@ -1,667 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.15.3 on Thu Sep 5 02:04:42 2013 -->
<interface>
- <!-- interface-requires gtk+ 3.10 -->
- <object class="GtkImage" id="image1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-properties</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="image2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-go-back</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="image3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-go-forward</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="image4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-jump-to</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="image5">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-goto-first</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="image6">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-goto-last</property>
- <property name="icon_size">1</property>
- </object>
- <object class="GtkImage" id="image7">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-save</property>
- </object>
- <object class="GtkImage" id="image8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="stock">gtk-close</property>
- </object>
- <template class="GtrWindow" parent="GtkWindow">
+ <requires lib="gtk+" version="3.14"/>
+ <template class="GtrWindow" parent="GtkApplicationWindow">
<property name="can_focus">False</property>
+ <property name="default_width">800</property>
+ <property name="default_height">600</property>
+ <property name="height_request">600</property>
+ <property name="show_menubar">False</property>
<child>
<object class="GtkBox" id="main_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkMenuBar" id="menubar">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkMenuItem" id="menuitem1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_File</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkImageMenuItem" id="open_item">
- <property name="label">gtk-open</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Open a PO file</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="recent_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Recent Files</property>
- <property name="use_underline">True</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="save_item">
- <property name="label">gtk-save</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Save the current file</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="save_as_item">
- <property name="label">gtk-save-as</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Save the current file with another
name</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="close_item">
- <property name="label">gtk-close</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Close the current file</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="menuitem2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Edit</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkImageMenuItem" id="undo_item">
- <property name="label">gtk-undo</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Undo last operation</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="z" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="redo_item">
- <property name="label">gtk-redo</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Redo last undone
operation</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="z" signal="activate" modifiers="GDK_SHIFT_MASK |
GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="cut_item">
- <property name="label">gtk-cut</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Cut the selected text</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="x" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="copy_item">
- <property name="label">gtk-copy</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Copy the selected text</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="c" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="paste_item">
- <property name="label">gtk-paste</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Paste the contents of the
clipboard</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="v" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="clear_item">
- <property name="label">gtk-clear</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Clear the selected
translation</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="header_item">
- <property name="label" translatable="yes">_Header…</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="use_underline">True</property>
- <property name="image">image1</property>
- <property name="use_stock">False</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem5">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="copy_msg_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Copy original message contents to
the translation field</property>
- <property name="label" translatable="yes">Copy _Message to Translation</property>
- <property name="use_underline">True</property>
- <accelerator key="space" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="fuzzy_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Toggle fuzzy status of a
message</property>
- <property name="label" translatable="yes">Toggle _Fuzzy Status</property>
- <property name="use_underline">True</property>
- <accelerator key="u" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="menuitem3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_View</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkMenuItem" id="details_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Show the context panel</property>
- <property name="label" translatable="yes">_Message Details</property>
- <property name="use_underline">True</property>
- <accelerator key="j" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="menuitem4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Go</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkImageMenuItem" id="prev_item">
- <property name="label" translatable="yes">_Previous Message</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Move back one message</property>
- <property name="use_underline">True</property>
- <property name="image">image2</property>
- <property name="use_stock">False</property>
- <accelerator key="Left" signal="activate" modifiers="GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="next_item">
- <property name="label" translatable="yes">_Next Message</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Move forward one message</property>
- <property name="use_underline">True</property>
- <property name="image">image3</property>
- <property name="use_stock">False</property>
- <accelerator key="Right" signal="activate" modifiers="GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="go_item">
- <property name="label" translatable="yes">_Go to Message…</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Jumps to a specific
message</property>
- <property name="use_underline">True</property>
- <property name="image">image4</property>
- <property name="use_stock">False</property>
- <accelerator key="g" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem6">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="first_item">
- <property name="label" translatable="yes">_First Message</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the first message</property>
- <property name="use_underline">True</property>
- <property name="image">image5</property>
- <property name="use_stock">False</property>
- <accelerator key="Home" signal="activate" modifiers="GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="imagemenuitem1">
- <property name="label" translatable="yes">_Last Message</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the last message</property>
- <property name="use_underline">True</property>
- <property name="image">image6</property>
- <property name="use_stock">False</property>
- <accelerator key="End" signal="activate" modifiers="GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem7">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="previous_fuzzy_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the previous fuzzy
message</property>
- <property name="label" translatable="yes">Previous Fuzz_y</property>
- <accelerator key="Page_Up" signal="activate" modifiers="GDK_CONTROL_MASK |
GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="next_fuzzy_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the next fuzzy
message</property>
- <property name="label" translatable="yes">Next Fuz_zy</property>
- <property name="use_underline">True</property>
- <accelerator key="Next" signal="activate" modifiers="GDK_CONTROL_MASK |
GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="prev_untranslated_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the previous untranslated
message</property>
- <property name="label" translatable="yes">Previ_ous Untranslated</property>
- <property name="use_underline">True</property>
- <accelerator key="Page_Up" signal="activate" modifiers="GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="next_untranslated_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the next untranslated
message</property>
- <property name="label" translatable="yes">Next _Untranslated</property>
- <property name="use_underline">True</property>
- <accelerator key="Next" signal="activate" modifiers="GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="prev_fuzzy_untranslated_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the previous fuzzy or
untranslated message</property>
- <property name="label" translatable="yes">Pre_vious Fuzzy or Untranslated</property>
- <property name="use_underline">True</property>
- <accelerator key="Page_Up" signal="activate" modifiers="GDK_SHIFT_MASK |
GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="menuitem8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Go to the next fuzzy or
untranslated message</property>
- <property name="label" translatable="yes">Next Fu_zzy or Untranslated</property>
- <property name="use_underline">True</property>
- <accelerator key="Next" signal="activate" modifiers="GDK_SHIFT_MASK |
GDK_CONTROL_MASK"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="menuitem5">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Search</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu5">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkImageMenuItem" id="search_item">
- <property name="label">gtk-find</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Search for text</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="f" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="search_replace_item">
- <property name="label">gtk-find-and-replace</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Search for and replace
text</property>
- <property name="use_underline">True</property>
- <property name="use_stock">True</property>
- <accelerator key="h" signal="activate" modifiers="GDK_CONTROL_MASK"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="menuitem6">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Documents</property>
- <property name="use_underline">True</property>
- <child type="submenu">
- <object class="GtkMenu" id="menu6">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkImageMenuItem" id="save_all_item">
- <property name="label" translatable="yes">_Save All</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Save all open files</property>
- <property name="use_underline">True</property>
- <property name="image">image7</property>
- <property name="use_stock">False</property>
- <accelerator key="l" signal="activate" modifiers="GDK_SHIFT_MASK |
GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkImageMenuItem" id="close_all_item">
- <property name="label" translatable="yes">_Close All</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Close all open files</property>
- <property name="use_underline">True</property>
- <property name="image">image8</property>
- <property name="use_stock">False</property>
- <accelerator key="w" signal="activate" modifiers="GDK_SHIFT_MASK |
GDK_CONTROL_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="separatormenuitem10">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="prev_document_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Activate previous
document</property>
- <property name="label" translatable="yes">_Previous Document</property>
- <property name="use_underline">True</property>
- <accelerator key="Page_Up" signal="activate" modifiers="GDK_CONTROL_MASK |
GDK_MOD1_MASK"/>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="next_document_item">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="tooltip_text" translatable="yes">Activate next document</property>
- <property name="label" translatable="yes">_Next Document</property>
- <property name="use_underline">True</property>
- <accelerator key="Next" signal="activate" modifiers="GDK_CONTROL_MASK |
GDK_MOD1_MASK"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolbar" id="toolbar">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkToolButton" id="open_button">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="is_important">True</property>
- <property name="label" translatable="yes">_Open</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-open</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="save_button">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="is_important">True</property>
- <property name="label" translatable="yes">_Save</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-save</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkSeparatorToolItem" id="toolbutton1">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="undo_button">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="is_important">True</property>
- <property name="label" translatable="yes">_Undo</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-undo</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="redo_button">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Redo</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-redo</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkSeparatorToolItem" id="toolbutton2">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="previous_button">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Previous Message</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-back</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkToolButton" id="next_button">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">_Next Message</property>
- <property name="use_underline">True</property>
- <property name="stock_id">gtk-go-forward</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtrNotebook" id="main_notebook"/>
+ <object class="GtrNotebook" id="notebook"/>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]