From Adrien Destugues <pulkomandy@xxxxxxxxx>:
Adrien Destugues has uploaded this change for review. (
https://review.haiku-os.org/c/haiku/+/2210 ;)
Change subject: Use Input preferences
......................................................................
Use Input preferences
And remove Mouse, Keyboard and Touchpad.
Userguide and localizations will need to be updated.
---
M build/jam/images/definitions/minimum
M src/preferences/Jamfile
D src/preferences/keyboard/Jamfile
D src/preferences/keyboard/Keyboard.cpp
D src/preferences/keyboard/Keyboard.h
D src/preferences/keyboard/Keyboard.rdef
D src/preferences/keyboard/KeyboardMessages.h
D src/preferences/keyboard/KeyboardSettings.cpp
D src/preferences/keyboard/KeyboardSettings.h
D src/preferences/keyboard/KeyboardView.cpp
D src/preferences/keyboard/KeyboardView.h
D src/preferences/keyboard/KeyboardWindow.cpp
D src/preferences/keyboard/KeyboardWindow.h
D src/preferences/mouse/Jamfile
D src/preferences/mouse/Mouse.cpp
D src/preferences/mouse/Mouse.h
D src/preferences/mouse/Mouse.rdef
D src/preferences/mouse/MouseConstants.h
D src/preferences/mouse/MouseSettings.cpp
D src/preferences/mouse/MouseSettings.h
D src/preferences/mouse/MouseView.cpp
D src/preferences/mouse/MouseView.h
D src/preferences/mouse/MouseWindow.cpp
D src/preferences/mouse/MouseWindow.h
D src/preferences/mouse/SettingsView.cpp
D src/preferences/mouse/SettingsView.h
D src/preferences/touchpad/Jamfile
D src/preferences/touchpad/Touchpad.rdef
D src/preferences/touchpad/TouchpadPref.cpp
D src/preferences/touchpad/TouchpadPref.h
D src/preferences/touchpad/TouchpadPrefView.cpp
D src/preferences/touchpad/TouchpadPrefView.h
D src/preferences/touchpad/main.cpp
33 files changed, 3 insertions(+), 3,619 deletions(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/10/2210/1
diff --git a/build/jam/images/definitions/minimum
b/build/jam/images/definitions/minimum
index 3cd4b38..4dba390 100644
--- a/build/jam/images/definitions/minimum
+++ b/build/jam/images/definitions/minimum
@@ -66,12 +66,12 @@
Backgrounds
<preference>Deskbar
FileTypes
- Keyboard Keymap
+ Input
+ Keymap
Locale
- Mouse
Network Notifications
Screen Shortcuts
- Time Touchpad <preference>Tracker
+ Time <preference>Tracker
VirtualMemory
] ;
diff --git a/src/preferences/Jamfile b/src/preferences/Jamfile
index caf06fa..b913663 100644
--- a/src/preferences/Jamfile
+++ b/src/preferences/Jamfile
@@ -8,12 +8,10 @@
SubInclude HAIKU_TOP src preferences filetypes ;
SubInclude HAIKU_TOP src preferences input ;
SubInclude HAIKU_TOP src preferences joysticks ;
-SubInclude HAIKU_TOP src preferences keyboard ;
SubInclude HAIKU_TOP src preferences keymap ;
SubInclude HAIKU_TOP src preferences locale ;
SubInclude HAIKU_TOP src preferences mail ;
SubInclude HAIKU_TOP src preferences media ;
-SubInclude HAIKU_TOP src preferences mouse ;
SubInclude HAIKU_TOP src preferences network ;
SubInclude HAIKU_TOP src preferences notifications ;
SubInclude HAIKU_TOP src preferences printers ;
@@ -23,6 +21,5 @@
SubInclude HAIKU_TOP src preferences shortcuts ;
SubInclude HAIKU_TOP src preferences sounds ;
SubInclude HAIKU_TOP src preferences time ;
-SubInclude HAIKU_TOP src preferences touchpad ;
SubInclude HAIKU_TOP src preferences tracker ;
SubInclude HAIKU_TOP src preferences virtualmemory ;
diff --git a/src/preferences/keyboard/Jamfile b/src/preferences/keyboard/Jamfile
deleted file mode 100644
index 0f0baec..0000000
--- a/src/preferences/keyboard/Jamfile
+++ /dev/null
@@ -1,25 +0,0 @@
-SubDir HAIKU_TOP src preferences keyboard ;
-
-if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
- SubDirC++Flags -DCOMPILE_FOR_R5 ;
-# SubDirC++Flags -fmultiple-symbol-spaces ;
-}
-
-UsePrivateHeaders input ;
-
-Preference Keyboard :
- Keyboard.cpp
- KeyboardSettings.cpp
- KeyboardView.cpp
- KeyboardWindow.cpp
- : translation be [ TargetLibsupc++ ] localestub
- : Keyboard.rdef
- ;
-
-DoCatalogs Keyboard :
- x-vnd.Haiku-Keyboard
- :
- Keyboard.cpp
- KeyboardWindow.cpp
- KeyboardView.cpp
-;
diff --git a/src/preferences/keyboard/Keyboard.cpp
b/src/preferences/keyboard/Keyboard.cpp
deleted file mode 100644
index cbe1d6a..0000000
--- a/src/preferences/keyboard/Keyboard.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2004-2006, Haiku. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors in chronological order:
- * Andrew McCall, mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
- */
-
-
-#include "Keyboard.h"
-#include "KeyboardWindow.h"
-#include "KeyboardMessages.h"
-
-#include <Alert.h>
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "KeyboardApplication"
-
-KeyboardApplication::KeyboardApplication()
- : BApplication("application/x-vnd.Haiku-Keyboard")
-{
- new KeyboardWindow();
-}
-
-
-void
-KeyboardApplication::MessageReceived(BMessage* message)
-{
- switch (message->what) {
- case ERROR_DETECTED:
- {
- BAlert* errorAlert = new BAlert("Error",
- B_TRANSLATE("Something has gone wrong!"),
- B_TRANSLATE("OK"), NULL, NULL,
- B_WIDTH_AS_USUAL, B_OFFSET_SPACING,
B_WARNING_ALERT);
- errorAlert->SetFlags(errorAlert->Flags() |
B_CLOSE_ON_ESCAPE);
- errorAlert->Go();
- be_app->PostMessage(B_QUIT_REQUESTED);
- break;
- }
- default:
- BApplication::MessageReceived(message);
- break;
- }
-}
-
-
-void
-KeyboardApplication::AboutRequested()
-{
- BAlert* alert = new BAlert("about",
- B_TRANSLATE("Written by Andrew Edward McCall"),
B_TRANSLATE("OK"));
- alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE);
- alert->Go();
-}
-
-
-// #pragma mark -
-
-
-int
-main(int, char**)
-{
- KeyboardApplication app;
- app.Run();
-
- return 0;
-}
-
diff --git a/src/preferences/keyboard/Keyboard.h
b/src/preferences/keyboard/Keyboard.h
deleted file mode 100644
index 7e1d77c..0000000
--- a/src/preferences/keyboard/Keyboard.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2004-2006, the Haiku project. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors in chronological order:
- * mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
-*/
-#ifndef KEYBOARD_H
-#define KEYBOARD_H
-
-#include <Application.h>
-#include <Catalog.h>
-#include <Locale.h>
-
-class KeyboardApplication : public BApplication
-{
-public:
- KeyboardApplication();
-
- void MessageReceived(BMessage* message);
- void AboutRequested(void);
-};
-
-#endif
diff --git a/src/preferences/keyboard/Keyboard.rdef
b/src/preferences/keyboard/Keyboard.rdef
deleted file mode 100644
index 5af19f8..0000000
--- a/src/preferences/keyboard/Keyboard.rdef
+++ /dev/null
@@ -1,38 +0,0 @@
-
-resource app_signature "application/x-vnd.Haiku-Keyboard";
-
-resource app_name_catalog_entry "x-vnd.Haiku-Keyboard:System name:Keyboard";
-
-resource app_flags B_SINGLE_LAUNCH;
-
-resource app_version {
- major = 1,
- middle = 0,
- minor = 0,
-
- /* 0 = development 1 = alpha 2 = beta
- 3 = gamma 4 = golden master 5 = final */
- variety = 2,
-
- internal = 0,
-
- short_info = "Keyboard",
- long_info = "Keyboard ©2004-2009 Haiku"
-};
-
-resource vector_icon {
- $"6E63696605020016023910813A2974BB43733A501C4A60D94AC7F400E9FFB902"
- $"001602B8513BB55C0A38B9DABBC2B74A98024B8D270066FF9002011603BC39E2"
- $"364286B516B5BB0AE64ACEF94A7E0500FF56E5FFC1050004006D0A0202372D34"
- $"2B3A2F3C2A3F2C39280802392C3B2F0805493046344A334A364F3308032C3C32"
- $"39303E08022F3B313C00043E443E443D4542454146434440423F434141444345"
- $"4243440A04425C4CCA1B56C61F4E490A0432523647424C425A0A04425A424C4C"
- $"434E4E0A043647424C4C43403E160A030309080730180801178322040A000107"
- $"2018080A0101082018080A0201092018080A030200011001178100040A040106"
- $"2028100A030309080730281001178322040A0001072028100A0101082028100A"
- $"0201092028100A0301021001178122040A030309080730101801178422040A00"
- $"01072010180A0101082010180A0201092010180A030203041001178100040A04"
- $"0106000A03030908071001178322040A000107000A010108000A020109000A03"
- $"0105100117810004"
-};
-
diff --git a/src/preferences/keyboard/KeyboardMessages.h
b/src/preferences/keyboard/KeyboardMessages.h
deleted file mode 100644
index 04d81e1..0000000
--- a/src/preferences/keyboard/KeyboardMessages.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2004-2007, Haiku. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Andrew McCall, mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
- */
-#ifndef KEYBOARD_MESSAGES_H
-#define KEYBOARD_MESSAGES_H
-
-
-#include <SupportDefs.h>
-
-
-const uint32 BUTTON_DEFAULTS = 'BTde';
-const uint32 BUTTON_REVERT = 'BTre';
-const uint32 SLIDER_REPEAT_RATE = 'SLrr';
-const uint32 SLIDER_DELAY_RATE = 'SLdr';
-
-const uint32 ERROR_DETECTED = 'ERor';
-
-#endif // KEYBOARD_MESSAGES_H
diff --git a/src/preferences/keyboard/KeyboardSettings.cpp
b/src/preferences/keyboard/KeyboardSettings.cpp
deleted file mode 100644
index e47104c..0000000
--- a/src/preferences/keyboard/KeyboardSettings.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright 2004-2006, the Haiku project. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors in chronological order:
- * mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
-*/
-#include <FindDirectory.h>
-#include <File.h>
-#include <Path.h>
-#include <stdio.h>
-#include "KeyboardSettings.h"
-
-// Keyboard setting file layout is like this:
-// struct {
-// struct kb_settings; // managed by input server
-// BPoint corner; // used by pref app
-// }
-
-KeyboardSettings::KeyboardSettings()
-{
- if (get_key_repeat_rate(&fSettings.key_repeat_rate) != B_OK)
- fSettings.key_repeat_rate = kb_default_key_repeat_rate;
-
- if (get_key_repeat_delay(&fSettings.key_repeat_delay) != B_OK)
- fSettings.key_repeat_delay = kb_default_key_repeat_delay;
-
- fOriginalSettings = fSettings;
-
- BPath path;
- BFile file;
-
- fCorner.x = 150;
- fCorner.y = 100;
-
- status_t status = find_directory(B_USER_SETTINGS_DIRECTORY, &path);
- if (status == B_OK) {
- status = path.Append(kb_settings_file);
- if (status == B_OK) {
- status = file.SetTo(path.Path(), B_READ_ONLY);
- if (status == B_OK) {
- if (file.ReadAt(sizeof(kb_settings), &fCorner,
sizeof(fCorner)) != sizeof(fCorner)) {
- fCorner.x = 150;
- fCorner.y = 100;
- }
- }
- }
- }
-}
-
-
-KeyboardSettings::~KeyboardSettings()
-{
- BPath path;
- BFile file;
-
- if (find_directory(B_USER_SETTINGS_DIRECTORY, &path) < B_OK)
- return;
-
- if (path.Append(kb_settings_file) < B_OK)
- return;
-
- // be careful: don't create the file if it doesn't already exist
- if (file.SetTo(path.Path(), B_WRITE_ONLY) < B_OK)
- return;
-
- file.WriteAt(sizeof(kb_settings), &fCorner, sizeof(fCorner));
-}
-
-
-void
-KeyboardSettings::SetWindowCorner(BPoint corner)
-{
- fCorner = corner;
-}
-
-
-void
-KeyboardSettings::SetKeyboardRepeatRate(int32 rate)
-{
- if (set_key_repeat_rate(rate) != B_OK)
- fprintf(stderr, "error while set_key_repeat_rate!\n");
- fSettings.key_repeat_rate = rate;
-}
-
-
-void
-KeyboardSettings::SetKeyboardRepeatDelay(bigtime_t delay)
-{
- if (set_key_repeat_delay(delay) != B_OK)
- fprintf(stderr, "error while set_key_repeat_delay!\n");
- fSettings.key_repeat_delay = delay;
-}
-
-
-void
-KeyboardSettings::Dump()
-{
- printf("repeat rate: %" B_PRId32 "\n", fSettings.key_repeat_rate);
- printf("repeat delay: %" B_PRId64 "\n", fSettings.key_repeat_delay);
-}
-
-
-void
-KeyboardSettings::Revert()
-{
- SetKeyboardRepeatDelay(fOriginalSettings.key_repeat_delay);
- SetKeyboardRepeatRate(fOriginalSettings.key_repeat_rate);
-}
-
-
-void
-KeyboardSettings::Defaults()
-{
- SetKeyboardRepeatDelay(kb_default_key_repeat_delay);
- SetKeyboardRepeatRate(kb_default_key_repeat_rate);
-}
-
-
-bool
-KeyboardSettings::IsDefaultable()
-{
- return fSettings.key_repeat_delay != kb_default_key_repeat_delay
- || fSettings.key_repeat_rate != kb_default_key_repeat_rate;
-}
diff --git a/src/preferences/keyboard/KeyboardSettings.h
b/src/preferences/keyboard/KeyboardSettings.h
deleted file mode 100644
index 3879965..0000000
--- a/src/preferences/keyboard/KeyboardSettings.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2004-2006, the Haiku project. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors in chronological order:
- * mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
-*/
-#ifndef KEYBOARD_SETTINGS_H_
-#define KEYBOARD_SETTINGS_H_
-
-#include <SupportDefs.h>
-#include "kb_mouse_settings.h"
-
-class KeyboardSettings{
-public :
- KeyboardSettings();
- ~KeyboardSettings();
-
- void Dump();
- void Revert();
- void Defaults();
- bool IsDefaultable();
-
- BPoint WindowCorner() const { return fCorner; }
- void SetWindowCorner(BPoint corner);
-
- int32 KeyboardRepeatRate() const
- { return fSettings.key_repeat_rate; }
- void SetKeyboardRepeatRate(int32 rate);
-
- bigtime_t KeyboardRepeatDelay() const
- { return fSettings.key_repeat_delay; }
- void SetKeyboardRepeatDelay(bigtime_t delay);
-
-private:
- BPoint fCorner;
- kb_settings fSettings;
- kb_settings fOriginalSettings;
-};
-
-#endif
diff --git a/src/preferences/keyboard/KeyboardView.cpp
b/src/preferences/keyboard/KeyboardView.cpp
deleted file mode 100644
index 9ff48b5..0000000
--- a/src/preferences/keyboard/KeyboardView.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2004-2006, the Haiku project. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors in chronological order:
- * mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
-*/
-#include <InterfaceDefs.h>
-#include <TranslationUtils.h>
-#include <Bitmap.h>
-#include <Button.h>
-#include <Catalog.h>
-#include <LayoutBuilder.h>
-#include <Locale.h>
-#include <Slider.h>
-#include <TextControl.h>
-#include <Window.h>
-
-#include "KeyboardView.h"
-#include "KeyboardMessages.h"
-#include "KeyboardSettings.h"
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "KeyboardView"
-
-KeyboardView::KeyboardView()
- : BGroupView()
-{
- fIconBitmap = BTranslationUtils::GetBitmap("key_bmap");
- fClockBitmap = BTranslationUtils::GetBitmap("clock_bmap");
-
- // Create the "Key repeat rate" slider...
- fRepeatSlider = new BSlider("key_repeat_rate",
- B_TRANSLATE("Key repeat rate"),
- new
BMessage(SLIDER_REPEAT_RATE),
- 20, 300, B_HORIZONTAL);
- fRepeatSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fRepeatSlider->SetHashMarkCount(5);
- fRepeatSlider->SetLimitLabels(B_TRANSLATE("Slow"),B_TRANSLATE("Fast"));
- fRepeatSlider->SetExplicitMinSize(BSize(200, B_SIZE_UNSET));
-
-
- // Create the "Delay until key repeat" slider...
- fDelaySlider = new BSlider("delay_until_key_repeat",
- B_TRANSLATE("Delay until key
repeat"),
- new BMessage(SLIDER_DELAY_RATE),
- 250000, 1000000, B_HORIZONTAL);
- fDelaySlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fDelaySlider->SetHashMarkCount(4);
- fDelaySlider->SetLimitLabels(B_TRANSLATE("Short"),B_TRANSLATE("Long"));
-
- // Create the "Typing test area" text box...
- BTextControl* textcontrol = new BTextControl(NULL,
-
B_TRANSLATE("Typing test area"),
- new
BMessage('TTEA'));
- textcontrol->SetAlignment(B_ALIGN_LEFT, B_ALIGN_CENTER);
- textcontrol->SetExplicitMinSize(BSize(
- textcontrol->StringWidth(B_TRANSLATE("Typing test area")),
B_SIZE_UNSET));
-
- // Build the layout
- BLayoutBuilder::Group<>(this, B_VERTICAL, B_USE_DEFAULT_SPACING)
- .Add(fRepeatSlider)
- .Add(fDelaySlider)
- .Add(textcontrol);
-}
-
-
-KeyboardView::~KeyboardView()
-{
-
-}
-
-
-void
-KeyboardView::Draw(BRect updateFrame)
-{
- BPoint pt;
- pt.x = fRepeatSlider->Frame().right + 10;
-
- if (fIconBitmap != NULL) {
- pt.y = fRepeatSlider->Frame().bottom - 35
- - fIconBitmap->Bounds().Height() / 3;
- DrawBitmap(fIconBitmap, pt);
- }
-
- if (fClockBitmap != NULL) {
- pt.y = fDelaySlider->Frame().bottom - 35
- - fClockBitmap->Bounds().Height() / 3;
- DrawBitmap(fClockBitmap, pt);
- }
-}
diff --git a/src/preferences/keyboard/KeyboardView.h
b/src/preferences/keyboard/KeyboardView.h
deleted file mode 100644
index 7678156..0000000
--- a/src/preferences/keyboard/KeyboardView.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2004-2006, the Haiku project. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors in chronological order:
- * mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
-*/
-#ifndef KEYBOARD_VIEW_H
-#define KEYBOARD_VIEW_H
-
-
-#include <GroupView.h>
-#include <Slider.h>
-#include <SupportDefs.h>
-#include <InterfaceDefs.h>
-#include <Application.h>
-
-
-class KeyboardView : public BGroupView
-{
-public:
- KeyboardView();
- virtual ~KeyboardView();
- void Draw(BRect frame);
-
-private:
- BBitmap *fIconBitmap;
- BBitmap *fClockBitmap;
- BSlider *fDelaySlider;
- BSlider *fRepeatSlider;
-};
-
-#endif
diff --git a/src/preferences/keyboard/KeyboardWindow.cpp
b/src/preferences/keyboard/KeyboardWindow.cpp
deleted file mode 100644
index 836c843..0000000
--- a/src/preferences/keyboard/KeyboardWindow.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright 2004-2007, Haiku. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Andrew McCall, mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
- */
-
-
-#include "KeyboardMessages.h"
-#include "KeyboardView.h"
-#include "KeyboardWindow.h"
-
-#include <Box.h>
-#include <Button.h>
-#include <Catalog.h>
-#include <LayoutBuilder.h>
-#include <Locale.h>
-#include <Message.h>
-#include <Screen.h>
-#include <SeparatorView.h>
-#include <Slider.h>
-#include <TextControl.h>
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "KeyboardWindow"
-
-KeyboardWindow::KeyboardWindow()
- :
- BWindow(BRect(0, 0, 200, 200), B_TRANSLATE_SYSTEM_NAME("Keyboard"),
- B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE
- | B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS)
-{
- MoveTo(fSettings.WindowCorner());
-
- // Add the main settings view
- fSettingsView = new KeyboardView();
-
- // Add the "Default" button..
- fDefaultsButton = new BButton(B_TRANSLATE("Defaults"), new
BMessage(BUTTON_DEFAULTS));
-
- // Add the "Revert" button...
- fRevertButton = new BButton(B_TRANSLATE("Revert"), new
BMessage(BUTTON_REVERT));
- fRevertButton->SetEnabled(false);
-
- // Build the layout
- BLayoutBuilder::Group<>(this, B_VERTICAL)
- .AddGroup(B_HORIZONTAL)
- .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
- B_USE_WINDOW_SPACING, 0)
- .Add(fSettingsView)
- .End()
- .Add(new BSeparatorView(B_HORIZONTAL))
- .AddGroup(B_HORIZONTAL)
- .SetInsets(B_USE_WINDOW_SPACING, 0,
B_USE_WINDOW_SPACING,
- B_USE_WINDOW_SPACING)
- .Add(fDefaultsButton)
- .Add(fRevertButton)
- .End();
-
- BSlider* slider = (BSlider* )FindView("key_repeat_rate");
- if (slider !=NULL)
- slider->SetValue(fSettings.KeyboardRepeatRate());
-
- slider = (BSlider* )FindView("delay_until_key_repeat");
- if (slider !=NULL)
- slider->SetValue(fSettings.KeyboardRepeatDelay());
-
- fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
- // center window if it would be off-screen
- BScreen screen;
- if (screen.Frame().right < Frame().right
- || screen.Frame().bottom < Frame().bottom) {
- CenterOnScreen();
- }
-
-#ifdef DEBUG
- fSettings.Dump();
-#endif
-
- Show();
-}
-
-
-bool
-KeyboardWindow::QuitRequested()
-{
- fSettings.SetWindowCorner(Frame().LeftTop());
-
-#ifdef DEBUG
- fSettings.Dump();
-#endif
-
- be_app->PostMessage(B_QUIT_REQUESTED);
- return true;
-}
-
-
-void
-KeyboardWindow::MessageReceived(BMessage* message)
-{
- BSlider* slider = NULL;
-
- switch (message->what) {
- case BUTTON_DEFAULTS:
- {
- fSettings.Defaults();
-
- slider = (BSlider* )FindView("key_repeat_rate");
- if (slider !=NULL)
-
slider->SetValue(fSettings.KeyboardRepeatRate());
-
- slider = (BSlider* )FindView("delay_until_key_repeat");
- if (slider !=NULL)
-
slider->SetValue(fSettings.KeyboardRepeatDelay());
-
- fDefaultsButton->SetEnabled(false);
-
- fRevertButton->SetEnabled(true);
- break;
- }
- case BUTTON_REVERT:
- {
- fSettings.Revert();
-
- slider = (BSlider* )FindView("key_repeat_rate");
- if (slider !=NULL)
-
slider->SetValue(fSettings.KeyboardRepeatRate());
-
- slider = (BSlider* )FindView("delay_until_key_repeat");
- if (slider !=NULL)
-
slider->SetValue(fSettings.KeyboardRepeatDelay());
-
- fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
- fRevertButton->SetEnabled(false);
- break;
- }
- case SLIDER_REPEAT_RATE:
- {
- int32 rate;
- if (message->FindInt32("be:value", &rate) != B_OK)
- break;
- fSettings.SetKeyboardRepeatRate(rate);
-
- fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
- fRevertButton->SetEnabled(true);
- break;
- }
- case SLIDER_DELAY_RATE:
- {
- int32 delay;
- if (message->FindInt32("be:value", &delay) != B_OK)
- break;
-
- // We need to look at the value from the slider and
make it "jump"
- // to the next notch along. Setting the min and max
values of the
- // slider to 1 and 4 doesn't work like the real
Keyboard app.
- if (delay < 375000)
- delay = 250000;
- if (delay >= 375000 && delay < 625000)
- delay = 500000;
- if (delay >= 625000 && delay < 875000)
- delay = 750000;
- if (delay >= 875000)
- delay = 1000000;
-
- fSettings.SetKeyboardRepeatDelay(delay);
-
- slider = (BSlider* )FindView("delay_until_key_repeat");
- if (slider != NULL)
- slider->SetValue(delay);
-
- fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
- fRevertButton->SetEnabled(true);
- break;
- }
-
- default:
- BWindow::MessageReceived(message);
- break;
- }
-}
diff --git a/src/preferences/keyboard/KeyboardWindow.h
b/src/preferences/keyboard/KeyboardWindow.h
deleted file mode 100644
index f61cf10..0000000
--- a/src/preferences/keyboard/KeyboardWindow.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2004-2006, the Haiku project. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors in chronological order:
- * mccall@xxxxxxxxxxxxxxxxxxxxx
- * Jérôme Duval
- * Marcus Overhagen
-*/
-#ifndef KEYBOARD_WINDOW_H
-#define KEYBOARD_WINDOW_H
-
-#include <Button.h>
-#include <Window.h>
-
-#include "KeyboardSettings.h"
-#include "KeyboardView.h"
-
-class KeyboardWindow : public BWindow
-{
-public:
- KeyboardWindow();
-
- bool QuitRequested();
- void MessageReceived(BMessage* message);
-
-private:
- KeyboardView *fSettingsView;
- KeyboardSettings fSettings;
- BButton *fDefaultsButton;
- BButton *fRevertButton;
-};
-
-#endif
diff --git a/src/preferences/mouse/Jamfile b/src/preferences/mouse/Jamfile
deleted file mode 100644
index 4fd30cc..0000000
--- a/src/preferences/mouse/Jamfile
+++ /dev/null
@@ -1,21 +0,0 @@
-SubDir HAIKU_TOP src preferences mouse ;
-
-UsePrivateHeaders input ;
-
-Preference Mouse :
- Mouse.cpp
- MouseSettings.cpp
- MouseWindow.cpp
- MouseView.cpp
- SettingsView.cpp
- : translation be [ TargetLibsupc++ ] localestub
- : Mouse.rdef
- ;
-
-DoCatalogs Mouse :
- x-vnd.Haiku-Mouse
- :
- Mouse.cpp
- MouseWindow.cpp
- SettingsView.cpp
-;
diff --git a/src/preferences/mouse/Mouse.cpp b/src/preferences/mouse/Mouse.cpp
deleted file mode 100644
index 17f796b..0000000
--- a/src/preferences/mouse/Mouse.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2003-2009 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- */
-
-
-#include "Mouse.h"
-#include "MouseWindow.h"
-
-#include <Alert.h>
-#include <Screen.h>
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "MouseApplication"
-
-const char* kSignature = "application/x-vnd.Haiku-Mouse";
-
-
-MouseApplication::MouseApplication()
- :
- BApplication(kSignature)
-{
- BRect rect(0, 0, 397, 293);
- MouseWindow *window = new MouseWindow(rect);
- window->Show();
-}
-
-
-void
-MouseApplication::AboutRequested()
-{
- BAlert* alert = new BAlert("about",
- B_TRANSLATE("...by Andrew Edward McCall"), B_TRANSLATE("Dig
Deal"));
- alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE);
- alert->Go();
-}
-
-
-// #pragma mark -
-
-
-int
-main(int /*argc*/, char ** /*argv*/)
-{
- MouseApplication app;
- app.Run();
-
- return 0;
-}
diff --git a/src/preferences/mouse/Mouse.h b/src/preferences/mouse/Mouse.h
deleted file mode 100644
index 84db0dc..0000000
--- a/src/preferences/mouse/Mouse.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2003-2009 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- */
-#ifndef MOUSE_H
-#define MOUSE_H
-
-
-#include <Application.h>
-#include <Catalog.h>
-#include <Locale.h>
-
-
-class MouseApplication : public BApplication {
-public:
- MouseApplication();
-
- virtual void AboutRequested();
-};
-
-#endif /* MOUSE_H */
diff --git a/src/preferences/mouse/Mouse.rdef b/src/preferences/mouse/Mouse.rdef
deleted file mode 100644
index a2e0788..0000000
--- a/src/preferences/mouse/Mouse.rdef
+++ /dev/null
@@ -1,40 +0,0 @@
-
-resource app_signature "application/x-vnd.Haiku-Mouse";
-
-resource app_name_catalog_entry "x-vnd.Haiku-Mouse:System name:Mouse";
-
-resource app_flags B_SINGLE_LAUNCH;
-
-resource app_version {
- major = 1,
- middle = 0,
- minor = 0,
-
- /* 0 = development 1 = alpha 2 = beta
- 3 = gamma 4 = golden master 5 = final */
- variety = 2,
-
- internal = 0,
-
- short_info = "Mouse",
- long_info = "Mouse ©2002-2009 Haiku"
-};
-
-resource vector_icon {
- $"6E636966080301000002000202AC6DA33A810CBCBF0CAEA9C248C4E546BB2A00"
- $"01000000FF010000FF020016023D2328BA287D3B40A23E5D334837CE48FA2500"
- $"69FF01020116023E40000000000000003E400048000048000000FBFFC0020106"
- $"02B832FBBACA8D3ACA8DB832FB48D3BB493902FFBEBEBE0001000005BE05FC01"
- $"0100007D0604033E2C3C2436263E222E2E282E342E2802082C4CB5EDC39ABA27"
- $"C5B7BFBFC883BD60C754C19AC9715052C4C9C842C722C5E9544EC6B5C656C90E"
- $"C3FDC7B7C08BC992C179C558BF5C4038C21FBDBFBDE5BBA232BD5BBB83BC04B9"
- $"2ABE5DB6FB42B7FDBF8AB5A4C1E30208475443544B54C6EB50C660C6ABC777C5"
- $"9456C487C803C508C9DBC33056405842543E42334E3536312C3A3036283EB628"
- $"C223B628C2232A4A344AB80EC27CBE0FC50F0604EE2E383838323638383B3635"
- $"333B332F3304032F3049304930433A36BA1DBE14413141330606FE0B4659C487"
- $"59C36B59C5605954C8E9C6D7C95AC91CC837CBD7C4FBCB67C614CC30C41DCAE7"
- $"C289CBC8C2FAC983C1D75443080A070105000A0101001001178400040A000302"
- $"01031001178422040A020101000A030102000A0001041001178100040A060104"
- $"123FE3AA0000000000003FDFFC41DB9540107701178100040A04010300"
-};
-
diff --git a/src/preferences/mouse/MouseConstants.h
b/src/preferences/mouse/MouseConstants.h
deleted file mode 100644
index c9175f5..0000000
--- a/src/preferences/mouse/MouseConstants.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2003-2009 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Brecht Machiels (brecht@xxxxxxxxxxx)
- */
-#ifndef MOUSE_CONSTANTS_H
-#define MOUSE_CONSTANTS_H
-
-
-// interface messages
-const uint32 kMsgDefaults = 'BTde';
-const uint32 kMsgRevert = 'BTre';
-
-const uint32 kMsgMouseType = 'PUmt';
-const uint32 kMsgMouseFocusMode = 'PUmf';
-const uint32 kMsgFollowsMouseMode = 'PUff';
-const uint32 kMsgAcceptFirstClick = 'PUaf';
-const uint32 kMsgMouseMap = 'PUmm';
-
-const uint32 kMsgDoubleClickSpeed = 'SLdc';
-const uint32 kMsgMouseSpeed = 'SLms';
-const uint32 kMsgAccelerationFactor = 'SLma';
-
-// user interface
-const uint32 kBorderSpace = 10;
-const uint32 kItemSpace = 7;
-
-#endif /* MOUSE_CONSTANTS_H */
diff --git a/src/preferences/mouse/MouseSettings.cpp
b/src/preferences/mouse/MouseSettings.cpp
deleted file mode 100644
index 2cbebb1..0000000
--- a/src/preferences/mouse/MouseSettings.cpp
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * Copyright 2003-2009 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Brecht Machiels (brecht@xxxxxxxxxxx)
- */
-
-#include <FindDirectory.h>
-#include <File.h>
-#include <Path.h>
-#include <View.h>
-
-#include <stdio.h>
-
-#include "MouseSettings.h"
-
-// The R5 settings file differs from that of OpenBeOS;
-// the latter maps 16 different mouse buttons
-#define R5_COMPATIBLE 1
-
-static const bigtime_t kDefaultClickSpeed = 500000;
-static const int32 kDefaultMouseSpeed = 65536;
-static const int32 kDefaultMouseType = 3; // 3 button mouse
-static const int32 kDefaultAccelerationFactor = 65536;
-static const bool kDefaultAcceptFirstClick = false;
-
-
-MouseSettings::MouseSettings()
- :
- fWindowPosition(-1, -1)
-{
- _RetrieveSettings();
-
- fOriginalSettings = fSettings;
- fOriginalMode = fMode;
- fOriginalFocusFollowsMouseMode = fFocusFollowsMouseMode;
- fOriginalAcceptFirstClick = fAcceptFirstClick;
-}
-
-
-MouseSettings::~MouseSettings()
-{
- _SaveSettings();
-}
-
-
-status_t
-MouseSettings::_GetSettingsPath(BPath &path)
-{
- status_t status = find_directory(B_USER_SETTINGS_DIRECTORY, &path);
- if (status < B_OK)
- return status;
-
- path.Append(mouse_settings_file);
- return B_OK;
-}
-
-
-void
-MouseSettings::_RetrieveSettings()
-{
- // retrieve current values
-
- if (get_mouse_map(&fSettings.map) != B_OK)
- fprintf(stderr, "error when get_mouse_map\n");
- if (get_click_speed(&fSettings.click_speed) != B_OK)
- fprintf(stderr, "error when get_click_speed\n");
- if (get_mouse_speed(&fSettings.accel.speed) != B_OK)
- fprintf(stderr, "error when get_mouse_speed\n");
- if (get_mouse_acceleration(&fSettings.accel.accel_factor) != B_OK)
- fprintf(stderr, "error when get_mouse_acceleration\n");
- if (get_mouse_type(&fSettings.type) != B_OK)
- fprintf(stderr, "error when get_mouse_type\n");
-
- fMode = mouse_mode();
- fFocusFollowsMouseMode = focus_follows_mouse_mode();
- fAcceptFirstClick = accept_first_click();
-
- // also try to load the window position from disk
-
- BPath path;
- if (_GetSettingsPath(path) < B_OK)
- return;
-
- BFile file(path.Path(), B_READ_ONLY);
- if (file.InitCheck() < B_OK)
- return;
-
-#if R5_COMPATIBLE
- const off_t kOffset = sizeof(mouse_settings) - sizeof(mouse_map)
- + sizeof(int32) * 3;
- // we have to do this because mouse_map counts 16 buttons in
OBOS
-#else
- const off_t kOffset = sizeof(mouse_settings);
-#endif
-
- if (file.ReadAt(kOffset, &fWindowPosition, sizeof(BPoint))
- != sizeof(BPoint)) {
- // set default window position (invalid positions will be
- // corrected by the application; the window will be centered
- // in this case)
- fWindowPosition.x = -1;
- fWindowPosition.y = -1;
- }
-
-#ifdef DEBUG
- Dump();
-#endif
-}
-
-
-status_t
-MouseSettings::_SaveSettings()
-{
- BPath path;
- status_t status = _GetSettingsPath(path);
- if (status < B_OK)
- return status;
-
- BFile file(path.Path(), B_READ_WRITE | B_CREATE_FILE);
- status = file.InitCheck();
- if (status < B_OK)
- return status;
-
-#if R5_COMPATIBLE
- const off_t kOffset = sizeof(mouse_settings) - sizeof(mouse_map)
- + sizeof(int32) * 3;
- // we have to do this because mouse_map counts 16 buttons in OBOS
-#else
- const off_t kOffset = sizeof(mouse_settings);
-#endif
-
- file.WriteAt(kOffset, &fWindowPosition, sizeof(BPoint));
-
- return B_OK;
-}
-
-
-#ifdef DEBUG
-void
-MouseSettings::Dump()
-{
- printf("type:\t\t%" B_PRId32 " button mouse\n", fSettings.type);
- printf("map:\t\tleft = %" B_PRIu32 " : middle = %" B_PRIu32 " : right =
%"
- B_PRIu32 "\n", fSettings.map.button[0], fSettings.map.button[2],
- fSettings.map.button[1]);
- printf("click speed:\t%" B_PRId64 "\n", fSettings.click_speed);
- printf("accel:\t\t%s\n", fSettings.accel.enabled ? "enabled" :
"disabled");
- printf("accel factor:\t%" B_PRId32 "\n", fSettings.accel.accel_factor);
- printf("speed:\t\t%" B_PRId32 "\n", fSettings.accel.speed);
-
- const char *mode = "unknown";
- switch (fMode) {
- case B_NORMAL_MOUSE:
- mode = "click to focus and raise";
- break;
- case B_CLICK_TO_FOCUS_MOUSE:
- mode = "click to focus";
- break;
- case B_FOCUS_FOLLOWS_MOUSE:
- mode = "focus follows mouse";
- break;
- }
- printf("mouse mode:\t%s\n", mode);
-
- const char *focus_follows_mouse_mode = "unknown";
- switch (fFocusFollowsMouseMode) {
- case B_NORMAL_FOCUS_FOLLOWS_MOUSE:
- focus_follows_mouse_mode = "normal";
- break;
- case B_WARP_FOCUS_FOLLOWS_MOUSE:
- focus_follows_mouse_mode = "warp";
- break;
- case B_INSTANT_WARP_FOCUS_FOLLOWS_MOUSE:
- focus_follows_mouse_mode = "instant warp";
- break;
- }
- printf("focus follows mouse mode:\t%s\n", focus_follows_mouse_mode);
- printf("accept first click:\t%s\n",
- fAcceptFirstClick ? "enabled" : "disabled");
-}
-#endif
-
-
-// Resets the settings to the system defaults
-void
-MouseSettings::Defaults()
-{
- SetClickSpeed(kDefaultClickSpeed);
- SetMouseSpeed(kDefaultMouseSpeed);
- SetMouseType(kDefaultMouseType);
- SetAccelerationFactor(kDefaultAccelerationFactor);
- SetMouseMode(B_NORMAL_MOUSE);
- SetFocusFollowsMouseMode(B_NORMAL_FOCUS_FOLLOWS_MOUSE);
- SetAcceptFirstClick(kDefaultAcceptFirstClick);
-
- mouse_map map;
- if (get_mouse_map(&map) == B_OK) {
- map.button[0] = B_PRIMARY_MOUSE_BUTTON;
- map.button[1] = B_SECONDARY_MOUSE_BUTTON;
- map.button[2] = B_TERTIARY_MOUSE_BUTTON;
- SetMapping(map);
- }
-}
-
-
-// Checks if the settings are different then the system defaults
-bool
-MouseSettings::IsDefaultable()
-{
- return fSettings.click_speed != kDefaultClickSpeed
- || fSettings.accel.speed != kDefaultMouseSpeed
- || fSettings.type != kDefaultMouseType
- || fSettings.accel.accel_factor != kDefaultAccelerationFactor
- || fMode != B_NORMAL_MOUSE
- || fFocusFollowsMouseMode != B_NORMAL_FOCUS_FOLLOWS_MOUSE
- || fAcceptFirstClick != kDefaultAcceptFirstClick
- || fSettings.map.button[0] != B_PRIMARY_MOUSE_BUTTON
- || fSettings.map.button[1] != B_SECONDARY_MOUSE_BUTTON
- || fSettings.map.button[2] != B_TERTIARY_MOUSE_BUTTON;
-}
-
-
-// Reverts to the active settings at program startup
-void
-MouseSettings::Revert()
-{
- SetClickSpeed(fOriginalSettings.click_speed);
- SetMouseSpeed(fOriginalSettings.accel.speed);
- SetMouseType(fOriginalSettings.type);
- SetAccelerationFactor(fOriginalSettings.accel.accel_factor);
- SetMouseMode(fOriginalMode);
- SetFocusFollowsMouseMode(fOriginalFocusFollowsMouseMode);
- SetAcceptFirstClick(fOriginalAcceptFirstClick);
-
- SetMapping(fOriginalSettings.map);
-}
-
-
-// Checks if the settings are different then the original settings
-bool
-MouseSettings::IsRevertable()
-{
- return fSettings.click_speed != fOriginalSettings.click_speed
- || fSettings.accel.speed != fOriginalSettings.accel.speed
- || fSettings.type != fOriginalSettings.type
- || fSettings.accel.accel_factor !=
fOriginalSettings.accel.accel_factor
- || fMode != fOriginalMode
- || fFocusFollowsMouseMode != fOriginalFocusFollowsMouseMode
- || fAcceptFirstClick != fOriginalAcceptFirstClick
- || fSettings.map.button[0] != fOriginalSettings.map.button[0]
- || fSettings.map.button[1] != fOriginalSettings.map.button[1]
- || fSettings.map.button[2] != fOriginalSettings.map.button[2];
-}
-
-
-void
-MouseSettings::SetWindowPosition(BPoint corner)
-{
- fWindowPosition = corner;
-}
-
-
-void
-MouseSettings::SetMouseType(int32 type)
-{
- if (set_mouse_type(type) == B_OK)
- fSettings.type = type;
- else
- fprintf(stderr, "error when set_mouse_type\n");
-}
-
-
-bigtime_t
-MouseSettings::ClickSpeed() const
-{
- return 1000000LL - fSettings.click_speed;
- // to correct the Sliders 0-100000 scale
-}
-
-
-void
-MouseSettings::SetClickSpeed(bigtime_t clickSpeed)
-{
- clickSpeed = 1000000LL - clickSpeed;
-
- if (set_click_speed(clickSpeed) == B_OK)
- fSettings.click_speed = clickSpeed;
- else
- fprintf(stderr, "error when set_click_speed\n");
-}
-
-
-void
-MouseSettings::SetMouseSpeed(int32 speed)
-{
- if (set_mouse_speed(speed) == B_OK)
- fSettings.accel.speed = speed;
- else
- fprintf(stderr, "error when set_mouse_speed\n");
-}
-
-
-void
-MouseSettings::SetAccelerationFactor(int32 factor)
-{
- if (set_mouse_acceleration(factor) == B_OK)
- fSettings.accel.accel_factor = factor;
- else
- fprintf(stderr, "error when set_mouse_acceleration\n");
-}
-
-
-uint32
-MouseSettings::Mapping(int32 index) const
-{
- return fSettings.map.button[index];
-}
-
-
-void
-MouseSettings::Mapping(mouse_map &map) const
-{
- map = fSettings.map;
-}
-
-
-void
-MouseSettings::SetMapping(int32 index, uint32 button)
-{
- fSettings.map.button[index] = button;
- if (set_mouse_map(&fSettings.map) != B_OK)
- fprintf(stderr, "error when set_mouse_map\n");
-}
-
-
-void
-MouseSettings::SetMapping(mouse_map &map)
-{
- if (set_mouse_map(&map) == B_OK)
- fSettings.map = map;
- else
- fprintf(stderr, "error when set_mouse_map\n");
-}
-
-
-void
-MouseSettings::SetMouseMode(mode_mouse mode)
-{
- set_mouse_mode(mode);
- fMode = mode;
-}
-
-
-void
-MouseSettings::SetFocusFollowsMouseMode(mode_focus_follows_mouse mode)
-{
- set_focus_follows_mouse_mode(mode);
- fFocusFollowsMouseMode = mode;
-}
-
-
-void
-MouseSettings::SetAcceptFirstClick(bool accept_first_click)
-{
- set_accept_first_click(accept_first_click);
- fAcceptFirstClick = accept_first_click;
-}
-
diff --git a/src/preferences/mouse/MouseSettings.h
b/src/preferences/mouse/MouseSettings.h
deleted file mode 100644
index d5d1c80..0000000
--- a/src/preferences/mouse/MouseSettings.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2003-2009 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Brecht Machiels (brecht@xxxxxxxxxxx)
- */
-#ifndef MOUSE_SETTINGS_H
-#define MOUSE_SETTINGS_H
-
-
-#include <InterfaceDefs.h>
-#include <Point.h>
-#include <SupportDefs.h>
-
-#include "kb_mouse_settings.h"
-
-
-class BPath;
-
-class MouseSettings {
-public:
- MouseSettings();
- ~MouseSettings();
-
- void Revert();
- bool IsRevertable();
- void Defaults();
- bool IsDefaultable();
- void Dump();
-
- BPoint WindowPosition() const { return fWindowPosition; }
- void SetWindowPosition(BPoint corner);
-
- int32 MouseType() const { return fSettings.type; }
- void SetMouseType(int32 type);
-
- bigtime_t ClickSpeed() const;
- void SetClickSpeed(bigtime_t click_speed);
-
- int32 MouseSpeed() const { return fSettings.accel.speed; }
- void SetMouseSpeed(int32 speed);
-
- int32 AccelerationFactor() const { return
fSettings.accel.accel_factor; }
- void SetAccelerationFactor(int32 factor);
-
- uint32 Mapping(int32 index) const;
- void Mapping(mouse_map &map) const;
- void SetMapping(int32 index, uint32 button);
- void SetMapping(mouse_map &map);
-
- mode_mouse MouseMode() const { return fMode; }
- void SetMouseMode(mode_mouse mode);
-
- mode_focus_follows_mouse FocusFollowsMouseMode() const {
- return fFocusFollowsMouseMode;
- }
- void SetFocusFollowsMouseMode(mode_focus_follows_mouse mode);
-
- bool AcceptFirstClick() const { return fAcceptFirstClick; }
- void SetAcceptFirstClick(bool accept_first_click);
-
-private:
- static status_t _GetSettingsPath(BPath &path);
- void _RetrieveSettings();
- status_t _SaveSettings();
-
- mouse_settings fSettings, fOriginalSettings;
- mode_mouse fMode, fOriginalMode;
- mode_focus_follows_mouse fFocusFollowsMouseMode;
- mode_focus_follows_mouse fOriginalFocusFollowsMouseMode;
- bool fAcceptFirstClick,
fOriginalAcceptFirstClick;
- BPoint fWindowPosition;
-};
-
-#endif // MOUSE_SETTINGS_H
diff --git a/src/preferences/mouse/MouseView.cpp
b/src/preferences/mouse/MouseView.cpp
deleted file mode 100644
index 4a28bf5..0000000
--- a/src/preferences/mouse/MouseView.cpp
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Copyright 2003-2015 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Philippe Saint-Pierre stpere@xxxxxxxxx
- */
-
-
-#include "MouseView.h"
-
-#include <algorithm>
-
-#include <Box.h>
-#include <Button.h>
-#include <Debug.h>
-#include <GradientLinear.h>
-#include <GradientRadial.h>
-#include <MenuField.h>
-#include <MenuItem.h>
-#include <PopUpMenu.h>
-#include <Region.h>
-#include <Shape.h>
-#include <Slider.h>
-#include <TextControl.h>
-#include <TranslationUtils.h>
-#include <TranslatorFormats.h>
-#include <Window.h>
-
-#include "MouseConstants.h"
-#include "MouseSettings.h"
-#include "MouseWindow.h"
-
-
-static const int32 kButtonTop = 3;
-static const int32 kMouseDownWidth = 72;
-static const int32 kMouseDownHeight = 35;
-
-static const int32 kOneButtonOffsets[4]
- = { 0, kMouseDownWidth };
-static const int32 kTwoButtonOffsets[4]
- = { 0, kMouseDownWidth / 2, kMouseDownWidth };
-static const int32 kThreeButtonOffsets[4]
- = { 0, kMouseDownWidth / 3 + 1, kMouseDownWidth / 3 * 2,
kMouseDownWidth };
-
-static const rgb_color kButtonTextColor = { 0, 0, 0, 255 };
-static const rgb_color kMouseShadowColor = { 100, 100, 100, 128 };
-static const rgb_color kMouseBodyTopColor = { 0xed, 0xed, 0xed, 255 };
-static const rgb_color kMouseBodyBottomColor = { 0x85, 0x85, 0x85, 255 };
-static const rgb_color kMouseOutlineColor = { 0x51, 0x51, 0x51, 255 };
-static const rgb_color kMouseButtonOutlineColor = { 0xa0, 0xa0, 0xa0, 255 };
-static const rgb_color kButtonPressedColor = { 110, 110, 110, 110 };
-
-
-static const int32*
-getButtonOffsets(int32 type)
-{
- switch (type) {
- case 1:
- return kOneButtonOffsets;
- case 2:
- return kTwoButtonOffsets;
- case 3:
- default:
- return kThreeButtonOffsets;
- }
-}
-
-
-static uint32
-getMappingNumber(int32 mapping)
-{
- switch (mapping) {
- case B_PRIMARY_MOUSE_BUTTON:
- return 0;
- case B_SECONDARY_MOUSE_BUTTON:
- return 1;
- case B_TERTIARY_MOUSE_BUTTON:
- return 2;
- }
- return 0;
-}
-
-
-// #pragma mark -
-
-
-MouseView::MouseView(const MouseSettings &settings)
- :
- BView("mouse_view", B_PULSE_NEEDED | B_WILL_DRAW),
- fSettings(settings),
- fType(-1),
- fButtons(0),
- fOldButtons(0)
-{
- SetEventMask(B_POINTER_EVENTS, B_NO_POINTER_HISTORY);
- fScaling = std::max(1.0f, be_plain_font->Size() / 12.0f);
-}
-
-
-MouseView::~MouseView()
-{
-}
-
-
-void
-MouseView::SetMouseType(int32 type)
-{
- fType = type;
- Invalidate();
-}
-
-
-void
-MouseView::MouseMapUpdated()
-{
- Invalidate();
-}
-
-
-void
-MouseView::UpdateFromSettings()
-{
- SetMouseType(fSettings.MouseType());
-}
-
-
-void
-MouseView::GetPreferredSize(float* _width, float* _height)
-{
- if (_width != NULL)
- *_width = fScaling * (kMouseDownWidth + 2);
- if (_height != NULL)
- *_height = fScaling * 104;
-}
-
-
-void
-MouseView::AttachedToWindow()
-{
- AdoptParentColors();
-
- UpdateFromSettings();
- _CreateButtonsPicture();
-
- font_height fontHeight;
- GetFontHeight(&fontHeight);
- fDigitHeight = int32(ceilf(fontHeight.ascent) +
ceilf(fontHeight.descent));
- fDigitBaseline = int32(ceilf(fontHeight.ascent));
-}
-
-
-void
-MouseView::MouseUp(BPoint)
-{
- fButtons = 0;
- Invalidate(_ButtonsRect());
- fOldButtons = fButtons;
-}
-
-
-void
-MouseView::MouseDown(BPoint where)
-{
- BMessage *mouseMsg = Window()->CurrentMessage();
- fButtons = mouseMsg->FindInt32("buttons");
- int32 modifiers = mouseMsg->FindInt32("modifiers");
- if (modifiers & B_CONTROL_KEY) {
- if (modifiers & B_COMMAND_KEY)
- fButtons = B_TERTIARY_MOUSE_BUTTON;
- else
- fButtons = B_SECONDARY_MOUSE_BUTTON;
- }
-
- // Get the current clipping region before requesting any updates.
- // Otherwise those parts would be excluded from the region.
- BRegion clipping;
- GetClippingRegion(&clipping);
-
- if (fOldButtons != fButtons) {
- Invalidate(_ButtonsRect());
- fOldButtons = fButtons;
- }
-
- const int32* offset = getButtonOffsets(fType);
- int32 button = -1;
- for (int32 i = 0; i <= fType; i++) {
- if (_ButtonRect(offset, i).Contains(where)) {
- button = i;
- break;
- }
- }
- if (button < 0)
- return;
-
- // We are setup to receive all mouse events, even if our window
- // is not active, so make sure that we don't display the menu when
- // the user clicked inside our view, but another window is on top.
- if (clipping.Contains(where)) {
- button = _ConvertFromVisualOrder(button);
-
- BPopUpMenu menu("Mouse Map Menu");
- BMessage message(kMsgMouseMap);
- message.AddInt32("button", button);
-
- menu.AddItem(new BMenuItem("1", new BMessage(message)));
- menu.AddItem(new BMenuItem("2", new BMessage(message)));
- menu.AddItem(new BMenuItem("3", new BMessage(message)));
-
- menu.ItemAt(getMappingNumber(fSettings.Mapping(button)))
- ->SetMarked(true);
- menu.SetTargetForItems(Window());
-
- ConvertToScreen(&where);
- menu.Go(where, true);
- }
-}
-
-
-void
-MouseView::Draw(BRect updateFrame)
-{
- SetDrawingMode(B_OP_ALPHA);
- SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY);
- SetScale(fScaling * 1.8);
-
- BShape mouseShape;
- mouseShape.MoveTo(BPoint(16, 12));
- // left
- BPoint control[3] = { BPoint(12, 16), BPoint(8, 64), BPoint(32, 64) };
- mouseShape.BezierTo(control);
- // right
- BPoint control2[3] = { BPoint(56, 64), BPoint(52, 16), BPoint(48, 12) };
- mouseShape.BezierTo(control2);
- // top
- BPoint control3[3] = { BPoint(44, 8), BPoint(20, 8), BPoint(16, 12) };
- mouseShape.BezierTo(control3);
- mouseShape.Close();
-
- // Draw the shadow
- SetOrigin(-17 * fScaling, -11 * fScaling);
- SetHighColor(kMouseShadowColor);
- FillShape(&mouseShape, B_SOLID_HIGH);
-
- // Draw the body
- SetOrigin(-21 * fScaling, -14 * fScaling);
- BGradientRadial bodyGradient(28, 24, 128);
- bodyGradient.AddColor(kMouseBodyTopColor, 0);
- bodyGradient.AddColor(kMouseBodyBottomColor, 255);
-
- FillShape(&mouseShape, bodyGradient);
-
- // Draw the outline
- SetPenSize(1 / 1.8 / fScaling);
- SetDrawingMode(B_OP_OVER);
- SetHighColor(kMouseOutlineColor);
-
- StrokeShape(&mouseShape, B_SOLID_HIGH);
-
- // bottom button border
- BShape buttonsOutline;
- buttonsOutline.MoveTo(BPoint(13, 27));
- BPoint control4[] = { BPoint(18, 30), BPoint(46, 30), BPoint(51, 27) };
- buttonsOutline.BezierTo(control4);
-
- SetHighColor(kMouseButtonOutlineColor);
- StrokeShape(&buttonsOutline, B_SOLID_HIGH);
-
- SetScale(1);
- SetOrigin(0, 0);
-
- // Separator between the buttons
- const int32* offset = getButtonOffsets(fType);
- for (int32 i = 1; i < fType; i++) {
- BRect buttonRect = _ButtonRect(offset, i);
- StrokeLine(buttonRect.LeftTop(), buttonRect.LeftBottom());
- }
-
- mouse_map map;
- fSettings.Mapping(map);
-
- SetDrawingMode(B_OP_OVER);
-
- if (fButtons != 0)
- ClipToPicture(&fButtonsPicture, B_ORIGIN, false);
-
- for (int32 i = 0; i < fType; i++) {
- // draw mapping number centered over the button
-
- bool pressed = (fButtons &
map.button[_ConvertFromVisualOrder(i)]) != 0;
- // is button currently pressed?
- if (pressed) {
- SetDrawingMode(B_OP_ALPHA);
- SetHighColor(kButtonPressedColor);
- FillRect(_ButtonRect(offset, i));
- }
-
- BRect border(fScaling * (offset[i] + 1), fScaling * (kButtonTop
+ 5),
- fScaling * offset[i + 1] - 1,
- fScaling * (kButtonTop + kMouseDownHeight - 4));
- if (i == 0)
- border.left += fScaling * 5;
- if (i == fType - 1)
- border.right -= fScaling * 4;
-
- char number[2] = {0};
- number[0] =
getMappingNumber(map.button[_ConvertFromVisualOrder(i)])
- + '1';
-
- SetDrawingMode(B_OP_OVER);
- SetHighColor(kButtonTextColor);
- DrawString(number, BPoint(
- border.left + (border.Width() - StringWidth(number)) /
2,
- border.top + fDigitBaseline
- + (border.IntegerHeight() - fDigitHeight) / 2));
- }
-
- if (fButtons != 0)
- ClipToPicture(NULL);
-}
-
-
-BRect
-MouseView::_ButtonsRect() const
-{
- return BRect(0, fScaling * kButtonTop, fScaling * kMouseDownWidth,
- fScaling * (kButtonTop + kMouseDownHeight));
-}
-
-
-BRect
-MouseView::_ButtonRect(const int32* offsets, int index) const
-{
- return BRect(fScaling * offsets[index], fScaling * kButtonTop,
- fScaling * offsets[index + 1] - 1,
- fScaling * (kButtonTop + kMouseDownHeight));
-}
-
-
-int32
-MouseView::_ConvertFromVisualOrder(int32 i)
-{
- if (fType < 3)
- return i;
-
- switch (i) {
- case 0:
- default:
- return 0;
- case 1:
- return 2;
- case 2:
- return 1;
- }
-}
-
-
-void
-MouseView::_CreateButtonsPicture()
-{
- BeginPicture(&fButtonsPicture);
- SetScale(1.8 * fScaling);
- SetOrigin(-21 * fScaling, -14 * fScaling);
-
- BShape mouseShape;
- mouseShape.MoveTo(BPoint(48, 12));
- // top
- BPoint control3[3] = { BPoint(44, 8), BPoint(20, 8), BPoint(16, 12) };
- mouseShape.BezierTo(control3);
- // left
- BPoint control[3] = { BPoint(12, 16), BPoint(13, 27), BPoint(13, 27) };
- mouseShape.BezierTo(control);
- // bottom
- BPoint control4[] = { BPoint(18, 30), BPoint(46, 30), BPoint(51, 27) };
- mouseShape.BezierTo(control4);
- // right
- BPoint control2[3] = { BPoint(51, 27), BPoint(50, 14), BPoint(48, 12) };
- mouseShape.BezierTo(control2);
-
- mouseShape.Close();
-
- SetHighColor(255, 0, 0, 255);
- FillShape(&mouseShape, B_SOLID_HIGH);
-
- EndPicture();
- SetScale(1);
-}
diff --git a/src/preferences/mouse/MouseView.h
b/src/preferences/mouse/MouseView.h
deleted file mode 100644
index fd5097b..0000000
--- a/src/preferences/mouse/MouseView.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2003-2015 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- */
-#ifndef MOUSE_VIEW_H
-#define MOUSE_VIEW_H
-
-
-#include <Bitmap.h>
-#include <Picture.h>
-#include <PopUpMenu.h>
-#include <View.h>
-
-
-class MouseSettings;
-
-class MouseView : public BView {
-public:
- MouseView(const
MouseSettings& settings);
- virtual ~MouseView();
-
- void SetMouseType(int32
type);
- void MouseMapUpdated();
- void UpdateFromSettings();
-
- virtual void GetPreferredSize(float* _width,
float* _height);
- virtual void AttachedToWindow();
- virtual void MouseUp(BPoint where);
- virtual void MouseDown(BPoint where);
- virtual void Draw(BRect frame);
-
-private:
- BRect _ButtonsRect() const;
- BRect _ButtonRect(const
int32* offsets,
- int
index) const;
- int32
_ConvertFromVisualOrder(int32 button);
- void _CreateButtonsPicture();
-
-private:
- typedef BView inherited;
-
- const MouseSettings& fSettings;
-
- BPicture fButtonsPicture;
- int32 fDigitBaseline;
- int32 fDigitHeight;
- float fScaling;
-
- int32 fType;
- uint32 fButtons;
- uint32 fOldButtons;
-};
-
-
-#endif /* MOUSE_VIEW_H */
diff --git a/src/preferences/mouse/MouseWindow.cpp
b/src/preferences/mouse/MouseWindow.cpp
deleted file mode 100644
index 4ce29a8..0000000
--- a/src/preferences/mouse/MouseWindow.cpp
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright 2003-2014 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Brecht Machiels (brecht@xxxxxxxxxxx)
- */
-
-#include <Alert.h>
-#include <Application.h>
-#include <Button.h>
-#include <Catalog.h>
-#include <CheckBox.h>
-#include <Debug.h>
-#include <LayoutBuilder.h>
-#include <Locale.h>
-#include <Menu.h>
-#include <MenuField.h>
-#include <MenuItem.h>
-#include <Message.h>
-#include <Screen.h>
-#include <SeparatorView.h>
-#include <Slider.h>
-
-#include "MouseWindow.h"
-#include "MouseConstants.h"
-#include "SettingsView.h"
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "MouseWindow"
-
-MouseWindow::MouseWindow(BRect _rect)
- :
- BWindow(_rect, B_TRANSLATE_SYSTEM_NAME("Mouse"), B_TITLED_WINDOW,
- B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS
- | B_AUTO_UPDATE_SIZE_LIMITS)
-{
- // Add the main settings view
- fSettingsView = new SettingsView(fSettings);
-
- // Add the "Default" button
- fDefaultsButton = new BButton(B_TRANSLATE("Defaults"),
- new BMessage(kMsgDefaults));
- fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
- // Add the "Revert" button
- fRevertButton = new BButton(B_TRANSLATE("Revert"),
- new BMessage(kMsgRevert));
- fRevertButton->SetEnabled(false);
-
- SetPulseRate(100000);
- // we are using the pulse rate to scan pressed mouse
- // buttons and draw the selected imagery
-
- // Build the layout
- BLayoutBuilder::Group<>(this, B_VERTICAL)
- .AddGroup(B_HORIZONTAL)
- .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
- B_USE_WINDOW_SPACING, 0)
- .Add(fSettingsView)
- .End()
- .Add(new BSeparatorView(B_HORIZONTAL))
- .AddGroup(B_HORIZONTAL)
- .SetInsets(B_USE_WINDOW_SPACING, 0,
B_USE_WINDOW_SPACING,
- B_USE_WINDOW_SPACING)
- .Add(fDefaultsButton)
- .Add(fRevertButton)
- .AddGlue()
- .End();
-
- // check if the window is on screen
- BRect rect = BScreen().Frame();
- rect.InsetBySelf(20, 20);
-
- BPoint position = fSettings.WindowPosition();
- BRect windowFrame = Frame().OffsetToSelf(position);
- if (!rect.Contains(windowFrame)) {
- // center window on screen as it doesn't fit on the saved
position
- position.x = (rect.Width() - windowFrame.Width()) / 2;
- position.y = (rect.Height() - windowFrame.Height()) / 2;
- if (position.x < 0)
- position.x = 0;
- if (position.y < 0)
- position.y = 15;
- }
- MoveTo(position);
-}
-
-
-bool
-MouseWindow::QuitRequested()
-{
- fSettings.SetWindowPosition(Frame().LeftTop());
- be_app->PostMessage(B_QUIT_REQUESTED);
-
- return true;
-}
-
-
-void
-MouseWindow::MessageReceived(BMessage* message)
-{
- switch (message->what) {
- case kMsgDefaults: {
- // reverts to default settings
- fSettings.Defaults();
- fSettingsView->UpdateFromSettings();
-
- fDefaultsButton->SetEnabled(false);
- fRevertButton->SetEnabled(fSettings.IsRevertable());
- break;
- }
-
- case kMsgRevert: {
- // revert to last settings
- fSettings.Revert();
- fSettingsView->UpdateFromSettings();
-
- fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
- fRevertButton->SetEnabled(false);
- break;
- }
-
- case kMsgMouseType:
- {
- int32 type;
- if (message->FindInt32("index", &type) == B_OK) {
- fSettings.SetMouseType(++type);
- fSettingsView->SetMouseType(type);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
- }
- break;
- }
-
- case kMsgMouseFocusMode:
- {
- int32 mode;
- if (message->FindInt32("mode", &mode) == B_OK) {
- fSettings.SetMouseMode((mode_mouse)mode);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
-
fSettingsView->fFocusFollowsMouseMenu->SetEnabled(
- mode == B_FOCUS_FOLLOWS_MOUSE);
- fSettingsView->fAcceptFirstClickBox->SetEnabled(
- mode != B_FOCUS_FOLLOWS_MOUSE);
- }
- break;
- }
-
- case kMsgFollowsMouseMode:
- {
- int32 mode;
- if (message->FindInt32("mode_focus_follows_mouse",
&mode)
- == B_OK) {
- fSettings.SetFocusFollowsMouseMode(
- (mode_focus_follows_mouse)mode);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
- }
- break;
- }
-
- case kMsgAcceptFirstClick:
- {
- BHandler *handler;
- if (message->FindPointer("source",
- reinterpret_cast<void**>(&handler)) == B_OK) {
- bool acceptFirstClick = false;
- BCheckBox *acceptFirstClickBox =
- dynamic_cast<BCheckBox*>(handler);
- if (acceptFirstClickBox)
- acceptFirstClick =
acceptFirstClickBox->Value()
- == B_CONTROL_ON;
- fSettings.SetAcceptFirstClick(acceptFirstClick);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
- }
- break;
- }
-
- case kMsgDoubleClickSpeed:
- {
- int32 value;
- if (message->FindInt32("be:value", &value) == B_OK) {
- // slow = 1000000, fast = 0
- fSettings.SetClickSpeed(value * 1000);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
- }
- break;
- }
-
- case kMsgMouseSpeed:
- {
- int32 value;
- if (message->FindInt32("be:value", &value) == B_OK) {
- // slow = 8192, fast = 524287
- fSettings.SetMouseSpeed((int32)pow(2,
- value * 6.0 / 1000) * 8192);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
- }
- break;
- }
-
- case kMsgAccelerationFactor:
- {
- int32 value;
- if (message->FindInt32("be:value", &value) == B_OK) {
- // slow = 0, fast = 262144
- fSettings.SetAccelerationFactor((int32)pow(
- value * 4.0 / 1000, 2) * 16384);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
- }
- break;
- }
-
- case kMsgMouseMap:
- {
- int32 index;
- int32 button;
- if (message->FindInt32("index", &index) == B_OK
- && message->FindInt32("button", &button) ==
B_OK) {
- int32 mapping = B_PRIMARY_MOUSE_BUTTON;
- switch (index) {
- case 1:
- mapping =
B_SECONDARY_MOUSE_BUTTON;
- break;
- case 2:
- mapping =
B_TERTIARY_MOUSE_BUTTON;
- break;
- }
-
- fSettings.SetMapping(button, mapping);
-
fDefaultsButton->SetEnabled(fSettings.IsDefaultable());
-
fRevertButton->SetEnabled(fSettings.IsRevertable());
- fSettingsView->MouseMapUpdated();
- }
- break;
- }
-
- default:
- BWindow::MessageReceived(message);
- break;
- }
-}
-
diff --git a/src/preferences/mouse/MouseWindow.h
b/src/preferences/mouse/MouseWindow.h
deleted file mode 100644
index c1d271a..0000000
--- a/src/preferences/mouse/MouseWindow.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2003-2009 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Brecht Machiels (brecht@xxxxxxxxxxx)
- */
-#ifndef MOUSE_WINDOW_H
-#define MOUSE_WINDOW_H
-
-
-#include <Box.h>
-#include <Button.h>
-#include <Window.h>
-
-#include "MouseSettings.h"
-
-
-class SettingsView;
-
-class MouseWindow : public BWindow {
-public:
- MouseWindow(BRect rect);
-
- virtual bool QuitRequested();
- virtual void MessageReceived(BMessage *message);
-
-private:
- MouseSettings fSettings;
- BButton *fDefaultsButton;
- BButton *fRevertButton;
- SettingsView *fSettingsView;
- BBox *fSettingsBox;
-};
-
-#endif /* MOUSE_WINDOW_H */
diff --git a/src/preferences/mouse/SettingsView.cpp
b/src/preferences/mouse/SettingsView.cpp
deleted file mode 100644
index fdb9b27..0000000
--- a/src/preferences/mouse/SettingsView.cpp
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Copyright 2003-2014 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Brecht Machiels (brecht@xxxxxxxxxxx)
- */
-
-
-#include "SettingsView.h"
-
-#include <Bitmap.h>
-#include <Box.h>
-#include <Button.h>
-#include <Catalog.h>
-#include <Debug.h>
-#include <InterfaceDefs.h>
-#include <LayoutBuilder.h>
-#include <Locale.h>
-#include <MenuField.h>
-#include <MenuItem.h>
-#include <PopUpMenu.h>
-#include <SeparatorView.h>
-#include <Slider.h>
-#include <TextControl.h>
-#include <TranslationUtils.h>
-#include <Window.h>
-
-#include "MouseConstants.h"
-#include "MouseSettings.h"
-#include "MouseView.h"
-
-
-static int32
-mouse_mode_to_index(mode_mouse mode)
-{
- switch (mode) {
- case B_NORMAL_MOUSE:
- default:
- return 0;
- case B_CLICK_TO_FOCUS_MOUSE:
- return 1;
- case B_FOCUS_FOLLOWS_MOUSE:
- return 2;
- }
-}
-
-
-static int32
-focus_follows_mouse_mode_to_index(mode_focus_follows_mouse mode)
-{
- switch (mode) {
- case B_NORMAL_FOCUS_FOLLOWS_MOUSE:
- default:
- return 0;
- case B_WARP_FOCUS_FOLLOWS_MOUSE:
- return 1;
- case B_INSTANT_WARP_FOCUS_FOLLOWS_MOUSE:
- return 2;
- }
-}
-
-
-// #pragma mark -
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "SettingsView"
-
-SettingsView::SettingsView(MouseSettings& settings)
- : BBox("main_view"),
- fSettings(settings)
-{
- // Add the "Mouse Type" pop up menu
- fTypeMenu = new BPopUpMenu("unknown");
- fTypeMenu->AddItem(new BMenuItem(B_TRANSLATE("1-Button"),
- new BMessage(kMsgMouseType)));
- fTypeMenu->AddItem(new BMenuItem(B_TRANSLATE("2-Button"),
- new BMessage(kMsgMouseType)));
- fTypeMenu->AddItem(new BMenuItem(B_TRANSLATE("3-Button"),
- new BMessage(kMsgMouseType)));
-
- BMenuField* typeField = new BMenuField(B_TRANSLATE("Mouse type:"),
- fTypeMenu);
- typeField->SetAlignment(B_ALIGN_LEFT);
-
- // Create the "Double-click speed slider...
- fClickSpeedSlider = new BSlider("double_click_speed",
- B_TRANSLATE("Double-click speed"), new
BMessage(kMsgDoubleClickSpeed),
- 0, 1000, B_HORIZONTAL);
- fClickSpeedSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fClickSpeedSlider->SetHashMarkCount(7);
-
- // Create the "Mouse Speed" slider...
- fMouseSpeedSlider = new BSlider("mouse_speed", B_TRANSLATE("Mouse
speed"),
- new BMessage(kMsgMouseSpeed), 0, 1000, B_HORIZONTAL);
- fMouseSpeedSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fMouseSpeedSlider->SetHashMarkCount(7);
-
- // Create the "Mouse Acceleration" slider...
- fAccelerationSlider = new BSlider("mouse_acceleration",
- B_TRANSLATE("Mouse acceleration"),
- new BMessage(kMsgAccelerationFactor), 0, 1000, B_HORIZONTAL);
- fAccelerationSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fAccelerationSlider->SetHashMarkCount(7);
-
- // Mouse image...
- fMouseView = new MouseView(fSettings);
-
- // Create the "Double-click test area" text box...
- const char* label = B_TRANSLATE("Double-click test area");
- BTextControl* doubleClickTextControl = new BTextControl(NULL,
- label, NULL);
- doubleClickTextControl->SetAlignment(B_ALIGN_LEFT, B_ALIGN_CENTER);
- doubleClickTextControl->SetExplicitMinSize(
- BSize(StringWidth(label), B_SIZE_UNSET));
-
- // Add the "Mouse focus mode" pop up menu
- fFocusMenu = new BPopUpMenu(B_TRANSLATE("Click to focus and raise"));
-
- const char *focusLabels[] = {B_TRANSLATE_MARK("Click to focus and
raise"),
- B_TRANSLATE_MARK("Click to focus"),
- B_TRANSLATE_MARK("Focus follows mouse")};
- const mode_mouse focusModes[] = {B_NORMAL_MOUSE, B_CLICK_TO_FOCUS_MOUSE,
-
B_FOCUS_FOLLOWS_MOUSE};
-
- for (int i = 0; i < 3; i++) {
- BMessage* message = new BMessage(kMsgMouseFocusMode);
- message->AddInt32("mode", focusModes[i]);
-
- fFocusMenu->AddItem(new
BMenuItem(B_TRANSLATE_NOCOLLECT(focusLabels[i]),
- message));
- }
-
- BMenuField* focusField = new BMenuField(B_TRANSLATE("Focus mode:"),
- fFocusMenu);
- focusField->SetAlignment(B_ALIGN_LEFT);
-
- // Add the "Focus follows mouse mode" pop up menu
- fFocusFollowsMouseMenu = new BPopUpMenu(B_TRANSLATE("Normal"));
-
- const char *focusFollowsMouseLabels[] = {B_TRANSLATE_MARK("Normal"),
- B_TRANSLATE_MARK("Warp"), B_TRANSLATE_MARK("Instant warp")};
- const mode_focus_follows_mouse focusFollowsMouseModes[]
- = {B_NORMAL_FOCUS_FOLLOWS_MOUSE, B_WARP_FOCUS_FOLLOWS_MOUSE,
- B_INSTANT_WARP_FOCUS_FOLLOWS_MOUSE};
-
- for (int i = 0; i < 3; i++) {
- BMessage* message = new BMessage(kMsgFollowsMouseMode);
- message->AddInt32("mode_focus_follows_mouse",
- focusFollowsMouseModes[i]);
-
- fFocusFollowsMouseMenu->AddItem(new BMenuItem(
- B_TRANSLATE_NOCOLLECT(focusFollowsMouseLabels[i]),
message));
- }
-
- BMenuField* focusFollowsMouseField = new BMenuField(
- "Focus follows mouse mode:", fFocusFollowsMouseMenu);
- focusFollowsMouseField->SetAlignment(B_ALIGN_RIGHT);
-
- // Add the "Click-through" check box
- fAcceptFirstClickBox = new BCheckBox(B_TRANSLATE("Accept first click"),
- new BMessage(kMsgAcceptFirstClick));
-
- // Build the layout
-
- // Layout is :
- // A | B
- // -----
- // C
-
- BLayoutBuilder::Group<>(this, B_VERTICAL, B_USE_DEFAULT_SPACING)
- // Horizontal : A|B
- .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING)
-
- // Vertical block A: mouse type/view/test
- .AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING)
- .AddGroup(B_HORIZONTAL, 0)
- .AddGlue()
- .Add(typeField)
- .AddGlue()
- .End()
- .AddGlue()
- .AddGroup(B_HORIZONTAL, 0)
- .AddGlue()
- .Add(fMouseView)
- .AddGlue()
- .End()
- .AddGlue()
- .Add(doubleClickTextControl)
- .End()
- .Add(new BSeparatorView(B_VERTICAL))
-
- // Vertical block B: speed settings
- .AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING, 3)
- .AddGroup(B_HORIZONTAL, 0)
- .Add(fClickSpeedSlider)
- .End()
- .AddGroup(B_HORIZONTAL, 0)
- .Add(fMouseSpeedSlider)
- .End()
- .AddGroup(B_HORIZONTAL, 0)
- .Add(fAccelerationSlider)
- .End()
- .End()
- .End()
- .AddStrut(B_USE_DEFAULT_SPACING)
-
- // Horizontal Block C: focus mode
- .AddGroup(B_HORIZONTAL, B_USE_SMALL_SPACING)
- .Add(focusField)
- .AddGlue()
- .AddGroup(B_VERTICAL, 0)
- .Add(fAcceptFirstClickBox)
- .End()
- .End();
-
- SetBorder(B_NO_BORDER);
-}
-
-
-SettingsView::~SettingsView()
-{
-
-}
-
-
-void
-SettingsView::AttachedToWindow()
-{
- UpdateFromSettings();
-
-
-}
-
-
-void
-SettingsView::SetMouseType(int32 type)
-{
- fMouseView->SetMouseType(type);
-}
-
-
-void
-SettingsView::MouseMapUpdated()
-{
- fMouseView->MouseMapUpdated();
-}
-
-
-void
-SettingsView::UpdateFromSettings()
-{
- int32 value = int32(fSettings.ClickSpeed() / 1000);
- // slow = 1000000, fast = 0
- fClickSpeedSlider->SetValue(value);
-
- value = int32((log(fSettings.MouseSpeed() / 8192.0) / log(2)) * 1000 /
6);
- // slow = 8192, fast = 524287
- fMouseSpeedSlider->SetValue(value);
-
- value = int32(sqrt(fSettings.AccelerationFactor() / 16384.0) * 1000 /
4);
- // slow = 0, fast = 262144
- fAccelerationSlider->SetValue(value);
-
- BMenuItem* item = fTypeMenu->ItemAt(fSettings.MouseType() - 1);
- if (item != NULL)
- item->SetMarked(true);
-
- fMouseView->SetMouseType(fSettings.MouseType());
-
- item = fFocusMenu->ItemAt(mouse_mode_to_index(fSettings.MouseMode()));
- if (item != NULL)
- item->SetMarked(true);
-
- item = fFocusFollowsMouseMenu->ItemAt(
-
focus_follows_mouse_mode_to_index(fSettings.FocusFollowsMouseMode()));
- if (item != NULL)
- item->SetMarked(true);
-
- fFocusFollowsMouseMenu->SetEnabled(fSettings.MouseMode()
- == B_FOCUS_FOLLOWS_MOUSE);
-
- fAcceptFirstClickBox->SetValue(fSettings.AcceptFirstClick()
- ? B_CONTROL_ON : B_CONTROL_OFF);
- fAcceptFirstClickBox->SetEnabled(fSettings.MouseMode()
- != B_FOCUS_FOLLOWS_MOUSE);
-}
-
diff --git a/src/preferences/mouse/SettingsView.h
b/src/preferences/mouse/SettingsView.h
deleted file mode 100644
index 598ae08..0000000
--- a/src/preferences/mouse/SettingsView.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2003-2009 Haiku Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Jérôme Duval,
- * Axel Dörfler (axeld@xxxxxxxxxxxxxxxx)
- * Andrew McCall (mccall@xxxxxxxxxxxxxxxxxxxxx)
- * Brecht Machiels (brecht@xxxxxxxxxxx)
- */
-#ifndef SETTINGS_VIEW_H
-#define SETTINGS_VIEW_H
-
-
-#include <Box.h>
-#include <Bitmap.h>
-#include <Button.h>
-#include <CheckBox.h>
-#include <Slider.h>
-#include <PopUpMenu.h>
-
-
-class MouseSettings;
-class MouseView;
-
-
-class SettingsView : public BBox {
- public:
- SettingsView(MouseSettings &settings);
- virtual ~SettingsView();
-
- virtual void AttachedToWindow();
-
- void SetMouseType(int32 type);
- void MouseMapUpdated();
- void UpdateFromSettings();
-
- private:
- friend class MouseWindow;
-
- typedef BBox inherited;
-
- const MouseSettings &fSettings;
-
- BPopUpMenu* fTypeMenu;
- BPopUpMenu* fFocusMenu;
- BPopUpMenu* fFocusFollowsMouseMenu;
- BCheckBox* fAcceptFirstClickBox;
- MouseView* fMouseView;
- BSlider* fClickSpeedSlider;
- BSlider* fMouseSpeedSlider;
- BSlider* fAccelerationSlider;
-};
-
-#endif /* SETTINGS_VIEW_H */
diff --git a/src/preferences/touchpad/Jamfile b/src/preferences/touchpad/Jamfile
deleted file mode 100644
index c6c9a45..0000000
--- a/src/preferences/touchpad/Jamfile
+++ /dev/null
@@ -1,18 +0,0 @@
-SubDir HAIKU_TOP src preferences touchpad ;
-
-UsePrivateHeaders input ;
-
-Preference Touchpad :
- TouchpadPref.cpp
- TouchpadPrefView.cpp
- main.cpp
- : be [ TargetLibsupc++ ] localestub
- : Touchpad.rdef
- ;
-
-DoCatalogs Touchpad :
- x-vnd.Haiku-Touchpad
- :
- TouchpadPrefView.cpp
- main.cpp
-;
diff --git a/src/preferences/touchpad/Touchpad.rdef
b/src/preferences/touchpad/Touchpad.rdef
deleted file mode 100644
index 962796b..0000000
--- a/src/preferences/touchpad/Touchpad.rdef
+++ /dev/null
@@ -1,246 +0,0 @@
-
-resource app_signature "application/x-vnd.Haiku-Touchpad";
-
-resource app_name_catalog_entry "x-vnd.Haiku-Touchpad:System name:Touchpad";
-
-resource app_flags B_SINGLE_LAUNCH;
-
-resource app_version {
- major = 1,
- middle = 0,
- minor = 0,
-
- /* 0 = development 1 = alpha 2 = beta
- 3 = gamma 4 = golden master 5 = final */
- variety = 2,
-
- internal = 0,
-
- short_info = "Touchpad",
- long_info = "Touchpad ©2002-2009 Haiku"
-};
-
-resource vector_icon {
- $"6E6369660804016E0501020006023C67322F27DFB19BC13EBF7049ECF347B011"
- $"00E9ECF0FFAAB5BE0200060239FD3736EBD9BACFE23DD7074A5DFE48B6640084"
- $"96A3FF86A7BE020006033A061C3A03E4BED2853ED5A04B5372461D6F00BFCBD6"
- $"77D8E3EBFFAAB5BE0200060336E53E3693C0BD68493DD4084BB36248EBAC00D5"
- $"E7F6B47A98AEFF96A9B90200060237DFA0368620B6CBC53825414A24904B0B5F"
- $"00F3F3F3FFB8CBDB020002023CDA6E34E581B61D283E151248B8A9472070004F"
- $"617106FFFFFFFFEB080A045C3B5E3C475844580A043E334F39394E27450A0422"
- $"453A5153383E300606AE0B4456BFCFC6F3C096C757BEFEC68B3C52C3E0C1334E"
- $"45C4A7C1675046C64BC2B306032E4456BFCFC6F3C096C757BEFEC68B3C520605"
- $"EA0244563C52C3E0C1334E45C4A7C1675046C64BC2B30606BA0EC493C0805638"
- $"C9A6BC8AC912BC59CA44BCBF5C3AC6FEC201C606C10BC6D2C171C550C0B00802"
- $"3B364B3D080A000100000A01030206051001178422040A020101000A04020102"
- $"000A030201071001178100040A070101100215820004178100040A0502030600"
- $"0A06010400"
-};
-
-resource(601, "double_click_bmap") #'bits' array {
- $"424D06070000000000003A000000280000000E0000001E000000010018000000"
- $"0000CC060000130B0000130B00000000000000000000FFFFFFFFD8D8D8000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"00D8D8D800000000008080808080808080808080808080808080808080808080"
- $"808080808080808080808080800000000000000000B8B8B8FFFFFFB8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880808000000000000000"
- $"00B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B88080800000000000000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B88080800000000000000000B8B8B8FFFFFFB8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8808080000000"
- $"0000000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B87F7F7F0000000000000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B88080800000000000000000B8B8B8"
- $"FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B88080"
- $"800000000000000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B88080800000000000000000B8B8B8FFFFFFFFFFFFFFFF"
- $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80808000000000000000"
- $"0080808080808080808080808080808080808080808080808080808080808080"
- $"80808080800000000000000000B8B8B8FFFFFFB8B8B8B8B8B8C0C0C0808080FF"
- $"FFFFC0C0C0B8B8B8B8B8B8B8B8B88080800000000000000000B8B8B8FFFFFFB8"
- $"B8B8B8B8B8C0C0C0808080FFFFFFC0C0C0B8B8B8B8B8B8B8B8B8808080000000"
- $"0000000000B8B8B8FFFFFFB8B8B8B8B8B8C0C0C0808080FFFFFFC0C0C0B8B8B8"
- $"B8B8B8B8B8B88080800000000000000000B8B8B8FFFFFFFFFFFFFFFFFFFFFFFF"
- $"808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080800000000000000000B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8808080B8B8B8B8B8B8B8B8B8B8B8B8B8B8B88080"
- $"800000000000D8D8D80000000000000000000000000000005858580000000000"
- $"00000000000000000000000000D8D8D80000D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8000000000000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D80000D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D80000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D80000D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"0000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D80000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"989898D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D80000D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8989898989898989898D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D80000D8D8D8D8D8D8D8D8D8D8D8D89898989898989898989898989898"
- $"98D8D8D8D8D8D8D8D8D8D8D8D8D8D8D80000D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8989898D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D80000D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8989898989898989898D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D80000D8D8D8D8D8D8D8D8D8D8D8D898989898989898989898"
- $"9898989898D8D8D8D8D8D8D8D8D8D8D8D8D8D8D80000D8D8D8D8D8D8D8D8D898"
- $"9898989898989898989898989898989898989898D8D8D8D8D8D8D8D8D8D8D8D8"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"000000000000"
-};
-
-resource(602, "speed_bmap") #'bits' array {
- $"424DE8080000000000003A000000280000001900000016000000010018000000"
- $"0000AE080000130B0000130B00000000000000000000FFFFFFFFD8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D800D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D800000000000000000000000000000000000000000000"
- $"0000000000000000000000000000D8D8D800D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800000080808080808080808080"
- $"808080808080808080808080808080808080808080808080808000000000D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800"
- $"0000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFF"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B88080800000"
- $"0000D8D8D8D8D8D8D8D8D8989898D8D8D8989898989898989898989898D8D8D8"
- $"D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8"
- $"B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880"
- $"808000000000989898D8D8D89898989898989898989898989898989898989898"
- $"98D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B87F7F7F00000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880808000000000D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800"
- $"0000B8B8B8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
- $"FFFFFF80808000000000D8D8D8D8D8D8D8D8D8989898D8D8D898989898989898"
- $"9898989898D8D8D8D8D8D8000000808080808080808080808080808080808080"
- $"80808080808080808080808080808080808000000000D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFF"
- $"B8B8B8B8B8B8C0C0C0808080FFFFFFC0C0C0B8B8B8B8B8B8B8B8B88080800000"
- $"0000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8C0C0C0808080FFFFFFC0C0C0B8B8"
- $"B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8C0C0"
- $"C0808080FFFFFFC0C0C0B8B8B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8"
- $"B8FFFFFFFFFFFFFFFFFFFFFFFF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80"
- $"808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8000000B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8808080B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800000000000000000000"
- $"0000000000585858000000000000000000000000000000000000D8D8D800D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000000000000000D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D800D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D800000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000000000000000"
-};
-
-resource(603, "acceleration_bmap") #'bits' array {
- $"424D83080000000000003A000000280000001900000015000000010018000000"
- $"000049080000130B0000130B00000000F8410000F841FFFFFFFFD8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D80000"
- $"0000000000000000000000000000000000000000000000000000000000000000"
- $"0000D8D8D800D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D800000080808080808080808080808080808080808080808080"
- $"808080808080808080808080808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880808000000000D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800"
- $"0000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D898"
- $"9898D8D8D8989898989898989898989898D8D8D8D8D8D8000000B8B8B8FFFFFF"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B88080800000"
- $"0000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B87F7F7F00000000989898D8D8D8"
- $"989898989898989898989898989898989898989898D8D8D8D8D8D8000000B8B8"
- $"B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880"
- $"808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8B8B8B8B8B8B8B8B8B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B87F7F7F00000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFFFFFFFFF"
- $"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80808000000000D8D8"
- $"D8D8D8D8D8D8D8989898D8D8D8989898989898989898989898D8D8D8D8D8D800"
- $"0000808080808080808080808080808080808080808080808080808080808080"
- $"80808080808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8C0C0C0808080"
- $"FFFFFFC0C0C0B8B8B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFF"
- $"B8B8B8B8B8B8C0C0C0808080FFFFFFC0C0C0B8B8B8B8B8B8B8B8B88080800000"
- $"0000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8000000B8B8B8FFFFFFB8B8B8B8B8B8C0C0C0808080FFFFFFC0C0C0B8B8"
- $"B8B8B8B8B8B8B880808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8B8FFFFFFFFFFFFFFFFFFFFFF"
- $"FF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80808000000000D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000B8B8"
- $"B8B8B8B8B8B8B8B8B8B8B8B8B8808080B8B8B8B8B8B8B8B8B8B8B8B8B8B8B880"
- $"808000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D800000000000000000000000000000058585800000000"
- $"0000000000000000000000000000D8D8D800D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8000000000000000000D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D800D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8000000"
- $"D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D8D800000090413D3D3DFF0000"
- $"80420000984100008042000008423D0000FF0000804200000C42000080420000"
- $"4842003D00FF0000804200004C42000080420000844200003DFF000082420000"
- $"004000008242000090413E3E3EFF000082420000984100008242000008423E00"
- $"00FF0000824200000C420000824200004842003E00FF0000824200004C420000"
- $"82420000844200003EFF000084420000004000008442000090413F3F3FFF0000"
- $"84420000984100008442000008423F0000FF0000844200000C42000084420000"
- $"4842003F00FF0000844200004C42000084420000844200003FFF000086420000"
- $"00400000864200009041404040FF000086420000984100008642000008424000"
- $"00FF0000864200000C420000864200004842004000FF0000864200004C420000"
- $"864200008442000040FF00008842000000400000884200009041414141FF0000"
- $"8842000098410000884200000842410000FF0000884200000C42000088420000"
- $"4842004100FF0000884200004C420000884200008442000041FF00008A420000"
- $"004000008A4200009041424242FF00008A420000984100008A42000008424200"
- $"00FF00008A4200000C4200008A4200004842004200FF00008A4200004C420000"
- $"8A4200008442000042FF00008C420000004000008C4200009041434343FF0000"
- $"8C420000984100008C4200000842430000FF00008C4200000C4200008C420000"
- $"484200"
-};
-
diff --git a/src/preferences/touchpad/TouchpadPref.cpp
b/src/preferences/touchpad/TouchpadPref.cpp
deleted file mode 100644
index eaca174..0000000
--- a/src/preferences/touchpad/TouchpadPref.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright 2008-2010, Haiku, Inc.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Clemens Zeidler (haiku@xxxxxxxxxxxxxxxxxx)
- */
-
-
-#include "TouchpadPref.h"
-
-#include <List.h>
-#include <FindDirectory.h>
-#include <File.h>
-#include <String.h>
-
-#include <keyboard_mouse_driver.h>
-
-
-TouchpadPref::TouchpadPref()
-{
- fConnected = false;
- // default center position
- fWindowPosition.x = -1;
- fWindowPosition.y = -1;
-
- ConnectToTouchPad();
-
- if (LoadSettings() != B_OK)
- Defaults();
-
- fStartSettings = fSettings;
-}
-
-
-TouchpadPref::~TouchpadPref()
-{
- if (fConnected)
- delete fTouchPad;
-
- SaveSettings();
-}
-
-
-void
-TouchpadPref::Revert()
-{
- fSettings = fStartSettings;
-}
-
-
-status_t
-TouchpadPref::UpdateSettings()
-{
- if (!fConnected)
- return B_ERROR;
-
- LOG("UpdateSettings of device %s\n", fTouchPad->Name());
-
- BMessage msg;
- msg.AddBool("scroll_twofinger", fSettings.scroll_twofinger);
- msg.AddBool("scroll_twofinger_horizontal",
- fSettings.scroll_twofinger_horizontal);
- msg.AddFloat("scroll_rightrange", fSettings.scroll_rightrange);
- msg.AddFloat("scroll_bottomrange", fSettings.scroll_bottomrange);
- msg.AddInt16("scroll_xstepsize", fSettings.scroll_xstepsize);
- msg.AddInt16("scroll_ystepsize", fSettings.scroll_ystepsize);
- msg.AddInt8("scroll_acceleration", fSettings.scroll_acceleration);
- msg.AddInt8("tapgesture_sensibility", fSettings.tapgesture_sensibility);
-
- return fTouchPad->Control(MS_SET_TOUCHPAD_SETTINGS, &msg);
-}
-
-
-void
-TouchpadPref::Defaults()
-{
- fSettings = kDefaultTouchpadSettings;
-}
-
-
-status_t
-TouchpadPref::GetSettingsPath(BPath &path)
-{
- status_t status = find_directory(B_USER_SETTINGS_DIRECTORY, &path);
- if (status < B_OK)
- return status;
-
- return path.Append(TOUCHPAD_SETTINGS_FILE);
-}
-
-
-status_t
-TouchpadPref::LoadSettings()
-{
- BPath path;
- status_t status = GetSettingsPath(path);
- if (status != B_OK)
- return status;
-
- BFile settingsFile(path.Path(), B_READ_ONLY);
- status = settingsFile.InitCheck();
- if (status != B_OK)
- return status;
-
- if (settingsFile.Read(&fSettings, sizeof(touchpad_settings))
- != sizeof(touchpad_settings)) {
- LOG("failed to load settings\n");
- return B_ERROR;
- }
-
- if (settingsFile.Read(&fWindowPosition, sizeof(BPoint))
- != sizeof(BPoint)) {
- LOG("failed to load settings\n");
- return B_ERROR;
- }
-
- return B_OK;
-}
-
-
-status_t
-TouchpadPref::SaveSettings()
-{
- BPath path;
- status_t status = GetSettingsPath(path);
- if (status != B_OK)
- return status;
-
- BFile settingsFile(path.Path(), B_READ_WRITE | B_CREATE_FILE);
- status = settingsFile.InitCheck();
- if (status != B_OK)
- return status;
-
- if (settingsFile.Write(&fSettings, sizeof(touchpad_settings))
- != sizeof(touchpad_settings)) {
- LOG("can't save settings\n");
- return B_ERROR;
- }
-
- if (settingsFile.Write(&fWindowPosition, sizeof(BPoint))
- != sizeof(BPoint)) {
- LOG("can't save window position\n");
- return B_ERROR;
- }
-
- return B_OK;
-}
-
-
-status_t
-TouchpadPref::ConnectToTouchPad()
-{
- BList devList;
- status_t status = get_input_devices(&devList);
- if (status != B_OK)
- return status;
-
- int32 i = 0;
- while (true) {
- BInputDevice* dev = (BInputDevice*)devList.ItemAt(i);
- if (dev == NULL)
- break;
- i++;
-
- LOG("input device %s\n", dev->Name());
-
- BString name = dev->Name();
-
- if (name.FindFirst("Touchpad") >= 0
- && dev->Type() == B_POINTING_DEVICE
- && !fConnected) {
- fConnected = true;
- fTouchPad = dev;
- // Don't bail out here, since we need to delete the
other devices
- // yet.
- } else {
- delete dev;
- }
- }
- if (fConnected)
- return B_OK;
-
- LOG("touchpad input device NOT found\n");
- return B_ENTRY_NOT_FOUND;
-}
diff --git a/src/preferences/touchpad/TouchpadPref.h
b/src/preferences/touchpad/TouchpadPref.h
deleted file mode 100644
index b25018b..0000000
--- a/src/preferences/touchpad/TouchpadPref.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2008-2009, Haiku, Inc.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Clemens Zeidler (haiku@xxxxxxxxxxxxxxxxxx)
- */
-#ifndef TOUCHPAD_PREF_H
-#define TOUCHPAD_PREF_H
-
-
-#include <Debug.h>
-
-#include "touchpad_settings.h"
-#include <Input.h>
-#include <Path.h>
-
-#if DEBUG
-# define LOG(text...) PRINT((text))
-#else
-# define LOG(text...)
-#endif
-
-
-class TouchpadPref {
-public:
- TouchpadPref();
- ~TouchpadPref();
-
- void Revert();
- void Defaults();
-
- BPoint WindowPosition()
- {
return fWindowPosition; }
- void
SetWindowPosition(BPoint position)
- {
fWindowPosition = position; }
-
- touchpad_settings& Settings()
- {
return fSettings; }
- bool IsTouchpadConnected()
- {
return fConnected; }
- status_t UpdateSettings();
-
-private:
- status_t GetSettingsPath(BPath&
path);
- status_t LoadSettings();
- status_t SaveSettings();
-
- status_t ConnectToTouchPad();
-
- bool fConnected;
- BInputDevice* fTouchPad;
-
- touchpad_settings fSettings;
- touchpad_settings fStartSettings;
- BPoint fWindowPosition;
-};
-
-
-#endif // TOUCHPAD_PREF_H
diff --git a/src/preferences/touchpad/TouchpadPrefView.cpp
b/src/preferences/touchpad/TouchpadPrefView.cpp
deleted file mode 100644
index ba96442..0000000
--- a/src/preferences/touchpad/TouchpadPrefView.cpp
+++ /dev/null
@@ -1,511 +0,0 @@
-/*
- * Copyright 2008-2014 Haiku, Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * John Scipione, jscipione@xxxxxxxxx
- * Clemens Zeidler, haiku@xxxxxxxxxxxxxxxxxx
- */
-
-
-#include "TouchpadPrefView.h"
-
-#include <stdio.h>
-
-#include <Alert.h>
-#include <Box.h>
-#include <Catalog.h>
-#include <CheckBox.h>
-#include <ControlLook.h>
-#include <File.h>
-#include <FindDirectory.h>
-#include <Input.h>
-#include <LayoutBuilder.h>
-#include <Locale.h>
-#include <MenuField.h>
-#include <MenuItem.h>
-#include <Message.h>
-#include <Path.h>
-#include <Screen.h>
-#include <SpaceLayoutItem.h>
-#include <Window.h>
-
-#include <keyboard_mouse_driver.h>
-
-
-const uint32 SCROLL_X_DRAG = 'sxdr';
-const uint32 SCROLL_Y_DRAG = 'sydr';
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "TouchpadPrefView"
-
-
-TouchpadView::TouchpadView(BRect frame)
- :
- BView(frame, "TouchpadView", B_FOLLOW_NONE, B_WILL_DRAW)
-{
- fXTracking = false;
- fYTracking = false;
- fOffScreenView = NULL;
- fOffScreenBitmap = NULL;
-
- fPrefRect = frame;
- fPadRect = fPrefRect;
- fPadRect.InsetBy(10, 10);
- fXScrollRange = fPadRect.Width();
- fYScrollRange = fPadRect.Height();
-
-}
-
-
-TouchpadView::~TouchpadView()
-{
- delete fOffScreenBitmap;
-}
-
-
-void
-TouchpadView::Draw(BRect updateRect)
-{
- DrawSliders();
-}
-
-
-void
-TouchpadView::MouseDown(BPoint point)
-{
- if (fXScrollDragZone.Contains(point)) {
- fXTracking = true;
- fOldXScrollRange = fXScrollRange;
- SetMouseEventMask(B_POINTER_EVENTS, B_LOCK_WINDOW_FOCUS);
- }
-
- if (fYScrollDragZone.Contains(point)) {
- fYTracking = true;
- fOldYScrollRange = fYScrollRange;
- SetMouseEventMask(B_POINTER_EVENTS, B_LOCK_WINDOW_FOCUS);
- }
-}
-
-
-void
-TouchpadView::MouseUp(BPoint point)
-{
- if (!fXTracking && !fYTracking)
- return;
-
- fXTracking = false;
- fYTracking = false;
-
- const float kSoftScrollLimit = 0.7;
-
- int32 result = 0;
- if (GetRightScrollRatio() > kSoftScrollLimit
- || GetBottomScrollRatio() > kSoftScrollLimit) {
- BAlert* alert = new BAlert(B_TRANSLATE("Please confirm"),
- B_TRANSLATE("The new scroll area is very large and may
impede "
- "normal mouse operation. Do you really want to
change it?"),
- B_TRANSLATE("OK"), B_TRANSLATE("Cancel"),
- NULL, B_WIDTH_AS_USUAL, B_WARNING_ALERT);
- alert->SetShortcut(1, B_ESCAPE);
- result = alert->Go();
- }
-
- if (result == 0) {
- BMessage msg(SCROLL_AREA_CHANGED);
- Invoke(&msg);
- } else {
- if (GetRightScrollRatio() > kSoftScrollLimit)
- fXScrollRange = fOldXScrollRange;
- if (GetBottomScrollRatio() > kSoftScrollLimit)
- fYScrollRange = fOldYScrollRange;
- DrawSliders();
- }
-}
-
-
-void
-TouchpadView::AttachedToWindow()
-{
- if (!fOffScreenView)
- fOffScreenView = new BView(Bounds(), "", B_FOLLOW_ALL,
B_WILL_DRAW);
-
- if (!fOffScreenBitmap) {
- fOffScreenBitmap = new BBitmap(Bounds(), B_CMAP8, true, false);
-
- if (fOffScreenBitmap && fOffScreenView)
- fOffScreenBitmap->AddChild(fOffScreenView);
- }
-}
-
-
-void
-TouchpadView::SetValues(float rightRange, float bottomRange)
-{
- fXScrollRange = fPadRect.Width() * (1 - rightRange);
- fYScrollRange = fPadRect.Height() * (1 - bottomRange);
- Invalidate();
-}
-
-
-void
-TouchpadView::GetPreferredSize(float* width, float* height)
-{
- if (width != NULL)
- *width = fPrefRect.Width();
- if (height != NULL)
- *height = fPrefRect.Height();
-}
-
-
-void
-TouchpadView::MouseMoved(BPoint point, uint32 transit, const BMessage* message)
-{
- if (fXTracking) {
- if (point.x > fPadRect.right)
- fXScrollRange = fPadRect.Width();
- else if (point.x < fPadRect.left)
- fXScrollRange = 0;
- else
- fXScrollRange = point.x - fPadRect.left;
-
- DrawSliders();
- }
-
- if (fYTracking) {
- if (point.y > fPadRect.bottom)
- fYScrollRange = fPadRect.Height();
- else if (point.y < fPadRect.top)
- fYScrollRange = 0;
- else
- fYScrollRange = point.y - fPadRect.top;
-
- DrawSliders();
- }
-}
-
-
-
-void
-TouchpadView::DrawSliders()
-{
- BView* view = fOffScreenView != NULL ? fOffScreenView : this;
-
- if (!LockLooper())
- return;
-
- if (fOffScreenBitmap->Lock()) {
- view->SetHighColor(ui_color(B_PANEL_BACKGROUND_COLOR));
- view->FillRect(Bounds());
- view->SetHighColor(100, 100, 100);
- view->FillRoundRect(fPadRect, 4, 4);
-
- int32 dragSize = 3; // half drag size
-
- // scroll areas
- view->SetHighColor(145, 100, 100);
- BRect rightRect(fPadRect.left + fXScrollRange, fPadRect.top,
- fPadRect.right, fPadRect.bottom);
- view->FillRoundRect(rightRect, 4, 4);
-
- BRect bottomRect(fPadRect.left, fPadRect.top + fYScrollRange,
- fPadRect.right, fPadRect.bottom);
- view->FillRoundRect(bottomRect, 4, 4);
-
- // Stroke Rect
- view->SetHighColor(100, 100, 100);
- view->SetPenSize(2);
- view->StrokeRoundRect(fPadRect, 4, 4);
-
- // x scroll range line
- view->SetHighColor(200, 0, 0);
- view->StrokeLine(BPoint(fPadRect.left + fXScrollRange,
fPadRect.top),
- BPoint(fPadRect.left + fXScrollRange, fPadRect.bottom));
-
- fXScrollDragZone = BRect(fPadRect.left + fXScrollRange -
dragSize,
- fPadRect.top - dragSize, fPadRect.left + fXScrollRange
+ dragSize,
- fPadRect.bottom + dragSize);
- fXScrollDragZone1 = BRect(fPadRect.left + fXScrollRange -
dragSize,
- fPadRect.top - dragSize, fPadRect.left + fXScrollRange
+ dragSize,
- fPadRect.top + dragSize);
- view->FillRect(fXScrollDragZone1);
- fXScrollDragZone2 = BRect(fPadRect.left + fXScrollRange -
dragSize,
- fPadRect.bottom - dragSize,
- fPadRect.left + fXScrollRange + dragSize,
- fPadRect.bottom + dragSize);
- view->FillRect(fXScrollDragZone2);
-
- // y scroll range line
- view->StrokeLine(BPoint(fPadRect.left, fPadRect.top +
fYScrollRange),
- BPoint(fPadRect.right, fPadRect.top + fYScrollRange));
-
- fYScrollDragZone = BRect(fPadRect.left - dragSize,
- fPadRect.top + fYScrollRange - dragSize,
- fPadRect.right + dragSize,
- fPadRect.top + fYScrollRange + dragSize);
- fYScrollDragZone1 = BRect(fPadRect.left - dragSize,
- fPadRect.top + fYScrollRange - dragSize, fPadRect.left
+ dragSize,
- fPadRect.top + fYScrollRange + dragSize);
- view->FillRect(fYScrollDragZone1);
- fYScrollDragZone2 = BRect(fPadRect.right - dragSize,
- fPadRect.top + fYScrollRange - dragSize, fPadRect.right
+ dragSize,
- fPadRect.top + fYScrollRange + dragSize);
- view->FillRect(fYScrollDragZone2);
-
- view->Sync();
- fOffScreenBitmap->Unlock();
- DrawBitmap(fOffScreenBitmap, B_ORIGIN);
- }
-
- UnlockLooper();
-}
-
-
-// #pragma mark - TouchpadPrefView
-
-
-TouchpadPrefView::TouchpadPrefView()
- :
- BGroupView()
-{
- SetupView();
- // set view values
- SetValues(&fTouchpadPref.Settings());
- if (fTouchpadPref.IsTouchpadConnected() == false) {
- DisablePref();
- fShowWarning->SetText(B_TRANSLATE("No touchpad found, the
settings "
- "will have no effect."));
- }
- else
- fShowWarning->Hide();
-}
-
-
-TouchpadPrefView::~TouchpadPrefView()
-{
-}
-
-
-void
-TouchpadPrefView::MessageReceived(BMessage* message)
-{
- touchpad_settings& settings = fTouchpadPref.Settings();
-
- switch (message->what) {
- case SCROLL_AREA_CHANGED:
- settings.scroll_rightrange =
fTouchpadView->GetRightScrollRatio();
- settings.scroll_bottomrange =
fTouchpadView->GetBottomScrollRatio();
- fRevertButton->SetEnabled(true);
- fTouchpadPref.UpdateSettings();
- break;
-
- case SCROLL_CONTROL_CHANGED:
- settings.scroll_twofinger = fTwoFingerBox->Value() ==
B_CONTROL_ON;
- settings.scroll_twofinger_horizontal
- = fTwoFingerHorizontalBox->Value() ==
B_CONTROL_ON;
- settings.scroll_acceleration =
fScrollAccelSlider->Value();
- settings.scroll_xstepsize = (20 -
fScrollStepXSlider->Value()) * 3;
- settings.scroll_ystepsize = (20 -
fScrollStepYSlider->Value()) * 3;
- fRevertButton->SetEnabled(true);
-
fTwoFingerHorizontalBox->SetEnabled(settings.scroll_twofinger);
- fTouchpadPref.UpdateSettings();
- break;
-
- case TAP_CONTROL_CHANGED:
- settings.tapgesture_sensibility = fTapSlider->Value();
- fRevertButton->SetEnabled(true);
- fTouchpadPref.UpdateSettings();
- break;
-
- case DEFAULT_SETTINGS:
- fTouchpadPref.Defaults();
- fRevertButton->SetEnabled(true);
- fTouchpadPref.UpdateSettings();
- SetValues(&settings);
- break;
-
- case REVERT_SETTINGS:
- fTouchpadPref.Revert();
- fTouchpadPref.UpdateSettings();
- fRevertButton->SetEnabled(false);
- SetValues(&settings);
- break;
-
- default:
- BView::MessageReceived(message);
- }
-}
-
-
-void
-TouchpadPrefView::AttachedToWindow()
-{
- fTouchpadView->SetTarget(this);
- fTwoFingerBox->SetTarget(this);
- fTwoFingerHorizontalBox->SetTarget(this);
- fScrollStepXSlider->SetTarget(this);
- fScrollStepYSlider->SetTarget(this);
- fScrollAccelSlider->SetTarget(this);
- fTapSlider->SetTarget(this);
- fDefaultButton->SetTarget(this);
- fRevertButton->SetTarget(this);
- BSize size = PreferredSize();
- Window()->ResizeTo(size.width, size.height);
-
- BPoint position = fTouchpadPref.WindowPosition();
- // center window on screen if it had a bad position
- if (position.x < 0 && position.y < 0)
- Window()->CenterOnScreen();
- else
- Window()->MoveTo(position);
-}
-
-
-void
-TouchpadPrefView::DetachedFromWindow()
-{
- fTouchpadPref.SetWindowPosition(Window()->Frame().LeftTop());
-}
-
-
-void
-TouchpadPrefView::SetupView()
-{
- SetLayout(new BGroupLayout(B_VERTICAL));
- BBox* scrollBox = new BBox("Touchpad");
- scrollBox->SetLabel(B_TRANSLATE("Scrolling"));
-
- fTouchpadView = new TouchpadView(BRect(0, 0, 130, 120));
- fTouchpadView->SetExplicitMaxSize(BSize(130, 120));
-
- // Create the "Mouse Speed" slider...
- fScrollAccelSlider = new BSlider("scroll_accel",
- B_TRANSLATE("Acceleration"),
- new BMessage(SCROLL_CONTROL_CHANGED), 0, 20, B_HORIZONTAL);
- fScrollAccelSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fScrollAccelSlider->SetHashMarkCount(7);
- fScrollAccelSlider->SetLimitLabels(B_TRANSLATE("Slow"),
- B_TRANSLATE("Fast"));
- fScrollAccelSlider->SetExplicitMinSize(BSize(150, B_SIZE_UNSET));
-
- fScrollStepXSlider = new BSlider("scroll_stepX",
- B_TRANSLATE("Horizontal"),
- new BMessage(SCROLL_CONTROL_CHANGED),
- 0, 20, B_HORIZONTAL);
- fScrollStepXSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fScrollStepXSlider->SetHashMarkCount(7);
- fScrollStepXSlider->SetLimitLabels(B_TRANSLATE("Slow"),
- B_TRANSLATE("Fast"));
-
- fScrollStepYSlider = new BSlider("scroll_stepY",
- B_TRANSLATE("Vertical"),
- new BMessage(SCROLL_CONTROL_CHANGED), 0, 20, B_HORIZONTAL);
- fScrollStepYSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fScrollStepYSlider->SetHashMarkCount(7);
- fScrollStepYSlider->SetLimitLabels(B_TRANSLATE("Slow"),
- B_TRANSLATE("Fast"));
-
- fTwoFingerBox = new BCheckBox(B_TRANSLATE("Two finger scrolling"),
- new BMessage(SCROLL_CONTROL_CHANGED));
- fTwoFingerHorizontalBox = new BCheckBox(
- B_TRANSLATE("Horizontal scrolling"),
- new BMessage(SCROLL_CONTROL_CHANGED));
-
- float spacing = be_control_look->DefaultItemSpacing();
-
- BView* scrollPrefLeftLayout
- = BLayoutBuilder::Group<>(B_VERTICAL, 0)
- .Add(fTouchpadView)
- .AddStrut(spacing)
- .Add(fTwoFingerBox)
- .AddGroup(B_HORIZONTAL, 0)
- .AddStrut(spacing * 2)
- .Add(fTwoFingerHorizontalBox)
- .End()
- .AddGlue()
- .View();
-
- BGroupView* scrollPrefRightLayout = new BGroupView(B_VERTICAL);
- scrollPrefRightLayout->AddChild(fScrollAccelSlider);
- scrollPrefRightLayout->AddChild(fScrollStepXSlider);
- scrollPrefRightLayout->AddChild(fScrollStepYSlider);
-
- BGroupLayout* scrollPrefLayout = new BGroupLayout(B_HORIZONTAL);
- scrollPrefLayout->SetSpacing(spacing);
- scrollPrefLayout->SetInsets(spacing,
- scrollBox->TopBorderOffset() * 2 + spacing, spacing, spacing);
- scrollBox->SetLayout(scrollPrefLayout);
-
- scrollPrefLayout->AddView(scrollPrefLeftLayout);
- scrollPrefLayout->AddItem(BSpaceLayoutItem::CreateVerticalStrut(spacing
- * 1.5));
- scrollPrefLayout->AddView(scrollPrefRightLayout);
-
- BBox* tapBox = new BBox("tapbox");
- tapBox->SetLabel(B_TRANSLATE("Tapping"));
-
- BGroupLayout* tapPrefLayout = new BGroupLayout(B_HORIZONTAL);
- tapPrefLayout->SetInsets(spacing, tapBox->TopBorderOffset() * 2 +
spacing,
- spacing, spacing);
- tapBox->SetLayout(tapPrefLayout);
-
- fTapSlider = new BSlider("tap_sens", B_TRANSLATE("Sensitivity"),
- new BMessage(TAP_CONTROL_CHANGED), 0, spacing * 2,
B_HORIZONTAL);
- fTapSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
- fTapSlider->SetHashMarkCount(7);
- fTapSlider->SetLimitLabels(B_TRANSLATE("Off"), B_TRANSLATE("High"));
-
- tapPrefLayout->AddView(fTapSlider);
-
- fDefaultButton = new BButton(B_TRANSLATE("Defaults"),
- new BMessage(DEFAULT_SETTINGS));
-
- fRevertButton = new BButton(B_TRANSLATE("Revert"),
- new BMessage(REVERT_SETTINGS));
- fRevertButton->SetEnabled(false);
-
- fShowWarning = new BStringView("warning", "");
-
- BLayoutBuilder::Group<>(this, B_VERTICAL)
- .SetInsets(B_USE_WINDOW_SPACING)
- .Add(fShowWarning)
- .Add(scrollBox)
- .Add(tapBox)
- .AddGroup(B_HORIZONTAL)
- .Add(fDefaultButton)
- .Add(fRevertButton)
- .AddGlue()
- .End()
- .End();
-}
-
-
-void
-TouchpadPrefView::SetValues(touchpad_settings* settings)
-{
- fTouchpadView->SetValues(settings->scroll_rightrange,
- settings->scroll_bottomrange);
- fTwoFingerBox->SetValue(settings->scroll_twofinger
- ? B_CONTROL_ON : B_CONTROL_OFF);
- fTwoFingerHorizontalBox->SetValue(settings->scroll_twofinger_horizontal
- ? B_CONTROL_ON : B_CONTROL_OFF);
- fTwoFingerHorizontalBox->SetEnabled(settings->scroll_twofinger);
- fScrollStepXSlider->SetValue(20 - settings->scroll_xstepsize / 2);
- fScrollStepYSlider->SetValue(20 - settings->scroll_ystepsize / 2);
- fScrollAccelSlider->SetValue(settings->scroll_acceleration);
- fTapSlider->SetValue(settings->tapgesture_sensibility);
-}
-
-
-void
-TouchpadPrefView::DisablePref()
-{
- fTwoFingerBox->SetEnabled(false);
- fTwoFingerHorizontalBox->SetEnabled(false);
- fRevertButton->SetEnabled(false);
- fDefaultButton->SetEnabled(false);
- fTapSlider->SetEnabled(false);
- fScrollAccelSlider->SetEnabled(false);
- fScrollStepXSlider->SetEnabled(false);
- fScrollStepYSlider->SetEnabled(false);
-}
diff --git a/src/preferences/touchpad/TouchpadPrefView.h
b/src/preferences/touchpad/TouchpadPrefView.h
deleted file mode 100644
index 81483ae..0000000
--- a/src/preferences/touchpad/TouchpadPrefView.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2008-2013 Haiku, Inc. All rights reserved.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * John Scipione, jscipione@xxxxxxxxx
- * Clemens Zeidler, haiku@xxxxxxxxxxxxxxxxxx
- */
-#ifndef TOUCHPAD_PREF_VIEW_H
-#define TOUCHPAD_PREF_VIEW_H
-
-
-#include <Bitmap.h>
-#include <Button.h>
-#include <CheckBox.h>
-#include <Invoker.h>
-#include <Slider.h>
-#include <View.h>
-#include <GroupView.h>
-#include <StringView.h>
-
-#include "TouchpadPref.h"
-#include "touchpad_settings.h"
-
-#include <Debug.h>
-
-#if DEBUG
-# define LOG(text...) PRINT((text))
-#else
-# define LOG(text...)
-#endif
-
-const uint SCROLL_AREA_CHANGED = '&sac';
-const uint SCROLL_CONTROL_CHANGED = '&scc';
-const uint TAP_CONTROL_CHANGED = '&tcc';
-const uint DEFAULT_SETTINGS = '&dse';
-const uint REVERT_SETTINGS = '&rse';
-
-
-//! Shows a touchpad
-class TouchpadView : public BView, public BInvoker {
-public:
- TouchpadView(BRect
frame);
- virtual ~TouchpadView();
- virtual void Draw(BRect updateRect);
- virtual void MouseDown(BPoint point);
- virtual void MouseUp(BPoint point);
- virtual void MouseMoved(BPoint point, uint32 transit,
- const BMessage*
dragMessage);
-
- virtual void AttachedToWindow();
- virtual void GetPreferredSize(float* width, float*
height);
-
- void SetValues(float rightRange,
float bottomRange);
- float GetRightScrollRatio()
- { return 1 -
fXScrollRange / fPadRect.Width(); }
- float GetBottomScrollRatio()
- { return 1
- -
fYScrollRange / fPadRect.Height(); }
-private:
- virtual void DrawSliders();
-
- BRect fPrefRect;
- BRect fPadRect;
- BRect fXScrollDragZone;
- BRect fXScrollDragZone1;
- BRect fXScrollDragZone2;
- float fXScrollRange;
- float fOldXScrollRange;
- BRect fYScrollDragZone;
- BRect fYScrollDragZone1;
- BRect fYScrollDragZone2;
- float fYScrollRange;
- float fOldYScrollRange;
-
- bool fXTracking;
- bool fYTracking;
- BView* fOffScreenView;
- BBitmap* fOffScreenBitmap;
-};
-
-
-class TouchpadPrefView : public BGroupView {
-public:
- TouchpadPrefView();
- virtual ~TouchpadPrefView();
- virtual void MessageReceived(BMessage* message);
- virtual void AttachedToWindow();
- virtual void DetachedFromWindow();
- void SetupView();
-
- void SetValues(touchpad_settings
*settings);
-
-private:
- void DisablePref();
-
- TouchpadView* fTouchpadView;
- BCheckBox* fTwoFingerBox;
- BCheckBox* fTwoFingerHorizontalBox;
- BSlider* fScrollStepXSlider;
- BSlider* fScrollStepYSlider;
- BSlider* fScrollAccelSlider;
- BSlider* fTapSlider;
- BButton* fDefaultButton;
- BButton* fRevertButton;
- BStringView* fShowWarning;
-
- TouchpadPref fTouchpadPref;
-};
-
-
-#endif // TOUCHPAD_PREF_VIEW_H
diff --git a/src/preferences/touchpad/main.cpp
b/src/preferences/touchpad/main.cpp
deleted file mode 100644
index 4e1027e..0000000
--- a/src/preferences/touchpad/main.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright 2008-2009, Haiku, Inc.
- * Distributed under the terms of the MIT License.
- *
- * Authors:
- * Clemens Zeidler (haiku@xxxxxxxxxxxxxxxxxx)
- */
-
-
-#include <Application.h>
-#include <Window.h>
-#include <Catalog.h>
-#include <GroupLayout.h>
-#include <GroupLayoutBuilder.h>
-#include <Locale.h>
-
-
-#include "TouchpadPrefView.h"
-
-
-class TouchpadPrefWindow : public BWindow {
-public:
- TouchpadPrefWindow(BRect frame, const char* title, window_type type,
- uint32 flags)
- :
- BWindow(frame, title, type, flags)
- {
- }
-
- virtual bool QuitRequested()
- {
- be_app->PostMessage(B_QUIT_REQUESTED);
- return true;
- }
-};
-
-
-#undef B_TRANSLATION_CONTEXT
-#define B_TRANSLATION_CONTEXT "TouchpadMain"
-
-
-int
-main(int argc, char* argv[])
-{
- BApplication* app = new
BApplication("application/x-vnd.Haiku-Touchpad");
-
- TouchpadPrefWindow* window = new TouchpadPrefWindow(BRect(50, 50, 450,
350),
- B_TRANSLATE_SYSTEM_NAME("Touchpad"), B_TITLED_WINDOW,
- B_NOT_RESIZABLE | B_NOT_ZOOMABLE
- | B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS);
- window->SetLayout(new BGroupLayout(B_HORIZONTAL));
- window->AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
- .Add(new TouchpadPrefView())
- .End()
- .SetInsets(5, 5, 5, 5)
- );
- window->Show();
-
- app->Run();
- delete app;
-
- return 0;
-}
--
To view, visit https://review.haiku-os.org/c/haiku/+/2210
To unsubscribe, or for help writing mail filters, visit
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I4543b2b63367cd13562c542610bad34b5934b103
Gerrit-Change-Number: 2210
Gerrit-PatchSet: 1
Gerrit-Owner: Adrien Destugues <pulkomandy@xxxxxxxxx>
Gerrit-MessageType: newchange