konaclient-gtk/konaclient-gtk/main.c

82 lines
2.0 KiB
C

// USE: libsoup (http), json-glib
#include <gtk/gtk.h>
#include "previewwidget.h"
#include "konaimage.h"
int buildWindow();
int buildWindow() {
GtkWindow *mainWindow;
GtkBuilder *builder;
GtkWidget *previewLayout;
GtkWidget *previewContainer;
GtkWidget *temp;
KonaImage *ki;
builder = gtk_builder_new();
gtk_builder_add_from_file(builder, "glade/mainWindow.glade", NULL);
mainWindow = GTK_WINDOW(gtk_builder_get_object(GTK_BUILDER(builder), "mainWindow"));
gtk_builder_connect_signals(builder, NULL);
previewContainer = GTK_WIDGET(gtk_builder_get_object(GTK_BUILDER(builder), "viewportPreview"));
previewLayout = gtk_flow_box_new();
gtk_flow_box_set_max_children_per_line(GTK_FLOW_BOX(previewLayout), 200);
for (int i = 0; i < 4; ++i) {
// CUSTOM!!!!!
ki = kona_image_new();
temp = PreviewWidget_new(ki);
gtk_flow_box_insert(GTK_FLOW_BOX(previewLayout),temp,0);
gtk_widget_show(temp);
// -------------------
}
gtk_widget_show(previewLayout);
gtk_container_add(GTK_CONTAINER(previewContainer), previewLayout);
g_object_unref(G_OBJECT(builder));
gtk_widget_show(GTK_WIDGET(mainWindow));
/* Testing callbacks */
// NOTE: This test code does not care about freeing memory right now.
GValue val = G_VALUE_INIT;
GValue sval = G_VALUE_INIT;
kona_image_meta meta;
meta.height = 100;
meta.width = 200;
meta.id = 42;
meta.image_url = "http://meow.cat/fullpic.png";
meta.tags = NULL;
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);
g_value_init(&val, G_TYPE_POINTER);
g_value_set_pointer(&val, (gpointer) &meta);
g_object_set_property((GObject*) ki, "meta", &val);
}
int main(int argc, char **argv)
{
gtk_init(&argc, &argv);
buildWindow();
gtk_main();
return 0;
}
// REMEBER THIS FUNCTION: g_clear_object ()