summaryrefslogtreecommitdiff
path: root/noncore
authorkorovkin <korovkin>2006-04-24 19:09:42 (UTC)
committer korovkin <korovkin>2006-04-24 19:09:42 (UTC)
commit8856190fa34ad67488adc137dc7c8646d0689795 (patch) (unidiff)
treea9f6f610ec63a35dfec922020d3627026dc81884 /noncore
parent71722eacaa44f3b738318d68dc6148c9e2ff643d (diff)
downloadopie-8856190fa34ad67488adc137dc7c8646d0689795.zip
opie-8856190fa34ad67488adc137dc7c8646d0689795.tar.gz
opie-8856190fa34ad67488adc137dc7c8646d0689795.tar.bz2
Improved diagnostic messages.
Added LOG saving functionality.
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/obexdialog.cpp0
-rw-r--r--noncore/net/opietooth/manager/obexftpdialog.cpp47
-rw-r--r--noncore/net/opietooth/manager/obexftpdialog.h2
-rw-r--r--noncore/net/opietooth/manager/obexftpdialogbase.ui225
4 files changed, 130 insertions, 144 deletions
diff --git a/noncore/net/opietooth/manager/obexdialog.cpp b/noncore/net/opietooth/manager/obexdialog.cpp
index d3fdd14..8d7b593 100644
--- a/noncore/net/opietooth/manager/obexdialog.cpp
+++ b/noncore/net/opietooth/manager/obexdialog.cpp
diff --git a/noncore/net/opietooth/manager/obexftpdialog.cpp b/noncore/net/opietooth/manager/obexftpdialog.cpp
index 80a81b4..f479ca2 100644
--- a/noncore/net/opietooth/manager/obexftpdialog.cpp
+++ b/noncore/net/opietooth/manager/obexftpdialog.cpp
@@ -10,39 +10,44 @@
10 ***************************************************************************/ 10 ***************************************************************************/
11/* 11/*
12 * This code uses and is based on ObexFTP project code: http://triq.net/obexftp/ 12 * This code uses and is based on ObexFTP project code: http://triq.net/obexftp/
13 */ 13 */
14#include <sys/stat.h> 14#include <sys/stat.h>
15#include <sys/types.h> 15#include <sys/types.h>
16#include <unistd.h> 16#include <unistd.h>
17#include <string.h> 17#include <string.h>
18#include <errno.h> 18#include <errno.h>
19#include <qpushbutton.h> 19#include <qpushbutton.h>
20#include <qmessagebox.h> 20#include <qmessagebox.h>
21#include <qmultilineedit.h> 21#include <qmultilineedit.h>
22#include <qlineedit.h>
22#include <qspinbox.h> 23#include <qspinbox.h>
23#include <qcombobox.h> 24#include <qcombobox.h>
24#include <qlistview.h> 25#include <qlistview.h>
25#include <qprogressbar.h> 26#include <qprogressbar.h>
26#include <qlabel.h> 27#include <qlabel.h>
27#include <qlayout.h> 28#include <qlayout.h>
28#include <errno.h> 29#include <errno.h>
30#include <qfile.h>
31#include <qtextstream.h>
32#include <qstringlist.h>
29#include "obexftpdialog.h" 33#include "obexftpdialog.h"
30#include "filelistitem.h" 34#include "filelistitem.h"
31 35
32#include <qpe/qpeapplication.h> 36#include <qpe/qpeapplication.h>
33#include <qpe/resource.h> 37#include <qpe/resource.h>
34#include <qpe/config.h> 38#include <qpe/config.h>
35#include <opie2/odebug.h> 39#include <opie2/odebug.h>
36#include <opie2/ofileselector.h> 40#include <opie2/ofileselector.h>
41#include <opie2/ofiledialog.h>
37 42
38using namespace Opie::Core; 43using namespace Opie::Core;
39using namespace Opie::Ui; 44using namespace Opie::Ui;
40 45
41using namespace OpieTooth; 46using namespace OpieTooth;
42 47
43#define MAX_PROGRESS 14 //Maximal progress bar 48#define MAX_PROGRESS 14 //Maximal progress bar
44 49
45static void info_cb(int event, const char *msg, int len, void* data); 50static void info_cb(int event, const char *msg, int len, void* data);
46 51
47/* 52/*
48 * Public constructor 53 * Public constructor
@@ -79,24 +84,30 @@ ObexFtpDialog::ObexFtpDialog(const QString& device, int port,
79 connect(browseOK, SIGNAL(clicked()), SLOT(slotBrowse())); 84 connect(browseOK, SIGNAL(clicked()), SLOT(slotBrowse()));
80 connect(fileList, SIGNAL(clicked(QListViewItem*)), 85 connect(fileList, SIGNAL(clicked(QListViewItem*)),
81 SLOT(slotCd(QListViewItem*))); 86 SLOT(slotCd(QListViewItem*)));
82 connect(getButton, 87 connect(getButton,
83 SIGNAL(clicked()), 88 SIGNAL(clicked()),
84 SLOT(getFile())); 89 SLOT(getFile()));
85 connect(putButton, 90 connect(putButton,
86 SIGNAL(clicked()), 91 SIGNAL(clicked()),
87 SLOT(putFile())); 92 SLOT(putFile()));
88 connect(destFile, 93 connect(destFile,
89 SIGNAL(dirSelected (const QString&)), 94 SIGNAL(dirSelected (const QString&)),
90 SLOT(updateDir(const QString&))); 95 SLOT(updateDir(const QString&)));
96 connect(saveButton,
97 SIGNAL(clicked()),
98 SLOT(slotSaveLog()));
99 connect(browseButton,
100 SIGNAL(clicked()),
101 SLOT(slotBrowseLog()));
91} 102}
92 103
93ObexFtpDialog::~ObexFtpDialog() 104ObexFtpDialog::~ObexFtpDialog()
94{ 105{
95 if (client != NULL) { 106 if (client != NULL) {
96 obexftp_disconnect(client); 107 obexftp_disconnect(client);
97 obexftp_close(client); 108 obexftp_close(client);
98 } 109 }
99} 110}
100 111
101/* 112/*
102 * Do device browsing 113 * Do device browsing
@@ -127,25 +138,25 @@ void ObexFtpDialog::slotBrowse()
127 if (uuidType->currentText() == "FBS") { 138 if (uuidType->currentText() == "FBS") {
128 use_uuid = UUID_FBS; 139 use_uuid = UUID_FBS;
129 len = sizeof(UUID_FBS); 140 len = sizeof(UUID_FBS);
130 } else if (uuidType->currentText() == "S45") { 141 } else if (uuidType->currentText() == "S45") {
131 use_uuid = UUID_S45; 142 use_uuid = UUID_S45;
132 len = sizeof(UUID_S45); 143 len = sizeof(UUID_S45);
133 } else { 144 } else {
134 use_uuid = UUID_FBS; 145 use_uuid = UUID_FBS;
135 len = sizeof(UUID_FBS); 146 len = sizeof(UUID_FBS);
136 } 147 }
137 148
138 if (!cli_connect_uuid(use_uuid, len)) { 149 if (!cli_connect_uuid(use_uuid, len)) {
139 log("Connection failed"); 150 log(tr("Connection failed: ") + tr(strerror(errno)));
140 errBox("Connection failed"); 151 errBox("Connection failed");
141 status("Connection failed"); 152 status("Connection failed");
142 return; 153 return;
143 } 154 }
144 else { 155 else {
145 log(QString("Connected to ") + m_device); 156 log(QString("Connected to ") + m_device);
146 status(QString("Connected to ") + m_device); 157 status(QString("Connected to ") + m_device);
147 } 158 }
148 /* List folder */ 159 /* List folder */
149 root = new FileListItem(fileList, NULL); 160 root = new FileListItem(fileList, NULL);
150 dir = obexftp_opendir(client, curdir); 161 dir = obexftp_opendir(client, curdir);
151 while ((ent = obexftp_readdir(dir)) != NULL) { 162 while ((ent = obexftp_readdir(dir)) != NULL) {
@@ -216,25 +227,25 @@ void ObexFtpDialog::slotCd(QListViewItem* item)
216 if (idx >= 0) 227 if (idx >= 0)
217 curdir.remove(idx, curdir.length() - idx); 228 curdir.remove(idx, curdir.length() - idx);
218 else 229 else
219 curdir = ""; 230 curdir = "";
220 } 231 }
221 else { 232 else {
222 if (curdir != "" && curdir.right(1) != "/") 233 if (curdir != "" && curdir.right(1) != "/")
223 curdir += "/"; 234 curdir += "/";
224 curdir += file->text(0); 235 curdir += file->text(0);
225 } 236 }
226 odebug << "Browse " << curdir << oendl; 237 odebug << "Browse " << curdir << oendl;
227 if (obexftp_setpath(client, curdir, 0) < 0) 238 if (obexftp_setpath(client, curdir, 0) < 0)
228 log("CD failed"); 239 log(tr("CD failed: ") + tr(strerror(errno)));
229 slotBrowse(); 240 slotBrowse();
230 } 241 }
231} 242}
232 243
233/* 244/*
234 * Get the file 245 * Get the file
235 */ 246 */
236void ObexFtpDialog::getFile() 247void ObexFtpDialog::getFile()
237{ 248{
238 FileListItem* file = (FileListItem*)fileList->selectedItem(); 249 FileListItem* file = (FileListItem*)fileList->selectedItem();
239 int result; 250 int result;
240 if (file == NULL) 251 if (file == NULL)
@@ -255,25 +266,25 @@ void ObexFtpDialog::getFile()
255 file2get += curdir; 266 file2get += curdir;
256 if (curdir != "" && curdir.right(1) != "/") 267 if (curdir != "" && curdir.right(1) != "/")
257 file2get += "/"; 268 file2get += "/";
258 file2get += file->text(0); 269 file2get += file->text(0);
259 local += file->text(0); 270 local += file->text(0);
260 odebug << "Copy " << file2get << " to " << local << oendl; 271 odebug << "Copy " << file2get << " to " << local << oendl;
261 progressStatus = 0; 272 progressStatus = 0;
262 fileProgress->setTotalSteps(file->getsize() / 1024); 273 fileProgress->setTotalSteps(file->getsize() / 1024);
263 fileProgress->reset(); 274 fileProgress->reset();
264 status(tr("Receiving file ") + file2get); 275 status(tr("Receiving file ") + file2get);
265 result = obexftp_get(client, local, file2get); 276 result = obexftp_get(client, local, file2get);
266 if (result < 0) { 277 if (result < 0) {
267 log(file2get + QString(" receive ERROR")); 278 log(file2get + QString(" receive ERROR: ") + tr(strerror(errno)));
268 errBox(file2get + QString(" receive ERROR")); 279 errBox(file2get + QString(" receive ERROR"));
269 status(file2get + QString(" receive ERROR")); 280 status(file2get + QString(" receive ERROR"));
270 } 281 }
271 else { 282 else {
272 log(file2get + QString(" received")); 283 log(file2get + QString(" received"));
273 status(file2get + QString(" received")); 284 status(file2get + QString(" received"));
274 destFile->reread(); 285 destFile->reread();
275 } 286 }
276 } 287 }
277} 288}
278 289
279/* 290/*
@@ -305,25 +316,25 @@ void ObexFtpDialog::putFile()
305 file2get = local.right(local.length() - idx - 1); 316 file2get = local.right(local.length() - idx - 1);
306 } 317 }
307 else 318 else
308 file2get = local; 319 file2get = local;
309 320
310 odebug << "Copy " << local << " to " << file2get << oendl; 321 odebug << "Copy " << local << " to " << file2get << oendl;
311 progressStatus = 0; 322 progressStatus = 0;
312 fileProgress->setTotalSteps(localFStat.st_size / 1024); 323 fileProgress->setTotalSteps(localFStat.st_size / 1024);
313 fileProgress->reset(); 324 fileProgress->reset();
314 status(tr("Sending file ") + local); 325 status(tr("Sending file ") + local);
315 result = obexftp_put_file(client, local, file2get); 326 result = obexftp_put_file(client, local, file2get);
316 if (result < 0) { 327 if (result < 0) {
317 log(local + QString(" send ERROR")); 328 log(local + QString(" send ERROR: ") + tr(strerror(errno)));
318 errBox(local + QString(" send ERROR")); 329 errBox(local + QString(" send ERROR"));
319 status(local + QString(" send ERROR")); 330 status(local + QString(" send ERROR"));
320 } 331 }
321 else { 332 else {
322 log(local + QString(" sent")); 333 log(local + QString(" sent"));
323 status(local + QString(" sent")); 334 status(local + QString(" sent"));
324 } 335 }
325} 336}
326 337
327/* connect with given uuid. re-connect every time */ 338/* connect with given uuid. re-connect every time */
328int ObexFtpDialog::cli_connect_uuid(const uint8_t *uuid, int uuid_len) 339int ObexFtpDialog::cli_connect_uuid(const uint8_t *uuid, int uuid_len)
329{ 340{
@@ -394,24 +405,52 @@ void ObexFtpDialog::incProgress()
394 405
395void ObexFtpDialog::doneProgress() 406void ObexFtpDialog::doneProgress()
396{ 407{
397 progressStatus = 0; 408 progressStatus = 0;
398 fileProgress->reset(); 409 fileProgress->reset();
399} 410}
400 411
401void ObexFtpDialog::updateDir(const QString& newdir) 412void ObexFtpDialog::updateDir(const QString& newdir)
402{ 413{
403 localCurdir = newdir; 414 localCurdir = newdir;
404} 415}
405 416
417/**
418 * Save Log to the specified file
419 */
420void ObexFtpDialog::slotSaveLog()
421{
422 QFile logFile(saveLogEdit->text());
423 if (!logFile.open(IO_WriteOnly)) {
424 errBox(tr("Unable to open file ") + saveLogEdit->text() + tr(" ") +
425 tr(strerror(errno)));
426 return;
427 }
428 QTextStream stream(&logFile);
429 stream << browseLog->text() << endl;
430 QMessageBox::information(this, tr("Saving"),
431 tr("Log file saved to ") + saveLogEdit->text());
432}
433
434void ObexFtpDialog::slotBrowseLog()
435{
436 MimeTypes types;
437 QStringList all;
438 all << "*/*";
439 types.insert("All Files", all );
440
441 QString str = OFileDialog::getOpenFileName( 1,"/","", types, 0 );
442 saveLogEdit->setText(str);
443}
444
406/* 445/*
407 * Event callback function 446 * Event callback function
408 */ 447 */
409static void info_cb(int event, const char *msg, int len, void* data) 448static void info_cb(int event, const char *msg, int len, void* data)
410{ 449{
411 ObexFtpDialog* dlg = (ObexFtpDialog*)data; 450 ObexFtpDialog* dlg = (ObexFtpDialog*)data;
412 QCString cmsg(msg, len); //Message to display 451 QCString cmsg(msg, len); //Message to display
413 452
414 switch (event) { 453 switch (event) {
415 454
416 case OBEXFTP_EV_ERRMSG: 455 case OBEXFTP_EV_ERRMSG:
417 dlg->log(QCString("Error: ") + cmsg); 456 dlg->log(QCString("Error: ") + cmsg);
diff --git a/noncore/net/opietooth/manager/obexftpdialog.h b/noncore/net/opietooth/manager/obexftpdialog.h
index 7000f61..81c8921 100644
--- a/noncore/net/opietooth/manager/obexftpdialog.h
+++ b/noncore/net/opietooth/manager/obexftpdialog.h
@@ -54,15 +54,17 @@ namespace OpieTooth {
54 QString file2get; //Remote file name 54 QString file2get; //Remote file name
55 QString local; //Local file name 55 QString local; //Local file name
56 int progressStatus; //Progress status 56 int progressStatus; //Progress status
57 Opie::Ui::OFileSelector* destFile; //Destination file or directory 57 Opie::Ui::OFileSelector* destFile; //Destination file or directory
58 QVBoxLayout* localLayout; //Window layout 58 QVBoxLayout* localLayout; //Window layout
59 int nRetries; //Number of retries (on connection) 59 int nRetries; //Number of retries (on connection)
60 private slots: 60 private slots:
61 void slotBrowse(); 61 void slotBrowse();
62 void slotCd(QListViewItem* item); 62 void slotCd(QListViewItem* item);
63 void getFile(); 63 void getFile();
64 void putFile(); 64 void putFile();
65 void updateDir(const QString& newdir); 65 void updateDir(const QString& newdir);
66 void slotSaveLog();
67 void slotBrowseLog();
66 }; 68 };
67}; 69};
68#endif 70#endif
diff --git a/noncore/net/opietooth/manager/obexftpdialogbase.ui b/noncore/net/opietooth/manager/obexftpdialogbase.ui
index b372b9d..2447007 100644
--- a/noncore/net/opietooth/manager/obexftpdialogbase.ui
+++ b/noncore/net/opietooth/manager/obexftpdialogbase.ui
@@ -2,370 +2,315 @@
2<class>ObexFtpDialogBase</class> 2<class>ObexFtpDialogBase</class>
3<widget> 3<widget>
4 <class>QDialog</class> 4 <class>QDialog</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>ObexFtpDialogBase</cstring> 7 <cstring>ObexFtpDialogBase</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>267</width> 14 <width>283</width>
15 <height>312</height> 15 <height>312</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>sizePolicy</name> 19 <name>sizePolicy</name>
20 <sizepolicy> 20 <sizepolicy>
21 <hsizetype>7</hsizetype> 21 <hsizetype>7</hsizetype>
22 <vsizetype>7</vsizetype> 22 <vsizetype>7</vsizetype>
23 </sizepolicy> 23 </sizepolicy>
24 </property> 24 </property>
25 <property stdset="1"> 25 <property stdset="1">
26 <name>caption</name> 26 <name>caption</name>
27 <string>Browse device</string> 27 <string>Browse device</string>
28 </property> 28 </property>
29 <property> 29 <property>
30 <name>layoutMargin</name> 30 <name>layoutMargin</name>
31 </property> 31 </property>
32 <property> 32 <property>
33 <name>layoutSpacing</name> 33 <name>layoutSpacing</name>
34 </property> 34 </property>
35 <vbox> 35 <grid>
36 <property stdset="1"> 36 <property stdset="1">
37 <name>margin</name> 37 <name>margin</name>
38 <number>0</number> 38 <number>0</number>
39 </property> 39 </property>
40 <property stdset="1"> 40 <property stdset="1">
41 <name>spacing</name> 41 <name>spacing</name>
42 <number>0</number> 42 <number>0</number>
43 </property> 43 </property>
44 <widget> 44 <widget row="0" column="0" >
45 <class>QTabWidget</class> 45 <class>QTabWidget</class>
46 <property stdset="1"> 46 <property stdset="1">
47 <name>name</name> 47 <name>name</name>
48 <cstring>obexFtpTab</cstring> 48 <cstring>obexFtpTab</cstring>
49 </property> 49 </property>
50 <property> 50 <property>
51 <name>layoutMargin</name> 51 <name>layoutMargin</name>
52 </property> 52 </property>
53 <property> 53 <property>
54 <name>layoutSpacing</name> 54 <name>layoutSpacing</name>
55 </property> 55 </property>
56 <widget> 56 <widget>
57 <class>QWidget</class> 57 <class>QWidget</class>
58 <property stdset="1"> 58 <property stdset="1">
59 <name>name</name> 59 <name>name</name>
60 <cstring>files</cstring> 60 <cstring>files</cstring>
61 </property> 61 </property>
62 <attribute> 62 <attribute>
63 <name>title</name> 63 <name>title</name>
64 <string>Device</string> 64 <string>Device</string>
65 </attribute> 65 </attribute>
66 <vbox>
67 <property stdset="1">
68 <name>margin</name>
69 <number>0</number>
70 </property>
71 <property stdset="1">
72 <name>spacing</name>
73 <number>0</number>
74 </property>
75 <widget>
76 <class>QLayoutWidget</class>
77 <property stdset="1">
78 <name>name</name>
79 <cstring>Layout13</cstring>
80 </property>
81 <grid> 66 <grid>
82 <property stdset="1"> 67 <property stdset="1">
83 <name>margin</name> 68 <name>margin</name>
84 <number>0</number> 69 <number>0</number>
85 </property> 70 </property>
86 <property stdset="1"> 71 <property stdset="1">
87 <name>spacing</name> 72 <name>spacing</name>
88 <number>6</number> 73 <number>0</number>
89 </property>
90 <widget row="0" column="0" >
91 <class>QListView</class>
92 <column>
93 <property>
94 <name>text</name>
95 <string>Name</string>
96 </property>
97 <property>
98 <name>clickable</name>
99 <bool>true</bool>
100 </property>
101 <property>
102 <name>resizeable</name>
103 <bool>true</bool>
104 </property>
105 </column>
106 <column>
107 <property>
108 <name>text</name>
109 <string>Size</string>
110 </property>
111 <property>
112 <name>clickable</name>
113 <bool>true</bool>
114 </property>
115 <property>
116 <name>resizeable</name>
117 <bool>true</bool>
118 </property>
119 </column>
120 <property stdset="1">
121 <name>name</name>
122 <cstring>fileList</cstring>
123 </property> 74 </property>
124 </widget> 75 <widget row="1" column="0" rowspan="1" colspan="3" >
125 <widget row="1" column="0" >
126 <class>QProgressBar</class> 76 <class>QProgressBar</class>
127 <property stdset="1"> 77 <property stdset="1">
128 <name>name</name> 78 <name>name</name>
129 <cstring>fileProgress</cstring> 79 <cstring>fileProgress</cstring>
130 </property> 80 </property>
131 </widget> 81 </widget>
132 <widget row="2" column="0" > 82 <widget row="3" column="0" rowspan="1" colspan="3" >
133 <class>QLayoutWidget</class> 83 <class>QLabel</class>
134 <property stdset="1"> 84 <property stdset="1">
135 <name>name</name> 85 <name>name</name>
136 <cstring>Layout11</cstring> 86 <cstring>statusBar</cstring>
137 </property>
138 <hbox>
139 <property stdset="1">
140 <name>margin</name>
141 <number>0</number>
142 </property> 87 </property>
143 <property stdset="1"> 88 <property stdset="1">
144 <name>spacing</name> 89 <name>text</name>
145 <number>6</number> 90 <string></string>
146 </property> 91 </property>
147 <widget> 92 </widget>
93 <widget row="2" column="0" >
148 <class>QPushButton</class> 94 <class>QPushButton</class>
149 <property stdset="1"> 95 <property stdset="1">
150 <name>name</name> 96 <name>name</name>
151 <cstring>browseOK</cstring> 97 <cstring>browseOK</cstring>
152 </property> 98 </property>
153 <property stdset="1"> 99 <property stdset="1">
154 <name>text</name> 100 <name>text</name>
155 <string>Browse</string> 101 <string>Browse</string>
156 </property> 102 </property>
157 </widget> 103 </widget>
158 <widget> 104 <widget row="2" column="1" >
159 <class>QPushButton</class> 105 <class>QPushButton</class>
160 <property stdset="1"> 106 <property stdset="1">
161 <name>name</name> 107 <name>name</name>
162 <cstring>getButton</cstring> 108 <cstring>getButton</cstring>
163 </property> 109 </property>
164 <property stdset="1"> 110 <property stdset="1">
165 <name>text</name> 111 <name>text</name>
166 <string>Get file</string> 112 <string>Get file</string>
167 </property> 113 </property>
168 </widget> 114 </widget>
169 <widget> 115 <widget row="2" column="2" >
170 <class>QPushButton</class> 116 <class>QPushButton</class>
171 <property stdset="1"> 117 <property stdset="1">
172 <name>name</name> 118 <name>name</name>
173 <cstring>putButton</cstring> 119 <cstring>putButton</cstring>
174 </property> 120 </property>
175 <property stdset="1"> 121 <property stdset="1">
176 <name>text</name> 122 <name>text</name>
177 <string>Put file</string> 123 <string>Put file</string>
178 </property> 124 </property>
179 </widget> 125 </widget>
180 </hbox> 126 <widget row="0" column="0" rowspan="1" colspan="3" >
181 </widget> 127 <class>QListView</class>
182 <widget row="3" column="0" > 128 <column>
183 <class>QLabel</class> 129 <property>
184 <property stdset="1"> 130 <name>text</name>
185 <name>name</name> 131 <string>Name</string>
186 <cstring>statusBar</cstring>
187 </property> 132 </property>
188 <property stdset="1"> 133 <property>
134 <name>clickable</name>
135 <bool>true</bool>
136 </property>
137 <property>
138 <name>resizeable</name>
139 <bool>true</bool>
140 </property>
141 </column>
142 <column>
143 <property>
189 <name>text</name> 144 <name>text</name>
190 <string></string> 145 <string>Size</string>
146 </property>
147 <property>
148 <name>clickable</name>
149 <bool>true</bool>
150 </property>
151 <property>
152 <name>resizeable</name>
153 <bool>true</bool>
154 </property>
155 </column>
156 <property stdset="1">
157 <name>name</name>
158 <cstring>fileList</cstring>
191 </property> 159 </property>
192 </widget> 160 </widget>
193 </grid> 161 </grid>
194 </widget> 162 </widget>
195 </vbox>
196 </widget>
197 <widget> 163 <widget>
198 <class>QWidget</class> 164 <class>QWidget</class>
199 <property stdset="1"> 165 <property stdset="1">
200 <name>name</name> 166 <name>name</name>
201 <cstring>localFs</cstring> 167 <cstring>localFs</cstring>
202 </property> 168 </property>
203 <attribute> 169 <attribute>
204 <name>title</name> 170 <name>title</name>
205 <string>Local</string> 171 <string>Local</string>
206 </attribute> 172 </attribute>
207 </widget> 173 </widget>
208 <widget> 174 <widget>
209 <class>QWidget</class> 175 <class>QWidget</class>
210 <property stdset="1"> 176 <property stdset="1">
211 <name>name</name> 177 <name>name</name>
212 <cstring>options</cstring> 178 <cstring>options</cstring>
213 </property> 179 </property>
214 <attribute> 180 <attribute>
215 <name>title</name> 181 <name>title</name>
216 <string>Options</string> 182 <string>Options</string>
217 </attribute> 183 </attribute>
218 <widget> 184 <grid>
219 <class>QLayoutWidget</class>
220 <property stdset="1">
221 <name>name</name>
222 <cstring>Layout5</cstring>
223 </property>
224 <property stdset="1">
225 <name>geometry</name>
226 <rect>
227 <x>45</x>
228 <y>5</y>
229 <width>162</width>
230 <height>63</height>
231 </rect>
232 </property>
233 <vbox>
234 <property stdset="1">
235 <name>margin</name>
236 <number>0</number>
237 </property>
238 <property stdset="1">
239 <name>spacing</name>
240 <number>6</number>
241 </property>
242 <widget>
243 <class>QLayoutWidget</class>
244 <property stdset="1">
245 <name>name</name>
246 <cstring>Layout3</cstring>
247 </property>
248 <hbox>
249 <property stdset="1"> 185 <property stdset="1">
250 <name>margin</name> 186 <name>margin</name>
251 <number>0</number> 187 <number>11</number>
252 </property> 188 </property>
253 <property stdset="1"> 189 <property stdset="1">
254 <name>spacing</name> 190 <name>spacing</name>
255 <number>6</number> 191 <number>6</number>
256 </property> 192 </property>
257 <widget> 193 <widget row="0" column="0" >
258 <class>QLabel</class> 194 <class>QLabel</class>
259 <property stdset="1"> 195 <property stdset="1">
260 <name>name</name> 196 <name>name</name>
261 <cstring>uuidLabel</cstring> 197 <cstring>uuidLabel</cstring>
262 </property> 198 </property>
263 <property stdset="1"> 199 <property stdset="1">
264 <name>text</name> 200 <name>text</name>
265 <string>uuid type</string> 201 <string>uuid type</string>
266 </property> 202 </property>
267 </widget> 203 </widget>
268 <widget> 204 <widget row="0" column="1" rowspan="1" colspan="2" >
269 <class>QComboBox</class> 205 <class>QComboBox</class>
270 <item> 206 <item>
271 <property> 207 <property>
272 <name>text</name> 208 <name>text</name>
273 <string>FBS</string> 209 <string>FBS</string>
274 </property> 210 </property>
275 </item> 211 </item>
276 <item> 212 <item>
277 <property> 213 <property>
278 <name>text</name> 214 <name>text</name>
279 <string>S45</string> 215 <string>S45</string>
280 </property> 216 </property>
281 </item> 217 </item>
282 <property stdset="1"> 218 <property stdset="1">
283 <name>name</name> 219 <name>name</name>
284 <cstring>uuidType</cstring> 220 <cstring>uuidType</cstring>
285 </property> 221 </property>
286 </widget> 222 </widget>
287 </hbox> 223 <widget row="1" column="0" rowspan="1" colspan="2" >
288 </widget>
289 <widget>
290 <class>QLayoutWidget</class>
291 <property stdset="1">
292 <name>name</name>
293 <cstring>Layout4</cstring>
294 </property>
295 <hbox>
296 <property stdset="1">
297 <name>margin</name>
298 <number>0</number>
299 </property>
300 <property stdset="1">
301 <name>spacing</name>
302 <number>6</number>
303 </property>
304 <widget>
305 <class>QLabel</class> 224 <class>QLabel</class>
306 <property stdset="1"> 225 <property stdset="1">
307 <name>name</name> 226 <name>name</name>
308 <cstring>connRetries</cstring> 227 <cstring>connRetries</cstring>
309 </property> 228 </property>
310 <property stdset="1"> 229 <property stdset="1">
311 <name>text</name> 230 <name>text</name>
312 <string>Retry to connect</string> 231 <string>Retry to connect</string>
313 </property> 232 </property>
314 </widget> 233 </widget>
315 <widget> 234 <widget row="1" column="2" >
316 <class>QSpinBox</class> 235 <class>QSpinBox</class>
317 <property stdset="1"> 236 <property stdset="1">
318 <name>name</name> 237 <name>name</name>
319 <cstring>nReries</cstring> 238 <cstring>nReries</cstring>
320 </property> 239 </property>
321 <property stdset="1"> 240 <property stdset="1">
322 <name>buttonSymbols</name> 241 <name>buttonSymbols</name>
323 <enum>PlusMinus</enum> 242 <enum>PlusMinus</enum>
324 </property> 243 </property>
325 </widget> 244 </widget>
326 </hbox> 245 </grid>
327 </widget>
328 </vbox>
329 </widget>
330 </widget> 246 </widget>
331 <widget> 247 <widget>
332 <class>QWidget</class> 248 <class>QWidget</class>
333 <property stdset="1"> 249 <property stdset="1">
334 <name>name</name> 250 <name>name</name>
335 <cstring>browse</cstring> 251 <cstring>browse</cstring>
336 </property> 252 </property>
337 <attribute> 253 <attribute>
338 <name>title</name> 254 <name>title</name>
339 <string>Log</string> 255 <string>Log</string>
340 </attribute> 256 </attribute>
341 <hbox> 257 <grid>
342 <property stdset="1"> 258 <property stdset="1">
343 <name>margin</name> 259 <name>margin</name>
344 <number>0</number> 260 <number>0</number>
345 </property> 261 </property>
346 <property stdset="1"> 262 <property stdset="1">
347 <name>spacing</name> 263 <name>spacing</name>
348 <number>0</number> 264 <number>0</number>
349 </property> 265 </property>
350 <widget> 266 <widget row="1" column="1" >
267 <class>QLineEdit</class>
268 <property stdset="1">
269 <name>name</name>
270 <cstring>saveLogEdit</cstring>
271 </property>
272 </widget>
273 <widget row="1" column="2" >
274 <class>QPushButton</class>
275 <property stdset="1">
276 <name>name</name>
277 <cstring>saveButton</cstring>
278 </property>
279 <property stdset="1">
280 <name>text</name>
281 <string>save</string>
282 </property>
283 </widget>
284 <widget row="1" column="0" >
285 <class>QPushButton</class>
286 <property stdset="1">
287 <name>name</name>
288 <cstring>browseButton</cstring>
289 </property>
290 <property stdset="1">
291 <name>text</name>
292 <string>Save as:</string>
293 </property>
294 </widget>
295 <widget row="0" column="0" rowspan="1" colspan="3" >
351 <class>QMultiLineEdit</class> 296 <class>QMultiLineEdit</class>
352 <property stdset="1"> 297 <property stdset="1">
353 <name>name</name> 298 <name>name</name>
354 <cstring>browseLog</cstring> 299 <cstring>browseLog</cstring>
355 </property> 300 </property>
356 </widget> 301 </widget>
357 </hbox> 302 </grid>
358 </widget> 303 </widget>
359 </widget> 304 </widget>
360 </vbox> 305 </grid>
361</widget> 306</widget>
362<tabstops> 307<tabstops>
363 <tabstop>obexFtpTab</tabstop> 308 <tabstop>obexFtpTab</tabstop>
364 <tabstop>fileList</tabstop> 309 <tabstop>fileList</tabstop>
365 <tabstop>browseOK</tabstop> 310 <tabstop>browseOK</tabstop>
366 <tabstop>getButton</tabstop> 311 <tabstop>getButton</tabstop>
367 <tabstop>putButton</tabstop> 312 <tabstop>putButton</tabstop>
368 <tabstop>uuidType</tabstop> 313 <tabstop>uuidType</tabstop>
369 <tabstop>browseLog</tabstop> 314 <tabstop>browseLog</tabstop>
370</tabstops> 315</tabstops>
371</UI> 316</UI>