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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/views/update_recommended_message_box.h"
6
7 #include "app/l10n_util.h"
8 #include "app/message_box_flags.h"
9 #include "chrome/browser/browser_list.h"
10 #include "chrome/browser/browser_process.h"
11 #include "chrome/browser/pref_service.h"
12 #include "chrome/common/pref_names.h"
13 #include "grit/chromium_strings.h"
14 #include "grit/generated_resources.h"
15 #include "views/controls/message_box_view.h"
16 #include "views/window/window.h"
17
18 ////////////////////////////////////////////////////////////////////////////////
19 // UpdateRecommendedMessageBox, public:
20
21 // static
22 void UpdateRecommendedMessageBox::ShowMessageBox(
23 gfx::NativeWindow parent_window) {
24 // When the window closes, it will delete itself.
25 new UpdateRecommendedMessageBox(parent_window);
26 }
27
28 void UpdateRecommendedMessageBox::RegisterUpdateRecommendedPrefs(
29 PrefService* prefs) {
30 prefs->RegisterBooleanPref(prefs::kRestartLastSessionOnShutdown, false);
31 }
32
33 bool UpdateRecommendedMessageBox::Accept() {
34 // Set the flag to restore the last session on shutdown.
35 PrefService* pref_service = g_browser_process->local_state();
36 pref_service->SetBoolean(prefs::kRestartLastSessionOnShutdown, true);
37
38 BrowserList::CloseAllBrowsersAndExit();
39
40 return true;
41 }
42
43 int UpdateRecommendedMessageBox::GetDialogButtons() const {
44 return MessageBoxFlags::DIALOGBUTTON_OK |
45 MessageBoxFlags::DIALOGBUTTON_CANCEL;
46 }
47
48 std::wstring UpdateRecommendedMessageBox::GetDialogButtonLabel(
49 MessageBoxFlags::DialogButton button) const {
50 DCHECK(button == MessageBoxFlags::DIALOGBUTTON_OK ||
51 button == MessageBoxFlags::DIALOGBUTTON_CANCEL);
52 return button == MessageBoxFlags::DIALOGBUTTON_OK ?
53 l10n_util::GetString(IDS_RESTART_AND_UPDATE) :
54 l10n_util::GetString(IDS_NOT_NOW);
55 }
56
57 std::wstring UpdateRecommendedMessageBox::GetWindowTitle() const {
58 return l10n_util::GetString(IDS_PRODUCT_NAME);
59 }
60
61 void UpdateRecommendedMessageBox::DeleteDelegate() {
62 delete this;
63 }
64
65 bool UpdateRecommendedMessageBox::IsModal() const {
66 return true;
67 }
68
69 views::View* UpdateRecommendedMessageBox::GetContentsView() {
70 return message_box_view_;
71 }
72
73 ////////////////////////////////////////////////////////////////////////////////
74 // UpdateRecommendedMessageBox, private:
75
76 UpdateRecommendedMessageBox::UpdateRecommendedMessageBox(
77 gfx::NativeWindow parent_window) {
78 const int kDialogWidth = 400;
79 // Also deleted when the window closes.
80 message_box_view_ = new MessageBoxView(
81 MessageBoxFlags::kFlagHasMessage | MessageBoxFlags::kFlagHasOKButton,
82 l10n_util::GetStringF(IDS_UPDATE_RECOMMENDED,
83 l10n_util::GetString(IDS_PRODUCT_NAME)),
84 std::wstring(),
85 kDialogWidth);
86 views::Window::CreateChromeWindow(parent_window, gfx::Rect(), this)->Show();
87 }
88
89 UpdateRecommendedMessageBox::~UpdateRecommendedMessageBox() {
90 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698