diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-11 13:45:29 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-11 13:45:29 +0000 |
commit | 12aea7f4b5963426318368b50d1813f5ea159b2e (patch) | |
tree | 396dfc7546d5c3e58f2192184c788f4e7fe7caf7 /chrome | |
parent | ecdfd6c54d1cd8827f9a3e518bf693c40b0a8fdf (diff) | |
download | chromium_src-12aea7f4b5963426318368b50d1813f5ea159b2e.zip chromium_src-12aea7f4b5963426318368b50d1813f5ea159b2e.tar.gz chromium_src-12aea7f4b5963426318368b50d1813f5ea159b2e.tar.bz2 |
gtk: Refactor download-in-progress class to match with the views side.
R=erg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10024048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131759 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
3 files changed, 34 insertions, 32 deletions
diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc index 0a15ec3..1313a3b 100644 --- a/chrome/browser/ui/gtk/browser_window_gtk.cc +++ b/chrome/browser/ui/gtk/browser_window_gtk.cc @@ -1285,7 +1285,7 @@ void BrowserWindowGtk::ShowPasswordGenerationBubble(const gfx::Rect& rect) { } void BrowserWindowGtk::ConfirmBrowserCloseWithPendingDownloads() { - new DownloadInProgressDialogGtk(browser()); + DownloadInProgressDialogGtk::Show(browser(), GetNativeHandle()); } void BrowserWindowGtk::Observe(int type, diff --git a/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc b/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc index e47e6c5..b619a40 100644 --- a/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc +++ b/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.cc @@ -8,18 +8,21 @@ #include "base/string16.h" #include "base/string_number_conversions.h" -#include "chrome/browser/download/download_service.h" -#include "chrome/browser/download/download_service_factory.h" -#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/gtk/gtk_util.h" -#include "content/public/browser/download_manager.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" -DownloadInProgressDialogGtk::DownloadInProgressDialogGtk(Browser* browser) +// static +void DownloadInProgressDialogGtk::Show(Browser* browser, + gfx::NativeWindow parent_window) { + new DownloadInProgressDialogGtk(browser, parent_window); +} + +DownloadInProgressDialogGtk::DownloadInProgressDialogGtk( + Browser* browser, + gfx::NativeWindow parent_window) : browser_(browser) { int download_count; Browser::DownloadClosePreventionType type = @@ -39,22 +42,20 @@ DownloadInProgressDialogGtk::DownloadInProgressDialogGtk(Browser* browser) std::string ok_button_text; std::string cancel_button_text; if (download_count == 1) { - warning_text = - l10n_util::GetStringUTF8(IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_WARNING); - explanation_text = - l10n_util::GetStringUTF8( - IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_EXPLANATION); + warning_text = l10n_util::GetStringUTF8( + IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_WARNING); + explanation_text = l10n_util::GetStringUTF8( + IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_EXPLANATION); ok_button_text = l10n_util::GetStringUTF8( IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_OK_BUTTON_LABEL); cancel_button_text = l10n_util::GetStringUTF8( IDS_SINGLE_DOWNLOAD_REMOVE_CONFIRM_CANCEL_BUTTON_LABEL); } else { - warning_text = - l10n_util::GetStringFUTF8(IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_WARNING, - base::IntToString16(download_count)); - explanation_text = - l10n_util::GetStringUTF8( - IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_EXPLANATION); + warning_text = l10n_util::GetStringFUTF8( + IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_WARNING, + base::IntToString16(download_count)); + explanation_text = l10n_util::GetStringUTF8( + IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_EXPLANATION); ok_button_text = l10n_util::GetStringUTF8( IDS_MULTIPLE_DOWNLOADS_REMOVE_CONFIRM_OK_BUTTON_LABEL); cancel_button_text = l10n_util::GetStringUTF8( @@ -62,18 +63,16 @@ DownloadInProgressDialogGtk::DownloadInProgressDialogGtk(Browser* browser) } GtkWidget* dialog = gtk_message_dialog_new( - browser_->window()->GetNativeHandle(), + parent_window, static_cast<GtkDialogFlags>(GTK_DIALOG_MODAL), GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", warning_text.c_str()); - gtk_util::AddButtonToDialog(dialog, - cancel_button_text.c_str(), - GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT); - gtk_util::AddButtonToDialog(dialog, - ok_button_text.c_str(), - GTK_STOCK_OK, GTK_RESPONSE_ACCEPT); + gtk_util::AddButtonToDialog(dialog, cancel_button_text.c_str(), + GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT); + gtk_util::AddButtonToDialog(dialog, ok_button_text.c_str(), + GTK_STOCK_OK, GTK_RESPONSE_ACCEPT); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog), "%s", @@ -84,6 +83,9 @@ DownloadInProgressDialogGtk::DownloadInProgressDialogGtk(Browser* browser) gtk_widget_show_all(dialog); } +DownloadInProgressDialogGtk::~DownloadInProgressDialogGtk() { +} + void DownloadInProgressDialogGtk::OnResponse(GtkWidget* dialog, int response_id) { gtk_widget_destroy(dialog); diff --git a/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.h b/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.h index 118fa11..517f9f4 100644 --- a/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.h +++ b/chrome/browser/ui/gtk/download/download_in_progress_dialog_gtk.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// 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. @@ -8,19 +8,19 @@ #include "base/basictypes.h" #include "ui/base/gtk/gtk_signal.h" +#include "ui/gfx/native_widget_types.h" class Browser; -typedef struct _GtkWidget GtkWidget; - class DownloadInProgressDialogGtk { public: - explicit DownloadInProgressDialogGtk(Browser* browser); - - protected: - ~DownloadInProgressDialogGtk() {} + static void Show(Browser* browser, gfx::NativeWindow parent_window); private: + explicit DownloadInProgressDialogGtk(Browser* browser, + gfx::NativeWindow parent_window); + ~DownloadInProgressDialogGtk(); + CHROMEGTK_CALLBACK_1(DownloadInProgressDialogGtk, void, OnResponse, int); Browser* browser_; |