From 87962532484cb650bd9f0b289ea0a6c8f80760f0 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Sat, 5 Jan 2013 00:48:04 +0100 Subject: [PATCH] Created a main window. Woot! --- src/main.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index 7c304f8..b994d06 100644 --- a/src/main.c +++ b/src/main.c @@ -1,10 +1,68 @@ #include +#include +#include + +#include "config.h" + +static void +quit(GSimpleAction *action, GVariant *parameter, gpointer user_data) +{ + GApplication *app = user_data; + + g_application_quit(app); +} + +static void +startup(GtkApplication *app, gpointer user_data) +{ + static const GActionEntry actions[] = { + { "quit", quit } + }; + + GMenu *menu; + + g_action_map_add_action_entries(G_ACTION_MAP(app), actions, G_N_ELEMENTS(actions), app); + + menu = g_menu_new(); + g_menu_append(menu, "Quit", "app.quit"); + gtk_application_set_app_menu(app, G_MENU_MODEL(menu)); + g_object_unref(menu); +} + +static void +activate(GtkApplication *app, gpointer user_data) +{ + GtkWidget *window; + GtkWidget *botlist; + + window = gtk_application_window_new(app); + gtk_window_set_default_size(GTK_WINDOW(window), 400, 300); + gtk_window_set_application(GTK_WINDOW(window), GTK_APPLICATION(app)); + gtk_window_set_title(GTK_WINDOW(window), "BotCommander"); + + botlist = gtk_notebook_new(); + + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(botlist)); + + gtk_widget_show_all(window); +} int main(int argc, char **argv) { - printf(_("Hello!\n")); + GtkApplication *app; + int status; - return 0; + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + + app = gtk_application_new("org.botcommander.gtk", G_APPLICATION_FLAGS_NONE); + g_signal_connect(app, "startup", G_CALLBACK(startup), NULL); + g_signal_connect(app, "activate", G_CALLBACK(activate), NULL); + status = g_application_run(G_APPLICATION(app), argc, argv); + g_object_unref(app); + + return status; }