From 89e0a7fb849124f2cb25a80410de15ba2f43eb38 Mon Sep 17 00:00:00 2001 From: Freeman Lou Date: Sun, 1 Dec 2013 22:10:07 +0000 Subject: [PATCH] ActivityMonitor: Settings now modal when always on top enabled. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * #9534 Signed-off-by: Jérôme Duval --- src/apps/activitymonitor/ActivityWindow.cpp | 7 +++++++ src/apps/activitymonitor/ActivityWindow.h | 1 + src/apps/activitymonitor/SettingsWindow.cpp | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) 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); } -