1
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
3
* Copyright (C) 2011 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: Jason Smith <jason.smith@canonical.com>
20
#ifndef UNITYSHELL_BFBLAUNCHERICON_H
21
#define UNITYSHELL_BFBLAUNCHERICON_H
23
#include <UnityCore/FilesystemLenses.h>
24
#include <UnityCore/GLibWrapper.h>
25
#include <UnityCore/GLibSignal.h>
27
#include "LauncherOptions.h"
28
#include "SimpleLauncherIcon.h"
29
#include "unity-shared/UBusWrapper.h"
36
class BFBLauncherIcon : public SimpleLauncherIcon
40
BFBLauncherIcon(LauncherHideMode hide_mode);
42
virtual nux::Color BackgroundColor() const;
43
virtual nux::Color GlowColor();
45
void ActivateLauncherIcon(ActionArg arg);
46
void SetHideMode(LauncherHideMode hide_mode);
49
MenuItemsVector GetMenus();
50
std::string GetName() const;
53
void OnOverlayShown(GVariant *data, bool visible);
54
void OnMenuitemActivated(DbusmenuMenuitem* item, int time, std::string const& lens);
56
nux::Color background_color_;
57
dash::LensDirectoryReader::Ptr reader_;
58
LauncherHideMode launcher_hide_mode_;
59
UBusManager ubus_manager_;
60
glib::SignalManager signals_;
66
#endif // UNITYSHELL_BFBLAUNCHERICON_H