/* * $Id$ * * X server properties * Part of Equinox Desktop Environment (EDE). * Copyright (c) 2000-2006 EDE Authors. * * This program is licenced under terms of the * GNU General Public Licence version 2 or newer. * See COPYING for details. */ #include "edisplayconf.h" #include "conf.h" #include "exset.h" #include "../edelib2/Config.h" //#include // if I move Config.h above exset.h, I get "'Font' does not name a type" in Xlib.h using namespace edelib; extern edisplayconf *app; Config config(Config::find_file("ede.conf",1)); Exset xset; int get_value(const char *key, int def_value) { static int val; config.read(key, val, def_value); return val; } void do_xset() { xset.set_mouse((int)app->slider_accel->value(),(int)app->slider_thresh->value()); xset.set_bell((int)app->slider_volume->value(),(int)app->slider_pitch->value(),(int)app->slider_duration->value()); xset.set_keybd((int)app->check_autorepeat->value(), (int)app->slider_click->value()); xset.set_pattern((int)app->slider_delay->value(), (int)app->slider_pattern->value()); xset.set_check_blank((int)app->check_blanking->value()); xset.set_blank((int)app->radio_blank->value()); } void read_disp_configuration() { config.set_section("Mouse"); app->slider_accel->value(get_value("Accel",4)); // Default 4 app->slider_thresh->value(get_value("Thresh",4)); // Default 4 config.set_section("Bell"); app->slider_volume->value(get_value("Volume",50)); // default 50 app->slider_pitch->value(get_value("Pitch",440)); // Default 440 app->slider_duration->value(get_value("Duration",200)); // Default 200 config.set_section("Keyboard"); app->check_autorepeat->value(get_value("Repeat",1)); // Default 1 app->slider_click->value(get_value("ClickVolume",50)); // Default 50 app->slider_delay->value(get_value("Delay",15)); // Default 15 config.set_section("Screen"); app->check_blanking->value(get_value("CheckBlank",1)); // Default 1 app->slider_pattern->value(get_value("Pattern",2)); // Default = 2 int pattern = get_value("RadioPattern",0); int blank = get_value("RadioBlank",1); app->radio_blank->value(blank); // Default 1 app->radio_pattern->value(pattern); // Default 1 if( pattern ) app->slider_pattern->activate(); else app->slider_pattern->deactivate(); } void write_configuration() { config.set_section(config.create_section("Mouse")); config.write("Accel",(int)app->slider_accel->value()); config.write("Thresh",(int)app->slider_thresh->value()); config.set_section(config.create_section("Bell")); config.write("Volume",(int)app->slider_volume->value()); config.write("Pitch",(int)app->slider_pitch->value()); config.write("Duration",(int)app->slider_duration->value()); config.set_section(config.create_section("Keyboard")); config.write("Repeat",(int)app->check_autorepeat->value()); config.write("ClickVolume",(int)app->slider_click->value()); config.set_section(config.create_section("Screen")); config.write("Delay",(int)app->slider_delay->value()); config.write("Pattern",(int)app->slider_pattern->value()); config.write("CheckBlank",(int)app->check_blanking->value()); config.write("RadioBlank", (int)app->radio_blank->value()); config.write("RadioPattern",(int) app->radio_pattern->value()); config.flush(); do_xset(); } void cancelCB() { app->_finish = true; } void testbellCB() { xset.test_bell(); } void TestBlankCB() { xset.test_blank(); } void applyCB() { write_configuration(); } void okCB() { write_configuration(); app->_finish = true; }