From 5ebed0cd5dc2eb2f71e18b24148903f3c10ebf69 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Sun, 21 Mar 2010 00:19:02 +0100 Subject: Implemented a very basic configuration dialog. This code is a bit hackish, all configuration options should be collected in a single place (eg. a config struct) in order to easily keep track of all configuration options. --- window_main.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'window_main.c') diff --git a/window_main.c b/window_main.c index ca3d8dc..3262ba9 100644 --- a/window_main.c +++ b/window_main.c @@ -10,6 +10,7 @@ #include "walls_conf.h" #include "window_tag.h" #include "preload.h" +#include "window_config.h" enum zoom_mode_t { ZOOM_BESTFIT, @@ -1057,6 +1058,22 @@ void on_file_quit_activate(GtkMenuItem *menuitem, gpointer user_data) { gtk_main_quit(); } +void on_file_preferences_activate(GtkMenuItem *menuitem, gpointer user_data) { + struct window_config_t *wct; + + wct = window_config_new(window); + if(!wct) { + return; + } + + if(gtk_dialog_run(wct->dialog) == GTK_RESPONSE_OK) { + window_config_save(wct); + } + + gtk_widget_destroy(GTK_WIDGET(wct->dialog)); + g_free(wct); +} + static void set_sizes() { gint width, height, hpane_pos, vpane_pos; @@ -1069,6 +1086,8 @@ static void set_sizes() { gtk_paned_set_position(GTK_PANED(window_hpane), hpane_pos); gtk_paned_set_position(GTK_PANED(window_vpane), vpane_pos); + + interp_type = conf_get_int("walls", "interpolation_mode", interp_type); } int gui_main(int argc, char **argv) { -- cgit v1.2.3