Back to index

unity  6.0.0
BFBLauncherIcon.h
Go to the documentation of this file.
00001 // -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
00002 /*
00003  * Copyright (C) 2011 Canonical Ltd
00004  *
00005  * This program is free software: you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License version 3 as
00007  * published by the Free Software Foundation.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016  *
00017  * Authored by: Jason Smith <jason.smith@canonical.com>
00018  */
00019 
00020 #ifndef UNITYSHELL_BFBLAUNCHERICON_H
00021 #define UNITYSHELL_BFBLAUNCHERICON_H
00022 
00023 #include "SimpleLauncherIcon.h"
00024 
00025 #include <UnityCore/FilesystemLenses.h>
00026 
00027 #include "LauncherOptions.h"
00028 #include "unity-shared/UBusWrapper.h"
00029 
00030 namespace unity
00031 {
00032 namespace launcher
00033 {
00034 
00035 class BFBLauncherIcon : public SimpleLauncherIcon
00036 {
00037 
00038 public:
00039   BFBLauncherIcon(LauncherHideMode hide_mode);
00040 
00041   virtual nux::Color BackgroundColor() const;
00042   virtual nux::Color GlowColor();
00043 
00044   void ActivateLauncherIcon(ActionArg arg);
00045   void SetHideMode(LauncherHideMode hide_mode);
00046 
00047 protected:
00048   std::list<DbusmenuMenuitem*> GetMenus();
00049   std::string GetName() const;
00050 
00051 private:
00052   void OnOverlayShown(GVariant *data, bool visible);
00053   static void OnMenuitemActivated(DbusmenuMenuitem* item, int time, gchar* lens);
00054 
00055   static unity::UBusManager ubus_manager_;
00056   nux::Color background_color_;
00057   dash::LensDirectoryReader::Ptr reader_;
00058   LauncherHideMode launcher_hide_mode_;
00059 };
00060 
00061 }
00062 }
00063 
00064 #endif // UNITYSHELL_BFBLAUNCHERICON_H