diff options
| -rw-r--r-- | launcher/FileManagerLauncherIcon.cpp | 30 | ||||
| -rw-r--r-- | launcher/FileManagerLauncherIcon.h | 6 | ||||
| -rw-r--r-- | launcher/StorageLauncherIcon.cpp | 20 | ||||
| -rw-r--r-- | launcher/StorageLauncherIcon.h | 4 |
4 files changed, 36 insertions, 24 deletions
diff --git a/launcher/FileManagerLauncherIcon.cpp b/launcher/FileManagerLauncherIcon.cpp index 3fabb7adb..dbe3b0fba 100644 --- a/launcher/FileManagerLauncherIcon.cpp +++ b/launcher/FileManagerLauncherIcon.cpp @@ -49,6 +49,11 @@ FileManagerLauncherIcon::FileManagerLauncherIcon(ApplicationPtr const& app, Devi SetQuirk(Quirk::VISIBLE, false); SkipQuirkAnimation(Quirk::VISIBLE); + signals_conn_.Add(app_->window_opened.connect([this](ApplicationWindowPtr const& win) { + signals_conn_.Add(win->monitor.changed.connect([this] (int) { UpdateStorageWindows(); })); + UpdateStorageWindows(); + })); + signals_conn_.Add(app_->desktop_file.changed.connect([this](std::string const& desktop_file) { LOG_DEBUG(logger) << tooltip_text() << " desktop_file now " << desktop_file; UpdateDesktopFile(); @@ -134,5 +139,30 @@ bool FileManagerLauncherIcon::OnShouldHighlightOnDrag(DndData const& dnd_data) return StorageLauncherIcon::OnShouldHighlightOnDrag(dnd_data); } +bool FileManagerLauncherIcon::IsUserVisible() const +{ + return WindowedLauncherIcon::IsUserVisible(); +} + +WindowList FileManagerLauncherIcon::WindowsOnViewport() +{ + WindowFilterMask filter = 0; + filter |= WindowFilter::MAPPED; + filter |= WindowFilter::ON_CURRENT_DESKTOP; + filter |= WindowFilter::ON_ALL_MONITORS; + + return WindowedLauncherIcon::GetWindows(filter); +} + +WindowList FileManagerLauncherIcon::WindowsForMonitor(int monitor) +{ + WindowFilterMask filter = 0; + filter |= WindowFilter::MAPPED; + filter |= WindowFilter::ON_CURRENT_DESKTOP; + + return WindowedLauncherIcon::GetWindows(filter, monitor); +} + + } // namespace launcher } // namespace unity diff --git a/launcher/FileManagerLauncherIcon.h b/launcher/FileManagerLauncherIcon.h index 1996747a3..e252c143d 100644 --- a/launcher/FileManagerLauncherIcon.h +++ b/launcher/FileManagerLauncherIcon.h @@ -34,6 +34,12 @@ class FileManagerLauncherIcon : public ApplicationLauncherIcon, public StorageLa public: FileManagerLauncherIcon(ApplicationPtr const&, DeviceLauncherSection::Ptr const&, FileManager::Ptr const& = nullptr); + bool IsUserVisible() const override; + +protected: + WindowList WindowsOnViewport() override; + WindowList WindowsForMonitor(int monitor) override; + private: WindowList GetManagedWindows() const override; WindowList GetStorageWindows() const override; diff --git a/launcher/StorageLauncherIcon.cpp b/launcher/StorageLauncherIcon.cpp index ed5e70c80..fcd50c54d 100644 --- a/launcher/StorageLauncherIcon.cpp +++ b/launcher/StorageLauncherIcon.cpp @@ -73,26 +73,6 @@ WindowList StorageLauncherIcon::GetManagedWindows() const return managed_windows_; } -WindowList StorageLauncherIcon::WindowsOnViewport() -{ - WindowFilterMask filter = 0; - filter |= WindowFilter::MAPPED; - filter |= WindowFilter::ON_CURRENT_DESKTOP; - filter |= WindowFilter::ON_ALL_MONITORS; - - return WindowedLauncherIcon::GetWindows(filter); -} - -WindowList StorageLauncherIcon::WindowsForMonitor(int monitor) -{ - WindowFilterMask filter = 0; - filter |= WindowFilter::MAPPED; - filter |= WindowFilter::ON_CURRENT_DESKTOP; - - return WindowedLauncherIcon::GetWindows(filter, monitor); -} - - void StorageLauncherIcon::OnWindowStateChanged() { bool active = false; diff --git a/launcher/StorageLauncherIcon.h b/launcher/StorageLauncherIcon.h index 81596351b..be7bf8074 100644 --- a/launcher/StorageLauncherIcon.h +++ b/launcher/StorageLauncherIcon.h @@ -37,10 +37,6 @@ protected: void UpdateStorageWindows(); WindowList GetManagedWindows() const override; virtual WindowList GetStorageWindows() const = 0; - - WindowList WindowsOnViewport() override; - WindowList WindowsForMonitor(int monitor) override; - bool OnShouldHighlightOnDrag(DndData const& dnd_data) override; private: |
