~larryprice/libertine-scope/filter-state

« back to all changes in this revision

Viewing changes to scope/apps/action.h

  • Committer: Larry Price
  • Date: 2016-07-28 20:12:03 UTC
  • Revision ID: larry.price@canonical.com-20160728201203-pwe1sw13zhlnwi5r
Showing/hiding applications should retain filter state

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
 * * Authored by:
16
16
 *      Kyle Nitzsche <kyle.nitzsche@canonical.com>
17
17
 */
18
 
 
19
18
#ifndef SCOPE_ACTION_H_
20
19
#define SCOPE_ACTION_H_
21
20
 
22
 
#include "scope/apps/scope.h"
 
21
 
23
22
#include <unity/scopes/ActionMetadata.h>
24
23
#include <unity/scopes/ActivationQueryBase.h>
25
24
#include <unity/scopes/ActivationResponse.h>
26
25
#include <unity/scopes/Result.h>
27
26
 
 
27
 
28
28
class HiddenApps;
29
29
 
30
30
class Action : public unity::scopes::ActivationQueryBase {
31
 
  public:
32
 
    Action(unity::scopes::Result const&         result,
33
 
           unity::scopes::ActionMetadata const& metadata,
34
 
           std::string const&                   action_id, 
35
 
           std::shared_ptr<HiddenApps>          hidden);
36
 
 
37
 
    virtual ~Action() = default;
38
 
    virtual unity::scopes::ActivationResponse activate() override;
39
 
 
40
 
  private:
41
 
    std::string action_id_;
42
 
    std::string cache_dir_;
43
 
    std::shared_ptr<HiddenApps> hidden_;
 
31
public:
 
32
  typedef std::function<void(std::string const&)> OpenUriAction;
 
33
 
 
34
  explicit Action(unity::scopes::Result const&         result,
 
35
                  unity::scopes::ActionMetadata const& metadata,
 
36
                  std::string const&                   action_id,
 
37
                  OpenUriAction                        open_action,
 
38
                  std::shared_ptr<HiddenApps>          hidden,
 
39
                  unity::scopes::FilterState const&    filterState);
 
40
 
 
41
  virtual ~Action() = default;
 
42
  virtual unity::scopes::ActivationResponse activate() override;
 
43
 
 
44
private:
 
45
  std::string action_id_;
 
46
  std::string cache_dir_;
 
47
  OpenUriAction open_action_;
 
48
  std::shared_ptr<HiddenApps> hidden_;
 
49
  unity::scopes::FilterState filter_state_;
44
50
};
45
51
#endif