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)