~brandontschaefer/unity/disable-super-tap-detection

« back to all changes in this revision

Viewing changes to dash/CoverflowResultView.cpp

  • Committer: Tarmac
  • Author(s): Nick Dedekind
  • Date: 2012-10-02 12:55:23 UTC
  • mfrom: (2740.6.5 unity.other)
  • Revision ID: tarmac-20121002125523-opojuwgxnkydpzbu
Immediate feedback for dash preview activation.. Fixes: https://bugs.launchpad.net/bugs/1043808. Approved by Gord Allott, Brandon Schaefer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 */
19
19
 
20
20
#include "CoverflowResultView.h"
 
21
#include <UnityCore/Variant.h>
21
22
#include "unity-shared/IconLoader.h"
22
23
#include "unity-shared/IconTexture.h"
23
24
#include "unity-shared/DashStyle.h"
124
125
 
125
126
void CoverflowResultItem::Activate(int button)
126
127
{
 
128
  int index = Index();
 
129
  int size = model_->Items().size();
 
130
 
 
131
  glib::Variant data(g_variant_new("(iiii)", 0, 0, index, size - index));
 
132
 
127
133
  //Left and right click take you to previews.
128
134
  if (button == 1 || button == 3)
129
 
    parent_->UriActivated.emit(result_.uri, ResultView::ActivateType::PREVIEW);
 
135
    parent_->Activate(result_.uri, index, ResultView::ActivateType::PREVIEW);
130
136
  //Scroll click opens up music player.
131
137
  else if (button == 2)
132
 
    parent_->UriActivated.emit(result_.uri, ResultView::ActivateType::DIRECT);
133
 
 
134
 
  int index = Index();
135
 
  int size = model_->Items().size();
136
 
 
137
 
  ubus_.SendMessage(UBUS_DASH_PREVIEW_INFO_PAYLOAD, 
138
 
                    g_variant_new("(iiii)", 0, 0, index, size - index));
 
138
    parent_->Activate(result_.uri, index, ResultView::ActivateType::DIRECT);
 
139
 
139
140
}
140
141
 
141
142
CoverflowResultView::Impl::Impl(CoverflowResultView *parent)
189
190
    
190
191
    if (nav_mode)
191
192
    {
192
 
      int left_results = current_index;
193
 
      int right_results = num_results ? (num_results - current_index) - 1 : 0;
194
 
      parent_->UriActivated.emit(GetUriForIndex(current_index), ActivateType::PREVIEW);
195
 
      ubus_.SendMessage(UBUS_DASH_PREVIEW_INFO_PAYLOAD, 
196
 
                              g_variant_new("(iiii)", 0, 0, left_results, right_results));
 
193
      std::string uri = GetUriForIndex(current_index);
 
194
      parent_->Activate(uri, current_index, ActivateType::PREVIEW);
197
195
    }
198
196
  });
199
197
}
309
307
}
310
308
 
311
309
 
 
310
void CoverflowResultView::Activate(std::string const& uri, int index, ResultView::ActivateType type)
 
311
{
 
312
  unsigned num_results = pimpl->coverflow_->model()->Items().size();
 
313
 
 
314
  int left_results = index;
 
315
  int right_results = num_results ? (num_results - index) - 1 : 0;
 
316
  int row_y = GetRootGeometry().y;
 
317
  int row_height = renderer_->height;
 
318
 
 
319
  glib::Variant data(g_variant_new("(iiii)", row_y, row_height, left_results, right_results));
 
320
  UriActivated.emit(uri, type, data);
 
321
}
 
322
 
 
323
 
312
324
}
313
325
}