Re: Bug in icon_view? (gtk 2.8)
- From: Matthias Clasen <mclasen redhat com>
- To: DaveMDS <list gurumeditation it>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Bug in icon_view? (gtk 2.8)
- Date: Mon, 28 Nov 2005 13:56:51 -0500
On Mon, 2005-11-28 at 19:42 +0100, DaveMDS wrote:
Hi , (no replay on my last post...retry...)
I have a problem using the IconView auto-dnd
(gtk_icon_view_enable_model_drag_source) and the item-activated signal.
On item-activate I show a dialog to the user, when the dialog is closed
the IconView start a drag operation incorrectly.
This is the complete code (is this a bug? or I made something Wrong?)
-----------------------------------------------------------------------------------------------------------
#include <gtk/gtk.h>
enum
{
COL_TEXT,
COL_PIXBUF,
NUM_COLS
};
static GtkTargetEntry targets[] =
{
{ "text/uri-list", 0, 0 },
};
GtkWidget *window = NULL;
GtkWidget *icon_view;
GtkListStore *store;
static void
fill_store (GtkListStore *store)
{
GtkTreeIter iter;
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ("test.png", NULL);
/* First clear the store */
gtk_list_store_clear (store);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, COL_TEXT, "test",COL_PIXBUF,pixbuf, -1);
}
static void
on_item_activated (GtkIconView *iconview,GtkTreePath
*arg1,gpointer user_data){
GtkWidget *dialog;
g_print("ACTIVATed\n");
dialog = gtk_dialog_new_with_buttons("TEST",
GTK_WINDOW(window),
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CLOSE,GTK_RESPONSE_YES,
NULL);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy (dialog);
}
int main(int argc,char *argv[]){
gtk_init (&argc, &argv);
//window
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
gtk_window_set_title (GTK_WINDOW (window), "GtkIconView demo");
g_signal_connect (window, "destroy",G_CALLBACK
(gtk_widget_destroyed), &window);
//store
store = gtk_list_store_new (NUM_COLS, G_TYPE_STRING, GDK_TYPE_PIXBUF);
fill_store (store);
//icon_view
icon_view = gtk_icon_view_new_with_model (GTK_TREE_MODEL (store));
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_TEXT);
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), COL_PIXBUF);
/* enable icon view auto D'n'D */
gtk_icon_view_enable_model_drag_source(GTK_ICON_VIEW(icon_view),GDK_BUTTON1_MASK,targets,1,GDK_ACTION_COPY);
gtk_icon_view_enable_model_drag_dest(GTK_ICON_VIEW(icon_view),targets,1,
GDK_ACTION_COPY);
gtk_signal_connect (GTK_OBJECT (icon_view), "item-activated",
GTK_SIGNAL_FUNC (on_item_activated),NULL);
gtk_container_add (GTK_CONTAINER (window), icon_view);
gtk_widget_show_all (window);
gtk_main();
return 0;
}
----------------------
Please file a bug in bugzilla with your testcase.
Thanks, Matthias
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]