diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2010-03-21 00:19:02 +0100 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2010-03-21 00:19:02 +0100 |
commit | 5ebed0cd5dc2eb2f71e18b24148903f3c10ebf69 (patch) | |
tree | 8da511b975aea9f8e8eb081993a761031a1996e2 /window_main.c | |
parent | b6b63a3c51eab072483ac0c7ad07f107bb790788 (diff) |
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.
Diffstat (limited to 'window_main.c')
-rw-r--r-- | window_main.c | 19 |
1 files changed, 19 insertions, 0 deletions
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) { |