diff options
Diffstat (limited to 'rbutil/rbutilqt/installbl.cpp')
-rw-r--r-- | rbutil/rbutilqt/installbl.cpp | 352 |
1 files changed, 176 insertions, 176 deletions
diff --git a/rbutil/rbutilqt/installbl.cpp b/rbutil/rbutilqt/installbl.cpp index b36909b8f6..3eaf9afdaf 100644 --- a/rbutil/rbutilqt/installbl.cpp +++ b/rbutil/rbutilqt/installbl.cpp | |||
@@ -1,176 +1,176 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * __________ __ ___. | 2 | * __________ __ ___. |
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | 3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | 4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / |
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | 5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | 6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
7 | * \/ \/ \/ \/ \/ | 7 | * \/ \/ \/ \/ \/ |
8 | * | 8 | * |
9 | * Copyright (C) 2007 by Dominik Wenger | 9 | * Copyright (C) 2007 by Dominik Wenger |
10 | * $Id: installbl.cpp 14027 2007-07-27 17:42:49Z domonoky $ | 10 | * $Id: installbl.cpp 14027 2007-07-27 17:42:49Z domonoky $ |
11 | * | 11 | * |
12 | * All files in this archive are subject to the GNU General Public License. | 12 | * All files in this archive are subject to the GNU General Public License. |
13 | * See the file COPYING in the source tree root for full license agreement. | 13 | * See the file COPYING in the source tree root for full license agreement. |
14 | * | 14 | * |
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | 15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY |
16 | * KIND, either express or implied. | 16 | * KIND, either express or implied. |
17 | * | 17 | * |
18 | ****************************************************************************/ | 18 | ****************************************************************************/ |
19 | 19 | ||
20 | #include "installbl.h" | 20 | #include "installbl.h" |
21 | #include "ui_installprogressfrm.h" | 21 | #include "ui_installprogressfrm.h" |
22 | 22 | ||
23 | 23 | ||
24 | InstallBl::InstallBl(QWidget *parent) : QDialog(parent) | 24 | InstallBl::InstallBl(QWidget *parent) : QDialog(parent) |
25 | { | 25 | { |
26 | ui.setupUi(this); | 26 | ui.setupUi(this); |
27 | connect(ui.buttonBrowse, SIGNAL(clicked()), this, SLOT(browseFolder())); | 27 | connect(ui.buttonBrowse, SIGNAL(clicked()), this, SLOT(browseFolder())); |
28 | connect(ui.buttonBrowseOF, SIGNAL(clicked()), this, SLOT(browseOF())); | 28 | connect(ui.buttonBrowseOF, SIGNAL(clicked()), this, SLOT(browseOF())); |
29 | 29 | ||
30 | } | 30 | } |
31 | 31 | ||
32 | void InstallBl::setProxy(QUrl proxy_url) | 32 | void InstallBl::setProxy(QUrl proxy_url) |
33 | { | 33 | { |
34 | proxy = proxy_url; | 34 | proxy = proxy_url; |
35 | qDebug() << "Install::setProxy" << proxy; | 35 | qDebug() << "Install::setProxy" << proxy; |
36 | } | 36 | } |
37 | 37 | ||
38 | void InstallBl::setMountPoint(QString mount) | 38 | void InstallBl::setMountPoint(QString mount) |
39 | { | 39 | { |
40 | QFileInfo m(mount); | 40 | QFileInfo m(mount); |
41 | if(m.isDir()) { | 41 | if(m.isDir()) { |
42 | ui.lineMountPoint->clear(); | 42 | ui.lineMountPoint->clear(); |
43 | ui.lineMountPoint->insert(mount); | 43 | ui.lineMountPoint->insert(mount); |
44 | } | 44 | } |
45 | } | 45 | } |
46 | 46 | ||
47 | void InstallBl::setOFPath(QString path) | 47 | void InstallBl::setOFPath(QString path) |
48 | { | 48 | { |
49 | QFileInfo m(path); | 49 | QFileInfo m(path); |
50 | if(m.exists()) { | 50 | if(m.exists()) { |
51 | ui.lineOriginalFirmware->clear(); | 51 | ui.lineOriginalFirmware->clear(); |
52 | ui.lineOriginalFirmware->insert(path); | 52 | ui.lineOriginalFirmware->insert(path); |
53 | } | 53 | } |
54 | } | 54 | } |
55 | 55 | ||
56 | void InstallBl::browseFolder() | 56 | void InstallBl::browseFolder() |
57 | { | 57 | { |
58 | QFileDialog browser(this); | 58 | QFileDialog browser(this); |
59 | if(QFileInfo(ui.lineMountPoint->text()).isDir()) | 59 | if(QFileInfo(ui.lineMountPoint->text()).isDir()) |
60 | browser.setDirectory(ui.lineMountPoint->text()); | 60 | browser.setDirectory(ui.lineMountPoint->text()); |
61 | else | 61 | else |
62 | browser.setDirectory("/media"); | 62 | browser.setDirectory("/media"); |
63 | browser.setReadOnly(true); | 63 | browser.setReadOnly(true); |
64 | browser.setFileMode(QFileDialog::DirectoryOnly); | 64 | browser.setFileMode(QFileDialog::DirectoryOnly); |
65 | browser.setAcceptMode(QFileDialog::AcceptOpen); | 65 | browser.setAcceptMode(QFileDialog::AcceptOpen); |
66 | if(browser.exec()) { | 66 | if(browser.exec()) { |
67 | qDebug() << browser.directory(); | 67 | qDebug() << browser.directory(); |
68 | QStringList files = browser.selectedFiles(); | 68 | QStringList files = browser.selectedFiles(); |
69 | setMountPoint(files.at(0)); | 69 | setMountPoint(files.at(0)); |
70 | } | 70 | } |
71 | } | 71 | } |
72 | 72 | ||
73 | void InstallBl::browseOF() | 73 | void InstallBl::browseOF() |
74 | { | 74 | { |
75 | QFileDialog browser(this); | 75 | QFileDialog browser(this); |
76 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) | 76 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) |
77 | browser.setDirectory(ui.lineOriginalFirmware->text()); | 77 | browser.setDirectory(ui.lineOriginalFirmware->text()); |
78 | else | 78 | else |
79 | browser.setDirectory("/media"); | 79 | browser.setDirectory("/media"); |
80 | browser.setReadOnly(true); | 80 | browser.setReadOnly(true); |
81 | browser.setAcceptMode(QFileDialog::AcceptOpen); | 81 | browser.setAcceptMode(QFileDialog::AcceptOpen); |
82 | if(browser.exec()) { | 82 | if(browser.exec()) { |
83 | qDebug() << browser.directory(); | 83 | qDebug() << browser.directory(); |
84 | QStringList files = browser.selectedFiles(); | 84 | QStringList files = browser.selectedFiles(); |
85 | setOFPath(files.at(0)); | 85 | setOFPath(files.at(0)); |
86 | } | 86 | } |
87 | } | 87 | } |
88 | 88 | ||
89 | void InstallBl::accept() | 89 | void InstallBl::accept() |
90 | { | 90 | { |
91 | downloadProgress = new QDialog(this); | 91 | // create logger |
92 | dp.setupUi(downloadProgress); | 92 | logger = new ProgressLoggerGui(this); |
93 | // show dialog with error if mount point is wrong | 93 | logger->show(); |
94 | if(QFileInfo(ui.lineMountPoint->text()).isDir()) { | 94 | |
95 | mountPoint = ui.lineMountPoint->text(); | 95 | // show dialog with error if mount point is wrong |
96 | userSettings->setValue("defaults/mountpoint", mountPoint); | 96 | if(QFileInfo(ui.lineMountPoint->text()).isDir()) { |
97 | } | 97 | mountPoint = ui.lineMountPoint->text(); |
98 | else { | 98 | userSettings->setValue("defaults/mountpoint", mountPoint); |
99 | dp.listProgress->addItem(tr("Mount point is wrong!")); | 99 | } |
100 | dp.buttonAbort->setText(tr("&Ok")); | 100 | else { |
101 | downloadProgress->show(); | 101 | logger->addItem(tr("Mount point is wrong!")); |
102 | return; | 102 | logger->abort(); |
103 | } | 103 | return; |
104 | 104 | } | |
105 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) | 105 | |
106 | { | 106 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) |
107 | m_OrigFirmware = ui.lineOriginalFirmware->text(); | 107 | { |
108 | } | 108 | m_OrigFirmware = ui.lineOriginalFirmware->text(); |
109 | else | 109 | } |
110 | { | 110 | else |
111 | dp.listProgress->addItem(tr("Original Firmware Path is wrong!")); | 111 | { |
112 | dp.buttonAbort->setText(tr("&Ok")); | 112 | logger->addItem(tr("Original Firmware Path is wrong!")); |
113 | downloadProgress->show(); | 113 | logger->abort(); |
114 | return; | 114 | return; |
115 | } | 115 | } |
116 | userSettings->sync(); | 116 | userSettings->sync(); |
117 | 117 | ||
118 | binstaller = new BootloaderInstaller(this); | 118 | binstaller = new BootloaderInstaller(this); |
119 | 119 | ||
120 | binstaller->setMountPoint(mountPoint); | 120 | binstaller->setMountPoint(mountPoint); |
121 | binstaller->setProxy(proxy); | 121 | binstaller->setProxy(proxy); |
122 | QString plattform = userSettings->value("defaults/platform").toString(); | 122 | QString plattform = userSettings->value("defaults/platform").toString(); |
123 | 123 | ||
124 | binstaller->setDevice(plattform); | 124 | binstaller->setDevice(plattform); |
125 | binstaller->setBootloaderMethod(devices->value(plattform + "/bootloadermethod").toString()); | 125 | binstaller->setBootloaderMethod(devices->value(plattform + "/bootloadermethod").toString()); |
126 | binstaller->setBootloaderName(devices->value(plattform + "/bootloadername").toString()); | 126 | binstaller->setBootloaderName(devices->value(plattform + "/bootloadername").toString()); |
127 | binstaller->setBootloaderBaseUrl(devices->value("bootloader_url").toString()); | 127 | binstaller->setBootloaderBaseUrl(devices->value("bootloader_url").toString()); |
128 | binstaller->setOrigFirmwarePath(m_OrigFirmware); | 128 | binstaller->setOrigFirmwarePath(m_OrigFirmware); |
129 | 129 | ||
130 | binstaller->install(&dp); | 130 | binstaller->install(logger); |
131 | 131 | ||
132 | connect(binstaller, SIGNAL(done(bool)), this, SLOT(done(bool))); | 132 | connect(binstaller, SIGNAL(done(bool)), this, SLOT(done(bool))); |
133 | 133 | ||
134 | downloadProgress->show(); | 134 | } |
135 | } | 135 | |
136 | 136 | ||
137 | 137 | void InstallBl::done(bool error) | |
138 | void InstallBl::done(bool error) | 138 | { |
139 | { | 139 | qDebug() << "Install::done, error:" << error; |
140 | qDebug() << "Install::done, error:" << error; | 140 | |
141 | 141 | if(error) | |
142 | if(error) | 142 | { |
143 | { | 143 | logger->abort(); |
144 | connect(dp.buttonAbort, SIGNAL(clicked()), downloadProgress, SLOT(close())); | 144 | return; |
145 | return; | 145 | } |
146 | } | 146 | |
147 | 147 | // no error, close the window, when the logger is closed | |
148 | connect(dp.buttonAbort, SIGNAL(clicked()), this, SLOT(close())); | 148 | connect(logger,SIGNAL(closed()),this,SLOT(close())); |
149 | connect(dp.buttonAbort, SIGNAL(clicked()),downloadProgress, SLOT(close())); | 149 | |
150 | } | 150 | } |
151 | 151 | ||
152 | void InstallBl::setDeviceSettings(QSettings *dev) | 152 | void InstallBl::setDeviceSettings(QSettings *dev) |
153 | { | 153 | { |
154 | devices = dev; | 154 | devices = dev; |
155 | 155 | ||
156 | if(userSettings->value("defaults/platform").toString() == "h100" || | 156 | if(userSettings->value("defaults/platform").toString() == "h100" || |
157 | userSettings->value("defaults/platform").toString() == "h120" || | 157 | userSettings->value("defaults/platform").toString() == "h120" || |
158 | userSettings->value("defaults/platform").toString() == "h300") | 158 | userSettings->value("defaults/platform").toString() == "h300") |
159 | { | 159 | { |
160 | ui.buttonBrowseOF->show(); | 160 | ui.buttonBrowseOF->show(); |
161 | ui.lineOriginalFirmware->show(); | 161 | ui.lineOriginalFirmware->show(); |
162 | ui.label_3->show(); | 162 | ui.label_3->show(); |
163 | } | 163 | } |
164 | else | 164 | else |
165 | { | 165 | { |
166 | ui.buttonBrowseOF->hide(); | 166 | ui.buttonBrowseOF->hide(); |
167 | ui.lineOriginalFirmware->hide(); | 167 | ui.lineOriginalFirmware->hide(); |
168 | ui.label_3->hide(); | 168 | ui.label_3->hide(); |
169 | } | 169 | } |
170 | qDebug() << "Install::setDeviceSettings:" << devices; | 170 | qDebug() << "Install::setDeviceSettings:" << devices; |
171 | } | 171 | } |
172 | 172 | ||
173 | void InstallBl::setUserSettings(QSettings *user) | 173 | void InstallBl::setUserSettings(QSettings *user) |
174 | { | 174 | { |
175 | userSettings = user; | 175 | userSettings = user; |
176 | } | 176 | } |