// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*- /* * Copyright (C) 2010 Canonical Ltd * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Authored by: Neil Jagdish Patel */ #ifndef PLACES_HOME_VIEW_H #define PLACES_HOME_VIEW_H #include #include #include #include #include "Introspectable.h" #include #include "PlacesTile.h" #include "PlacesGroup.h" #include class PlacesHomeView : public Introspectable, public PlacesGroup { public: PlacesHomeView (); ~PlacesHomeView (); void Refresh (); protected: // Introspectable methods const gchar * GetName (); const gchar * GetChildsName (); void AddProperties (GVariantBuilder *builder); private: void OnShortcutClicked (PlacesTile *_tile); static void OnKeyChanged (GConfClient *client, guint cnxn_id, GConfEntry *entry, PlacesHomeView *self); void CreateShortcutFromExec (const char *exec, const char *name, const char *icon_hint); private: nux::GridHLayout *_layout; GConfClient *_client; }; #endif