summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-04-10 12:38:08 (UTC)
committer llornkcor <llornkcor>2002-04-10 12:38:08 (UTC)
commit1d32fda5b67e89321ecbd0c8700edb8292b9ca90 (patch) (side-by-side diff)
tree1d6058c390c1677360c7282bbf80eb856ebd172f
parentef60c3e367a4ce89367ad6f5c035134bef6602a6 (diff)
downloadopie-1d32fda5b67e89321ecbd0c8700edb8292b9ca90.zip
opie-1d32fda5b67e89321ecbd0c8700edb8292b9ca90.tar.gz
opie-1d32fda5b67e89321ecbd0c8700edb8292b9ca90.tar.bz2
bug fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieftp/opieftp.cpp166
-rw-r--r--noncore/net/opieftp/opieftp.h6
2 files changed, 136 insertions, 36 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index 919649e..fb57193 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -68,30 +68,33 @@ static int log_progress(netbuf *ctl, int xfered, void *arg)
OpieFtp::OpieFtp( )
: QMainWindow( )
{
setCaption( tr( "OpieFtp" ) );
QGridLayout *layout = new QGridLayout( this );
layout->setSpacing( 2);
layout->setMargin( 2);
connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
QPEMenuBar *menuBar = new QPEMenuBar(this);
+// QPEToolBar *menuBar = new QPEToolBar(this);
+// menuBar->setHorizontalStretchable( TRUE );
+
connectionMenu = new QPopupMenu( this );
localMenu = new QPopupMenu( this );
remoteMenu = new QPopupMenu( this );
tabMenu = new QPopupMenu( this );
- layout->addMultiCellWidget( menuBar, 0, 0, 0, 3 );
+ layout->addMultiCellWidget( menuBar, 0, 0, 0, 2 );
menuBar->insertItem( tr( "Connection" ), connectionMenu);
menuBar->insertItem( tr( "Local" ), localMenu);
menuBar->insertItem( tr( "Remote" ), remoteMenu);
menuBar->insertItem( tr( "View" ), tabMenu);
connectionMenu->insertItem( tr( "New" ), this, SLOT( newConnection() ));
connectionMenu->insertItem( tr( "Connect" ), this, SLOT( connector() ));
connectionMenu->insertItem( tr( "Disconnect" ), this, SLOT( disConnector() ));
localMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
localMenu->insertSeparator();
@@ -104,26 +107,47 @@ OpieFtp::OpieFtp( )
remoteMenu->insertItem( tr( "Download" ), this, SLOT( remoteDownload() ));
remoteMenu->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
remoteMenu->insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
remoteMenu->insertSeparator();
remoteMenu->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
tabMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
tabMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
tabMenu->insertItem( tr( "Switch to Config" ), this, SLOT( switchToConfigTab() ));
tabMenu->setCheckable(TRUE);
+
+ cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton");
+ cdUpButton ->setFixedSize( QSize( 20, 20 ) );
+ connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
+ cdUpButton ->setFlat(TRUE);
+ layout->addMultiCellWidget( cdUpButton, 0, 0, 3, 3 );
+ cdUpButton->hide();
+
+// docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
+// docButton->setFixedSize( QSize( 20, 20 ) );
+// connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
+// docButton->setFlat(TRUE);
+// layout->addMultiCellWidget( docButton, 0, 0, 6, 6 );
+
+ homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
+ homeButton->setFixedSize( QSize( 20, 20 ) );
+ connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
+ homeButton->setFlat(TRUE);
+ layout->addMultiCellWidget( homeButton, 0, 0, 4, 4);
+ homeButton->hide();
+
TabWidget = new QTabWidget( this, "TabWidget" );
- layout->addMultiCellWidget( TabWidget, 1, 1, 0, 3 );
+ layout->addMultiCellWidget( TabWidget, 1, 1, 0, 4 );
// TabWidget->setTabShape(QTabWidget::Triangular);
tab = new QWidget( TabWidget, "tab" );
tabLayout = new QGridLayout( tab );
tabLayout->setSpacing( 2);
tabLayout->setMargin( 2);
Local_View = new QListView( tab, "Local_View" );
// Local_View->setResizePolicy( QListView::AutoOneFit );
Local_View->addColumn( tr("File"),150);
Local_View->addColumn( tr("Size"),-1);
@@ -239,36 +263,37 @@ OpieFtp::OpieFtp( )
tabLayout_3->addItem( spacer, 5, 0 );
TabWidget->insertTab( tab_3, tr( "Config" ) );
connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
this,SLOT(tabChanged(QWidget*)));
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 );
+ layout->addMultiCellWidget( currentPathCombo, 3, 3, 0, 4);
+
currentPathCombo->setEditable(TRUE);
currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
connect( currentPathCombo, SIGNAL( activated( 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 );
+ layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 4);
// fillCombos();
filterStr="*";
b=FALSE;
populateLocalView();
readConfig();
ServerComboBox->setCurrentItem(currentServerConfig);
TabWidget->setCurrentPage(2);
}
@@ -285,39 +310,50 @@ void OpieFtp::cleanUp()
sfile+="/._temp";
else
sfile+="._temp";
QFile file( sfile);
if(file.exists())
file.remove();
exit(0);
}
void OpieFtp::tabChanged(QWidget *w)
{
if (TabWidget->currentPageIndex() == 0) {
- currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
- tabMenu->setItemChecked(tabMenu->idAt(0),TRUE);
- tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
- tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
+ currentPathCombo->lineEdit()->setText( currentDir.canonicalPath());
+ tabMenu->setItemChecked(tabMenu->idAt(0),TRUE);
+ tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
+ tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
+ if(cdUpButton->isHidden())
+ cdUpButton->show();
+ if(homeButton->isHidden())
+ homeButton->show();
+
}
- if (TabWidget->currentPageIndex() == 1) {
- currentPathCombo->lineEdit()->setText( currentRemoteDir );
- tabMenu->setItemChecked(tabMenu->idAt(1),TRUE);
- tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
- tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
+ if (TabWidget->currentPageIndex() == 1) {
+ currentPathCombo->lineEdit()->setText( currentRemoteDir );
+ tabMenu->setItemChecked(tabMenu->idAt(1),TRUE);
+ tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
+ tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
+ if(cdUpButton->isHidden())
+ cdUpButton->show();
+ homeButton->hide();
+
}
- if (TabWidget->currentPageIndex() == 2) {
- tabMenu->setItemChecked(tabMenu->idAt(2),TRUE);
- tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
- tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
+ if (TabWidget->currentPageIndex() == 2) {
+ tabMenu->setItemChecked(tabMenu->idAt(2),TRUE);
+ tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
+ tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
+ cdUpButton->hide();
+ homeButton->hide();
}
}
void OpieFtp::newConnection()
{
UsernameComboBox->lineEdit()->setText("");
PasswordEdit->setText( "" );
ServerComboBox->lineEdit()->setText( "");
remotePath->setText( currentRemoteDir = "/");
PortSpinBox->setValue( 21);
TabWidget->setCurrentPage(2);
}
@@ -333,25 +369,25 @@ void OpieFtp::serverComboEdited(const QString & edit)
void OpieFtp::connectorBtnToggled(bool On)
{
if(On) {
connector();
} else {
disConnector();
}
}
void OpieFtp::connector()
{
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
// qApp->processEvents();
currentRemoteDir=remotePath->text();
if(ServerComboBox->currentText().isEmpty()) {
QMessageBox::warning(this,tr("Ftp"),tr("Please set the server info"),tr("Ok"),0,0);
TabWidget->setCurrentPage(2);
ServerComboBox->setFocus();
connectServerBtn->setOn(FALSE);
connectServerBtn->setText( tr("Connect"));
return;
}
FtpInit();
TabWidget->setCurrentPage(1);
@@ -376,42 +412,42 @@ void OpieFtp::connector()
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
if(conn)
FtpQuit(conn);
connectServerBtn->setOn(FALSE);
connectServerBtn->setText( tr("Connect"));
return ;
}
remoteDirList("/") ;
setCaption(ftp_host);
writeConfig();
connectServerBtn->setText( tr("Disconnect"));
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
}
void OpieFtp::disConnector()
{
if(conn)
FtpQuit(conn);
setCaption("OpieFtp");
currentRemoteDir="/";
Remote_View->clear();
connectServerBtn->setText( tr("Connect"));
connectServerBtn->setOn(FALSE);
}
void OpieFtp::localUpload()
{
int fsz;
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
// qApp->processEvents();
QList<QListViewItem> * getSelectedItems( QListView * Local_View );
QListViewItemIterator it( Local_View );
for ( ; it.current(); ++it ) {
if ( it.current()->isSelected() ) {
QString strItem = it.current()->text(0);
QString localFile = currentDir.canonicalPath()+"/"+strItem;
QString remoteFile= currentRemoteDir+strItem;
QFileInfo fi(localFile);
if( !fi.isDir()) {
fsz=fi.size();
ProgressBar->setTotalSteps(fsz);
@@ -429,40 +465,41 @@ void OpieFtp::localUpload()
QMessageBox::message(tr("Note"),msg);
}
} else {
QMessageBox::message(tr("Note"),tr("Cannot upload directories"));
}
ProgressBar->reset();
nullifyCallBack();
} //end currentSelected
it.current()->setSelected(FALSE);
}
TabWidget->setCurrentPage(1);
remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
+
}
void OpieFtp::nullifyCallBack()
{
FtpOptions(FTPLIB_CALLBACK, NULL, conn);
FtpOptions(FTPLIB_IDLETIME, NULL, conn);
FtpOptions(FTPLIB_CALLBACKARG, NULL, conn);
FtpOptions(FTPLIB_CALLBACKBYTES, NULL, conn);
}
void OpieFtp::remoteDownload()
{
// qApp->processEvents();
int fsz;
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
QList<QListViewItem> * getSelectedItems( QListView * Remote_View );
QListViewItemIterator it( Remote_View );
for ( ; it.current(); ++it ) {
if ( it.current()->isSelected() ) {
QString strItem = it.current()->text(0);
// strItem=strItem.right(strItem.length()-1);
QString localFile = currentDir.canonicalPath();
if(localFile.right(1).find("/",0,TRUE) == -1)
localFile += "/";
localFile += strItem;
// QString localFile = currentDir.canonicalPath()+"/"+strItem;
@@ -483,61 +520,62 @@ void OpieFtp::remoteDownload()
QString msg;
msg.sprintf(tr("Unable to download \n")+"%s",FtpLastResponse(conn));
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
}
ProgressBar->reset();
nullifyCallBack();
}
it.current()->setSelected(FALSE);
}
TabWidget->setCurrentPage(0);
populateLocalView();
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
+
}
bool OpieFtp::remoteDirList(const QString &dir)
{
QString tmp = QDir::homeDirPath();
if(tmp.right(1) != "/")
tmp+="/._temp";
else
tmp+="._temp";
// qDebug("Listing remote dir "+tmp);
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
if (!FtpDir( tmp.latin1(), dir.latin1(), conn) ) {
QString msg;
msg.sprintf(tr("Unable to list the directory\n")+dir+"\n%s",FtpLastResponse(conn) );
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
return false;
}
populateRemoteView() ;
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
return true;
}
bool OpieFtp::remoteChDir(const QString &dir)
{
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
if (!FtpChdir( dir.latin1(), conn )) {
QString msg;
msg.sprintf(tr("Unable to change directories\n")+dir+"\n%s",FtpLastResponse(conn));
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
// qDebug(msg);
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
return FALSE;
}
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
return TRUE;
}
void OpieFtp::populateLocalView()
{
Local_View->clear();
currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
currentDir.setMatchAllDirs(TRUE);
currentDir.setNameFilter(filterStr);
QString fileL, fileS, fileDate;
bool isDir=FALSE;
const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
@@ -590,24 +628,25 @@ void OpieFtp::populateLocalView()
QPainter painter( &pm );
painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk );
pm.setMask( pm.createHeuristicMask( FALSE ) );
item->setPixmap( 0, pm);
}
}
isDir=FALSE;
++it;
}
Local_View->setSorting( 3,FALSE);
currentPathCombo->lineEdit()->setText( currentDir.canonicalPath() );
fillCombo( (const QString &)currentDir);
+
}
bool OpieFtp::populateRemoteView( )
{
// qDebug("populate remoteview");
QString sfile=QDir::homeDirPath();
if(sfile.right(1) != "/")
sfile+="/._temp";
else
sfile+="._temp";
QFile file( sfile);
Remote_View->clear();
@@ -690,25 +729,25 @@ void OpieFtp::remoteListClicked(QListViewItem *selectedItem)
// qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
}
} else if(strItem.find("/",0,TRUE) != -1) { // this is a directory
if( !remoteChDir( (const QString &)currentRemoteDir + strItem)) {
currentRemoteDir = oldRemoteCurrentDir;
strItem="";
// qDebug("RemoteCurrentDir1 "+oldRemoteCurrentDir);
} else {
currentRemoteDir = currentRemoteDir+strItem;
}
} else {
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
return;
}
}
remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
if(currentRemoteDir.right(1) !="/")
currentRemoteDir +="/";
currentPathCombo->lineEdit()->setText( currentRemoteDir);
fillRemoteCombo( (const QString &)currentRemoteDir);
// QCopEnvelope ( "QPE/System", "notBusy()" );
}
}
@@ -742,24 +781,25 @@ void OpieFtp::localListClicked(QListViewItem *selectedItem)
populateLocalView();
}
} else {
strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
if( QFile::exists(strItem ) ) {
// qDebug("upload "+strItem);
return;
}
} //end not symlink
chdir(strItem.latin1());
}
}
+
}
void OpieFtp::doLocalCd()
{
localListClicked( Local_View->currentItem());
}
void OpieFtp:: doRemoteCd()
{
remoteListClicked( Remote_View->currentItem());
}
@@ -879,40 +919,40 @@ void OpieFtp::localDelete()
};
}
}
void OpieFtp::remoteMakDir()
{
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString filename = fileDlg->LineEdit1->text();//+".playlist";
QString tmp=currentRemoteDir+filename;
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
if(FtpMkdir( tmp.latin1(), conn) == 0) {
QString msg;
msg.sprintf(tr("Unable to make directory\n")+"%s",FtpLastResponse(conn));
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
}
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
}
}
void OpieFtp::remoteDelete()
{
QString f = Remote_View->currentItem()->text(0);
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
if( f.right(1) =="/") {
QString path= currentRemoteDir+f;
switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+"?"
,tr("Yes"),tr("No"),0,0,1) ) {
case 0: {
f=currentDir.canonicalPath()+"/"+f;
if(FtpRmdir( path.latin1(), conn) ==0) {
QString msg;
msg.sprintf(tr("Unable to remove directory\n")+"%s",FtpLastResponse(conn));
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
}
@@ -927,45 +967,45 @@ void OpieFtp::remoteDelete()
QString path= currentRemoteDir+f;
if(FtpDelete( path.latin1(), conn)==0) {
QString msg;
msg.sprintf(tr("Unable to delete file\n")+"%s",FtpLastResponse(conn));
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
}
remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
}
break;
};
}
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
}
void OpieFtp::remoteRename()
{
QString curFile = Remote_View->currentItem()->text(0);
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
fileDlg->setTextEdit((const QString &)curFile);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString oldName = currentRemoteDir +"/"+ curFile;
QString newName = currentRemoteDir +"/"+ fileDlg->LineEdit1->text();//+".playlist";
- QCopEnvelope ( "QPE/System", "busy()" );
+// QCopEnvelope ( "QPE/System", "busy()" );
if(FtpRename( oldName.latin1(), newName.latin1(),conn) == 0) {
QString msg;
msg.sprintf(tr("Unable to rename file\n")+"%s",FtpLastResponse(conn));
msg.replace(QRegExp(":"),"\n");
QMessageBox::message(tr("Note"),msg);
}
- QCopEnvelope ( "QPE/System", "notBusy()" );
+// QCopEnvelope ( "QPE/System", "notBusy()" );
remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
}
}
void OpieFtp::localRename()
{
QString curFile = Local_View->currentItem()->text(0);
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
fileDlg->setTextEdit((const QString &)curFile);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
@@ -1182,12 +1222,68 @@ void OpieFtp::deleteServer()
cfg.setGroup("Server");
int numberOfEntries = cfg.readNumEntry("numberOfEntries",0);
for (int i = 0; i <= numberOfEntries; i++) {
temp.setNum(i+1);
cfg.setGroup("Server");
if( cfg.readEntry( temp,"").find( remoteServerStr,0,TRUE) != -1
&& cfg.readEntry(temp).find(username,0,TRUE) != -1
&& !remoteServerStr.isEmpty()) {
qDebug(temp);
}
}
}
+
+void OpieFtp::upDir()
+{
+ if (TabWidget->currentPageIndex() == 0) {
+ QString current = currentDir.canonicalPath();
+ QDir dir(current);
+ dir.cdUp();
+ current = dir.canonicalPath();
+ chdir( current.latin1() );
+ currentDir.cd( current, TRUE);
+ populateLocalView();
+ update();
+ } else {
+ if( FtpCDUp( conn) == 0) {
+ QString msg;
+ msg.sprintf(tr("Unable to cd up\n")+"%s",FtpLastResponse(conn));
+ msg.replace(QRegExp(":"),"\n");
+ QMessageBox::message(tr("Note"),msg);
+// qDebug(msg);
+ }
+ char path[256];
+ if( FtpPwd( path,sizeof(path),conn) == 0) { //this is easier than fudging the string
+ QString msg;
+ msg.sprintf(tr("Unable to get working dir\n")+"%s",FtpLastResponse(conn));
+ msg.replace(QRegExp(":"),"\n");
+ QMessageBox::message(tr("Note"),msg);
+// qDebug(msg);
+ }
+ currentRemoteDir=path;
+ remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
+ if(currentRemoteDir.right(1) !="/")
+ currentRemoteDir +="/";
+ currentPathCombo->lineEdit()->setText( currentRemoteDir);
+ fillRemoteCombo( (const QString &)currentRemoteDir);
+ populateRemoteView( );
+ }
+}
+
+void OpieFtp::docButtonPushed() {
+ QString current = QPEApplication::documentDir();
+ chdir( current.latin1() );
+ currentDir.cd( current, TRUE);
+ populateLocalView();
+ update();
+
+}
+
+void OpieFtp::homeButtonPushed() {
+ if (TabWidget->currentPageIndex() == 0) {
+ QString current = QDir::homeDirPath();
+ chdir( current.latin1() );
+ currentDir.cd( current, TRUE);
+ populateLocalView();
+ update();
+ }
+}
diff --git a/noncore/net/opieftp/opieftp.h b/noncore/net/opieftp/opieftp.h
index 32862c7..6852b1c 100644
--- a/noncore/net/opieftp/opieftp.h
+++ b/noncore/net/opieftp/opieftp.h
@@ -51,28 +51,32 @@ public:
QWidget *tab, *tab_2, *tab_3;
QListView *Local_View, *Remote_View;
QComboBox *UsernameComboBox, *ServerComboBox, *currentPathCombo;
QLineEdit *PasswordEdit, *remotePath;
QLabel *TextLabel2, *TextLabel1, *TextLabel3, *TextLabel4;;
QSpinBox* PortSpinBox;
QPopupMenu *connectionMenu, *localMenu, *remoteMenu, *tabMenu;
QDir currentDir;
QString currentRemoteDir;
QString filterStr;
QListViewItem * item;
- QPushButton *connectServerBtn;
+ QPushButton *connectServerBtn, *cdUpButton, *homeButton, *docButton;
bool b;
int currentServerConfig;
protected slots:
+ void upDir();
+ void homeButtonPushed();
+ void docButtonPushed();
+
void serverComboEdited(const QString & );
void showLocalMenu( QListViewItem *);
void showRemoteMenu( QListViewItem *);
void doLocalCd();
void doRemoteCd();
void localUpload();
void remoteDownload();
void newConnection();
void connector();
void disConnector();
void populateLocalView();
bool populateRemoteView();