summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-03-20 23:58:17 (UTC)
committer llornkcor <llornkcor>2002-03-20 23:58:17 (UTC)
commite8f15a98c611b0c6030e8210672b249b42107526 (patch) (unidiff)
treeb36e786dedd13a959cbae0cf6ee934a7fd373047
parenta766295804d76f06a7e47b1d5e02dd5a59676c7d (diff)
downloadopie-e8f15a98c611b0c6030e8210672b249b42107526.zip
opie-e8f15a98c611b0c6030e8210672b249b42107526.tar.gz
opie-e8f15a98c611b0c6030e8210672b249b42107526.tar.bz2
fixed problem with remote download
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieftp/opieftp.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index f1b159c..6e9dc67 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -145,385 +145,388 @@ OpieFtp::OpieFtp( )
145 Remote_View = new QListView( tab_2, "Remote_View" ); 145 Remote_View = new QListView( tab_2, "Remote_View" );
146 Remote_View->addColumn( tr("File"),120); 146 Remote_View->addColumn( tr("File"),120);
147 Remote_View->addColumn( tr("Size"),-1); 147 Remote_View->addColumn( tr("Size"),-1);
148 Remote_View->setColumnAlignment(1,QListView::AlignRight); 148 Remote_View->setColumnAlignment(1,QListView::AlignRight);
149 Remote_View->addColumn( tr("Date"),-1); 149 Remote_View->addColumn( tr("Date"),-1);
150 Remote_View->setColumnAlignment(2,QListView::AlignRight); 150 Remote_View->setColumnAlignment(2,QListView::AlignRight);
151 Remote_View->setAllColumnsShowFocus(TRUE); 151 Remote_View->setAllColumnsShowFocus(TRUE);
152 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); 152 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
153 153
154 connect( Remote_View, SIGNAL( doubleClicked( QListViewItem*)), 154 connect( Remote_View, SIGNAL( doubleClicked( QListViewItem*)),
155 this,SLOT( remoteListClicked(QListViewItem *)) ); 155 this,SLOT( remoteListClicked(QListViewItem *)) );
156 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 156 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
157 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) ); 157 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) );
158 158
159 tabLayout_2->addWidget( Remote_View, 0, 0 ); 159 tabLayout_2->addWidget( Remote_View, 0, 0 );
160 160
161 TabWidget->insertTab( tab_2, tr( "Remote" ) ); 161 TabWidget->insertTab( tab_2, tr( "Remote" ) );
162 162
163 tab_3 = new QWidget( TabWidget, "tab_3" ); 163 tab_3 = new QWidget( TabWidget, "tab_3" );
164 tabLayout_3 = new QGridLayout( tab_3 ); 164 tabLayout_3 = new QGridLayout( tab_3 );
165 tabLayout_3->setSpacing( 2); 165 tabLayout_3->setSpacing( 2);
166 tabLayout_3->setMargin( 2); 166 tabLayout_3->setMargin( 2);
167 167
168 TextLabel1 = new QLabel( tab_3, "TextLabel1" ); 168 TextLabel1 = new QLabel( tab_3, "TextLabel1" );
169 TextLabel1->setText( tr( "Username" ) ); 169 TextLabel1->setText( tr( "Username" ) );
170 tabLayout_3->addMultiCellWidget( TextLabel1, 0, 0, 0, 1 ); 170 tabLayout_3->addMultiCellWidget( TextLabel1, 0, 0, 0, 1 );
171 171
172 UsernameComboBox = new QComboBox( FALSE, tab_3, "UsernameComboBox" ); 172 UsernameComboBox = new QComboBox( FALSE, tab_3, "UsernameComboBox" );
173 UsernameComboBox->setEditable(TRUE); 173 UsernameComboBox->setEditable(TRUE);
174// UsernameComboBox->lineEdit()->setText("anonymous"); 174// UsernameComboBox->lineEdit()->setText("anonymous");
175 UsernameComboBox->lineEdit()->setText("root"); 175 UsernameComboBox->lineEdit()->setText("root");
176// UsernameComboBox->lineEdit()->setText("llornkcor"); 176// UsernameComboBox->lineEdit()->setText("llornkcor");
177 tabLayout_3->addMultiCellWidget( UsernameComboBox, 1, 1, 0, 1 ); 177 tabLayout_3->addMultiCellWidget( UsernameComboBox, 1, 1, 0, 1 );
178 178
179 TextLabel2 = new QLabel( tab_3, "TextLabel2" ); 179 TextLabel2 = new QLabel( tab_3, "TextLabel2" );
180 TextLabel2->setText( tr( "Password" ) ); 180 TextLabel2->setText( tr( "Password" ) );
181 tabLayout_3->addMultiCellWidget( TextLabel2, 0, 0, 2, 3 ); 181 tabLayout_3->addMultiCellWidget( TextLabel2, 0, 0, 2, 3 );
182 182
183 PasswordEdit = new QLineEdit( "", tab_3, "PasswordComboBox" ); 183 PasswordEdit = new QLineEdit( "", tab_3, "PasswordComboBox" );
184 PasswordEdit->setEchoMode(QLineEdit::Password); 184 PasswordEdit->setEchoMode(QLineEdit::Password);
185// PasswordEdit->setText( tr( "me@opieftp.org" ) ); 185// PasswordEdit->setText( tr( "me@opieftp.org" ) );
186// PasswordEdit->setText( tr( "" ) ); 186// PasswordEdit->setText( tr( "" ) );
187 tabLayout_3->addMultiCellWidget( PasswordEdit, 1, 1, 2, 3 ); 187 tabLayout_3->addMultiCellWidget( PasswordEdit, 1, 1, 2, 3 );
188 188
189 TextLabel3 = new QLabel( tab_3, "TextLabel3" ); 189 TextLabel3 = new QLabel( tab_3, "TextLabel3" );
190 TextLabel3->setText( tr( "Remote server" ) ); 190 TextLabel3->setText( tr( "Remote server" ) );
191 tabLayout_3->addMultiCellWidget( TextLabel3, 2, 2, 0, 1 ); 191 tabLayout_3->addMultiCellWidget( TextLabel3, 2, 2, 0, 1 );
192 192
193 ServerComboBox = new QComboBox( FALSE, tab_3, "ServerComboBox" ); 193 ServerComboBox = new QComboBox( FALSE, tab_3, "ServerComboBox" );
194 ServerComboBox->setEditable(TRUE); 194 ServerComboBox->setEditable(TRUE);
195 ServerComboBox->lineEdit()->setText( tr( "" ) ); 195 ServerComboBox->lineEdit()->setText( tr( "" ) );
196 tabLayout_3->addMultiCellWidget( ServerComboBox, 3, 3, 0, 1 ); 196 tabLayout_3->addMultiCellWidget( ServerComboBox, 3, 3, 0, 1 );
197// ServerComboBox->lineEdit()->setText( tr( "llornkcor.com" ) ); 197// ServerComboBox->lineEdit()->setText( tr( "llornkcor.com" ) );
198 ServerComboBox->lineEdit()->setText( tr( "192.168.129.201" ) ); 198 ServerComboBox->lineEdit()->setText( tr( "192.168.129.201" ) );
199 199
200 QLabel *TextLabel5 = new QLabel( tab_3, "TextLabel5" ); 200 QLabel *TextLabel5 = new QLabel( tab_3, "TextLabel5" );
201 TextLabel5->setText( tr( "Remote path" ) ); 201 TextLabel5->setText( tr( "Remote path" ) );
202 tabLayout_3->addMultiCellWidget( TextLabel5, 2, 2, 2, 3 ); 202 tabLayout_3->addMultiCellWidget( TextLabel5, 2, 2, 2, 3 );
203 203
204 remotePath = new QLineEdit( "/", tab_3, "remotePath" ); 204 remotePath = new QLineEdit( "/", tab_3, "remotePath" );
205 remotePath->setText( currentRemoteDir = "/"); 205 remotePath->setText( currentRemoteDir = "/");
206// remotePath->setText( currentRemoteDir = "/home/llornkcor/"); 206// remotePath->setText( currentRemoteDir = "/home/llornkcor/");
207 tabLayout_3->addMultiCellWidget( remotePath, 3, 3, 2, 3 ); 207 tabLayout_3->addMultiCellWidget( remotePath, 3, 3, 2, 3 );
208 208
209 TextLabel4 = new QLabel( tab_3, "TextLabel4" ); 209 TextLabel4 = new QLabel( tab_3, "TextLabel4" );
210 TextLabel4->setText( tr( "Port" ) ); 210 TextLabel4->setText( tr( "Port" ) );
211 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 ); 211 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 );
212 212
213 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" ); 213 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" );
214 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows ); 214 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows );
215 PortSpinBox->setMaxValue(32786); 215 PortSpinBox->setMaxValue(32786);
216 PortSpinBox->setValue( 4242); 216 PortSpinBox->setValue( 4242);
217// PortSpinBox->setValue( 21); 217// PortSpinBox->setValue( 21);
218 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1); 218 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1);
219 219
220 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 220 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
221 tabLayout_3->addItem( spacer, 5, 0 ); 221 tabLayout_3->addItem( spacer, 5, 0 );
222 222
223 TabWidget->insertTab( tab_3, tr( "Config" ) ); 223 TabWidget->insertTab( tab_3, tr( "Config" ) );
224 224
225 connect(TabWidget,SIGNAL(currentChanged(QWidget *)), 225 connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
226 this,SLOT(tabChanged(QWidget*))); 226 this,SLOT(tabChanged(QWidget*)));
227 227
228 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 228 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
229 currentDir.setPath( QDir::currentDirPath()); 229 currentDir.setPath( QDir::currentDirPath());
230// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 230// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
231 currentPathEdit = new QLineEdit( "/", this, "currentPathEdit" ); 231 currentPathEdit = new QLineEdit( "/", this, "currentPathEdit" );
232 layout->addMultiCellWidget( currentPathEdit, 3, 3, 0, 3 ); 232 layout->addMultiCellWidget( currentPathEdit, 3, 3, 0, 3 );
233 233
234 currentPathEdit->setText( currentDir.canonicalPath()); 234 currentPathEdit->setText( currentDir.canonicalPath());
235 connect( currentPathEdit,SIGNAL(returnPressed()),this,SLOT(currentPathEditChanged())); 235 connect( currentPathEdit,SIGNAL(returnPressed()),this,SLOT(currentPathEditChanged()));
236 236
237 ProgressBar = new QProgressBar( this, "ProgressBar" ); 237 ProgressBar = new QProgressBar( this, "ProgressBar" );
238 layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 3 ); 238 layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 3 );
239 239
240 filterStr="*"; 240 filterStr="*";
241 b=FALSE; 241 b=FALSE;
242 populateLocalView(); 242 populateLocalView();
243} 243}
244 244
245OpieFtp::~OpieFtp() 245OpieFtp::~OpieFtp()
246{ 246{
247} 247}
248 248
249void OpieFtp::cleanUp() 249void OpieFtp::cleanUp()
250{ 250{
251 if(conn) 251 if(conn)
252 FtpQuit(conn); 252 FtpQuit(conn);
253 QString sfile=QDir::homeDirPath(); 253 QString sfile=QDir::homeDirPath();
254 if(sfile.right(1) != "/") 254 if(sfile.right(1) != "/")
255 sfile+="/._temp"; 255 sfile+="/._temp";
256 else 256 else
257 sfile+="._temp"; 257 sfile+="._temp";
258 QFile file( sfile); 258 QFile file( sfile);
259 if(file.exists()) 259 if(file.exists())
260 file.remove(); 260 file.remove();
261} 261}
262 262
263void OpieFtp::tabChanged(QWidget *w) 263void OpieFtp::tabChanged(QWidget *w)
264{ 264{
265 if (TabWidget->currentPageIndex() == 0) { 265 if (TabWidget->currentPageIndex() == 0) {
266 currentPathEdit->setText( currentDir.canonicalPath()); 266 currentPathEdit->setText( currentDir.canonicalPath());
267 tabMenu->setItemChecked(tabMenu->idAt(0),TRUE); 267 tabMenu->setItemChecked(tabMenu->idAt(0),TRUE);
268 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE); 268 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
269 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE); 269 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
270 } 270 }
271 if (TabWidget->currentPageIndex() == 1) { 271 if (TabWidget->currentPageIndex() == 1) {
272 currentPathEdit->setText( currentRemoteDir ); 272 currentPathEdit->setText( currentRemoteDir );
273 tabMenu->setItemChecked(tabMenu->idAt(1),TRUE); 273 tabMenu->setItemChecked(tabMenu->idAt(1),TRUE);
274 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE); 274 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
275 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE); 275 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
276 } 276 }
277 if (TabWidget->currentPageIndex() == 2) { 277 if (TabWidget->currentPageIndex() == 2) {
278 tabMenu->setItemChecked(tabMenu->idAt(2),TRUE); 278 tabMenu->setItemChecked(tabMenu->idAt(2),TRUE);
279 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE); 279 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
280 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE); 280 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
281 } 281 }
282} 282}
283 283
284void OpieFtp::localUpload() 284void OpieFtp::localUpload()
285{ 285{
286 int fsz; 286 int fsz;
287 QCopEnvelope ( "QPE/System", "busy()" ); 287 QCopEnvelope ( "QPE/System", "busy()" );
288 qApp->processEvents(); 288 qApp->processEvents();
289 QString strItem = Local_View->currentItem()->text(0); 289 QString strItem = Local_View->currentItem()->text(0);
290 QString localFile = currentDir.canonicalPath()+"/"+strItem; 290 QString localFile = currentDir.canonicalPath()+"/"+strItem;
291 QString remoteFile= currentRemoteDir+strItem; 291 QString remoteFile= currentRemoteDir+strItem;
292 QFileInfo fi(localFile); 292 QFileInfo fi(localFile);
293 if( !fi.isDir()) { 293 if( !fi.isDir()) {
294 fsz=fi.size(); 294 fsz=fi.size();
295 ProgressBar->setTotalSteps(fsz); 295 ProgressBar->setTotalSteps(fsz);
296 296
297 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); 297 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn);
298 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); 298 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn);
299 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); 299 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn);
300 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); 300 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn);
301 qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1()); 301 qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1());
302 302
303 if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { 303 if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) {
304 QString msg; 304 QString msg;
305 msg.sprintf(tr("Unable to upload\n")+"%s",FtpLastResponse(conn)); 305 msg.sprintf(tr("Unable to upload\n")+"%s",FtpLastResponse(conn));
306 msg.replace(QRegExp(":"),"\n"); 306 msg.replace(QRegExp(":"),"\n");
307 QMessageBox::message(tr("Note"),msg); 307 QMessageBox::message(tr("Note"),msg);
308// FtpQuit(conn); 308// FtpQuit(conn);
309 } 309 }
310 ProgressBar->reset(); 310 ProgressBar->reset();
311 nullifyCallBack(); 311 nullifyCallBack();
312 } else { 312 } else {
313 QMessageBox::message(tr("Note"),tr("Cannot upload directories")); 313 QMessageBox::message(tr("Note"),tr("Cannot upload directories"));
314 } 314 }
315 TabWidget->setCurrentPage(1); 315 TabWidget->setCurrentPage(1);
316 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate 316 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
317 QCopEnvelope ( "QPE/System", "notBusy()" ); 317 QCopEnvelope ( "QPE/System", "notBusy()" );
318} 318}
319 319
320void OpieFtp::nullifyCallBack() 320void OpieFtp::nullifyCallBack()
321{ 321{
322 FtpOptions(FTPLIB_CALLBACK, NULL, conn); 322 FtpOptions(FTPLIB_CALLBACK, NULL, conn);
323 FtpOptions(FTPLIB_IDLETIME, NULL, conn); 323 FtpOptions(FTPLIB_IDLETIME, NULL, conn);
324 FtpOptions(FTPLIB_CALLBACKARG, NULL, conn); 324 FtpOptions(FTPLIB_CALLBACKARG, NULL, conn);
325 FtpOptions(FTPLIB_CALLBACKBYTES, NULL, conn); 325 FtpOptions(FTPLIB_CALLBACKBYTES, NULL, conn);
326 326
327} 327}
328 328
329void OpieFtp::remoteDownload() 329void OpieFtp::remoteDownload()
330{ 330{
331 int fsz; 331 int fsz;
332 QCopEnvelope ( "QPE/System", "busy()" ); 332 QCopEnvelope ( "QPE/System", "busy()" );
333 qApp->processEvents(); 333 qApp->processEvents();
334 QString strItem = Remote_View->currentItem()->text(0); 334 QString strItem = Remote_View->currentItem()->text(0);
335// strItem=strItem.right(strItem.length()-1); 335// strItem=strItem.right(strItem.length()-1);
336 336
337 QString localFile = currentDir.canonicalPath()+strItem; 337 QString localFile = currentDir.canonicalPath();
338 if(localFile.right(1).find("/",0,TRUE) == -1)
339 localFile += "/";
340 localFile += strItem;
338// QString localFile = currentDir.canonicalPath()+"/"+strItem; 341// QString localFile = currentDir.canonicalPath()+"/"+strItem;
339 QString remoteFile= currentRemoteDir+strItem; 342 QString remoteFile= currentRemoteDir+strItem;
340 if (!FtpSize( remoteFile.latin1(), &fsz, FTPLIB_ASCII, conn)) 343 if (!FtpSize( remoteFile.latin1(), &fsz, FTPLIB_ASCII, conn))
341 fsz = 0; 344 fsz = 0;
342 QString temp; 345 QString temp;
343 temp.sprintf( remoteFile+" "+" %dkb", fsz); 346 temp.sprintf( remoteFile+" "+" %dkb", fsz);
344 347
345 ProgressBar->setTotalSteps(fsz); 348 ProgressBar->setTotalSteps(fsz);
346 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); 349 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn);
347 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); 350 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn);
348 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); 351 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn);
349 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); 352 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn);
350 qDebug("Get: %s, %s",localFile.latin1(),remoteFile.latin1()); 353 qDebug("Get: %s, %s",localFile.latin1(),remoteFile.latin1());
351 354
352 if(!FtpGet( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { 355 if(!FtpGet( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) {
353 QString msg; 356 QString msg;
354 msg.sprintf(tr("Unable to download \n")+"%s",FtpLastResponse(conn)); 357 msg.sprintf(tr("Unable to download \n")+"%s",FtpLastResponse(conn));
355 msg.replace(QRegExp(":"),"\n"); 358 msg.replace(QRegExp(":"),"\n");
356 QMessageBox::message(tr("Note"),msg); 359 QMessageBox::message(tr("Note"),msg);
357// FtpQuit(conn); 360// FtpQuit(conn);
358 } 361 }
359 ProgressBar->reset(); 362 ProgressBar->reset();
360 nullifyCallBack(); 363 nullifyCallBack();
361 TabWidget->setCurrentPage(0); 364 TabWidget->setCurrentPage(0);
362 populateLocalView(); 365 populateLocalView();
363 QCopEnvelope ( "QPE/System", "notBusy()" ); 366 QCopEnvelope ( "QPE/System", "notBusy()" );
364} 367}
365 368
366 369
367void OpieFtp::newConnection() 370void OpieFtp::newConnection()
368{ 371{
369 TabWidget->setCurrentPage(2); 372 TabWidget->setCurrentPage(2);
370} 373}
371 374
372void OpieFtp::connector() 375void OpieFtp::connector()
373{ 376{
374 QCopEnvelope ( "QPE/System", "busy()" ); 377 QCopEnvelope ( "QPE/System", "busy()" );
375 qApp->processEvents(); 378 qApp->processEvents();
376 currentRemoteDir=remotePath->text(); 379 currentRemoteDir=remotePath->text();
377 if(ServerComboBox->currentText().isEmpty()) { 380 if(ServerComboBox->currentText().isEmpty()) {
378 QMessageBox::warning(this,tr("Ftp"),tr("Please set the server info"),tr("Ok"),0,0); 381 QMessageBox::warning(this,tr("Ftp"),tr("Please set the server info"),tr("Ok"),0,0);
379 TabWidget->setCurrentPage(2); 382 TabWidget->setCurrentPage(2);
380 ServerComboBox->setFocus(); 383 ServerComboBox->setFocus();
381 return; 384 return;
382 } 385 }
383 FtpInit(); 386 FtpInit();
384 TabWidget->setCurrentPage(1); 387 TabWidget->setCurrentPage(1);
385 QString ftp_host = ServerComboBox->currentText(); 388 QString ftp_host = ServerComboBox->currentText();
386 QString ftp_user = UsernameComboBox->currentText(); 389 QString ftp_user = UsernameComboBox->currentText();
387 QString ftp_pass = PasswordEdit->text(); 390 QString ftp_pass = PasswordEdit->text();
388 QString port=PortSpinBox->cleanText(); 391 QString port=PortSpinBox->cleanText();
389 port.stripWhiteSpace(); 392 port.stripWhiteSpace();
390 393
391 if(ftp_host.find("ftp://",0, TRUE) != -1 ) 394 if(ftp_host.find("ftp://",0, TRUE) != -1 )
392 ftp_host=ftp_host.right(ftp_host.length()-6); 395 ftp_host=ftp_host.right(ftp_host.length()-6);
393 ftp_host+=":"+port; 396 ftp_host+=":"+port;
394 if (!FtpConnect( ftp_host.latin1(), &conn)) { 397 if (!FtpConnect( ftp_host.latin1(), &conn)) {
395 QMessageBox::message(tr("Note"),tr("Unable to connect to\n")+ftp_host); 398 QMessageBox::message(tr("Note"),tr("Unable to connect to\n")+ftp_host);
396 return ; 399 return ;
397 } 400 }
398 if (!FtpLogin( ftp_user.latin1(), ftp_pass.latin1(),conn )) { 401 if (!FtpLogin( ftp_user.latin1(), ftp_pass.latin1(),conn )) {
399 QString msg; 402 QString msg;
400 msg.sprintf(tr("Unable to log in\n")+"%s",FtpLastResponse(conn)); 403 msg.sprintf(tr("Unable to log in\n")+"%s",FtpLastResponse(conn));
401 msg.replace(QRegExp(":"),"\n"); 404 msg.replace(QRegExp(":"),"\n");
402 QMessageBox::message(tr("Note"),msg); 405 QMessageBox::message(tr("Note"),msg);
403 FtpQuit(conn); 406 FtpQuit(conn);
404 return ; 407 return ;
405 } 408 }
406 remoteDirList("/") ; 409 remoteDirList("/") ;
407 setCaption(ftp_host); 410 setCaption(ftp_host);
408 QCopEnvelope ( "QPE/System", "notBusy()" ); 411 QCopEnvelope ( "QPE/System", "notBusy()" );
409} 412}
410 413
411void OpieFtp::disConnector() 414void OpieFtp::disConnector()
412{ 415{
413 FtpQuit(conn); 416 FtpQuit(conn);
414 setCaption("OpieFtp"); 417 setCaption("OpieFtp");
415 currentRemoteDir="/"; 418 currentRemoteDir="/";
416 Remote_View->clear(); 419 Remote_View->clear();
417} 420}
418 421
419bool OpieFtp::remoteDirList(const QString &dir) 422bool OpieFtp::remoteDirList(const QString &dir)
420{ 423{
421 QString tmp = QDir::homeDirPath(); 424 QString tmp = QDir::homeDirPath();
422 if(tmp.right(1) != "/") 425 if(tmp.right(1) != "/")
423 tmp+="/._temp"; 426 tmp+="/._temp";
424 else 427 else
425 tmp+="._temp"; 428 tmp+="._temp";
426// qDebug("Listing remote dir "+tmp); 429// qDebug("Listing remote dir "+tmp);
427 QCopEnvelope ( "QPE/System", "busy()" ); 430 QCopEnvelope ( "QPE/System", "busy()" );
428 if (!FtpDir( tmp.latin1(), dir.latin1(), conn) ) { 431 if (!FtpDir( tmp.latin1(), dir.latin1(), conn) ) {
429 QString msg; 432 QString msg;
430 msg.sprintf(tr("Unable to list the directory\n")+dir+"\n%s",FtpLastResponse(conn) ); 433 msg.sprintf(tr("Unable to list the directory\n")+dir+"\n%s",FtpLastResponse(conn) );
431 msg.replace(QRegExp(":"),"\n"); 434 msg.replace(QRegExp(":"),"\n");
432 QMessageBox::message(tr("Note"),msg); 435 QMessageBox::message(tr("Note"),msg);
433// FtpQuit(conn); 436// FtpQuit(conn);
434 return false; 437 return false;
435 } 438 }
436 populateRemoteView() ; 439 populateRemoteView() ;
437 QCopEnvelope ( "QPE/System", "notBusy()" ); 440 QCopEnvelope ( "QPE/System", "notBusy()" );
438 return true; 441 return true;
439} 442}
440 443
441bool OpieFtp::remoteChDir(const QString &dir) 444bool OpieFtp::remoteChDir(const QString &dir)
442{ 445{
443 QCopEnvelope ( "QPE/System", "busy()" ); 446 QCopEnvelope ( "QPE/System", "busy()" );
444 if (!FtpChdir( dir.latin1(), conn )) { 447 if (!FtpChdir( dir.latin1(), conn )) {
445 QString msg; 448 QString msg;
446 msg.sprintf(tr("Unable to change directories\n")+dir+"\n%s",FtpLastResponse(conn)); 449 msg.sprintf(tr("Unable to change directories\n")+dir+"\n%s",FtpLastResponse(conn));
447 msg.replace(QRegExp(":"),"\n"); 450 msg.replace(QRegExp(":"),"\n");
448 QMessageBox::message(tr("Note"),msg); 451 QMessageBox::message(tr("Note"),msg);
449 qDebug(msg); 452 qDebug(msg);
450// FtpQuit(conn); 453// FtpQuit(conn);
451 QCopEnvelope ( "QPE/System", "notBusy()" ); 454 QCopEnvelope ( "QPE/System", "notBusy()" );
452 return FALSE; 455 return FALSE;
453 } 456 }
454 QCopEnvelope ( "QPE/System", "notBusy()" ); 457 QCopEnvelope ( "QPE/System", "notBusy()" );
455 return TRUE; 458 return TRUE;
456} 459}
457 460
458void OpieFtp::populateLocalView() 461void OpieFtp::populateLocalView()
459{ 462{
460 Local_View->clear(); 463 Local_View->clear();
461 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 464 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
462 currentDir.setMatchAllDirs(TRUE); 465 currentDir.setMatchAllDirs(TRUE);
463 currentDir.setNameFilter(filterStr); 466 currentDir.setNameFilter(filterStr);
464 QString fileL, fileS, fileDate; 467 QString fileL, fileS, fileDate;
465 bool isDir=FALSE; 468 bool isDir=FALSE;
466 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 469 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
467 QFileInfoListIterator it(*list); 470 QFileInfoListIterator it(*list);
468 QFileInfo *fi; 471 QFileInfo *fi;
469 while ( (fi=it.current()) ) { 472 while ( (fi=it.current()) ) {
470 if (fi->isSymLink() ){ 473 if (fi->isSymLink() ){
471 QString symLink=fi->readLink(); 474 QString symLink=fi->readLink();
472// qDebug("Symlink detected "+symLink); 475// qDebug("Symlink detected "+symLink);
473 QFileInfo sym( symLink); 476 QFileInfo sym( symLink);
474 fileS.sprintf( "%10li", sym.size() ); 477 fileS.sprintf( "%10li", sym.size() );
475 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); 478 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() );
476 fileDate = sym.lastModified().toString(); 479 fileDate = sym.lastModified().toString();
477 } else { 480 } else {
478// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); 481// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
479 fileS.sprintf( "%10li", fi->size() ); 482 fileS.sprintf( "%10li", fi->size() );
480 fileL.sprintf( "%s",fi->fileName().data() ); 483 fileL.sprintf( "%s",fi->fileName().data() );
481 fileDate= fi->lastModified().toString(); 484 fileDate= fi->lastModified().toString();
482 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { 485 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
483 fileL+="/"; 486 fileL+="/";
484 isDir=TRUE; 487 isDir=TRUE;
485// qDebug( fileL); 488// qDebug( fileL);
486 } 489 }
487 } 490 }
488 if(fileL !="./") { 491 if(fileL !="./") {
489 item = new QListViewItem( Local_View,fileL,fileS, fileDate); 492 item = new QListViewItem( Local_View,fileL,fileS, fileDate);
490 if(isDir || fileL.find("/",0,TRUE) != -1) 493 if(isDir || fileL.find("/",0,TRUE) != -1)
491 item->setPixmap( 0, Resource::loadPixmap( "folder" )); 494 item->setPixmap( 0, Resource::loadPixmap( "folder" ));
492 else 495 else
493 item->setPixmap( 0, Resource::loadPixmap( "fileopen" )); 496 item->setPixmap( 0, Resource::loadPixmap( "fileopen" ));
494 } 497 }
495 isDir=FALSE; 498 isDir=FALSE;
496 ++it; 499 ++it;
497 } 500 }
498 Local_View->setSorting( 3,FALSE); 501 Local_View->setSorting( 3,FALSE);
499 currentPathEdit->setText( currentDir.canonicalPath() ); 502 currentPathEdit->setText( currentDir.canonicalPath() );
500} 503}
501 504
502bool OpieFtp::populateRemoteView( ) 505bool OpieFtp::populateRemoteView( )
503{ 506{
504// qDebug("populate remoteview"); 507// qDebug("populate remoteview");
505 QString sfile=QDir::homeDirPath(); 508 QString sfile=QDir::homeDirPath();
506 if(sfile.right(1) != "/") 509 if(sfile.right(1) != "/")
507 sfile+="/._temp"; 510 sfile+="/._temp";
508 else 511 else
509 sfile+="._temp"; 512 sfile+="._temp";
510 QFile file( sfile); 513 QFile file( sfile);
511 Remote_View->clear(); 514 Remote_View->clear();
512 QString s, File_Name; 515 QString s, File_Name;
513 QListViewItem *itemDir=NULL, *itemFile=NULL; 516 QListViewItem *itemDir=NULL, *itemFile=NULL;
514 QString fileL, fileS, fileDate; 517 QString fileL, fileS, fileDate;
515 if ( file.open(IO_ReadOnly)) { 518 if ( file.open(IO_ReadOnly)) {
516 QTextStream t( &file ); // use a text stream 519 QTextStream t( &file ); // use a text stream
517 while ( !t.eof()) { 520 while ( !t.eof()) {
518 s = t.readLine(); 521 s = t.readLine();
519 fileL = s.right(s.length()-55); 522 fileL = s.right(s.length()-55);
520 fileL = fileL.stripWhiteSpace(); 523 fileL = fileL.stripWhiteSpace();
521 if(s.left(1) == "d") 524 if(s.left(1) == "d")
522 fileL = fileL+"/"; 525 fileL = fileL+"/";
523// fileL = "/"+fileL+"/"; 526// fileL = "/"+fileL+"/";
524 fileS = s.mid( 30, 42-30); 527 fileS = s.mid( 30, 42-30);
525 fileS = fileS.stripWhiteSpace(); 528 fileS = fileS.stripWhiteSpace();
526 fileDate = s.mid( 42, 55-42); 529 fileDate = s.mid( 42, 55-42);
527 fileDate = fileDate.stripWhiteSpace(); 530 fileDate = fileDate.stripWhiteSpace();
528 if(fileL.find("total",0,TRUE) == -1) { 531 if(fileL.find("total",0,TRUE) == -1) {
529 QListViewItem * item = new QListViewItem( Remote_View, fileL, fileS, fileDate); 532 QListViewItem * item = new QListViewItem( Remote_View, fileL, fileS, fileDate);