- qDebug() << "LibraryDialog::onItemActivated";
- QModelIndex libraryIndex = sortedLibrary->mapToSource(index);
- Book *book = Library::instance()->book(libraryIndex);
- (new InfoDialog(book, this))->exec();
+ TRACE;
+
+ // Get folder name
+ Settings *settings = Settings::instance();
+ QString last =
+ settings->value("lastfolderadded", QDir::homePath()).toString();
+ QString path =
+ QFileDialog::getExistingDirectory(this, tr("Select folder"), last);
+ if (path == "") {
+ return;
+ }
+ settings->setValue("lastfolderadded", QFileInfo(path).absolutePath());
+ qDebug() << path;
+
+ // Add books from folder
+ progress->setWindowTitle(tr("Adding books"));
+ BookFinder *bookFinder = new BookFinder(this);
+ Library *library = Library::instance();
+ connect(bookFinder, SIGNAL(begin(int)), progress, SLOT(setMaximum(int)));
+ connect(bookFinder, SIGNAL(add(const QString &)),
+ this, SLOT(onAddFromFolder(const QString &)));
+ connect(bookFinder, SIGNAL(add(const QString &)),
+ library, SLOT(add(const QString &)));
+ connect(bookFinder, SIGNAL(done(int)),
+ this, SLOT(onAddFromFolderDone(int)));
+ bookFinder->find(path, Library::instance()->bookPaths());