summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2007-08-15 21:54:15 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2007-08-15 21:54:15 +0000
commit653b996828428370d21ea5fad92ca5790f017019 (patch)
treed38d92cf9f682b034990bebb0f6a1be0cb3e64cf
parent53fbd6d01dc921c203860523649df59033751ca9 (diff)
downloadrockbox-653b996828428370d21ea5fad92ca5790f017019.tar.gz
rockbox-653b996828428370d21ea5fad92ca5790f017019.zip
Add theme installation. This relies on a modified server script so the themes site need to incorporate the changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14363 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/installthemes.cpp296
-rw-r--r--rbutil/rbutilqt/installthemes.h72
-rw-r--r--rbutil/rbutilqt/installthemesfrm.ui133
-rw-r--r--rbutil/rbutilqt/installzip.cpp3
-rw-r--r--rbutil/rbutilqt/rbutil.ini3
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp20
-rw-r--r--rbutil/rbutilqt/rbutilqt.h1
-rw-r--r--rbutil/rbutilqt/rbutilqt.pro4
-rw-r--r--rbutil/rbutilqt/settings.h0
9 files changed, 527 insertions, 5 deletions
diff --git a/rbutil/rbutilqt/installthemes.cpp b/rbutil/rbutilqt/installthemes.cpp
new file mode 100644
index 0000000000..53cf41d496
--- /dev/null
+++ b/rbutil/rbutilqt/installthemes.cpp
@@ -0,0 +1,296 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2007 by Dominik Riebeling
10 * $Id$
11 *
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.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#include <QtGui>
21
22#include "ui_installthemesfrm.h"
23#include "installthemes.h"
24#include "installzip.h"
25#include "progressloggergui.h"
26
27
28ThemesInstallWindow::ThemesInstallWindow(QWidget *parent) : QDialog(parent)
29{
30 ui.setupUi(this);
31 ui.listThemes->setAlternatingRowColors(true);
32 ui.listThemes->setSelectionMode(QAbstractItemView::ExtendedSelection);
33 ui.themePreview->clear();
34 ui.themePreview->setText(tr("no theme selected"));
35
36 connect(ui.buttonCancel, SIGNAL(clicked()), this, SLOT(close()));
37 connect(ui.buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
38}
39
40
41QString ThemesInstallWindow::resolution()
42{
43 QString resolution;
44 devices->beginGroup(userSettings->value("defaults/platform").toString());
45 resolution = devices->value("resolution").toString();
46 devices->endGroup();
47 return resolution;
48}
49
50
51void ThemesInstallWindow::setDeviceSettings(QSettings *dev)
52{
53 devices = dev;
54 qDebug() << "setDeviceSettings()" << devices;
55}
56
57
58void ThemesInstallWindow::setUserSettings(QSettings *user)
59{
60 userSettings = user;
61}
62
63
64void ThemesInstallWindow::downloadInfo()
65{
66 // try to get the current build information
67 getter = new HttpGet(this);
68 connect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool)));
69
70 qDebug() << "downloading themes info";
71 themesInfo.open();
72 qDebug() << "file:" << themesInfo.fileName();
73 themesInfo.close();
74
75 QUrl url;
76 url = QUrl(devices->value("themes_url").toString() + "/rbutilqt.php?res=" + resolution());
77 qDebug() << "downloadInfo()" << url;
78 qDebug() << url.queryItems();
79 getter->setProxy(proxy);
80 getter->setFile(&themesInfo);
81 getter->getFile(url);
82}
83
84
85void ThemesInstallWindow::downloadDone(int id, bool error)
86{
87 downloadDone(error);
88 qDebug() << "downloadDone(bool) =" << id << error;
89}
90
91
92void ThemesInstallWindow::downloadDone(bool error)
93{
94 qDebug() << "downloadDone(bool) =" << error;
95
96 disconnect(logger, SIGNAL(aborted()), getter, SLOT(abort()));
97 disconnect(logger, SIGNAL(aborted()), this, SLOT(close()));
98 themesInfo.open();
99
100 QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this);
101 QStringList tl = iniDetails.childGroups();
102 qDebug() << tl.size();
103 qDebug() << iniDetails.value("error/code").toString()
104 << iniDetails.value("error/description").toString()
105 << iniDetails.value("error/query").toString();
106
107 if(error) {
108 logger->addItem(tr("Network error: %1.\nPlease check your network and proxy settings.")
109 .arg(getter->errorString()), LOGERROR);
110 getter->abort();
111 logger->abort();
112 disconnect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool)));
113 connect(logger, SIGNAL(closed()), this, SLOT(close()));
114 return;
115 }
116 // handle possible error codes
117 if(iniDetails.value("error/code").toInt() != 0 || !iniDetails.contains("error/code")) {
118 qDebug() << "error!";
119 logger->addItem(tr("the following error occured:\n%1")
120 .arg(iniDetails.value("error/description", "unknown error").toString()), LOGERROR);
121 logger->abort();
122 connect(logger, SIGNAL(closed()), this, SLOT(close()));
123 return;
124 }
125 logger->addItem(tr("done."), LOGOK);
126 logger->abort();
127 logger->close();
128
129 // setup list
130 for(int i = 0; i < tl.size(); i++) {
131 iniDetails.beginGroup(tl.at(i));
132 // skip all themes without name field set (i.e. error section)
133 if(iniDetails.value("name").toString().isEmpty()) continue;
134 QListWidgetItem *w = new QListWidgetItem;
135 w->setData(Qt::DisplayRole, iniDetails.value("name").toString());
136 w->setData(Qt::UserRole, tl.at(i));
137 ui.listThemes->addItem(w);
138
139 iniDetails.endGroup();
140 }
141 connect(ui.listThemes, SIGNAL(currentRowChanged(int)), this, SLOT(updateDetails(int)));
142}
143
144
145void ThemesInstallWindow::updateDetails(int row)
146{
147 if(row == currentItem) return;
148
149 currentItem = row;
150 qDebug() << "updateDetails(int) =" << row;
151 QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this);
152 ui.themeDescription->setText(tr("fetching details for %1")
153 .arg(ui.listThemes->item(row)->data(Qt::DisplayRole).toString()));
154 ui.themePreview->clear();
155 ui.themePreview->setText(tr("fetching preview ..."));
156
157 int size = 0;
158
159 iniDetails.beginGroup(ui.listThemes->item(row)->data(Qt::UserRole).toString());
160 size += iniDetails.value("size").toInt();
161 qDebug() << ui.listThemes->item(row)->data(Qt::UserRole).toString() << size;
162 iniDetails.endGroup();
163 ui.labelSize->setText(tr("Download size %1 kiB").arg(size));
164
165 iniDetails.beginGroup(ui.listThemes->item(row)->data(Qt::UserRole).toString());
166
167 QUrl img, txt;
168 txt = QUrl(QString(devices->value("themes_url").toString() + "/"
169 + iniDetails.value("descriptionfile").toString()));
170 img = QUrl(QString(devices->value("themes_url").toString() + "/"
171 + iniDetails.value("image").toString()));
172 qDebug() << "txt:" << txt;
173 qDebug() << "img:" << img;
174
175 QString text;
176 text = tr("<b>Author:</b> %1<hr/>").arg(iniDetails.value("author", tr("unknown")).toString());
177 text += tr("<b>Version:</b> %1<hr/>").arg(iniDetails.value("version", tr("unknown")).toString());
178 text += tr("<b>Description:</b> %1<br/>").arg(iniDetails.value("about", tr("no description")).toString());
179 ui.themeDescription->setHtml(text);
180 iniDetails.endGroup();
181
182 igetter.abort();
183 igetter.setProxy(proxy);
184 igetter.getFile(img);
185 connect(&igetter, SIGNAL(done(bool)), this, SLOT(updateImage(bool)));
186}
187
188
189void ThemesInstallWindow::updateImage(bool error)
190{
191 qDebug() << "updateImage(bool) =" << error;
192 if(error) return;
193
194 QPixmap p, q;
195 QSize img;
196 img.setHeight(ui.themePreview->height());
197 img.setWidth(ui.themePreview->width());
198 if(!error) {
199 imgData = igetter.readAll();
200 if(imgData.isNull()) return;
201 p.loadFromData(imgData);
202 q = p.scaled(img, Qt::KeepAspectRatio, Qt::SmoothTransformation);
203 ui.themePreview->setScaledContents(false);
204 if(q.isNull()) {
205 ui.themePreview->clear();
206 ui.themePreview->setText(tr("no theme preview"));
207 }
208 else ui.themePreview->setPixmap(q);
209 }
210}
211
212
213void ThemesInstallWindow::resizeEvent(QResizeEvent* e)
214{
215 qDebug() << "resizeEvent(QResizeEvent*) =" << e;
216
217 QPixmap p, q;
218 QSize img;
219 img.setHeight(ui.themePreview->height());
220 img.setWidth(ui.themePreview->width());
221
222 p.loadFromData(imgData);
223 if(p.isNull()) return;
224 q = p.scaled(img, Qt::KeepAspectRatio, Qt::SmoothTransformation);
225 ui.themePreview->setScaledContents(false);
226 ui.themePreview->setPixmap(q);
227}
228
229
230
231void ThemesInstallWindow::show()
232{
233 downloadInfo();
234 QDialog::show();
235 logger = new ProgressLoggerGui(this);
236 logger->show();
237 logger->addItem(tr("getting themes information ..."), LOGINFO);
238 connect(logger, SIGNAL(aborted()), getter, SLOT(abort()));
239 connect(logger, SIGNAL(aborted()), this, SLOT(close()));
240}
241
242
243void ThemesInstallWindow::abort()
244{
245 igetter.abort();
246 logger->abort();
247 this->close();
248}
249
250
251void ThemesInstallWindow::setProxy(QUrl p)
252{
253 proxy = p;
254 qDebug() << "setProxy()" << proxy;
255}
256
257
258void ThemesInstallWindow::accept()
259{
260 if(ui.listThemes->selectedItems().size() == 0) {
261 this->close();
262 return;
263 }
264 QStringList themes;
265 QStringList names;
266 QString zip;
267 QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this);
268 for(int i = 0; i < ui.listThemes->selectedItems().size(); i++) {
269 iniDetails.beginGroup(ui.listThemes->selectedItems().at(i)->data(Qt::UserRole).toString());
270 zip = devices->value("themes_url").toString() + "/" + iniDetails.value("archive").toString();
271 themes.append(zip);
272 names.append("Theme: " + ui.listThemes->selectedItems().at(i)->data(Qt::DisplayRole).toString());
273 iniDetails.endGroup();
274 }
275 qDebug() << "installing themes:" << themes;
276
277 logger = new ProgressLoggerGui(this);
278 logger->show();
279 QString mountPoint = userSettings->value("defaults/mountpoint").toString();
280 qDebug() << "mountpoint:" << userSettings->value("defaults/mountpoint").toString();
281 // show dialog with error if mount point is wrong
282 if(!QFileInfo(mountPoint).isDir()) {
283 logger->addItem(tr("Mount point is wrong!"),LOGERROR);
284 logger->abort();
285 return;
286 }
287
288 installer = new ZipInstaller(this);
289 installer->setUrl(themes);
290 installer->setProxy(proxy);
291 installer->setLogSection(names);
292 installer->setMountPoint(mountPoint);
293 installer->install(logger);
294 connect(logger, SIGNAL(closed()), this, SLOT(close()));
295}
296
diff --git a/rbutil/rbutilqt/installthemes.h b/rbutil/rbutilqt/installthemes.h
new file mode 100644
index 0000000000..da6ad86485
--- /dev/null
+++ b/rbutil/rbutilqt/installthemes.h
@@ -0,0 +1,72 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2007 by Dominik Riebeling
10 * $Id$
11 *
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.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#ifndef INSTALLTHEMES_H
21#define INSTALLTHEMES_H
22
23#include <QtGui>
24#include <QTemporaryFile>
25
26#include "ui_installthemesfrm.h"
27#include "httpget.h"
28#include "installzip.h"
29#include "progressloggergui.h"
30
31class ThemesInstallWindow : public QDialog
32{
33 Q_OBJECT
34
35 public:
36 ThemesInstallWindow(QWidget* parent = 0);
37 void setDeviceSettings(QSettings*);
38 void setUserSettings(QSettings *);
39 void setProxy(QUrl);
40 void downloadInfo(void);
41 void show(void);
42 void accept(void);
43
44 public slots:
45
46 private:
47 Ui::ThemeInstallFrm ui;
48 QSettings *devices;
49 QSettings *userSettings;
50 HttpGet *getter;
51 HttpGet igetter;
52 QTemporaryFile themesInfo;
53 QString resolution(void);
54 QUrl proxy;
55 int currentItem;
56 void resizeEvent(QResizeEvent*);
57 QByteArray imgData;
58 ProgressLoggerGui *logger;
59 ZipInstaller *installer;
60 QString file;
61 QString fileName;
62
63 private slots:
64 void downloadDone(bool);
65 void downloadDone(int, bool);
66 void updateDetails(int);
67 void updateImage(bool);
68 void abort(void);
69};
70
71
72#endif
diff --git a/rbutil/rbutilqt/installthemesfrm.ui b/rbutil/rbutilqt/installthemesfrm.ui
new file mode 100644
index 0000000000..42d0550d00
--- /dev/null
+++ b/rbutil/rbutilqt/installthemesfrm.ui
@@ -0,0 +1,133 @@
1<ui version="4.0" >
2 <class>ThemeInstallFrm</class>
3 <widget class="QDialog" name="ThemeInstallFrm" >
4 <property name="geometry" >
5 <rect>
6 <x>0</x>
7 <y>0</y>
8 <width>750</width>
9 <height>450</height>
10 </rect>
11 </property>
12 <property name="windowTitle" >
13 <string>Theme Installation</string>
14 </property>
15 <layout class="QGridLayout" >
16 <item rowspan="2" row="0" column="0" >
17 <widget class="QLabel" name="label" >
18 <property name="text" >
19 <string/>
20 </property>
21 <property name="pixmap" >
22 <pixmap resource="rbutilqt.qrc" >:/icons/icons/wizard.xpm</pixmap>
23 </property>
24 <property name="alignment" >
25 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
26 </property>
27 </widget>
28 </item>
29 <item row="0" column="1" >
30 <widget class="QListWidget" name="listThemes" >
31 <property name="sizePolicy" >
32 <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
33 <horstretch>0</horstretch>
34 <verstretch>0</verstretch>
35 </sizepolicy>
36 </property>
37 </widget>
38 </item>
39 <item row="0" column="2" colspan="2" >
40 <widget class="QGroupBox" name="groupBox" >
41 <property name="sizePolicy" >
42 <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
43 <horstretch>0</horstretch>
44 <verstretch>0</verstretch>
45 </sizepolicy>
46 </property>
47 <property name="title" >
48 <string>Selected Theme</string>
49 </property>
50 <layout class="QGridLayout" >
51 <item row="0" column="0" >
52 <widget class="QLabel" name="themePreview" >
53 <property name="sizePolicy" >
54 <sizepolicy vsizetype="MinimumExpanding" hsizetype="MinimumExpanding" >
55 <horstretch>0</horstretch>
56 <verstretch>0</verstretch>
57 </sizepolicy>
58 </property>
59 <property name="text" >
60 <string/>
61 </property>
62 <property name="scaledContents" >
63 <bool>true</bool>
64 </property>
65 <property name="alignment" >
66 <set>Qt::AlignCenter</set>
67 </property>
68 </widget>
69 </item>
70 <item row="1" column="0" >
71 <widget class="QLabel" name="label_3" >
72 <property name="text" >
73 <string>Description</string>
74 </property>
75 </widget>
76 </item>
77 <item row="2" column="0" >
78 <widget class="QTextBrowser" name="themeDescription" />
79 </item>
80 <item row="3" column="0" >
81 <widget class="QLabel" name="labelSize" >
82 <property name="text" >
83 <string>Download size:</string>
84 </property>
85 </widget>
86 </item>
87 </layout>
88 </widget>
89 </item>
90 <item row="1" column="1" colspan="2" >
91 <spacer>
92 <property name="orientation" >
93 <enum>Qt::Horizontal</enum>
94 </property>
95 <property name="sizeHint" >
96 <size>
97 <width>368</width>
98 <height>20</height>
99 </size>
100 </property>
101 </spacer>
102 </item>
103 <item row="1" column="3" >
104 <layout class="QHBoxLayout" >
105 <item>
106 <widget class="QPushButton" name="buttonOk" >
107 <property name="text" >
108 <string>&amp;Ok</string>
109 </property>
110 <property name="icon" >
111 <iconset resource="rbutilqt.qrc" >:/icons/icons/go-next.png</iconset>
112 </property>
113 </widget>
114 </item>
115 <item>
116 <widget class="QPushButton" name="buttonCancel" >
117 <property name="text" >
118 <string>&amp;Cancel</string>
119 </property>
120 <property name="icon" >
121 <iconset resource="rbutilqt.qrc" >:/icons/icons/process-stop.png</iconset>
122 </property>
123 </widget>
124 </item>
125 </layout>
126 </item>
127 </layout>
128 </widget>
129 <resources>
130 <include location="rbutilqt.qrc" />
131 </resources>
132 <connections/>
133</ui>
diff --git a/rbutil/rbutilqt/installzip.cpp b/rbutil/rbutilqt/installzip.cpp
index 14e1feb55f..1ca976752a 100644
--- a/rbutil/rbutilqt/installzip.cpp
+++ b/rbutil/rbutilqt/installzip.cpp
@@ -46,6 +46,7 @@ void ZipInstaller::installContinue()
46 qDebug() << "installContinue()"; 46 qDebug() << "installContinue()";
47 47
48 runner++; // this gets called when a install finished, so increase first. 48 runner++; // this gets called when a install finished, so increase first.
49 qDebug() << "runner is now at" << runner << "size is" << m_urllist.size();
49 if(runner < m_urllist.size()) { 50 if(runner < m_urllist.size()) {
50 qDebug() << "==> runner at" << runner; 51 qDebug() << "==> runner at" << runner;
51 m_dp->addItem(tr("done."), LOGOK); 52 m_dp->addItem(tr("done."), LOGOK);
@@ -196,7 +197,7 @@ void ZipInstaller::updateDataReadProgress(int read, int total)
196{ 197{
197 m_dp->setProgressMax(total); 198 m_dp->setProgressMax(total);
198 m_dp->setProgressValue(read); 199 m_dp->setProgressValue(read);
199 qDebug() << "progress:" << read << "/" << total; 200 //qDebug() << "progress:" << read << "/" << total;
200 201
201} 202}
202 203
diff --git a/rbutil/rbutilqt/rbutil.ini b/rbutil/rbutilqt/rbutil.ini
index 5e8b61bf72..d617f0fb98 100644
--- a/rbutil/rbutilqt/rbutil.ini
+++ b/rbutil/rbutilqt/rbutil.ini
@@ -8,7 +8,8 @@ font_url=http://www.rockbox.org/daily/fonts/rockbox-fonts.zip
8last_release=2.5 8last_release=2.5
9prog_name=rockbox 9prog_name=rockbox
10bootloader_url=http://download.rockbox.org/bootloader 10bootloader_url=http://download.rockbox.org/bootloader
11themes_url=http://www.rockbox-themes.org/ 11themes_url=http://copy.rockbox-themes.org
12#themes_url=http://www.rockbox-themes.org
12manual_url=http://download.rockbox.org/manual 13manual_url=http://download.rockbox.org/manual
13doom_url=http://download.rockbox.org/useful/rockdoom.zip 14doom_url=http://download.rockbox.org/useful/rockdoom.zip
14voice_url=http://www.rockbox.org/voices/ 15voice_url=http://www.rockbox.org/voices/
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index fc03ba754e..39bac3bc36 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -28,6 +28,7 @@
28#include "installtalkwindow.h" 28#include "installtalkwindow.h"
29#include "httpget.h" 29#include "httpget.h"
30#include "installbootloader.h" 30#include "installbootloader.h"
31#include "installthemes.h"
31#include "uninstallwindow.h" 32#include "uninstallwindow.h"
32#include "browseof.h" 33#include "browseof.h"
33 34
@@ -81,11 +82,10 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
81 connect(ui.buttonGames, SIGNAL(clicked()), this, SLOT(installDoom())); 82 connect(ui.buttonGames, SIGNAL(clicked()), this, SLOT(installDoom()));
82 connect(ui.buttonTalk, SIGNAL(clicked()), this, SLOT(createTalkFiles())); 83 connect(ui.buttonTalk, SIGNAL(clicked()), this, SLOT(createTalkFiles()));
83 connect(ui.buttonVoice, SIGNAL(clicked()), this, SLOT(installVoice())); 84 connect(ui.buttonVoice, SIGNAL(clicked()), this, SLOT(installVoice()));
85 connect(ui.buttonThemes, SIGNAL(clicked()), this, SLOT(installThemes()));
84 connect(ui.buttonRemoveRockbox, SIGNAL(clicked()), this, SLOT(uninstall())); 86 connect(ui.buttonRemoveRockbox, SIGNAL(clicked()), this, SLOT(uninstall()));
85 connect(ui.buttonRemoveBootloader, SIGNAL(clicked()), this, SLOT(uninstallBootloader())); 87 connect(ui.buttonRemoveBootloader, SIGNAL(clicked()), this, SLOT(uninstallBootloader()));
86
87 // disable unimplemented stuff 88 // disable unimplemented stuff
88 ui.buttonThemes->setEnabled(false);
89 ui.buttonSmall->setEnabled(false); 89 ui.buttonSmall->setEnabled(false);
90 ui.buttonComplete->setEnabled(false); 90 ui.buttonComplete->setEnabled(false);
91 91
@@ -439,6 +439,22 @@ void RbUtilQt::installDoom()
439} 439}
440 440
441 441
442void RbUtilQt::installThemes()
443{
444 ThemesInstallWindow* tw = new ThemesInstallWindow(this);
445 tw->setDeviceSettings(devices);
446 tw->setUserSettings(userSettings);
447 if(userSettings->value("defaults/proxytype") == "manual")
448 tw->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
449#ifdef __linux
450 else if(userSettings->value("defaults/proxytype") == "system")
451 tw->setProxy(QUrl(getenv("http_proxy")));
452#endif
453 tw->setModal(true);
454 tw->show();
455}
456
457
442void RbUtilQt::createTalkFiles(void) 458void RbUtilQt::createTalkFiles(void)
443{ 459{
444 InstallTalkWindow *installWindow = new InstallTalkWindow(this); 460 InstallTalkWindow *installWindow = new InstallTalkWindow(this);
diff --git a/rbutil/rbutilqt/rbutilqt.h b/rbutil/rbutilqt/rbutilqt.h
index 62a7aac3bd..19e7920859 100644
--- a/rbutil/rbutilqt/rbutilqt.h
+++ b/rbutil/rbutilqt/rbutilqt.h
@@ -66,6 +66,7 @@ class RbUtilQt : public QMainWindow
66 void downloadDone(int, bool); 66 void downloadDone(int, bool);
67 void downloadInfo(void); 67 void downloadInfo(void);
68 void installVoice(void); 68 void installVoice(void);
69 void installThemes(void);
69 void uninstall(void); 70 void uninstall(void);
70 void uninstallBootloader(void); 71 void uninstallBootloader(void);
71}; 72};
diff --git a/rbutil/rbutilqt/rbutilqt.pro b/rbutil/rbutilqt/rbutilqt.pro
index 40e205b147..708dde052d 100644
--- a/rbutil/rbutilqt/rbutilqt.pro
+++ b/rbutil/rbutilqt/rbutilqt.pro
@@ -30,12 +30,12 @@ SOURCES += rbutilqt.cpp \
30 irivertools/irivertools.cpp \ 30 irivertools/irivertools.cpp \
31 irivertools/md5sum.cpp \ 31 irivertools/md5sum.cpp \
32 browsedirtree.cpp \ 32 browsedirtree.cpp \
33 installthemes.cpp \
33 uninstall.cpp \ 34 uninstall.cpp \
34 uninstallwindow.cpp \ 35 uninstallwindow.cpp \
35 browseof.cpp 36 browseof.cpp
36 37
37HEADERS += rbutilqt.h \ 38HEADERS += rbutilqt.h \
38 settings.h \
39 install.h \ 39 install.h \
40 httpget.h \ 40 httpget.h \
41 configure.h \ 41 configure.h \
@@ -64,6 +64,7 @@ HEADERS += rbutilqt.h \
64 irivertools/h300sums.h \ 64 irivertools/h300sums.h \
65 irivertools/checksums.h \ 65 irivertools/checksums.h \
66 browsedirtree.h \ 66 browsedirtree.h \
67 installthemes.h \
67 uninstall.h \ 68 uninstall.h \
68 uninstallwindow.h \ 69 uninstallwindow.h \
69 browseof.h 70 browseof.h
@@ -85,6 +86,7 @@ FORMS += rbutilqtfrm.ui \
85 configurefrm.ui \ 86 configurefrm.ui \
86 browsedirtreefrm.ui \ 87 browsedirtreefrm.ui \
87 installtalkfrm.ui \ 88 installtalkfrm.ui \
89 installthemesfrm.ui \
88 uninstallfrm.ui \ 90 uninstallfrm.ui \
89 browseoffrm.ui 91 browseoffrm.ui
90 92
diff --git a/rbutil/rbutilqt/settings.h b/rbutil/rbutilqt/settings.h
deleted file mode 100644
index e69de29bb2..0000000000
--- a/rbutil/rbutilqt/settings.h
+++ /dev/null