Updated to use B_TRANSLATE* macros. relates to #5408.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36683 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Matt Madia
2010-05-06 23:16:37 +00:00
parent 241ad40bd3
commit 05f7d43e06
5 changed files with 129 additions and 121 deletions
@@ -39,64 +39,66 @@ CPUFrequencyView::CPUFrequencyView(BRect frame,
SetLayout(mainLayout);
mainLayout->SetSpacing(10);
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
// stepping policy
BRect rect = Bounds();
rect.InsetBy(5, 5);
BBox *policyBox = new BBox(rect, "policyBox");
policyBox->SetLabel(TR("Stepping policy"));
policyBox->SetLabel(B_TRANSLATE("Stepping policy"));
BGroupLayout* policyLayout = new BGroupLayout(B_VERTICAL);
policyLayout->SetInsets(10, policyBox->TopBorderOffset() * 2 + 10, 10, 10);
policyLayout->SetSpacing(10);
policyBox->SetLayout(policyLayout);
mainLayout->AddView(policyBox);
fPolicyMenu = new BMenu(TR("Stepping policy: "));
BMenuField *menuField = new BMenuField(TR("Stepping policy: "), fPolicyMenu);
fPolicyMenu = new BMenu(B_TRANSLATE("Stepping policy: "));
BMenuField *menuField = new BMenuField(
B_TRANSLATE("Stepping policy: "), fPolicyMenu);
policyLayout->AddView(menuField);
// dynamic stepping
BBox *dynamicBox = new BBox(rect, "dynamicBox");
dynamicBox->SetLabel(TR("Dynamic stepping"));
dynamicBox->SetLabel(B_TRANSLATE("Dynamic stepping"));
BGroupLayout* dynamicLayout = new BGroupLayout(B_VERTICAL);
dynamicLayout->SetInsets(10, dynamicBox->TopBorderOffset() * 2 + 10,
10, 10);
dynamicLayout->SetSpacing(10);
dynamicBox->SetLayout(dynamicLayout);
mainLayout->AddView(dynamicBox);
fColorStepView = new ColorStepView(frame);
fColorStepView->SetFrequencys(fDriverInterface.GetCpuFrequencyStates());
fIntegrationTime = new BTextControl(BRect(0,0,Bounds().Width(),10),
"intergal",
TR("Integration time [ms]: "), "",
new BMessage(kIntegrationTimeChanged));
"intergal",
B_TRANSLATE("Integration time [ms]: "),
"",
new BMessage(kIntegrationTimeChanged));
dynamicLayout->AddView(fColorStepView);
dynamicLayout->AddView(fIntegrationTime);
// status view
BBox *statusBox = new BBox(rect, "statusBox");
statusBox->SetLabel(TR("CPU frequency status view"));
statusBox->SetLabel(B_TRANSLATE("CPU frequency status view"));
BGroupLayout* statusLayout = new BGroupLayout(B_HORIZONTAL);
statusLayout->SetInsets(10, statusBox->TopBorderOffset() * 2 + 10, 10, 10);
statusLayout->SetSpacing(10);
statusBox->SetLayout(statusLayout);
mainLayout->AddView(statusBox);
fStatusView = new StatusView(BRect(0, 0, 5, 5), false,
fStorage);
fStatusView->ShowPopUpMenu(false);
fInstallButton = new BButton("installButton",
TR("Install replicant into Deskbar"),
new BMessage(kInstallIntoDeskbar));
B_TRANSLATE("Install replicant into Deskbar"),
new BMessage(kInstallIntoDeskbar));
statusLayout->AddView(fStatusView);
statusLayout->AddView(fInstallButton);
statusLayout->AddItem(BSpaceLayoutItem::CreateGlue());
statusLayout->AddItem(BSpaceLayoutItem::CreateGlue());
}
@@ -105,7 +107,7 @@ CPUFrequencyView::MessageReceived(BMessage* message)
{
freq_preferences* pref = fStorage->GetPreferences();
bool configChanged = false;
switch (message->what) {
case kUpdatedPreferences:
fStatusView->MessageReceived(message);
@@ -119,24 +121,24 @@ CPUFrequencyView::MessageReceived(BMessage* message)
}
configChanged = true;
break;
case kSteppingChanged:
// from ColorStepView
pref->stepping_threshold = fColorStepView->GetSliderPosition();
fStorage->SavePreferences();
configChanged = true;
break;
case kIntegrationTimeChanged:
_ReadIntegrationTime();
fStorage->SavePreferences();
_ReadIntegrationTime();
fStorage->SavePreferences();
configChanged = true;
break;
case kInstallIntoDeskbar:
_InstallReplicantInDeskbar();
break;
case kRevertMsg:
case kDefaultMsg:
fStatusView->UpdateCPUFreqState();
@@ -145,7 +147,7 @@ CPUFrequencyView::MessageReceived(BMessage* message)
default:
BView::MessageReceived(message);
}
if (configChanged)
Window()->PostMessage(kConfigChangedMsg);
}
@@ -157,11 +159,11 @@ CPUFrequencyView::AttachedToWindow()
fFrequencyMenu = new FrequencyMenu(fPolicyMenu, this,
fStorage, &fDriverInterface);
AddFilter(fFrequencyMenu);
fColorStepView->SetTarget(this);
fIntegrationTime->SetTarget(this);
fInstallButton->SetTarget(this);
_UpdateViews();
}
@@ -224,7 +226,7 @@ CPUFrequencyView::_UpdateViews()
fColorStepView->SetEnabled(false);
fIntegrationTime->SetEnabled(false);
}
BString out;
out << pref->integration_time / kMilliSecond;
fIntegrationTime->SetText(out.String());
@@ -244,4 +246,4 @@ CPUFrequencyView::_ReadIntegrationTime()
else {
pref->integration_time = integration_time;
}
}
}
+30 -29
View File
@@ -27,20 +27,20 @@ ColorStepView::ColorStepView(BRect frame)
: BControl(frame, "ColorStepView", "", new BMessage(kSteppingChanged),
B_FOLLOW_ALL, B_WILL_DRAW),
fOffScreenView(NULL),
fOffScreenBitmap(NULL)
fOffScreenBitmap(NULL)
{
fPerformanceList = new PerformanceList(20, true);
fSliderPosition = 0;
fNSteps = 0;
fLowFreqColor.red = 0;
fLowFreqColor.blue = 255;
fLowFreqColor.green = 0;
fHighFreqColor.red = 255;
fHighFreqColor.blue = 0;
fHighFreqColor.green = 0;
fMinFrequencyLabel = "? MHz";
fMaxFrequencyLabel = "? MHz";
_InitView();
@@ -57,7 +57,7 @@ void
ColorStepView::AttachedToWindow()
{
fSlider->SetTarget(this);
if (!fOffScreenView) {
fOffScreenView = new BView(Bounds(), "", B_FOLLOW_ALL, B_WILL_DRAW);
}
@@ -99,7 +99,7 @@ ColorStepView::FrameResized(float w,float h)
delete fOffScreenBitmap;
fOffScreenView->ResizeTo(bounds.Width(), bounds.Height());
fOffScreenBitmap = new BBitmap(Bounds(), B_RGBA32, true, false);
fOffScreenBitmap->AddChild(fOffScreenView);
}
@@ -114,7 +114,7 @@ ColorStepView::GetPreferredSize(float *width, float *height)
*width = Frame().Width();
font_height fontHeight;
GetFontHeight(&fontHeight);
*height = fSlider->Frame().Height();
*height += kColorBarHeight;
*height += fontHeight.descent + fontHeight.ascent + 5;
@@ -131,33 +131,33 @@ ColorStepView::Draw(BRect updateRect)
else{
view = this;
}
if (!fOffScreenBitmap || !fOffScreenBitmap->Lock())
return;
view->SetLowColor(ui_color(B_PANEL_BACKGROUND_COLOR));
view->SetHighColor(ui_color(B_PANEL_BACKGROUND_COLOR));
view->FillRect(updateRect);
BRect colorBarRect = fSlider->BarFrame();
colorBarRect.top = 0;
colorBarRect.bottom = kColorBarHeight;
colorBarRect.OffsetTo(colorBarRect.left, fSlider->Frame().bottom);
colorBarRect.OffsetTo(colorBarRect.left, fSlider->Frame().bottom);
float pos = 0.0;
for (int i = fPerformanceList->CountItems() - 1; i >= 0 ; i--) {
performance_step* perfState = fPerformanceList->ItemAt(i);
float nextPos = perfState->cpu_usage;
float width = colorBarRect.Width();
BRect subRect(colorBarRect);
subRect.left += pos * width;
subRect.right = colorBarRect.left + nextPos * width;
view->SetHighColor(perfState->color);
view->FillRect(subRect);
pos = nextPos;
}
// draw label
@@ -166,25 +166,25 @@ ColorStepView::Draw(BRect updateRect)
} else {
view->SetHighColor(tint_color(LowColor(), B_DISABLED_LABEL_TINT));
}
font_height fontHeight;
GetFontHeight(&fontHeight);
float totalFontHeight = fontHeight.descent + fontHeight.ascent;
view->DrawString(fMinFrequencyLabel.String(),
BPoint(0.0,
colorBarRect.bottom + totalFontHeight + 5));
view->DrawString(fMaxFrequencyLabel.String(),
BPoint(Bounds().right
- StringWidth(fMaxFrequencyLabel.String()),
colorBarRect.bottom + totalFontHeight + 5));
// blit bitmap
fOffScreenView->Sync();
fOffScreenBitmap->Unlock();
DrawBitmap(fOffScreenBitmap, B_ORIGIN);
BView::Draw(updateRect);
}
@@ -227,7 +227,7 @@ ColorStepView::SetFrequencys(StateList *list)
fMinFrequencyLabel = CreateFrequencyString(minFreq);
fMaxFrequencyLabel = CreateFrequencyString(maxFreq);
}
// fit size of fPerformanceList
int32 perfNumber = fPerformanceList->CountItems();
if (perfNumber < fNSteps) {
@@ -251,7 +251,7 @@ ColorStepView::GetPerformanceSteps()
}
BString
BString
ColorStepView::CreateFrequencyString(uint16 frequency)
{
BString string = "";
@@ -277,18 +277,19 @@ ColorStepView::UsageOfStep(int32 step, int32 nSteps, float base)
return base + singleWidth * step;
}
void
ColorStepView::_InitView()
{
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
BRect sliderFrame(Bounds());
fSlider = new BSlider(sliderFrame, "StepSlider", TR("Step up by CPU usage"),
fSlider = new BSlider(sliderFrame, "StepSlider",
B_TRANSLATE("Step up by CPU usage"),
new BMessage(kSteppingChanged), 0, 100);
fSlider->SetModificationMessage(new BMessage(kMSGSliderChanged));
fSliderPosition = 0.25 - fNSteps * 0.05;
fSlider->SetPosition(fSliderPosition);
fSlider->SetLimitLabels("0%", "100%");
@@ -315,7 +316,7 @@ ColorStepView::_PositonStep(int32 step)
{
if (step >= fNSteps)
return 1.0;
return UsageOfStep(step, fNSteps, fSliderPosition);
}
@@ -46,25 +46,25 @@ public:
PreferencesStorage(const char* file,
const Preferences& defaultPreferences);
~PreferencesStorage();
void Revert();
void Defaults();
BPoint WindowPosition() {return fWindowPosition; }
void SetWindowPosition(BPoint position)
{ fWindowPosition = position; }
Preferences* GetPreferences() { return &fPreferences; }
status_t LoadPreferences();
status_t SavePreferences();
BString& PreferencesFile() { return fPreferencesFile; }
status_t GetPreferencesPath(BPath &path);
private:
BString fPreferencesFile;
Preferences fPreferences;
Preferences fStartPreferences;
const Preferences& fDefaultPreferences;
@@ -81,12 +81,12 @@ public:
virtual ~PrefFileWatcher();
virtual filter_result Filter(BMessage* message, BHandler** _target);
private:
PreferencesStorage<Preferences>* fPreferencesStorage;
node_ref fPreferencesNode;
node_ref fPreferencesDirectoryNode;
BHandler* fTarget;
};
@@ -101,15 +101,15 @@ public:
virtual ~PreferencesWindow();
virtual void MessageReceived(BMessage *msg);
virtual bool QuitRequested();
virtual bool SetPreferencesView(BView* prefView);
private:
void _MoveToPosition();
BView* fPreferencesView;
BButton* fRevertButton;
BButton* fDefaultButton;
BButton* fDefaultButton;
BGroupLayout* fRootLayout;
};
@@ -190,7 +190,7 @@ PreferencesStorage<Preferences>::LoadPreferences()
LOG("failed to load settings\n");
return B_ERROR;
}
if (settingsFile.Read(&fPreferences, sizeof(Preferences))
!= sizeof(Preferences)) {
LOG("failed to load settings\n");
@@ -244,7 +244,7 @@ PrefFileWatcher<Preferences>::PrefFileWatcher(
BPath path;
find_directory(B_USER_SETTINGS_DIRECTORY, &path);
BEntry entry(path.Path());
BEntry entry(path.Path());
if (entry.GetNodeRef(&fPreferencesDirectoryNode) == B_OK)
watch_node(&fPreferencesDirectoryNode, B_WATCH_DIRECTORY, fTarget);
@@ -273,11 +273,11 @@ PrefFileWatcher<Preferences>::Filter(BMessage *msg, BHandler **target)
int32 opcode;
BPath path;
node_ref nref;
if (msg->what != B_NODE_MONITOR
|| msg->FindInt32("opcode", &opcode) != B_OK)
return result;
switch (opcode) {
case B_ENTRY_MOVED:
msg->FindInt64("to directory", dir);
@@ -289,14 +289,14 @@ PrefFileWatcher<Preferences>::Filter(BMessage *msg, BHandler **target)
msg->FindString("name", &name);
fPreferencesStorage->GetPreferencesPath(path);
if (path.Path() == name) {
msg->FindInt32("device", &fPreferencesNode.device);
msg->FindInt32("device", &fPreferencesNode.device);
msg->FindInt64("node", &fPreferencesNode.node);
watch_node(&fPreferencesNode, B_WATCH_STAT, fTarget);
}
fPreferencesStorage->LoadPreferences();
msg->what = kUpdatedPreferences;
break;
case B_ENTRY_REMOVED:
msg->FindInt32("device", &nref.device);
msg->FindInt64("node", &nref.node);
@@ -309,7 +309,7 @@ PrefFileWatcher<Preferences>::Filter(BMessage *msg, BHandler **target)
msg->what = kUpdatedPreferences;
}
break;
case B_STAT_CHANGED:
msg->FindInt32("device", &nref.device);
msg->FindInt64("node", &nref.node);
@@ -333,16 +333,19 @@ PreferencesWindow<Preferences>::PreferencesWindow(const char* title,
fPreferencesView(NULL)
{
BGroupView* buttonView = new BGroupView(B_HORIZONTAL);
fDefaultButton = new BButton(TR("Defaults"), new BMessage(kDefaultMsg));
fDefaultButton = new BButton(B_TRANSLATE("Defaults"),
new BMessage(kDefaultMsg));
buttonView->AddChild(fDefaultButton);
buttonView->GetLayout()->AddItem(BSpaceLayoutItem::CreateHorizontalStrut(7));
fRevertButton = new BButton(TR("Revert"), new BMessage(kRevertMsg));
buttonView->GetLayout()->AddItem(
BSpaceLayoutItem::CreateHorizontalStrut(7));
fRevertButton = new BButton(B_TRANSLATE("Revert"),
new BMessage(kRevertMsg));
fRevertButton->SetEnabled(false);
buttonView->AddChild(fRevertButton);
buttonView->GetLayout()->AddItem(BSpaceLayoutItem::CreateGlue());
SetLayout(new BGroupLayout(B_VERTICAL));
fRootLayout = new BGroupLayout(B_VERTICAL);
fRootLayout->SetInsets(10, 10, 10, 10);
@@ -350,9 +353,9 @@ PreferencesWindow<Preferences>::PreferencesWindow(const char* title,
BView* rootView = new BView("root view", 0, fRootLayout);
AddChild(rootView);
rootView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
fRootLayout->AddView(buttonView);
BSize size = fRootLayout->PreferredSize();
ResizeTo(size.width, size.height);
_MoveToPosition();
@@ -375,24 +378,24 @@ PreferencesWindow<Preferences>::MessageReceived(BMessage *msg)
case kConfigChangedMsg:
fRevertButton->SetEnabled(true);
break;
case kDefaultMsg:
PreferencesStorage<Preferences>::Defaults();
fRevertButton->SetEnabled(true);
if (fPreferencesView)
PostMessage(kDefaultMsg, fPreferencesView);
break;
case kRevertMsg:
PreferencesStorage<Preferences>::Revert();
fRevertButton->SetEnabled(false);
if (fPreferencesView)
PostMessage(kRevertMsg, fPreferencesView);
break;
default:
BWindow::MessageReceived(msg);
}
}
}
@@ -411,14 +414,14 @@ PreferencesWindow<Preferences>::SetPreferencesView(BView* prefView)
{
if (fPreferencesView)
return false;
fPreferencesView = prefView;
fRootLayout->AddView(0, fPreferencesView);
BSize size = fRootLayout->PreferredSize();
ResizeTo(size.width, size.height);
_MoveToPosition();
return true;
}
+21 -20
View File
@@ -41,16 +41,16 @@ extern "C" _EXPORT BView *instantiate_deskbar_item(void);
* So we mark them explicitly here.
*/
void notUsed() {
TR_MARK("Dynamic performance");
TR_MARK("High performance");
TR_MARK("Low energy");
TR_MARK("Set state");
TR_MARK("CPUFrequency\n"
B_TRANSLATE_MARK("Dynamic performance");
B_TRANSLATE_MARK("High performance");
B_TRANSLATE_MARK("Low energy");
B_TRANSLATE_MARK("Set state");
B_TRANSLATE_MARK("CPUFrequency\n"
"\twritten by Clemens Zeidler\n"
"\tCopyright 2009, Haiku, Inc.\n");
TR_MARK("Ok");
TR_MARK("Open Speedstep preferences" B_UTF8_ELLIPSIS);
TR_MARK("Quit");
B_TRANSLATE_MARK("Ok");
B_TRANSLATE_MARK("Open Speedstep preferences" B_UTF8_ELLIPSIS);
B_TRANSLATE_MARK("Quit");
}
// messages FrequencySwitcher
@@ -218,19 +218,20 @@ FrequencyMenu::FrequencyMenu(BMenu* menu, BHandler* target,
{
BCatalog catalog("x-vnd.Haiku-CPUFrequencyPref");
fDynamicPerformance = new BMenuItem(
catalog.GetString("Dynamic performance",TR_CONTEXT),
catalog.GetString("Dynamic performance", TR_CONTEXT),
new BMessage(kMsgPolicyDynamic));
fHighPerformance = new BMenuItem(
catalog.GetString("High performance",TR_CONTEXT),
catalog.GetString("High performance", TR_CONTEXT),
new BMessage(kMsgPolicyPerformance));
fLowEnergie = new BMenuItem(catalog.GetString("Low energy",TR_CONTEXT),
new BMessage(kMsgPolicyLowEnergy));
fLowEnergie = new BMenuItem(catalog.GetString("Low energy",
TR_CONTEXT), new BMessage(kMsgPolicyLowEnergy));
menu->AddItem(fDynamicPerformance);
menu->AddItem(fHighPerformance);
menu->AddItem(fLowEnergie);
fCustomStateMenu = new BMenu(catalog.GetString("Set state",TR_CONTEXT));
fCustomStateMenu = new BMenu(catalog.GetString("Set state",
TR_CONTEXT));
StateList* stateList = fInterface->GetCpuFrequencyStates();
for (int i = 0; i < stateList->CountItems(); i++) {
@@ -367,7 +368,7 @@ FrequencyMenu::UpdateMenu()
// #pragma mark -
StatusView::StatusView(BRect frame, bool inDeskbar,
StatusView::StatusView(BRect frame, bool inDeskbar,
PreferencesStorage<freq_preferences>* storage)
:
BView(frame, kDeskbarItemName, B_FOLLOW_LEFT | B_FOLLOW_TOP,
@@ -506,8 +507,8 @@ StatusView::AttachedToWindow()
// perferences menu
fPreferencesMenu = new BPopUpMenu(B_EMPTY_STRING, false, false);
fPreferencesMenuFilter = new FrequencyMenu(fPreferencesMenu, this, fStorage,
&fDriverInterface);
fPreferencesMenuFilter = new FrequencyMenu(fPreferencesMenu, this,
fStorage, &fDriverInterface);
fPreferencesMenu->SetFont(be_plain_font);
@@ -519,8 +520,8 @@ StatusView::AttachedToWindow()
fOpenPrefItem->SetTarget(this);
if (fInDeskbar) {
fQuitItem= new BMenuItem(fCatalog.GetString("Quit", TR_CONTEXT),
new BMessage(B_QUIT_REQUESTED));
fQuitItem= new BMenuItem(fCatalog.GetString("Quit",
TR_CONTEXT), new BMessage(B_QUIT_REQUESTED));
fPreferencesMenu->AddItem(fQuitItem);
fQuitItem->SetTarget(this);
}
@@ -684,8 +685,8 @@ StatusView::_OpenPreferences()
ret = be_roster->ActivateApp(info.team);
}
if (ret < B_OK) {
BString errorMessage(TR("Launching the CPU frequency preflet failed.\n\n"
"Error: "));
BString errorMessage(B_TRANSLATE(
"Launching the CPU frequency preflet failed.\n\nError: "));
errorMessage << strerror(ret);
BAlert* alert = new BAlert("launch error", errorMessage.String(),
"Ok");
+6 -5
View File
@@ -14,7 +14,7 @@
#define TR_CONTEXT "Main window"
int
int
main(int argc, char* argv[])
{
BApplication *app = new BApplication(kPrefSignature);
@@ -23,15 +23,16 @@ main(int argc, char* argv[])
be_locale->GetAppCatalog(&cat);
PreferencesWindow<freq_preferences> *window;
window = new PreferencesWindow<freq_preferences>(TR("CPU Frequency"),
kPreferencesFileName,
kDefaultPreferences);
window = new PreferencesWindow<freq_preferences>(
B_TRANSLATE("CPU Frequency"),
kPreferencesFileName,
kDefaultPreferences);
CPUFrequencyView* prefView = new CPUFrequencyView(BRect(0, 0, 400, 350),
window);
window->SetPreferencesView(prefView);
window->Show();
app->Run();
delete app;
return 0;
}