Backgrounds: Resize menu fields to preferred width.

Also a few other related changes:
* Update the copyright year in header and add my name.
* Use font aware spacing units in layout constructor.
* Align the fIconLabelOutline check box with the menu fields
  instead of the menu field labels.
This commit is contained in:
John Scipione
2013-05-30 17:47:26 -04:00
parent d9dae4d313
commit 19d9ad49ae
2 changed files with 40 additions and 24 deletions
+30 -19
View File
@@ -1,10 +1,11 @@
/*
* Copyright 2002-2009, Haiku, Inc. All Rights Reserved.
* Copyright 2002-2013 Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Jerome Duval ([email protected])
* Axel Dörfler, [email protected]
* Jerome Duval, [email protected]
* John Scipione, [email protected]
* Jonas Sundström, [email protected]
*/
@@ -22,7 +23,6 @@
#include <FindDirectory.h>
#include <LayoutBuilder.h>
#include <Locale.h>
#include <MenuField.h>
#include <Messenger.h>
#include <MimeType.h>
#include <Point.h>
@@ -162,9 +162,8 @@ BackgroundsView::BackgroundsView()
fImageMenu->AddItem(new BMenuItem(B_TRANSLATE("Other" B_UTF8_ELLIPSIS),
new BMessage(kMsgOtherImage)));
BMenuField* imageMenuField = new BMenuField(NULL, fImageMenu);
imageMenuField->SetAlignment(B_ALIGN_RIGHT);
imageMenuField->ResizeToPreferred();
fImageMenuField = new BMenuField(NULL, fImageMenu);
fImageMenuField->SetAlignment(B_ALIGN_RIGHT);
fPlacementMenu = new BPopUpMenu(B_TRANSLATE("pick one"));
fPlacementMenu->AddItem(new BMenuItem(B_TRANSLATE("Manual"),
@@ -176,8 +175,8 @@ BackgroundsView::BackgroundsView()
fPlacementMenu->AddItem(new BMenuItem(B_TRANSLATE("Tile"),
new BMessage(kMsgTilePlacement)));
BMenuField* placementMenuField = new BMenuField(NULL, fPlacementMenu);
placementMenuField->SetAlignment(B_ALIGN_RIGHT);
fPlacementMenuField = new BMenuField(NULL, fPlacementMenu);
fPlacementMenuField->SetAlignment(B_ALIGN_RIGHT);
fIconLabelOutline = new BCheckBox(B_TRANSLATE("Icon label outline"),
new BMessage(kMsgIconLabelOutline));
@@ -197,18 +196,18 @@ BackgroundsView::BackgroundsView()
B_ALIGN_NO_VERTICAL));
view = BLayoutBuilder::Group<>()
.AddGroup(B_VERTICAL, 10)
.AddGroup(B_VERTICAL, 10)
.AddGrid(10, 10)
.AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING)
.AddGroup(B_VERTICAL, B_USE_DEFAULT_SPACING)
.AddGrid(B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING)
.Add(imageStringView, 0, 0)
.Add(fImageMenuField, 1, 0)
.Add(placementStringView, 0, 1)
.Add(imageMenuField, 1, 0)
.Add(placementMenuField, 1, 1)
.Add(fPlacementMenuField, 1, 1)
.Add(fIconLabelOutline, 1, 2)
.End()
.Add(fIconLabelOutline)
.End()
.Add(fPicker)
.SetInsets(10, 10, 10, 10)
.SetInsets(B_USE_DEFAULT_SPACING)
.End()
.View();
@@ -316,13 +315,10 @@ BackgroundsView::MessageReceived(BMessage* msg)
}
case kMsgManualPlacement:
_UpdatePreview();
_UpdateButtons();
break;
case kMsgTilePlacement:
case kMsgScalePlacement:
case kMsgCenterPlacement:
fPlacementMenuField->ResizeToPreferred();
_UpdatePreview();
_UpdateButtons();
break;
@@ -388,6 +384,8 @@ BackgroundsView::MessageReceived(BMessage* msg)
case kMsgNoImage:
fLastImageIndex = ((BGImageMenuItem*)fImageMenu->FindMarked())
->ImageIndex();
fImageMenuField->ResizeToPreferred();
fPlacementMenuField->ResizeToPreferred();
_UpdatePreview();
_UpdateButtons();
break;
@@ -829,6 +827,19 @@ BackgroundsView::_LoadSettings()
}
void
BackgroundsView::WindowActivated(bool active)
{
static bool firstRun = true;
if (firstRun) {
firstRun = false;
fImageMenuField->ResizeToPreferred();
fPlacementMenuField->ResizeToPreferred();
}
}
void
BackgroundsView::WorkspaceActivated(uint32 oldWorkspaces, bool active)
{
+10 -5
View File
@@ -1,9 +1,10 @@
/*
* Copyright 2002-2009, Haiku, Inc. All Rights Reserved.
* Copyright 2002-2013 Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Jerome Duval ([email protected])
* Jerome Duval, [email protected]
* John Scipione, [email protected]
*/
#ifndef BACKGROUNDS_VIEW_H
#define BACKGROUNDS_VIEW_H
@@ -18,6 +19,7 @@
#include <Entry.h>
#include <FilePanel.h>
#include <Menu.h>
#include <MenuField.h>
#include <MenuItem.h>
#include <Message.h>
#include <Picture.h>
@@ -110,6 +112,7 @@ public:
void RefsReceived(BMessage* msg);
void SaveSettings();
void WindowActivated(bool active);
void WorkspaceActivated(uint32 oldWorkspaces,
bool active);
int32 AddImage(BPath path);
@@ -142,10 +145,12 @@ protected:
BColorControl* fPicker;
BButton* fApply;
BButton* fRevert;
BCheckBox* fIconLabelOutline;
BMenu* fPlacementMenu;
BMenu* fImageMenu;
BMenu* fWorkspaceMenu;
BMenu* fPlacementMenu;
BMenuField* fPlacementMenuField;
BMenu* fImageMenu;
BMenuField* fImageMenuField;
BCheckBox* fIconLabelOutline;
BTextControl* fXPlacementText;
BTextControl* fYPlacementText;
Preview* fPreview;