konaclient-gtk/konaclient-gtk/main.c

82 lines
2.0 KiB
C
Raw Permalink Normal View History

2015-09-26 14:01:51 +02:00
// USE: libsoup (http), json-glib
2015-09-07 18:37:29 +02:00
#include <gtk/gtk.h>
#include "previewwidget.h"
2016-06-04 18:33:45 +02:00
#include "konaimage.h"
2015-09-07 18:37:29 +02:00
int buildWindow();
int buildWindow() {
GtkWindow *mainWindow;
GtkBuilder *builder;
GtkWidget *previewLayout;
GtkWidget *previewContainer;
GtkWidget *temp;
2016-06-04 22:25:51 +02:00
KonaImage *ki;
2015-09-07 18:37:29 +02:00
builder = gtk_builder_new();
gtk_builder_add_from_file(builder, "glade/mainWindow.glade", NULL);
2016-06-04 18:33:45 +02:00
mainWindow = GTK_WINDOW(gtk_builder_get_object(GTK_BUILDER(builder), "mainWindow"));
2015-09-07 18:37:29 +02:00
gtk_builder_connect_signals(builder, NULL);
2016-06-04 18:33:45 +02:00
previewContainer = GTK_WIDGET(gtk_builder_get_object(GTK_BUILDER(builder), "viewportPreview"));
2015-09-07 18:37:29 +02:00
previewLayout = gtk_flow_box_new();
gtk_flow_box_set_max_children_per_line(GTK_FLOW_BOX(previewLayout), 200);
2016-06-06 22:01:29 +02:00
for (int i = 0; i < 4; ++i) {
2015-09-07 18:37:29 +02:00
// CUSTOM!!!!!
2016-06-04 22:25:51 +02:00
ki = kona_image_new();
temp = PreviewWidget_new(ki);
2015-09-07 18:37:29 +02:00
gtk_flow_box_insert(GTK_FLOW_BOX(previewLayout),temp,0);
gtk_widget_show(temp);
// -------------------
}
gtk_widget_show(previewLayout);
2016-06-06 21:27:33 +02:00
gtk_container_add(GTK_CONTAINER(previewContainer), previewLayout);
2015-09-07 18:37:29 +02:00
2016-06-06 21:27:33 +02:00
g_object_unref(G_OBJECT(builder));
2015-09-07 18:37:29 +02:00
2016-06-06 21:27:33 +02:00
gtk_widget_show(GTK_WIDGET(mainWindow));
2015-09-07 18:37:29 +02:00
2015-09-26 14:01:51 +02:00
2016-06-06 21:27:33 +02:00
/* Testing callbacks */
// NOTE: This test code does not care about freeing memory right now.
2016-06-06 21:27:33 +02:00
GValue val = G_VALUE_INIT;
GValue sval = G_VALUE_INIT;
kona_image_meta meta;
meta.height = 100;
meta.width = 200;
2016-06-07 20:14:01 +02:00
meta.id = 42;
2016-06-06 22:01:29 +02:00
meta.image_url = "http://meow.cat/fullpic.png";
meta.tags = NULL;
2015-09-26 14:01:51 +02:00
2016-06-06 21:27:33 +02:00
g_value_init(&sval, G_TYPE_STRING);
g_value_set_string(&sval, "/home/markus/Pictures/FFT-an.png");
g_object_set_property((GObject*) ki, "previewFile", &sval);
2016-06-04 20:55:28 +02:00
2016-06-06 21:27:33 +02:00
g_value_init(&val, G_TYPE_POINTER);
g_value_set_pointer(&val, (gpointer) &meta);
g_object_set_property((GObject*) ki, "meta", &val);
2015-09-07 18:37:29 +02:00
}
int main(int argc, char **argv)
{
gtk_init(&argc, &argv);
buildWindow();
gtk_main();
return 0;
}
// REMEBER THIS FUNCTION: g_clear_object ()