aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp
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/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp
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/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp')
-rw-r--r--src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialogimpl.cpp134
1 files changed, 56 insertions, 78 deletions
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);