1
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
3
* Copyright (C) 2010 Canonical Ltd
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.
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.
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/>.
17
* Authored by: Neil Jagdish Patel <neil.patel@canonical.com>
20
#ifndef PLACES_HOME_VIEW_H
21
#define PLACES_HOME_VIEW_H
24
#include <Nux/Layout.h>
25
#include <Nux/TextureArea.h>
26
#include <NuxGraphics/GraphicsEngine.h>
28
#include "Introspectable.h"
30
#include <Nux/GridHLayout.h>
32
#include "PlacesTile.h"
33
#include "PlacesGroup.h"
38
class PlacesHomeView : public unity::debug::Introspectable, public PlacesGroup
44
void Refresh(PlacesGroup* foo =NULL);
47
// Introspectable methods
48
std::string GetName() const;
49
void AddProperties(GVariantBuilder* builder);
52
static void DashVisible(GVariant* data, void* val);
53
void OnShortcutClicked(PlacesTile* _tile);
54
void CreateShortcutFromExec(const char* exec,
56
std::vector<std::string>& alternatives);
57
void CreateShortcutFromMime(const char* mime,
59
std::vector<std::string>& alternatives);
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;