static void eom_thumb_view_dispose (GObject *object) { EomThumbViewPrivate *priv = EOM_THUMB_VIEW (object)->priv; #if GTK_CHECK_VERSION (3, 4, 3) GtkTreeModel *model; #endif if (priv->visible_range_changed_id != 0) { g_source_remove (priv->visible_range_changed_id); priv->visible_range_changed_id = 0; } #if GTK_CHECK_VERSION (3, 4, 3) model = gtk_icon_view_get_model (GTK_ICON_VIEW (object)); if (model && priv->image_add_id != 0) { g_signal_handler_disconnect (model, priv->image_add_id); priv->image_add_id = 0; } if (model && priv->image_removed_id) { g_signal_handler_disconnect (model, priv->image_removed_id); priv->image_removed_id = 0; } #endif G_OBJECT_CLASS (eom_thumb_view_parent_class)->dispose (object); }
static void eom_thumb_view_destroy (GtkObject *object) { EomThumbView *thumbview; g_return_if_fail (EOM_IS_THUMB_VIEW (object)); thumbview = EOM_THUMB_VIEW (object); GTK_OBJECT_CLASS (eom_thumb_view_parent_class)->destroy (object); }
static void eom_thumb_view_finalize (GObject *object) { EomThumbView *thumbview; g_return_if_fail (EOM_IS_THUMB_VIEW (object)); thumbview = EOM_THUMB_VIEW (object); G_OBJECT_CLASS (eom_thumb_view_parent_class)->finalize (object); }
static void eom_thumb_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EomThumbView *view = EOM_THUMB_VIEW (object); switch (prop_id) { case PROP_ORIENTATION: view->priv->orientation = g_value_get_enum (value); eom_thumb_view_update_columns (view); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void eom_statusbar_date_plugin_activate (EomWindowActivatable *activatable) { EomStatusbarDatePlugin *plugin = EOM_STATUSBAR_DATE_PLUGIN (activatable); EomWindow *window = plugin->window; GtkWidget *statusbar = eom_window_get_statusbar (window); GtkWidget *thumbview = eom_window_get_thumb_view (window); eom_debug (DEBUG_PLUGINS); plugin->statusbar_date = gtk_statusbar_new (); gtk_widget_set_size_request (plugin->statusbar_date, 200, 10); gtk_widget_set_margin_top (GTK_WIDGET (plugin->statusbar_date), 0); gtk_widget_set_margin_bottom (GTK_WIDGET (plugin->statusbar_date), 0); gtk_box_pack_end (GTK_BOX (statusbar), plugin->statusbar_date, FALSE, FALSE, 0); plugin->signal_id = g_signal_connect_after (G_OBJECT (thumbview), "selection_changed", G_CALLBACK (selection_changed_cb), plugin); statusbar_set_date (GTK_STATUSBAR (plugin->statusbar_date), EOM_THUMB_VIEW (eom_window_get_thumb_view (window))); }
static void impl_activate(EomPlugin* plugin, EomWindow* window) { GtkWidget* statusbar = eom_window_get_statusbar(window); GtkWidget* thumbview = eom_window_get_thumb_view(window); WindowData* data; eom_debug(DEBUG_PLUGINS); data = g_new(WindowData, 1); data->statusbar_date = gtk_statusbar_new(); gtk_widget_set_size_request(data->statusbar_date, 200, 10); #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_margin_top (GTK_WIDGET (data->statusbar_date), 0); gtk_widget_set_margin_bottom (GTK_WIDGET (data->statusbar_date), 0); #endif gtk_box_pack_end(GTK_BOX(statusbar), data->statusbar_date, FALSE, FALSE, 0); data->signal_id = g_signal_connect_after(G_OBJECT(thumbview), "selection_changed", G_CALLBACK(selection_changed_cb), data); statusbar_set_date(GTK_STATUSBAR(data->statusbar_date), EOM_THUMB_VIEW(eom_window_get_thumb_view(window))); g_object_set_data_full(G_OBJECT(window), WINDOW_DATA_KEY, data, (GDestroyNotify) free_window_data); }
static void eom_thumb_view_constructed (GObject *object) { EomThumbView *thumbview; if (G_OBJECT_CLASS (eom_thumb_view_parent_class)->constructed) G_OBJECT_CLASS (eom_thumb_view_parent_class)->constructed (object); thumbview = EOM_THUMB_VIEW (object); thumbview->priv->pixbuf_cell = gtk_cell_renderer_pixbuf_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (thumbview), thumbview->priv->pixbuf_cell, FALSE); g_object_set (thumbview->priv->pixbuf_cell, #if !GTK_CHECK_VERSION (3, 16, 0) "follow-state", FALSE, #endif "height", 100, "width", 115, "yalign", 0.5, "xalign", 0.5, NULL); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (thumbview), thumbview->priv->pixbuf_cell, "pixbuf", EOM_LIST_STORE_THUMBNAIL, NULL); gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (thumbview), GTK_SELECTION_MULTIPLE); gtk_icon_view_set_column_spacing (GTK_ICON_VIEW (thumbview), EOM_THUMB_VIEW_SPACING); gtk_icon_view_set_row_spacing (GTK_ICON_VIEW (thumbview), EOM_THUMB_VIEW_SPACING); g_object_set (thumbview, "has-tooltip", TRUE, NULL); g_signal_connect (thumbview, "query-tooltip", G_CALLBACK (thumbview_on_query_tooltip_cb), NULL); thumbview->priv->start_thumb = 0; thumbview->priv->end_thumb = 0; thumbview->priv->menu = NULL; g_signal_connect (G_OBJECT (thumbview), "parent-set", G_CALLBACK (thumbview_on_parent_set_cb), NULL); gtk_icon_view_enable_model_drag_source (GTK_ICON_VIEW (thumbview), 0, NULL, 0, GDK_ACTION_COPY); gtk_drag_source_add_uri_targets (GTK_WIDGET (thumbview)); g_signal_connect (G_OBJECT (thumbview), "drag-data-get", G_CALLBACK (thumbview_on_drag_data_get_cb), NULL); }