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