diff --git a/src/apps/activitymonitor/ActivityWindow.cpp b/src/apps/activitymonitor/ActivityWindow.cpp index f635ec63ae..1a3d07f7b0 100644 --- a/src/apps/activitymonitor/ActivityWindow.cpp +++ b/src/apps/activitymonitor/ActivityWindow.cpp @@ -253,6 +253,13 @@ ActivityWindow::ActivityViewAt(int32 index) const } +bool +ActivityWindow::IsAlwaysOnTop() const +{ + return fAlwaysOnTop->IsMarked(); +} + + void ActivityWindow::BroadcastToActivityViews(BMessage* message, BView* exceptToView) { diff --git a/src/apps/activitymonitor/ActivityWindow.h b/src/apps/activitymonitor/ActivityWindow.h index 0232cd80b5..0fd6b096e0 100644 --- a/src/apps/activitymonitor/ActivityWindow.h +++ b/src/apps/activitymonitor/ActivityWindow.h @@ -29,6 +29,7 @@ public: BView* exceptToView = NULL); bigtime_t RefreshInterval() const; + bool IsAlwaysOnTop() const; private: status_t _OpenSettings(BFile& file, uint32 mode); diff --git a/src/apps/activitymonitor/SettingsWindow.cpp b/src/apps/activitymonitor/SettingsWindow.cpp index 1fbed5fb88..de582630c2 100644 --- a/src/apps/activitymonitor/SettingsWindow.cpp +++ b/src/apps/activitymonitor/SettingsWindow.cpp @@ -105,6 +105,8 @@ SettingsWindow::SettingsWindow(ActivityWindow* target) .Add(fIntervalSlider) .SetInsets(10, 10, 10, 10) ); + if (target->IsAlwaysOnTop()) + SetFeel(B_MODAL_ALL_WINDOW_FEEL); } @@ -151,4 +153,3 @@ SettingsWindow::_RelativeTo(BWindow* window) return BRect(frame.right - 150, frame.top + frame.Height() / 4, frame.right + 200, frame.top + frame.Height() / 4 + 50); } -