summaryrefslogtreecommitdiff
path: root/noncore/net/opieftp/opieftp.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/opieftp/opieftp.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opieftp/opieftp.cpp52
1 files changed, 32 insertions, 20 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index 37e2134..fd6b028 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -18,12 +18,13 @@
#include <qpe/qpemenubar.h>
#include <qpe/qpetoolbar.h>
#include <qpe/qpeapplication.h>
#include <qpe/resource.h>
#include <qpe/qcopenvelope_qws.h>
#include <qpe/config.h>
+#include <qpe/mimetype.h>
#include <qstringlist.h>
#include <qtextstream.h>
#include <qpushbutton.h>
#include <qtoolbutton.h>
#include <qdatetime.h>
@@ -199,12 +200,13 @@ OpieFtp::OpieFtp( )
connect(ServerComboBox,SIGNAL(textChanged(const QString &)),this,SLOT(serverComboEdited(const QString & ) ));
QLabel *TextLabel5 = new QLabel( tab_3, "TextLabel5" );
TextLabel5->setText( tr( "Remote path" ) );
tabLayout_3->addMultiCellWidget( TextLabel5, 2, 2, 2, 3 );
+
remotePath = new QLineEdit( "/", tab_3, "remotePath" );
tabLayout_3->addMultiCellWidget( remotePath, 3, 3, 2, 3 );
TextLabel4 = new QLabel( tab_3, "TextLabel4" );
TextLabel4->setText( tr( "Port" ) );
tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 );
@@ -222,13 +224,12 @@ OpieFtp::OpieFtp( )
connectServerBtn = new QPushButton( "Connect", tab_3 , "ConnectButton" );
tabLayout_3->addMultiCellWidget( connectServerBtn, 5, 5, 0, 1);
connectServerBtn->setToggleButton(TRUE);
connect(connectServerBtn,SIGNAL( toggled( bool)),SLOT( connectorBtnToggled(bool) ));
-
QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
tabLayout_3->addItem( spacer, 5, 0 );
TabWidget->insertTab( tab_3, tr( "Config" ) );
connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
@@ -237,17 +238,17 @@ OpieFtp::OpieFtp( )
currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
currentDir.setPath( QDir::currentDirPath());
// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
currentPathCombo = new QComboBox( FALSE, this, "currentPathCombo" );
layout->addMultiCellWidget( currentPathCombo, 3, 3, 0, 3 );
-
+ currentPathCombo->setEditable(TRUE);
currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
connect( currentPathCombo, SIGNAL( activated( const QString & ) ),
- this, SLOT( currentPathComboChanged()currentPathCombo( const QString & ) ) );
+ this, SLOT( currentPathComboActivated( const QString & ) ) );
connect( currentPathCombo->lineEdit(),SIGNAL(returnPressed()),
this,SLOT(currentPathComboChanged()));
ProgressBar = new QProgressBar( this, "ProgressBar" );
layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 3 );
@@ -262,12 +263,13 @@ OpieFtp::OpieFtp( )
// ServerComboBox->lineEdit()->setText( tr( "llornkcor.com" ) );
// UsernameComboBox->lineEdit()->setText("llornkcor");
// PortSpinBox->setValue( 21);
// remotePath->setText( currentRemoteDir = "/home/llornkcor");
PasswordEdit->setText( tr( "" ) );
#endif
+
filterStr="*";
b=FALSE;
populateLocalView();
readConfig();
ServerComboBox->setCurrentItem(currentServerConfig);
TabWidget->setCurrentPage(2);
@@ -323,13 +325,13 @@ void OpieFtp::newConnection()
currentServerConfig = -1;
}
void OpieFtp::serverComboEdited(const QString & edit) {
if( !edit.isEmpty() ) {
currentServerConfig = -1;
- qDebug("comboedited");
+// qDebug("comboedited");
}
}
void OpieFtp::connectorBtnToggled(bool On)
{
if(On) {
@@ -547,30 +549,36 @@ void OpieFtp::populateLocalView()
if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
fileL+="/";
isDir=TRUE;
// qDebug( fileL);
}
}
- if(fileL !="./") {
- item= new QListViewItem( ListView,fileL,fileS , fileDate);
+ if(fileL !="./" && fi->exists()) {
+ item= new QListViewItem( Local_View,fileL,fileS , fileDate);
QPixmap pm;
- pm= Resource::loadPixmap( "folder" );
if(isDir || fileL.find("/",0,TRUE) != -1) {
if( !QDir( fi->filePath() ).isReadable())
pm = Resource::loadPixmap( "lockedfolder" );
+ else
+ pm= Resource::loadPixmap( "folder" );
item->setPixmap( 0,pm );
} else {
if( !fi->isReadable() )
pm = Resource::loadPixmap( "locked" );
- else
- pm = Resource::loadPixmap( "fileopen" );
+ else {
+ MimeType mt(fi->filePath());
+ pm=mt.pixmap();
+ if(pm.isNull())
+ pm = Resource::loadPixmap( "UnknownDocument-14" );
item->setPixmap( 0,pm);
}
+ }
if( fileL.find("->",0,TRUE) != -1) {
// overlay link image
+ pm= Resource::loadPixmap( "folder" );
QPixmap lnk = Resource::loadPixmap( "symlink" );
QPainter painter( &pm );
painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk );
pm.setMask( pm.createHeuristicMask( FALSE ) );
item->setPixmap( 0, pm);
}
@@ -637,12 +645,13 @@ bool OpieFtp::populateRemoteView( )
Remote_View->setSorting( 4,TRUE);
return true;
}
void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
{
+ if(item) {
QCopEnvelope ( "QPE/System", "busy()" );
QString oldRemoteCurrentDir = currentRemoteDir;
QString strItem=selectedItem->text(0);
strItem=strItem.simplifyWhiteSpace();
if(strItem == "../") { // the user wants to go ^
if( FtpCDUp( conn) == 0) {
@@ -689,15 +698,17 @@ void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
if(currentRemoteDir.right(1) !="/")
currentRemoteDir +="/";
currentPathCombo->lineEdit()->setText( currentRemoteDir );
fillRemoteCombo( (const QString &)currentDir);
QCopEnvelope ( "QPE/System", "notBusy()" );
}
+}
void OpieFtp::localListClicked(QListViewItem *selectedItem)
{
+ if(item) {
QString strItem=selectedItem->text(0);
QString strSize=selectedItem->text(1);
strSize=strSize.stripWhiteSpace();
if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
// is symlink
QString strItem2 = strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4);
@@ -725,12 +736,13 @@ void OpieFtp::localListClicked(QListViewItem *selectedItem)
qDebug("upload "+strItem);
}
} //end not symlink
chdir(strItem.latin1());
}
}
+}
void OpieFtp::doLocalCd()
{
localListClicked( Local_View->currentItem());
}
@@ -961,46 +973,46 @@ void OpieFtp::localRename()
}
void OpieFtp::currentPathComboActivated(const QString & currentPath) {
if (TabWidget->currentPageIndex() == 0) {
chdir( currentPath.latin1() );
currentDir.cd( currentPath, TRUE);
- populateLocalList();
+ populateLocalView();
update();
} else {
// chdir( currentPath.latin1() );
// currentDir.cd( currentPath, TRUE);
// populateList();
// update();
}
}
void OpieFtp::fillCombo(const QString &currentPath) {
- currentPathComboBox->lineEdit()->setText(currentPath);
+ currentPathCombo->lineEdit()->setText(currentPath);
if( localDirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
- currentPathComboBox->clear();
+ currentPathCombo->clear();
localDirPathStringList.prepend(currentPath );
- currentPathComboBox->insertStringList( localDirPathStringList,-1);
+ currentPathCombo->insertStringList( localDirPathStringList,-1);
}
- currentPathComboBox->lineEdit()->setText(currentPath);
+ currentPathCombo->lineEdit()->setText(currentPath);
if( remoteDirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
- currentPathComboBox->clear();
+ currentPathCombo->clear();
remoteDirPathStringList.prepend(currentPath );
- currentPathComboBox->insertStringList( remoteDirPathStringList,-1);
+ currentPathCombo->insertStringList( remoteDirPathStringList,-1);
}
}
void OpieFtp::fillRemoteCombo(const QString &currentPath) {
- dirPathCombo->lineEdit()->setText(currentPath);
+ currentPathCombo->lineEdit()->setText(currentPath);
if( remoteDirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
- dirPathCombo->clear();
+ currentPathCombo->clear();
remoteDirPathStringList.prepend(currentPath );
- dirPathCombo->insertStringList( remoteDirPathStringList,-1);
+ currentPathCombo->insertStringList( remoteDirPathStringList,-1);
}
}
void OpieFtp::currentPathComboChanged()
{
QString oldRemoteCurrentDir = currentRemoteDir;
@@ -1124,13 +1136,13 @@ void OpieFtp::serverComboSelected(int index)
cfg.setGroup("Server");
int numberOfEntries = cfg.readNumEntry("numberOfEntries",0);
temp.setNum(index+1);
remoteServerStr = cfg.readEntry( temp,"");
cfg.setGroup(temp);
- qDebug(temp);
+// qDebug(temp);
int divider = remoteServerStr.length() - remoteServerStr.find(":",0,TRUE);
port = remoteServerStr.right( divider - 1);
bool ok;
int portInt = port.toInt(&ok,10);
if( portInt == 0) portInt = 21;