Added signaling from FileUtil to MediaImagePathMainDiialog when the scan
[emufront] / src / dialogs / mediaimagepathmaindialog.h
1 // EmuFront
2 // Copyright 2010 Mikko Keinänen
3 //
4 // This file is part of EmuFront.
5 //
6 //
7 // EmuFront is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License version 2 as published by
9 // the Free Software Foundation and appearing in the file gpl.txt included in the
10 // packaging of this file.
11 //
12 // EmuFront is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
19
20 #ifndef MEDIAIMAGEPATHMAINDIALOG_H
21 #define MEDIAIMAGEPATHMAINDIALOG_H
22
23 #include "dbobjectdialog.h"
24 #include "../db/dbmediaimagecontainer.h"
25
26 class FileUtil;
27 class QProgressDialog;
28
29 class MediaImagePathMainDialog : public DbObjectDialog
30 {
31     Q_OBJECT
32
33 public:
34     MediaImagePathMainDialog(QWidget *parent);
35     ~MediaImagePathMainDialog();
36
37 protected:
38     virtual void initEditDialog();
39     virtual void deleteCurrentObject();
40     virtual EmuFrontObject* createObject();
41     virtual void connectSignals();
42     virtual void cleanUp();
43
44 private slots:
45     void beginScanFilePath();
46     void showDbUpdating();
47     void hideDbUpdating();
48
49 private:
50     QPushButton *scanButton;
51     DbMediaImageContainer *dbMediaImageContainer;
52     FileUtil *fileUtil;
53     QProgressDialog *progressDialog;
54
55     //  QString and QStringList are implicitly shared
56     void scanFilePath(const QString path, const QStringList filters);
57     void initProgressDialog();
58 };
59
60 #endif // MEDIAIMAGEPATHMAINDIALOG_H