summaryrefslogtreecommitdiff
path: root/dash
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2014-02-25 22:36:34 +0100
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2014-02-25 22:36:34 +0100
commit9fa062baba39b5f608ffc4dd5541d520c8417e76 (patch)
treeda034c4ba3cd09d4be73f907fb26a9bea4b0dc4d /dash
parent7056e89f6e9bb9722b916fe743bf5eec691ba611 (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.cpp6
-rw-r--r--dash/DashView.cpp37
-rw-r--r--dash/DashView.h1
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_;