-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDBFileDialog.cpp
79 lines (70 loc) · 2.75 KB
/
DBFileDialog.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include "DBFileDialog.h"
#include <QUrl>
#include "QtGui.h"
#include "MainWindow.h"
#undef DBAPI
#define DBAPI deadbeef_internal
DBFileDialog::DBFileDialog(QWidget *parent,
const QString &caption,
const QStringList &filters,
FileMode mode, QFileDialog::Options options): QFileDialog(parent, caption, QString())
{
char buf[256];
DBAPI->conf_get_str("filechooser.lastdir", "./", buf, sizeof(buf));
QUrl lasturl = QUrl(QString::fromUtf8(buf));
setDirectory(lasturl.path());
setFileMode(mode);
setOptions(options);
//setFilters(filters);
setNameFilters(filters);
}
QStringList DBFileDialog::exec2() {
QStringList fileNames;
if (QFileDialog::exec())
fileNames = selectedFiles();
if (fileNames.isEmpty())
//return 0;
return fileNames;
if (fileMode() != QFileDialog::Directory && testOption(QFileDialog::ShowDirsOnly)) {
QStringList path = fileNames.last().split("/");
path.pop_back();
QString lastdir = path.join("/");
}
DBAPI->conf_set_str("filechooser.lastdir", fileNames.last().toUtf8().constData());
//return 0;
return fileNames;
}
/*
void DBFileDialog::on_actionAddFiles_triggered() {
DBFileDialog fileDialog(this,
tr("Add file(s) to playlist..."),
QStringList(),
QFileDialog::ExistingFiles,
QFileDialog::ReadOnly);
QStringList fileNames = fileDialog.exec2();
if (fileNames.isEmpty())
return;
foreach (QString localFile, fileNames)
w->ui->playList->insertByURLAtPosition(QUrl::fromLocalFile(localFile), DBAPI->pl_getcount(PL_MAIN) - 1);
}
void DBFileDialog::on_actionAddFolder_triggered() {
DBFileDialog fileDialog(this,
tr("Add folder(s) to playlist..."),
QStringList(),
QFileDialog::DirectoryOnly,
QFileDialog::ShowDirsOnly | QFileDialog::ReadOnly);
QStringList fileNames = fileDialog.exec2();
if (fileNames.isEmpty())
return;
foreach (QString localFile, fileNames)
ui->playList->insertByURLAtPosition(QUrl::fromLocalFile(localFile), DBAPI->pl_getcount(PL_MAIN) - 1);
}
void MainWindow::on_actionAddURL_triggered() {
ui->playList->insertByURLAtPosition(QUrl::fromUserInput(QInputDialog::getText(this, tr("Enter URL..."), tr("URL: "), QLineEdit::Normal)));
}
void MainWindow::on_actionAddAudioCD_triggered() {
QFutureWatcher<void> *watcher = new QFutureWatcher<void>(this);
connect(watcher, SIGNAL(finished()), ui->playList, SLOT(refresh()));
watcher->setFuture(QtConcurrent::run(loadAudioCD));
}
*/