aboutsummaryrefslogtreecommitdiff
path: root/src/ui/mainwindow.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-07-09 18:54:22 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-07-09 18:54:22 +0000
commite85b77286f66edecdc3707065e39b31f2e220f5a (patch)
tree8d92254944d3c9391c61231bc114758f9ac23370 /src/ui/mainwindow.cpp
parentc0a9e456b6a935b67f2d3357a9cef7170cfee418 (diff)
downloadqmmp-e85b77286f66edecdc3707065e39b31f2e220f5a.tar.gz
qmmp-e85b77286f66edecdc3707065e39b31f2e220f5a.tar.bz2
qmmp-e85b77286f66edecdc3707065e39b31f2e220f5a.zip
completed file dialog support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@443 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/mainwindow.cpp')
-rw-r--r--src/ui/mainwindow.cpp129
1 files changed, 20 insertions, 109 deletions
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
index 14f56ec47..6641ccb4b 100644
--- a/src/ui/mainwindow.cpp
+++ b/src/ui/mainwindow.cpp
@@ -142,8 +142,8 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option
updateEQ();
updateSkin();
- FileDialog::registerBuiltinFactories();
- FileDialog::registerExternalFactories();
+ //FileDialog::registerBuiltinFactories();
+ //FileDialog::registerExternalFactories();
m_generalHandler = new GeneralHandler(this);
connect(m_generalHandler, SIGNAL(playCalled()), SLOT(play()));
@@ -435,72 +435,16 @@ void MainWindow::closeEvent ( QCloseEvent *)
void MainWindow::addDir()
{
- /*
- QString s = QFileDialog::getExistingDirectory(
- this,
- tr("Choose a directory"),
- m_lastDir,
- QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly);
-
- if (s.isEmpty())
- return;
- m_playListModel->addDirectory(s);
- m_lastDir = s+"../";
- */
- if (FileDialog::isModal())
- {
- qWarning("void MainWindow::addDir()");
- QString s = FileDialog::getExistingDirectory(this,tr("Choose a directory"),m_lastDir);
-
- if (s.isEmpty())
- return;
- m_playListModel->addDirectory(s);
- m_lastDir = s+"../";
- }
- else
- FileDialog::popup(m_lastDir,FileDialog::AddDirs,Decoder::nameFilters(),
- m_playListModel, SLOT(addFileList(const QStringList&)));
+ FileDialog::popup(this, FileDialog::AddDirs, &m_lastDir,
+ m_playListModel, SLOT(addFileList(const QStringList&)),
+ tr("Choose a directory"));
}
void MainWindow::addFile()
{
- /*
- QStringList files = QFileDialog::getOpenFileNames(
- this,
- tr("Select one or more files to open"),
- m_lastDir,
- Decoder::filter());
- if (files.isEmpty ())
- return;
-
- // foreach(QString s, files)
- // m_playListModel->load(new PlayListItem(s));
-
- m_playListModel->addFiles(files);
- m_lastDir = files.at(0);
- */
-
-
- if (FileDialog::isModal())
- {
- QStringList files = FileDialog::getOpenFileNames(
- this,
- tr("Select one or more files to open"),
- m_lastDir,
- Decoder::filter());
- if (files.isEmpty ())
- return;
- /*
- foreach(QString s, files)
- m_playListModel->load(new PlayListItem(s));
- */
- m_playListModel->addFiles(files);
- m_lastDir = files.at(0);
- }
- else
- FileDialog::popup(m_lastDir,FileDialog::AddFiles,Decoder::nameFilters(),
- m_playListModel, SLOT(addFileList(const QStringList&)));
-
+ FileDialog::popup(this, FileDialog::AddDirsFiles, &m_lastDir,
+ m_playListModel, SLOT(addFileList(const QStringList&)),
+ tr("Select one or more files to open"), Decoder::filter());
}
void MainWindow::clear()
@@ -703,34 +647,17 @@ void MainWindow::loadPlaylist()
l << fmt->getExtensions();
QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")";
- if (FileDialog::isModal())
+ //TODO use nonmodal dialog and multiplier playlists
+ QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask);
+ if (!f_name.isEmpty())
{
- //qWarning("Modal");
- QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask);
- if (!f_name.isEmpty())
- {
- m_playListModel->loadPlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
- }
- else //FileDialog::popup(m_playListModel,m_lastDir,FileDialog::AddFiles,Decoder::nameFilters());
- // TODO: implement playlist loading with nonmodal dialogs
- // For now we'll use default dialog
- {
- //qWarning("Modal");
- QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask,0,true);
- if (!f_name.isEmpty())
- {
- m_playListModel->loadPlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
+ m_playListModel->loadPlaylist(f_name);
+ m_playlistName = QFileInfo(f_name).baseName();
+ m_lastDir = QFileInfo(f_name).absoluteDir().path();
}
}
else
{
- //qWarning("Non Modal");
qWarning("Error: There is no registered playlist parsers");
}
}
@@ -745,30 +672,14 @@ void MainWindow::savePlaylist()
l << fmt->getExtensions();
QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")";
- if (FileDialog::isModal())
- {
- QString f_name = FileDialog::getSaveFileName(this, tr("Save Playlist"),m_lastDir + "/" +
- m_playlistName + "." + l[0],mask);
+ QString f_name = FileDialog::getSaveFileName(this, tr("Save Playlist"),m_lastDir + "/" +
+ m_playlistName + "." + l[0],mask);
- if (!f_name.isEmpty())
- {
- m_playListModel->savePlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
- }
- else // TODO: implement saving playlists with nonmodal dialogs
- // For now we'll use default dialog
+ if (!f_name.isEmpty())
{
- QString f_name = FileDialog::getSaveFileName(this, tr("Save Playlist"),m_lastDir + "/" +
- m_playlistName + "." + l[0],mask,0,true);
-
- if (!f_name.isEmpty())
- {
- m_playListModel->savePlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
+ m_playListModel->savePlaylist(f_name);
+ m_playlistName = QFileInfo(f_name).baseName();
+ m_lastDir = QFileInfo(f_name).absoluteDir().path();
}
}
else