diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2014-02-25 22:36:34 +0100 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2014-02-25 22:36:34 +0100 |
| commit | 9fa062baba39b5f608ffc4dd5541d520c8417e76 (patch) | |
| tree | da034c4ba3cd09d4be73f907fb26a9bea4b0dc4d /dash | |
| parent | 7056e89f6e9bb9722b916fe743bf5eec691ba611 (diff) | |
DashView: correctly set the the proper monitor offsets to match monitor DPI
(bzr r3680.1.46)
Diffstat (limited to 'dash')
| -rw-r--r-- | dash/DashController.cpp | 6 | ||||
| -rw-r--r-- | dash/DashView.cpp | 37 | ||||
| -rw-r--r-- | dash/DashView.h | 1 |
3 files changed, 18 insertions, 26 deletions
diff --git a/dash/DashController.cpp b/dash/DashController.cpp index 86468b775..49a4c0298 100644 --- a/dash/DashController.cpp +++ b/dash/DashController.cpp @@ -249,8 +249,7 @@ void Controller::Relayout(bool check_monitor) nux::Geometry geo = GetIdealWindowGeometry(); view_->Relayout(); window_->SetGeometry(geo); - panel::Style &panel_style = panel::Style::Instance(); - view_->SetMonitorOffset(launcher_width, panel_style.PanelHeight(monitor_)); + view_->SetMonitorOffset(launcher_width, panel::Style::Instance().PanelHeight(monitor_)); } void Controller::OnMouseDownOutsideWindow(int x, int y, @@ -299,9 +298,8 @@ void Controller::ShowDash() } monitor_ = GetIdealMonitor(); - + view_->SetMonitorOffset(launcher_width, panel::Style::Instance().PanelHeight(monitor_)); view_->AboutToShow(); - FocusWindow(); need_show_ = false; diff --git a/dash/DashView.cpp b/dash/DashView.cpp index 3b681cb58..16dad9b33 100644 --- a/dash/DashView.cpp +++ b/dash/DashView.cpp @@ -36,7 +36,6 @@ #include "unity-shared/DashStyle.h" #include "unity-shared/KeyboardUtil.h" #include "unity-shared/PreviewStyle.h" -#include "unity-shared/PanelStyle.h" #include "unity-shared/UBusMessages.h" #include "unity-shared/UnitySettings.h" #include "unity-shared/WindowManager.h" @@ -169,6 +168,8 @@ void DashView::SetMonitorOffset(int x, int y) { renderer_.x_offset = x; renderer_.y_offset = y; + + top_space_->SetMinMaxSize(0, y); } bool DashView::IsCommandLensOpen() const @@ -518,14 +519,14 @@ void DashView::AboutToHide() void DashView::SetupViews() { dash::Style& style = dash::Style::Instance(); - panel::Style &panel_style = panel::Style::Instance(); - int panel_height = panel_style.PanelHeight(); layout_ = new nux::VLayout(); layout_->SetLeftAndRightPadding(style.GetVSeparatorSize(), 0); layout_->SetTopAndBottomPadding(style.GetHSeparatorSize(), 0); SetLayout(layout_); - layout_->AddLayout(new nux::SpaceLayout(0, 0, panel_height, panel_height), 0); + + top_space_ = new nux::SpaceLayout(0, 0, renderer_.y_offset(), renderer_.y_offset()); + layout_->AddLayout(top_space_, 0); content_layout_ = new DashLayout(NUX_TRACKER_LOCATION); content_layout_->SetTopAndBottomPadding(style.GetDashViewTopPadding(), 0); @@ -611,8 +612,7 @@ void DashView::Relayout() nux::Geometry DashView::GetBestFitGeometry(nux::Geometry const& for_geo) { dash::Style& style = dash::Style::Instance(); - panel::Style &panel_style = panel::Style::Instance(); - int panel_height = panel_style.PanelHeight(); + int panel_height = renderer_.y_offset; int width = 0, height = 0; int tile_width = style.GetTileWidth(); @@ -649,29 +649,25 @@ nux::Geometry DashView::GetBestFitGeometry(nux::Geometry const& for_geo) void DashView::Draw(nux::GraphicsEngine& graphics_engine, bool force_draw) { - panel::Style &panel_style = panel::Style::Instance(); nux::Geometry const& renderer_geo_abs(GetRenderAbsoluteGeometry()); nux::Geometry renderer_geo(GetGeometry()); - int panel_height = panel_style.PanelHeight(); - - renderer_geo.y += panel_height; - renderer_geo.height += panel_height; + renderer_geo.y += renderer_.y_offset; + renderer_geo.height += renderer_.y_offset; renderer_.DrawFull(graphics_engine, content_geo_, renderer_geo_abs, renderer_geo, false); } void DashView::DrawContent(nux::GraphicsEngine& graphics_engine, bool force_draw) { - panel::Style& panel_style = panel::Style::Instance(); - int panel_height = panel_style.PanelHeight(); + int renderer_y_offset = renderer_.y_offset(); nux::Geometry renderer_geo_abs(GetAbsoluteGeometry()); - renderer_geo_abs.y += panel_height; - renderer_geo_abs.height -= panel_height; + renderer_geo_abs.y += renderer_y_offset; + renderer_geo_abs.height -= renderer_y_offset; nux::Geometry renderer_geo(GetGeometry()); - renderer_geo.y += panel_height; - renderer_geo.height += panel_height; + renderer_geo.y += renderer_y_offset; + renderer_geo.height += renderer_y_offset; renderer_.DrawInner(graphics_engine, content_geo_, renderer_geo_abs, renderer_geo); @@ -1692,12 +1688,9 @@ nux::Geometry const& DashView::GetContentGeometry() const nux::Geometry DashView::GetRenderAbsoluteGeometry() const { - panel::Style &panel_style = panel::Style::Instance(); - int panel_height = panel_style.PanelHeight(); - nux::Geometry renderer_geo_abs(GetAbsoluteGeometry()); - renderer_geo_abs.y += panel_height; - renderer_geo_abs.height -= panel_height; + renderer_geo_abs.y += renderer_.y_offset; + renderer_geo_abs.height -= renderer_.y_offset; return renderer_geo_abs; } diff --git a/dash/DashView.h b/dash/DashView.h index 882cdcc8f..6b94cb864 100644 --- a/dash/DashView.h +++ b/dash/DashView.h @@ -152,6 +152,7 @@ private: SearchBar* search_bar_; nux::VLayout* scopes_layout_; ScopeBar* scope_bar_; + nux::SpaceLayout* top_space_; nux::ObjectPtr<ScopeView> active_scope_view_; nux::ObjectPtr<ScopeView> preview_scope_view_; |
