From ef99559c87d429d5df9228585109912284b62f9a Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 3 Feb 2016 12:39:49 +0000 Subject: cleanup git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6122 90c681e8-e032-0410-971d-27865f9a5e38 --- .../TwoPanelFileDialog/twopanelfiledialog.cpp | 7 +- .../TwoPanelFileDialog/twopanelfiledialogimpl.cpp | 134 +++++++++------------ .../TwoPanelFileDialog/twopanelfiledialogimpl.h | 8 +- 3 files changed, 65 insertions(+), 84 deletions(-) (limited to 'src') 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); -- cgit v1.2.3-13-gbd6f