| Index: chrome/browser/chromeos/status/network_menu_button.h
|
| diff --git a/chrome/browser/chromeos/status/network_menu_button.h b/chrome/browser/chromeos/status/network_menu_button.h
|
| index 096f88a5db4544961df7366301b669239f8a16d5..bb5ff96938ef69cc24cb38d5ba988c3b446a0756 100644
|
| --- a/chrome/browser/chromeos/status/network_menu_button.h
|
| +++ b/chrome/browser/chromeos/status/network_menu_button.h
|
| @@ -6,18 +6,11 @@
|
| #define CHROME_BROWSER_CHROMEOS_STATUS_NETWORK_MENU_BUTTON_H_
|
| #pragma once
|
|
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| #include "app/throb_animation.h"
|
| #include "base/timer.h"
|
| #include "chrome/browser/chromeos/cros/network_library.h"
|
| -#include "chrome/browser/chromeos/options/network_config_view.h"
|
| +#include "chrome/browser/chromeos/status/network_menu.h"
|
| #include "chrome/browser/chromeos/status/status_area_button.h"
|
| -#include "views/controls/menu/menu_2.h"
|
| -#include "views/controls/menu/view_menu_delegate.h"
|
| -
|
| -class SkBitmap;
|
|
|
| namespace gfx {
|
| class Canvas;
|
| @@ -52,50 +45,18 @@ class StatusAreaHost;
|
| // <icon> will show the strength of the wifi/cellular networks.
|
| // The label will be BOLD if the network is currently connected.
|
| class NetworkMenuButton : public StatusAreaButton,
|
| - public views::ViewMenuDelegate,
|
| - public menus::MenuModel,
|
| + public NetworkMenu,
|
| public NetworkLibrary::Observer {
|
| public:
|
| explicit NetworkMenuButton(StatusAreaHost* host);
|
| virtual ~NetworkMenuButton();
|
|
|
| - // menus::MenuModel implementation.
|
| - virtual bool HasIcons() const { return true; }
|
| - virtual int GetItemCount() const;
|
| - virtual menus::MenuModel::ItemType GetTypeAt(int index) const;
|
| - virtual int GetCommandIdAt(int index) const { return index; }
|
| - virtual string16 GetLabelAt(int index) const;
|
| - virtual bool IsLabelDynamicAt(int index) const { return true; }
|
| - virtual const gfx::Font* GetLabelFontAt(int index) const;
|
| - virtual bool GetAcceleratorAt(int index,
|
| - menus::Accelerator* accelerator) const { return false; }
|
| - virtual bool IsItemCheckedAt(int index) const;
|
| - virtual int GetGroupIdAt(int index) const { return 0; }
|
| - virtual bool GetIconAt(int index, SkBitmap* icon) const;
|
| - virtual menus::ButtonMenuItemModel* GetButtonMenuItemAt(int index) const {
|
| - return NULL;
|
| - }
|
| - virtual bool IsEnabledAt(int index) const;
|
| - virtual menus::MenuModel* GetSubmenuModelAt(int index) const { return NULL; }
|
| - virtual void HighlightChangedTo(int index) {}
|
| - virtual void ActivatedAt(int index);
|
| - virtual void MenuWillShow() {}
|
| -
|
| // AnimationDelegate implementation.
|
| virtual void AnimationProgressed(const Animation* animation);
|
|
|
| // NetworkLibrary::Observer implementation.
|
| virtual void NetworkChanged(NetworkLibrary* obj);
|
|
|
| - // Returns the Icon for a network strength between 0 and 100.
|
| - // |black| is used to specify whether to return a black icon for display
|
| - // on a light background or a white icon for display on a dark background.
|
| - static SkBitmap IconForNetworkStrength(int strength, bool black);
|
| -
|
| - // This method will convert the |icon| bitmap to the correct size for display.
|
| - // If the |badge| icon is not empty, it will draw that on top of the icon.
|
| - static SkBitmap IconForDisplay(SkBitmap icon, SkBitmap badge);
|
| -
|
| // Sets the badge icon.
|
| void SetBadge(const SkBitmap& badge);
|
| SkBitmap badge() const { return badge_; }
|
| @@ -105,62 +66,16 @@ class NetworkMenuButton : public StatusAreaButton,
|
| virtual void DrawPressed(gfx::Canvas* canvas);
|
| virtual void DrawIcon(gfx::Canvas* canvas);
|
|
|
| - private:
|
| - enum MenuItemFlags {
|
| - FLAG_DISABLED = 1 << 0,
|
| - FLAG_TOGGLE_ETHERNET = 1 << 1,
|
| - FLAG_TOGGLE_WIFI = 1 << 2,
|
| - FLAG_TOGGLE_CELLULAR = 1 << 3,
|
| - FLAG_TOGGLE_OFFLINE = 1 << 4,
|
| - FLAG_ASSOCIATED = 1 << 5,
|
| - FLAG_ETHERNET = 1 << 6,
|
| - FLAG_WIFI = 1 << 7,
|
| - FLAG_CELLULAR = 1 << 8,
|
| - FLAG_OPTIONS = 1 << 9,
|
| - FLAG_OTHER_NETWORK = 1 << 10,
|
| - };
|
| -
|
| - struct MenuItem {
|
| - MenuItem()
|
| - : type(menus::MenuModel::TYPE_SEPARATOR),
|
| - flags(0) {}
|
| - MenuItem(menus::MenuModel::ItemType type, string16 label, SkBitmap icon,
|
| - const std::string& wireless_path, int flags)
|
| - : type(type),
|
| - label(label),
|
| - icon(icon),
|
| - wireless_path(wireless_path),
|
| - flags(flags) {}
|
| -
|
| - menus::MenuModel::ItemType type;
|
| - string16 label;
|
| - SkBitmap icon;
|
| - std::string wireless_path;
|
| - int flags;
|
| - };
|
| - typedef std::vector<MenuItem> MenuItemVector;
|
| -
|
| - // views::ViewMenuDelegate implementation.
|
| - virtual void RunMenu(views::View* source, const gfx::Point& pt);
|
| -
|
| - // Called by RunMenu to initialize our list of menu items.
|
| - void InitMenuItems();
|
| -
|
| - // Set to true if we are currently refreshing the menu.
|
| - bool refreshing_menu_;
|
| -
|
| - // The number of wifi strength images.
|
| - static const int kNumWifiImages;
|
| -
|
| - // Our menu items.
|
| - MenuItemVector menu_items_;
|
| + // NetworkMenu implementation:
|
| + virtual bool IsBrowserMode() const;
|
| + virtual gfx::NativeWindow GetNativeWindow() const;
|
| + virtual void OpenButtonOptions() const;
|
| + virtual bool ShouldOpenButtonOptions() const;
|
|
|
| + private:
|
| // The status area host,
|
| StatusAreaHost* host_;
|
|
|
| - // The network menu.
|
| - views::Menu2 network_menu_;
|
| -
|
| // A badge icon displayed on top of the icon.
|
| SkBitmap badge_;
|
|
|
|
|