Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3727)

Unified Diff: chrome/browser/views/update_recommended_message_box.cc

Issue 2225003: Implement upgrade notifications.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/views/update_recommended_message_box.cc
===================================================================
--- chrome/browser/views/update_recommended_message_box.cc (revision 0)
+++ chrome/browser/views/update_recommended_message_box.cc (revision 0)
@@ -0,0 +1,90 @@
+// Copyright (c) 2010 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 "chrome/browser/views/update_recommended_message_box.h"
+
+#include "app/l10n_util.h"
+#include "app/message_box_flags.h"
+#include "chrome/browser/browser_list.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/pref_service.h"
+#include "chrome/common/pref_names.h"
+#include "grit/chromium_strings.h"
+#include "grit/generated_resources.h"
+#include "views/controls/message_box_view.h"
+#include "views/window/window.h"
+
+////////////////////////////////////////////////////////////////////////////////
+// UpdateRecommendedMessageBox, public:
+
+// static
+void UpdateRecommendedMessageBox::ShowMessageBox(
+ gfx::NativeWindow parent_window) {
+ // When the window closes, it will delete itself.
+ new UpdateRecommendedMessageBox(parent_window);
+}
+
+void UpdateRecommendedMessageBox::RegisterUpdateRecommendedPrefs(
+ PrefService* prefs) {
+ prefs->RegisterBooleanPref(prefs::kRestartLastSessionOnShutdown, false);
+}
+
+bool UpdateRecommendedMessageBox::Accept() {
+ // Set the flag to restore the last session on shutdown.
+ PrefService* pref_service = g_browser_process->local_state();
+ pref_service->SetBoolean(prefs::kRestartLastSessionOnShutdown, true);
+
+ BrowserList::CloseAllBrowsersAndExit();
+
+ return true;
+}
+
+int UpdateRecommendedMessageBox::GetDialogButtons() const {
+ return MessageBoxFlags::DIALOGBUTTON_OK |
+ MessageBoxFlags::DIALOGBUTTON_CANCEL;
+}
+
+std::wstring UpdateRecommendedMessageBox::GetDialogButtonLabel(
+ MessageBoxFlags::DialogButton button) const {
+ DCHECK(button == MessageBoxFlags::DIALOGBUTTON_OK ||
+ button == MessageBoxFlags::DIALOGBUTTON_CANCEL);
+ return button == MessageBoxFlags::DIALOGBUTTON_OK ?
+ l10n_util::GetString(IDS_RESTART_AND_UPDATE) :
+ l10n_util::GetString(IDS_NOT_NOW);
+}
+
+std::wstring UpdateRecommendedMessageBox::GetWindowTitle() const {
+ return l10n_util::GetString(IDS_PRODUCT_NAME);
+}
+
+void UpdateRecommendedMessageBox::DeleteDelegate() {
+ delete this;
+}
+
+bool UpdateRecommendedMessageBox::IsModal() const {
+ return true;
+}
+
+views::View* UpdateRecommendedMessageBox::GetContentsView() {
+ return message_box_view_;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// UpdateRecommendedMessageBox, private:
+
+UpdateRecommendedMessageBox::UpdateRecommendedMessageBox(
+ gfx::NativeWindow parent_window) {
+ const int kDialogWidth = 400;
+ // Also deleted when the window closes.
+ message_box_view_ = new MessageBoxView(
+ MessageBoxFlags::kFlagHasMessage | MessageBoxFlags::kFlagHasOKButton,
+ l10n_util::GetStringF(IDS_UPDATE_RECOMMENDED,
+ l10n_util::GetString(IDS_PRODUCT_NAME)),
+ std::wstring(),
+ kDialogWidth);
+ views::Window::CreateChromeWindow(parent_window, gfx::Rect(), this)->Show();
+}
+
+UpdateRecommendedMessageBox::~UpdateRecommendedMessageBox() {
+}
Property changes on: chrome\browser\views\update_recommended_message_box.cc
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698