diff options
author | Marco Pesenti Gritti <marco@it.gnome.org> | 2003-07-27 21:10:56 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <mpeseng@src.gnome.org> | 2003-07-27 21:10:56 +0800 |
commit | d1f38adb951f506e11864f0784f325a940a3d232 (patch) | |
tree | d58f9243e7c3926ac2840edb05797fbbe75e1de6 /src/bookmarks/ephy-bookmarks-editor.c | |
parent | e9f8e15bf4f624f566eb0ea66e47be67098d5dc2 (diff) | |
download | gsoc2013-epiphany-d1f38adb951f506e11864f0784f325a940a3d232.tar gsoc2013-epiphany-d1f38adb951f506e11864f0784f325a940a3d232.tar.gz gsoc2013-epiphany-d1f38adb951f506e11864f0784f325a940a3d232.tar.bz2 gsoc2013-epiphany-d1f38adb951f506e11864f0784f325a940a3d232.tar.lz gsoc2013-epiphany-d1f38adb951f506e11864f0784f325a940a3d232.tar.xz gsoc2013-epiphany-d1f38adb951f506e11864f0784f325a940a3d232.tar.zst gsoc2013-epiphany-d1f38adb951f506e11864f0784f325a940a3d232.zip |
2003-07-27 Marco Pesenti Gritti <marco@it.gnome.org>
* data/ui/epiphany-toolbar.xml.in:
* lib/egg/egg-editable-toolbar.c: (drag_data_received_cb):
* lib/egg/egg-editable-toolbar.h:
* lib/egg/egg-toolbar-editor.c: (parse_item_list):
* lib/egg/egg-toolbars-model.c: (egg_toolbars_model_to_xml),
(safe_save_xml), (egg_toolbars_model_save), (toolbars_item_new),
(free_item_node), (egg_toolbars_model_add_separator),
(egg_toolbars_model_add_item), (parse_item_list),
(impl_get_item_id), (impl_get_item_name), (impl_get_item_type),
(egg_toolbars_model_class_init), (egg_toolbars_model_item_nth),
(egg_toolbars_model_toolbar_nth), (egg_toolbars_model_get_item_id),
(egg_toolbars_model_get_item_name),
(egg_toolbars_model_get_item_type):
* lib/egg/egg-toolbars-model.h:
* lib/egg/eggtoolbar.c: (egg_toolbar_finalize):
* lib/ephy-dnd.c: (add_one_topic), (ephy_dnd_drag_data_get):
* lib/ephy-dnd.h:
* lib/widgets/ephy-node-view.c: (drag_data_received_cb),
(ephy_node_view_select_node_by_key), (ephy_node_view_construct),
(ephy_node_view_add_data_column),
(ephy_node_view_enable_drag_source):
* lib/widgets/ephy-node-view.h:
* lib/widgets/ephy-tree-model-sort.c:
(ephy_tree_model_sort_class_init), (ephy_tree_model_sort_init),
(ephy_tree_model_sort_multi_row_draggable),
(ephy_tree_model_sort_set_column_id),
(each_property_get_data_binder),
(ephy_tree_model_sort_multi_drag_data_get):
* lib/widgets/ephy-tree-model-sort.h:
* src/bookmarks/ephy-bookmark-properties.c:
(toolbar_checkbox_changed_cb), (build_ui):
* src/bookmarks/ephy-bookmarks-editor.c:
(cmd_show_in_bookmarks_bar), (ephy_bookmarks_editor_update_menu),
(node_dropped_cb), (provide_keyword_uri),
(ephy_bookmarks_editor_construct):
* src/bookmarks/ephy-bookmarks.c: (ephy_bookmarks_init_defaults),
(ephy_bookmarks_remove_keyword), (ephy_bookmarks_get_topic_uri),
(ephy_bookmarks_find_keyword):
* src/bookmarks/ephy-bookmarks.h:
* src/ephy-history-window.c: (ephy_history_window_construct):
* src/ephy-toolbars-model.c: (ephy_toolbars_model_get_action_name),
(ephy_toolbars_model_get_node), (bookmark_destroy_cb),
(impl_get_item_name), (impl_get_item_id), (impl_get_item_type),
(connect_item), (ephy_toolbars_model_set_bookmarks),
(ephy_toolbars_model_class_init), (save_changes), (item_added),
(item_removed), (toolbar_added), (toolbar_removed),
(ephy_toolbars_model_init), (ephy_toolbars_model_finalize),
(ephy_toolbars_model_remove_bookmark),
Diffstat (limited to 'src/bookmarks/ephy-bookmarks-editor.c')
-rw-r--r-- | src/bookmarks/ephy-bookmarks-editor.c | 52 |
1 files changed, 40 insertions, 12 deletions
diff --git a/src/bookmarks/ephy-bookmarks-editor.c b/src/bookmarks/ephy-bookmarks-editor.c index 900e576ba..2556fdd99 100644 --- a/src/bookmarks/ephy-bookmarks-editor.c +++ b/src/bookmarks/ephy-bookmarks-editor.c @@ -32,6 +32,7 @@ #include <gdk/gdkkeysyms.h> #include <bonobo/bonobo-i18n.h> #include <libgnomeui/gnome-stock-icons.h> +#include <libgnomevfs/gnome-vfs-uri.h> #include <string.h> #include "ephy-bookmarks-editor.h" @@ -60,7 +61,7 @@ static GtkTargetEntry topic_drag_dest_types [] = { - { EPHY_DND_BOOKMARK_TYPE, 0, 0 } + { EPHY_DND_URI_LIST_TYPE, 0, 0 } }; static int n_topic_drag_dest_types = G_N_ELEMENTS (topic_drag_dest_types); @@ -69,8 +70,7 @@ static GtkTargetEntry bmk_drag_types [] = { { EPHY_DND_URI_LIST_TYPE, 0, 0 }, { EPHY_DND_TEXT_TYPE, 0, 1 }, - { EPHY_DND_URL_TYPE, 0, 2 }, - { EPHY_DND_BOOKMARK_TYPE, 0, 3 } + { EPHY_DND_URL_TYPE, 0, 2 } }; static int n_bmk_drag_types = G_N_ELEMENTS (bmk_drag_types); @@ -334,7 +334,7 @@ cmd_show_in_bookmarks_bar (EggAction *action, else { ephy_toolbars_model_remove_bookmark - (editor->priv->tb_model, topic, id); + (editor->priv->tb_model, id); } g_list_free (selection); @@ -827,7 +827,7 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor) id = ephy_node_get_id (node); show_in_bookmarks_bar = ephy_toolbars_model_has_bookmark - (editor->priv->tb_model, TRUE, id); + (editor->priv->tb_model, id); priority = ephy_node_get_property_int (node, EPHY_NODE_KEYWORD_PROP_PRIORITY); @@ -847,7 +847,7 @@ ephy_bookmarks_editor_update_menu (EphyBookmarksEditor *editor) id = ephy_node_get_id (node); show_in_bookmarks_bar = ephy_toolbars_model_has_bookmark - (editor->priv->tb_model, FALSE, id); + (editor->priv->tb_model, id); g_list_free (selected); } @@ -1150,9 +1150,18 @@ node_dropped_cb (EphyNodeView *view, EphyNode *node, for (l = nodes; l != NULL; l = l->next) { - EphyNode *bmk = l->data; + GnomeVFSURI *uri = l->data; + char *url; + EphyNode *bmk; + + url = gnome_vfs_uri_to_string (uri, GNOME_VFS_URI_HIDE_NONE); + bmk = ephy_bookmarks_find_bookmark (editor->priv->bookmarks, url); + g_free (url); - ephy_bookmarks_set_keyword (editor->priv->bookmarks, node, bmk); + if (bmk) + { + ephy_bookmarks_set_keyword (editor->priv->bookmarks, node, bmk); + } } } @@ -1186,6 +1195,19 @@ view_selection_changed_cb (GtkWidget *view, EphyBookmarksEditor *editor) } static void +provide_keyword_uri (EphyNode *node, GValue *value, gpointer data) +{ + EphyBookmarks *bookmarks = EPHY_BOOKMARKS_EDITOR (data)->priv->bookmarks; + char *uri; + + uri = ephy_bookmarks_get_topic_uri (bookmarks, node); + + g_value_init (value, G_TYPE_STRING); + g_value_set_string (value, uri); + g_free (uri); +} + +static void ephy_bookmarks_editor_construct (EphyBookmarksEditor *editor) { GtkTreeSelection *selection; @@ -1197,7 +1219,7 @@ ephy_bookmarks_editor_construct (EphyBookmarksEditor *editor) EggActionGroup *action_group; EggAction *action; GdkPixbuf *icon; - int i; + int i, col_id; gtk_window_set_title (GTK_WINDOW (editor), _("Bookmarks")); @@ -1260,10 +1282,12 @@ ephy_bookmarks_editor_construct (EphyBookmarksEditor *editor) /* Keywords View */ key_view = ephy_node_view_new (node, NULL); add_focus_monitor (editor, key_view); + col_id = ephy_node_view_add_data_column (EPHY_NODE_VIEW (key_view), + G_TYPE_STRING, -1, + provide_keyword_uri, editor); ephy_node_view_enable_drag_source (EPHY_NODE_VIEW (key_view), topic_drag_types, - n_topic_drag_types, - -1); + n_topic_drag_types, col_id); ephy_node_view_enable_drag_dest (EPHY_NODE_VIEW (key_view), topic_drag_dest_types, n_topic_drag_dest_types); @@ -1326,10 +1350,14 @@ ephy_bookmarks_editor_construct (EphyBookmarksEditor *editor) /* Bookmarks View */ bm_view = ephy_node_view_new (node, editor->priv->bookmarks_filter); add_focus_monitor (editor, bm_view); + col_id = ephy_node_view_add_data_column (EPHY_NODE_VIEW (bm_view), + G_TYPE_STRING, + EPHY_NODE_BMK_PROP_LOCATION, + NULL, NULL); ephy_node_view_enable_drag_source (EPHY_NODE_VIEW (bm_view), bmk_drag_types, n_bmk_drag_types, - EPHY_NODE_BMK_PROP_LOCATION); + col_id); ephy_node_view_add_column (EPHY_NODE_VIEW (bm_view), _("Title"), G_TYPE_STRING, EPHY_NODE_BMK_PROP_TITLE, -1, EPHY_NODE_VIEW_AUTO_SORT | |