import_lock_dialog_view.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
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_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_ 6#define CHROME_BROWSER_UI_VIEWS_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_ 7 8#include "base/basictypes.h" 9#include "base/callback.h" 10#include "base/compiler_specific.h" 11#include "base/memory/ref_counted.h" 12#include "ui/views/view.h" 13#include "ui/views/window/dialog_delegate.h" 14 15namespace views { 16class Label; 17} 18 19// ImportLockDialogView asks the user to shut down Firefox before starting the 20// profile import. 21class ImportLockDialogView : public views::DialogDelegateView { 22 public: 23 static void Show(gfx::NativeWindow parent, 24 const base::Callback<void(bool)>& callback); 25 26 private: 27 explicit ImportLockDialogView(const base::Callback<void(bool)>& callback); 28 virtual ~ImportLockDialogView(); 29 30 // views::View: 31 virtual gfx::Size GetPreferredSize() OVERRIDE; 32 virtual void Layout() OVERRIDE; 33 34 // views::DialogDelegate: 35 virtual base::string16 GetDialogButtonLabel( 36 ui::DialogButton button) const OVERRIDE; 37 virtual base::string16 GetWindowTitle() const OVERRIDE; 38 virtual bool Accept() OVERRIDE; 39 virtual bool Cancel() OVERRIDE; 40 41 private: 42 views::Label* description_label_; 43 44 // Called with the result of the dialog. 45 base::Callback<void(bool)> callback_; 46 47 DISALLOW_COPY_AND_ASSIGN(ImportLockDialogView); 48}; 49 50#endif // CHROME_BROWSER_UI_VIEWS_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_ 51