~3v1n0/unity/panel-p-cleanup

« back to all changes in this revision

Viewing changes to plugins/unityshell/src/PlacesHomeView.h

  • Committer: Daniel van Vugt
  • Date: 2012-03-14 06:24:18 UTC
  • mfrom: (1858.2.250 unity)
  • mto: (1858.2.288 unity)
  • mto: This revision was merged to the branch mainline in revision 2076.
  • Revision ID: daniel.van.vugt@canonical.com-20120314062418-nprucpbr0m7qky5e
MergedĀ latestĀ lp:unity

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
2
 
/*
3
 
 * Copyright (C) 2010 Canonical Ltd
4
 
 *
5
 
 * This program is free software: you can redistribute it and/or modify
6
 
 * it under the terms of the GNU General Public License version 3 as
7
 
 * published by the Free Software Foundation.
8
 
 *
9
 
 * This program is distributed in the hope that it will be useful,
10
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
 * GNU General Public License for more details.
13
 
 *
14
 
 * You should have received a copy of the GNU General Public License
15
 
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
 
 *
17
 
 * Authored by: Neil Jagdish Patel <neil.patel@canonical.com>
18
 
 */
19
 
 
20
 
#ifndef PLACES_HOME_VIEW_H
21
 
#define PLACES_HOME_VIEW_H
22
 
 
23
 
#include <Nux/View.h>
24
 
#include <Nux/Layout.h>
25
 
#include <Nux/TextureArea.h>
26
 
#include <NuxGraphics/GraphicsEngine.h>
27
 
 
28
 
#include "Introspectable.h"
29
 
 
30
 
#include <Nux/GridHLayout.h>
31
 
 
32
 
#include "PlacesTile.h"
33
 
#include "PlacesGroup.h"
34
 
 
35
 
namespace unity
36
 
{
37
 
 
38
 
class PlacesHomeView : public unity::debug::Introspectable, public PlacesGroup
39
 
{
40
 
public:
41
 
  PlacesHomeView();
42
 
  ~PlacesHomeView();
43
 
 
44
 
  void Refresh(PlacesGroup* foo =NULL);
45
 
 
46
 
protected:
47
 
  // Introspectable methods
48
 
  std::string GetName() const;
49
 
  void AddProperties(GVariantBuilder* builder);
50
 
 
51
 
private:
52
 
  static void DashVisible(GVariant* data, void* val);
53
 
  void OnShortcutClicked(PlacesTile* _tile);
54
 
  void CreateShortcutFromExec(const char* exec,
55
 
                              const char* name,
56
 
                              std::vector<std::string>& alternatives);
57
 
  void CreateShortcutFromMime(const char* mime,
58
 
                              const char* name,
59
 
                              std::vector<std::string>& alternatives);
60
 
 
61
 
private:
62
 
  nux::GridHLayout*        _layout;
63
 
  std::vector<std::string> _browser_alternatives;
64
 
  std::vector<std::string> _photo_alternatives;
65
 
  std::vector<std::string> _email_alternatives;
66
 
  std::vector<std::string> _music_alternatives;
67
 
 
68
 
  guint _ubus_handle;
69
 
};
70
 
 
71
 
}
72
 
#endif