aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--lib/widgets/ephy-node-view.c17
-rw-r--r--lib/widgets/ephy-node-view.h3
-rw-r--r--src/bookmarks/ephy-bookmarks-editor.c53
-rw-r--r--src/ephy-history-window.c45
5 files changed, 57 insertions, 71 deletions
diff --git a/ChangeLog b/ChangeLog
index 7cf8a8b0c..c653cdaf7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2005-01-04 Christian Persch <chpe@cvs.gnome.org>
+ * lib/widgets/ephy-node-view.c:
+ * lib/widgets/ephy-node-view.h:
+ * src/bookmarks/ephy-bookmarks-editor.c:
+ (ephy_bookmarks_editor_update_menu):
+ * src/ephy-history-window.c: (ephy_history_window_update_menu):
+
+ Use ngettext to get the Open in New Tab[s]/Window[s] label.
+
+2005-01-04 Christian Persch <chpe@cvs.gnome.org>
+
* src/ephy-notebook.c: (close_button_clicked_cb),
(build_tab_label):
diff --git a/lib/widgets/ephy-node-view.c b/lib/widgets/ephy-node-view.c
index c0e34b62a..dfa6c88bc 100644
--- a/lib/widgets/ephy-node-view.c
+++ b/lib/widgets/ephy-node-view.c
@@ -1478,23 +1478,6 @@ ephy_node_view_is_target (EphyNodeView *view)
return gtk_widget_is_focus (GTK_WIDGET (view));
}
-gboolean
-ephy_node_view_has_selection (EphyNodeView *view, gboolean *multiple)
-{
- GtkTreeSelection *selection;
- int rows;
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
- rows = gtk_tree_selection_count_selected_rows (selection);
-
- if (multiple)
- {
- *multiple = rows > 1;
- }
-
- return rows > 0;
-}
-
static gboolean
filter_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
{
diff --git a/lib/widgets/ephy-node-view.h b/lib/widgets/ephy-node-view.h
index 50251b09b..ea0dc9f43 100644
--- a/lib/widgets/ephy-node-view.h
+++ b/lib/widgets/ephy-node-view.h
@@ -105,9 +105,6 @@ void ephy_node_view_set_priority (EphyNodeView *view,
void ephy_node_view_remove (EphyNodeView *view);
-gboolean ephy_node_view_has_selection (EphyNodeView *view,
- gboolean *multiple);
-
GList *ephy_node_view_get_selection (EphyNodeView *view);
void ephy_node_view_select_node (EphyNodeView *view,
diff --git a/src/bookmarks/ephy-bookmarks-editor.c b/src/bookmarks/ephy-bookmarks-editor.c
index 947d31911..e7cfb6b38 100644
--- a/src/bookmarks/ephy-bookmarks-editor.c
+++ b/src/bookmarks/ephy-bookmarks-editor.c
@@ -1069,15 +1069,15 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor)
rename, delete, properties;
const gchar *open_in_window_label, *open_in_tab_label, *copy_label;
gboolean bmk_focus, key_focus;
- gboolean key_selection, bmk_selection;
+ gboolean key_selection, bmk_selection, single_bmk_selected;
gboolean key_normal = FALSE;
- gboolean bmk_multiple_selection;
gboolean cut, copy, paste, select_all;
gboolean can_show_in_bookmarks_bar, show_in_bookmarks_bar = FALSE;
GtkActionGroup *action_group;
GtkAction *action;
GList *selected;
GtkWidget *focus_widget;
+ int num_bmk_selected;
LOG ("Update menu sensitivity")
@@ -1086,11 +1086,14 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor)
key_focus = ephy_node_view_is_target
(EPHY_NODE_VIEW (editor->priv->key_view));
focus_widget = gtk_window_get_focus (GTK_WINDOW (editor));
- bmk_selection = ephy_node_view_has_selection
- (EPHY_NODE_VIEW (editor->priv->bm_view),
- &bmk_multiple_selection);
- key_selection = ephy_node_view_has_selection
- (EPHY_NODE_VIEW (editor->priv->key_view), NULL);
+
+ num_bmk_selected = gtk_tree_selection_count_selected_rows
+ (gtk_tree_view_get_selection (GTK_TREE_VIEW (editor->priv->bm_view)));
+ bmk_selection = num_bmk_selected > 0;
+ single_bmk_selected = num_bmk_selected == 1;
+
+ key_selection = gtk_tree_selection_count_selected_rows
+ (gtk_tree_view_get_selection (GTK_TREE_VIEW (editor->priv->key_view))) > 0;
if (GTK_IS_EDITABLE (focus_widget))
{
@@ -1107,7 +1110,7 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor)
else
{
cut = FALSE;
- copy = (bmk_focus && !bmk_multiple_selection && bmk_selection);
+ copy = (bmk_focus && single_bmk_selected);
paste = FALSE;
select_all = bmk_focus;
}
@@ -1146,16 +1149,12 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor)
g_list_free (selected);
}
- if (bmk_multiple_selection)
- {
- open_in_window_label = N_("_Open in New Windows");
- open_in_tab_label = N_("Open in New _Tabs");
- }
- else
- {
- open_in_window_label = _("_Open in New Window");
- open_in_tab_label = _("Open in New _Tab");
- }
+ open_in_window_label = ngettext ("_Open in New Window",
+ "_Open in New Windows",
+ num_bmk_selected);
+ open_in_tab_label = ngettext ("Open in New _Tab",
+ "Open in New _Tabs",
+ num_bmk_selected);
if (bmk_focus)
{
@@ -1168,21 +1167,21 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor)
open_in_window = (bmk_focus && bmk_selection);
open_in_tab = (bmk_focus && bmk_selection);
- rename = (bmk_focus && bmk_selection && !bmk_multiple_selection) ||
+ rename = (bmk_focus && single_bmk_selected) ||
(key_selection && key_focus && key_normal);
delete = (bmk_focus && bmk_selection) ||
(key_selection && key_focus && key_normal);
- properties = (bmk_focus && bmk_selection && !bmk_multiple_selection);
- can_show_in_bookmarks_bar = (bmk_focus && bmk_selection && !bmk_multiple_selection) ||
+ properties = (bmk_focus && single_bmk_selected);
+ can_show_in_bookmarks_bar = (bmk_focus && single_bmk_selected) ||
(key_selection && key_focus);
action_group = editor->priv->action_group;
action = gtk_action_group_get_action (action_group, "OpenInWindow");
- g_object_set (action, "sensitive", open_in_window, NULL);
- g_object_set (action, "label", open_in_window_label, NULL);
+ g_object_set (action, "sensitive", open_in_window,
+ "label", open_in_window_label, NULL);
action = gtk_action_group_get_action (action_group, "OpenInTab");
- g_object_set (action, "sensitive", open_in_tab, NULL);
- g_object_set (action, "label", open_in_tab_label, NULL);
+ g_object_set (action, "sensitive", open_in_tab,
+ "label", open_in_tab_label, NULL);
action = gtk_action_group_get_action (action_group, "Rename");
g_object_set (action, "sensitive", rename, NULL);
action = gtk_action_group_get_action (action_group, "Delete");
@@ -1192,8 +1191,8 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor)
action = gtk_action_group_get_action (action_group, "Cut");
g_object_set (action, "sensitive", cut, NULL);
action = gtk_action_group_get_action (action_group, "Copy");
- g_object_set (action, "sensitive", copy, NULL);
- g_object_set (action, "label", copy_label, NULL);
+ g_object_set (action, "sensitive", copy,
+ "label", copy_label, NULL);
action = gtk_action_group_get_action (action_group, "Paste");
g_object_set (action, "sensitive", paste, NULL);
action = gtk_action_group_get_action (action_group, "SelectAll");
diff --git a/src/ephy-history-window.c b/src/ephy-history-window.c
index 88117b567..a253c400c 100644
--- a/src/ephy-history-window.c
+++ b/src/ephy-history-window.c
@@ -672,9 +672,9 @@ ephy_history_window_update_menu (EphyHistoryWindow *editor)
{
gboolean open_in_window, open_in_tab;
gboolean cut, copy, paste, select_all;
- gboolean pages_focus, pages_selection;
- gboolean pages_multiple_selection;
+ gboolean pages_focus, pages_selection, single_page_selected;
gboolean delete, bookmark_page;
+ int num_pages_selected;
GtkActionGroup *action_group;
GtkAction *action;
char *open_in_window_label, *open_in_tab_label, *copy_label;
@@ -682,9 +682,11 @@ ephy_history_window_update_menu (EphyHistoryWindow *editor)
pages_focus = ephy_node_view_is_target
(EPHY_NODE_VIEW (editor->priv->pages_view));
- pages_selection = ephy_node_view_has_selection
- (EPHY_NODE_VIEW (editor->priv->pages_view),
- &pages_multiple_selection);
+ num_pages_selected = gtk_tree_selection_count_selected_rows
+ (gtk_tree_view_get_selection (GTK_TREE_VIEW (editor->priv->pages_view)));
+ pages_selection = num_pages_selected > 0;
+ single_page_selected = num_pages_selected == 1;
+
focus_widget = gtk_window_get_focus (GTK_WINDOW (editor));
if (GTK_IS_EDITABLE (focus_widget))
@@ -702,21 +704,17 @@ ephy_history_window_update_menu (EphyHistoryWindow *editor)
else
{
cut = FALSE;
- copy = (pages_focus && !pages_multiple_selection && pages_selection);
+ copy = (pages_focus && single_page_selected);
paste = FALSE;
select_all = pages_focus;
}
- if (pages_multiple_selection)
- {
- open_in_window_label = N_("_Open in New Windows");
- open_in_tab_label = N_("Open in New _Tabs");
- }
- else
- {
- open_in_window_label = _("_Open in New Window");
- open_in_tab_label = _("Open in New _Tab");
- }
+ open_in_window_label = ngettext ("_Open in New Window",
+ "_Open in New Windows",
+ num_pages_selected);
+ open_in_tab_label = ngettext ("Open in New _Tab",
+ "Open in New _Tabs",
+ num_pages_selected);
if (pages_focus)
{
@@ -727,24 +725,23 @@ ephy_history_window_update_menu (EphyHistoryWindow *editor)
copy_label = _("_Copy");
}
-
open_in_window = (pages_focus && pages_selection);
open_in_tab = (pages_focus && pages_selection);
delete = (pages_focus && pages_selection);
- bookmark_page = (pages_focus && pages_selection && !pages_multiple_selection);
+ bookmark_page = (pages_focus && single_page_selected);
action_group = editor->priv->action_group;
action = gtk_action_group_get_action (action_group, "OpenInWindow");
- g_object_set (action, "sensitive", open_in_window, NULL);
- g_object_set (action, "label", open_in_window_label, NULL);
+ g_object_set (action, "sensitive", open_in_window,
+ "label", open_in_window_label, NULL);
action = gtk_action_group_get_action (action_group, "OpenInTab");
- g_object_set (action, "sensitive", open_in_tab, NULL);
- g_object_set (action, "label", open_in_tab_label, NULL);
+ g_object_set (action, "sensitive", open_in_tab,
+ "label", open_in_tab_label, NULL);
action = gtk_action_group_get_action (action_group, "Cut");
g_object_set (action, "sensitive", cut, NULL);
action = gtk_action_group_get_action (action_group, "Copy");
- g_object_set (action, "sensitive", copy, NULL);
- g_object_set (action, "label", copy_label, NULL);
+ g_object_set (action, "sensitive", copy,
+ "label", copy_label, NULL);
action = gtk_action_group_get_action (action_group, "Paste");
g_object_set (action, "sensitive", paste, NULL);
action = gtk_action_group_get_action (action_group, "SelectAll");