Localization. I believe it to be correct but for some reason Backgrounds crashes on startup. Enjoy\!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33970 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jonas Sundström
2009-11-09 23:11:10 +00:00
parent 48cfade40f
commit c93e2c436d
4 changed files with 62 additions and 39 deletions
+10 -5
View File
@@ -9,13 +9,18 @@
#include <Application.h> #include <Application.h>
#include <Catalog.h>
#include <LayoutBuilder.h> #include <LayoutBuilder.h>
#include <Locale.h>
#include <TrackerAddOnAppLaunch.h> #include <TrackerAddOnAppLaunch.h>
#include <Window.h> #include <Window.h>
#include "BackgroundsView.h" #include "BackgroundsView.h"
#define TR_CONTEXT "Main Window"
static const char* kSignature = "application/x-vnd.Haiku-Backgrounds"; static const char* kSignature = "application/x-vnd.Haiku-Backgrounds";
@@ -83,7 +88,7 @@ BackgroundsApplication::RefsReceived(BMessage* message)
BackgroundsWindow::BackgroundsWindow() BackgroundsWindow::BackgroundsWindow()
: :
BWindow(BRect(0, 0, 0, 0), "Backgrounds", B_TITLED_WINDOW, BWindow(BRect(0, 0, 0, 0), TR("Backgrounds"), B_TITLED_WINDOW,
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS, B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS,
B_ALL_WORKSPACES) B_ALL_WORKSPACES)
{ {
@@ -131,10 +136,10 @@ BackgroundsWindow::WorkspaceActivated(int32 oldWorkspaces, bool active)
int int
main(int argc, char** argv) main(int argc, char** argv)
{ {
BApplication* app = new BackgroundsApplication; BackgroundsApplication app;
app->Run(); BCatalog cat;
delete app; be_locale->GetAppCatalog(&cat);
app.Run();
return 0; return 0;
} }
+35 -30
View File
@@ -15,10 +15,12 @@
#include <stdlib.h> #include <stdlib.h>
#include <Bitmap.h> #include <Bitmap.h>
#include <Catalog.h>
#include <Debug.h> #include <Debug.h>
#include <File.h> #include <File.h>
#include <FindDirectory.h> #include <FindDirectory.h>
#include <LayoutBuilder.h> #include <LayoutBuilder.h>
#include <Locale.h>
#include <MenuField.h> #include <MenuField.h>
#include <Messenger.h> #include <Messenger.h>
#include <MimeType.h> #include <MimeType.h>
@@ -30,6 +32,9 @@
#include "ImageFilePanel.h" #include "ImageFilePanel.h"
#define TR_CONTEXT "Main View"
static const uint32 kMsgApplySettings = 'aply'; static const uint32 kMsgApplySettings = 'aply';
static const uint32 kMsgRevertSettings = 'rvrt'; static const uint32 kMsgRevertSettings = 'rvrt';
@@ -105,7 +110,7 @@ BackgroundsView::BackgroundsView()
SetBorder(B_NO_BORDER); SetBorder(B_NO_BORDER);
fPreview = new BBox("preview"); fPreview = new BBox("preview");
fPreview->SetLabel("Preview"); fPreview->SetLabel(TR("Preview"));
fPreView = new PreView(); fPreView = new PreView();
@@ -118,9 +123,9 @@ BackgroundsView::BackgroundsView()
fBottom = new FramePart(FRAME_BOTTOM); fBottom = new FramePart(FRAME_BOTTOM);
fBottomRight = new FramePart(FRAME_BOTTOM_RIGHT); fBottomRight = new FramePart(FRAME_BOTTOM_RIGHT);
fXPlacementText = new BTextControl("X:", NULL, fXPlacementText = new BTextControl(TR("X:"), NULL,
new BMessage(kMsgImagePlacement)); new BMessage(kMsgImagePlacement));
fYPlacementText = new BTextControl("Y:", NULL, fYPlacementText = new BTextControl(TR("Y:"), NULL,
new BMessage(kMsgImagePlacement)); new BMessage(kMsgImagePlacement));
fXPlacementText->TextView()->SetMaxBytes(5); fXPlacementText->TextView()->SetMaxBytes(5);
@@ -165,18 +170,18 @@ BackgroundsView::BackgroundsView()
BBox* rightbox = new BBox("rightbox"); BBox* rightbox = new BBox("rightbox");
fWorkspaceMenu = new BPopUpMenu("pick one"); fWorkspaceMenu = new BPopUpMenu(TR("pick one"));
fWorkspaceMenu->AddItem(new BMenuItem("All Workspaces", fWorkspaceMenu->AddItem(new BMenuItem(TR("All Workspaces"),
new BMessage(kMsgAllWorkspaces))); new BMessage(kMsgAllWorkspaces)));
BMenuItem* menuItem; BMenuItem* menuItem;
fWorkspaceMenu->AddItem(menuItem = new BMenuItem("Current Workspace", fWorkspaceMenu->AddItem(menuItem = new BMenuItem(TR("Current Workspace"),
new BMessage(kMsgCurrentWorkspace))); new BMessage(kMsgCurrentWorkspace)));
menuItem->SetMarked(true); menuItem->SetMarked(true);
fLastWorkspaceIndex = fWorkspaceMenu->IndexOf(fWorkspaceMenu->FindMarked()); fLastWorkspaceIndex = fWorkspaceMenu->IndexOf(fWorkspaceMenu->FindMarked());
fWorkspaceMenu->AddSeparatorItem(); fWorkspaceMenu->AddSeparatorItem();
fWorkspaceMenu->AddItem(new BMenuItem("Default folder", fWorkspaceMenu->AddItem(new BMenuItem(TR("Default folder"),
new BMessage(kMsgDefaultFolder))); new BMessage(kMsgDefaultFolder)));
fWorkspaceMenu->AddItem(new BMenuItem("Other folder" B_UTF8_ELLIPSIS, fWorkspaceMenu->AddItem(new BMenuItem(TR("Other folder" B_UTF8_ELLIPSIS),
new BMessage(kMsgOtherFolder))); new BMessage(kMsgOtherFolder)));
BMenuField* workspaceMenuField = new BMenuField(BRect(0, 0, 130, 18), BMenuField* workspaceMenuField = new BMenuField(BRect(0, 0, 130, 18),
@@ -184,39 +189,39 @@ BackgroundsView::BackgroundsView()
workspaceMenuField->ResizeToPreferred(); workspaceMenuField->ResizeToPreferred();
rightbox->SetLabel(workspaceMenuField); rightbox->SetLabel(workspaceMenuField);
fImageMenu = new BPopUpMenu("pick one"); fImageMenu = new BPopUpMenu(TR("pick one"));
fImageMenu->AddItem(new BGImageMenuItem("None", -1, fImageMenu->AddItem(new BGImageMenuItem(TR("None"), -1,
new BMessage(kMsgNoImage))); new BMessage(kMsgNoImage)));
fImageMenu->AddSeparatorItem(); fImageMenu->AddSeparatorItem();
fImageMenu->AddItem(new BMenuItem("Other" B_UTF8_ELLIPSIS, fImageMenu->AddItem(new BMenuItem(TR("Other" B_UTF8_ELLIPSIS),
new BMessage(kMsgOtherImage))); new BMessage(kMsgOtherImage)));
BMenuField* imageMenuField = new BMenuField(NULL, fImageMenu); BMenuField* imageMenuField = new BMenuField(NULL, fImageMenu);
imageMenuField->SetAlignment(B_ALIGN_RIGHT); imageMenuField->SetAlignment(B_ALIGN_RIGHT);
imageMenuField->ResizeToPreferred(); imageMenuField->ResizeToPreferred();
fPlacementMenu = new BPopUpMenu("pick one"); fPlacementMenu = new BPopUpMenu(TR("pick one"));
fPlacementMenu->AddItem(new BMenuItem("Manual", fPlacementMenu->AddItem(new BMenuItem(TR("Manual"),
new BMessage(kMsgManualPlacement))); new BMessage(kMsgManualPlacement)));
fPlacementMenu->AddItem(new BMenuItem("Center", fPlacementMenu->AddItem(new BMenuItem(TR("Center"),
new BMessage(kMsgCenterPlacement))); new BMessage(kMsgCenterPlacement)));
fPlacementMenu->AddItem(new BMenuItem("Scale to fit", fPlacementMenu->AddItem(new BMenuItem(TR("Scale to fit"),
new BMessage(kMsgScalePlacement))); new BMessage(kMsgScalePlacement)));
fPlacementMenu->AddItem(new BMenuItem("Tile", fPlacementMenu->AddItem(new BMenuItem(TR("Tile"),
new BMessage(kMsgTilePlacement))); new BMessage(kMsgTilePlacement)));
BMenuField* placementMenuField = new BMenuField(NULL, fPlacementMenu); BMenuField* placementMenuField = new BMenuField(NULL, fPlacementMenu);
placementMenuField->SetAlignment(B_ALIGN_RIGHT); placementMenuField->SetAlignment(B_ALIGN_RIGHT);
fIconLabelOutline = new BCheckBox("Icon label outline", fIconLabelOutline = new BCheckBox(TR("Icon label outline"),
new BMessage(kMsgIconLabelOutline)); new BMessage(kMsgIconLabelOutline));
fIconLabelOutline->SetValue(B_CONTROL_OFF); fIconLabelOutline->SetValue(B_CONTROL_OFF);
fPicker = new BColorControl(BPoint(0, 0), B_CELLS_32x8, 7.0, "Picker", fPicker = new BColorControl(BPoint(0, 0), B_CELLS_32x8, 7.0, "Picker",
new BMessage(kMsgUpdateColor)); new BMessage(kMsgUpdateColor));
BStringView* imageStringView = new BStringView(NULL, "Image:"); BStringView* imageStringView = new BStringView(NULL, TR("Image:"));
BStringView* placementStringView = new BStringView(NULL, "Placement:"); BStringView* placementStringView = new BStringView(NULL, TR("Placement:"));
imageStringView->SetExplicitAlignment(BAlignment(B_ALIGN_RIGHT, imageStringView->SetExplicitAlignment(BAlignment(B_ALIGN_RIGHT,
B_ALIGN_NO_VERTICAL)); B_ALIGN_NO_VERTICAL));
@@ -241,8 +246,8 @@ BackgroundsView::BackgroundsView()
rightbox->AddChild(view); rightbox->AddChild(view);
fRevert = new BButton("Revert", new BMessage(kMsgRevertSettings)); fRevert = new BButton(TR("Revert"), new BMessage(kMsgRevertSettings));
fApply = new BButton("Apply", new BMessage(kMsgApplySettings)); fApply = new BButton(TR("Apply"), new BMessage(kMsgApplySettings));
fRevert->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT, fRevert->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT,
B_ALIGN_NO_VERTICAL)); B_ALIGN_NO_VERTICAL));
@@ -299,11 +304,11 @@ BackgroundsView::AllAttached()
BMessenger messenger(this); BMessenger messenger(this);
fPanel = new ImageFilePanel(B_OPEN_PANEL, &messenger, &ref, fPanel = new ImageFilePanel(B_OPEN_PANEL, &messenger, &ref,
B_FILE_NODE, false, NULL, new CustomRefFilter(true)); B_FILE_NODE, false, NULL, new CustomRefFilter(true));
fPanel->SetButtonLabel(B_DEFAULT_BUTTON, "Select"); fPanel->SetButtonLabel(B_DEFAULT_BUTTON, TR("Select"));
fFolderPanel = new BFilePanel(B_OPEN_PANEL, &messenger, NULL, fFolderPanel = new BFilePanel(B_OPEN_PANEL, &messenger, NULL,
B_DIRECTORY_NODE, false, NULL, new CustomRefFilter(false)); B_DIRECTORY_NODE, false, NULL, new CustomRefFilter(false));
fFolderPanel->SetButtonLabel(B_DEFAULT_BUTTON, "Select"); fFolderPanel->SetButtonLabel(B_DEFAULT_BUTTON, TR("Select"));
_LoadSettings(); _LoadSettings();
_LoadDesktopFolder(); _LoadDesktopFolder();
@@ -364,7 +369,7 @@ BackgroundsView::MessageReceived(BMessage* msg)
case kMsgCurrentWorkspace: case kMsgCurrentWorkspace:
case kMsgAllWorkspaces: case kMsgAllWorkspaces:
fImageMenu->FindItem(kMsgNoImage)->SetLabel("None"); fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("None"));
fLastWorkspaceIndex = fWorkspaceMenu->IndexOf( fLastWorkspaceIndex = fWorkspaceMenu->IndexOf(
fWorkspaceMenu->FindMarked()); fWorkspaceMenu->FindMarked());
if (fCurrent && fCurrent->IsDesktop()) { if (fCurrent && fCurrent->IsDesktop()) {
@@ -376,7 +381,7 @@ BackgroundsView::MessageReceived(BMessage* msg)
break; break;
case kMsgDefaultFolder: case kMsgDefaultFolder:
fImageMenu->FindItem(kMsgNoImage)->SetLabel("None"); fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("None"));
fLastWorkspaceIndex = fWorkspaceMenu->IndexOf( fLastWorkspaceIndex = fWorkspaceMenu->IndexOf(
fWorkspaceMenu->FindMarked()); fWorkspaceMenu->FindMarked());
_SetDesktop(false); _SetDesktop(false);
@@ -418,7 +423,7 @@ BackgroundsView::MessageReceived(BMessage* msg)
break; break;
case kMsgFolderSelected: case kMsgFolderSelected:
fImageMenu->FindItem(kMsgNoImage)->SetLabel("Default"); fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("Default"));
fLastWorkspaceIndex = fWorkspaceMenu->IndexOf( fLastWorkspaceIndex = fWorkspaceMenu->IndexOf(
fWorkspaceMenu->FindMarked()); fWorkspaceMenu->FindMarked());
_SetDesktop(false); _SetDesktop(false);
@@ -519,9 +524,9 @@ BackgroundsView::_UpdateWithCurrent(void)
->SetEnabled(fCurrent->IsDesktop()); ->SetEnabled(fCurrent->IsDesktop());
if (fWorkspaceMenu->IndexOf(fWorkspaceMenu->FindMarked()) > 5) if (fWorkspaceMenu->IndexOf(fWorkspaceMenu->FindMarked()) > 5)
fImageMenu->FindItem(kMsgNoImage)->SetLabel("Default"); fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("Default"));
else else
fImageMenu->FindItem(kMsgNoImage)->SetLabel("None"); fImageMenu->FindItem(kMsgNoImage)->SetLabel(TR("None"));
for (int32 i = fImageMenu->CountItems() - 5; i >= 0; i--) { for (int32 i = fImageMenu->CountItems() - 5; i >= 0; i--) {
fImageMenu->RemoveItem(2); fImageMenu->RemoveItem(2);
@@ -842,7 +847,7 @@ BackgroundsView::_LoadSettings()
path.SetTo(string.String()); path.SetTo(string.String());
int32 i = _AddPath(path); int32 i = _AddPath(path);
BString s; BString s;
s << "Folder: " << path.Leaf(); s << TR("Folder: ") << path.Leaf();
BMenuItem* item = new BMenuItem(s.String(), BMenuItem* item = new BMenuItem(s.String(),
new BMessage(kMsgFolderSelected)); new BMessage(kMsgFolderSelected));
fWorkspaceMenu->AddItem(item, -i - 1 + 6); fWorkspaceMenu->AddItem(item, -i - 1 + 6);
@@ -1047,7 +1052,7 @@ BackgroundsView::RefsReceived(BMessage* msg)
if (fWorkspaceMenu->CountItems() <= 5) if (fWorkspaceMenu->CountItems() <= 5)
fWorkspaceMenu->AddSeparatorItem(); fWorkspaceMenu->AddSeparatorItem();
BString s; BString s;
s << "Folder: " << path.Leaf(); s << TR("Folder: ") << path.Leaf();
item = new BMenuItem(s.String(), item = new BMenuItem(s.String(),
new BMessage(kMsgFolderSelected)); new BMessage(kMsgFolderSelected));
fWorkspaceMenu->AddItem(item, -index - 1 + 6); fWorkspaceMenu->AddItem(item, -index - 1 + 6);
@@ -10,6 +10,8 @@
#include "ImageFilePanel.h" #include "ImageFilePanel.h"
#include <Bitmap.h> #include <Bitmap.h>
#include <Catalog.h>
#include <Locale.h>
#include <NodeInfo.h> #include <NodeInfo.h>
#include <String.h> #include <String.h>
#include <StringView.h> #include <StringView.h>
@@ -17,6 +19,9 @@
#include <Window.h> #include <Window.h>
#define TR_CONTEXT "Image Filepanel"
ImageFilePanel::ImageFilePanel(file_panel_mode mode, BMessenger* target, ImageFilePanel::ImageFilePanel(file_panel_mode mode, BMessenger* target,
const entry_ref* startDirectory, uint32 nodeFlavors, const entry_ref* startDirectory, uint32 nodeFlavors,
bool allowMultipleSelection, BMessage* message, BRefFilter* filter, bool allowMultipleSelection, BMessage* message, BRefFilter* filter,
@@ -126,7 +131,7 @@ ImageFilePanel::SelectionChanged()
B_FOLLOW_LEFT | B_FOLLOW_TOP, 0); B_FOLLOW_LEFT | B_FOLLOW_TOP, 0);
BString resolution; BString resolution;
resolution << "Resolution: " resolution << TR("Resolution: ")
<< (int)(bitmap->Bounds().Width() + 1) << (int)(bitmap->Bounds().Width() + 1)
<< "x" << (int)(bitmap->Bounds().Height() + 1); << "x" << (int)(bitmap->Bounds().Height() + 1);
fResolutionView->SetText(resolution.String()); fResolutionView->SetText(resolution.String());
+11 -3
View File
@@ -1,7 +1,5 @@
SubDir HAIKU_TOP src preferences backgrounds ; SubDir HAIKU_TOP src preferences backgrounds ;
SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders shared ; UsePrivateHeaders shared ;
Preference Backgrounds : Preference Backgrounds :
@@ -9,7 +7,17 @@ Preference Backgrounds :
Backgrounds.cpp Backgrounds.cpp
BackgroundsView.cpp BackgroundsView.cpp
ImageFilePanel.cpp ImageFilePanel.cpp
: be tracker translation $(TARGET_LIBSUPC++) : be tracker translation $(TARGET_LIBSUPC++) liblocale.so
: Backgrounds.rdef : Backgrounds.rdef
; ;
DoCatalogs Backgrounds :
x-vnd.Haiku-Backgrounds
:
Backgrounds.cpp
BackgroundsView.cpp
ImageFilePanel.cpp
: en.catalog
: #sv.catkeys
;