1/* This file is part of the KDE libraries
2 Copyright (C) 2000 Stephan Kulow <coolo@kde.org>
3 David Faure <faure@kde.org>
4 Copyright (C) 2006,2007 Kevin Ottens <ervin@kde.org>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20*/
21
22#ifndef KDIALOGJOBUIDELEGATE_H
23#define KDIALOGJOBUIDELEGATE_H
24
25#include <kjobuidelegate.h>
26
27#include <kdeui_export.h>
28
29/**
30 * A UI delegate using KMessageBox for interaction (showing errors and warnings).
31 */
32class KDEUI_EXPORT KDialogJobUiDelegate : public KJobUiDelegate
33{
34 Q_OBJECT
35
36public:
37 /**
38 * Constructs a new KDialogJobUiDelegate.
39 */
40 KDialogJobUiDelegate();
41
42 /**
43 * Destroys the KDialogJobUiDelegate.
44 */
45 virtual ~KDialogJobUiDelegate();
46
47public:
48
49 /**
50 * Associate this job with a window given by @p window.
51 * @param window the window to associate to
52 * @see window()
53 */
54 virtual void setWindow(QWidget *window);
55
56 /**
57 * Returns the window this job is associated with.
58 * @return the associated window
59 * @see setWindow()
60 */
61 QWidget *window() const;
62
63 /**
64 * Updates the last user action timestamp to the given time.
65 * See KApplication::updateUserTimestamp().
66 */
67 void updateUserTimestamp( unsigned long time );
68
69 /**
70 * @internal
71 */
72 unsigned long userTimestamp() const;
73
74 virtual void showErrorMessage();
75
76protected Q_SLOTS:
77 virtual void slotWarning(KJob *job, const QString &plain, const QString &rich);
78
79private:
80 class Private;
81 Private * const d;
82};
83
84#endif
85