diff --git a/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp b/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp index ab12247207..2bb6033599 100644 --- a/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp +++ b/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp @@ -34,12 +34,14 @@ THE SOFTWARE. #include #include #include +#include #include #include #include #include #include #include +#include #include @@ -54,7 +56,7 @@ static BMessage* BorderWidthMessage(uint32 what, float width) AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings) : HWindow(BRect(0, 0, 450, 180), "Advanced Settings", B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, B_NOT_RESIZABLE | B_NOT_MINIMIZABLE | - B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE), + B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS | B_CLOSE_ON_ESCAPE), fSettings(settings) { AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED)); @@ -84,19 +86,9 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings) if (settings->FindInt32("close_option", (int32*)&fCloseOption) != B_OK) fCloseOption = kNever; - BRect bounds(Bounds()); - BBox *panel = new BBox(bounds, "background", B_FOLLOW_ALL, - B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP, B_PLAIN_BORDER); - AddChild(panel); - - bounds.InsetBy(10.0, 10.0); - float divider = be_plain_font->StringWidth("Close status window when done: "); - fLicenseKey = new BTextControl(bounds, "pdflib_license_key", + fLicenseKey = new BTextControl("pdflib_license_key", "PDFlib License Key: ", "", NULL); - panel->AddChild(fLicenseKey); fLicenseKey->SetEnabled(false); - fLicenseKey->ResizeToPreferred(); - fLicenseKey->SetDivider(divider); fLicenseKey->TextView()->HideTyping(true); fLicenseKey->TextView()->SetText(licenseKey.String()); @@ -106,49 +98,52 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings) // border link // bounds.OffsetBy(0.0, fLicenseKey->Bounds().Height() + 10.0); - BPopUpMenu* m = new BPopUpMenu("Link Border"); - m->SetRadioMode(true); + BPopUpMenu* menuLinkBorder = new BPopUpMenu("Link Border"); + menuLinkBorder->SetRadioMode(true); - BMenuField *mf = new BMenuField(bounds, "link_border_width_menu", - "Link Border: ", m); - panel->AddChild(mf); - mf->ResizeToPreferred(); - mf->SetDivider(divider); - mf->Menu()->SetLabelFromMarked(true); + BMenuField* menuFieldLinkBorder = new BMenuField("link_border_width_menu", + "Link Border: ", menuLinkBorder); + menuFieldLinkBorder->Menu()->SetLabelFromMarked(true); BMenuItem* item; - m->AddItem(item = new BMenuItem("None", new BMessage(CREATE_LINKS_MSG))); - item->SetMarked(!fCreateLinks); - m->AddSeparatorItem(); + menuLinkBorder->AddItem(item = new BMenuItem("None", + new BMessage(CREATE_LINKS_MSG))); + + item->SetMarked(!fCreateLinks); + menuLinkBorder->AddSeparatorItem(); + + menuLinkBorder->AddItem(item = new BMenuItem("No Border", + BorderWidthMessage(LINK_BORDER_MSG, 0.0))); - m->AddItem(item = new BMenuItem("No Border", BorderWidthMessage(LINK_BORDER_MSG, 0.0))); if (fCreateLinks && fLinkBorderWidth == 0) item->SetMarked(true); - m->AddItem(item = new BMenuItem("Normal Border", BorderWidthMessage(LINK_BORDER_MSG, 1.0))); + menuLinkBorder->AddItem(item = new BMenuItem("Normal Border", + BorderWidthMessage(LINK_BORDER_MSG, 1.0))); + if (fCreateLinks && fLinkBorderWidth == 1) item->SetMarked(true); - m->AddItem(item = new BMenuItem("Bold Border", BorderWidthMessage(LINK_BORDER_MSG, 2.0))); + menuLinkBorder->AddItem(item = new BMenuItem("Bold Border", + BorderWidthMessage(LINK_BORDER_MSG, 2.0))); + if (fCreateLinks && fLinkBorderWidth == 2) item->SetMarked(true); // bookmarks - m = new BPopUpMenu("Bookmark Definition File"); - m->SetRadioMode(true); + BPopUpMenu* menuBookmark = new BPopUpMenu("Bookmark Definition File"); + menuBookmark->SetRadioMode(true); - bounds.OffsetBy(0.0, mf->Bounds().Height() + 10.0); - mf = new BMenuField(bounds, "definition_menu", "Bookmark Definition File: ", m); - panel->AddChild(mf); - mf->ResizeToPreferred(); - mf->SetDivider(divider); - mf->Menu()->SetLabelFromMarked(true); + BMenuField* menuFieldBookmark = new BMenuField("definition_menu", + "Bookmark Definition File: ", menuBookmark); + menuFieldBookmark->Menu()->SetLabelFromMarked(true); - m->AddItem(item = new BMenuItem("None", new BMessage(CREATE_BOOKMARKS_MSG))); + menuBookmark->AddItem(item = new BMenuItem("None", + new BMessage(CREATE_BOOKMARKS_MSG))); item->SetMarked(!fCreateBookmarks); - m->AddSeparatorItem(); + menuBookmark->AddSeparatorItem(); BDirectory bookmarks(_SetupDirectory("bookmarks")); if (bookmarks.InitCheck() == B_OK) { @@ -156,7 +151,7 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings) while (bookmarks.GetNextEntry(&entry) != B_ENTRY_NOT_FOUND) { char name[B_FILE_NAME_LENGTH]; if (entry.GetName(name) == B_OK) { - m->AddItem(item = new BMenuItem(name, new BMessage(DEFINITION_MSG))); + menuBookmark->AddItem(item = new BMenuItem(name, new BMessage(DEFINITION_MSG))); if (fCreateBookmarks && strcmp(name, fBookmarkDefinition.String()) == 0) item->SetMarked(true); } @@ -165,19 +160,17 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings) // cross references - m = new BPopUpMenu("Cross References File"); - m->SetRadioMode(true); + BPopUpMenu* menuCrossReferences = new BPopUpMenu("Cross References File"); + menuCrossReferences->SetRadioMode(true); - bounds.OffsetBy(0.0, mf->Bounds().Height() + 10.0); - mf = new BMenuField(bounds, "xrefs_menu", "Cross References File: ", m); - panel->AddChild(mf); - mf->ResizeToPreferred(); - mf->SetDivider(divider); - mf->Menu()->SetLabelFromMarked(true); + BMenuField* menuFieldCrossReferences = new BMenuField("xrefs_menu", + "Cross References File: ", menuCrossReferences); + menuFieldCrossReferences->Menu()->SetLabelFromMarked(true); - m->AddItem(item = new BMenuItem("None", new BMessage(CREATE_XREFS_MSG))); + menuCrossReferences->AddItem(item = new BMenuItem("None", + new BMessage(CREATE_XREFS_MSG))); item->SetMarked(!fCreateXRefs); - m->AddSeparatorItem(); + menuCrossReferences->AddSeparatorItem(); BDirectory xrefs(_SetupDirectory("xrefs")); if (xrefs.InitCheck() == B_OK) { @@ -185,62 +178,62 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings) while (xrefs.GetNextEntry(&entry) != B_ENTRY_NOT_FOUND) { char name[B_FILE_NAME_LENGTH]; if (entry.GetName(name) == B_OK) { - m->AddItem (item = new BMenuItem(name, new BMessage(XREFS_MSG))); + menuCrossReferences->AddItem(item = new BMenuItem(name, + new BMessage(XREFS_MSG))); if (fCreateXRefs && strcmp(name, fXRefs.String()) == 0) item->SetMarked(true); } } } - m = new BPopUpMenu("Close status window when done"); - m->SetRadioMode(true); + BPopUpMenu* menuStatusWindow = + new BPopUpMenu("Close status window when done"); + menuStatusWindow->SetRadioMode(true); - bounds.OffsetBy(0.0, mf->Bounds().Height() + 10.0); - mf = new BMenuField(bounds, "close_option_menu", "Close status window when done: ", m); - panel->AddChild(mf); - mf->ResizeToPreferred(); - mf->SetDivider(divider); - mf->Menu()->SetLabelFromMarked(true); + BMenuField* menuFieldStatusWindow = new BMenuField("close_option_menu", + "Close status window when done: ", menuStatusWindow); + menuFieldStatusWindow->Menu()->SetLabelFromMarked(true); - _AddMenuItem(m, "Never", kNever); - _AddMenuItem(m, "No Errors", kNoErrors); - _AddMenuItem(m, "No Errors or Warnings", kNoErrorsOrWarnings); - _AddMenuItem(m, "No Errors, Warnings or Info", kNoErrorsWarningsOrInfo); - _AddMenuItem(m, "Always", kAlways); + _AddMenuItem(menuStatusWindow, "Never", kNever); + _AddMenuItem(menuStatusWindow, "No Errors", kNoErrors); + _AddMenuItem(menuStatusWindow, "No Errors or Warnings", + kNoErrorsOrWarnings); + _AddMenuItem(menuStatusWindow, "No Errors, Warnings or Info", + kNoErrorsWarningsOrInfo); + _AddMenuItem(menuStatusWindow, "Always", kAlways); - bounds = Bounds(); - bounds.InsetBy(5.0, 0.0); - bounds.top = mf->Frame().bottom + 10.0; - BBox *line = new BBox(BRect(bounds.left, bounds.top, bounds.right, - bounds.top + 1.0), NULL, B_FOLLOW_LEFT_RIGHT); - panel->AddChild(line); + BButton *cancelButton = new BButton("cancel", "Cancel", + new BMessage(CANCEL_MSG)); - bounds.InsetBy(5.0, 0.0); - bounds.OffsetBy(0.0, 11.0); - BButton *cancel = new BButton(bounds, NULL, "Cancel", new BMessage(CANCEL_MSG)); - panel->AddChild(cancel); - cancel->ResizeToPreferred(); + BButton *okButton = new BButton("ok", "Ok", new BMessage(OK_MSG)); + okButton->MakeDefault(true); - BButton *ok = new BButton(bounds, NULL, "OK", new BMessage(OK_MSG)); - panel->AddChild(ok, cancel); - ok->ResizeToPreferred(); - - ResizeTo(divider * 1.3 + 10.0 + ok->Bounds().Width() + cancel->Bounds().Width(), - ok->Frame().bottom + 10.0); - - bounds.right = Bounds().right - 10.0; - ok->MoveTo(bounds.right - ok->Bounds().Width(), ok->Frame().top); - - bounds = ok->Frame(); - cancel->MoveTo(bounds.left - cancel->Bounds().Width() - 10.0, bounds.top); - - ok->MakeDefault(true); - - BButton *button = new BButton(bounds, NULL, "Open Settings Folder" B_UTF8_ELLIPSIS, + BButton *openButton = new BButton("openSettingsFolder", + "Open Settings Folder" B_UTF8_ELLIPSIS, new BMessage(OPEN_SETTINGS_FOLDER_MSG)); - panel->AddChild(button); - button->ResizeToPreferred(); - button->MoveTo(fLicenseKey->Frame().left, bounds.top); + + BLayoutBuilder::Group<>(this, B_VERTICAL) + .SetInsets(B_USE_DEFAULT_SPACING) + .AddGrid(B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING) + .Add(fLicenseKey->CreateLabelLayoutItem(), 0, 0) + .Add(fLicenseKey->CreateTextViewLayoutItem(), 1, 0) + .Add(menuFieldLinkBorder->CreateLabelLayoutItem(), 0, 1) + .Add(menuFieldLinkBorder->CreateMenuBarLayoutItem(), 1, 1) + .Add(menuFieldBookmark->CreateLabelLayoutItem(), 0, 2) + .Add(menuFieldBookmark->CreateMenuBarLayoutItem(), 1, 2) + .Add(menuFieldCrossReferences->CreateLabelLayoutItem(), 0, 3) + .Add(menuFieldCrossReferences->CreateMenuBarLayoutItem(), 1, 3) + .Add(menuFieldStatusWindow->CreateLabelLayoutItem(), 0, 4) + .Add(menuFieldStatusWindow->CreateMenuBarLayoutItem(), 1, 4) + .End() + .Add(new BSeparatorView(B_HORIZONTAL, B_FANCY_BORDER)) + .AddGroup(B_HORIZONTAL) + .Add(openButton) + .AddGlue() + .Add(cancelButton) + .Add(okButton) + .End(); + BRect winFrame(Frame()); BRect screenFrame(BScreen().Frame()); diff --git a/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp b/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp index ff61a0a0da..8c01762521 100644 --- a/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp +++ b/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp @@ -30,6 +30,7 @@ THE SOFTWARE. */ #include +#include #include #include "BlockingWindow.h" #include "FontsWindow.h" @@ -108,93 +109,70 @@ DragListView::InitiateDrag(BPoint point, int32 index, bool wasSelected) FontsWindow::FontsWindow(Fonts *fonts) : HWindow(BRect(0,0,400,220), "Fonts", B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, B_NOT_RESIZABLE | B_NOT_MINIMIZABLE | - B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE) + B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS | B_CLOSE_ON_ESCAPE) { // ---- Ok, build a default page setup user interface - BRect r, r1; - BView *panel; - BButton *button; - float x, y, w, h; - BString setting_value; - BTabView *tabView; - BTab *tab; AddShortcut('W',B_COMMAND_KEY,new BMessage(B_QUIT_REQUESTED)); fFonts = fonts; - r = Bounds(); - tabView = new BTabView(r, "tab_view"); + BTabView* tabView = new BTabView("tabview", B_WIDTH_FROM_LABEL); // --- Embedding tab --- - tab = new BTab(); // add a *dialog* background + BView* embeddingPanel = new BView("Embedding", B_WILL_DRAW + | B_FRAME_EVENTS | B_NAVIGABLE_JUMP); + embeddingPanel->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); - r.bottom -= tabView->TabHeight(); - panel = new BView(r, "embedding_panel", B_FOLLOW_ALL, - B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP); - panel-> SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); - - r1 = r; r1.OffsetTo(0, 0); // add font list #if USE_CLV - fList = new BColumnListView(BRect(r.left+5, r.top+5, r.right-5-B_V_SCROLL_BAR_WIDTH, r.bottom-5-B_H_SCROLL_BAR_HEIGHT-30), + fList = new BColumnListView(BRect(), "fonts_list", B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE_JUMP); - panel->AddChild(fList); + embeddingPanel->AddChild(fList); #else - fList = new BListView(BRect(r1.left+5, r1.top+5, r1.right-5-B_V_SCROLL_BAR_WIDTH, r1.bottom-5-B_H_SCROLL_BAR_HEIGHT-30), - "fonts_list", B_MULTIPLE_SELECTION_LIST); - panel->AddChild(new BScrollView("scroll_list", fList, - B_FOLLOW_LEFT | B_FOLLOW_TOP, 0, false, true)); + fList = new BListView("fonts_list", B_MULTIPLE_SELECTION_LIST); + BScrollView* embeddingScrollView = new BScrollView("scroll_list", + fList, 0, false, true); fList->SetSelectionMessage(new BMessage(SELECTION_MSG)); #endif FillFontList(); // add a "Embed" button, and make it default - button = new BButton(r1, NULL, "Embed", new BMessage(EMBED_MSG), - B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); - button->ResizeToPreferred(); - button->GetPreferredSize(&w, &h); - x = r1.right - w - 8; - y = r1.bottom - h - 8; - button->MoveTo(x, y); - button->SetEnabled(false); - panel->AddChild(button); - button->MakeDefault(true); - fEmbedButton = button; + fEmbedButton = new BButton("embed", "Embed", new BMessage(EMBED_MSG)); + fEmbedButton->SetEnabled(false); + fEmbedButton->MakeDefault(true); + // add a "Substitute" button - button = new BButton(r, NULL, "Substitute", new BMessage(SUBST_MSG), - B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); - button->GetPreferredSize(&w, &h); - button->ResizeToPreferred(); - button->MoveTo(x - w - 8, y); - button->SetEnabled(false); - panel->AddChild(button); - fSubstButton = button; + fSubstButton = new BButton("substitute", "Substitute", + new BMessage(SUBST_MSG)); + fSubstButton->SetEnabled(false); + embeddingScrollView->SetExplicitMinSize(BSize(200, 200)); - // add a separator line... - BBox * line = new BBox(BRect(r1.left, y - 9, r1.right, y - 8), NULL, - B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM ); - panel->AddChild(line); + BLayoutBuilder::Group<>(embeddingPanel, B_VERTICAL) + .SetInsets(B_USE_DEFAULT_SPACING) + .Add(embeddingScrollView) + .AddGroup(B_HORIZONTAL) + .AddGlue() + .Add(fEmbedButton) + .Add(fSubstButton); - tabView->AddTab(panel, tab); - tab->SetLabel("Embedding"); + tabView->AddTab(embeddingPanel); // --- CJK tab --- - tab = new BTab(); // add a *dialog* background - panel = new BView(r, "cjk_panel", B_FOLLOW_ALL, - B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP); - panel-> SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); + BView* cjkPanel = new BView("CJK", B_WILL_DRAW | B_FRAME_EVENTS + | B_NAVIGABLE_JUMP); + cjkPanel->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); BListView* list = - new DragListView(BRect(r1.left+5, r1.top+5, r1.right-5-B_V_SCROLL_BAR_WIDTH, r1.bottom-5-B_H_SCROLL_BAR_HEIGHT-30), + new DragListView(BRect(), "cjk", B_MULTIPLE_SELECTION_LIST); - panel->AddChild(new BScrollView("cjk_scroll_list", list, - B_FOLLOW_LEFT | B_FOLLOW_TOP, 0, false, true)); + BScrollView* cjkScrollView = new BScrollView("cjk_scroll_list", + list, 0, false, true); font_encoding enc; bool active; for (int i = 0; fFonts->GetCJKOrder(i, enc, active); i++) { @@ -204,63 +182,40 @@ FontsWindow::FontsWindow(Fonts *fonts) fCJKList = list; // add a "Embed" button - button = new BButton(r, NULL, "Enable", new BMessage(ENABLE_MSG), - B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); - button->ResizeToPreferred(); - button->GetPreferredSize(&w, &h); - x = r1.right - w - 8; - y = r1.bottom - h - 8; - button->MoveTo(x, y); - button->SetEnabled(false); - panel->AddChild(button); - fEnableButton = button; + fEnableButton = new BButton("enable", "Enable", new BMessage(ENABLE_MSG)); + fEnableButton->SetEnabled(false); // add a "Disable" button - button = new BButton(r, NULL, "Disable", new BMessage(DISABLE_MSG), - B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); - button->GetPreferredSize(&w, &h); - button->ResizeToPreferred(); - x -= w + 8; - button->MoveTo(x, y); - button->SetEnabled(false); - panel->AddChild(button); - fDisableButton = button; + fDisableButton = new BButton("disable", "Disable", + new BMessage(DISABLE_MSG)); + fDisableButton->SetEnabled(false); // add a "Down" button - button = new BButton(r, NULL, "Down", new BMessage(DOWN_MSG), - B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); - button->GetPreferredSize(&w, &h); - button->ResizeToPreferred(); - x -= w + 8; - button->MoveTo(x, y); - button->SetEnabled(false); - panel->AddChild(button); - fDownButton = button; + fDownButton = new BButton("down", "Down", new BMessage(DOWN_MSG)); + fDownButton->SetEnabled(false); // add a "Up" button - button = new BButton(r, NULL, "Up", new BMessage(UP_MSG), - B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM); - button->GetPreferredSize(&w, &h); - button->ResizeToPreferred(); - x -= w + 8; - button->MoveTo(x, y); - button->SetEnabled(false); - panel->AddChild(button); - fUpButton = button; + fUpButton = new BButton("up", "Up", new BMessage(UP_MSG)); + fUpButton->SetEnabled(false); - // add a separator line... - line = new BBox(BRect(r1.left, y - 9, r1.right, y - 8), NULL, - B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM ); - panel->AddChild(line); + BLayoutBuilder::Group<>(cjkPanel, B_VERTICAL) + .SetInsets(B_USE_DEFAULT_SPACING) + .Add(cjkScrollView) + .AddGroup(B_HORIZONTAL) + .AddGlue() + .Add(fEnableButton) + .Add(fDisableButton) + .Add(fDownButton) + .Add(fUpButton); - - tabView->AddTab(panel, tab); - tab->SetLabel("CJK"); + tabView->AddTab(cjkPanel); // add the tabView to the window - AddChild(tabView); - - MoveTo(320, 320); + BLayoutBuilder::Group<>(this, B_VERTICAL) + .SetInsets(B_USE_DEFAULT_SPACING) + .Add(tabView); + + MoveTo(320,320); } diff --git a/src/add-ons/print/drivers/pdf/source/FontsWindow.h b/src/add-ons/print/drivers/pdf/source/FontsWindow.h index 61fca599d0..a91544f8ba 100644 --- a/src/add-ons/print/drivers/pdf/source/FontsWindow.h +++ b/src/add-ons/print/drivers/pdf/source/FontsWindow.h @@ -53,7 +53,7 @@ class DragListView : public BListView public: DragListView(BRect frame, const char *name, list_view_type type = B_SINGLE_SELECTION_LIST, - uint32 resizingMode = B_FOLLOW_LEFT | B_FOLLOW_TOP, + uint32 resizingMode = B_FOLLOW_ALL, uint32 flags = B_WILL_DRAW | B_NAVIGABLE | B_FRAME_EVENTS); bool InitiateDrag(BPoint point, int32 index, bool wasSelected); }; diff --git a/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp b/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp index a8023b66d7..2354921be4 100644 --- a/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp +++ b/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp @@ -31,9 +31,9 @@ THE SOFTWARE. */ #include -#include -#include #include +#include +#include #include #include @@ -122,41 +122,34 @@ JobSetupWindow::JobSetupWindow(BMessage *msg, const char * printerName) fFrom->TextView()->DisallowChar(i); } - BBox *separator = new BBox("separator"); - separator->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, 1)); - - BButton *documentInfo = new BButton("documentInfo", + BButton* documentInfo = new BButton("documentInfo", "Document" B_UTF8_ELLIPSIS, new BMessage(DOC_INFO_MSG)); - BButton *cancel = new BButton("cancel", "Cancel", new BMessage(CANCEL_MSG)); + BButton* cancel = new BButton("cancel", "Cancel", new BMessage(CANCEL_MSG)); - BButton *ok = new BButton("ok", "OK", new BMessage(OK_MSG)); + BButton* ok = new BButton("ok", "OK", new BMessage(OK_MSG)); ok->MakeDefault(true); - BGridView* settings = new BGridView(); - BGridLayout* settingsLayout = settings->GridLayout(); - settingsLayout->AddItem(fFrom->CreateLabelLayoutItem(), 0, 0); - settingsLayout->AddItem(fFrom->CreateTextViewLayoutItem(), 1, 0); - settingsLayout->AddItem(fTo->CreateLabelLayoutItem(), 0, 1); - settingsLayout->AddItem(fTo->CreateTextViewLayoutItem(), 1, 1); - settingsLayout->SetSpacing(0, 0); - - SetLayout(new BGroupLayout(B_VERTICAL)); - AddChild(BGroupLayoutBuilder(B_VERTICAL, 0) + BLayoutBuilder::Group<>(this, B_VERTICAL, B_USE_SMALL_SPACING) + .SetInsets(B_USE_DEFAULT_SPACING) .Add(fAll) .Add(fRange) - .Add(settings) + .AddGrid(B_USE_SMALL_SPACING, B_USE_SMALL_SPACING) + .SetInsets(B_USE_SMALL_SPACING, 0, B_USE_SMALL_SPACING, 0) + .Add(fFrom->CreateLabelLayoutItem(), 0, 0) + .Add(fFrom->CreateTextViewLayoutItem(), 1, 0) + .Add(fTo->CreateLabelLayoutItem(), 0, 1) + .Add(fTo->CreateTextViewLayoutItem(), 1, 1) + .End() .AddGlue() - .Add(separator) - .AddGroup(B_HORIZONTAL, 10, 1.0f) + .Add(new BSeparatorView(B_HORIZONTAL, B_FANCY_BORDER)) + .AddGroup(B_HORIZONTAL) .Add(documentInfo) .AddGlue() .Add(cancel) .Add(ok) - .End() - .SetInsets(10, 10, 10, 10) - ); + .End(); } diff --git a/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp b/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp index d8f0e34f22..4a8b3f799d 100644 --- a/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp +++ b/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp @@ -43,14 +43,12 @@ THE SOFTWARE. #include "PrintUtils.h" -#include #include -#include -#include -#include +#include #include #include #include +#include #include #include @@ -212,9 +210,6 @@ PageSetupWindow::PageSetupWindow(BMessage *msg, const char *printerName) fPDFCompressionSlider->SetHashMarks(B_HASH_MARKS_BOTTOM); fPDFCompressionSlider->SetValue(compression); - BBox *separator = new BBox("separator"); - separator->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, 1)); - BButton *cancel = new BButton("cancel", "Cancel", new BMessage(CANCEL_MSG)); BButton *ok = new BButton("ok", "OK", new BMessage(OK_MSG)); @@ -227,39 +222,33 @@ PageSetupWindow::PageSetupWindow(BMessage *msg, const char *printerName) "Advanced" B_UTF8_ELLIPSIS, new BMessage(ADVANCED_MSG)); - BGridView* settings = new BGridView(); - BGridLayout* settingsLayout = settings->GridLayout(); - settingsLayout->AddItem(fPageSizeMenu->CreateLabelLayoutItem(), 0, 0); - settingsLayout->AddItem(fPageSizeMenu->CreateMenuBarLayoutItem(), 1, 0); - settingsLayout->AddItem(fOrientationMenu->CreateLabelLayoutItem(), 0, 1); - settingsLayout->AddItem(fOrientationMenu->CreateMenuBarLayoutItem(), 1, 1); - settingsLayout->AddItem(fPDFCompatibilityMenu->CreateLabelLayoutItem(), 0, 2); - settingsLayout->AddItem(fPDFCompatibilityMenu->CreateMenuBarLayoutItem(), 1, 2); - settingsLayout->AddView(fPDFCompressionSlider, 0, 3, 2); - settingsLayout->SetSpacing(0, 0); + float padding = 10; - SetLayout(new BGroupLayout(B_VERTICAL)); - AddChild(BGroupLayoutBuilder(B_VERTICAL, 0) + BLayoutBuilder::Group<>(this, B_VERTICAL, padding) + .SetInsets(B_USE_DEFAULT_SPACING) .AddGroup(B_HORIZONTAL, 5, 1) .AddGroup(B_VERTICAL, 0, 1.0f) .Add(fMarginView) - .AddGlue() .End() - .AddGroup(B_VERTICAL, 0, 1.0f) - .Add(settings) - .AddGlue() + .AddGrid(padding, padding / 2) + .SetInsets(padding, padding * 2, padding, padding) + .Add(fPageSizeMenu->CreateLabelLayoutItem(), 0, 0) + .Add(fPageSizeMenu->CreateMenuBarLayoutItem(), 1, 0) + .Add(fOrientationMenu->CreateLabelLayoutItem(), 0, 1) + .Add(fOrientationMenu->CreateMenuBarLayoutItem(), 1, 1) + .Add(fPDFCompatibilityMenu->CreateLabelLayoutItem(), 0, 2) + .Add(fPDFCompatibilityMenu->CreateMenuBarLayoutItem(), 1, 2) + .Add(fPDFCompressionSlider, 0, 3, 2) .End() .End() - .Add(separator) + .Add(new BSeparatorView(B_HORIZONTAL, B_FANCY_BORDER)) .AddGroup(B_HORIZONTAL, 10, 1.0f) .Add(fontsButton) .Add(advancedButton) .AddGlue() .Add(cancel) .Add(ok) - .End() - .SetInsets(10, 10, 10, 10) - ); + .End(); BRect winFrame(Frame()); BRect screenFrame(BScreen().Frame());