summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2007-08-07 17:49:35 +0000
committerDominik Wenger <domonoky@googlemail.com>2007-08-07 17:49:35 +0000
commit2ee205ae0de2c8dc6db150465175e737cfa79784 (patch)
tree3c7da4b2fca32b6d37a19ec95ea919bacd14dae5
parent3a4e540c3db4309990965455b0686230345be002 (diff)
downloadrockbox-2ee205ae0de2c8dc6db150465175e737cfa79784.tar.gz
rockbox-2ee205ae0de2c8dc6db150465175e737cfa79784.zip
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
-rw-r--r--rbutil/rbutilqt/browsedirtree.cpp8
-rw-r--r--rbutil/rbutilqt/browsedirtree.h3
-rw-r--r--rbutil/rbutilqt/installtalkwindow.cpp78
3 files changed, 58 insertions, 31 deletions
diff --git a/rbutil/rbutilqt/browsedirtree.cpp b/rbutil/rbutilqt/browsedirtree.cpp
index 0899ab103f..e100dfa41f 100644
--- a/rbutil/rbutilqt/browsedirtree.cpp
+++ b/rbutil/rbutilqt/browsedirtree.cpp
@@ -65,6 +65,14 @@ void BrowseDirtree::accept()
65 65
66 this->close(); 66 this->close();
67 emit itemChanged(path); 67 emit itemChanged(path);
68 setResult(QDialog::Accepted);
69}
70
71QString BrowseDirtree::getSelected()
72{
73 QString path;
74 path = model.filePath(ui.tree->currentIndex());
75 return path;
68} 76}
69 77
70 78
diff --git a/rbutil/rbutilqt/browsedirtree.h b/rbutil/rbutilqt/browsedirtree.h
index 3b6846c211..4213400138 100644
--- a/rbutil/rbutilqt/browsedirtree.h
+++ b/rbutil/rbutilqt/browsedirtree.h
@@ -31,7 +31,8 @@ class BrowseDirtree : public QDialog
31 BrowseDirtree(QWidget *parent = 0); 31 BrowseDirtree(QWidget *parent = 0);
32 void setFilter(QDir::Filters); 32 void setFilter(QDir::Filters);
33 void setDir(QDir&); 33 void setDir(QDir&);
34 34 QString getSelected();
35
35 signals: 36 signals:
36 void itemChanged(QString); 37 void itemChanged(QString);
37 38
diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp
index 4d1cdb1491..82efa20a88 100644
--- a/rbutil/rbutilqt/installtalkwindow.cpp
+++ b/rbutil/rbutilqt/installtalkwindow.cpp
@@ -20,6 +20,8 @@
20#include "installtalkwindow.h" 20#include "installtalkwindow.h"
21#include "ui_installtalkfrm.h" 21#include "ui_installtalkfrm.h"
22 22
23#include "browsedirtree.h"
24
23InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent) 25InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
24{ 26{
25 ui.setupUi(this); 27 ui.setupUi(this);
@@ -43,18 +45,23 @@ InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
43 45
44void InstallTalkWindow::browseFolder() 46void InstallTalkWindow::browseFolder()
45{ 47{
46 QFileDialog browser(this); 48 BrowseDirtree browser(this);
49 browser.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
50
47 if(QFileInfo(ui.lineTalkFolder->text()).isDir()) 51 if(QFileInfo(ui.lineTalkFolder->text()).isDir())
48 browser.setDirectory(ui.lineTalkFolder->text()); 52 {
53 QDir d(ui.lineTalkFolder->text());
54 browser.setDir(d);
55 }
49 else 56 else
50 browser.setDirectory("/media"); 57 {
51 browser.setReadOnly(true); 58 QDir d("/media");
52 browser.setFileMode(QFileDialog::DirectoryOnly); 59 browser.setDir(d);
53 browser.setAcceptMode(QFileDialog::AcceptOpen); 60 }
54 if(browser.exec()) { 61 if(browser.exec() == QDialog::Accepted)
55 qDebug() << browser.directory(); 62 {
56 QStringList files = browser.selectedFiles(); 63 qDebug() << browser.getSelected();
57 setTalkFolder(files.at(0)); 64 setTalkFolder(browser.getSelected());
58 } 65 }
59} 66}
60 67
@@ -66,19 +73,25 @@ void InstallTalkWindow::setTalkFolder(QString folder)
66 73
67void InstallTalkWindow::browseTTS() 74void InstallTalkWindow::browseTTS()
68{ 75{
69 QFileDialog browser(this); 76 BrowseDirtree browser(this);
77 browser.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
78
70 if(QFileInfo(ui.TTSpath->text()).isDir()) 79 if(QFileInfo(ui.TTSpath->text()).isDir())
71 browser.setDirectory(ui.TTSpath->text()); 80 {
81 QDir d(ui.TTSpath->text());
82 browser.setDir(d);
83 }
72 else 84 else
73 browser.setDirectory("/media"); 85 {
74 browser.setReadOnly(true); 86 QDir d("/media");
75 browser.setFileMode(QFileDialog::ExistingFile); 87 browser.setDir(d);
76 browser.setAcceptMode(QFileDialog::AcceptOpen); 88 }
77 if(browser.exec()) { 89 if(browser.exec() == QDialog::Accepted)
78 qDebug() << browser.directory(); 90 {
79 QStringList files = browser.selectedFiles(); 91 qDebug() << browser.getSelected();
80 setTTSExec(files.at(0)); 92 setTTSExec(browser.getSelected());
81 } 93 }
94
82} 95}
83 96
84void InstallTalkWindow::setTTSExec(QString path) 97void InstallTalkWindow::setTTSExec(QString path)
@@ -89,18 +102,23 @@ void InstallTalkWindow::setTTSExec(QString path)
89 102
90void InstallTalkWindow::browseEncoder() 103void InstallTalkWindow::browseEncoder()
91{ 104{
92 QFileDialog browser(this); 105 BrowseDirtree browser(this);
106 browser.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
107
93 if(QFileInfo(ui.Encoderpath->text()).isDir()) 108 if(QFileInfo(ui.Encoderpath->text()).isDir())
94 browser.setDirectory(ui.Encoderpath->text()); 109 {
110 QDir d(ui.Encoderpath->text());
111 browser.setDir(d);
112 }
95 else 113 else
96 browser.setDirectory("/media"); 114 {
97 browser.setReadOnly(true); 115 QDir d("/media");
98 browser.setFileMode(QFileDialog::ExistingFile); 116 browser.setDir(d);
99 browser.setAcceptMode(QFileDialog::AcceptOpen); 117 }
100 if(browser.exec()) { 118 if(browser.exec() == QDialog::Accepted)
101 qDebug() << browser.directory(); 119 {
102 QStringList files = browser.selectedFiles(); 120 qDebug() << browser.getSelected();
103 setEncoderExec(files.at(0)); 121 setEncoderExec(browser.getSelected());
104 } 122 }
105} 123}
106 124