Improve/fix tab view layout as discussed

See http://www.freelists.org/post/haiku-development/Unifying-visuals-of-BTabView-usage

Besides the tab bar going the full width of the window, also some
layouting tweaks to several apps and prefs.

Still missing: the first (and last) tabs in the tab bar should be inset by
B_USE_WINDOW_SPACING so the controls in the tab view line up nicely.
I think I remember stippi wanting to look into it... :)
This commit is contained in:
Humdinger
2015-11-07 17:40:24 +01:00
parent 3c5208e439
commit ad926b253a
19 changed files with 160 additions and 168 deletions
+10 -8
View File
@@ -11,6 +11,7 @@
#include <GridLayoutBuilder.h> #include <GridLayoutBuilder.h>
#include <GroupLayout.h> #include <GroupLayout.h>
#include <GroupLayoutBuilder.h> #include <GroupLayoutBuilder.h>
#include <LayoutBuilder.h>
#include <Locale.h> #include <Locale.h>
#include <MenuItem.h> #include <MenuItem.h>
#include <MenuField.h> #include <MenuField.h>
@@ -81,8 +82,6 @@ SettingsWindow::SettingsWindow(BRect frame, SettingsMessage* settings)
| B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE), | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE),
fSettings(settings) fSettings(settings)
{ {
SetLayout(new BGroupLayout(B_VERTICAL));
fApplyButton = new BButton(B_TRANSLATE("Apply"), new BMessage(MSG_APPLY)); fApplyButton = new BButton(B_TRANSLATE("Apply"), new BMessage(MSG_APPLY));
fCancelButton = new BButton(B_TRANSLATE("Cancel"), fCancelButton = new BButton(B_TRANSLATE("Cancel"),
new BMessage(MSG_CANCEL)); new BMessage(MSG_CANCEL));
@@ -92,17 +91,19 @@ SettingsWindow::SettingsWindow(BRect frame, SettingsMessage* settings)
float spacing = be_control_look->DefaultItemSpacing(); float spacing = be_control_look->DefaultItemSpacing();
BTabView* tabView = new BTabView("settings pages", B_WIDTH_FROM_LABEL); BTabView* tabView = new BTabView("settings pages", B_WIDTH_FROM_LABEL);
tabView->SetBorder(B_NO_BORDER);
AddChild(BGroupLayoutBuilder(B_VERTICAL, spacing) BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
.SetInsets(0, B_USE_DEFAULT_SPACING, 0, B_USE_WINDOW_SPACING)
.Add(tabView) .Add(tabView)
.Add(BGroupLayoutBuilder(B_HORIZONTAL, spacing) .Add(new BSeparatorView(B_HORIZONTAL))
.AddGroup(B_HORIZONTAL)
.SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING,
B_USE_WINDOW_SPACING, 0)
.Add(fRevertButton) .Add(fRevertButton)
.AddGlue() .AddGlue()
.Add(fCancelButton) .Add(fCancelButton)
.Add(fApplyButton) .Add(fApplyButton);
)
.SetInsets(spacing, spacing, spacing, spacing)
);
tabView->AddTab(_CreateGeneralPage(spacing)); tabView->AddTab(_CreateGeneralPage(spacing));
tabView->AddTab(_CreateFontsPage(spacing)); tabView->AddTab(_CreateFontsPage(spacing));
@@ -484,6 +485,7 @@ SettingsWindow::_CreateProxyPage(float spacing)
.Add(fProxyPortControl->CreateLabelLayoutItem(), 0, 1) .Add(fProxyPortControl->CreateLabelLayoutItem(), 0, 1)
.Add(fProxyPortControl->CreateTextViewLayoutItem(), 1, 1) .Add(fProxyPortControl->CreateTextViewLayoutItem(), 1, 1)
) )
.Add(BSpaceLayoutItem::CreateVerticalStrut(spacing))
.Add(fUseProxyAuthCheckBox) .Add(fUseProxyAuthCheckBox)
.Add(BGridLayoutBuilder(spacing / 2, spacing / 2) .Add(BGridLayoutBuilder(spacing / 2, spacing / 2)
.Add(fProxyUsernameControl->CreateLabelLayoutItem(), 0, 0) .Add(fProxyUsernameControl->CreateLabelLayoutItem(), 0, 0)
+6 -11
View File
@@ -18,7 +18,7 @@
#include <Directory.h> #include <Directory.h>
#include <Entry.h> #include <Entry.h>
#include <File.h> #include <File.h>
#include <GroupLayoutBuilder.h> #include <LayoutBuilder.h>
#include <Locale.h> #include <Locale.h>
#include <Messenger.h> #include <Messenger.h>
#include <Path.h> #include <Path.h>
@@ -96,18 +96,13 @@ APRView::APRView(const char* name)
fPicker = new BColorControl(B_ORIGIN, B_CELLS_32x8, 8.0, fPicker = new BColorControl(B_ORIGIN, B_CELLS_32x8, 8.0,
"picker", new BMessage(UPDATE_COLOR)); "picker", new BMessage(UPDATE_COLOR));
SetLayout(new BGroupLayout(B_VERTICAL)); BLayoutBuilder::Group<>(this, B_VERTICAL)
.Add(fScrollView, 10.0)
AddChild(BGroupLayoutBuilder(B_VERTICAL, 0) .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING)
.Add(fScrollView)
.Add(BSpaceLayoutItem::CreateVerticalStrut(5))
.Add(BGroupLayoutBuilder(B_HORIZONTAL)
.Add(fColorPreview) .Add(fColorPreview)
.Add(BSpaceLayoutItem::CreateHorizontalStrut(5))
.Add(fPicker) .Add(fPicker)
) .End()
.SetInsets(10, 10, 10, 10) .SetInsets(B_USE_WINDOW_SPACING);
);
fColorPreview->Parent()->SetExplicitMaxSize( fColorPreview->Parent()->SetExplicitMaxSize(
BSize(B_SIZE_UNSET, fPicker->Bounds().Height())); BSize(B_SIZE_UNSET, fPicker->Bounds().Height()));
+7 -2
View File
@@ -16,6 +16,7 @@
#include <LayoutBuilder.h> #include <LayoutBuilder.h>
#include <Locale.h> #include <Locale.h>
#include <Messenger.h> #include <Messenger.h>
#include <SeparatorView.h>
#include <TabView.h> #include <TabView.h>
#include "AntialiasingSettingsView.h" #include "AntialiasingSettingsView.h"
@@ -61,15 +62,19 @@ APRWindow::APRWindow(BRect frame)
tabView->AddTab(fColorsView); tabView->AddTab(fColorsView);
tabView->AddTab(fLookAndFeelSettings); tabView->AddTab(fLookAndFeelSettings);
tabView->AddTab(fAntialiasingSettings); tabView->AddTab(fAntialiasingSettings);
tabView->SetBorder(B_NO_BORDER);
_UpdateButtons(); _UpdateButtons();
BLayoutBuilder::Group<>(this, B_VERTICAL) BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
.SetInsets(B_USE_DEFAULT_SPACING) .SetInsets(0, B_USE_DEFAULT_SPACING, 0, B_USE_DEFAULT_SPACING)
.Add(tabView) .Add(tabView)
.Add(new BSeparatorView(B_HORIZONTAL))
.AddGroup(B_HORIZONTAL) .AddGroup(B_HORIZONTAL)
.Add(fDefaultsButton) .Add(fDefaultsButton)
.Add(fRevertButton) .Add(fRevertButton)
.SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING,
B_USE_DEFAULT_SPACING, 0)
.AddGlue(); .AddGlue();
} }
@@ -16,8 +16,7 @@
#include <Box.h> #include <Box.h>
#include <Catalog.h> #include <Catalog.h>
#include <GridLayoutBuilder.h> #include <LayoutBuilder.h>
#include <GroupLayoutBuilder.h>
#include <Locale.h> #include <Locale.h>
#include <MenuField.h> #include <MenuField.h>
#include <MenuItem.h> #include <MenuItem.h>
@@ -136,10 +135,8 @@ AntialiasingSettingsView::AntialiasingSettingsView(const char* name)
subpixelAntialiasingDisabledLabel->MakeSelectable(false); subpixelAntialiasingDisabledLabel->MakeSelectable(false);
#endif // !FT_CONFIG_OPTION_SUBPIXEL_RENDERING #endif // !FT_CONFIG_OPTION_SUBPIXEL_RENDERING
SetLayout(new BGroupLayout(B_VERTICAL)); BLayoutBuilder::Grid<>(this, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
// controls pane // controls pane
AddChild(BGridLayoutBuilder(10, 10)
.Add(fHintingMenuField->CreateLabelLayoutItem(), 0, 0) .Add(fHintingMenuField->CreateLabelLayoutItem(), 0, 0)
.Add(fHintingMenuField->CreateMenuBarLayoutItem(), 1, 0) .Add(fHintingMenuField->CreateMenuBarLayoutItem(), 1, 0)
@@ -154,9 +151,8 @@ AntialiasingSettingsView::AntialiasingSettingsView(const char* name)
#else #else
.Add(BSpaceLayoutItem::CreateGlue(), 0, 3, 2) .Add(BSpaceLayoutItem::CreateGlue(), 0, 3, 2)
#endif #endif
.AddGlue(0, 4)
.SetInsets(10, 10, 10, 10) .SetInsets(B_USE_WINDOW_SPACING);
);
_SetCurrentAntialiasing(); _SetCurrentAntialiasing();
_SetCurrentHinting(); _SetCurrentHinting();
+2 -1
View File
@@ -16,6 +16,7 @@
#include <string.h> #include <string.h>
#include <Catalog.h> #include <Catalog.h>
#include <ControlLook.h>
#include <GridLayoutBuilder.h> #include <GridLayoutBuilder.h>
#include <GroupLayoutBuilder.h> #include <GroupLayoutBuilder.h>
#include <Locale.h> #include <Locale.h>
@@ -71,7 +72,7 @@ FontView::FontView(const char* name)
fMenuView = new FontSelectionView("menu", B_TRANSLATE("Menu font:")); fMenuView = new FontSelectionView("menu", B_TRANSLATE("Menu font:"));
BGridLayout* layout = new BGridLayout(5, 5); BGridLayout* layout = new BGridLayout(5, 5);
layout->SetInsets(10, 10, 10, 10); layout->SetInsets(B_USE_WINDOW_SPACING);
SetLayout(layout); SetLayout(layout);
int32 row = 0; int32 row = 0;
@@ -21,8 +21,6 @@
#include <Button.h> #include <Button.h>
#include <Catalog.h> #include <Catalog.h>
#include <CheckBox.h> #include <CheckBox.h>
#include <GridLayoutBuilder.h>
#include <GroupLayoutBuilder.h>
#include <InterfaceDefs.h> #include <InterfaceDefs.h>
#include <LayoutBuilder.h> #include <LayoutBuilder.h>
#include <Locale.h> #include <Locale.h>
@@ -95,7 +93,7 @@ LookAndFeelSettingsView::LookAndFeelSettingsView(const char* name)
.AddGroup(B_VERTICAL, 1) .AddGroup(B_VERTICAL, 1)
.Add(new BStringView("single", B_TRANSLATE("Single:"))) .Add(new BStringView("single", B_TRANSLATE("Single:")))
.Add(fArrowStyleSingle) .Add(fArrowStyleSingle)
.Add(new BStringView("spacer", "")) .AddStrut(B_USE_DEFAULT_SPACING)
.Add(new BStringView("double", B_TRANSLATE("Double:"))) .Add(new BStringView("double", B_TRANSLATE("Double:")))
.Add(fArrowStyleDouble) .Add(fArrowStyleDouble)
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, .SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
@@ -105,32 +103,23 @@ LookAndFeelSettingsView::LookAndFeelSettingsView(const char* name)
arrowStyleBox->AddChild(arrowStyleView); arrowStyleBox->AddChild(arrowStyleView);
arrowStyleBox->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT, arrowStyleBox->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT,
B_ALIGN_VERTICAL_CENTER)); B_ALIGN_VERTICAL_CENTER));
arrowStyleBox->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
BStringView* scrollBarLabel BStringView* scrollBarLabel
= new BStringView("scroll bar", B_TRANSLATE("Scroll bar:")); = new BStringView("scroll bar", B_TRANSLATE("Scroll bar:"));
scrollBarLabel->SetExplicitAlignment( scrollBarLabel->SetExplicitAlignment(
BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP)); BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP));
SetLayout(new BGroupLayout(B_VERTICAL));
// control layout // control layout
AddChild(BGroupLayoutBuilder(B_VERTICAL, B_USE_DEFAULT_SPACING) BLayoutBuilder::Grid<>(this, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
.AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING) .Add(fDecorMenuField->CreateLabelLayoutItem(), 0, 0)
.Add(BGridLayoutBuilder(B_USE_DEFAULT_SPACING, .Add(fDecorMenuField->CreateMenuBarLayoutItem(), 1, 0)
B_USE_DEFAULT_SPACING) .Add(fDecorInfoButton, 2, 0)
.Add(fDecorMenuField->CreateLabelLayoutItem(), 0, 0) .Add(scrollBarLabel, 0, 1)
.Add(fDecorMenuField->CreateMenuBarLayoutItem(), 1, 0) .Add(arrowStyleBox, 1, 1)
.Add(fDecorInfoButton, 2, 0) .AddGlue(0, 2)
) .SetInsets(B_USE_WINDOW_SPACING);
.AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING)
.Add(scrollBarLabel)
.Add(arrowStyleBox)
.End()
.AddGlue()
.End()
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
);
// TODO : Decorator Preview Image? // TODO : Decorator Preview Image?
} }
@@ -227,17 +227,13 @@ FormatSettingsView::FormatSettingsView()
.Add(BSpaceLayoutItem::CreateGlue(), 2, 1) .Add(BSpaceLayoutItem::CreateGlue(), 2, 1)
.View()); .View());
BGroupLayout* rootLayout = new BGroupLayout(B_VERTICAL, spacing); BLayoutBuilder::Group<>(this, B_VERTICAL)
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
SetLayout(rootLayout);
BLayoutBuilder::Group<>(rootLayout)
.Add(fUseLanguageStringsCheckBox) .Add(fUseLanguageStringsCheckBox)
.Add(fDateBox) .Add(fDateBox)
.Add(fTimeBox) .Add(fTimeBox)
.AddGroup(B_HORIZONTAL, spacing) .AddGroup(B_HORIZONTAL, spacing)
.Add(fNumberBox) .Add(fNumberBox)
.Add(fMonetaryBox) .Add(fMonetaryBox)
.AddGlue()
.End() .End()
.AddGlue(); .AddGlue();
} }
+19 -12
View File
@@ -22,6 +22,7 @@
#include <MutableLocaleRoster.h> #include <MutableLocaleRoster.h>
#include <Screen.h> #include <Screen.h>
#include <ScrollView.h> #include <ScrollView.h>
#include <SeparatorView.h>
#include <StringView.h> #include <StringView.h>
#include <TabView.h> #include <TabView.h>
#include <UnicodeChar.h> #include <UnicodeChar.h>
@@ -78,6 +79,8 @@ LocaleWindow::LocaleWindow()
float spacing = be_control_look->DefaultItemSpacing(); float spacing = be_control_look->DefaultItemSpacing();
BTabView* tabView = new BTabView("tabview", B_WIDTH_FROM_WIDEST); BTabView* tabView = new BTabView("tabview", B_WIDTH_FROM_WIDEST);
tabView->SetBorder(B_NO_BORDER);
BGroupView* languageTab = new BGroupView(B_TRANSLATE("Language"), BGroupView* languageTab = new BGroupView(B_TRANSLATE("Language"),
B_HORIZONTAL, spacing); B_HORIZONTAL, spacing);
@@ -165,15 +168,16 @@ LocaleWindow::LocaleWindow()
new BMessage(kMsgPreferredLanguageDragged)); new BMessage(kMsgPreferredLanguageDragged));
BLayoutBuilder::Group<>(languageTab) BLayoutBuilder::Group<>(languageTab)
.AddGroup(B_VERTICAL, spacing) .AddGroup(B_VERTICAL)
.Add(new BStringView("", B_TRANSLATE("Available languages"))) .Add(new BStringView("", B_TRANSLATE("Available languages")))
.Add(scrollView) .Add(scrollView)
.End() .End()
.AddGroup(B_VERTICAL, spacing) .AddGroup(B_VERTICAL)
.Add(new BStringView("", B_TRANSLATE("Preferred languages"))) .Add(new BStringView("", B_TRANSLATE("Preferred languages")))
.Add(scrollViewEnabled) .Add(scrollViewEnabled)
.End() .End()
.SetInsets(spacing, spacing, spacing, spacing); .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING);
BView* countryTab = new BView(B_TRANSLATE("Formatting"), B_WILL_DRAW); BView* countryTab = new BView(B_TRANSLATE("Formatting"), B_WILL_DRAW);
countryTab->SetLayout(new BGroupLayout(B_VERTICAL, 0)); countryTab->SetLayout(new BGroupLayout(B_VERTICAL, 0));
@@ -242,7 +246,8 @@ LocaleWindow::LocaleWindow()
.Add(scrollView) .Add(scrollView)
.End() .End()
.Add(fFormatView) .Add(fFormatView)
.SetInsets(spacing, spacing, spacing, spacing)); .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING));
BView* optionsTab = new BView(B_TRANSLATE("Options"), B_WILL_DRAW); BView* optionsTab = new BView(B_TRANSLATE("Options"), B_WILL_DRAW);
optionsTab->SetLayout(new BGroupLayout(B_VERTICAL, 0)); optionsTab->SetLayout(new BGroupLayout(B_VERTICAL, 0));
@@ -254,10 +259,11 @@ LocaleWindow::LocaleWindow()
fFilesystemTranslationCheckbox->SetValue( fFilesystemTranslationCheckbox->SetValue(
BLocaleRoster::Default()->IsFilesystemTranslationPreferred()); BLocaleRoster::Default()->IsFilesystemTranslationPreferred());
optionsTab->AddChild(BLayoutBuilder::Group<>(B_VERTICAL, spacing) optionsTab->AddChild(BLayoutBuilder::Group<>(B_VERTICAL)
.Add(fFilesystemTranslationCheckbox) .Add(fFilesystemTranslationCheckbox)
.AddGlue() .AddGlue()
.SetInsets(spacing, spacing, spacing, spacing)); .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING));
tabView->AddTab(languageTab); tabView->AddTab(languageTab);
tabView->AddTab(countryTab); tabView->AddTab(countryTab);
@@ -270,15 +276,16 @@ LocaleWindow::LocaleWindow()
= new BButton(B_TRANSLATE("Revert"), new BMessage(kMsgRevert)); = new BButton(B_TRANSLATE("Revert"), new BMessage(kMsgRevert));
fRevertButton->SetEnabled(false); fRevertButton->SetEnabled(false);
BLayoutBuilder::Group<>(this, B_VERTICAL, spacing) BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
.SetInsets(0, B_USE_DEFAULT_SPACING, 0, B_USE_WINDOW_SPACING)
.Add(tabView) .Add(tabView)
.AddGroup(B_HORIZONTAL, spacing) .Add(new BSeparatorView(B_HORIZONTAL))
.AddGroup(B_HORIZONTAL)
.Add(button) .Add(button)
.Add(fRevertButton) .Add(fRevertButton)
.AddGlue() .SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING,
.End() B_USE_WINDOW_SPACING, 0)
.SetInsets(spacing, spacing, spacing, spacing) .AddGlue();
.End();
_Refresh(true); _Refresh(true);
_SettingsReverted(); _SettingsReverted();
+15 -7
View File
@@ -42,6 +42,7 @@
#include <Roster.h> #include <Roster.h>
#include <Screen.h> #include <Screen.h>
#include <ScrollView.h> #include <ScrollView.h>
#include <SeparatorView.h>
#include <StringView.h> #include <StringView.h>
#include <TabView.h> #include <TabView.h>
#include <TextControl.h> #include <TextControl.h>
@@ -208,6 +209,7 @@ ConfigWindow::ConfigWindow()
fSaveSettings(false) fSaveSettings(false)
{ {
BTabView* tabView = new BTabView("tab"); BTabView* tabView = new BTabView("tab");
tabView->SetBorder(B_NO_BORDER);
// accounts listview // accounts listview
@@ -231,7 +233,8 @@ ConfigWindow::ConfigWindow()
false, true); false, true);
BLayoutBuilder::Group<>(view, B_HORIZONTAL) BLayoutBuilder::Group<>(view, B_HORIZONTAL)
.SetInsets(B_USE_DEFAULT_SPACING) .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING)
.AddGroup(B_VERTICAL) .AddGroup(B_VERTICAL)
.Add(scroller) .Add(scroller)
.AddGroup(B_HORIZONTAL) .AddGroup(B_HORIZONTAL)
@@ -287,11 +290,13 @@ ConfigWindow::ConfigWindow()
editMenuButton->SetEnabled(false); editMenuButton->SetEnabled(false);
BLayoutBuilder::Group<>(view, B_VERTICAL) BLayoutBuilder::Group<>(view, B_VERTICAL)
.SetInsets(B_USE_DEFAULT_SPACING) .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
.AddGlue() B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING)
// .AddGlue()
.AddGroup(B_HORIZONTAL, 0.f) .AddGroup(B_HORIZONTAL, 0.f)
.AddGlue() .AddGlue()
.Add(fCheckMailCheckBox) .Add(fCheckMailCheckBox)
.AddStrut(be_control_look->DefaultLabelSpacing())
.Add(fIntervalControl->CreateTextViewLayoutItem()) .Add(fIntervalControl->CreateTextViewLayoutItem())
.AddStrut(be_control_look->DefaultLabelSpacing()) .AddStrut(be_control_look->DefaultLabelSpacing())
.Add(fIntervalControl->CreateLabelLayoutItem()) .Add(fIntervalControl->CreateLabelLayoutItem())
@@ -313,13 +318,16 @@ ConfigWindow::ConfigWindow()
BButton* revertButton = new BButton("revert", B_TRANSLATE("Revert"), BButton* revertButton = new BButton("revert", B_TRANSLATE("Revert"),
new BMessage(kMsgRevertSettings)); new BMessage(kMsgRevertSettings));
BLayoutBuilder::Group<>(this, B_VERTICAL) BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
.SetInsets(B_USE_DEFAULT_SPACING) .SetInsets(0, B_USE_DEFAULT_SPACING, 0, B_USE_WINDOW_SPACING)
.Add(tabView) .Add(tabView)
.AddGroup(B_HORIZONTAL) .Add(new BSeparatorView(B_HORIZONTAL))
.AddGroup(B_HORIZONTAL, 0)
.Add(revertButton) .Add(revertButton)
.AddGlue() .AddGlue()
.Add(applyButton); .Add(applyButton)
.SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING,
B_USE_WINDOW_SPACING, 0);
_LoadSettings(); _LoadSettings();
// this will also move our window to the stored position // this will also move our window to the stored position
+9 -14
View File
@@ -13,19 +13,19 @@
#include <Alert.h> #include <Alert.h>
#include <Catalog.h> #include <Catalog.h>
#include <Directory.h> #include <Directory.h>
#include <Message.h>
#include <FindDirectory.h> #include <FindDirectory.h>
#include <GroupLayout.h> #include <LayoutBuilder.h>
#include <GridLayoutBuilder.h>
#include <SpaceLayoutItem.h>
#include <TextControl.h>
#include <Menu.h> #include <Menu.h>
#include <MenuItem.h> #include <MenuItem.h>
#include <MenuField.h> #include <MenuField.h>
#include <Message.h>
#include <Mime.h> #include <Mime.h>
#include <Node.h> #include <Node.h>
#include <notification/Notifications.h>
#include <Path.h> #include <Path.h>
#include <SpaceLayoutItem.h>
#include <TextControl.h>
#include <notification/Notifications.h>
#include "DisplayView.h" #include "DisplayView.h"
#include "SettingsHost.h" #include "SettingsHost.h"
@@ -52,18 +52,13 @@ DisplayView::DisplayView(SettingsHost* host)
fIconSize->SetLabelFromMarked(true); fIconSize->SetLabelFromMarked(true);
fIconSizeField = new BMenuField(B_TRANSLATE("Icon size:"), fIconSize); fIconSizeField = new BMenuField(B_TRANSLATE("Icon size:"), fIconSize);
// Calculate inset BLayoutBuilder::Grid<>(this, B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
float inset = ceilf(be_plain_font->Size() * 0.7f);
SetLayout(new BGroupLayout(B_VERTICAL));
AddChild(BGridLayoutBuilder(inset, inset)
.Add(fWindowWidth->CreateLabelLayoutItem(), 0, 0) .Add(fWindowWidth->CreateLabelLayoutItem(), 0, 0)
.Add(fWindowWidth->CreateTextViewLayoutItem(), 1, 0) .Add(fWindowWidth->CreateTextViewLayoutItem(), 1, 0)
.Add(fIconSizeField->CreateLabelLayoutItem(), 0, 1) .Add(fIconSizeField->CreateLabelLayoutItem(), 0, 1)
.Add(fIconSizeField->CreateMenuBarLayoutItem(), 1, 1) .Add(fIconSizeField->CreateMenuBarLayoutItem(), 1, 1)
.Add(BSpaceLayoutItem::CreateGlue(), 0, 2, 2, 1) .AddGlue(0, 2)
.SetInsets(inset, inset, inset, inset) .SetInsets(B_USE_WINDOW_SPACING);
);
} }
+21 -27
View File
@@ -12,27 +12,27 @@
#include <vector> #include <vector>
#include <Roster.h>
#include <GroupLayout.h>
#include <GroupLayoutBuilder.h>
#include <Alert.h> #include <Alert.h>
#include <Font.h>
#include <Button.h> #include <Button.h>
#include <Catalog.h> #include <Catalog.h>
#include <StringView.h>
#include <TextControl.h>
#include <CheckBox.h> #include <CheckBox.h>
#include <String.h>
#include <FindDirectory.h>
#include <Node.h>
#include <notification/Notifications.h>
#include <Path.h>
#include <File.h>
#include <Directory.h> #include <Directory.h>
#include <VolumeRoster.h> #include <File.h>
#include <Volume.h> #include <FindDirectory.h>
#include <Font.h>
#include <LayoutBuilder.h>
#include <Node.h>
#include <Path.h>
#include <Query.h> #include <Query.h>
#include <Roster.h>
#include <String.h>
#include <StringView.h>
#include <SymLink.h> #include <SymLink.h>
#include <TextControl.h>
#include <Volume.h>
#include <VolumeRoster.h>
#include <notification/Notifications.h>
#include "GeneralView.h" #include "GeneralView.h"
#include "SettingsHost.h" #include "SettingsHost.h"
@@ -62,20 +62,15 @@ GeneralView::GeneralView(SettingsHost* host)
B_TRANSLATE("seconds of inactivity")); B_TRANSLATE("seconds of inactivity"));
// Default position // Default position
// TODO: Here will come a screen representation with the four corners // TODO: Here will come a screen representation with the four corners
// clickable // clickable
// Calculate inset BLayoutBuilder::Group<>(this, B_VERTICAL)
float inset = ceilf(be_plain_font->Size() * 0.7f); .AddGroup(B_HORIZONTAL, B_USE_WINDOW_SPACING)
SetLayout(new BGroupLayout(B_VERTICAL));
AddChild(BGroupLayoutBuilder(B_VERTICAL, inset)
.AddGroup(B_HORIZONTAL, inset)
.Add(fNotificationBox) .Add(fNotificationBox)
.AddGlue() .AddGlue()
.End() .End()
.AddGroup(B_VERTICAL, B_USE_WINDOW_SPACING)
.AddGroup(B_VERTICAL, inset)
.Add(fAutoStart) .Add(fAutoStart)
.AddGroup(B_HORIZONTAL) .AddGroup(B_HORIZONTAL)
.AddGroup(B_HORIZONTAL, 2) .AddGroup(B_HORIZONTAL, 2)
@@ -84,9 +79,8 @@ GeneralView::GeneralView(SettingsHost* host)
.End() .End()
.End() .End()
.End() .End()
.SetInsets(inset, inset, inset, inset) .SetInsets(B_USE_WINDOW_SPACING)
.AddGlue() .AddGlue();
);
} }
@@ -165,7 +159,7 @@ GeneralView::MessageReceived(BMessage* msg)
} }
} }
break; break;
} }
case kSettingChanged: case kSettingChanged:
SettingsPane::MessageReceived(msg); SettingsPane::MessageReceived(msg);
break; break;
@@ -9,20 +9,19 @@
#include <Alert.h> #include <Alert.h>
#include <Catalog.h> #include <Catalog.h>
#include <Directory.h>
#include <FindDirectory.h>
#include <GroupLayout.h>
#include <GroupLayoutBuilder.h>
#include <Window.h>
#include <CheckBox.h> #include <CheckBox.h>
#include <TextControl.h>
#include <Path.h>
#include <Notification.h>
#include <notification/Notifications.h>
#include <notification/NotificationReceived.h>
#include <ColumnListView.h> #include <ColumnListView.h>
#include <ColumnTypes.h> #include <ColumnTypes.h>
#include <Directory.h>
#include <FindDirectory.h>
#include <LayoutBuilder.h>
#include <Notification.h>
#include <Path.h>
#include <TextControl.h>
#include <Window.h>
#include <notification/Notifications.h>
#include <notification/NotificationReceived.h>
#include "NotificationsView.h" #include "NotificationsView.h"
@@ -59,23 +58,23 @@ NotificationsView::NotificationsView(SettingsHost* host)
new BMessage(kSettingChanged)); new BMessage(kSettingChanged));
// Applications list // Applications list
fApplications = new BColumnListView(rect, B_TRANSLATE("Applications"), fApplications = new BColumnListView(B_TRANSLATE("Applications"),
0, B_WILL_DRAW, B_FANCY_BORDER, true); 0, B_FANCY_BORDER, true);
fApplications->SetSelectionMode(B_SINGLE_SELECTION_LIST); fApplications->SetSelectionMode(B_SINGLE_SELECTION_LIST);
fAppCol = new BStringColumn(B_TRANSLATE("Application"), 200, fAppCol = new BStringColumn(B_TRANSLATE("Application"), 200,
be_plain_font->StringWidth(B_TRANSLATE("Application")) + be_plain_font->StringWidth(B_TRANSLATE("Application")) +
(kCLVTitlePadding * 2), rect.Width(), B_TRUNCATE_END, B_ALIGN_LEFT); (kCLVTitlePadding * 2), rect.Width(), B_TRUNCATE_END, B_ALIGN_LEFT);
fApplications->AddColumn(fAppCol, kAppIndex); fApplications->AddColumn(fAppCol, kAppIndex);
fAppEnabledCol = new BStringColumn(B_TRANSLATE("Enabled"), 10, fAppEnabledCol = new BStringColumn(B_TRANSLATE("Enabled"), 10,
be_plain_font->StringWidth(B_TRANSLATE("Enabled")) + be_plain_font->StringWidth(B_TRANSLATE("Enabled")) +
(kCLVTitlePadding * 2), rect.Width(), B_TRUNCATE_END, B_ALIGN_LEFT); (kCLVTitlePadding * 2), rect.Width(), B_TRUNCATE_END, B_ALIGN_LEFT);
fApplications->AddColumn(fAppEnabledCol, kAppEnabledIndex); fApplications->AddColumn(fAppEnabledCol, kAppEnabledIndex);
// Notifications list // Notifications list
fNotifications = new BColumnListView(rect, B_TRANSLATE("Notifications"), fNotifications = new BColumnListView(B_TRANSLATE("Notifications"),
0, B_WILL_DRAW, B_FANCY_BORDER, true); 0, B_FANCY_BORDER, true);
fNotifications->SetSelectionMode(B_SINGLE_SELECTION_LIST); fNotifications->SetSelectionMode(B_SINGLE_SELECTION_LIST);
fTitleCol = new BStringColumn(B_TRANSLATE("Title"), 100, fTitleCol = new BStringColumn(B_TRANSLATE("Title"), 100,
@@ -98,22 +97,16 @@ NotificationsView::NotificationsView(SettingsHost* host)
(kCLVTitlePadding * 2), rect.Width(), B_TRUNCATE_END, B_ALIGN_LEFT); (kCLVTitlePadding * 2), rect.Width(), B_TRUNCATE_END, B_ALIGN_LEFT);
fNotifications->AddColumn(fAllowCol, kAllowIndex); fNotifications->AddColumn(fAllowCol, kAllowIndex);
// Calculate inset
float inset = ceilf(be_plain_font->Size() * 0.7f);
// Set layout
SetLayout(new BGroupLayout(B_VERTICAL));
// Add views // Add views
AddChild(BGroupLayoutBuilder(B_VERTICAL, inset) BLayoutBuilder::Group<>(this, B_VERTICAL)
.AddGroup(B_HORIZONTAL) .AddGroup(B_HORIZONTAL)
.AddGlue() .AddGlue()
.Add(fSearch) .Add(fSearch)
.End() .End()
.Add(fApplications) .Add(fApplications)
.Add(fNotifications) .Add(fNotifications)
.SetInsets(inset, inset, inset, inset) .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
); B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING);
} }
@@ -8,17 +8,17 @@
*/ */
#include <Catalog.h> #include <Catalog.h>
#include <Message.h> #include <CardLayout.h>
#include <GroupLayout.h> #include <GroupLayout.h>
#include <GroupLayoutBuilder.h> #include <GroupLayoutBuilder.h>
#include <CardLayout.h>
#include <LayoutItem.h> #include <LayoutItem.h>
#include <Message.h>
#include "SettingsHost.h"
#include "PrefletView.h"
#include "GeneralView.h"
#include "DisplayView.h" #include "DisplayView.h"
#include "GeneralView.h"
#include "NotificationsView.h" #include "NotificationsView.h"
#include "PrefletView.h"
#include "SettingsHost.h"
#undef B_TRANSLATION_CONTEXT #undef B_TRANSLATION_CONTEXT
+10 -5
View File
@@ -16,6 +16,7 @@
#include <FindDirectory.h> #include <FindDirectory.h>
#include <LayoutBuilder.h> #include <LayoutBuilder.h>
#include <Path.h> #include <Path.h>
#include <SeparatorView.h>
#include <notification/Notifications.h> #include <notification/Notifications.h>
@@ -33,11 +34,12 @@ const int32 kApply = '_APY';
PrefletWin::PrefletWin() PrefletWin::PrefletWin()
: :
BWindow(BRect(0, 0, 1, 1), B_TRANSLATE_SYSTEM_NAME("Notifications"), BWindow(BRect(0, 0, 1, 1), B_TRANSLATE_SYSTEM_NAME("Notifications"),
B_TITLED_WINDOW, B_NOT_ZOOMABLE | B_NOT_RESIZABLE B_TITLED_WINDOW, B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS
| B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS) | B_AUTO_UPDATE_SIZE_LIMITS)
{ {
// Preflet container view // Preflet container view
fMainView = new PrefletView(this); fMainView = new PrefletView(this);
fMainView->SetBorder(B_NO_BORDER);
// Apply and revert buttons // Apply and revert buttons
fRevert = new BButton("revert", B_TRANSLATE("Revert"), fRevert = new BButton("revert", B_TRANSLATE("Revert"),
@@ -47,13 +49,16 @@ PrefletWin::PrefletWin()
fApply->SetEnabled(false); fApply->SetEnabled(false);
// Build the layout // Build the layout
BLayoutBuilder::Group<>(this, B_VERTICAL) BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
.SetInsets(B_USE_DEFAULT_SPACING) .SetInsets(0, B_USE_DEFAULT_SPACING, 0, 0)
.Add(fMainView) .Add(fMainView)
.Add(new BSeparatorView(B_HORIZONTAL))
.AddGroup(B_HORIZONTAL) .AddGroup(B_HORIZONTAL)
.Add(fRevert) .Add(fRevert)
.AddGlue() .AddGlue()
.Add(fApply); .Add(fApply)
.SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING,
B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING);
ReloadSettings(); ReloadSettings();
+2 -1
View File
@@ -67,7 +67,8 @@ ClockView::ClockView(const char* name)
.AddGroup(B_VERTICAL, 0) .AddGroup(B_VERTICAL, 0)
.Add(showClockBox) .Add(showClockBox)
.End() .End()
.SetInsets(B_USE_DEFAULT_SPACING); .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING);
} }
+5 -5
View File
@@ -186,18 +186,18 @@ DateTimeView::_InitView()
B_WILL_DRAW | B_FRAME_EVENTS, B_FANCY_BORDER); B_WILL_DRAW | B_FRAME_EVENTS, B_FANCY_BORDER);
divider->SetExplicitMaxSize(BSize(1, B_SIZE_UNLIMITED)); divider->SetExplicitMaxSize(BSize(1, B_SIZE_UNLIMITED));
const float kInset = be_control_look->DefaultItemSpacing(); BLayoutBuilder::Group<>(this, B_HORIZONTAL, B_USE_DEFAULT_SPACING)
BLayoutBuilder::Group<>(this) .AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING)
.AddGroup(B_VERTICAL, kInset / 2)
.Add(fDateEdit) .Add(fDateEdit)
.Add(fCalendarView) .Add(fCalendarView)
.End() .End()
.Add(divider) .Add(divider)
.AddGroup(B_VERTICAL, 0) .AddGroup(B_VERTICAL)
.Add(fTimeEdit) .Add(fTimeEdit)
.Add(fClock) .Add(fClock)
.End() .End()
.SetInsets(kInset, kInset, kInset, kInset); .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING);
} }
+2 -1
View File
@@ -524,7 +524,8 @@ NetworkTimeView::_InitView()
.Add(fResetButton) .Add(fResetButton)
.Add(fSynchronizeButton) .Add(fSynchronizeButton)
.End() .End()
.SetInsets(B_USE_DEFAULT_SPACING); .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING);
} }
+9 -3
View File
@@ -16,6 +16,7 @@
#include <LayoutBuilder.h> #include <LayoutBuilder.h>
#include <Message.h> #include <Message.h>
#include <Screen.h> #include <Screen.h>
#include <SeparatorView.h>
#include <TabView.h> #include <TabView.h>
#include "BaseView.h" #include "BaseView.h"
@@ -129,6 +130,7 @@ TTimeWindow::_InitWindow()
fTabView->AddTab(fTimeZoneView); fTabView->AddTab(fTimeZoneView);
fTabView->AddTab(fNetworkTimeView); fTabView->AddTab(fNetworkTimeView);
fTabView->AddTab(fClockView); fTabView->AddTab(fClockView);
fTabView->SetBorder(B_NO_BORDER);
fBaseView->AddChild(fTabView); fBaseView->AddChild(fTabView);
@@ -139,10 +141,14 @@ TTimeWindow::_InitWindow()
fRevertButton->SetExplicitAlignment( fRevertButton->SetExplicitAlignment(
BAlignment(B_ALIGN_LEFT, B_ALIGN_MIDDLE)); BAlignment(B_ALIGN_LEFT, B_ALIGN_MIDDLE));
BLayoutBuilder::Group<>(this, B_VERTICAL) BLayoutBuilder::Group<>(this, B_VERTICAL, 0)
.SetInsets(B_USE_DEFAULT_SPACING) .SetInsets(0, B_USE_DEFAULT_SPACING, 0, 0)
.Add(fBaseView) .Add(fBaseView)
.Add(fRevertButton); .Add(new BSeparatorView(B_HORIZONTAL))
.AddGroup(B_HORIZONTAL)
.Add(fRevertButton)
.SetInsets(B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING,
B_USE_DEFAULT_SPACING, B_USE_WINDOW_SPACING);
} }
+3 -5
View File
@@ -238,8 +238,6 @@ TimeZoneView::_InitView()
_ShowOrHidePreview(); _ShowOrHidePreview();
fOldUseGmtTime = fUseGmtTime; fOldUseGmtTime = fUseGmtTime;
const float kIndentSpacing
= be_control_look->DefaultItemSpacing() * 2;
BLayoutBuilder::Group<>(this) BLayoutBuilder::Group<>(this)
.Add(scrollList) .Add(scrollList)
.AddGroup(B_VERTICAL, 0) .AddGroup(B_VERTICAL, 0)
@@ -248,7 +246,7 @@ TimeZoneView::_InitView()
.AddGroup(B_VERTICAL, 0) .AddGroup(B_VERTICAL, 0)
.Add(fLocalTime) .Add(fLocalTime)
.Add(fGmtTime) .Add(fGmtTime)
.SetInsets(kIndentSpacing, 0, 0, 0) .SetInsets(B_USE_WINDOW_SPACING, 0, 0, 0)
.End() .End()
.AddGlue() .AddGlue()
.AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING) .AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING)
@@ -257,8 +255,8 @@ TimeZoneView::_InitView()
.End() .End()
.Add(fSetZone) .Add(fSetZone)
.End() .End()
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING, .SetInsets(B_USE_WINDOW_SPACING, B_USE_WINDOW_SPACING,
B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING); B_USE_WINDOW_SPACING, B_USE_DEFAULT_SPACING);
} }