static void nautilus_bookmark_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { NautilusBookmark *self = NAUTILUS_BOOKMARK (object); switch (property_id) { case PROP_NAME: g_value_set_string (value, self->details->name); break; case PROP_ICON: g_value_set_object (value, self->details->icon); break; case PROP_SYMBOLIC_ICON: g_value_set_object (value, self->details->symbolic_icon); break; case PROP_LOCATION: g_value_set_object (value, self->details->location); break; case PROP_CUSTOM_NAME: g_value_set_boolean (value, self->details->has_custom_name); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }
static void fill_menu (NautilusNavigationWindow *window, GtkWidget *menu, gboolean back) { GtkWidget *menu_item; int index; GList *list; g_assert (NAUTILUS_IS_NAVIGATION_WINDOW (window)); list = back ? window->back_list : window->forward_list; index = 0; while (list != NULL) { menu_item = nautilus_bookmark_menu_item_new (NAUTILUS_BOOKMARK (list->data)); g_object_set_data (G_OBJECT (menu_item), "user_data", GINT_TO_POINTER (index)); gtk_widget_show (GTK_WIDGET (menu_item)); g_signal_connect_object (menu_item, "activate", back ? G_CALLBACK (activate_back_menu_item_callback) : G_CALLBACK (activate_forward_menu_item_callback), window, 0); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); list = g_list_next (list); ++index; } }
static void fill_menu (NautilusWindow *window, GtkWidget *menu, gboolean back) { NautilusWindowSlot *slot; GtkWidget *menu_item; int index; GList *list; slot = nautilus_window_get_active_slot (window); list = back ? nautilus_window_slot_get_back_history (slot) : nautilus_window_slot_get_forward_history (slot); index = 0; while (list != NULL) { menu_item = nautilus_bookmark_menu_item_new (NAUTILUS_BOOKMARK (list->data)); g_object_set_data (G_OBJECT (menu_item), "user_data", GINT_TO_POINTER (index)); gtk_widget_show (GTK_WIDGET (menu_item)); g_signal_connect_object (menu_item, "activate", back ? G_CALLBACK (activate_back_menu_item_callback) : G_CALLBACK (activate_forward_menu_item_callback), window, 0); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); list = g_list_next (list); ++index; } }
static void nautilus_bookmark_constructed (GObject *obj) { NautilusBookmark *self = NAUTILUS_BOOKMARK (obj); nautilus_bookmark_connect_file (self); nautilus_bookmark_update_exists (self); }
static void stop_monitoring_one (gpointer data, gpointer user_data) { g_assert (NAUTILUS_IS_BOOKMARK (data)); g_assert (NAUTILUS_IS_BOOKMARK_LIST (user_data)); stop_monitoring_bookmark (NAUTILUS_BOOKMARK_LIST (user_data), NAUTILUS_BOOKMARK (data)); }
/** * refresh_go_menu: * * Refresh list of bookmarks at end of Go menu to match centralized history list. * @window: The NautilusWindow whose Go menu will be refreshed. **/ static void refresh_go_menu (NautilusNavigationWindow *window) { GtkUIManager *ui_manager; GList *node; int index; g_assert (NAUTILUS_IS_NAVIGATION_WINDOW (window)); /* Unregister any pending call to this function. */ nautilus_navigation_window_remove_go_menu_callback (window); /* Remove old set of history items. */ nautilus_navigation_window_remove_go_menu_items (window); ui_manager = nautilus_window_get_ui_manager (NAUTILUS_WINDOW (window)); window->details->go_menu_merge_id = gtk_ui_manager_new_merge_id (ui_manager); window->details->go_menu_action_group = gtk_action_group_new ("GoMenuGroup"); g_signal_connect (window->details->go_menu_action_group, "connect-proxy", G_CALLBACK (connect_proxy_cb), NULL); gtk_ui_manager_insert_action_group (ui_manager, window->details->go_menu_action_group, -1); g_object_unref (window->details->go_menu_action_group); /* Add in a new set of history items. */ for (node = nautilus_get_history_list (), index = 0; node != NULL && index < 10; node = node->next, index++) { nautilus_menus_append_bookmark_to_menu (NAUTILUS_WINDOW (window), NAUTILUS_BOOKMARK (node->data), MENU_PATH_HISTORY_PLACEHOLDER, "history", index, window->details->go_menu_action_group, window->details->go_menu_merge_id, G_CALLBACK (schedule_refresh_go_menu), show_bogus_history_window); } }
static void nautilus_bookmark_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { NautilusBookmark *self = NAUTILUS_BOOKMARK (object); GIcon *new_icon; switch (property_id) { case PROP_ICON: new_icon = g_value_get_object (value); if (new_icon != NULL && !g_icon_equal (self->details->icon, new_icon)) { g_clear_object (&self->details->icon); self->details->icon = g_object_ref (new_icon); } break; case PROP_SYMBOLIC_ICON: new_icon = g_value_get_object (value); if (new_icon != NULL && !g_icon_equal (self->details->symbolic_icon, new_icon)) { g_clear_object (&self->details->symbolic_icon); self->details->symbolic_icon = g_object_ref (new_icon); } break; case PROP_LOCATION: self->details->location = g_value_dup_object (value); break; case PROP_CUSTOM_NAME: self->details->has_custom_name = g_value_get_boolean (value); break; case PROP_NAME: nautilus_bookmark_set_name_internal (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }
static void nautilus_bookmark_finalize (GObject *object) { NautilusBookmark *bookmark; g_assert (NAUTILUS_IS_BOOKMARK (object)); bookmark = NAUTILUS_BOOKMARK (object); nautilus_bookmark_disconnect_file (bookmark); g_object_unref (bookmark->details->location); g_clear_object (&bookmark->details->icon); g_clear_object (&bookmark->details->symbolic_icon); g_free (bookmark->details->name); g_free (bookmark->details->scroll_file); G_OBJECT_CLASS (nautilus_bookmark_parent_class)->finalize (object); }