static void show_bogus_bookmark_window (NemoWindow *window, NemoBookmark *bookmark) { GtkDialog *dialog; GFile *location; char *uri_for_display; char *prompt; char *detail; location = nemo_bookmark_get_location (bookmark); uri_for_display = g_file_get_parse_name (location); prompt = _("Do you want to remove any bookmarks with the " "non-existing location from your list?"); detail = g_strdup_printf (_("The location \"%s\" does not exist."), uri_for_display); dialog = eel_show_yes_no_dialog (prompt, detail, _("Bookmark for Nonexistent Location"), GTK_STOCK_CANCEL, GTK_WINDOW (window)); g_signal_connect (dialog, "response", G_CALLBACK (remove_bookmarks_for_uri_if_yes), window); g_object_set_data_full (G_OBJECT (dialog), "uri", g_file_get_uri (location), g_free); gtk_dialog_set_default_response (dialog, GTK_RESPONSE_NO); g_object_unref (location); g_free (uri_for_display); g_free (detail); }
static void activate_bookmark_in_menu_item (GtkAction *action, gpointer user_data) { NemoWindowSlot *slot; BookmarkHolder *holder; GFile *location; holder = (BookmarkHolder *)user_data; location = nemo_bookmark_get_location (holder->bookmark); slot = nemo_window_get_active_slot (holder->window); nemo_window_slot_open_location (slot, location, nemo_event_get_window_open_flags ()); g_object_unref (location); }
static void on_selection_changed (GtkTreeSelection *treeselection, gpointer user_data) { NemoBookmark *selected; const char *name = NULL; char *entry_text = NULL; GFile *location; g_assert (GTK_IS_ENTRY (name_field)); g_assert (GTK_IS_ENTRY (uri_field)); selected = get_selected_bookmark (); if (selected) { name = nemo_bookmark_get_name (selected); location = nemo_bookmark_get_location (selected); entry_text = g_file_get_parse_name (location); g_object_unref (location); } /* Set the sensitivity of widgets that require a selection */ gtk_widget_set_sensitive (remove_button, selected != NULL); gtk_widget_set_sensitive (jump_button, selected != NULL); gtk_widget_set_sensitive (sort_button, selected != NULL); gtk_widget_set_sensitive (name_field, selected != NULL); gtk_widget_set_sensitive (uri_field, selected != NULL); g_signal_handler_block (name_field, name_field_changed_signal_id); nemo_entry_set_text (NEMO_ENTRY (name_field), name ? name : ""); g_signal_handler_unblock (name_field, name_field_changed_signal_id); g_signal_handler_block (uri_field, uri_field_changed_signal_id); nemo_entry_set_text (NEMO_ENTRY (uri_field), entry_text ? entry_text : ""); g_signal_handler_unblock (uri_field, uri_field_changed_signal_id); text_changed = FALSE; name_text_changed = FALSE; g_free (entry_text); }
static void activate_bookmark_by_quicklist (DbusmenuMenuitem *menu, guint timestamp, NemoBookmark *bookmark) { g_assert (NEMO_IS_BOOKMARK (bookmark)); GFile *location; NemoApplication *application; NemoWindow *new_window; location = nemo_bookmark_get_location (bookmark); application = nemo_application_get_singleton (); new_window = nemo_application_create_window (application, gdk_screen_get_default ()); nemo_window_slot_go_to (nemo_window_get_active_slot (new_window), location, FALSE); g_object_unref (location); }
static void activate_bookmark_in_menu_item (GtkAction *action, gpointer user_data) { NemoWindowSlot *slot; BookmarkHolder *holder; GFile *location; holder = (BookmarkHolder *)user_data; if (!nemo_bookmark_get_exists (holder->bookmark)) { holder->failed_callback (holder->window, holder->bookmark); } else { location = nemo_bookmark_get_location (holder->bookmark); slot = nemo_window_get_active_slot (holder->window); nemo_window_slot_go_to (slot, location, nemo_event_should_open_in_new_tab ()); g_object_unref (location); } }
static int bookmark_list_get_uri_index (GList *list, GFile *location) { NemoBookmark *bookmark; GList *l; GFile *tmp; int i; g_return_val_if_fail (location != NULL, -1); for (i = 0, l = list; l != NULL; i++, l = l->next) { bookmark = NEMO_BOOKMARK (l->data); tmp = nemo_bookmark_get_location (bookmark); if (g_file_equal (location, tmp)) { g_object_unref (tmp); return i; } g_object_unref (tmp); } return -1; }
static void open_selected_bookmark (gpointer user_data, GdkScreen *screen) { NemoBookmark *selected; NemoWindow *window; GFile *location; selected = get_selected_bookmark (); if (!selected) { return; } location = nemo_bookmark_get_location (selected); if (location == NULL) { return; } window = user_data; nemo_window_go_to (window, location); g_object_unref (location); }