* Simplify the interface layout (don't use struts for the purpose of item

spacing and insets).
* Added a check box for disalbling the index generation on BFS volumes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34908 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus 2010-01-05 17:26:48 +00:00
parent 100418b654
commit 035cb25ef2
2 changed files with 34 additions and 21 deletions

View File

@ -1,4 +1,5 @@
/* /*
* Copyright 2009-2010, Stephan Aßmus <superstippi@gmx.de>
* Copyright 2009, Bryce Groff, brycegroff@gmail.com. * Copyright 2009, Bryce Groff, brycegroff@gmail.com.
* Distributed under the terms of the MIT License. * Distributed under the terms of the MIT License.
*/ */
@ -9,13 +10,15 @@
#include "InitializeParameterEditor.h" #include "InitializeParameterEditor.h"
#include <Button.h> #include <Button.h>
#include <GroupLayoutBuilder.h> #include <CheckBox.h>
#include <ControlLook.h>
#include <GridLayoutBuilder.h> #include <GridLayoutBuilder.h>
#include <MenuField.h> #include <MenuField.h>
#include <MenuItem.h> #include <MenuItem.h>
#include <PartitionParameterEditor.h> #include <PartitionParameterEditor.h>
#include <PopUpMenu.h> #include <PopUpMenu.h>
#include <SpaceLayoutItem.h> #include <SpaceLayoutItem.h>
#include <TextControl.h>
#include <View.h> #include <View.h>
#include <Window.h> #include <Window.h>
@ -29,6 +32,7 @@ InitializeBFSEditor::InitializeBFSEditor()
fView(NULL), fView(NULL),
fNameTC(NULL), fNameTC(NULL),
fBlockSizeMF(NULL), fBlockSizeMF(NULL),
fUseIndicesCB(NULL),
fParameters(NULL) fParameters(NULL)
{ {
_CreateViewControls(); _CreateViewControls();
@ -59,6 +63,9 @@ InitializeBFSEditor::FinishedEditing()
// TODO: use libroot driver settings API // TODO: use libroot driver settings API
fParameters << "block_size " << size << ";\n"; fParameters << "block_size " << size << ";\n";
} }
if (fUseIndicesCB->Value() == B_CONTROL_OFF)
fParameters << "noindex;\n";
fParameters << "name \"" << fNameTC->Text() << "\";\n"; fParameters << "name \"" << fNameTC->Text() << "\";\n";
return true; return true;
@ -111,26 +118,28 @@ InitializeBFSEditor::_CreateViewControls()
fBlockSizeMF = new BMenuField("Blocksize", blocksizeMenu, NULL); fBlockSizeMF = new BMenuField("Blocksize", blocksizeMenu, NULL);
defaultItem->SetMarked(true); defaultItem->SetMarked(true);
fView = BGroupLayoutBuilder(B_VERTICAL, 5) fUseIndicesCB = new BCheckBox("Enable query support", NULL);
.Add(BSpaceLayoutItem::CreateVerticalStrut(10)) fUseIndicesCB->SetValue(true);
fUseIndicesCB->SetToolTip("Disabling query support may speed up "
"certain file system operations, but should only be used "
"if one is absolutely certain that one will not need queries.\n"
"Any volume that is intended for booting Haiku must have query "
"support enabled.");
// test views float spacing = be_control_look->DefaultItemSpacing();
.Add(BGridLayoutBuilder(10, 10)
// row 1
.Add(BSpaceLayoutItem::CreateHorizontalStrut(5), 0, 0)
.Add(fNameTC->CreateLabelLayoutItem(), 1, 0) fView = BGridLayoutBuilder(spacing, spacing)
.Add(fNameTC->CreateTextViewLayoutItem(), 2, 0) // row 1
.Add(fNameTC->CreateLabelLayoutItem(), 0, 0)
.Add(fNameTC->CreateTextViewLayoutItem(), 1, 0)
.Add(BSpaceLayoutItem::CreateHorizontalStrut(10), 3, 0) // row 2
.Add(fBlockSizeMF->CreateLabelLayoutItem(), 0, 1)
.Add(fBlockSizeMF->CreateMenuBarLayoutItem(), 1, 1)
// row 2 // row 3
.Add(BSpaceLayoutItem::CreateHorizontalStrut(10), 0, 1) .Add(fUseIndicesCB, 0, 2, 2)
.Add(fBlockSizeMF->CreateLabelLayoutItem(), 1, 1) .SetInsets(spacing, spacing, spacing, spacing)
.Add(fBlockSizeMF->CreateMenuBarLayoutItem(), 2, 1)
.Add(BSpaceLayoutItem::CreateHorizontalStrut(5), 3, 1)
)
; ;
} }

View File

@ -1,4 +1,5 @@
/* /*
* Copyright 2009-2010, Stephan Aßmus <superstippi@gmx.de>
* Copyright 2009, Bryce Groff, brycegroff@gmail.com. * Copyright 2009, Bryce Groff, brycegroff@gmail.com.
* Distributed under the terms of the MIT License. * Distributed under the terms of the MIT License.
*/ */
@ -7,11 +8,12 @@
#include <PartitionParameterEditor.h> #include <PartitionParameterEditor.h>
#include <MenuField.h>
#include <TextControl.h>
#include <String.h> #include <String.h>
#include <View.h>
class BCheckBox;
class BMenuField;
class BTextControl;
class BView;
class InitializeBFSEditor : public BPartitionParameterEditor { class InitializeBFSEditor : public BPartitionParameterEditor {
@ -31,6 +33,8 @@ private:
BView* fView; BView* fView;
BTextControl* fNameTC; BTextControl* fNameTC;
BMenuField* fBlockSizeMF; BMenuField* fBlockSizeMF;
BCheckBox* fUseIndicesCB;
BString fParameters; BString fParameters;
}; };