aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-02-03 12:39:49 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-02-03 12:39:49 +0000
commitef99559c87d429d5df9228585109912284b62f9a (patch)
tree0606c2d589bcca0a2f21f2a180a61e2a41a442c3 /src
parentac64d9ea04cce79f4c4b8a5a64be43e5251dadce (diff)
downloadqmmp-ef99559c87d429d5df9228585109912284b62f9a.tar.gz
qmmp-ef99559c87d429d5df9228585109912284b62f9a.tar.bz2
qmmp-ef99559c87d429d5df9228585109912284b62f9a.zip
cleanup
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6122 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp7
-rw-r--r--src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp134
-rw-r--r--src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.h8
3 files changed, 65 insertions, 84 deletions
diff --git a/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp
index 66f2d0214..e9f3de327 100644
--- a/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp
+++ b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp
@@ -28,7 +28,8 @@
TwoPanelFileDialog::TwoPanelFileDialog()
{
m_dialog = new TwoPanelFileDialogImpl();
- connect(m_dialog, SIGNAL(filesAdded(QStringList)),this, SIGNAL(filesAdded(QStringList)));
+ connect(m_dialog, SIGNAL(filesAdded(QStringList)), SIGNAL(filesAdded(QStringList)));
+ connect(m_dialog, SIGNAL(playRequest(QString)), SIGNAL(playRequest(QString)));
}
TwoPanelFileDialog::~TwoPanelFileDialog()
@@ -62,7 +63,7 @@ QString TwoPanelFileDialog::openFileName(QWidget *parent, const QString &caption
{
TwoPanelFileDialogImpl *dialog = new TwoPanelFileDialogImpl(parent);
dialog->setWindowTitle(caption);
- dialog->setModeAndMask(dir, FileDialog::AddFile, filter.split(";;"));
+ dialog->setModeAndMask(dir, FileDialog::AddFile, filter.split(";;"), showPlayButton());
QStringList l;
if (dialog->exec() == QDialog::Accepted)
l = dialog->selectedFiles();
@@ -75,7 +76,7 @@ QStringList TwoPanelFileDialog::openFileNames(QWidget *parent, const QString &ca
{
TwoPanelFileDialogImpl *dialog = new TwoPanelFileDialogImpl(parent);
dialog->setWindowTitle(caption);
- dialog->setModeAndMask(dir, FileDialog::AddFiles, filter.split(";;"));
+ dialog->setModeAndMask(dir, FileDialog::AddFiles, filter.split(";;"), showPlayButton());
QStringList l;
if (dialog->exec() == QDialog::Accepted)
l = dialog->selectedFiles();
diff --git a/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp
index 53ee54e7e..5eaa269f7 100644
--- a/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp
+++ b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp
@@ -149,49 +149,51 @@ void TwoPanelFileDialogImpl::updateDirSelection(const QItemSelection &s, const Q
void TwoPanelFileDialogImpl::updateFileSelection ()
{
- QStringList l;
- QStringList files;
- foreach(QListWidgetItem *item, m_ui.fileListWidget->selectedItems())
+ QStringList paths = selectedFiles();
+
+ if(paths.isEmpty())
{
- if (!l.contains(item->text()))
- {
- files << item->data(Qt::UserRole).toString();
- l << item->text();
- }
+ m_ui.fileNameLineEdit->clear();
+ m_ui.addButton->setEnabled(false);
+ m_ui.playButton->setEnabled(false);
+ return;
+ }
+
+ QStringList names;
+
+ foreach(QString path, paths)
+ {
+ QString name = QFileInfo(path).fileName();
+ if (!names.contains(name))
+ names << name;
}
- if (!l.isEmpty())
+ QString str;
+ if (names.size() == 1)
+ str = names.at(0);
+ else
{
- QString str;
- if (l.size() == 1)
- str = l.at(0);
- else
- {
- str = l.join ("\" \"");
- str.append("\"");
- str.prepend("\"");
- }
- if (!m_ui.fileNameLineEdit->hasFocus())
- m_ui.fileNameLineEdit->setText(str);
- if (m_mode == FileDialog::AddFiles || m_mode == FileDialog::AddFile/* || FileDialog::SaveFile*/)
+ str = names.join ("\" \"");
+ str.append("\"");
+ str.prepend("\"");
+ }
+ if (!m_ui.fileNameLineEdit->hasFocus())
+ m_ui.fileNameLineEdit->setText(str);
+
+
+ m_ui.addButton->setEnabled(true);
+ m_ui.playButton->setEnabled(false);
+
+ if(m_mode == FileDialog::AddFiles || m_mode == FileDialog::AddDirsFiles || m_mode == FileDialog::AddFile)
+ {
+ foreach(str, paths)
{
- m_ui.addButton->setEnabled(true);
- foreach(str, files)
+ if(QFileInfo(str).isFile())
{
- if (QFileInfo(str).isDir())
- {
- m_ui.addButton->setEnabled(false);
- break;
- }
+ m_ui.playButton->setEnabled(true);
+ break;
}
}
- else
- m_ui.addButton->setEnabled(true);
- }
- else
- {
- m_ui.fileNameLineEdit->clear();
- m_ui.addButton->setEnabled(false);
}
}
@@ -202,10 +204,12 @@ void TwoPanelFileDialogImpl::on_dirListView_doubleClicked(const QModelIndex &ind
QFileInfo info = m_dirModel->fileInfo(ind);
QModelIndex rootIndex = m_dirModel->setRootPath(info.canonicalFilePath());
- qDebug("+%s+", qPrintable(info.canonicalFilePath()));
+
if(rootIndex.isValid())
+ {
m_ui.dirListView->setRootIndex(rootIndex);
- m_ui.lookInComboBox->setEditText(m_dirModel->filePath(rootIndex));
+ m_ui.lookInComboBox->setEditText(m_dirModel->filePath(rootIndex));
+ }
@@ -240,43 +244,6 @@ void TwoPanelFileDialogImpl::on_lookInComboBox_activated(const QString &path)
}*/
}
-void TwoPanelFileDialogImpl::on_upToolButton_clicked()
-{
-/*#ifndef Q_OS_WIN
- if (!m_model->parent(fileListView->rootIndex()).isValid())
- return;
-#endif
- fileListView->setRootIndex(m_model->parent(fileListView->rootIndex()));
- //treeView->setRootIndex(fileListView->rootIndex());
- lookInComboBox->setEditText(m_model->filePath(fileListView->rootIndex()));
- fileListView->selectionModel()->clear ();
- //m_model->setRootPath(m_model->filePath(treeView->rootIndex()));*/
-}
-
-void TwoPanelFileDialogImpl::on_treeView_doubleClicked(const QModelIndex& ind)
-{
- /*if (ind.isValid())
- {
- QFileInfo info = m_model->fileInfo(ind);
- if (info.isDir())
- {
- //treeView->setRootIndex(ind);
- lookInComboBox->setEditText(m_model->filePath(ind));
- //treeView->selectionModel()->clear ();
- fileListView->setRootIndex(ind);
- fileListView->selectionModel()->clear ();
- //m_model->setRootPath(m_model->filePath(ind));
- }
- else
- {
- QStringList l;
- l << m_model->filePath(ind);
- addToHistory(l[0]);
- addFiles(l);
- }
- }*/
-}
-
void TwoPanelFileDialogImpl::on_fileListView_doubleClicked(const QModelIndex& ind)
{
/*if (ind.isValid())
@@ -330,7 +297,20 @@ void TwoPanelFileDialogImpl::on_addButton_clicked()
}
}
-void TwoPanelFileDialogImpl::setModeAndMask(const QString& path, FileDialog::Mode m, const QStringList& mask)
+void TwoPanelFileDialogImpl::on_playButton_clicked()
+{
+ foreach (QString path, selectedFiles())
+ {
+ if(QFileInfo(path).isFile())
+ {
+ emit playRequest(path);
+ return;
+ }
+ }
+}
+
+void TwoPanelFileDialogImpl::setModeAndMask(const QString& path, FileDialog::Mode m, const QStringList& mask,
+ bool showPlayButton)
{
m_mode = m;
m_ui.dirListView->clearSelection();
@@ -362,6 +342,7 @@ void TwoPanelFileDialogImpl::setModeAndMask(const QString& path, FileDialog::Mod
m_ui.fileNameLineEdit->setText(fileName);
m_ui.addButton->setEnabled(!fileName.isEmpty());
+ m_ui.playButton->setVisible(showPlayButton);
switch (m)
{
@@ -370,7 +351,6 @@ void TwoPanelFileDialogImpl::setModeAndMask(const QString& path, FileDialog::Mod
case FileDialog::AddDirsFiles:
{
m_ui.fileListWidget->setVisible(true);
- m_ui.playButton->setVisible(true);
m_ui.addButton->setText(tr("Add"));
m_ui.fileTypeComboBox->clear();
m_ui.fileTypeComboBox->addItems(mask);
@@ -387,7 +367,6 @@ void TwoPanelFileDialogImpl::setModeAndMask(const QString& path, FileDialog::Mod
case FileDialog::AddDirs:
{
m_ui.fileListWidget->setVisible(false);
- m_ui.playButton->setVisible(false);
m_ui.addButton->setText(tr("Add"));
m_ui.fileTypeComboBox->clear();
m_ui.fileTypeComboBox->addItem(tr("Directories"));
@@ -401,7 +380,6 @@ void TwoPanelFileDialogImpl::setModeAndMask(const QString& path, FileDialog::Mod
case FileDialog::SaveFile:
{
m_ui.fileListWidget->setVisible(false);
- m_ui.playButton->setVisible(false);
m_ui.addButton->setText(tr("Save"));
m_ui.fileTypeComboBox->clear();
m_ui.fileTypeComboBox->addItems(mask);
diff --git a/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.h b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.h
index 4085316e2..25da172d2 100644
--- a/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.h
+++ b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.h
@@ -37,11 +37,13 @@ public:
~TwoPanelFileDialogImpl();
- void setModeAndMask(const QString &path, FileDialog::Mode m, const QStringList& mask = QStringList());
+ void setModeAndMask(const QString &path, FileDialog::Mode m, const QStringList& mask = QStringList(),
+ bool showPlayButton = false);
QStringList selectedFiles ();
signals:
void filesAdded(const QStringList&);
+ void playRequest(const QString&);
private slots:
void updateDirSelection(const QItemSelection&s, const QItemSelection&);
@@ -49,11 +51,11 @@ private slots:
void on_dirListView_doubleClicked(const QModelIndex&ind);
void on_lookInComboBox_activated(const QString&);
- void on_upToolButton_clicked();
+
void on_fileListView_doubleClicked(const QModelIndex&);
- void on_treeView_doubleClicked(const QModelIndex&);
void on_fileNameLineEdit_textChanged (const QString &text);
void on_addButton_clicked();
+ void on_playButton_clicked();
void on_fileTypeComboBox_activated(int);