1 /*
2  *  SPDX-FileCopyrightText: 2012 Sebastian Gottfried <sebastiangottfried@web.de>
3  *
4  *  SPDX-License-Identifier: GPL-2.0-or-later
5  */
6 
7 
8 #ifndef RESOURCEEDITORWIDGET_H
9 #define RESOURCEEDITORWIDGET_H
10 
11 #include <QWidget>
12 #include "ui_resourceeditorwidget.h"
13 
14 class QAbstractItemView;
15 class QAction;
16 class QUndoGroup;
17 class Resource;
18 class ResourceModel;
19 
20 class ResourceEditorWidget : public QWidget, private Ui::ResourceEditorWidget
21 {
22     Q_OBJECT
23 public:
24     enum MessageType
25     {
26         ResourceDeletedMsg
27     };
28     explicit ResourceEditorWidget(QWidget* parent = 0);
29     void setResourceModel(ResourceModel* model);
30     void setUndoGroup(QUndoGroup* undoGroup);
31     void showMessage(MessageType type, const QString& msg);
32     QAbstractItemView* resourceView() const;
33     void openResource(Resource* dataIndexResource);
34     void clearUndoStackForResource(Resource* dataIndexResource);
35     void save();
36 signals:
37     void resourceRestorationRequested();
38     void resourceRestorationDismissed();
39 private slots:
40     void requestResourceRestoration();
41     void clearMessage();
42 private:
43     QAction* m_undeleteAction;
44     QAction* m_clearMsgAction;
45     MessageType m_currentMessageType;
46 };
47 
48 #endif // RESOURCEEDITORWIDGET_H
49