summaryrefslogtreecommitdiff
path: root/launcher
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2013-11-16 12:44:23 +0100
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2013-11-16 12:44:23 +0100
commit01da0a843ebe39ecf1ace526de03fb23643f8c17 (patch)
tree91a87a0c193d8feebc4a022c8f654f9d9a83d89e /launcher
parentdcd6ee8bb2cb8e3fe4349bfb858073b0eb9dfe52 (diff)
BackgroundEffectHelper: connect to owner geometry changes to update the requested blur geo
Now BGHelper clients doesn't need to do this manually: as soon as they register with the helper, it connects to owner's geometry changes. Each owner can also provide a custom function for defining another blur region instead of its absolute geometry (mostly needed by the dash). (bzr r3347.5.14)
Diffstat (limited to 'launcher')
-rw-r--r--launcher/Launcher.cpp11
-rw-r--r--launcher/SwitcherController.cpp8
-rw-r--r--launcher/SwitcherView.cpp5
-rw-r--r--launcher/SwitcherView.h2
4 files changed, 7 insertions, 19 deletions
diff --git a/launcher/Launcher.cpp b/launcher/Launcher.cpp
index 226430f9f..24ce7824d 100644
--- a/launcher/Launcher.cpp
+++ b/launcher/Launcher.cpp
@@ -188,17 +188,6 @@ Launcher::Launcher(MockableBaseWindow* parent,
options.changed.connect(sigc::mem_fun(this, &Launcher::OnOptionsChanged));
monitor.changed.connect(sigc::mem_fun(this, &Launcher::OnMonitorChanged));
- auto update_blur_geometry = [this](nux::Area *area, nux::Geometry const& geo) {
- nux::Geometry const& geo_absolute = GetAbsoluteGeometry();
- nux::Geometry const& base = GetGeometry();
- nux::Geometry blur_geo(geo_absolute.x, geo_absolute.y, base.width, base.height);
-
- bg_effect_helper_.SetBackbufferRegion(blur_geo);
- };
-
- parent->geometry_changed.connect(update_blur_geometry);
- update_blur_geometry(this, GetAbsoluteGeometry());
-
auto_hide_animation_.updated.connect(redraw_cb);
hover_animation_.updated.connect(redraw_cb);
drag_over_animation_.updated.connect(redraw_cb);
diff --git a/launcher/SwitcherController.cpp b/launcher/SwitcherController.cpp
index f38bb5d66..1532effba 100644
--- a/launcher/SwitcherController.cpp
+++ b/launcher/SwitcherController.cpp
@@ -453,8 +453,7 @@ void Controller::Impl::ConstructView()
sources_.Remove(VIEW_CONSTRUCT_IDLE);
- ConstructWindow();
- view_ = SwitcherView::Ptr(new SwitcherView(view_window_.GetPointer()));
+ view_ = SwitcherView::Ptr(new SwitcherView());
obj_->AddChild(view_.GetPointer());
view_->SetModel(model_);
view_->background_color = WindowManager::Default().average_color();
@@ -468,8 +467,8 @@ void Controller::Impl::ConstructView()
});
view_->switcher_mouse_move.connect([this] (int icon_index) {
- if (icon_index >= 0)
- ResetDetailTimer(obj_->detail_timeout_length);
+ if (icon_index >= 0)
+ ResetDetailTimer(obj_->detail_timeout_length);
});
view_->switcher_next.connect(sigc::mem_fun(this, &Impl::Next));
@@ -477,6 +476,7 @@ void Controller::Impl::ConstructView()
view_->switcher_start_detail.connect(sigc::mem_fun(this, &Impl::StartDetailMode));
view_->switcher_stop_detail.connect(sigc::mem_fun(this, &Impl::StopDetailMode));
+ ConstructWindow();
main_layout_->AddView(view_.GetPointer(), 1);
view_window_->SetEnterFocusInputArea(view_.GetPointer());
view_window_->SetGeometry(GetSwitcherViewsGeometry());
diff --git a/launcher/SwitcherView.cpp b/launcher/SwitcherView.cpp
index 1ac190c1e..a28957ce2 100644
--- a/launcher/SwitcherView.cpp
+++ b/launcher/SwitcherView.cpp
@@ -44,9 +44,8 @@ namespace
NUX_IMPLEMENT_OBJECT_TYPE(SwitcherView);
-SwitcherView::SwitcherView(nux::BaseWindow *parent)
- : UnityWindowView(parent)
- , render_boxes(false)
+SwitcherView::SwitcherView()
+ : render_boxes(false)
, animate(true)
, border_size(50)
, flat_spacing(20)
diff --git a/launcher/SwitcherView.h b/launcher/SwitcherView.h
index 16429b999..8ceb23abb 100644
--- a/launcher/SwitcherView.h
+++ b/launcher/SwitcherView.h
@@ -50,7 +50,7 @@ class SwitcherView : public ui::UnityWindowView
public:
typedef nux::ObjectPtr<SwitcherView> Ptr;
- SwitcherView(nux::BaseWindow *parent);
+ SwitcherView();
ui::LayoutWindow::Vector ExternalTargets();