summaryrefslogtreecommitdiff
path: root/noncore/net/opieftp/opieftp.cpp
Unidiff
Diffstat (limited to 'noncore/net/opieftp/opieftp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieftp/opieftp.cpp38
1 files changed, 22 insertions, 16 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index 9beac94..4e14946 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -39,52 +39,52 @@ extern "C" {
39#include <qcombobox.h> 39#include <qcombobox.h>
40#include <qpopupmenu.h> 40#include <qpopupmenu.h>
41#include <qlistview.h> 41#include <qlistview.h>
42#include <qmainwindow.h> 42#include <qmainwindow.h>
43#include <qlabel.h> 43#include <qlabel.h>
44#include <qprogressbar.h> 44#include <qprogressbar.h>
45#include <qspinbox.h> 45#include <qspinbox.h>
46#include <qtabwidget.h> 46#include <qtabwidget.h>
47#include <qwidget.h> 47#include <qwidget.h>
48#include <qlayout.h> 48#include <qlayout.h>
49#include <qimage.h> 49#include <qimage.h>
50#include <qpixmap.h> 50#include <qpixmap.h>
51#include <qmessagebox.h> 51#include <qmessagebox.h>
52#include <qlineedit.h> 52#include <qlineedit.h>
53#include <qregexp.h> 53#include <qregexp.h>
54#include <qlistbox.h> 54#include <qlistbox.h>
55 55
56#include <unistd.h> 56#include <unistd.h>
57#include <stdlib.h> 57#include <stdlib.h>
58 58
59 59
60QProgressBar *ProgressBar; 60QProgressBar *ProgressBar;
61static netbuf *conn=NULL; 61static netbuf *conn=NULL;
62 62
63static int log_progress(netbuf *ctl, int xfered, void *arg) 63static int log_progress(netbuf *, int xfered, void *)
64{ 64{
65 int fsz = *(int *)arg; 65// int fsz = *(int *)arg;
66 int pct = (xfered * 100) / fsz; 66// int pct = (xfered * 100) / fsz;
67// printf("%3d%%\r", pct); 67// printf("%3d%%\r", pct);
68// fflush(stdout); 68// fflush(stdout);
69 ProgressBar->setProgress(xfered); 69 ProgressBar->setProgress(xfered);
70 qApp->processEvents(); 70 qApp->processEvents();
71 return 1; 71 return 1;
72} 72}
73 73
74OpieFtp::OpieFtp( ) 74OpieFtp::OpieFtp( )
75 : QMainWindow( ) 75 : QMainWindow( )
76{ 76{
77 setCaption( tr( "OpieFtp" ) ); 77 setCaption( tr( "OpieFtp" ) );
78 fuckeduphack=FALSE; 78 fuckeduphack=FALSE;
79 QGridLayout *layout = new QGridLayout( this ); 79 QGridLayout *layout = new QGridLayout( this );
80 layout->setSpacing( 2); 80 layout->setSpacing( 2);
81 layout->setMargin( 2); 81 layout->setMargin( 2);
82 82
83 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 83 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
84 84
85 QPEMenuBar *menuBar = new QPEMenuBar(this); 85 QPEMenuBar *menuBar = new QPEMenuBar(this);
86// QPEToolBar *menuBar = new QPEToolBar(this); 86// QPEToolBar *menuBar = new QPEToolBar(this);
87// menuBar->setHorizontalStretchable( TRUE ); 87// menuBar->setHorizontalStretchable( TRUE );
88 88
89 connectionMenu = new QPopupMenu( this ); 89 connectionMenu = new QPopupMenu( this );
90 localMenu = new QPopupMenu( this ); 90 localMenu = new QPopupMenu( this );
@@ -204,71 +204,74 @@ OpieFtp::OpieFtp( )
204 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); 204 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
205 205
206 connect( Remote_View, SIGNAL( clicked( QListViewItem*)), 206 connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
207 this,SLOT( remoteListClicked(QListViewItem *)) ); 207 this,SLOT( remoteListClicked(QListViewItem *)) );
208 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 208 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
209 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) ); 209 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) );
210 210
211 tabLayout_2->addWidget( Remote_View, 0, 0 ); 211 tabLayout_2->addWidget( Remote_View, 0, 0 );
212 212
213 TabWidget->insertTab( tab_2, tr( "Remote" ) ); 213 TabWidget->insertTab( tab_2, tr( "Remote" ) );
214 214
215 tab_3 = new QWidget( TabWidget, "tab_3" ); 215 tab_3 = new QWidget( TabWidget, "tab_3" );
216 tabLayout_3 = new QGridLayout( tab_3 ); 216 tabLayout_3 = new QGridLayout( tab_3 );
217 tabLayout_3->setSpacing( 2); 217 tabLayout_3->setSpacing( 2);
218 tabLayout_3->setMargin( 2); 218 tabLayout_3->setMargin( 2);
219 219
220 TextLabel1 = new QLabel( tab_3, "TextLabel1" ); 220 TextLabel1 = new QLabel( tab_3, "TextLabel1" );
221 TextLabel1->setText( tr( "Username" ) ); 221 TextLabel1->setText( tr( "Username" ) );
222 tabLayout_3->addMultiCellWidget( TextLabel1, 0, 0, 0, 1 ); 222 tabLayout_3->addMultiCellWidget( TextLabel1, 0, 0, 0, 1 );
223 223
224 UsernameComboBox = new QComboBox( FALSE, tab_3, "UsernameComboBox" ); 224 UsernameComboBox = new QComboBox( FALSE, tab_3, "UsernameComboBox" );
225 UsernameComboBox->setEditable(TRUE); 225 UsernameComboBox->setEditable(TRUE);
226 tabLayout_3->addMultiCellWidget( UsernameComboBox, 1, 1, 0, 1 ); 226 tabLayout_3->addMultiCellWidget( UsernameComboBox, 1, 1, 0, 1 );
227 227
228 connect( UsernameComboBox,SIGNAL(textChanged(const QString &)),this,SLOT( UsernameComboBoxEdited(const QString & ) )); 228 connect( UsernameComboBox,SIGNAL(textChanged(const QString &)),this,
229 SLOT( UsernameComboBoxEdited(const QString & ) ));
229 230
230 TextLabel2 = new QLabel( tab_3, "TextLabel2" ); 231 TextLabel2 = new QLabel( tab_3, "TextLabel2" );
231 TextLabel2->setText( tr( "Password" ) ); 232 TextLabel2->setText( tr( "Password" ) );
232 tabLayout_3->addMultiCellWidget( TextLabel2, 0, 0, 2, 3 ); 233 tabLayout_3->addMultiCellWidget( TextLabel2, 0, 0, 2, 3 );
233 234
234 PasswordEdit = new QLineEdit( "", tab_3, "PasswordComboBox" ); 235 PasswordEdit = new QLineEdit( "", tab_3, "PasswordComboBox" );
235 PasswordEdit->setEchoMode(QLineEdit::Password); 236 PasswordEdit->setEchoMode(QLineEdit::Password);
236 tabLayout_3->addMultiCellWidget( PasswordEdit, 1, 1, 2, 3 ); 237 tabLayout_3->addMultiCellWidget( PasswordEdit, 1, 1, 2, 3 );
237 238
238 connect( PasswordEdit,SIGNAL(textChanged(const QString &)),this,SLOT( PasswordEditEdited(const QString & ) )); 239 connect( PasswordEdit,SIGNAL(textChanged(const QString &)),this,
240 SLOT( PasswordEditEdited(const QString & ) ));
239 241
240//PasswordEdit->setFixedWidth(85); 242//PasswordEdit->setFixedWidth(85);
241 TextLabel3 = new QLabel( tab_3, "TextLabel3" ); 243 TextLabel3 = new QLabel( tab_3, "TextLabel3" );
242 TextLabel3->setText( tr( "Remote server" ) ); 244 TextLabel3->setText( tr( "Remote server" ) );
243 tabLayout_3->addMultiCellWidget( TextLabel3, 2, 2, 0, 1 ); 245 tabLayout_3->addMultiCellWidget( TextLabel3, 2, 2, 0, 1 );
244 246
245 ServerComboBox = new QComboBox( FALSE, tab_3, "ServerComboBox" ); 247 ServerComboBox = new QComboBox( FALSE, tab_3, "ServerComboBox" );
246 ServerComboBox->setEditable(TRUE); 248 ServerComboBox->setEditable(TRUE);
247 tabLayout_3->addMultiCellWidget( ServerComboBox, 3, 3, 0, 1 ); 249 tabLayout_3->addMultiCellWidget( ServerComboBox, 3, 3, 0, 1 );
248 250
249 connect(ServerComboBox,SIGNAL(activated(int)),this,SLOT(serverComboSelected(int ) )); 251 connect(ServerComboBox,SIGNAL(activated(int)),this,SLOT(serverComboSelected(int ) ));
250 connect(ServerComboBox,SIGNAL(textChanged(const QString &)),this,SLOT(serverComboEdited(const QString & ) )); 252 connect(ServerComboBox,SIGNAL(textChanged(const QString &)),this,
253 SLOT(serverComboEdited(const QString & ) ));
251 254
252 QLabel *TextLabel5 = new QLabel( tab_3, "TextLabel5" ); 255 QLabel *TextLabel5 = new QLabel( tab_3, "TextLabel5" );
253 TextLabel5->setText( tr( "Remote path" ) ); 256 TextLabel5->setText( tr( "Remote path" ) );
254 tabLayout_3->addMultiCellWidget( TextLabel5, 2, 2, 2, 3 ); 257 tabLayout_3->addMultiCellWidget( TextLabel5, 2, 2, 2, 3 );
255 258
256 259
257 remotePath = new QLineEdit( "/", tab_3, "remotePath" ); 260 remotePath = new QLineEdit( "/", tab_3, "remotePath" );
258 tabLayout_3->addMultiCellWidget( remotePath, 3, 3, 2, 3 ); 261 tabLayout_3->addMultiCellWidget( remotePath, 3, 3, 2, 3 );
259 TextLabel4 = new QLabel( tab_3, "TextLabel4" ); 262 TextLabel4 = new QLabel( tab_3, "TextLabel4" );
260 TextLabel4->setText( tr( "Port" ) ); 263 TextLabel4->setText( tr( "Port" ) );
261 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 ); 264 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 );
262 265
263 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" ); 266 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" );
264 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows ); 267 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows );
265 PortSpinBox->setMaxValue(32786); 268 PortSpinBox->setMaxValue(32786);
266 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1); 269 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1);
267 270
268 serverListView = new QListBox( tab_3, "ServerListView" ); 271 serverListView = new QListBox( tab_3, "ServerListView" );
269 tabLayout_3->addMultiCellWidget( serverListView , 5, 5, 0, 5); 272 tabLayout_3->addMultiCellWidget( serverListView , 5, 5, 0, 5);
270 273
271 connect( serverListView, SIGNAL( highlighted( const QString &)), 274 connect( serverListView, SIGNAL( highlighted( const QString &)),
272 this,SLOT( serverListClicked( const QString &) ) ); 275 this,SLOT( serverListClicked( const QString &) ) );
273 276
274 connectServerBtn = new QPushButton( "Connect", tab_3 , "ConnectButton" ); 277 connectServerBtn = new QPushButton( "Connect", tab_3 , "ConnectButton" );
@@ -326,144 +329,144 @@ OpieFtp::OpieFtp( )
326 329
327OpieFtp::~OpieFtp() 330OpieFtp::~OpieFtp()
328{ 331{
329} 332}
330 333
331void OpieFtp::cleanUp() 334void OpieFtp::cleanUp()
332{ 335{
333 if(conn) 336 if(conn)
334 FtpQuit(conn); 337 FtpQuit(conn);
335 QString sfile=QDir::homeDirPath(); 338 QString sfile=QDir::homeDirPath();
336 if(sfile.right(1) != "/") 339 if(sfile.right(1) != "/")
337 sfile+="/._temp"; 340 sfile+="/._temp";
338 else 341 else
339 sfile+="._temp"; 342 sfile+="._temp";
340 QFile file( sfile); 343 QFile file( sfile);
341 if(file.exists()) 344 if(file.exists())
342 file.remove(); 345 file.remove();
343 Config cfg("opieftp"); 346 Config cfg("opieftp");
344 cfg.setGroup("Server"); 347 cfg.setGroup("Server");
345 cfg.writeEntry("currentServer", currentServerConfig); 348 cfg.writeEntry("currentServer", currentServerConfig);
346 349
347 exit(0); 350 exit(0);
348} 351}
349 352
350void OpieFtp::tabChanged(QWidget *w) 353void OpieFtp::tabChanged(QWidget *)
351{ 354{
352 if (TabWidget->currentPageIndex() == 0) { 355 if (TabWidget->currentPageIndex() == 0) {
353 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath()); 356 currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
354 tabMenu->setItemChecked(tabMenu->idAt(0),TRUE); 357 tabMenu->setItemChecked(tabMenu->idAt(0),TRUE);
355 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE); 358 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
356 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE); 359 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
357 if(cdUpButton->isHidden()) 360 if(cdUpButton->isHidden())
358 cdUpButton->show(); 361 cdUpButton->show();
359 if(homeButton->isHidden()) 362 if(homeButton->isHidden())
360 homeButton->show(); 363 homeButton->show();
361 364
362 } 365 }
363 if (TabWidget->currentPageIndex() == 1) { 366 if (TabWidget->currentPageIndex() == 1) {
364 currentPathCombo->lineEdit()->setText( currentRemoteDir ); 367 currentPathCombo->lineEdit()->setText( currentRemoteDir );
365 tabMenu->setItemChecked(tabMenu->idAt(1),TRUE); 368 tabMenu->setItemChecked(tabMenu->idAt(1),TRUE);
366 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE); 369 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
367 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE); 370 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
368 if(cdUpButton->isHidden()) 371 if(cdUpButton->isHidden())
369 cdUpButton->show(); 372 cdUpButton->show();
370 homeButton->hide(); 373 homeButton->hide();
371 374
372 } 375 }
373 if (TabWidget->currentPageIndex() == 2) { 376 if (TabWidget->currentPageIndex() == 2) {
374 tabMenu->setItemChecked(tabMenu->idAt(2),TRUE); 377 tabMenu->setItemChecked(tabMenu->idAt(2),TRUE);
375 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE); 378 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
376 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE); 379 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
377 cdUpButton->hide(); 380 cdUpButton->hide();
378 homeButton->hide(); 381 homeButton->hide();
379 } 382 }
380} 383}
381 384
382void OpieFtp::newConnection() 385void OpieFtp::newConnection()
383{ 386{
384 UsernameComboBox->lineEdit()->setText(""); 387 UsernameComboBox->lineEdit()->setText("");
385 PasswordEdit->setText( "" ); 388 PasswordEdit->setText( "" );
386 ServerComboBox->lineEdit()->setText( ""); 389 ServerComboBox->lineEdit()->setText( "");
387 remotePath->setText( currentRemoteDir = "/"); 390 remotePath->setText( currentRemoteDir = "/");
388 PortSpinBox->setValue( 21); 391 PortSpinBox->setValue( 21);
389 TabWidget->setCurrentPage(2); 392 TabWidget->setCurrentPage(2);
390} 393}
391 394
392void OpieFtp::serverComboEdited(const QString & edit) 395void OpieFtp::serverComboEdited(const QString & )
393{ 396{
394// if( ServerComboBox->text(currentServerConfig) != edit /*edit.isEmpty() */) { 397// if( ServerComboBox->text(currentServerConfig) != edit /*edit.isEmpty() */) {
395// qDebug("ServerComboEdited"); 398// qDebug("ServerComboEdited");
396// // currentServerConfig = -1; 399// // currentServerConfig = -1;
397// } 400// }
398} 401}
399 402
400void OpieFtp::UsernameComboBoxEdited(const QString & use) { 403void OpieFtp::UsernameComboBoxEdited(const QString &) {
401// currentServerConfig = -1; 404// currentServerConfig = -1;
402} 405}
403 406
404void OpieFtp::PasswordEditEdited(const QString & pass) { 407void OpieFtp::PasswordEditEdited(const QString & ) {
405// currentServerConfig = -1; 408// currentServerConfig = -1;
406} 409}
407 410
408void OpieFtp::connectorBtnToggled(bool On) 411void OpieFtp::connectorBtnToggled(bool On)
409{ 412{
410 if(On) { 413 if(On) {
411 connector(); 414 connector();
412 } else { 415 } else {
413 disConnector(); 416 disConnector();
414 } 417 }
415 418
416} 419}
417 420
418void OpieFtp::connector() 421void OpieFtp::connector()
419{ 422{
420// QCopEnvelope ( "QPE/System", "busy()" ); 423// QCopEnvelope ( "QPE/System", "busy()" );
421// qApp->processEvents(); 424// qApp->processEvents();
422 currentRemoteDir=remotePath->text(); 425 currentRemoteDir=remotePath->text();
423 426
424 if( ServerComboBox->currentText().isEmpty()) { 427 if( ServerComboBox->currentText().isEmpty()) {
425 428
426 QMessageBox::warning(this,tr("Ftp"),tr("Please set the server info"),tr("Ok"),0,0); 429 QMessageBox::warning(this,tr("Ftp"),tr("Please set the server info"),tr("Ok"),0,0);
427 TabWidget->setCurrentPage(2); 430 TabWidget->setCurrentPage(2);
428 ServerComboBox->setFocus(); 431 ServerComboBox->setFocus();
429 connectServerBtn->setOn(FALSE); 432 connectServerBtn->setOn(FALSE);
430 connectServerBtn->setText( tr("Connect")); 433 connectServerBtn->setText( tr("Connect"));
431 return; 434 return;
432 } 435 }
433 436
434 FtpInit(); 437 FtpInit();
435 438
436 TabWidget->setCurrentPage(1); 439 TabWidget->setCurrentPage(1);
437 QString ftp_host = ServerComboBox->currentText(); 440 QString ftp_host = ServerComboBox->currentText();
438 QString ftp_user = UsernameComboBox->currentText(); 441 QString ftp_user = UsernameComboBox->currentText();
439 QString ftp_pass = PasswordEdit->text(); 442 QString ftp_pass = PasswordEdit->text();
440 QString port=PortSpinBox->cleanText(); 443 QString port=PortSpinBox->cleanText();
441 port.stripWhiteSpace(); 444 port.stripWhiteSpace();
442 445
443 Config cfg("opieftp"); 446 Config cfg("opieftp");
444 cfg.setGroup("Server"); 447 cfg.setGroup("Server");
445 int current=cfg.readNumEntry("currentServer", 1); 448// int current=cfg.readNumEntry("currentServer", 1);
446 449
447// if(ftp_host!= cfg.readEntry(QString::number( current))) 450// if(ftp_host!= cfg.readEntry(QString::number( current)))
448// currentServerConfig=-1; 451// currentServerConfig=-1;
449// cfg.setGroup(QString::number(current)); 452// cfg.setGroup(QString::number(current));
450// if( ftp_user != cfg.readEntry("Username")) 453// if( ftp_user != cfg.readEntry("Username"))
451// currentServerConfig=-1; 454// currentServerConfig=-1;
452// if(ftp_pass != cfg.readEntry(cfg.readEntry("Username"))) 455// if(ftp_pass != cfg.readEntry(cfg.readEntry("Username")))
453// currentServerConfig=-1; 456// currentServerConfig=-1;
454 457
455 458
456 if(ftp_host.find("ftp://",0, TRUE) != -1 ) 459 if(ftp_host.find("ftp://",0, TRUE) != -1 )
457 ftp_host=ftp_host.right(ftp_host.length()-6); 460 ftp_host=ftp_host.right(ftp_host.length()-6);
458 ftp_host+=":"+port; 461 ftp_host+=":"+port;
459 462
460 if (!FtpConnect( ftp_host.latin1(), &conn)) { 463 if (!FtpConnect( ftp_host.latin1(), &conn)) {
461 QMessageBox::message(tr("Note"),tr("Unable to connect to\n")+ftp_host); 464 QMessageBox::message(tr("Note"),tr("Unable to connect to\n")+ftp_host);
462 connectServerBtn->setOn(FALSE); 465 connectServerBtn->setOn(FALSE);
463 connectServerBtn->setText( tr("Connect")); 466 connectServerBtn->setText( tr("Connect"));
464 return ; 467 return ;
465 } 468 }
466 469
467 if (!FtpLogin( ftp_user.latin1(), ftp_pass.latin1(),conn )) { 470 if (!FtpLogin( ftp_user.latin1(), ftp_pass.latin1(),conn )) {
468 QString msg; 471 QString msg;
469 msg.sprintf(tr("Unable to log in\n")+"%s",FtpLastResponse(conn)); 472 msg.sprintf(tr("Unable to log in\n")+"%s",FtpLastResponse(conn));
@@ -632,54 +635,54 @@ bool OpieFtp::remoteChDir(const QString &dir)
632// qDebug(msg); 635// qDebug(msg);
633// QCopEnvelope ( "QPE/System", "notBusy()" ); 636// QCopEnvelope ( "QPE/System", "notBusy()" );
634 return FALSE; 637 return FALSE;
635 } 638 }
636// QCopEnvelope ( "QPE/System", "notBusy()" ); 639// QCopEnvelope ( "QPE/System", "notBusy()" );
637 return TRUE; 640 return TRUE;
638} 641}
639 642
640void OpieFtp::populateLocalView() 643void OpieFtp::populateLocalView()
641{ 644{
642 Local_View->clear(); 645 Local_View->clear();
643 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 646 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
644 currentDir.setMatchAllDirs(TRUE); 647 currentDir.setMatchAllDirs(TRUE);
645 currentDir.setNameFilter(filterStr); 648 currentDir.setNameFilter(filterStr);
646 QString fileL, fileS, fileDate; 649 QString fileL, fileS, fileDate;
647 bool isDir=FALSE; 650 bool isDir=FALSE;
648 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 651 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
649 QFileInfoListIterator it(*list); 652 QFileInfoListIterator it(*list);
650 QFileInfo *fi; 653 QFileInfo *fi;
651 while ( (fi=it.current()) ) { 654 while ( (fi=it.current()) ) {
652 if (fi->isSymLink() ){ 655 if (fi->isSymLink() ){
653 QString symLink=fi->readLink(); 656 QString symLink=fi->readLink();
654// qDebug("Symlink detected "+symLink); 657// qDebug("Symlink detected "+symLink);
655 QFileInfo sym( symLink); 658 QFileInfo sym( symLink);
656 fileS.sprintf( "%10li", sym.size() ); 659 fileS.sprintf( "%10i", sym.size() );
657 fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() ); 660 fileL.sprintf( "%s -> %s", fi->fileName().data(),sym.absFilePath().data() );
658 fileDate = sym.lastModified().toString(); 661 fileDate = sym.lastModified().toString();
659 } else { 662 } else {
660// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); 663// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
661 fileS.sprintf( "%10li", fi->size() ); 664 fileS.sprintf( "%10i", fi->size() );
662 fileL.sprintf( "%s",fi->fileName().data() ); 665 fileL.sprintf( "%s",fi->fileName().data() );
663 fileDate= fi->lastModified().toString(); 666 fileDate= fi->lastModified().toString();
664 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { 667 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
665 fileL+="/"; 668 fileL+="/";
666 isDir=TRUE; 669 isDir=TRUE;
667// qDebug( fileL); 670// qDebug( fileL);
668 } 671 }
669 } 672 }
670 if(fileL !="./" && fi->exists()) { 673 if(fileL !="./" && fi->exists()) {
671 item = new QListViewItem( Local_View,fileL, fileDate, fileS ); 674 item = new QListViewItem( Local_View,fileL, fileDate, fileS );
672 QPixmap pm; 675 QPixmap pm;
673 676
674 if(isDir || fileL.find("/",0,TRUE) != -1) { 677 if(isDir || fileL.find("/",0,TRUE) != -1) {
675 if( !QDir( fi->filePath() ).isReadable()) 678 if( !QDir( fi->filePath() ).isReadable())
676 pm = Resource::loadPixmap( "lockedfolder" ); 679 pm = Resource::loadPixmap( "lockedfolder" );
677 else 680 else
678 pm= Resource::loadPixmap( "folder" ); 681 pm= Resource::loadPixmap( "folder" );
679 item->setPixmap( 0,pm ); 682 item->setPixmap( 0,pm );
680 } else { 683 } else {
681 if( !fi->isReadable() ) 684 if( !fi->isReadable() )
682 pm = Resource::loadPixmap( "locked" ); 685 pm = Resource::loadPixmap( "locked" );
683 else { 686 else {
684 MimeType mt(fi->filePath()); 687 MimeType mt(fi->filePath());
685 pm=mt.pixmap(); //sets the correct pixmap for mimetype 688 pm=mt.pixmap(); //sets the correct pixmap for mimetype
@@ -793,129 +796,132 @@ void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
793 currentRemoteDir = oldRemoteCurrentDir; 796 currentRemoteDir = oldRemoteCurrentDir;
794 strItem=""; 797 strItem="";
795// qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir); 798// qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
796 } 799 }
797 } else if(strItem.find("/",0,TRUE) != -1) { // this is a directory 800 } else if(strItem.find("/",0,TRUE) != -1) { // this is a directory
798 if( !remoteChDir( (const QString &)currentRemoteDir + strItem)) { 801 if( !remoteChDir( (const QString &)currentRemoteDir + strItem)) {
799 currentRemoteDir = oldRemoteCurrentDir; 802 currentRemoteDir = oldRemoteCurrentDir;
800 strItem=""; 803 strItem="";
801// qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir); 804// qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
802 805
803 } else { 806 } else {
804 currentRemoteDir = currentRemoteDir+strItem; 807 currentRemoteDir = currentRemoteDir+strItem;
805 } 808 }
806 } else { 809 } else {
807// QCopEnvelope ( "QPE/System", "notBusy()" ); 810// QCopEnvelope ( "QPE/System", "notBusy()" );
808 return; 811 return;
809 } 812 }
810 } 813 }
811 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate 814 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
812 if(currentRemoteDir.right(1) !="/") 815 if(currentRemoteDir.right(1) !="/")
813 currentRemoteDir +="/"; 816 currentRemoteDir +="/";
814 currentPathCombo->lineEdit()->setText( currentRemoteDir); 817 currentPathCombo->lineEdit()->setText( currentRemoteDir);
815 fillRemoteCombo( (const QString &)currentRemoteDir); 818 fillRemoteCombo( (const QString &)currentRemoteDir);
816// QCopEnvelope ( "QPE/System", "notBusy()" ); 819// QCopEnvelope ( "QPE/System", "notBusy()" );
820 Remote_View->ensureItemVisible(Remote_View->firstChild());
821
817 } 822 }
818} 823}
819 824
820void OpieFtp::localListClicked(QListViewItem *selectedItem) 825void OpieFtp::localListClicked(QListViewItem *selectedItem)
821{ 826{
822 if(selectedItem!= NULL) { 827 if(selectedItem!= NULL) {
823 828
824 QString strItem=selectedItem->text(0); 829 QString strItem=selectedItem->text(0);
825 QString strSize=selectedItem->text(1); 830 QString strSize=selectedItem->text(1);
826 strSize=strSize.stripWhiteSpace(); 831 strSize=strSize.stripWhiteSpace();
827 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 832 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
828 // is symlink 833 // is symlink
829 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); 834 QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4);
830 if(QDir(strItem2).exists() ) { 835 if(QDir(strItem2).exists() ) {
831 currentDir.cd(strItem2, TRUE); 836 currentDir.cd(strItem2, TRUE);
832 populateLocalView(); 837 populateLocalView();
833 } 838 }
834 } else { // not a symlink 839 } else { // not a symlink
835 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 840 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
836 841
837 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) { 842 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) {
838 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 843 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
839 currentDir.cd(strItem,FALSE); 844 currentDir.cd(strItem,FALSE);
840 populateLocalView(); 845 populateLocalView();
841 } else { 846 } else {
842 currentDir.cdUp(); 847 currentDir.cdUp();
843 populateLocalView(); 848 populateLocalView();
844 } 849 }
845 if(QDir(strItem).exists()){ 850 if(QDir(strItem).exists()){
846 currentDir.cd(strItem, TRUE); 851 currentDir.cd(strItem, TRUE);
847 populateLocalView(); 852 populateLocalView();
848 } 853 }
849 } else { 854 } else {
850 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 855 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
851 if( QFile::exists(strItem ) ) { 856 if( QFile::exists(strItem ) ) {
852 // qDebug("upload "+strItem); 857 // qDebug("upload "+strItem);
853 return; 858 return;
854 } 859 }
855 } //end not symlink 860 } //end not symlink
856 chdir(strItem.latin1()); 861 chdir(strItem.latin1());
857 } 862 }
863 Local_View->ensureItemVisible(Local_View->firstChild());
858 } 864 }
859} 865}
860 866
861void OpieFtp::doLocalCd() 867void OpieFtp::doLocalCd()
862{ 868{
863 localListClicked( Local_View->currentItem()); 869 localListClicked( Local_View->currentItem());
864} 870}
865 871
866void OpieFtp:: doRemoteCd() 872void OpieFtp:: doRemoteCd()
867{ 873{
868 remoteListClicked( Remote_View->currentItem()); 874 remoteListClicked( Remote_View->currentItem());
869 875
870} 876}
871 877
872void OpieFtp::showHidden() 878void OpieFtp::showHidden()
873{ 879{
874 if (!b) { 880 if (!b) {
875 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 881 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
876 localMenu->setItemChecked(localMenu->idAt(0),TRUE); 882 localMenu->setItemChecked(localMenu->idAt(0),TRUE);
877// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 883// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
878 b=TRUE; 884 b=TRUE;
879 885
880 } else { 886 } else {
881 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 887 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
882 localMenu->setItemChecked(localMenu->idAt(0),FALSE); 888 localMenu->setItemChecked(localMenu->idAt(0),FALSE);
883// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 889// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
884 b=FALSE; 890 b=FALSE;
885 } 891 }
886 populateLocalView(); 892 populateLocalView();
887} 893}
888 894
889void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 895void OpieFtp::ListPressed( int mouse, QListViewItem *item, const QPoint &, int)
890{ 896{
891// if(item) 897// if(item)
892 if (mouse == 2) { 898 if (mouse == 2) {
893 showLocalMenu(item); 899 showLocalMenu(item);
894 } 900 }
895} 901}
896 902
897void OpieFtp::RemoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 903void OpieFtp::RemoteListPressed( int mouse, QListViewItem *item, const QPoint &, int )
898{ 904{
899 if(mouse == 2) { 905 if(mouse == 2) {
900 showRemoteMenu(item); 906 showRemoteMenu(item);
901 } 907 }
902} 908}
903 909
904void OpieFtp::showRemoteMenu(QListViewItem * item) 910void OpieFtp::showRemoteMenu(QListViewItem * item)
905{ 911{
906 QPopupMenu * m;// = new QPopupMenu( Local_View ); 912 QPopupMenu * m;// = new QPopupMenu( Local_View );
907 m = new QPopupMenu(this); 913 m = new QPopupMenu(this);
908 if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) != -1) 914 if( /*item->text(0).right(1) == "/" ||*/ item->text(0).find("/",0,TRUE) != -1)
909 m->insertItem( tr( "Change Directory" ), this, SLOT( doRemoteCd() )); 915 m->insertItem( tr( "Change Directory" ), this, SLOT( doRemoteCd() ));
910 else 916 else
911 m->insertItem( tr( "Download" ), this, SLOT( remoteDownload() )); 917 m->insertItem( tr( "Download" ), this, SLOT( remoteDownload() ));
912 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 918 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
913 m->insertItem( tr("Rescan"), this, SLOT( populateLocalView() )); 919 m->insertItem( tr("Rescan"), this, SLOT( populateLocalView() ));
914 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 920 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
915 m->insertSeparator(); 921 m->insertSeparator();
916 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 922 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
917 m->exec( QCursor::pos() ); 923 m->exec( QCursor::pos() );
918 delete m; 924 delete m;
919} 925}
920 926
921void OpieFtp::showLocalMenu(QListViewItem * item) 927void OpieFtp::showLocalMenu(QListViewItem * item)
@@ -1284,49 +1290,49 @@ void OpieFtp::fillCombos()
1284 qDebug( "remote server string "+remoteServerStr); 1290 qDebug( "remote server string "+remoteServerStr);
1285 ServerComboBox->insertItem( remoteServerStr ); 1291 ServerComboBox->insertItem( remoteServerStr );
1286 1292
1287 cfg.setGroup(temp); 1293 cfg.setGroup(temp);
1288 1294
1289 username = cfg.readEntry(temp); 1295 username = cfg.readEntry(temp);
1290 UsernameComboBox->insertItem(username); 1296 UsernameComboBox->insertItem(username);
1291 password = cfg.readEntryCrypt(username,""); 1297 password = cfg.readEntryCrypt(username,"");
1292 PasswordEdit->setText(password); 1298 PasswordEdit->setText(password);
1293 1299
1294 serverListView->insertItem( cfg.readEntry("ServerName")); 1300 serverListView->insertItem( cfg.readEntry("ServerName"));
1295 } 1301 }
1296} 1302}
1297 1303
1298 1304
1299void OpieFtp::serverComboSelected(int index) 1305void OpieFtp::serverComboSelected(int index)
1300{ 1306{
1301 currentServerConfig = index+1; 1307 currentServerConfig = index+1;
1302 qDebug("server combo selected %d", index+1); 1308 qDebug("server combo selected %d", index+1);
1303 QString username, remoteServerStr, remotePathStr, password, port, temp; 1309 QString username, remoteServerStr, remotePathStr, password, port, temp;
1304// remoteServerStr = ServerComboBox->text(index); 1310// remoteServerStr = ServerComboBox->text(index);
1305 1311
1306 Config cfg("opieftp"); 1312 Config cfg("opieftp");
1307 cfg.setGroup("Server"); 1313 cfg.setGroup("Server");
1308 int numberOfEntries = cfg.readNumEntry("numberOfEntries",0); 1314// int numberOfEntries = cfg.readNumEntry("numberOfEntries",0);
1309 1315
1310 temp.setNum(index+1); 1316 temp.setNum(index+1);
1311 remoteServerStr = cfg.readEntry( temp,""); 1317 remoteServerStr = cfg.readEntry( temp,"");
1312 1318
1313 qDebug("Group" +temp); 1319 qDebug("Group" +temp);
1314 cfg.setGroup(temp); 1320 cfg.setGroup(temp);
1315// qDebug(temp); 1321// qDebug(temp);
1316 int divider = remoteServerStr.length() - remoteServerStr.find(":",0,TRUE); 1322 int divider = remoteServerStr.length() - remoteServerStr.find(":",0,TRUE);
1317 port = remoteServerStr.right( divider - 1); 1323 port = remoteServerStr.right( divider - 1);
1318 bool ok; 1324 bool ok;
1319 int portInt = port.toInt(&ok,10); 1325 int portInt = port.toInt(&ok,10);
1320 if( portInt == 0) portInt = 21; 1326 if( portInt == 0) portInt = 21;
1321 1327
1322 ServerComboBox->lineEdit()->setText(remoteServerStr.left( remoteServerStr.find(":",0,TRUE))); 1328 ServerComboBox->lineEdit()->setText(remoteServerStr.left( remoteServerStr.find(":",0,TRUE)));
1323 1329
1324 PortSpinBox->setValue( portInt); 1330 PortSpinBox->setValue( portInt);
1325 1331
1326 remotePath->setText(cfg.readEntry("RemotePath", "/")); 1332 remotePath->setText(cfg.readEntry("RemotePath", "/"));
1327 1333
1328 username = cfg.readEntry("Username", "anonymous"); 1334 username = cfg.readEntry("Username", "anonymous");
1329 UsernameComboBox->lineEdit()->setText(username); 1335 UsernameComboBox->lineEdit()->setText(username);
1330 qDebug(username); 1336 qDebug(username);
1331// qDebug("Password is "+cfg.readEntryCrypt(username, "me@opieftp.org")); 1337// qDebug("Password is "+cfg.readEntryCrypt(username, "me@opieftp.org"));
1332 PasswordEdit->setText(cfg.readEntryCrypt(username, "me@opieftp.org")); 1338 PasswordEdit->setText(cfg.readEntryCrypt(username, "me@opieftp.org"));