~unity-team/unity/trusty-1066971

« back to all changes in this revision

Viewing changes to dash/previews/MoviePreview.cpp

  • Committer: Marco Trevisan (Treviño)
  • Date: 2014-08-06 14:09:30 UTC
  • mto: This revision was merged to the branch mainline in revision 3802.
  • Revision ID: mail@3v1n0.net-20140806140930-knkc0x43ree376r1
PlacesOverlayVScrollBar and VScrollBarOverlayWindow: add support for scaling

Add a new ScrollView class to create ScrollViews with an OverlayScrollbar and with scaling support.
Using them in dash Scopes and Previews.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include "unity-shared/IntrospectableWrappers.h"
24
24
#include "unity-shared/PreviewStyle.h"
25
25
#include "unity-shared/CoverArt.h"
26
 
#include "unity-shared/PlacesOverlayVScrollBar.h"
27
26
#include <UnityCore/MoviePreview.h>
28
27
#include <NuxCore/Logger.h>
29
28
#include <Nux/HLayout.h>
50
49
 
51
50
DECLARE_LOGGER(logger, "unity.dash.preview.movie");
52
51
 
53
 
class DetailsScrollView : public nux::ScrollView
54
 
{
55
 
public:
56
 
  DetailsScrollView(NUX_FILE_LINE_PROTO)
57
 
  : ScrollView(NUX_FILE_LINE_PARAM)
58
 
  {
59
 
    SetVScrollBar(new dash::PlacesOverlayVScrollBar(NUX_TRACKER_LOCATION));
60
 
  }
61
 
 
62
 
};
63
 
 
64
52
NUX_IMPLEMENT_OBJECT_TYPE(MoviePreview);
65
53
 
66
54
MoviePreview::MoviePreview(dash::Preview::Ptr preview_model)
67
55
: Preview(preview_model)
68
56
, image_data_layout_(nullptr)
69
57
, preview_info_layout_(nullptr)
 
58
, preview_info_scroll_(nullptr)
70
59
, actions_layout_(nullptr)
71
60
{
72
61
  SetupViews();
187
176
 
188
177
      /////////////////////
189
178
      // Description
190
 
      nux::ScrollView* preview_info = new DetailsScrollView(NUX_TRACKER_LOCATION);
 
179
      auto* preview_info = new ScrollView(NUX_TRACKER_LOCATION);
 
180
      preview_info_scroll_ = preview_info;
 
181
      preview_info->scale = scale();
191
182
      preview_info->EnableHorizontalScrollBar(false);
192
183
      preview_info->mouse_click.connect(on_mouse_down);
193
184
 
296
287
    rating_->SetMinimumHeight(style.GetRatingWidgetHeight().CP(scale));
297
288
  }
298
289
 
 
290
  if (preview_info_scroll_)
 
291
    preview_info_scroll_->scale = scale;
 
292
 
299
293
  if (preview_info_layout_)
300
294
    preview_info_layout_->SetSpaceBetweenChildren(PREVIEW_INFO_CHILDREN_SPACE);
301
295