* Removed superfluous B_AVOID_FRONT flag.
* Renamed BCatalog member from "cat" to fCatalog. * Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34457 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -5,12 +5,27 @@
|
|||||||
* Authors:
|
* Authors:
|
||||||
* Clemens Zeidler, [email protected]
|
* Clemens Zeidler, [email protected]
|
||||||
*/
|
*/
|
||||||
|
#ifndef PREFERENCES_WINDOW_h
|
||||||
|
#define PREFERENCES_WINDOW_h
|
||||||
|
|
||||||
#ifndef PREFERENCESWINDOW_h
|
|
||||||
#define PREFERENCESWINDOW_h
|
|
||||||
|
|
||||||
#define DEBUG 1
|
#include <Application.h>
|
||||||
|
#include <Button.h>
|
||||||
|
#include <Catalog.h>
|
||||||
#include <Debug.h>
|
#include <Debug.h>
|
||||||
|
#include <Entry.h>
|
||||||
|
#include <FindDirectory.h>
|
||||||
|
#include <File.h>
|
||||||
|
#include <GroupView.h>
|
||||||
|
#include <Locale.h>
|
||||||
|
#include <MessageFilter.h>
|
||||||
|
#include <NodeMonitor.h>
|
||||||
|
#include <Path.h>
|
||||||
|
#include <Screen.h>
|
||||||
|
#include <SpaceLayoutItem.h>
|
||||||
|
#include <String.h>
|
||||||
|
#include <Window.h>
|
||||||
|
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
# define LOG(text...) PRINT((text))
|
# define LOG(text...) PRINT((text))
|
||||||
@@ -18,37 +33,16 @@
|
|||||||
# define LOG(text...)
|
# define LOG(text...)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <Button.h>
|
|
||||||
#include <Catalog.h>
|
|
||||||
#include <Locale.h>
|
|
||||||
#include <NodeMonitor.h>
|
|
||||||
#include <Path.h>
|
|
||||||
#include <Window.h>
|
|
||||||
|
|
||||||
// headers PreferencesStorage
|
|
||||||
#include <Entry.h>
|
|
||||||
#include <FindDirectory.h>
|
|
||||||
#include <File.h>
|
|
||||||
#include <String.h>
|
|
||||||
|
|
||||||
// headers PrefFileWatcher
|
|
||||||
#include <MessageFilter.h>
|
|
||||||
|
|
||||||
// headers PreferencesWindow
|
|
||||||
#include <Application.h>
|
|
||||||
#include <GroupView.h>
|
|
||||||
#include <Screen.h>
|
|
||||||
#include <SpaceLayoutItem.h>
|
|
||||||
|
|
||||||
#define TR_CONTEXT "Pref Window"
|
#define TR_CONTEXT "Pref Window"
|
||||||
|
|
||||||
// messages PrefFileWatcher
|
// messages PrefFileWatcher
|
||||||
const uint32 kUpdatedPreferences = '&UdP';
|
const uint32 kUpdatedPreferences = '&UdP';
|
||||||
|
|
||||||
|
|
||||||
template<typename Preferences>
|
template<typename Preferences>
|
||||||
class PreferencesStorage
|
class PreferencesStorage {
|
||||||
{
|
public:
|
||||||
public:
|
|
||||||
PreferencesStorage(const char* file,
|
PreferencesStorage(const char* file,
|
||||||
const Preferences& defaultPreferences);
|
const Preferences& defaultPreferences);
|
||||||
~PreferencesStorage();
|
~PreferencesStorage();
|
||||||
@@ -56,11 +50,11 @@ class 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();
|
||||||
@@ -68,7 +62,7 @@ class PreferencesStorage
|
|||||||
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;
|
||||||
@@ -79,15 +73,16 @@ class PreferencesStorage
|
|||||||
|
|
||||||
|
|
||||||
template<typename Preferences>
|
template<typename Preferences>
|
||||||
class PrefFileWatcher : public BMessageFilter
|
class PrefFileWatcher : public BMessageFilter {
|
||||||
{
|
public:
|
||||||
public:
|
PrefFileWatcher(
|
||||||
PrefFileWatcher(PreferencesStorage<Preferences>* storage,
|
PreferencesStorage<Preferences>* storage,
|
||||||
BHandler* target);
|
BHandler* target);
|
||||||
~PrefFileWatcher();
|
virtual ~PrefFileWatcher();
|
||||||
virtual filter_result Filter(BMessage *message, BHandler **target);
|
|
||||||
|
|
||||||
private:
|
virtual filter_result Filter(BMessage* message, BHandler** _target);
|
||||||
|
|
||||||
|
private:
|
||||||
PreferencesStorage<Preferences>* fPreferencesStorage;
|
PreferencesStorage<Preferences>* fPreferencesStorage;
|
||||||
node_ref fPreferencesNode;
|
node_ref fPreferencesNode;
|
||||||
node_ref fPreferencesDirectoryNode;
|
node_ref fPreferencesDirectoryNode;
|
||||||
@@ -97,20 +92,21 @@ class PrefFileWatcher : public BMessageFilter
|
|||||||
|
|
||||||
|
|
||||||
template<typename Preferences>
|
template<typename Preferences>
|
||||||
class PreferencesWindow : public BWindow, public PreferencesStorage<Preferences>
|
class PreferencesWindow : public BWindow,
|
||||||
{
|
public PreferencesStorage<Preferences> {
|
||||||
public:
|
public:
|
||||||
PreferencesWindow(const char* title,
|
PreferencesWindow(const char* title,
|
||||||
const char* file,
|
const char* file,
|
||||||
const Preferences& defaultPreferences);
|
const Preferences& defaultPreferences);
|
||||||
~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;
|
||||||
@@ -122,10 +118,12 @@ const uint32 kDefaultMsg = 'dems';
|
|||||||
const uint32 kRevertMsg = 'rems';
|
const uint32 kRevertMsg = 'rems';
|
||||||
const uint32 kConfigChangedMsg = '&cgh';
|
const uint32 kConfigChangedMsg = '&cgh';
|
||||||
|
|
||||||
|
|
||||||
template<typename Preferences>
|
template<typename Preferences>
|
||||||
PreferencesStorage<Preferences>::PreferencesStorage(const char* file,
|
PreferencesStorage<Preferences>::PreferencesStorage(const char* file,
|
||||||
const Preferences& defaultPreferences)
|
const Preferences& defaultPreferences)
|
||||||
: fDefaultPreferences(defaultPreferences)
|
:
|
||||||
|
fDefaultPreferences(defaultPreferences)
|
||||||
{
|
{
|
||||||
// default center position
|
// default center position
|
||||||
fWindowPosition.x = -1;
|
fWindowPosition.x = -1;
|
||||||
@@ -236,23 +234,25 @@ PreferencesStorage<Preferences>::SavePreferences()
|
|||||||
|
|
||||||
|
|
||||||
template<typename Preferences>
|
template<typename Preferences>
|
||||||
PrefFileWatcher<Preferences>::PrefFileWatcher(PreferencesStorage<Preferences>* storage,
|
PrefFileWatcher<Preferences>::PrefFileWatcher(
|
||||||
BHandler* target)
|
PreferencesStorage<Preferences>* storage, BHandler* target)
|
||||||
: BMessageFilter(B_PROGRAMMED_DELIVERY, B_ANY_SOURCE),
|
:
|
||||||
|
BMessageFilter(B_PROGRAMMED_DELIVERY, B_ANY_SOURCE),
|
||||||
fPreferencesStorage(storage),
|
fPreferencesStorage(storage),
|
||||||
fTarget(target)
|
fTarget(target)
|
||||||
{
|
{
|
||||||
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());
|
||||||
entry.GetNodeRef(&fPreferencesDirectoryNode);
|
if (entry.GetNodeRef(&fPreferencesDirectoryNode) == B_OK)
|
||||||
watch_node(&fPreferencesDirectoryNode, B_WATCH_DIRECTORY,
|
watch_node(&fPreferencesDirectoryNode, B_WATCH_DIRECTORY, fTarget);
|
||||||
fTarget);
|
|
||||||
path.Append(fPreferencesStorage->PreferencesFile().String());
|
path.Append(fPreferencesStorage->PreferencesFile().String());
|
||||||
entry.SetTo(path.Path());
|
entry.SetTo(path.Path());
|
||||||
entry.GetNodeRef(&fPreferencesNode);
|
|
||||||
watch_node(&fPreferencesNode, B_WATCH_STAT,
|
if (entry.GetNodeRef(&fPreferencesNode) == B_OK)
|
||||||
fTarget);
|
watch_node(&fPreferencesNode, B_WATCH_STAT, fTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -278,12 +278,12 @@ PrefFileWatcher<Preferences>::Filter(BMessage *msg, BHandler **target)
|
|||||||
|| 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);
|
||||||
if (dir != fPreferencesDirectoryNode.node)
|
if (dir != fPreferencesDirectoryNode.node)
|
||||||
break;
|
break;
|
||||||
|
// supposed to fall through
|
||||||
|
|
||||||
case B_ENTRY_CREATED:
|
case B_ENTRY_CREATED:
|
||||||
msg->FindString("name", &name);
|
msg->FindString("name", &name);
|
||||||
@@ -325,17 +325,15 @@ PrefFileWatcher<Preferences>::Filter(BMessage *msg, BHandler **target)
|
|||||||
|
|
||||||
template<typename Preferences>
|
template<typename Preferences>
|
||||||
PreferencesWindow<Preferences>::PreferencesWindow(const char* title,
|
PreferencesWindow<Preferences>::PreferencesWindow(const char* title,
|
||||||
const char* file,
|
const char* file, const Preferences& defaultPreferences)
|
||||||
const Preferences& defaultPreferences)
|
:
|
||||||
: BWindow(BRect(50, 50, 400, 350), title, B_TITLED_WINDOW,
|
BWindow(BRect(50, 50, 400, 350), title, B_TITLED_WINDOW,
|
||||||
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AVOID_FRONT
|
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS),
|
||||||
| B_ASYNCHRONOUS_CONTROLS),
|
|
||||||
PreferencesStorage<Preferences>(file, defaultPreferences),
|
PreferencesStorage<Preferences>(file, defaultPreferences),
|
||||||
fPreferencesView(NULL)
|
fPreferencesView(NULL)
|
||||||
{
|
{
|
||||||
BGroupView* buttonView = new BGroupView(B_HORIZONTAL);
|
BGroupView* buttonView = new BGroupView(B_HORIZONTAL);
|
||||||
fDefaultButton = new BButton(TR("Defaults"),
|
fDefaultButton = new BButton(TR("Defaults"), new BMessage(kDefaultMsg));
|
||||||
new BMessage(kDefaultMsg));
|
|
||||||
|
|
||||||
buttonView->AddChild(fDefaultButton);
|
buttonView->AddChild(fDefaultButton);
|
||||||
buttonView->GetLayout()->AddItem(BSpaceLayoutItem::CreateHorizontalStrut(7));
|
buttonView->GetLayout()->AddItem(BSpaceLayoutItem::CreateHorizontalStrut(7));
|
||||||
@@ -431,7 +429,7 @@ PreferencesWindow<Preferences>::_MoveToPosition()
|
|||||||
{
|
{
|
||||||
BPoint position = PreferencesStorage<Preferences>::WindowPosition();
|
BPoint position = PreferencesStorage<Preferences>::WindowPosition();
|
||||||
// center window on screen if it had a bad position
|
// center window on screen if it had a bad position
|
||||||
if(position.x < 0 && position.y < 0){
|
if (position.x < 0 && position.y < 0){
|
||||||
BRect rect = BScreen().Frame();
|
BRect rect = BScreen().Frame();
|
||||||
BRect windowFrame = Frame();
|
BRect windowFrame = Frame();
|
||||||
position.x = (rect.Width() - windowFrame.Width()) / 2;
|
position.x = (rect.Width() - windowFrame.Width()) / 2;
|
||||||
@@ -440,4 +438,6 @@ PreferencesWindow<Preferences>::_MoveToPosition()
|
|||||||
MoveTo(position);
|
MoveTo(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#undef TR_CONTEXT
|
||||||
|
|
||||||
|
#endif // PREFERENCES_WINDOW_h
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
* Clemens Zeidler, [email protected]
|
* Clemens Zeidler, [email protected]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "StatusView.h"
|
#include "StatusView.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -24,12 +25,11 @@
|
|||||||
|
|
||||||
#include "CPUFrequencyView.h"
|
#include "CPUFrequencyView.h"
|
||||||
|
|
||||||
#define TR_CONTEXT "Status view"
|
|
||||||
|
|
||||||
|
|
||||||
extern "C" _EXPORT BView *instantiate_deskbar_item(void);
|
extern "C" _EXPORT BView *instantiate_deskbar_item(void);
|
||||||
|
|
||||||
|
|
||||||
|
#define TR_CONTEXT "Status view"
|
||||||
#define MAX_FREQ_STRING "9999MHz"
|
#define MAX_FREQ_STRING "9999MHz"
|
||||||
|
|
||||||
// messages FrequencySwitcher
|
// messages FrequencySwitcher
|
||||||
@@ -48,7 +48,8 @@ const char* kDeskbarItemName = "CPUFreqStatusView";
|
|||||||
|
|
||||||
FrequencySwitcher::FrequencySwitcher(CPUFreqDriverInterface* interface,
|
FrequencySwitcher::FrequencySwitcher(CPUFreqDriverInterface* interface,
|
||||||
BHandler* target)
|
BHandler* target)
|
||||||
: BMessageFilter(B_PROGRAMMED_DELIVERY, B_ANY_SOURCE),
|
:
|
||||||
|
BMessageFilter(B_PROGRAMMED_DELIVERY, B_ANY_SOURCE),
|
||||||
fDriverInterface(interface),
|
fDriverInterface(interface),
|
||||||
fTarget(target),
|
fTarget(target),
|
||||||
fMessageRunner(NULL),
|
fMessageRunner(NULL),
|
||||||
@@ -194,21 +195,21 @@ FrequencyMenu::FrequencyMenu(BMenu* menu, BHandler* target,
|
|||||||
fStorage(storage),
|
fStorage(storage),
|
||||||
fInterface(interface)
|
fInterface(interface)
|
||||||
{
|
{
|
||||||
BCatalog cat("x-vnd.Haiku-CPUFrequencyPref");
|
BCatalog catalog("x-vnd.Haiku-CPUFrequencyPref");
|
||||||
fDynamicPerformance = new BMenuItem(
|
fDynamicPerformance = new BMenuItem(
|
||||||
cat.GetString("Dynamic Performance",TR_CONTEXT),
|
catalog.GetString("Dynamic Performance",TR_CONTEXT),
|
||||||
new BMessage(kMsgPolicyDynamic));
|
new BMessage(kMsgPolicyDynamic));
|
||||||
fHighPerformance = new BMenuItem(
|
fHighPerformance = new BMenuItem(
|
||||||
cat.GetString("High Performance",TR_CONTEXT),
|
catalog.GetString("High Performance",TR_CONTEXT),
|
||||||
new BMessage(kMsgPolicyPerformance));
|
new BMessage(kMsgPolicyPerformance));
|
||||||
fLowEnergie = new BMenuItem(cat.GetString("Low Energy",TR_CONTEXT),
|
fLowEnergie = new BMenuItem(catalog.GetString("Low Energy",TR_CONTEXT),
|
||||||
new BMessage(kMsgPolicyLowEnergy));
|
new BMessage(kMsgPolicyLowEnergy));
|
||||||
|
|
||||||
menu->AddItem(fDynamicPerformance);
|
menu->AddItem(fDynamicPerformance);
|
||||||
menu->AddItem(fHighPerformance);
|
menu->AddItem(fHighPerformance);
|
||||||
menu->AddItem(fLowEnergie);
|
menu->AddItem(fLowEnergie);
|
||||||
|
|
||||||
fCustomStateMenu = new BMenu(cat.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++) {
|
||||||
@@ -347,12 +348,13 @@ FrequencyMenu::UpdateMenu()
|
|||||||
|
|
||||||
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,
|
||||||
B_WILL_DRAW | B_FRAME_EVENTS),
|
B_WILL_DRAW | B_FRAME_EVENTS),
|
||||||
fInDeskbar(inDeskbar),
|
fInDeskbar(inDeskbar),
|
||||||
fCurrentFrequency(NULL),
|
fCurrentFrequency(NULL),
|
||||||
fDragger(NULL),
|
fDragger(NULL),
|
||||||
cat("x-vnd.Haiku-CPUFrequencyPref")
|
fCatalog("x-vnd.Haiku-CPUFrequencyPref")
|
||||||
{
|
{
|
||||||
if (!inDeskbar) {
|
if (!inDeskbar) {
|
||||||
// we were obviously added to a standard window - let's add a dragger
|
// we were obviously added to a standard window - let's add a dragger
|
||||||
@@ -405,9 +407,10 @@ StatusView::~StatusView()
|
|||||||
void
|
void
|
||||||
StatusView::_AboutRequested()
|
StatusView::_AboutRequested()
|
||||||
{
|
{
|
||||||
BAlert *alert = new BAlert("about", cat.GetString("CPU Frequency\n"
|
BAlert *alert = new BAlert("about", fCatalog.GetString("CPU Frequency\n"
|
||||||
"\twritten by Clemens Zeidler\n"
|
"\twritten by Clemens Zeidler\n"
|
||||||
"\tCopyright 2009, Haiku, Inc.\n",TR_CONTEXT), cat.GetString("Ok",TR_CONTEXT));
|
"\tCopyright 2009, Haiku, Inc.\n", TR_CONTEXT),
|
||||||
|
fCatalog.GetString("Ok", TR_CONTEXT));
|
||||||
BTextView *view = alert->TextView();
|
BTextView *view = alert->TextView();
|
||||||
BFont font;
|
BFont font;
|
||||||
|
|
||||||
@@ -487,14 +490,14 @@ StatusView::AttachedToWindow()
|
|||||||
fPreferencesMenu->SetFont(be_plain_font);
|
fPreferencesMenu->SetFont(be_plain_font);
|
||||||
|
|
||||||
fPreferencesMenu->AddSeparatorItem();
|
fPreferencesMenu->AddSeparatorItem();
|
||||||
fOpenPrefItem = new BMenuItem(
|
fOpenPrefItem = new BMenuItem(fCatalog.GetString(
|
||||||
cat.GetString("Open Speedstep Preferences" B_UTF8_ELLIPSIS, TR_CONTEXT),
|
"Open Speedstep Preferences" B_UTF8_ELLIPSIS, TR_CONTEXT),
|
||||||
new BMessage(kMsgOpenSSPreferences));
|
new BMessage(kMsgOpenSSPreferences));
|
||||||
fPreferencesMenu->AddItem(fOpenPrefItem);
|
fPreferencesMenu->AddItem(fOpenPrefItem);
|
||||||
fOpenPrefItem->SetTarget(this);
|
fOpenPrefItem->SetTarget(this);
|
||||||
|
|
||||||
if (fInDeskbar) {
|
if (fInDeskbar) {
|
||||||
fQuitItem= new BMenuItem(cat.GetString("Quit", TR_CONTEXT),
|
fQuitItem= new BMenuItem(fCatalog.GetString("Quit", TR_CONTEXT),
|
||||||
new BMessage(B_QUIT_REQUESTED));
|
new BMessage(B_QUIT_REQUESTED));
|
||||||
fPreferencesMenu->AddItem(fQuitItem);
|
fPreferencesMenu->AddItem(fQuitItem);
|
||||||
fQuitItem->SetTarget(this);
|
fQuitItem->SetTarget(this);
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
* Authors:
|
* Authors:
|
||||||
* Clemens Zeidler, [email protected]
|
* Clemens Zeidler, [email protected]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef STATUS_VIEW_H
|
#ifndef STATUS_VIEW_H
|
||||||
#define STATUS_VIEW_H
|
#define STATUS_VIEW_H
|
||||||
|
|
||||||
|
|
||||||
#include <Dragger.h>
|
#include <Dragger.h>
|
||||||
#include <MessageFilter.h>
|
#include <MessageFilter.h>
|
||||||
#include <MessageRunner.h>
|
#include <MessageRunner.h>
|
||||||
@@ -19,31 +19,23 @@
|
|||||||
#include "DriverInterface.h"
|
#include "DriverInterface.h"
|
||||||
#include "PreferencesWindow.h"
|
#include "PreferencesWindow.h"
|
||||||
|
|
||||||
#define DEBUG 1
|
|
||||||
#include <Debug.h>
|
|
||||||
|
|
||||||
#if DEBUG
|
|
||||||
# define LOG(text...) PRINT((text))
|
|
||||||
#else
|
|
||||||
# define LOG(text...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern const char* kDeskbarItemName;
|
extern const char* kDeskbarItemName;
|
||||||
extern const char* kAddonSignature;
|
extern const char* kAddonSignature;
|
||||||
|
|
||||||
|
|
||||||
class FrequencySwitcher : public BMessageFilter
|
class FrequencySwitcher : public BMessageFilter {
|
||||||
{
|
public:
|
||||||
public:
|
FrequencySwitcher(
|
||||||
FrequencySwitcher(CPUFreqDriverInterface* interface,
|
CPUFreqDriverInterface* interface,
|
||||||
BHandler* target);
|
BHandler* target);
|
||||||
virtual ~FrequencySwitcher();
|
virtual ~FrequencySwitcher();
|
||||||
|
|
||||||
virtual filter_result Filter(BMessage *message, BHandler **target);
|
virtual filter_result Filter(BMessage* message, BHandler** _target);
|
||||||
|
|
||||||
void SetMode(const freq_preferences& pref);
|
void SetMode(const freq_preferences& pref);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void _CalculateDynamicState();
|
void _CalculateDynamicState();
|
||||||
void _StartDynamicPolicy(bool start,
|
void _StartDynamicPolicy(bool start,
|
||||||
const freq_preferences& pref);
|
const freq_preferences& pref);
|
||||||
@@ -62,16 +54,17 @@ class FrequencySwitcher : public BMessageFilter
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class FrequencyMenu : public BMessageFilter
|
class FrequencyMenu : public BMessageFilter {
|
||||||
{
|
public:
|
||||||
public:
|
|
||||||
FrequencyMenu(BMenu* menu, BHandler* target,
|
FrequencyMenu(BMenu* menu, BHandler* target,
|
||||||
PreferencesStorage<freq_preferences>* storage,
|
PreferencesStorage<freq_preferences>*
|
||||||
|
storage,
|
||||||
CPUFreqDriverInterface* interface);
|
CPUFreqDriverInterface* interface);
|
||||||
virtual filter_result Filter(BMessage *message, BHandler **target);
|
virtual filter_result Filter(BMessage* message, BHandler** _target);
|
||||||
|
|
||||||
void UpdateMenu();
|
void UpdateMenu();
|
||||||
private:
|
|
||||||
|
private:
|
||||||
inline void _SetL1MenuLabelFrom(BMenuItem* item);
|
inline void _SetL1MenuLabelFrom(BMenuItem* item);
|
||||||
|
|
||||||
BHandler* fTarget;
|
BHandler* fTarget;
|
||||||
@@ -86,14 +79,16 @@ class FrequencyMenu : public BMessageFilter
|
|||||||
|
|
||||||
|
|
||||||
class StatusView : public BView {
|
class StatusView : public BView {
|
||||||
public:
|
public:
|
||||||
StatusView(BRect frame, bool inDeskbar = false,
|
StatusView(BRect frame, bool inDeskbar = false,
|
||||||
PreferencesStorage<freq_preferences>* storage = NULL);
|
PreferencesStorage<freq_preferences>*
|
||||||
|
storage = NULL);
|
||||||
StatusView(BMessage* archive);
|
StatusView(BMessage* archive);
|
||||||
virtual ~StatusView();
|
virtual ~StatusView();
|
||||||
|
|
||||||
static StatusView* Instantiate(BMessage* archive);
|
static StatusView* Instantiate(BMessage* archive);
|
||||||
virtual status_t Archive(BMessage* archive, bool deep = true) const;
|
virtual status_t Archive(BMessage* archive,
|
||||||
|
bool deep = true) const;
|
||||||
|
|
||||||
virtual void AttachedToWindow();
|
virtual void AttachedToWindow();
|
||||||
virtual void DetachedFromWindow();
|
virtual void DetachedFromWindow();
|
||||||
@@ -110,7 +105,7 @@ class StatusView : public BView {
|
|||||||
|
|
||||||
virtual void UpdateCPUFreqState();
|
virtual void UpdateCPUFreqState();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void _Init();
|
void _Init();
|
||||||
void _SetupNewFreqString();
|
void _SetupNewFreqString();
|
||||||
void _OpenPreferences();
|
void _OpenPreferences();
|
||||||
@@ -136,7 +131,7 @@ class StatusView : public BView {
|
|||||||
BString fFreqString;
|
BString fFreqString;
|
||||||
BDragger* fDragger;
|
BDragger* fDragger;
|
||||||
|
|
||||||
BCatalog cat;
|
BCatalog fCatalog;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // STATUS_VIEW_H
|
#endif // STATUS_VIEW_H
|
||||||
|
|||||||
Reference in New Issue
Block a user