* Modified directory structure of the configuration.
[Silver.git] / chatterbox / chatterbox.c
blobe937caa3cc20aa4d5ed11280d9c246fd0ac0919c
1 #include "chatterbox.h"
3 struct Silver_Conf configuration;
4 GtkWidget *window;
5 GtkWidget *menubar;
6 GtkWidget *vbox;
7 GtkWidget *hbox;
8 GtkWidget *hbox2;
9 GtkWidget *channelslist;
10 GtkWidget *nickslist;
11 GtkWidget *vbox2;
12 GtkWidget *chatlog;
13 GtkWidget *speakbox;
14 GtkWidget *channeltitle;
15 GtkWidget *statusbar;
17 // Widgets for the menu
18 GtkWidget *menu_file;
19 GtkWidget *item_file;
20 GtkWidget *item_quit;
22 void init_chatterbox()
24 if (load_config(&configuration, "chatterbox") == 1)
25 printf("Error: Could not load configuration file.\n");
27 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
28 gtk_window_set_title(GTK_WINDOW(window), "Chatterbox");
29 gtk_window_set_default_size(GTK_WINDOW(window), 640, 420);
30 g_signal_connect(window, "destroy", G_CALLBACK(quit_chatterbox), NULL);
32 vbox = gtk_vbox_new(FALSE, 0);
33 gtk_container_add(GTK_CONTAINER(window), vbox);
35 menubar = gtk_menu_bar_new();
36 gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
38 menu_file = gtk_menu_new();
39 item_file = gtk_menu_item_new_with_label("File");
40 gtk_menu_item_set_submenu(GTK_MENU_ITEM(item_file), menu_file);
41 gtk_menu_bar_append(GTK_MENU_BAR(menubar), item_file);
43 item_quit = gtk_menu_item_new_with_label("Quit");
44 gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), item_quit);
46 hbox = gtk_hpaned_new();
47 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
49 channelslist = gtk_tree_view_new();
50 gtk_paned_add1(GTK_PANED(hbox), channelslist);
52 hbox2 = gtk_hpaned_new();
53 gtk_paned_add2(GTK_PANED(hbox), hbox2);
55 vbox2 = gtk_vbox_new(FALSE, 0);
56 gtk_paned_add1(GTK_PANED(hbox2), vbox2);
58 nickslist = gtk_tree_view_new();
59 gtk_paned_add2(GTK_PANED(hbox2), nickslist);
61 channeltitle = gtk_entry_new();
62 gtk_box_pack_start(GTK_BOX(vbox2), channeltitle, FALSE, TRUE, 0);
64 chatlog = gtk_text_view_new();
65 gtk_box_pack_start(GTK_BOX(vbox2), chatlog, TRUE, TRUE, 0);
67 speakbox = gtk_entry_new();
68 gtk_box_pack_start(GTK_BOX(vbox2), speakbox, FALSE, TRUE, 0);
70 statusbar = gtk_statusbar_new();
71 gtk_box_pack_start(GTK_BOX(vbox), statusbar, FALSE, TRUE, 0);
72 gtk_statusbar_push(GTK_STATUSBAR(statusbar), gtk_statusbar_get_context_id(GTK_STATUSBAR(statusbar), "Chatterbox"), "Welcome to Chatterbox");
74 gtk_widget_show_all(window);
77 void quit_chatterbox()
79 delete_config(&configuration);
80 gtk_main_quit();