1 // Copyright (c) 2011 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_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_ 7 #pragma once 8 9 #include "base/basictypes.h" 10 #include "base/compiler_specific.h" 11 #include "base/memory/ref_counted.h" 12 #include "views/view.h" 13 #include "views/window/dialog_delegate.h" 14 15 namespace views { 16 class Label; 17 } 18 19 class ImporterHost; 20 21 // ImportLockDialogView asks the user to shut down Firefox before starting the 22 // profile import. 23 class ImportLockDialogView : public views::View, 24 public views::DialogDelegate { 25 public: 26 static void Show(gfx::NativeWindow parent, ImporterHost* importer_host); 27 28 private: 29 explicit ImportLockDialogView(ImporterHost* importer_host); 30 virtual ~ImportLockDialogView(); 31 32 // views::View: 33 virtual gfx::Size GetPreferredSize() OVERRIDE; 34 virtual void Layout() OVERRIDE; 35 36 // views::DialogDelegate: 37 virtual std::wstring GetDialogButtonLabel( 38 MessageBoxFlags::DialogButton button) const OVERRIDE; 39 virtual bool IsModal() const OVERRIDE; 40 virtual std::wstring GetWindowTitle() const OVERRIDE; 41 virtual bool Accept() OVERRIDE; 42 virtual bool Cancel() OVERRIDE; 43 virtual views::View* GetContentsView() OVERRIDE; 44 45 private: 46 views::Label* description_label_; 47 48 // Utility class that does the actual import. 49 scoped_refptr<ImporterHost> importer_host_; 50 51 DISALLOW_COPY_AND_ASSIGN(ImportLockDialogView); 52 }; 53 54 #endif // CHROME_BROWSER_UI_VIEWS_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_ 55