1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_UI_VIEWS_DOWNLOAD_DOWNLOAD_IN_PROGRESS_DIALOG_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_DOWNLOAD_DOWNLOAD_IN_PROGRESS_DIALOG_VIEW_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "chrome/browser/ui/browser.h" 11 #include "ui/views/window/dialog_delegate.h" 12 13 namespace views { 14 class MessageBoxView; 15 } 16 17 class DownloadInProgressDialogView : public views::DialogDelegate { 18 public: 19 static void Show(gfx::NativeWindow parent_window, 20 int download_count, 21 Browser::DownloadClosePreventionType dialog_type, 22 bool app_modal, 23 const base::Callback<void(bool)>& callback); 24 25 private: 26 DownloadInProgressDialogView(int download_count, 27 Browser::DownloadClosePreventionType dialog_type, 28 bool app_modal, 29 const base::Callback<void(bool)>& callback); 30 virtual ~DownloadInProgressDialogView(); 31 32 // views::DialogDelegate: 33 virtual int GetDefaultDialogButton() const OVERRIDE; 34 virtual base::string16 GetDialogButtonLabel( 35 ui::DialogButton button) const OVERRIDE; 36 virtual bool Cancel() OVERRIDE; 37 virtual bool Accept() OVERRIDE; 38 39 // views::WidgetDelegate: 40 virtual ui::ModalType GetModalType() const OVERRIDE; 41 virtual base::string16 GetWindowTitle() const OVERRIDE; 42 virtual void DeleteDelegate() OVERRIDE; 43 virtual views::Widget* GetWidget() OVERRIDE; 44 virtual const views::Widget* GetWidget() const OVERRIDE; 45 virtual views::View* GetContentsView() OVERRIDE; 46 47 const bool app_modal_; 48 const base::Callback<void(bool)> callback_; 49 views::MessageBoxView* message_box_view_; 50 51 base::string16 title_text_; 52 base::string16 ok_button_text_; 53 base::string16 cancel_button_text_; 54 55 gfx::Size dialog_dimensions_; 56 57 DISALLOW_COPY_AND_ASSIGN(DownloadInProgressDialogView); 58 }; 59 60 #endif // CHROME_BROWSER_UI_VIEWS_DOWNLOAD_DOWNLOAD_IN_PROGRESS_DIALOG_VIEW_H_ 61