Added "Always on top" menu to the ActivityMonitor.

Signed-off-by: Matt Madia <[email protected]>
This commit is contained in:
Dancsó Róbert
2013-03-06 17:24:54 -05:00
committed by Matt Madia
parent c5469c3939
commit 6cf270f88e
2 changed files with 13 additions and 0 deletions
@@ -31,6 +31,7 @@
static const uint32 kMsgAddView = 'advw'; static const uint32 kMsgAddView = 'advw';
static const uint32 kMsgShowSettings = 'shst'; static const uint32 kMsgShowSettings = 'shst';
static const uint32 kMsgAlwaysOnTop = 'alot';
ActivityWindow::ActivityWindow() ActivityWindow::ActivityWindow()
@@ -131,6 +132,9 @@ ActivityWindow::ActivityWindow()
menu = new BMenu(B_TRANSLATE("Settings")); menu = new BMenu(B_TRANSLATE("Settings"));
menu->AddItem(new BMenuItem(B_TRANSLATE("Settings" B_UTF8_ELLIPSIS), menu->AddItem(new BMenuItem(B_TRANSLATE("Settings" B_UTF8_ELLIPSIS),
new BMessage(kMsgShowSettings))); new BMessage(kMsgShowSettings)));
menu->AddSeparatorItem();
fAlwaysOnTop = new BMenuItem(B_TRANSLATE("Always on top"), new BMessage(kMsgAlwaysOnTop));
menu->AddItem(fAlwaysOnTop);
menu->SetTargetForItems(this); menu->SetTargetForItems(this);
menuBar->AddItem(menu); menuBar->AddItem(menu);
} }
@@ -200,6 +204,13 @@ ActivityWindow::MessageReceived(BMessage* message)
} }
break; break;
} }
case kMsgAlwaysOnTop:
{
SetFeel(this->IsFloating() ? B_NORMAL_WINDOW_FEEL : B_FLOATING_ALL_WINDOW_FEEL);
fAlwaysOnTop->SetMarked(!fAlwaysOnTop->IsMarked());
break;
}
case kMsgTimeIntervalUpdated: case kMsgTimeIntervalUpdated:
BroadcastToActivityViews(message); BroadcastToActivityViews(message);
@@ -31,6 +31,8 @@ public:
bigtime_t RefreshInterval() const; bigtime_t RefreshInterval() const;
private: private:
BMenuItem* fAlwaysOnTop;
status_t _OpenSettings(BFile& file, uint32 mode); status_t _OpenSettings(BFile& file, uint32 mode);
status_t _LoadSettings(BMessage& settings); status_t _LoadSettings(BMessage& settings);
status_t _SaveSettings(); status_t _SaveSettings();