Started implementing directory scanning.
authorMikko Keinänen <mikko.keinanen@gmail.com>
Fri, 4 Jun 2010 20:42:40 +0000 (23:42 +0300)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Fri, 4 Jun 2010 20:42:40 +0000 (23:42 +0300)
src/dialogs/dbobjectdialog.h
src/dialogs/mediaimagepathmaindialog.cpp
src/dialogs/mediaimagepathmaindialog.h

index 85ee412..8be0a96 100644 (file)
@@ -57,6 +57,7 @@ protected:
     EmuFrontObject *dbObject;
     DatabaseManager *dbManager;
     QDialogButtonBox *buttonBox;
+    QTableView *objectList;
 
 private:
     bool deleteItem();
@@ -66,7 +67,6 @@ private:
     void editObject();
     void activateNameDialog();
     bool confirmDelete(QString name, int numRefs);
-    QTableView *objectList;
        void setButtonsEnabled(bool);
     void layout();
     void disableSelection();
index a9e4533..843221c 100644 (file)
@@ -47,12 +47,33 @@ MediaImagePathMainDialog::MediaImagePathMainDialog(QWidget *parent)
 void MediaImagePathMainDialog::connectSignals()
 {
     DbObjectDialog::connectSignals();
-    connect(scanButton, SIGNAL(clicked()), this, SLOT(scanFilePath()));
+    connect(scanButton, SIGNAL(clicked()), this, SLOT(beginScanFilePath()));
 }
 
-void MediaImagePathMainDialog::scanFilePath()
+void MediaImagePathMainDialog::beginScanFilePath()
 {
     qDebug() << "Scan file path requested";
+    QModelIndex index = objectList->currentIndex();
+    if (!index.isValid()) return;
+    EmuFrontObject *ob = dbManager->getDataObjectFromModel(&index);
+    if (!ob) return;
+    FilePathObject *fpo = dynamic_cast<FilePathObject*>(ob);
+    try
+    {
+        scanFilePath(fpo->getName());
+    }
+    catch (QString s)
+    {
+        QMessageBox::warning(this, tr("Warning"), s, QMessageBox::Ok);
+    }
+}
+
+void MediaImagePathMainDialog::scanFilePath(const QString fp)
+{
+    qDebug() << "Will scan file path " << fp;
+    QDir dir(fp);
+    if (!dir.exists() || !dir.isReadable()) throw QString(tr("Directory %1 doesn't exists or isn't readable!").arg(fp));
+    throw QString("test");
 }
 
 EmuFrontObject* MediaImagePathMainDialog::createObject()
index 7ac338a..6b16897 100644 (file)
@@ -36,10 +36,11 @@ protected:
     virtual void connectSignals();
 
 private slots:
-    void scanFilePath();
+    void beginScanFilePath();
 
 private:
     QPushButton *scanButton;
+    void scanFilePath(const QString);
 };
 
 #endif // MEDIAIMAGEPATHMAINDIALOG_H