Remove ghosts after bookmark edit. Merge edit/ delete callbacks

This commit is contained in:
Alexander Butenko 2010-07-02 00:50:14 -04:00 committed by Christian Dywan
parent 4e0c1396a0
commit ad5066a43f
2 changed files with 14 additions and 45 deletions

View file

@ -700,7 +700,7 @@ midori_browser_edit_bookmark_add_speed_dial_cb (GtkWidget* button,
}
/* Private function, used by MidoriBookmarks and MidoriHistory */
/* static */ void
/* static */ gboolean
midori_browser_edit_bookmark_dialog_new (MidoriBrowser* browser,
KatzeItem* bookmark,
gboolean new_bookmark,
@ -720,12 +720,13 @@ midori_browser_edit_bookmark_dialog_new (MidoriBrowser* browser,
GtkWidget* combo_folder;
GtkWidget* check_toolbar;
GtkWidget* check_app;
gboolean return_status = FALSE;
#if HAVE_SQLITE
sqlite3* db;
#endif
if (!browser->bookmarks || !gtk_widget_get_visible (GTK_WIDGET (browser)))
return;
return FALSE;
#if HAVE_SQLITE
db = g_object_get_data (G_OBJECT (browser->bookmarks), "db");
@ -954,8 +955,10 @@ midori_browser_edit_bookmark_dialog_new (MidoriBrowser* browser,
_action_set_active (browser, "Bookmarkbar", TRUE);
#endif
g_free (selected);
return_status = TRUE;
}
gtk_widget_destroy (dialog);
return return_status;
}
#if WEBKIT_CHECK_VERSION (1, 1, 3)

View file

@ -25,7 +25,7 @@
#include <gdk/gdkkeysyms.h>
void
gboolean
midori_browser_edit_bookmark_dialog_new (MidoriBrowser* browser,
KatzeItem* bookmark,
gboolean new_bookmark,
@ -303,9 +303,12 @@ midori_bookmarks_edit_clicked_cb (GtkWidget* toolitem,
g_assert (!KATZE_ITEM_IS_SEPARATOR (item));
browser = midori_browser_get_for_widget (toolitem);
midori_browser_edit_bookmark_dialog_new (browser, item, FALSE, KATZE_ITEM_IS_FOLDER (item));
browser = midori_browser_get_for_widget (bookmarks->treeview);
if (midori_browser_edit_bookmark_dialog_new (
browser, item, FALSE, KATZE_ITEM_IS_FOLDER (item)))
{
gtk_tree_store_remove (GTK_TREE_STORE (model), &iter);
}
g_object_unref (item);
}
}
@ -695,43 +698,6 @@ midori_bookmarks_open_in_window_activate_cb (GtkWidget* menuitem,
}
}
static void
midori_bookmarks_edit_activate_cb (GtkWidget* menuitem,
MidoriBookmarks* bookmarks)
{
KatzeItem* item;
MidoriBrowser* browser;
item = (KatzeItem*)g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
g_assert (!KATZE_ITEM_IS_SEPARATOR (item));
browser = midori_browser_get_for_widget (GTK_WIDGET (bookmarks));
midori_browser_edit_bookmark_dialog_new (browser, item, FALSE, KATZE_ITEM_IS_FOLDER (item));
}
static void
midori_bookmarks_delete_activate_cb (GtkWidget* menuitem,
MidoriBookmarks* bookmarks)
{
KatzeItem* item;
#if HAVE_SQLITE
sqlite3* db;
#endif
GtkTreeModel* model;
GtkTreeIter iter;
if (katze_tree_view_get_selected_iter (GTK_TREE_VIEW (bookmarks->treeview),
&model, &iter))
{
item = (KatzeItem*)g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
#if HAVE_SQLITE
db = g_object_get_data (G_OBJECT (bookmarks->array), "db");
midori_bookmarks_remove_item_from_db (db, item);
#endif
gtk_tree_store_remove (GTK_TREE_STORE (model), &iter);
}
}
static void
midori_bookmarks_popup (GtkWidget* widget,
GdkEventButton* event,
@ -759,9 +725,9 @@ midori_bookmarks_popup (GtkWidget* widget,
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
midori_bookmarks_popup_item (menu, GTK_STOCK_EDIT, NULL,
item, midori_bookmarks_edit_activate_cb, bookmarks);
item, midori_bookmarks_edit_clicked_cb, bookmarks);
midori_bookmarks_popup_item (menu, GTK_STOCK_DELETE, NULL,
item, midori_bookmarks_delete_activate_cb, bookmarks);
item, midori_bookmarks_delete_clicked_cb, bookmarks);
katze_widget_popup (widget, GTK_MENU (menu), event, KATZE_MENU_POSITION_CURSOR);
}