aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bookmarks/ephy-bookmarks.c22
-rw-r--r--src/bookmarks/ephy-topic-action.c2
-rwxr-xr-xsrc/toolbar.c38
3 files changed, 57 insertions, 5 deletions
diff --git a/src/bookmarks/ephy-bookmarks.c b/src/bookmarks/ephy-bookmarks.c
index 9004dd86d..91c3e9c24 100644
--- a/src/bookmarks/ephy-bookmarks.c
+++ b/src/bookmarks/ephy-bookmarks.c
@@ -23,6 +23,7 @@
#include "ephy-debug.h"
#include "ephy-tree-model-node.h"
#include "ephy-node-view.h"
+#include "ephy-toolbars-model.h"
#include <string.h>
#include <libgnome/gnome-i18n.h>
@@ -51,16 +52,22 @@ typedef struct
static const EphyBookmarksBookmarkInfo default_bookmarks [] =
{
- { N_("Search the web"), "http://www.google.com", "http://www.google.com/search?q=%s" }
+ /* Translators you should change these links to respect your locale.
+ * For instance in .nl these should be
+ * "http://www.google.nl" and "http://www.google.nl/search?q=%s"
+ */
+
+ { N_("Search the web"), N_("http://www.google.com"), N_("http://www.google.com/search?q=%s") }
};
static int n_default_bookmarks = G_N_ELEMENTS (default_bookmarks);
static const char *default_topics [] =
{
+ N_("Entertainment"),
N_("News"),
- N_("People"),
- N_("Shop"),
- N_("Art"),
+ N_("Shopping"),
+ N_("Sports"),
+ N_("Travel"),
N_("Work")
};
static int n_default_topics = G_N_ELEMENTS (default_topics);
@@ -221,6 +228,10 @@ static void
ephy_bookmarks_init_defaults (EphyBookmarks *eb)
{
int i;
+ int id;
+ EphyToolbarsModel *model;
+
+ model = ephy_shell_get_toolbars_model (ephy_shell);
for (i = 0; i < n_default_topics; i++)
{
@@ -232,6 +243,9 @@ ephy_bookmarks_init_defaults (EphyBookmarks *eb)
ephy_bookmarks_add (eb, default_bookmarks[i].title,
default_bookmarks[i].location,
default_bookmarks[i].smart_url);
+
+ id = ephy_bookmarks_get_bookmark_id (eb, default_bookmarks[i].location);
+ ephy_toolbars_model_add_bookmark (model, FALSE, id);
}
}
diff --git a/src/bookmarks/ephy-topic-action.c b/src/bookmarks/ephy-topic-action.c
index 121701286..769403a1b 100644
--- a/src/bookmarks/ephy-topic-action.c
+++ b/src/bookmarks/ephy-topic-action.c
@@ -98,7 +98,7 @@ create_tool_item (EggAction *action)
arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE);
gtk_widget_show (arrow);
- hbox = gtk_hbox_new (FALSE, 6);
+ hbox = gtk_hbox_new (FALSE, 3);
gtk_widget_show (hbox);
gtk_container_add (GTK_CONTAINER (button), hbox);
diff --git a/src/toolbar.c b/src/toolbar.c
index 6cebc97e5..3b8c63359 100755
--- a/src/toolbar.c
+++ b/src/toolbar.c
@@ -353,6 +353,38 @@ init_bookmarks_toolbar (Toolbar *t)
}
static void
+update_toolbar_remove_flag (EphyToolbarsModel *model, gpointer data)
+{
+ int i, n_toolbars;
+ int not_removable = 0;
+
+ n_toolbars = egg_toolbars_model_n_toolbars
+ (EGG_TOOLBARS_MODEL (model));
+
+ /* If there is only one toolbar and the bookmarks bar */
+ if (n_toolbars <= 2)
+ {
+ not_removable = EGG_TB_MODEL_NOT_REMOVABLE;
+ }
+
+ for (i = 0; i < n_toolbars; i++)
+ {
+ const char *t_name;
+
+ t_name = egg_toolbars_model_toolbar_nth
+ (EGG_TOOLBARS_MODEL (model), i);
+ g_return_if_fail (t_name != NULL);
+
+ if (!(strcmp (t_name, "BookmarksBar") == 0))
+ {
+ egg_toolbars_model_set_flags
+ (EGG_TOOLBARS_MODEL (model),
+ not_removable, i);
+ }
+ }
+}
+
+static void
toolbar_set_window (Toolbar *t, EphyWindow *window)
{
EphyToolbarsModel *model;
@@ -371,6 +403,12 @@ toolbar_set_window (Toolbar *t, EphyWindow *window)
NULL);
model = ephy_shell_get_toolbars_model (ephy_shell);
+ g_signal_connect (EGG_TOOLBARS_MODEL (model), "toolbar_added",
+ G_CALLBACK (update_toolbar_remove_flag),
+ NULL);
+ g_signal_connect (EGG_TOOLBARS_MODEL (model), "toolbar_removed",
+ G_CALLBACK (update_toolbar_remove_flag),
+ NULL);
g_object_set (G_OBJECT (t),
"ToolbarsModel", model,
"MenuMerge", t->priv->ui_merge,