mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-14 23:52:26 -05:00
rbutilqt: use the new dirbrowser in the talkfile generation. Also little changes to the dirbrowser to run it statically and without signals.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14234 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3a4e540c3d
commit
2ee205ae0d
3 changed files with 59 additions and 32 deletions
|
|
@ -65,6 +65,14 @@ void BrowseDirtree::accept()
|
||||||
|
|
||||||
this->close();
|
this->close();
|
||||||
emit itemChanged(path);
|
emit itemChanged(path);
|
||||||
|
setResult(QDialog::Accepted);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BrowseDirtree::getSelected()
|
||||||
|
{
|
||||||
|
QString path;
|
||||||
|
path = model.filePath(ui.tree->currentIndex());
|
||||||
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,8 @@ class BrowseDirtree : public QDialog
|
||||||
BrowseDirtree(QWidget *parent = 0);
|
BrowseDirtree(QWidget *parent = 0);
|
||||||
void setFilter(QDir::Filters);
|
void setFilter(QDir::Filters);
|
||||||
void setDir(QDir&);
|
void setDir(QDir&);
|
||||||
|
QString getSelected();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void itemChanged(QString);
|
void itemChanged(QString);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
#include "installtalkwindow.h"
|
#include "installtalkwindow.h"
|
||||||
#include "ui_installtalkfrm.h"
|
#include "ui_installtalkfrm.h"
|
||||||
|
|
||||||
|
#include "browsedirtree.h"
|
||||||
|
|
||||||
InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
|
InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
|
||||||
{
|
{
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
|
|
@ -43,18 +45,23 @@ InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
|
||||||
|
|
||||||
void InstallTalkWindow::browseFolder()
|
void InstallTalkWindow::browseFolder()
|
||||||
{
|
{
|
||||||
QFileDialog browser(this);
|
BrowseDirtree browser(this);
|
||||||
|
browser.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
|
||||||
|
|
||||||
if(QFileInfo(ui.lineTalkFolder->text()).isDir())
|
if(QFileInfo(ui.lineTalkFolder->text()).isDir())
|
||||||
browser.setDirectory(ui.lineTalkFolder->text());
|
{
|
||||||
|
QDir d(ui.lineTalkFolder->text());
|
||||||
|
browser.setDir(d);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
browser.setDirectory("/media");
|
{
|
||||||
browser.setReadOnly(true);
|
QDir d("/media");
|
||||||
browser.setFileMode(QFileDialog::DirectoryOnly);
|
browser.setDir(d);
|
||||||
browser.setAcceptMode(QFileDialog::AcceptOpen);
|
}
|
||||||
if(browser.exec()) {
|
if(browser.exec() == QDialog::Accepted)
|
||||||
qDebug() << browser.directory();
|
{
|
||||||
QStringList files = browser.selectedFiles();
|
qDebug() << browser.getSelected();
|
||||||
setTalkFolder(files.at(0));
|
setTalkFolder(browser.getSelected());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -66,19 +73,25 @@ void InstallTalkWindow::setTalkFolder(QString folder)
|
||||||
|
|
||||||
void InstallTalkWindow::browseTTS()
|
void InstallTalkWindow::browseTTS()
|
||||||
{
|
{
|
||||||
QFileDialog browser(this);
|
BrowseDirtree browser(this);
|
||||||
|
browser.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
|
||||||
|
|
||||||
if(QFileInfo(ui.TTSpath->text()).isDir())
|
if(QFileInfo(ui.TTSpath->text()).isDir())
|
||||||
browser.setDirectory(ui.TTSpath->text());
|
{
|
||||||
else
|
QDir d(ui.TTSpath->text());
|
||||||
browser.setDirectory("/media");
|
browser.setDir(d);
|
||||||
browser.setReadOnly(true);
|
|
||||||
browser.setFileMode(QFileDialog::ExistingFile);
|
|
||||||
browser.setAcceptMode(QFileDialog::AcceptOpen);
|
|
||||||
if(browser.exec()) {
|
|
||||||
qDebug() << browser.directory();
|
|
||||||
QStringList files = browser.selectedFiles();
|
|
||||||
setTTSExec(files.at(0));
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QDir d("/media");
|
||||||
|
browser.setDir(d);
|
||||||
|
}
|
||||||
|
if(browser.exec() == QDialog::Accepted)
|
||||||
|
{
|
||||||
|
qDebug() << browser.getSelected();
|
||||||
|
setTTSExec(browser.getSelected());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void InstallTalkWindow::setTTSExec(QString path)
|
void InstallTalkWindow::setTTSExec(QString path)
|
||||||
|
|
@ -89,18 +102,23 @@ void InstallTalkWindow::setTTSExec(QString path)
|
||||||
|
|
||||||
void InstallTalkWindow::browseEncoder()
|
void InstallTalkWindow::browseEncoder()
|
||||||
{
|
{
|
||||||
QFileDialog browser(this);
|
BrowseDirtree browser(this);
|
||||||
|
browser.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
|
||||||
|
|
||||||
if(QFileInfo(ui.Encoderpath->text()).isDir())
|
if(QFileInfo(ui.Encoderpath->text()).isDir())
|
||||||
browser.setDirectory(ui.Encoderpath->text());
|
{
|
||||||
|
QDir d(ui.Encoderpath->text());
|
||||||
|
browser.setDir(d);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
browser.setDirectory("/media");
|
{
|
||||||
browser.setReadOnly(true);
|
QDir d("/media");
|
||||||
browser.setFileMode(QFileDialog::ExistingFile);
|
browser.setDir(d);
|
||||||
browser.setAcceptMode(QFileDialog::AcceptOpen);
|
}
|
||||||
if(browser.exec()) {
|
if(browser.exec() == QDialog::Accepted)
|
||||||
qDebug() << browser.directory();
|
{
|
||||||
QStringList files = browser.selectedFiles();
|
qDebug() << browser.getSelected();
|
||||||
setEncoderExec(files.at(0));
|
setEncoderExec(browser.getSelected());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue