diff --git a/konaclient-gtk/glade/previewWidget.glade b/konaclient-gtk/glade/previewWidget.glade index f3bffeb..8a145d0 100644 --- a/konaclient-gtk/glade/previewWidget.glade +++ b/konaclient-gtk/glade/previewWidget.glade @@ -2,15 +2,15 @@ - + + 200 True False + vertical - - 200 + True False - vertical 150 @@ -18,53 +18,53 @@ applications-graphics True - - False - False - 0 - - - - - 150 - True - False - True - - - False - False - 1 - - - - - Download @ 0000 x 0000 - True - True - True - - - False - True - 2 - - - - - Debug - True - True - True - - - - False - True - 3 - + + False + True + 0 + + + + + 150 + True + False + True + + + False + False + 1 + + + + + Download @ 0000 x 0000 + True + True + True + + + False + True + 2 + + + + + Debug + True + True + True + + + + False + True + 3 + diff --git a/konaclient-gtk/main.c b/konaclient-gtk/main.c index 9acfedf..750da16 100644 --- a/konaclient-gtk/main.c +++ b/konaclient-gtk/main.c @@ -52,6 +52,7 @@ int buildWindow() { kona_image_meta meta; meta.height = 100; meta.width = 200; + meta.id = 42; meta.image_url = "http://meow.cat/fullpic.png"; g_value_init(&sval, G_TYPE_STRING); diff --git a/konaclient-gtk/previewwidget.c b/konaclient-gtk/previewwidget.c index ace8007..ae37e5b 100644 --- a/konaclient-gtk/previewwidget.c +++ b/konaclient-gtk/previewwidget.c @@ -6,17 +6,25 @@ G_DEFINE_TYPE(PreviewWidget, PreviewWidget, GTK_TYPE_BIN) // widget = PreviewWidget // data = KonaImage -void kona_download_image( GtkWidget *widget, KonaImage* ki ) +void PreviewWidget_download_clicked( GtkWidget *widget, KonaImage* ki ) { kona_image_meta *meta; meta = kona_image_get_meta_from_konaimage(ki); printf("DOWNLOAD %s!\n", meta->image_url); fflush(stdout); - - //PreviewWidget_set_image(data, "/home/markus/Pictures/ba5431ccdc292f920692d17bdfc2758d.png"); // DEBUG ONLY! } +void PreviewWidget_image_clicked( GtkWidget *widget, gint event, KonaImage* ki ) +{ + kona_image_meta *meta; + meta = kona_image_get_meta_from_konaimage(ki); + + printf("IMAGE CLICKED: %d\n", meta->id); + fflush(stdout); +} + + void PreviewWidget_set_image(PreviewWidget *widget, gchar *url) { int height, width; float iheight, iwidth; @@ -93,17 +101,19 @@ void PreviewWidget_init(PreviewWidget *klass) builder = gtk_builder_new(); gtk_builder_add_from_file(builder, "glade/previewWidget.glade", NULL); - widget = GTK_WIDGET(gtk_builder_get_object(GTK_BUILDER(builder), "evBox")); + widget = GTK_WIDGET(gtk_builder_get_object(GTK_BUILDER(builder), "previewWidget")); gtk_builder_connect_signals(builder, NULL); gtk_container_add(GTK_CONTAINER(klass), widget); - klass->evBox = widget; - gtk_widget_set_events (klass->evBox, GDK_BUTTON_PRESS_MASK); // TODO: Click event foo here + klass->evBox = GTK_WIDGET(gtk_builder_get_object(builder, "evBox"));; + gtk_widget_set_events (GTK_WIDGET(klass->evBox), GDK_DOUBLE_BUTTON_PRESS); // TODO: Does not work klass->image = GTK_WIDGET(gtk_builder_get_object(builder, "image")); klass->button = GTK_WIDGET(gtk_builder_get_object(builder, "button")); klass->spinner = GTK_WIDGET(gtk_builder_get_object(builder, "spinner")); + //gdk_window_set_cursor(gtk_widget_get_window(klass->evBox), GDK_HAND1); // TODO: Does not work + g_object_unref(G_OBJECT(builder)); } @@ -115,8 +125,8 @@ GtkWidget *PreviewWidget_new(KonaImage* ki) g_signal_connect_swapped(ki, "notify::meta", (GCallback)previewImage_update_meta_from_konaImage, w); // Connect UI handlers - g_signal_connect(w->button, "clicked", (GCallback)kona_download_image, ki); - g_signal_connect(w->evBox, "button_press_event", (GCallback)kona_download_image, ki); // TODO: Click event foo here + g_signal_connect(w->button, "clicked", (GCallback)PreviewWidget_download_clicked, ki); + g_signal_connect(w->evBox, "button_press_event", (GCallback)PreviewWidget_image_clicked, ki); // TODO: Click event foo here return GTK_WIDGET(w); }