diff options
Diffstat (limited to 'rbutil/rbutilqt/installbl.cpp')
-rw-r--r-- | rbutil/rbutilqt/installbl.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/installbl.cpp b/rbutil/rbutilqt/installbl.cpp index eae8fc20f6..6d6169f7c6 100644 --- a/rbutil/rbutilqt/installbl.cpp +++ b/rbutil/rbutilqt/installbl.cpp | |||
@@ -26,6 +26,8 @@ InstallBl::InstallBl(QWidget *parent) : QDialog(parent) | |||
26 | { | 26 | { |
27 | ui.setupUi(this); | 27 | ui.setupUi(this); |
28 | connect(ui.buttonBrowse, SIGNAL(clicked()), this, SLOT(browseFolder())); | 28 | connect(ui.buttonBrowse, SIGNAL(clicked()), this, SLOT(browseFolder())); |
29 | connect(ui.buttonBrowseOF, SIGNAL(clicked()), this, SLOT(browseOF())); | ||
30 | |||
29 | } | 31 | } |
30 | 32 | ||
31 | void InstallBl::setProxy(QUrl proxy_url) | 33 | void InstallBl::setProxy(QUrl proxy_url) |
@@ -43,6 +45,15 @@ void InstallBl::setMountPoint(QString mount) | |||
43 | } | 45 | } |
44 | } | 46 | } |
45 | 47 | ||
48 | void InstallBl::setOFPath(QString path) | ||
49 | { | ||
50 | QFileInfo m(path); | ||
51 | if(m.exists()) { | ||
52 | ui.lineOriginalFirmware->clear(); | ||
53 | ui.lineOriginalFirmware->insert(path); | ||
54 | } | ||
55 | } | ||
56 | |||
46 | void InstallBl::browseFolder() | 57 | void InstallBl::browseFolder() |
47 | { | 58 | { |
48 | QFileDialog browser(this); | 59 | QFileDialog browser(this); |
@@ -60,6 +71,22 @@ void InstallBl::browseFolder() | |||
60 | } | 71 | } |
61 | } | 72 | } |
62 | 73 | ||
74 | void InstallBl::browseOF() | ||
75 | { | ||
76 | QFileDialog browser(this); | ||
77 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) | ||
78 | browser.setDirectory(ui.lineOriginalFirmware->text()); | ||
79 | else | ||
80 | browser.setDirectory("/media"); | ||
81 | browser.setReadOnly(true); | ||
82 | browser.setAcceptMode(QFileDialog::AcceptOpen); | ||
83 | if(browser.exec()) { | ||
84 | qDebug() << browser.directory(); | ||
85 | QStringList files = browser.selectedFiles(); | ||
86 | setOFPath(files.at(0)); | ||
87 | } | ||
88 | } | ||
89 | |||
63 | void InstallBl::accept() | 90 | void InstallBl::accept() |
64 | { | 91 | { |
65 | QDialog *downloadProgress = new QDialog(this); | 92 | QDialog *downloadProgress = new QDialog(this); |
@@ -77,6 +104,18 @@ void InstallBl::accept() | |||
77 | downloadProgress->show(); | 104 | downloadProgress->show(); |
78 | return; | 105 | return; |
79 | } | 106 | } |
107 | |||
108 | if(QFileInfo(ui.lineOriginalFirmware->text()).exists()) | ||
109 | { | ||
110 | m_OrigFirmware = ui.lineOriginalFirmware->text(); | ||
111 | } | ||
112 | else | ||
113 | { | ||
114 | dp.listProgress->addItem(tr("Original Firmware Path is wrong!")); | ||
115 | dp.buttonAbort->setText(tr("&Ok")); | ||
116 | downloadProgress->show(); | ||
117 | return; | ||
118 | } | ||
80 | userSettings->sync(); | 119 | userSettings->sync(); |
81 | 120 | ||
82 | binstaller = new BootloaderInstaller(this); | 121 | binstaller = new BootloaderInstaller(this); |
@@ -89,6 +128,7 @@ void InstallBl::accept() | |||
89 | binstaller->setBootloaderMethod(devices->value(plattform + "/bootloadermethod").toString()); | 128 | binstaller->setBootloaderMethod(devices->value(plattform + "/bootloadermethod").toString()); |
90 | binstaller->setBootloaderName(devices->value(plattform + "/bootloadername").toString()); | 129 | binstaller->setBootloaderName(devices->value(plattform + "/bootloadername").toString()); |
91 | binstaller->setBootloaderBaseUrl(devices->value("bootloader_url").toString()); | 130 | binstaller->setBootloaderBaseUrl(devices->value("bootloader_url").toString()); |
131 | binstaller->setOrigFirmwarePath(m_OrigFirmware); | ||
92 | 132 | ||
93 | binstaller->install(&dp); | 133 | binstaller->install(&dp); |
94 | 134 | ||
@@ -115,6 +155,21 @@ void InstallBl::done(bool error) | |||
115 | void InstallBl::setDeviceSettings(QSettings *dev) | 155 | void InstallBl::setDeviceSettings(QSettings *dev) |
116 | { | 156 | { |
117 | devices = dev; | 157 | devices = dev; |
158 | |||
159 | if(userSettings->value("defaults/platform").toString() == "h100" || | ||
160 | userSettings->value("defaults/platform").toString() == "h120" || | ||
161 | userSettings->value("defaults/platform").toString() == "h300") | ||
162 | { | ||
163 | ui.buttonBrowseOF->show(); | ||
164 | ui.lineOriginalFirmware->show(); | ||
165 | ui.label_3->show(); | ||
166 | } | ||
167 | else | ||
168 | { | ||
169 | ui.buttonBrowseOF->hide(); | ||
170 | ui.lineOriginalFirmware->hide(); | ||
171 | ui.label_3->hide(); | ||
172 | } | ||
118 | qDebug() << "Install::setDeviceSettings:" << devices; | 173 | qDebug() << "Install::setDeviceSettings:" << devices; |
119 | } | 174 | } |
120 | 175 | ||