hrev44600 adds 3 changesets to branch 'master' old head: e53f0019b57484c9fe0b24371d9c8520b52af57d new head: 6446fc35823ea31c3bd412a50ead1c4fb0c6d95b ---------------------------------------------------------------------------- 5b60052: Make double scrollbar arrows default to false again. fe855cd: Appearance preflet: Add a double scrollbar arrows setting. Rename the 'Decorators' tab to 'Look and feel'. Fixes #8926. 6446fc3: Rename DecorSettingsView to LookAndFeelSettingsView. [ Ryan Leavengood <leavengood@xxxxxxxxx> ] ---------------------------------------------------------------------------- 6 files changed, 104 insertions(+), 44 deletions(-) src/preferences/appearance/APRWindow.cpp | 20 ++-- src/preferences/appearance/APRWindow.h | 4 +- src/preferences/appearance/Jamfile | 4 +- ...ettingsView.cpp => LookAndFeelSettingsView.cpp} | 100 ++++++++++++---- ...corSettingsView.h => LookAndFeelSettingsView.h} | 18 ++- src/servers/app/DesktopSettings.cpp | 2 +- ############################################################################ Commit: 5b60052cfc0d6505729aab88507e017f66862696 URL: http://cgit.haiku-os.org/haiku/commit/?id=5b60052 Author: Ryan Leavengood <leavengood@xxxxxxxxx> Date: Sun Sep 2 19:11:51 2012 UTC Make double scrollbar arrows default to false again. ---------------------------------------------------------------------------- diff --git a/src/servers/app/DesktopSettings.cpp b/src/servers/app/DesktopSettings.cpp index c983c69..a634905 100644 --- a/src/servers/app/DesktopSettings.cpp +++ b/src/servers/app/DesktopSettings.cpp @@ -57,7 +57,7 @@ DesktopSettingsPrivate::_SetDefaults() // init scrollbar info fScrollBarInfo.proportional = true; - fScrollBarInfo.double_arrows = true; + fScrollBarInfo.double_arrows = false; fScrollBarInfo.knob = 1; // look of the knob (R5: (0, 1, 2), 1 = default) fScrollBarInfo.min_knob_size = 15; ############################################################################ Commit: fe855cd5504348c7c0b688ff64c7930ca2cc78b2 URL: http://cgit.haiku-os.org/haiku/commit/?id=fe855cd Author: Ryan Leavengood <leavengood@xxxxxxxxx> Date: Sun Sep 2 19:14:50 2012 UTC Ticket: https://dev.haiku-os.org/ticket/8926 Appearance preflet: Add a double scrollbar arrows setting. Rename the 'Decorators' tab to 'Look and feel'. Fixes #8926. ---------------------------------------------------------------------------- diff --git a/src/preferences/appearance/APRWindow.cpp b/src/preferences/appearance/APRWindow.cpp index 6006482..1244cab 100644 --- a/src/preferences/appearance/APRWindow.cpp +++ b/src/preferences/appearance/APRWindow.cpp @@ -55,7 +55,7 @@ APRWindow::APRWindow(BRect frame) fColorsView = new APRView(B_TRANSLATE("Colors")); fDecorSettings = new DecorSettingsView( - B_TRANSLATE("Decorators")); + B_TRANSLATE("Look and feel")); fAntialiasingSettings = new AntialiasingSettingsView( B_TRANSLATE("Antialiasing")); diff --git a/src/preferences/appearance/DecorSettingsView.cpp b/src/preferences/appearance/DecorSettingsView.cpp index 711c534..0ba1008 100644 --- a/src/preferences/appearance/DecorSettingsView.cpp +++ b/src/preferences/appearance/DecorSettingsView.cpp @@ -17,8 +17,10 @@ #include <Box.h> #include <Button.h> #include <Catalog.h> +#include <CheckBox.h> #include <GridLayoutBuilder.h> #include <GroupLayoutBuilder.h> +#include <InterfaceDefs.h> #include <Locale.h> #include <MenuField.h> #include <MenuItem.h> @@ -36,6 +38,9 @@ static const int32 kMsgSetDecor = 'deco'; static const int32 kMsgDecorInfo = 'idec'; +static const int32 kMsgDoubleScrollbarArrows = 'dsba'; + +static const bool kDefaultDoubleScrollbarArrowsSetting = false; // #pragma mark - @@ -43,7 +48,11 @@ static const int32 kMsgDecorInfo = 'idec'; DecorSettingsView::DecorSettingsView(const char* name) : - BView(name, 0) + BView(name, 0), + fDecorInfoButton(NULL), + fDecorMenuField(NULL), + fDecorMenu(NULL), + fDoubleScrollbarArrowsCheckBox(NULL) { // Decorator menu _BuildDecorMenu(); @@ -53,6 +62,13 @@ DecorSettingsView::DecorSettingsView(const char* name) fDecorInfoButton = new BButton(B_TRANSLATE("About"), new BMessage(kMsgDecorInfo)); + fDoubleScrollbarArrowsCheckBox = new BCheckBox("doubleScrollbarArrows", + B_TRANSLATE("Use double scrollbar arrows"), + new BMessage(kMsgDoubleScrollbarArrows)); + + fSavedDoubleArrowsValue = _GetDoubleScrollbarArrowsSetting(); + fDoubleScrollbarArrowsCheckBox->SetValue(fSavedDoubleArrowsValue); + SetLayout(new BGroupLayout(B_VERTICAL)); // control layout @@ -61,9 +77,10 @@ DecorSettingsView::DecorSettingsView(const char* name) .Add(fDecorMenuField->CreateMenuBarLayoutItem(), 1, 0) .Add(fDecorInfoButton, 2, 0) - .Add(BSpaceLayoutItem::CreateGlue(), 0, 3, 2) - .SetInsets(10, 10, 10, 10) - ); + .Add(fDoubleScrollbarArrowsCheckBox, 0, 3, 2) + .Add(BSpaceLayoutItem::CreateGlue(), 0, 4, 2) + .SetInsets(10, 10, 10, 10) + ); // TODO : Decorator Preview Image? } @@ -83,6 +100,7 @@ DecorSettingsView::AttachedToWindow() fDecorMenu->SetTargetForItems(this); fDecorInfoButton->SetTarget(this); + fDoubleScrollbarArrowsCheckBox->SetTarget(this); } @@ -125,6 +143,9 @@ DecorSettingsView::MessageReceived(BMessage *msg) break; } + case kMsgDoubleScrollbarArrows: + _SetDoubleScrollbarArrowsSetting(fDoubleScrollbarArrowsCheckBox->Value()); + break; default: BView::MessageReceived(msg); @@ -197,24 +218,53 @@ DecorSettingsView::_AdoptInterfaceToCurrentDecor() } +bool +DecorSettingsView::_GetDoubleScrollbarArrowsSetting() +{ + scroll_bar_info info; + get_scroll_bar_info(&info); + + return info.double_arrows; +} + + +void +DecorSettingsView::_SetDoubleScrollbarArrowsSetting(bool value) +{ + scroll_bar_info info; + get_scroll_bar_info(&info); + + info.double_arrows = value; + set_scroll_bar_info(&info); + + Window()->PostMessage(kMsgUpdate); +} + + void DecorSettingsView::SetDefaults() { _SetDecor(fDecorUtility.DefaultDecorator()); + _SetDoubleScrollbarArrowsSetting(kDefaultDoubleScrollbarArrowsSetting); + fDoubleScrollbarArrowsCheckBox->SetValue( + kDefaultDoubleScrollbarArrowsSetting); } bool DecorSettingsView::IsDefaultable() { - return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name(); + return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name() || + fDoubleScrollbarArrowsCheckBox->Value() != + kDefaultDoubleScrollbarArrowsSetting; } bool DecorSettingsView::IsRevertable() { - return fCurrentDecor != fSavedDecor; + return fCurrentDecor != fSavedDecor || + fDoubleScrollbarArrowsCheckBox->Value() != fSavedDoubleArrowsValue; } @@ -222,4 +272,6 @@ void DecorSettingsView::Revert() { _SetDecor(fSavedDecor); + _SetDoubleScrollbarArrowsSetting(fSavedDoubleArrowsValue); + fDoubleScrollbarArrowsCheckBox->SetValue(fSavedDoubleArrowsValue); } diff --git a/src/preferences/appearance/DecorSettingsView.h b/src/preferences/appearance/DecorSettingsView.h index 520bde2..8110cb5 100644 --- a/src/preferences/appearance/DecorSettingsView.h +++ b/src/preferences/appearance/DecorSettingsView.h @@ -16,6 +16,7 @@ class BButton; +class BCheckBox; class BMenuField; class BPopUpMenu; @@ -40,6 +41,8 @@ private: void _BuildDecorMenu(); void _AdoptToCurrentDecor(); void _AdoptInterfaceToCurrentDecor(); + bool _GetDoubleScrollbarArrowsSetting(); + void _SetDoubleScrollbarArrowsSetting(bool value); private: DecorInfoUtility fDecorUtility; @@ -47,9 +50,11 @@ private: BButton* fDecorInfoButton; BMenuField* fDecorMenuField; BPopUpMenu* fDecorMenu; + BCheckBox* fDoubleScrollbarArrowsCheckBox; BString fSavedDecor; BString fCurrentDecor; + bool fSavedDoubleArrowsValue; }; #endif // DECOR_SETTINGS_VIEW_H ############################################################################ Revision: hrev44600 Commit: 6446fc35823ea31c3bd412a50ead1c4fb0c6d95b URL: http://cgit.haiku-os.org/haiku/commit/?id=6446fc3 Author: Ryan Leavengood <leavengood@xxxxxxxxx> Date: Sun Sep 2 19:30:02 2012 UTC Rename DecorSettingsView to LookAndFeelSettingsView. ---------------------------------------------------------------------------- diff --git a/src/preferences/appearance/APRWindow.cpp b/src/preferences/appearance/APRWindow.cpp index 1244cab..41cedcc 100644 --- a/src/preferences/appearance/APRWindow.cpp +++ b/src/preferences/appearance/APRWindow.cpp @@ -21,7 +21,7 @@ #include "AntialiasingSettingsView.h" #include "APRView.h" -#include "DecorSettingsView.h" +#include "LookAndFeelSettingsView.h" #include "defs.h" #include "FontView.h" @@ -54,7 +54,7 @@ APRWindow::APRWindow(BRect frame) fColorsView = new APRView(B_TRANSLATE("Colors")); - fDecorSettings = new DecorSettingsView( + fLookAndFeelSettings = new LookAndFeelSettingsView( B_TRANSLATE("Look and feel")); fAntialiasingSettings = new AntialiasingSettingsView( @@ -62,7 +62,7 @@ APRWindow::APRWindow(BRect frame) tabView->AddTab(fFontSettings); tabView->AddTab(fColorsView); - tabView->AddTab(fDecorSettings); + tabView->AddTab(fLookAndFeelSettings); tabView->AddTab(fAntialiasingSettings); _UpdateButtons(); @@ -92,7 +92,7 @@ APRWindow::MessageReceived(BMessage *message) fFontSettings->SetDefaults(); fColorsView->SetDefaults(); fAntialiasingSettings->SetDefaults(); - fDecorSettings->SetDefaults(); + fLookAndFeelSettings->SetDefaults(); _UpdateButtons(); break; @@ -101,7 +101,7 @@ APRWindow::MessageReceived(BMessage *message) fColorsView->Revert(); fAntialiasingSettings->Revert(); fFontSettings->Revert(); - fDecorSettings->Revert(); + fLookAndFeelSettings->Revert(); _UpdateButtons(); break; @@ -127,11 +127,11 @@ APRWindow::_IsDefaultable() const // printf("fonts defaultable: %d\n", fFontSettings->IsDefaultable()); // printf("colors defaultable: %d\n", fColorsView->IsDefaultable()); // printf("AA defaultable: %d\n", fAntialiasingSettings->IsDefaultable()); -// printf("decor defaultable: %d\n", fDecorSettings->IsDefaultable()); +// printf("decor defaultable: %d\n", fLookAndFeelSettings->IsDefaultable()); return fColorsView->IsDefaultable() || fFontSettings->IsDefaultable() || fAntialiasingSettings->IsDefaultable() - || fDecorSettings->IsDefaultable(); + || fLookAndFeelSettings->IsDefaultable(); } @@ -141,9 +141,9 @@ APRWindow::_IsRevertable() const // printf("fonts revertable: %d\n", fFontSettings->IsRevertable()); // printf("colors revertable: %d\n", fColorsView->IsRevertable()); // printf("AA revertable: %d\n", fAntialiasingSettings->IsRevertable()); -// printf("decor revertable: %d\n", fDecorSettings->IsRevertable()); +// printf("decor revertable: %d\n", fLookAndFeelSettings->IsRevertable()); return fColorsView->IsRevertable() || fFontSettings->IsRevertable() || fAntialiasingSettings->IsRevertable() - || fDecorSettings->IsRevertable(); + || fLookAndFeelSettings->IsRevertable(); } diff --git a/src/preferences/appearance/APRWindow.h b/src/preferences/appearance/APRWindow.h index ab6f582..1907fc4 100644 --- a/src/preferences/appearance/APRWindow.h +++ b/src/preferences/appearance/APRWindow.h @@ -20,7 +20,7 @@ class APRView; class AntialiasingSettingsView; class FontView; -class DecorSettingsView; +class LookAndFeelSettingsView; class APRWindow : public BWindow { @@ -39,7 +39,7 @@ private: AntialiasingSettingsView* fAntialiasingSettings; FontView* fFontSettings; - DecorSettingsView* fDecorSettings; + LookAndFeelSettingsView* fLookAndFeelSettings; }; diff --git a/src/preferences/appearance/Jamfile b/src/preferences/appearance/Jamfile index 12ade0a..45904f7 100644 --- a/src/preferences/appearance/Jamfile +++ b/src/preferences/appearance/Jamfile @@ -9,7 +9,7 @@ Includes [ FGristFiles AntialiasingSettingsView.cpp ] Preference Appearance : APRMain.cpp AntialiasingSettingsView.cpp - DecorSettingsView.cpp + LookAndFeelSettingsView.cpp FontSelectionView.cpp FontView.cpp APRView.cpp @@ -40,7 +40,7 @@ DoCatalogs Appearance : ColorSet.cpp ColorWell.cpp ColorWhichItem.cpp - DecorSettingsView.cpp + LookAndFeelSettingsView.cpp FontView.cpp FontSelectionView.cpp ; diff --git a/src/preferences/appearance/DecorSettingsView.cpp b/src/preferences/appearance/LookAndFeelSettingsView.cpp similarity index 85% rename from src/preferences/appearance/DecorSettingsView.cpp rename to src/preferences/appearance/LookAndFeelSettingsView.cpp index 0ba1008..5720764 100644 --- a/src/preferences/appearance/DecorSettingsView.cpp +++ b/src/preferences/appearance/LookAndFeelSettingsView.cpp @@ -5,10 +5,11 @@ * Authors: * Alexander von Gluck, kallisti5@xxxxxxxxxxx * Stephan Aßmus <superstippi@xxxxxx> + * Ryan Leavengood <leavengood@xxxxxxxxx> */ -#include "DecorSettingsView.h" +#include "LookAndFeelSettingsView.h" #include <stdio.h> #include <stdlib.h> @@ -34,6 +35,7 @@ #undef B_TRANSLATION_CONTEXT #define B_TRANSLATION_CONTEXT "DecorSettingsView" + // This was not renamed to keep from breaking translations static const int32 kMsgSetDecor = 'deco'; @@ -46,7 +48,7 @@ static const bool kDefaultDoubleScrollbarArrowsSetting = false; // #pragma mark - -DecorSettingsView::DecorSettingsView(const char* name) +LookAndFeelSettingsView::LookAndFeelSettingsView(const char* name) : BView(name, 0), fDecorInfoButton(NULL), @@ -85,13 +87,13 @@ DecorSettingsView::DecorSettingsView(const char* name) } -DecorSettingsView::~DecorSettingsView() +LookAndFeelSettingsView::~LookAndFeelSettingsView() { } void -DecorSettingsView::AttachedToWindow() +LookAndFeelSettingsView::AttachedToWindow() { if (Parent() != NULL) SetViewColor(Parent()->ViewColor()); @@ -105,7 +107,7 @@ DecorSettingsView::AttachedToWindow() void -DecorSettingsView::MessageReceived(BMessage *msg) +LookAndFeelSettingsView::MessageReceived(BMessage *msg) { switch (msg->what) { case kMsgSetDecor: @@ -139,7 +141,7 @@ DecorSettingsView::MessageReceived(BMessage *msg) BAlert *infoAlert = new BAlert(B_TRANSLATE("About Decorator"), infoText.String(), B_TRANSLATE("OK")); infoAlert->SetFlags(infoAlert->Flags() | B_CLOSE_ON_ESCAPE); - infoAlert->Go(); + infoAlert->Go(); break; } @@ -155,7 +157,7 @@ DecorSettingsView::MessageReceived(BMessage *msg) void -DecorSettingsView::_BuildDecorMenu() +LookAndFeelSettingsView::_BuildDecorMenu() { fDecorMenu = new BPopUpMenu(B_TRANSLATE("Choose Decorator")); @@ -184,24 +186,24 @@ DecorSettingsView::_BuildDecorMenu() void -DecorSettingsView::_SetDecor(const BString& name) +LookAndFeelSettingsView::_SetDecor(const BString& name) { _SetDecor(fDecorUtility.FindDecorator(name)); -} +} void -DecorSettingsView::_SetDecor(DecorInfo* decorInfo) +LookAndFeelSettingsView::_SetDecor(DecorInfo* decorInfo) { if (fDecorUtility.SetDecorator(decorInfo) == B_OK) { _AdoptToCurrentDecor(); Window()->PostMessage(kMsgUpdate); } -} +} void -DecorSettingsView::_AdoptToCurrentDecor() +LookAndFeelSettingsView::_AdoptToCurrentDecor() { fCurrentDecor = fDecorUtility.CurrentDecorator()->Name(); if (fSavedDecor.Length() == 0) @@ -210,7 +212,7 @@ DecorSettingsView::_AdoptToCurrentDecor() } void -DecorSettingsView::_AdoptInterfaceToCurrentDecor() +LookAndFeelSettingsView::_AdoptInterfaceToCurrentDecor() { BMenuItem* item = fDecorMenu->FindItem(fCurrentDecor); if (item != NULL) @@ -219,7 +221,7 @@ DecorSettingsView::_AdoptInterfaceToCurrentDecor() bool -DecorSettingsView::_GetDoubleScrollbarArrowsSetting() +LookAndFeelSettingsView::_GetDoubleScrollbarArrowsSetting() { scroll_bar_info info; get_scroll_bar_info(&info); @@ -229,7 +231,7 @@ DecorSettingsView::_GetDoubleScrollbarArrowsSetting() void -DecorSettingsView::_SetDoubleScrollbarArrowsSetting(bool value) +LookAndFeelSettingsView::_SetDoubleScrollbarArrowsSetting(bool value) { scroll_bar_info info; get_scroll_bar_info(&info); @@ -242,7 +244,7 @@ DecorSettingsView::_SetDoubleScrollbarArrowsSetting(bool value) void -DecorSettingsView::SetDefaults() +LookAndFeelSettingsView::SetDefaults() { _SetDecor(fDecorUtility.DefaultDecorator()); _SetDoubleScrollbarArrowsSetting(kDefaultDoubleScrollbarArrowsSetting); @@ -252,7 +254,7 @@ DecorSettingsView::SetDefaults() bool -DecorSettingsView::IsDefaultable() +LookAndFeelSettingsView::IsDefaultable() { return fCurrentDecor != fDecorUtility.DefaultDecorator()->Name() || fDoubleScrollbarArrowsCheckBox->Value() != @@ -261,7 +263,7 @@ DecorSettingsView::IsDefaultable() bool -DecorSettingsView::IsRevertable() +LookAndFeelSettingsView::IsRevertable() { return fCurrentDecor != fSavedDecor || fDoubleScrollbarArrowsCheckBox->Value() != fSavedDoubleArrowsValue; @@ -269,7 +271,7 @@ DecorSettingsView::IsRevertable() void -DecorSettingsView::Revert() +LookAndFeelSettingsView::Revert() { _SetDecor(fSavedDecor); _SetDoubleScrollbarArrowsSetting(fSavedDoubleArrowsValue); diff --git a/src/preferences/appearance/DecorSettingsView.h b/src/preferences/appearance/LookAndFeelSettingsView.h similarity index 79% rename from src/preferences/appearance/DecorSettingsView.h rename to src/preferences/appearance/LookAndFeelSettingsView.h index 8110cb5..3214be3 100644 --- a/src/preferences/appearance/DecorSettingsView.h +++ b/src/preferences/appearance/LookAndFeelSettingsView.h @@ -5,9 +5,10 @@ * Authors: * Alexander von Gluck, kallisti5@xxxxxxxxxxx * Stephan Aßmus <superstippi@xxxxxx> + * Ryan Leavengood <leavengood@xxxxxxxxx> */ -#ifndef DECOR_SETTINGS_VIEW_H -#define DECOR_SETTINGS_VIEW_H +#ifndef LOOK_AND_FEEL_SETTINGS_VIEW_H +#define LOOK_AND_FEEL_SETTINGS_VIEW_H #include <DecorInfo.h> @@ -21,10 +22,10 @@ class BMenuField; class BPopUpMenu; -class DecorSettingsView : public BView { +class LookAndFeelSettingsView : public BView { public: - DecorSettingsView(const char* name); - virtual ~DecorSettingsView(); + LookAndFeelSettingsView(const char* name); + virtual ~LookAndFeelSettingsView(); virtual void AttachedToWindow(); virtual void MessageReceived(BMessage* message); @@ -57,4 +58,4 @@ private: bool fSavedDoubleArrowsValue; }; -#endif // DECOR_SETTINGS_VIEW_H +#endif // LOOK_AND_FEEL_SETTINGS_VIEW_H