import_lock_dialog_view.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
15267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)// found in the LICENSE file.
45267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
55267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_VIEWS_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_
65267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#define CHROME_BROWSER_UI_VIEWS_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_
75267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
85267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "base/basictypes.h"
95267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "base/callback.h"
105267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "base/compiler_specific.h"
115267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "base/memory/ref_counted.h"
125267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "ui/views/view.h"
135267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "ui/views/window/dialog_delegate.h"
145267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
155267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)namespace views {
165267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)class Label;
175267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)}
185267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
195267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)// ImportLockDialogView asks the user to shut down Firefox before starting the
205267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)// profile import.
215267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)class ImportLockDialogView : public views::DialogDelegateView {
225267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) public:
235267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  static void Show(gfx::NativeWindow parent,
245267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)                   const base::Callback<void(bool)>& callback);
255267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
265267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) private:
275267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  explicit ImportLockDialogView(const base::Callback<void(bool)>& callback);
285267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  virtual ~ImportLockDialogView();
295267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
305267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  // views::View:
315267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  virtual gfx::Size GetPreferredSize() const OVERRIDE;
325267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  virtual void Layout() OVERRIDE;
335267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
345267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  // views::DialogDelegate:
3551b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles)  virtual base::string16 GetDialogButtonLabel(
365267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)      ui::DialogButton button) const OVERRIDE;
375267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  virtual base::string16 GetWindowTitle() const OVERRIDE;
385d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)  virtual bool Accept() OVERRIDE;
395267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  virtual bool Cancel() OVERRIDE;
405267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
415267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) private:
425267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  views::Label* description_label_;
435267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
445267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  // Called with the result of the dialog.
455267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  base::Callback<void(bool)> callback_;
465267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
475267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(ImportLockDialogView);
485267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)};
495267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)
505267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#endif  // CHROME_BROWSER_UI_VIEWS_IMPORTER_IMPORT_LOCK_DIALOG_VIEW_H_
515267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)