mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
65018f75b7
emenueditor
131 lines
3.5 KiB
C++
Executable File
131 lines
3.5 KiB
C++
Executable File
/*
|
|
* $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 <efltk/Fl_Config.h>
|
|
// 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;
|
|
}
|
|
|