From 8c4a96818de91b0e644c747fd1c1521771f9b6d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Tue, 20 Nov 2018 05:05:11 +0100 Subject: [PATCH] shelf: use layout for the config view & B_TRANSLATE --- src/add-ons/screen_savers/shelf/Jamfile | 8 ++++- src/add-ons/screen_savers/shelf/Shelf.cpp | 37 +++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/add-ons/screen_savers/shelf/Jamfile b/src/add-ons/screen_savers/shelf/Jamfile index 09702e4466..ad8a46b5c8 100644 --- a/src/add-ons/screen_savers/shelf/Jamfile +++ b/src/add-ons/screen_savers/shelf/Jamfile @@ -2,5 +2,11 @@ SubDir HAIKU_TOP src add-ons screen_savers shelf ; ScreenSaver Shelf : Shelf.cpp : - be libscreensaver.so ; + be libscreensaver.so localestub ; + +DoCatalogs Message : + x-vnd.Haiku-ShelfScreensaver + : + Shelf.cpp +; diff --git a/src/add-ons/screen_savers/shelf/Shelf.cpp b/src/add-ons/screen_savers/shelf/Shelf.cpp index e304c515c7..8de57eb974 100644 --- a/src/add-ons/screen_savers/shelf/Shelf.cpp +++ b/src/add-ons/screen_savers/shelf/Shelf.cpp @@ -11,7 +11,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -22,6 +25,10 @@ #include +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "Shelf Screen Saver" + + const rgb_color kMediumBlue = {0, 0, 100}; const rgb_color kWhite = {255, 255, 255}; @@ -93,8 +100,34 @@ Shelf::StartConfig(BView *view) { PRINT(("%p:%s()\n", this, __FUNCTION__)); fInConfig = true; - view->AddChild(new BStringView(BRect(20, 10, 200, 35), "", - "Shelf, by François Revol.")); + + BStringView* titleString = new BStringView("Title", + B_TRANSLATE("Shelf")); + titleString->SetFont(be_bold_font); + + BStringView* copyrightString = new BStringView("Copyright", + B_TRANSLATE("© 2012 François Revol.")); + + BTextView* helpText = new BTextView("Help Text"); + helpText->MakeEditable(false); + helpText->SetViewColor(view->ViewColor()); + rgb_color textColor = ui_color(B_PANEL_TEXT_COLOR); + helpText->SetFontAndColor(be_plain_font, B_FONT_ALL, &textColor); + BString help; + help << B_TRANSLATE("Drop replicants on the full-screen window " + "behind the preferences panel."); + //help << "\n\n"; + //help << B_TRANSLATE("You can also drop colors."); + helpText->SetText(help.String()); + + BLayoutBuilder::Group<>(view, B_VERTICAL, B_USE_HALF_ITEM_SPACING) + .SetInsets(B_USE_DEFAULT_SPACING) + .Add(titleString) + .Add(copyrightString) + .AddStrut(roundf(be_control_look->DefaultItemSpacing() / 2)) + .Add(helpText) + .AddGlue() + .End(); BScreen screen; fConfigWindow = new BWindow(screen.Frame(), "Shelf Config",