summaryrefslogtreecommitdiffstats
path: root/win8/metro_driver/settings_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'win8/metro_driver/settings_handler.cc')
-rw-r--r--win8/metro_driver/settings_handler.cc175
1 files changed, 0 insertions, 175 deletions
diff --git a/win8/metro_driver/settings_handler.cc b/win8/metro_driver/settings_handler.cc
deleted file mode 100644
index 6feae24..0000000
--- a/win8/metro_driver/settings_handler.cc
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "stdafx.h"
-#include "settings_handler.h"
-
-// This include allows to send WM_SYSCOMMANDs to chrome.
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome_app_view.h"
-#include "winrt_utils.h"
-
-typedef winfoundtn::ITypedEventHandler<
- winui::ApplicationSettings::SettingsPane*,
- winui::ApplicationSettings::SettingsPaneCommandsRequestedEventArgs*>
- CommandsRequestedHandler;
-
-namespace {
-
-// String identifiers for the settings pane commands.
-const wchar_t* kSettingsId = L"settings";
-const wchar_t* kHelpId = L"help";
-const wchar_t* kAboutId = L"about";
-
-}
-
-SettingsHandler::SettingsHandler() {
- DVLOG(1) << __FUNCTION__;
-}
-
-SettingsHandler::~SettingsHandler() {
- DVLOG(1) << __FUNCTION__;
-}
-
-HRESULT SettingsHandler::Initialize() {
- mswr::ComPtr<winui::ApplicationSettings::ISettingsPaneStatics>
- settings_pane_statics;
- HRESULT hr = winrt_utils::CreateActivationFactory(
- RuntimeClass_Windows_UI_ApplicationSettings_SettingsPane,
- settings_pane_statics.GetAddressOf());
- CheckHR(hr, "Failed to activate ISettingsPaneStatics");
-
- mswr::ComPtr<winui::ApplicationSettings::ISettingsPane> settings_pane;
- hr = settings_pane_statics->GetForCurrentView(&settings_pane);
- CheckHR(hr, "Failed to get ISettingsPane");
-
- hr = settings_pane->add_CommandsRequested(
- mswr::Callback<CommandsRequestedHandler>(
- this,
- &SettingsHandler::OnSettingsCommandsRequested).Get(),
- &settings_token_);
- CheckHR(hr, "Failed to add CommandsRequested");
-
- return hr;
-}
-
-HRESULT SettingsHandler::OnSettingsCommandsRequested(
- winui::ApplicationSettings::ISettingsPane* settings_pane,
- winui::ApplicationSettings::ISettingsPaneCommandsRequestedEventArgs* args) {
- mswr::ComPtr<winui::ApplicationSettings::ISettingsCommandFactory>
- settings_command_factory;
- HRESULT hr = winrt_utils::CreateActivationFactory(
- RuntimeClass_Windows_UI_ApplicationSettings_SettingsCommand,
- settings_command_factory.GetAddressOf());
- CheckHR(hr, "Failed to activate ISettingsCommandFactory");
-
- mswr::ComPtr<winui::ApplicationSettings::ISettingsPaneCommandsRequest>
- settings_command_request;
- hr = args->get_Request(&settings_command_request);
- CheckHR(hr, "Failed to get_Request");
-
- mswr::ComPtr<SettingsHandler::ISettingsCommandVector> application_commands;
- hr = settings_command_request->get_ApplicationCommands(&application_commands);
- CheckHR(hr, "Failed to get_ApplicationCommands");
-
- // TODO(mad): Internationalize the hard coded user visible strings.
- hr = AppendNewSettingsCommand(
- kSettingsId, L"Settings", settings_command_factory.Get(),
- application_commands.Get());
- CheckHR(hr, "Failed to append new settings command");
-
- hr = AppendNewSettingsCommand(
- kHelpId, L"Help", settings_command_factory.Get(),
- application_commands.Get());
- CheckHR(hr, "Failed to append new help command");
-
- hr = AppendNewSettingsCommand(
- kAboutId, L"About", settings_command_factory.Get(),
- application_commands.Get());
- CheckHR(hr, "Failed to append new about command");
-
- return hr;
-}
-
-HRESULT SettingsHandler::AppendNewSettingsCommand(
- const wchar_t* id,
- const wchar_t* name,
- winui::ApplicationSettings::ISettingsCommandFactory*
- settings_command_factory,
- SettingsHandler::ISettingsCommandVector* settings_command_vector) {
- mswr::ComPtr<winfoundtn::IPropertyValue> settings_id;
- HRESULT hr = GetSettingsId(id, &settings_id);
- CheckHR(hr, "Can't get settings id");
-
- mswrw::HString settings_name;
- settings_name.Attach(MakeHString(name));
- mswr::ComPtr<winui::Popups::IUICommand> command;
- hr = settings_command_factory->CreateSettingsCommand(
- settings_id.Get(),
- settings_name.Get(),
- mswr::Callback<winui::Popups::IUICommandInvokedHandler>(
- &SettingsHandler::OnSettings).Get(),
- command.GetAddressOf());
- CheckHR(hr, "Can't create settings command");
-
- hr = settings_command_vector->Append(command.Get());
- CheckHR(hr, "Failed to append settings command");
-
- return hr;
-}
-
-HRESULT SettingsHandler::OnSettings(winui::Popups::IUICommand* command) {
- mswr::ComPtr<winfoundtn::IPropertyValue> settings_id;
- HRESULT hr = GetSettingsId(kSettingsId, &settings_id);
- CheckHR(hr, "Failed to get settings id");
-
- mswr::ComPtr<winfoundtn::IPropertyValue> help_id;
- hr = GetSettingsId(kHelpId, &help_id);
- CheckHR(hr, "Failed to get settings id");
-
- mswr::ComPtr<winfoundtn::IPropertyValue> about_id;
- hr = GetSettingsId(kAboutId, &about_id);
- CheckHR(hr, "Failed to get settings id");
-
- mswr::ComPtr<winfoundtn::IPropertyValue> command_id;
- hr = command->get_Id(&command_id);
- CheckHR(hr, "Failed to get command id");
-
- INT32 result = -1;
- hr = winrt_utils::CompareProperties(
- command_id.Get(), settings_id.Get(), &result);
- CheckHR(hr, "Failed to compare ids");
-
- HWND chrome_window = globals.host_windows.front().first;
-
- if (result == 0) {
- ::PostMessageW(chrome_window, WM_SYSCOMMAND, IDC_OPTIONS, 0);
- return S_OK;
- }
-
- hr = winrt_utils::CompareProperties(command_id.Get(), help_id.Get(), &result);
- CheckHR(hr, "Failed to compare ids");
- if (result == 0) {
- ::PostMessageW(chrome_window, WM_SYSCOMMAND, IDC_HELP_PAGE_VIA_MENU, 0);
- return S_OK;
- }
-
- hr = winrt_utils::CompareProperties(
- command_id.Get(), about_id.Get(), &result);
- CheckHR(hr, "Failed to compare ids");
- if (result == 0) {
- ::PostMessageW(chrome_window, WM_SYSCOMMAND, IDC_ABOUT, 0);
- return S_OK;
- }
-
- return S_OK;
-}
-
-HRESULT SettingsHandler::GetSettingsId(
- const wchar_t* value, winfoundtn::IPropertyValue** settings_id) {
- mswrw::HString property_value_string;
- property_value_string.Attach(MakeHString(value));
- return winrt_utils::CreateStringProperty(property_value_string.Get(),
- settings_id);
-}