input_server saves its settings on change, sending itself a 'Save' request message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18052 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -39,6 +39,8 @@
|
|||||||
#define IS_CONTROL_DEVICES 'Icnd'
|
#define IS_CONTROL_DEVICES 'Icnd'
|
||||||
#define SYSTEM_SHUTTING_DOWN 'SSDn'
|
#define SYSTEM_SHUTTING_DOWN 'SSDn'
|
||||||
|
|
||||||
|
#define IS_SAVE_SETTINGS 'Isst'
|
||||||
|
|
||||||
// app_server communication
|
// app_server communication
|
||||||
#define IS_ACQUIRE_INPUT 'Iaqi'
|
#define IS_ACQUIRE_INPUT 'Iaqi'
|
||||||
#define IS_RELEASE_INPUT 'Irli'
|
#define IS_RELEASE_INPUT 'Irli'
|
||||||
|
|||||||
@@ -572,6 +572,11 @@ InputServer::MessageReceived(BMessage* message)
|
|||||||
fAddOnManager->PostMessage(message);
|
fAddOnManager->PostMessage(message);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case IS_SAVE_SETTINGS:
|
||||||
|
fKeyboardSettings.Save();
|
||||||
|
fMouseSettings.SaveSettings();
|
||||||
|
return;
|
||||||
|
|
||||||
case B_SOME_APP_LAUNCHED:
|
case B_SOME_APP_LAUNCHED:
|
||||||
{
|
{
|
||||||
const char *signature;
|
const char *signature;
|
||||||
@@ -613,6 +618,7 @@ InputServer::HandleGetSetMouseType(BMessage* message, BMessage* reply)
|
|||||||
int32 type;
|
int32 type;
|
||||||
if (message->FindInt32("mouse_type", &type) == B_OK) {
|
if (message->FindInt32("mouse_type", &type) == B_OK) {
|
||||||
fMouseSettings.SetMouseType(type);
|
fMouseSettings.SetMouseType(type);
|
||||||
|
be_app_messenger.SendMessage(IS_SAVE_SETTINGS);
|
||||||
|
|
||||||
BMessage msg(IS_CONTROL_DEVICES);
|
BMessage msg(IS_CONTROL_DEVICES);
|
||||||
msg.AddInt32("type", B_POINTING_DEVICE);
|
msg.AddInt32("type", B_POINTING_DEVICE);
|
||||||
@@ -631,6 +637,7 @@ InputServer::HandleGetSetMouseAcceleration(BMessage* message,
|
|||||||
int32 factor;
|
int32 factor;
|
||||||
if (message->FindInt32("speed", &factor) == B_OK) {
|
if (message->FindInt32("speed", &factor) == B_OK) {
|
||||||
fMouseSettings.SetAccelerationFactor(factor);
|
fMouseSettings.SetAccelerationFactor(factor);
|
||||||
|
be_app_messenger.SendMessage(IS_SAVE_SETTINGS);
|
||||||
|
|
||||||
BMessage msg(IS_CONTROL_DEVICES);
|
BMessage msg(IS_CONTROL_DEVICES);
|
||||||
msg.AddInt32("type", B_POINTING_DEVICE);
|
msg.AddInt32("type", B_POINTING_DEVICE);
|
||||||
@@ -648,6 +655,7 @@ InputServer::HandleGetSetKeyRepeatDelay(BMessage* message, BMessage* reply)
|
|||||||
bigtime_t delay;
|
bigtime_t delay;
|
||||||
if (message->FindInt64("delay", &delay) == B_OK) {
|
if (message->FindInt64("delay", &delay) == B_OK) {
|
||||||
fKeyboardSettings.SetKeyboardRepeatDelay(delay);
|
fKeyboardSettings.SetKeyboardRepeatDelay(delay);
|
||||||
|
be_app_messenger.SendMessage(IS_SAVE_SETTINGS);
|
||||||
|
|
||||||
BMessage msg(IS_CONTROL_DEVICES);
|
BMessage msg(IS_CONTROL_DEVICES);
|
||||||
msg.AddInt32("type", B_KEYBOARD_DEVICE);
|
msg.AddInt32("type", B_KEYBOARD_DEVICE);
|
||||||
@@ -752,6 +760,7 @@ InputServer::HandleGetSetMouseSpeed(BMessage* message, BMessage* reply)
|
|||||||
int32 speed;
|
int32 speed;
|
||||||
if (message->FindInt32("speed", &speed) == B_OK) {
|
if (message->FindInt32("speed", &speed) == B_OK) {
|
||||||
fMouseSettings.SetMouseSpeed(speed);
|
fMouseSettings.SetMouseSpeed(speed);
|
||||||
|
be_app_messenger.SendMessage(IS_SAVE_SETTINGS);
|
||||||
|
|
||||||
BMessage msg(IS_CONTROL_DEVICES);
|
BMessage msg(IS_CONTROL_DEVICES);
|
||||||
msg.AddInt32("type", B_POINTING_DEVICE);
|
msg.AddInt32("type", B_POINTING_DEVICE);
|
||||||
@@ -796,6 +805,7 @@ InputServer::HandleGetSetMouseMap(BMessage* message, BMessage* reply)
|
|||||||
ssize_t size;
|
ssize_t size;
|
||||||
if (message->FindData("mousemap", B_RAW_TYPE, (const void**)&map, &size) == B_OK) {
|
if (message->FindData("mousemap", B_RAW_TYPE, (const void**)&map, &size) == B_OK) {
|
||||||
fMouseSettings.SetMapping(*map);
|
fMouseSettings.SetMapping(*map);
|
||||||
|
be_app_messenger.SendMessage(IS_SAVE_SETTINGS);
|
||||||
|
|
||||||
BMessage msg(IS_CONTROL_DEVICES);
|
BMessage msg(IS_CONTROL_DEVICES);
|
||||||
msg.AddInt32("type", B_POINTING_DEVICE);
|
msg.AddInt32("type", B_POINTING_DEVICE);
|
||||||
@@ -822,6 +832,7 @@ InputServer::HandleGetSetClickSpeed(BMessage* message, BMessage* reply)
|
|||||||
bigtime_t clickSpeed;
|
bigtime_t clickSpeed;
|
||||||
if (message->FindInt64("speed", &clickSpeed) == B_OK) {
|
if (message->FindInt64("speed", &clickSpeed) == B_OK) {
|
||||||
fMouseSettings.SetClickSpeed(clickSpeed);
|
fMouseSettings.SetClickSpeed(clickSpeed);
|
||||||
|
be_app_messenger.SendMessage(IS_SAVE_SETTINGS);
|
||||||
|
|
||||||
BMessage msg(IS_CONTROL_DEVICES);
|
BMessage msg(IS_CONTROL_DEVICES);
|
||||||
msg.AddInt32("type", B_POINTING_DEVICE);
|
msg.AddInt32("type", B_POINTING_DEVICE);
|
||||||
@@ -839,6 +850,7 @@ InputServer::HandleGetSetKeyRepeatRate(BMessage* message, BMessage* reply)
|
|||||||
int32 keyRepeatRate;
|
int32 keyRepeatRate;
|
||||||
if (message->FindInt32("rate", &keyRepeatRate) == B_OK) {
|
if (message->FindInt32("rate", &keyRepeatRate) == B_OK) {
|
||||||
fKeyboardSettings.SetKeyboardRepeatRate(keyRepeatRate);
|
fKeyboardSettings.SetKeyboardRepeatRate(keyRepeatRate);
|
||||||
|
be_app_messenger.SendMessage(IS_SAVE_SETTINGS);
|
||||||
|
|
||||||
BMessage msg(IS_CONTROL_DEVICES);
|
BMessage msg(IS_CONTROL_DEVICES);
|
||||||
msg.AddInt32("type", B_KEYBOARD_DEVICE);
|
msg.AddInt32("type", B_KEYBOARD_DEVICE);
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ public :
|
|||||||
int32 KeyboardRepeatRate() const { return fSettings.key_repeat_rate; }
|
int32 KeyboardRepeatRate() const { return fSettings.key_repeat_rate; }
|
||||||
bigtime_t KeyboardRepeatDelay() const { return fSettings.key_repeat_delay; }
|
bigtime_t KeyboardRepeatDelay() const { return fSettings.key_repeat_delay; }
|
||||||
|
|
||||||
private:
|
void Save();
|
||||||
void Save();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
kb_settings fSettings;
|
kb_settings fSettings;
|
||||||
|
|||||||
@@ -51,10 +51,11 @@ class MouseSettings {
|
|||||||
mode_mouse MouseMode() const { return fMode; }
|
mode_mouse MouseMode() const { return fMode; }
|
||||||
void SetMouseMode(mode_mouse mode);
|
void SetMouseMode(mode_mouse mode);
|
||||||
|
|
||||||
|
status_t SaveSettings();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static status_t GetSettingsPath(BPath &path);
|
static status_t GetSettingsPath(BPath &path);
|
||||||
void RetrieveSettings();
|
void RetrieveSettings();
|
||||||
status_t SaveSettings();
|
|
||||||
|
|
||||||
mouse_settings fSettings, fOriginalSettings;
|
mouse_settings fSettings, fOriginalSettings;
|
||||||
mode_mouse fMode, fOriginalMode;
|
mode_mouse fMode, fOriginalMode;
|
||||||
|
|||||||
Reference in New Issue
Block a user