diff options
Diffstat (limited to 'rbutil')
-rw-r--r-- | rbutil/rbutilqt/browsedirtree.cpp | 8 | ||||
-rw-r--r-- | rbutil/rbutilqt/browsedirtree.h | 3 | ||||
-rw-r--r-- | rbutil/rbutilqt/installtalkwindow.cpp | 78 |
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 | |||
71 | QString 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 | |||
23 | InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent) | 25 | InstallTalkWindow::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 | ||
44 | void InstallTalkWindow::browseFolder() | 46 | void 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 | ||
67 | void InstallTalkWindow::browseTTS() | 74 | void 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 | ||
84 | void InstallTalkWindow::setTTSExec(QString path) | 97 | void InstallTalkWindow::setTTSExec(QString path) |
@@ -89,18 +102,23 @@ void InstallTalkWindow::setTTSExec(QString path) | |||
89 | 102 | ||
90 | void InstallTalkWindow::browseEncoder() | 103 | void 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 | ||