summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/installbl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/installbl.cpp')
-rw-r--r--rbutil/rbutilqt/installbl.cpp55
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
31void InstallBl::setProxy(QUrl proxy_url) 33void InstallBl::setProxy(QUrl proxy_url)
@@ -43,6 +45,15 @@ void InstallBl::setMountPoint(QString mount)
43 } 45 }
44} 46}
45 47
48void 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
46void InstallBl::browseFolder() 57void 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
74void 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
63void InstallBl::accept() 90void 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)
115void InstallBl::setDeviceSettings(QSettings *dev) 155void 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