Fix Windows compilation issues

This commit is contained in:
Kevin Sawicki 2016-07-11 12:29:01 -07:00
parent af907163a2
commit 3d358ee7ea

View file

@ -274,47 +274,35 @@ bool Browser::SetBadgeCount(int count) {
} }
void Browser::SetLoginItemSettings(LoginItemSettings settings) { void Browser::SetLoginItemSettings(LoginItemSettings settings) {
base::FilePath path; std::wstring keyPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
if (!PathService::Get(base::FILE_EXE, &path)) { base::win::RegKey key(HKEY_CURRENT_USER, keyPath.c_str(), KEY_ALL_ACCESS);
LOG(ERROR) << "Error getting app exe path";
return;
}
// Main Registry Key if (settings.open_at_login) {
HKEY root = HKEY_CURRENT_USER; base::FilePath path;
std::string keyPathStr = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; if (PathService::Get(base::FILE_EXE, &path)) {
std::wstring keyPath = std::wstring(keyPathStr.begin(), keyPathStr.end()); std::wstring exePath(path.value());
key.WriteValue(GetAppUserModelID(), exePath.c_str());
// Executable Path }
std::wstring exePath(path.value()); } else {
base::win::RegKey key(root, keyPath.c_str(), KEY_ALL_ACCESS); key.DeleteValue(GetAppUserModelID());
if (settings.open_at_login)
key.WriteValue(GetAppUserModelID(), exePath.c_str());
else {
key.DeleteValue(GetAppUserModelID())
} }
} }
LoginItemSettings Browser::GetLoginItemSettings() { Browser::LoginItemSettings Browser::GetLoginItemSettings() {
LoginItemSettings settings; LoginItemSettings settings;
std::wstring keyPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
base::win::RegKey key(HKEY_CURRENT_USER, keyPath.c_str(), KEY_ALL_ACCESS);
std::wstring keyVal;
base::FilePath path; if (!FAILED(key.ReadValue(GetAppUserModelID(), &keyVal))) {
if (!PathService::Get(base::FILE_EXE, &path)) { base::FilePath path;
LOG(ERROR) << "Error getting app exe path"; if (PathService::Get(base::FILE_EXE, &path)) {
return; std::wstring exePath(path.value());
settings.open_at_login = keyVal == exePath;
}
} }
// Main Registry Key return settings;
HKEY root = HKEY_CURRENT_USER;
std::string keyPathStr = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
std::wstring keyPath = std::wstring(keyPathStr.begin(), keyPathStr.end());
// Executable Path
std::wstring exePath(path.value());
base::win::RegKey key(root, keyPath.c_str(), KEY_ALL_ACCESS);
settings.open_at_login = key.HasValue(GetAppUserModelID());
} }