* The spacing was hard coded to 3 since r36405 which made the whole thing look
poorly with the default font size, I wonder why no one noticed that before applying. * This also hid some bugs in the layouting code causing the doubled spacing to be used. * Fixed some weird layout in FileTypeWindow. * Changed some code to BLayoutBuilder in a few cases. * Made sure the list views have a better default size, and resize with the window. * Removed superfluous checks if be_control_look is NULL. * Enlarged the icon size in the main window to 48 pixels. * I've worked around some strange resizing in the ApplicationTypesWindow by setting a max size for the list view. Also, setting a max limit for the BStringView on the right side had no effect on layouting (only the text was cut). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36882 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
19320ffa61
commit
91f74b0c02
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
3 * Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -245,13 +245,8 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
B_FRAME_EVENTS | B_AUTO_UPDATE_SIZE_LIMITS),
|
||||
fChangedProperties(0)
|
||||
{
|
||||
float padding = 3.0f;
|
||||
BAlignment labelAlignment = BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP);
|
||||
if (be_control_look){
|
||||
// padding = be_control_look->DefaultItemSpacing();
|
||||
// seems too big
|
||||
labelAlignment = be_control_look->DefaultLabelAlignment();
|
||||
}
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
BAlignment labelAlignment = be_control_look->DefaultLabelAlignment();
|
||||
|
||||
BMenuBar* menuBar = new BMenuBar((char*)NULL);
|
||||
menuBar->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP));
|
||||
@ -271,7 +266,6 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
new BMessage(B_QUIT_REQUESTED), 'W', B_COMMAND_KEY));
|
||||
menuBar->AddItem(menu);
|
||||
|
||||
|
||||
// Signature
|
||||
|
||||
fSignatureControl = new BTextControl(B_TRANSLATE("Signature:"), NULL,
|
||||
@ -310,7 +304,7 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
fBackgroundAppCheckBox = new BCheckBox("background",
|
||||
B_TRANSLATE("Background app"), new BMessage(kMsgAppFlagsChanged));
|
||||
|
||||
flagsBox->AddChild(BGridLayoutBuilder(padding, padding)
|
||||
flagsBox->AddChild(BGridLayoutBuilder()
|
||||
.Add(fSingleLaunchButton, 0, 0).Add(fArgsOnlyCheckBox, 1, 0)
|
||||
.Add(fMultipleLaunchButton, 0, 1).Add(fBackgroundAppCheckBox, 1, 1)
|
||||
.Add(fExclusiveLaunchButton, 0, 2)
|
||||
@ -323,11 +317,9 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
iconBox->SetLabel(B_TRANSLATE("Icon"));
|
||||
fIconView = new IconView("icon");
|
||||
fIconView->SetModificationMessage(new BMessage(kMsgIconChanged));
|
||||
iconBox->AddChild(
|
||||
BGroupLayoutBuilder(B_HORIZONTAL)
|
||||
iconBox->AddChild(BGroupLayoutBuilder(B_HORIZONTAL)
|
||||
.Add(fIconView)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
// "Supported Types" group
|
||||
|
||||
@ -359,9 +351,9 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
.SetColumnWeight(0, 3)
|
||||
.SetColumnWeight(1, 2)
|
||||
.SetColumnWeight(2, 1)
|
||||
);
|
||||
iconHolder->SetExplicitAlignment(BAlignment(B_ALIGN_CENTER, B_ALIGN_MIDDLE));
|
||||
.SetColumnWeight(2, 1));
|
||||
iconHolder->SetExplicitAlignment(
|
||||
BAlignment(B_ALIGN_CENTER, B_ALIGN_MIDDLE));
|
||||
|
||||
// "Version Info" group
|
||||
|
||||
@ -409,10 +401,10 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
|
||||
// TODO: remove workaround (bug #5678)
|
||||
BSize minScrollSize = scrollView->ScrollBar(B_VERTICAL)->MinSize();
|
||||
minScrollSize.width+=fLongDescriptionView->MinSize().width;
|
||||
minScrollSize.width += fLongDescriptionView->MinSize().width;
|
||||
scrollView->SetExplicitMinSize(minScrollSize);
|
||||
|
||||
versionBox->AddChild(BGridLayoutBuilder(padding, padding)
|
||||
versionBox->AddChild(BGridLayoutBuilder(padding / 2, padding)
|
||||
.Add(fMajorVersionControl->CreateLabelLayoutItem(), 0, 0)
|
||||
.Add(fMajorVersionControl->CreateTextViewLayoutItem(), 1, 0)
|
||||
.Add(fMiddleVersionControl, 2, 0, 2)
|
||||
@ -424,8 +416,7 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
.Add(longLabel, 0, 2)
|
||||
.Add(scrollView, 1, 2, 10, 3)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
.SetRowWeight(3, 3)
|
||||
);
|
||||
.SetRowWeight(3, 3));
|
||||
|
||||
// put it all together
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
@ -434,12 +425,10 @@ ApplicationTypeWindow::ApplicationTypeWindow(BPoint position,
|
||||
.Add(fSignatureControl)
|
||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.Add(flagsBox, 3)
|
||||
.Add(iconBox, 1)
|
||||
)
|
||||
.Add(iconBox, 1))
|
||||
.Add(typeBox)
|
||||
.Add(versionBox)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
SetKeyMenuBar(menuBar);
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
/*
|
||||
* Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
* Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
// TODO: think about adopting Tracker's info window style here (pressable path)
|
||||
|
||||
#include "ApplicationTypesWindow.h"
|
||||
#include "FileTypes.h"
|
||||
@ -20,6 +19,7 @@
|
||||
#include <ControlLook.h>
|
||||
#include <GridLayoutBuilder.h>
|
||||
#include <GroupLayoutBuilder.h>
|
||||
#include <LayoutBuilder.h>
|
||||
#include <Locale.h>
|
||||
#include <MenuField.h>
|
||||
#include <MenuItem.h>
|
||||
@ -40,13 +40,17 @@
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
// TODO: think about adopting Tracker's info window style here (pressable path)
|
||||
|
||||
|
||||
#undef B_TRANSLATE_CONTEXT
|
||||
#define B_TRANSLATE_CONTEXT "Application Types Window"
|
||||
|
||||
|
||||
class ProgressWindow : public BWindow {
|
||||
public:
|
||||
ProgressWindow(const char* message, int32 max, volatile bool* signalQuit);
|
||||
ProgressWindow(const char* message, int32 max,
|
||||
volatile bool* signalQuit);
|
||||
virtual ~ProgressWindow();
|
||||
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
@ -166,23 +170,19 @@ ApplicationTypesWindow::ApplicationTypesWindow(const BMessage& settings)
|
||||
B_TITLED_WINDOW,
|
||||
B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS)
|
||||
{
|
||||
|
||||
float padding = 3.0f;
|
||||
BAlignment labelAlignment = BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP);
|
||||
BAlignment fullWidthTopAlignment =
|
||||
BAlignment(B_ALIGN_USE_FULL_WIDTH, B_ALIGN_TOP);
|
||||
if (be_control_look) {
|
||||
// padding = be_control_look->DefaultItemSpacing();
|
||||
// seems too big
|
||||
labelAlignment = be_control_look->DefaultLabelAlignment();
|
||||
}
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
BAlignment labelAlignment = be_control_look->DefaultLabelAlignment();
|
||||
BAlignment fullWidthTopAlignment(B_ALIGN_USE_FULL_WIDTH, B_ALIGN_TOP);
|
||||
|
||||
// Application list
|
||||
BView* currentView = new BGroupView(B_VERTICAL, padding);
|
||||
|
||||
fTypeListView = new MimeTypeListView("listview", "application", true, true);
|
||||
fTypeListView->SetSelectionMessage(new BMessage(kMsgTypeSelected));
|
||||
fTypeListView->SetInvocationMessage(new BMessage(kMsgTypeInvoked));
|
||||
// TODO: this isn't the perfect solution, but otherwise the window contents
|
||||
// will jump chaotically
|
||||
fTypeListView->SetExplicitMinSize(BSize(200, B_SIZE_UNSET));
|
||||
fTypeListView->SetExplicitMaxSize(BSize(250, B_SIZE_UNSET));
|
||||
|
||||
BScrollView* scrollView = new BScrollView("scrollview", fTypeListView,
|
||||
B_FRAME_EVENTS | B_WILL_DRAW, false, true);
|
||||
@ -208,16 +208,14 @@ ApplicationTypesWindow::ApplicationTypesWindow(const BMessage& settings)
|
||||
fPathView->TextView()->SetExplicitAlignment(labelAlignment);
|
||||
fPathView->LabelView()->SetExplicitAlignment(labelAlignment);
|
||||
|
||||
infoBox->AddChild(
|
||||
BGridLayoutBuilder(padding, padding)
|
||||
.Add(fNameView->LabelView(), 0, 0)
|
||||
.Add(fNameView->TextView(), 1, 0, 2)
|
||||
.Add(fSignatureView->LabelView(), 0, 1)
|
||||
.Add(fSignatureView->TextView(), 1, 1, 2)
|
||||
.Add(fPathView->LabelView(), 0, 2)
|
||||
.Add(fPathView->TextView(), 1, 2, 2)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
infoBox->AddChild(BGridLayoutBuilder(padding, padding)
|
||||
.Add(fNameView->LabelView(), 0, 0)
|
||||
.Add(fNameView->TextView(), 1, 0, 2)
|
||||
.Add(fSignatureView->LabelView(), 0, 1)
|
||||
.Add(fSignatureView->TextView(), 1, 1, 2)
|
||||
.Add(fPathView->LabelView(), 0, 2)
|
||||
.Add(fPathView->TextView(), 1, 2, 2)
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
// "Version" group
|
||||
|
||||
@ -235,15 +233,12 @@ ApplicationTypesWindow::ApplicationTypesWindow(const BMessage& settings)
|
||||
fDescriptionView->SetLowColor(fDescriptionView->ViewColor());
|
||||
fDescriptionView->MakeEditable(false);
|
||||
|
||||
versionBox->AddChild(currentView =
|
||||
BGridLayoutBuilder(padding, padding)
|
||||
.Add(fVersionView->LabelView(), 0, 0)
|
||||
.Add(fVersionView->TextView(), 1, 0)
|
||||
.Add(fDescriptionLabel->LabelView(), 0, 1)
|
||||
.Add(fDescriptionView, 1, 1, 2, 2)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
currentView->SetExplicitAlignment(fullWidthTopAlignment);
|
||||
versionBox->AddChild(BGridLayoutBuilder(padding, padding)
|
||||
.Add(fVersionView->LabelView(), 0, 0)
|
||||
.Add(fVersionView->TextView(), 1, 0)
|
||||
.Add(fDescriptionLabel->LabelView(), 0, 1)
|
||||
.Add(fDescriptionView, 1, 1, 2, 2)
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
// Launch and Tracker buttons
|
||||
|
||||
@ -254,25 +249,27 @@ ApplicationTypesWindow::ApplicationTypesWindow(const BMessage& settings)
|
||||
fTrackerButton = new BButton(
|
||||
B_TRANSLATE("Show in Tracker" B_UTF8_ELLIPSIS));
|
||||
|
||||
AddChild(BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.Add(BGroupLayoutBuilder(B_VERTICAL, padding)
|
||||
AddChild(BLayoutBuilder::Group<>(B_HORIZONTAL, padding)
|
||||
.AddGroup(B_VERTICAL, padding, 3)
|
||||
.Add(scrollView)
|
||||
.Add(button)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
, 3)
|
||||
.Add(BGroupLayoutBuilder(B_VERTICAL, padding)
|
||||
.AddGroup(B_HORIZONTAL)
|
||||
.Add(button)
|
||||
.AddGlue()
|
||||
.End()
|
||||
.End()
|
||||
// .AddGlue())//, 3)
|
||||
.AddGroup(B_VERTICAL, padding)
|
||||
.Add(infoBox)
|
||||
.Add(versionBox)
|
||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.AddGroup(B_HORIZONTAL, padding)
|
||||
.AddGlue()
|
||||
.Add(fEditButton)
|
||||
.Add(fLaunchButton)
|
||||
.Add(fTrackerButton)
|
||||
)
|
||||
.End()
|
||||
.AddGlue()
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.End()
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
BMimeType::StartWatching(this);
|
||||
_SetType(NULL);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006-2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
* Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -102,9 +102,7 @@ AttributeWindow::AttributeWindow(FileTypesWindow* target, BMimeType& mimeType,
|
||||
fTarget(target),
|
||||
fMimeType(mimeType.Type())
|
||||
{
|
||||
float padding = 3.0f;
|
||||
//if (be_control_look)
|
||||
//padding = be_control_look->DefaultItemSpacing();
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
|
||||
if (attributeItem != NULL)
|
||||
fAttribute = *attributeItem;
|
||||
@ -162,7 +160,8 @@ AttributeWindow::AttributeWindow(FileTypesWindow* target, BMimeType& mimeType,
|
||||
item = new BMenuItem(kDisplayAsMap[i].name, message);
|
||||
menu->AddItem(item);
|
||||
|
||||
if (compare_display_as(kDisplayAsMap[i].identifier, fAttribute.DisplayAs()))
|
||||
if (compare_display_as(kDisplayAsMap[i].identifier,
|
||||
fAttribute.DisplayAs()))
|
||||
item->SetMarked(true);
|
||||
}
|
||||
|
||||
@ -230,8 +229,8 @@ AttributeWindow::AttributeWindow(FileTypesWindow* target, BMimeType& mimeType,
|
||||
B_TRANSLATE("Alignment:"), menu);
|
||||
fAlignmentMenuField->SetAlignment(B_ALIGN_RIGHT);
|
||||
|
||||
fAcceptButton = new BButton("add", item
|
||||
? B_TRANSLATE("Done") : B_TRANSLATE("Add"),
|
||||
fAcceptButton = new BButton("add",
|
||||
item ? B_TRANSLATE("Done") : B_TRANSLATE("Add"),
|
||||
new BMessage(kMsgAccept));
|
||||
fAcceptButton->SetEnabled(false);
|
||||
|
||||
@ -242,16 +241,15 @@ AttributeWindow::AttributeWindow(FileTypesWindow* target, BMimeType& mimeType,
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
AddChild(BGroupLayoutBuilder(B_VERTICAL, padding)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
.Add(BGridLayoutBuilder(padding, padding)
|
||||
.Add(BGridLayoutBuilder(padding, padding / 2)
|
||||
.Add(fPublicNameControl->CreateLabelLayoutItem(), 0, 0)
|
||||
.Add(fPublicNameControl->CreateTextViewLayoutItem(), 1, 0)
|
||||
.Add(fAttributeControl->CreateLabelLayoutItem(), 0, 1)
|
||||
.Add(fAttributeControl->CreateTextViewLayoutItem(), 1, 1)
|
||||
.Add(typeMenuField->CreateLabelLayoutItem(), 0, 2)
|
||||
.Add(typeMenuField->CreateMenuBarLayoutItem(), 1, 2)
|
||||
)
|
||||
.Add(typeMenuField->CreateMenuBarLayoutItem(), 1, 2))
|
||||
.Add(visibleBox = new BBox(B_FANCY_BORDER,
|
||||
BGridLayoutBuilder(padding, padding)
|
||||
BGridLayoutBuilder(padding, padding / 2)
|
||||
.Add(fDisplayAsMenuField->CreateLabelLayoutItem(), 0, 0)
|
||||
.Add(fDisplayAsMenuField->CreateMenuBarLayoutItem(), 1, 0)
|
||||
.Add(fEditableCheckBox, 3, 0)
|
||||
@ -261,15 +259,12 @@ AttributeWindow::AttributeWindow(FileTypesWindow* target, BMimeType& mimeType,
|
||||
.Add(fWidthControl->CreateTextViewLayoutItem(), 1, 2, 3)
|
||||
.Add(fAlignmentMenuField->CreateLabelLayoutItem(), 0, 3)
|
||||
.Add(fAlignmentMenuField->CreateMenuBarLayoutItem(), 1, 3, 3)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
))
|
||||
.SetInsets(padding, padding, padding, padding)))
|
||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.Add(BSpaceLayoutItem::CreateGlue())
|
||||
.Add(BSpaceLayoutItem::CreateGlue())
|
||||
.Add(cancelButton)
|
||||
.Add(fAcceptButton)
|
||||
)
|
||||
);
|
||||
.Add(fAcceptButton)));
|
||||
visibleBox->SetLabel(fVisibleCheckBox);
|
||||
|
||||
fAcceptButton->MakeDefault(true);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
* Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -122,10 +122,7 @@ ExtensionWindow::ExtensionWindow(FileTypesWindow* target, BMimeType& type,
|
||||
{
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
|
||||
float padding = 3.0f;
|
||||
//if (be_control_look)
|
||||
// padding = be_control_look->DefaultItemSpacing();
|
||||
// this seems to be very large!
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
|
||||
fExtensionControl = new BTextControl(B_TRANSLATE("Extension:"),
|
||||
extension, NULL);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
* Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
#include <File.h>
|
||||
#include <GridLayoutBuilder.h>
|
||||
#include <GroupLayoutBuilder.h>
|
||||
#include <LayoutBuilder.h>
|
||||
#include <Locale.h>
|
||||
#include <MenuField.h>
|
||||
#include <MenuItem.h>
|
||||
@ -55,10 +56,7 @@ FileTypeWindow::FileTypeWindow(BPoint position, const BMessage& refs)
|
||||
B_NOT_V_RESIZABLE | B_NOT_ZOOMABLE
|
||||
| B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS)
|
||||
{
|
||||
float padding = 3.0f;
|
||||
// if (be_control_look)
|
||||
// padding = be_control_look->DefaultItemSpacing();
|
||||
// too big!
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
|
||||
// "File Type" group
|
||||
BBox* fileTypeBox = new BBox("file type BBox");
|
||||
@ -84,8 +82,7 @@ FileTypeWindow::FileTypeWindow(BPoint position, const BMessage& refs)
|
||||
.Add(fTypeControl, 0, 0, 2, 1)
|
||||
.Add(fSelectTypeButton, 0, 1)
|
||||
.Add(fSameTypeAsButton, 1, 1)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
// "Icon" group
|
||||
|
||||
@ -121,17 +118,15 @@ FileTypeWindow::FileTypeWindow(BPoint position, const BMessage& refs)
|
||||
.Add(fPreferredField, 0, 0, 2, 1)
|
||||
.Add(fSelectAppButton, 0, 1)
|
||||
.Add(fSameAppAsButton, 1, 1)
|
||||
.Add(BSpaceLayoutItem::CreateGlue(), 3, 0, 1, 2)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
AddChild(BGridLayoutBuilder(padding, padding)
|
||||
.Add(fileTypeBox, 0, 0, 1, 2)
|
||||
.Add(iconBox, 1, 1, 1, 2)
|
||||
.Add(preferredBox, 0, 2, 1, 2)
|
||||
BLayoutBuilder::Group<>(this, B_HORIZONTAL, padding)
|
||||
.AddGroup(B_VERTICAL, padding)
|
||||
.Add(fileTypeBox)
|
||||
.Add(preferredBox)
|
||||
.End()
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.Add(iconBox);
|
||||
|
||||
fTypeControl->MakeFocus(true);
|
||||
BMimeType::StartWatching(this);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
* Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -117,6 +117,7 @@ TypeIconView::TypeIconView(const char* name)
|
||||
: IconView(name)
|
||||
{
|
||||
ShowEmptyFrame(false);
|
||||
SetIconSize(48);
|
||||
}
|
||||
|
||||
|
||||
@ -150,7 +151,8 @@ TypeIconView::Draw(BRect updateRect)
|
||||
return;
|
||||
}
|
||||
|
||||
SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DISABLED_LABEL_TINT));
|
||||
SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR),
|
||||
B_DISABLED_LABEL_TINT));
|
||||
SetLowColor(ViewColor());
|
||||
|
||||
font_height fontHeight;
|
||||
@ -218,7 +220,8 @@ TypeIconView::BitmapRect() const
|
||||
|
||||
ExtensionListView::ExtensionListView(const char* name,
|
||||
list_view_type type, uint32 flags)
|
||||
: DropTargetListView(name, type, flags)
|
||||
:
|
||||
DropTargetListView(name, type, flags)
|
||||
{
|
||||
}
|
||||
|
||||
@ -235,7 +238,8 @@ ExtensionListView::MessageReceived(BMessage* message)
|
||||
// create extension list
|
||||
BList list;
|
||||
entry_ref ref;
|
||||
for (int32 index = 0; message->FindRef("refs", index++, &ref) == B_OK; ) {
|
||||
for (int32 index = 0; message->FindRef("refs", index, &ref) == B_OK;
|
||||
index++) {
|
||||
const char* point = strchr(ref.name, '.');
|
||||
if (point != NULL && point[1])
|
||||
list.AddItem(strdup(++point));
|
||||
@ -261,7 +265,8 @@ ExtensionListView::AcceptsDrag(const BMessage* message)
|
||||
int32 count = 0;
|
||||
entry_ref ref;
|
||||
|
||||
for (int32 index = 0; message->FindRef("refs", index++, &ref) == B_OK; ) {
|
||||
for (int32 index = 0; message->FindRef("refs", index, &ref) == B_OK;
|
||||
index++) {
|
||||
const char* point = strchr(ref.name, '.');
|
||||
if (point != NULL && point[1])
|
||||
count++;
|
||||
@ -298,25 +303,20 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
showRule = false;
|
||||
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
float padding = 3.0f;
|
||||
BAlignment labelAlignment = BAlignment(B_ALIGN_LEFT, B_ALIGN_TOP);
|
||||
if (be_control_look) {
|
||||
// padding = be_control_look->DefaultItemSpacing();
|
||||
// this seems to be very large!
|
||||
labelAlignment = be_control_look->DefaultLabelAlignment();
|
||||
}
|
||||
BAlignment fullAlignment =
|
||||
BAlignment(B_ALIGN_USE_FULL_WIDTH, B_ALIGN_USE_FULL_HEIGHT);
|
||||
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
BAlignment labelAlignment = be_control_look->DefaultLabelAlignment();
|
||||
BAlignment fullAlignment(B_ALIGN_USE_FULL_WIDTH, B_ALIGN_USE_FULL_HEIGHT);
|
||||
|
||||
// add the menu
|
||||
BMenuBar* menuBar = new BMenuBar("");
|
||||
|
||||
BMenu* menu = new BMenu(B_TRANSLATE("File"));
|
||||
BMenuItem* item;
|
||||
menu->AddItem(item = new BMenuItem(
|
||||
B_TRANSLATE("New resource file" B_UTF8_ELLIPSIS),
|
||||
NULL, 'N', B_COMMAND_KEY));
|
||||
BMenuItem* item = new BMenuItem(
|
||||
B_TRANSLATE("New resource file" B_UTF8_ELLIPSIS), NULL, 'N',
|
||||
B_COMMAND_KEY);
|
||||
item->SetEnabled(false);
|
||||
menu->AddItem(item);
|
||||
|
||||
BMenu* recentsMenu = BRecentFilesList::NewFileListMenu(
|
||||
B_TRANSLATE("Open" B_UTF8_ELLIPSIS), NULL, NULL,
|
||||
@ -365,6 +365,7 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
|
||||
fTypeListView = new MimeTypeListView("typeview", NULL, showIcons, false);
|
||||
fTypeListView->SetSelectionMessage(new BMessage(kMsgTypeSelected));
|
||||
fTypeListView->SetExplicitMinSize(BSize(200, B_SIZE_UNSET));
|
||||
|
||||
BScrollView* typeListScrollView = new BScrollView("scrollview",
|
||||
fTypeListView, B_FRAME_EVENTS | B_WILL_DRAW, false, true);
|
||||
@ -378,8 +379,7 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
.Add(BSpaceLayoutItem::CreateGlue(), 1)
|
||||
.Add(fIconView, 3)
|
||||
.Add(BSpaceLayoutItem::CreateGlue(), 1)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
// "File Recognition" group
|
||||
|
||||
@ -392,6 +392,8 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
|
||||
fAddExtensionButton = new BButton("add ext",
|
||||
B_TRANSLATE("Add" B_UTF8_ELLIPSIS), new BMessage(kMsgAddExtension));
|
||||
fAddExtensionButton->SetExplicitMaxSize(
|
||||
BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
|
||||
|
||||
fRemoveExtensionButton = new BButton("remove ext", B_TRANSLATE("Remove"),
|
||||
new BMessage(kMsgRemoveExtension));
|
||||
@ -411,14 +413,13 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
fRuleControl->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
|
||||
fRuleControl->Hide();
|
||||
|
||||
BView* recognitionBoxGrid =
|
||||
BGridLayoutBuilder(padding, padding)
|
||||
.Add(fExtensionLabel->LabelView(), 0, 0)
|
||||
.Add(scrollView, 0, 1, 2, 3)
|
||||
.Add(fAddExtensionButton, 2, 1)
|
||||
.Add(fRemoveExtensionButton, 2, 2)
|
||||
.Add(fRuleControl, 0, 4, 3, 1)
|
||||
.SetInsets(padding, padding, padding, padding);
|
||||
BView* recognitionBoxGrid = BGridLayoutBuilder(padding, padding / 2)
|
||||
.Add(fExtensionLabel->LabelView(), 0, 0)
|
||||
.Add(scrollView, 0, 1, 2, 3)
|
||||
.Add(fAddExtensionButton, 2, 1)
|
||||
.Add(fRemoveExtensionButton, 2, 2)
|
||||
.Add(fRuleControl, 0, 4, 3, 1)
|
||||
.SetInsets(padding, padding, padding, padding);
|
||||
|
||||
recognitionBoxGrid->SetExplicitAlignment(fullAlignment);
|
||||
fRecognitionBox->AddChild(recognitionBoxGrid);
|
||||
@ -436,16 +437,14 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
fDescriptionControl = new BTextControl("description",
|
||||
B_TRANSLATE("Description:"), "", new BMessage(kMsgDescriptionEntered));
|
||||
|
||||
fDescriptionBox->AddChild(BGridLayoutBuilder(padding, padding)
|
||||
fDescriptionBox->AddChild(BGridLayoutBuilder(padding / 2, padding / 2)
|
||||
.Add(fInternalNameView->LabelView(), 0, 0)
|
||||
.Add(fInternalNameView->TextView(), 1, 0)
|
||||
.Add(fTypeNameControl->CreateLabelLayoutItem(), 0, 1)
|
||||
.Add(fTypeNameControl->CreateTextViewLayoutItem(), 1, 1, 2)
|
||||
.Add(fDescriptionControl->CreateLabelLayoutItem(), 0, 2)
|
||||
.Add(fDescriptionControl->CreateTextViewLayoutItem(), 1, 2, 2)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
// "Preferred Application" group
|
||||
|
||||
@ -466,20 +465,21 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
B_TRANSLATE("Same as" B_UTF8_ELLIPSIS),
|
||||
new BMessage(kMsgSamePreferredAppAs));
|
||||
|
||||
fPreferredBox->AddChild(
|
||||
BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.Add(fPreferredField)
|
||||
.Add(fSelectButton)
|
||||
.Add(fSameAsButton)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
fPreferredBox->AddChild(BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.Add(fPreferredField)
|
||||
.Add(fSelectButton)
|
||||
.Add(fSameAsButton)
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
// "Extra Attributes" group
|
||||
|
||||
fAttributeBox = new BBox("Attribute Box");
|
||||
fAttributeBox->SetLabel(B_TRANSLATE("Extra attributes"));
|
||||
|
||||
fAddAttributeButton = new BButton("add attr",
|
||||
"Add" B_UTF8_ELLIPSIS, new BMessage(kMsgAddAttribute));
|
||||
fAddAttributeButton->SetExplicitMaxSize(
|
||||
BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
|
||||
|
||||
fRemoveAttributeButton = new BButton("remove attr", B_TRANSLATE("Remove"),
|
||||
new BMessage(kMsgRemoveAttribute));
|
||||
@ -493,32 +493,27 @@ FileTypesWindow::FileTypesWindow(const BMessage& settings)
|
||||
BScrollView* attributesScroller = new BScrollView("scrollview attr",
|
||||
fAttributeListView, B_FRAME_EVENTS | B_WILL_DRAW, false, true);
|
||||
|
||||
fAttributeBox->AddChild(BGridLayoutBuilder(padding, padding)
|
||||
fAttributeBox->AddChild(BGridLayoutBuilder(padding, padding / 2)
|
||||
.Add(attributesScroller, 0, 0, 2, 3)
|
||||
.Add(fAddAttributeButton, 2, 0)
|
||||
.Add(fRemoveAttributeButton, 2, 1)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
);
|
||||
.SetInsets(padding, padding, padding, padding));
|
||||
|
||||
|
||||
BView* topView =
|
||||
BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
BView* topView = BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.SetInsets(padding, padding, padding, padding)
|
||||
.Add(BGroupLayoutBuilder(B_VERTICAL, padding)
|
||||
.Add(typeListScrollView)
|
||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.Add(addTypeButton).Add(fRemoveTypeButton)
|
||||
)
|
||||
)
|
||||
.Add(addTypeButton)
|
||||
.Add(fRemoveTypeButton)
|
||||
.AddGlue()))
|
||||
// Right side
|
||||
.Add(BGroupLayoutBuilder(B_VERTICAL, padding)
|
||||
.Add(BGroupLayoutBuilder(B_HORIZONTAL, padding)
|
||||
.Add(fIconBox, 1).Add(fRecognitionBox, 3)
|
||||
)
|
||||
.Add(fIconBox, 1).Add(fRecognitionBox, 3))
|
||||
.Add(fDescriptionBox)
|
||||
.Add(fPreferredBox)
|
||||
.Add(fAttributeBox, 5)
|
||||
);
|
||||
.Add(fAttributeBox, 5));
|
||||
|
||||
//topView->SetExplicitAlignment(fullAlignment);
|
||||
//topView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
* Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -92,9 +92,7 @@ NewFileTypeWindow::NewFileTypeWindow(FileTypesWindow* target,
|
||||
fAddButton = new BButton(B_TRANSLATE("Add type"),
|
||||
new BMessage(kMsgAddType));
|
||||
|
||||
float padding = 3.0f;
|
||||
// if (be_control_look)
|
||||
// padding = be_control_look->DefaultItemSpacing();
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
AddChild(BGridLayoutBuilder(padding, padding)
|
||||
@ -107,8 +105,7 @@ NewFileTypeWindow::NewFileTypeWindow(FileTypesWindow* target,
|
||||
.Add(new BButton(B_TRANSLATE("Cancel"),
|
||||
new BMessage(B_QUIT_REQUESTED)), 1, 2)
|
||||
.Add(fAddButton, 2, 2)
|
||||
.SetColumnWeight(0, 3)
|
||||
);
|
||||
.SetColumnWeight(0, 3));
|
||||
|
||||
BAlignment fullSize = BAlignment(B_ALIGN_USE_FULL_WIDTH,
|
||||
B_ALIGN_USE_FULL_HEIGHT);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||
* Copyright 2006-2010, Axel Dörfler, axeld@pinc-software.de.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
@ -25,8 +25,8 @@ const uint32 kMsgTypeSelected = 'tpsl';
|
||||
const uint32 kMsgSelected = 'seld';
|
||||
|
||||
|
||||
TypeListWindow::TypeListWindow(const char* currentType,
|
||||
uint32 what, BWindow* target)
|
||||
TypeListWindow::TypeListWindow(const char* currentType, uint32 what,
|
||||
BWindow* target)
|
||||
:
|
||||
BWindow(BRect(100, 100, 360, 440), B_TRANSLATE("Choose type"),
|
||||
B_MODAL_WINDOW,
|
||||
@ -34,10 +34,7 @@ TypeListWindow::TypeListWindow(const char* currentType,
|
||||
fTarget(target),
|
||||
fWhat(what)
|
||||
{
|
||||
float padding = 3.0f;
|
||||
//if (be_control_look)
|
||||
// padding = be_control_look->DefaultItemSpacing();
|
||||
// seems too big
|
||||
float padding = be_control_look->DefaultItemSpacing();
|
||||
|
||||
fSelectButton = new BButton("select", B_TRANSLATE("Done"),
|
||||
new BMessage(kMsgSelected));
|
||||
|
Loading…
Reference in New Issue
Block a user