summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-03-17 01:44:37 (UTC)
committer llornkcor <llornkcor>2002-03-17 01:44:37 (UTC)
commit624a283591094628425c94fedfdd62941ad7c853 (patch) (unidiff)
tree092b96fa04b16eae5e9702a7a83c67e1cb6a7e60
parent2fe80a98551e89b45798369f1bf91f0368382ba6 (diff)
downloadopie-624a283591094628425c94fedfdd62941ad7c853.zip
opie-624a283591094628425c94fedfdd62941ad7c853.tar.gz
opie-624a283591094628425c94fedfdd62941ad7c853.tar.bz2
added checks on the 'View' menu for which tab is current
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieftp/opieftp.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp
index 6a3a64d..118275b 100644
--- a/noncore/net/opieftp/opieftp.cpp
+++ b/noncore/net/opieftp/opieftp.cpp
@@ -1,363 +1,373 @@
1/*************************************************************************** 1/***************************************************************************
2 opieftp.cpp 2 opieftp.cpp
3 ------------------- 3 -------------------
4** Created: Sat Mar 9 23:33:09 2002 4** Created: Sat Mar 9 23:33:09 2002
5 copyright : (C) 2002 by ljp 5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com 6 email : ljp@llornkcor.com
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 ***************************************************************************/ 11 ***************************************************************************/
12 12
13#include "opieftp.h" 13#include "opieftp.h"
14#include "ftplib.h" 14#include "ftplib.h"
15#include "inputDialog.h" 15#include "inputDialog.h"
16 16
17#include <qpe/qpemenubar.h> 17#include <qpe/qpemenubar.h>
18#include <qpe/qpetoolbar.h> 18#include <qpe/qpetoolbar.h>
19#include <qpe/qpeapplication.h> 19#include <qpe/qpeapplication.h>
20#include <qpe/resource.h> 20#include <qpe/resource.h>
21#include <qpe/qcopenvelope_qws.h> 21#include <qpe/qcopenvelope_qws.h>
22 22
23#include <qtextstream.h> 23#include <qtextstream.h>
24#include <qtoolbutton.h> 24#include <qtoolbutton.h>
25#include <qdatetime.h> 25#include <qdatetime.h>
26#include <qdir.h> 26#include <qdir.h>
27#include <qfile.h> 27#include <qfile.h>
28#include <qstring.h> 28#include <qstring.h>
29#include <qcombobox.h> 29#include <qcombobox.h>
30#include <qpopupmenu.h> 30#include <qpopupmenu.h>
31#include <qlistview.h> 31#include <qlistview.h>
32#include <qmainwindow.h> 32#include <qmainwindow.h>
33#include <qlabel.h> 33#include <qlabel.h>
34#include <qprogressbar.h> 34#include <qprogressbar.h>
35#include <qspinbox.h> 35#include <qspinbox.h>
36#include <qtabwidget.h> 36#include <qtabwidget.h>
37#include <qwidget.h> 37#include <qwidget.h>
38#include <qlayout.h> 38#include <qlayout.h>
39#include <qimage.h> 39#include <qimage.h>
40#include <qpixmap.h> 40#include <qpixmap.h>
41#include <qmessagebox.h> 41#include <qmessagebox.h>
42#include <qlineedit.h> 42#include <qlineedit.h>
43#include <qregexp.h> 43#include <qregexp.h>
44 44
45#include <unistd.h> 45#include <unistd.h>
46#include <stdlib.h> 46#include <stdlib.h>
47 47
48QProgressBar *ProgressBar; 48QProgressBar *ProgressBar;
49static netbuf *conn=NULL; 49static netbuf *conn=NULL;
50 50
51static int log_progress(netbuf *ctl, int xfered, void *arg) 51static int log_progress(netbuf *ctl, int xfered, void *arg)
52{ 52{
53 int fsz = *(int *)arg; 53 int fsz = *(int *)arg;
54 int pct = (xfered * 100) / fsz; 54 int pct = (xfered * 100) / fsz;
55// printf("%3d%%\r", pct); 55// printf("%3d%%\r", pct);
56// fflush(stdout); 56// fflush(stdout);
57 ProgressBar->setProgress(xfered); 57 ProgressBar->setProgress(xfered);
58 qApp->processEvents(); 58 qApp->processEvents();
59 return 1; 59 return 1;
60} 60}
61 61
62OpieFtp::OpieFtp( ) 62OpieFtp::OpieFtp( )
63 : QMainWindow( ) 63 : QMainWindow( )
64{ 64{
65 setCaption( tr( "OpieFtp" ) ); 65 setCaption( tr( "OpieFtp" ) );
66 66
67 QGridLayout *layout = new QGridLayout( this ); 67 QGridLayout *layout = new QGridLayout( this );
68 layout->setSpacing( 2); 68 layout->setSpacing( 2);
69 layout->setMargin( 2); 69 layout->setMargin( 2);
70 70
71 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 71 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
72 72
73 QPEMenuBar *menuBar = new QPEMenuBar(this); 73 QPEMenuBar *menuBar = new QPEMenuBar(this);
74 connectionMenu = new QPopupMenu( this ); 74 connectionMenu = new QPopupMenu( this );
75 localMenu = new QPopupMenu( this ); 75 localMenu = new QPopupMenu( this );
76 remoteMenu = new QPopupMenu( this ); 76 remoteMenu = new QPopupMenu( this );
77 tabMenu = new QPopupMenu( this ); 77 tabMenu = new QPopupMenu( this );
78 78
79 layout->addMultiCellWidget( menuBar, 0, 0, 0, 3 ); 79 layout->addMultiCellWidget( menuBar, 0, 0, 0, 3 );
80 80
81 menuBar->insertItem( tr( "Connection" ), connectionMenu); 81 menuBar->insertItem( tr( "Connection" ), connectionMenu);
82 menuBar->insertItem( tr( "Local" ), localMenu); 82 menuBar->insertItem( tr( "Local" ), localMenu);
83 menuBar->insertItem( tr( "Remote" ), remoteMenu); 83 menuBar->insertItem( tr( "Remote" ), remoteMenu);
84 menuBar->insertItem( tr( "View" ), tabMenu); 84 menuBar->insertItem( tr( "View" ), tabMenu);
85 85
86 connectionMenu->insertItem( tr( "New" ), this, SLOT( newConnection() )); 86 connectionMenu->insertItem( tr( "New" ), this, SLOT( newConnection() ));
87 connectionMenu->insertItem( tr( "Connect" ), this, SLOT( connector() )); 87 connectionMenu->insertItem( tr( "Connect" ), this, SLOT( connector() ));
88 connectionMenu->insertItem( tr( "Disconnect" ), this, SLOT( disConnector() )); 88 connectionMenu->insertItem( tr( "Disconnect" ), this, SLOT( disConnector() ));
89 89
90 localMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 90 localMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
91 localMenu->insertSeparator(); 91 localMenu->insertSeparator();
92 localMenu->insertItem( tr( "Upload" ), this, SLOT( localUpload() )); 92 localMenu->insertItem( tr( "Upload" ), this, SLOT( localUpload() ));
93 localMenu->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); 93 localMenu->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
94 localMenu->insertItem( tr( "Rename" ), this, SLOT( localRename() )); 94 localMenu->insertItem( tr( "Rename" ), this, SLOT( localRename() ));
95 localMenu->insertSeparator(); 95 localMenu->insertSeparator();
96 localMenu->insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 96 localMenu->insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
97 97
98 remoteMenu->insertItem( tr( "Download" ), this, SLOT( remoteDownload() )); 98 remoteMenu->insertItem( tr( "Download" ), this, SLOT( remoteDownload() ));
99 remoteMenu->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 99 remoteMenu->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
100 remoteMenu->insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 100 remoteMenu->insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
101 remoteMenu->insertSeparator(); 101 remoteMenu->insertSeparator();
102 remoteMenu->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 102 remoteMenu->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
103 103
104 tabMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() )); 104 tabMenu->insertItem( tr( "Switch to Local" ), this, SLOT( switchToLocalTab() ));
105 tabMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() )); 105 tabMenu->insertItem( tr( "Switch to Remote" ), this, SLOT( switchToRemoteTab() ));
106 tabMenu->insertItem( tr( "Switch to Config" ), this, SLOT( switchToConfigTab() )); 106 tabMenu->insertItem( tr( "Switch to Config" ), this, SLOT( switchToConfigTab() ));
107 tabMenu->setCheckable(TRUE);
107 108
108 TabWidget = new QTabWidget( this, "TabWidget" ); 109 TabWidget = new QTabWidget( this, "TabWidget" );
109 layout->addMultiCellWidget( TabWidget, 1, 1, 0, 3 ); 110 layout->addMultiCellWidget( TabWidget, 1, 1, 0, 3 );
110 111
111 TabWidget->setTabShape(QTabWidget::Triangular); 112 TabWidget->setTabShape(QTabWidget::Triangular);
112 113
113 tab = new QWidget( TabWidget, "tab" ); 114 tab = new QWidget( TabWidget, "tab" );
114 tabLayout = new QGridLayout( tab ); 115 tabLayout = new QGridLayout( tab );
115 tabLayout->setSpacing( 2); 116 tabLayout->setSpacing( 2);
116 tabLayout->setMargin( 2); 117 tabLayout->setMargin( 2);
117 118
118 Local_View = new QListView( tab, "Local_View" ); 119 Local_View = new QListView( tab, "Local_View" );
119// Local_View->setResizePolicy( QListView::AutoOneFit ); 120// Local_View->setResizePolicy( QListView::AutoOneFit );
120 Local_View->addColumn( "File",120); 121 Local_View->addColumn( "File",120);
121 Local_View->addColumn( "Size",-1); 122 Local_View->addColumn( "Size",-1);
122 Local_View->setColumnAlignment(1,QListView::AlignRight); 123 Local_View->setColumnAlignment(1,QListView::AlignRight);
123 Local_View->addColumn( "Date",-1); 124 Local_View->addColumn( "Date",-1);
124 Local_View->setColumnAlignment(2,QListView::AlignRight); 125 Local_View->setColumnAlignment(2,QListView::AlignRight);
125 Local_View->setAllColumnsShowFocus(TRUE); 126 Local_View->setAllColumnsShowFocus(TRUE);
126 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold); 127 QPEApplication::setStylusOperation( Local_View->viewport(),QPEApplication::RightOnHold);
127 128
128 tabLayout->addWidget( Local_View, 0, 0 ); 129 tabLayout->addWidget( Local_View, 0, 0 );
129 130
130 connect( Local_View, SIGNAL( doubleClicked( QListViewItem*)), 131 connect( Local_View, SIGNAL( doubleClicked( QListViewItem*)),
131 this,SLOT( localListClicked(QListViewItem *)) ); 132 this,SLOT( localListClicked(QListViewItem *)) );
132 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 133 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
133 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 134 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
134 135
135 TabWidget->insertTab( tab, tr( "Local" ) ); 136 TabWidget->insertTab( tab, tr( "Local" ) );
136 137
137 tab_2 = new QWidget( TabWidget, "tab_2" ); 138 tab_2 = new QWidget( TabWidget, "tab_2" );
138 tabLayout_2 = new QGridLayout( tab_2 ); 139 tabLayout_2 = new QGridLayout( tab_2 );
139 tabLayout_2->setSpacing( 2); 140 tabLayout_2->setSpacing( 2);
140 tabLayout_2->setMargin( 2); 141 tabLayout_2->setMargin( 2);
141 142
142 Remote_View = new QListView( tab_2, "Remote_View" ); 143 Remote_View = new QListView( tab_2, "Remote_View" );
143 Remote_View->addColumn( "File",120); 144 Remote_View->addColumn( "File",120);
144 Remote_View->addColumn( "Size",-1); 145 Remote_View->addColumn( "Size",-1);
145 Remote_View->setColumnAlignment(1,QListView::AlignRight); 146 Remote_View->setColumnAlignment(1,QListView::AlignRight);
146 Remote_View->addColumn( "Date",-1); 147 Remote_View->addColumn( "Date",-1);
147 Remote_View->setColumnAlignment(2,QListView::AlignRight); 148 Remote_View->setColumnAlignment(2,QListView::AlignRight);
148 Remote_View->setAllColumnsShowFocus(TRUE); 149 Remote_View->setAllColumnsShowFocus(TRUE);
149 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); 150 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
150 151
151 connect( Remote_View, SIGNAL( doubleClicked( QListViewItem*)), 152 connect( Remote_View, SIGNAL( doubleClicked( QListViewItem*)),
152 this,SLOT( remoteListClicked(QListViewItem *)) ); 153 this,SLOT( remoteListClicked(QListViewItem *)) );
153 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 154 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
154 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) ); 155 this,SLOT( RemoteListPressed(int, QListViewItem *, const QPoint&, int)) );
155 156
156 tabLayout_2->addWidget( Remote_View, 0, 0 ); 157 tabLayout_2->addWidget( Remote_View, 0, 0 );
157 158
158 TabWidget->insertTab( tab_2, tr( "Remote" ) ); 159 TabWidget->insertTab( tab_2, tr( "Remote" ) );
159 160
160 tab_3 = new QWidget( TabWidget, "tab_3" ); 161 tab_3 = new QWidget( TabWidget, "tab_3" );
161 tabLayout_3 = new QGridLayout( tab_3 ); 162 tabLayout_3 = new QGridLayout( tab_3 );
162 tabLayout_3->setSpacing( 2); 163 tabLayout_3->setSpacing( 2);
163 tabLayout_3->setMargin( 2); 164 tabLayout_3->setMargin( 2);
164 165
165 TextLabel1 = new QLabel( tab_3, "TextLabel1" ); 166 TextLabel1 = new QLabel( tab_3, "TextLabel1" );
166 TextLabel1->setText( tr( "Username" ) ); 167 TextLabel1->setText( tr( "Username" ) );
167 tabLayout_3->addMultiCellWidget( TextLabel1, 0, 0, 0, 1 ); 168 tabLayout_3->addMultiCellWidget( TextLabel1, 0, 0, 0, 1 );
168 169
169 UsernameComboBox = new QComboBox( FALSE, tab_3, "UsernameComboBox" ); 170 UsernameComboBox = new QComboBox( FALSE, tab_3, "UsernameComboBox" );
170 UsernameComboBox->setEditable(TRUE); 171 UsernameComboBox->setEditable(TRUE);
171// UsernameComboBox->lineEdit()->setText("anonymous"); 172// UsernameComboBox->lineEdit()->setText("anonymous");
172 UsernameComboBox->lineEdit()->setText("root"); 173 UsernameComboBox->lineEdit()->setText("root");
173// UsernameComboBox->lineEdit()->setText("llornkcor"); 174// UsernameComboBox->lineEdit()->setText("llornkcor");
174 tabLayout_3->addMultiCellWidget( UsernameComboBox, 1, 1, 0, 1 ); 175 tabLayout_3->addMultiCellWidget( UsernameComboBox, 1, 1, 0, 1 );
175 176
176 TextLabel2 = new QLabel( tab_3, "TextLabel2" ); 177 TextLabel2 = new QLabel( tab_3, "TextLabel2" );
177 TextLabel2->setText( tr( "Password" ) ); 178 TextLabel2->setText( tr( "Password" ) );
178 tabLayout_3->addMultiCellWidget( TextLabel2, 0, 0, 2, 3 ); 179 tabLayout_3->addMultiCellWidget( TextLabel2, 0, 0, 2, 3 );
179 180
180 PasswordEdit = new QLineEdit( "", tab_3, "PasswordComboBox" ); 181 PasswordEdit = new QLineEdit( "", tab_3, "PasswordComboBox" );
181 PasswordEdit->setEchoMode(QLineEdit::Password); 182 PasswordEdit->setEchoMode(QLineEdit::Password);
182// PasswordEdit->setText( tr( "me@opieftp.org" ) ); 183// PasswordEdit->setText( tr( "me@opieftp.org" ) );
183// PasswordEdit->setText( tr( "" ) ); 184// PasswordEdit->setText( tr( "" ) );
184 tabLayout_3->addMultiCellWidget( PasswordEdit, 1, 1, 2, 3 ); 185 tabLayout_3->addMultiCellWidget( PasswordEdit, 1, 1, 2, 3 );
185 186
186 TextLabel3 = new QLabel( tab_3, "TextLabel3" ); 187 TextLabel3 = new QLabel( tab_3, "TextLabel3" );
187 TextLabel3->setText( tr( "Remote server" ) ); 188 TextLabel3->setText( tr( "Remote server" ) );
188 tabLayout_3->addMultiCellWidget( TextLabel3, 2, 2, 0, 1 ); 189 tabLayout_3->addMultiCellWidget( TextLabel3, 2, 2, 0, 1 );
189 190
190 ServerComboBox = new QComboBox( FALSE, tab_3, "ServerComboBox" ); 191 ServerComboBox = new QComboBox( FALSE, tab_3, "ServerComboBox" );
191 ServerComboBox->setEditable(TRUE); 192 ServerComboBox->setEditable(TRUE);
192 ServerComboBox->lineEdit()->setText( tr( "" ) ); 193 ServerComboBox->lineEdit()->setText( tr( "" ) );
193 tabLayout_3->addMultiCellWidget( ServerComboBox, 3, 3, 0, 1 ); 194 tabLayout_3->addMultiCellWidget( ServerComboBox, 3, 3, 0, 1 );
194// ServerComboBox->lineEdit()->setText( tr( "llornkcor.com" ) ); 195// ServerComboBox->lineEdit()->setText( tr( "llornkcor.com" ) );
195 ServerComboBox->lineEdit()->setText( tr( "192.168.129.201" ) ); 196 ServerComboBox->lineEdit()->setText( tr( "192.168.129.201" ) );
196 197
197 QLabel *TextLabel5 = new QLabel( tab_3, "TextLabel5" ); 198 QLabel *TextLabel5 = new QLabel( tab_3, "TextLabel5" );
198 TextLabel5->setText( tr( "Remote path" ) ); 199 TextLabel5->setText( tr( "Remote path" ) );
199 tabLayout_3->addMultiCellWidget( TextLabel5, 2, 2, 2, 3 ); 200 tabLayout_3->addMultiCellWidget( TextLabel5, 2, 2, 2, 3 );
200 201
201 remotePath = new QLineEdit( "/", tab_3, "remotePath" ); 202 remotePath = new QLineEdit( "/", tab_3, "remotePath" );
202 remotePath->setText( currentRemoteDir = "/"); 203 remotePath->setText( currentRemoteDir = "/");
203 tabLayout_3->addMultiCellWidget( remotePath, 3, 3, 2, 3 ); 204 tabLayout_3->addMultiCellWidget( remotePath, 3, 3, 2, 3 );
204// remotePath->setText( currentRemoteDir = "/home/llornkcor/"); 205// remotePath->setText( currentRemoteDir = "/home/llornkcor/");
205 206
206 TextLabel4 = new QLabel( tab_3, "TextLabel4" ); 207 TextLabel4 = new QLabel( tab_3, "TextLabel4" );
207 TextLabel4->setText( tr( "Port" ) ); 208 TextLabel4->setText( tr( "Port" ) );
208 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 ); 209 tabLayout_3->addMultiCellWidget( TextLabel4, 4, 4, 0, 1 );
209 210
210 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" ); 211 PortSpinBox = new QSpinBox( tab_3, "PortSpinBox" );
211 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows ); 212 PortSpinBox->setButtonSymbols( QSpinBox::UpDownArrows );
212 PortSpinBox->setMaxValue(32786); 213 PortSpinBox->setMaxValue(32786);
213 PortSpinBox->setValue( 4242); 214 PortSpinBox->setValue( 4242);
214// PortSpinBox->setValue( 21); 215// PortSpinBox->setValue( 21);
215 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1); 216 tabLayout_3->addMultiCellWidget( PortSpinBox, 4, 4, 1, 1);
216 217
217 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); 218 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
218 tabLayout_3->addItem( spacer, 5, 0 ); 219 tabLayout_3->addItem( spacer, 5, 0 );
219 220
220 TabWidget->insertTab( tab_3, tr( "Config" ) ); 221 TabWidget->insertTab( tab_3, tr( "Config" ) );
221 222
222 connect(TabWidget,SIGNAL(currentChanged(QWidget *)), 223 connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
223 this,SLOT(tabChanged(QWidget*))); 224 this,SLOT(tabChanged(QWidget*)));
224 225
225 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 226 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
226 currentDir.setPath( QDir::currentDirPath()); 227 currentDir.setPath( QDir::currentDirPath());
227// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 228// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
228 currentPathEdit = new QLineEdit( "/", this, "currentPathEdit" ); 229 currentPathEdit = new QLineEdit( "/", this, "currentPathEdit" );
229 layout->addMultiCellWidget( currentPathEdit, 3, 3, 0, 3 ); 230 layout->addMultiCellWidget( currentPathEdit, 3, 3, 0, 3 );
230 231
231 currentPathEdit->setText( currentDir.canonicalPath()); 232 currentPathEdit->setText( currentDir.canonicalPath());
232 connect( currentPathEdit,SIGNAL(returnPressed()),this,SLOT(currentPathEditChanged())); 233 connect( currentPathEdit,SIGNAL(returnPressed()),this,SLOT(currentPathEditChanged()));
233 234
234 ProgressBar = new QProgressBar( this, "ProgressBar" ); 235 ProgressBar = new QProgressBar( this, "ProgressBar" );
235 layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 3 ); 236 layout->addMultiCellWidget( ProgressBar, 4, 4, 0, 3 );
236 237
237 filterStr="*"; 238 filterStr="*";
238 populateLocalView(); 239 populateLocalView();
239} 240}
240 241
241OpieFtp::~OpieFtp() 242OpieFtp::~OpieFtp()
242{ 243{
243} 244}
244 245
245void OpieFtp::cleanUp() 246void OpieFtp::cleanUp()
246{ 247{
247 if(conn) 248 if(conn)
248 FtpQuit(conn); 249 FtpQuit(conn);
249 QString sfile=QDir::homeDirPath(); 250 QString sfile=QDir::homeDirPath();
250 if(sfile.right(1) != "/") 251 if(sfile.right(1) != "/")
251 sfile+="/._temp"; 252 sfile+="/._temp";
252 else 253 else
253 sfile+="._temp"; 254 sfile+="._temp";
254 QFile file( sfile); 255 QFile file( sfile);
255 if(file.exists()) 256 if(file.exists())
256 file.remove(); 257 file.remove();
257} 258}
258 259
259void OpieFtp::tabChanged(QWidget *w) 260void OpieFtp::tabChanged(QWidget *w)
260{ 261{
261 if (TabWidget->currentPageIndex() == 0) { 262 if (TabWidget->currentPageIndex() == 0) {
262 currentPathEdit->setText( currentDir.canonicalPath()); 263 currentPathEdit->setText( currentDir.canonicalPath());
264 tabMenu->setItemChecked(tabMenu->idAt(0),TRUE);
265 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
266 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
263 } 267 }
264 if (TabWidget->currentPageIndex() == 1) { 268 if (TabWidget->currentPageIndex() == 1) {
265 currentPathEdit->setText( currentRemoteDir ); 269 currentPathEdit->setText( currentRemoteDir );
270 tabMenu->setItemChecked(tabMenu->idAt(1),TRUE);
271 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
272 tabMenu->setItemChecked(tabMenu->idAt(2),FALSE);
266 } 273 }
267 if (TabWidget->currentPageIndex() == 2) { 274 if (TabWidget->currentPageIndex() == 2) {
275 tabMenu->setItemChecked(tabMenu->idAt(2),TRUE);
276 tabMenu->setItemChecked(tabMenu->idAt(0),FALSE);
277 tabMenu->setItemChecked(tabMenu->idAt(1),FALSE);
268 } 278 }
269} 279}
270 280
271void OpieFtp::localUpload() 281void OpieFtp::localUpload()
272{ 282{
273 int fsz; 283 int fsz;
274 QCopEnvelope ( "QPE/System", "busy()" ); 284 QCopEnvelope ( "QPE/System", "busy()" );
275 qApp->processEvents(); 285 qApp->processEvents();
276 QString strItem = Local_View->currentItem()->text(0); 286 QString strItem = Local_View->currentItem()->text(0);
277 QString localFile = currentDir.canonicalPath()+"/"+strItem; 287 QString localFile = currentDir.canonicalPath()+"/"+strItem;
278 QString remoteFile= currentRemoteDir+strItem; 288 QString remoteFile= currentRemoteDir+strItem;
279 QFileInfo fi(localFile); 289 QFileInfo fi(localFile);
280 if( !fi.isDir()) { 290 if( !fi.isDir()) {
281 fsz=fi.size(); 291 fsz=fi.size();
282 ProgressBar->setTotalSteps(fsz); 292 ProgressBar->setTotalSteps(fsz);
283 293
284 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); 294 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn);
285 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); 295 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn);
286 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); 296 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn);
287 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); 297 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn);
288 qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1()); 298 qDebug("Put: %s, %s",localFile.latin1(),remoteFile.latin1());
289 299
290 if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { 300 if( !FtpPut( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) {
291 QString msg; 301 QString msg;
292 msg.sprintf("Unable to upload\n%s",FtpLastResponse(conn)); 302 msg.sprintf("Unable to upload\n%s",FtpLastResponse(conn));
293 msg.replace(QRegExp(":"),"\n"); 303 msg.replace(QRegExp(":"),"\n");
294 QMessageBox::message("Note",msg); 304 QMessageBox::message("Note",msg);
295// FtpQuit(conn); 305// FtpQuit(conn);
296 } 306 }
297 ProgressBar->reset(); 307 ProgressBar->reset();
298 nullifyCallBack(); 308 nullifyCallBack();
299 } else { 309 } else {
300 QMessageBox::message("Note","Cannot upload directories"); 310 QMessageBox::message("Note","Cannot upload directories");
301 } 311 }
302 TabWidget->setCurrentPage(1); 312 TabWidget->setCurrentPage(1);
303 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate 313 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
304 QCopEnvelope ( "QPE/System", "notBusy()" ); 314 QCopEnvelope ( "QPE/System", "notBusy()" );
305} 315}
306 316
307void OpieFtp::nullifyCallBack() 317void OpieFtp::nullifyCallBack()
308{ 318{
309 FtpOptions(FTPLIB_CALLBACK, NULL, conn); 319 FtpOptions(FTPLIB_CALLBACK, NULL, conn);
310 FtpOptions(FTPLIB_IDLETIME, NULL, conn); 320 FtpOptions(FTPLIB_IDLETIME, NULL, conn);
311 FtpOptions(FTPLIB_CALLBACKARG, NULL, conn); 321 FtpOptions(FTPLIB_CALLBACKARG, NULL, conn);
312 FtpOptions(FTPLIB_CALLBACKBYTES, NULL, conn); 322 FtpOptions(FTPLIB_CALLBACKBYTES, NULL, conn);
313 323
314} 324}
315 325
316void OpieFtp::remoteDownload() 326void OpieFtp::remoteDownload()
317{ 327{
318 int fsz; 328 int fsz;
319 QCopEnvelope ( "QPE/System", "busy()" ); 329 QCopEnvelope ( "QPE/System", "busy()" );
320 qApp->processEvents(); 330 qApp->processEvents();
321 QString strItem = Remote_View->currentItem()->text(0); 331 QString strItem = Remote_View->currentItem()->text(0);
322 QString localFile = currentDir.canonicalPath()+"/"+strItem; 332 QString localFile = currentDir.canonicalPath()+"/"+strItem;
323 QString remoteFile= currentRemoteDir+strItem; 333 QString remoteFile= currentRemoteDir+strItem;
324 if (!FtpSize( remoteFile.latin1(), &fsz, FTPLIB_ASCII, conn)) 334 if (!FtpSize( remoteFile.latin1(), &fsz, FTPLIB_ASCII, conn))
325 fsz = 0; 335 fsz = 0;
326 QString temp; 336 QString temp;
327 temp.sprintf( remoteFile+" "+" %dkb", fsz); 337 temp.sprintf( remoteFile+" "+" %dkb", fsz);
328 338
329 ProgressBar->setTotalSteps(fsz); 339 ProgressBar->setTotalSteps(fsz);
330 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn); 340 FtpOptions(FTPLIB_CALLBACK, (long) log_progress, conn);
331 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn); 341 FtpOptions(FTPLIB_IDLETIME, (long) 1000, conn);
332 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn); 342 FtpOptions(FTPLIB_CALLBACKARG, (long) &fsz, conn);
333 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn); 343 FtpOptions(FTPLIB_CALLBACKBYTES, (long) fsz/10, conn);
334 qDebug("Get: %s, %s",localFile.latin1(),remoteFile.latin1()); 344 qDebug("Get: %s, %s",localFile.latin1(),remoteFile.latin1());
335 345
336 if(!FtpGet( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) { 346 if(!FtpGet( localFile.latin1(), remoteFile.latin1(),FTPLIB_IMAGE, conn ) ) {
337 QString msg; 347 QString msg;
338 msg.sprintf("Unable to download \n%s",FtpLastResponse(conn)); 348 msg.sprintf("Unable to download \n%s",FtpLastResponse(conn));
339 msg.replace(QRegExp(":"),"\n"); 349 msg.replace(QRegExp(":"),"\n");
340 QMessageBox::message("Note",msg); 350 QMessageBox::message("Note",msg);
341// FtpQuit(conn); 351// FtpQuit(conn);
342 } 352 }
343 ProgressBar->reset(); 353 ProgressBar->reset();
344 nullifyCallBack(); 354 nullifyCallBack();
345 TabWidget->setCurrentPage(0); 355 TabWidget->setCurrentPage(0);
346 populateLocalView(); 356 populateLocalView();
347 QCopEnvelope ( "QPE/System", "notBusy()" ); 357 QCopEnvelope ( "QPE/System", "notBusy()" );
348} 358}
349 359
350 360
351void OpieFtp::newConnection() 361void OpieFtp::newConnection()
352{ 362{
353 TabWidget->setCurrentPage(2); 363 TabWidget->setCurrentPage(2);
354} 364}
355 365
356void OpieFtp::connector() 366void OpieFtp::connector()
357{ 367{
358 QCopEnvelope ( "QPE/System", "busy()" ); 368 QCopEnvelope ( "QPE/System", "busy()" );
359 qApp->processEvents(); 369 qApp->processEvents();
360 currentRemoteDir=remotePath->text(); 370 currentRemoteDir=remotePath->text();
361 if(ServerComboBox->currentText().isEmpty()) { 371 if(ServerComboBox->currentText().isEmpty()) {
362 QMessageBox::warning(this,"Ftp","Please set the server info","Ok",0,0); 372 QMessageBox::warning(this,"Ftp","Please set the server info","Ok",0,0);
363 TabWidget->setCurrentPage(2); 373 TabWidget->setCurrentPage(2);
@@ -760,108 +770,108 @@ void OpieFtp::remoteDelete()
760 QString msg; 770 QString msg;
761 msg.sprintf("Unable to remove directory\n%s",FtpLastResponse(conn)); 771 msg.sprintf("Unable to remove directory\n%s",FtpLastResponse(conn));
762 msg.replace(QRegExp(":"),"\n"); 772 msg.replace(QRegExp(":"),"\n");
763 QMessageBox::message("Note",msg); 773 QMessageBox::message("Note",msg);
764 } 774 }
765 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate 775 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
766 776
767 } 777 }
768 break; 778 break;
769 }; 779 };
770 } else { 780 } else {
771 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+"?" 781 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+"?"
772 ,"Yes","No",0,0,1) ) { 782 ,"Yes","No",0,0,1) ) {
773 case 0: { 783 case 0: {
774 QString path= currentRemoteDir+f; 784 QString path= currentRemoteDir+f;
775 if(FtpDelete( path.latin1(), conn)==0) { 785 if(FtpDelete( path.latin1(), conn)==0) {
776 QString msg; 786 QString msg;
777 msg.sprintf("Unable to delete file\n%s",FtpLastResponse(conn)); 787 msg.sprintf("Unable to delete file\n%s",FtpLastResponse(conn));
778 msg.replace(QRegExp(":"),"\n"); 788 msg.replace(QRegExp(":"),"\n");
779 QMessageBox::message("Note",msg); 789 QMessageBox::message("Note",msg);
780 } 790 }
781 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate 791 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
782 } 792 }
783 break; 793 break;
784 }; 794 };
785 } 795 }
786 QCopEnvelope ( "QPE/System", "notBusy()" ); 796 QCopEnvelope ( "QPE/System", "notBusy()" );
787} 797}
788 798
789void OpieFtp::remoteRename() 799void OpieFtp::remoteRename()
790{ 800{
791 QString curFile = Remote_View->currentItem()->text(0); 801 QString curFile = Remote_View->currentItem()->text(0);
792 InputDialog *fileDlg; 802 InputDialog *fileDlg;
793 fileDlg = new InputDialog(this,"Rename",TRUE, 0); 803 fileDlg = new InputDialog(this,"Rename",TRUE, 0);
794 fileDlg->inputText = curFile; 804 fileDlg->inputText = curFile;
795 fileDlg->exec(); 805 fileDlg->exec();
796 if( fileDlg->result() == 1 ) { 806 if( fileDlg->result() == 1 ) {
797 QString oldName = currentRemoteDir +"/"+ curFile; 807 QString oldName = currentRemoteDir +"/"+ curFile;
798 QString newName = currentRemoteDir +"/"+ fileDlg->LineEdit1->text();//+".playlist"; 808 QString newName = currentRemoteDir +"/"+ fileDlg->LineEdit1->text();//+".playlist";
799 QCopEnvelope ( "QPE/System", "busy()" ); 809 QCopEnvelope ( "QPE/System", "busy()" );
800 if(FtpRename( oldName.latin1(), newName.latin1(),conn) == 0) { 810 if(FtpRename( oldName.latin1(), newName.latin1(),conn) == 0) {
801 QString msg; 811 QString msg;
802 msg.sprintf("Unable to rename file\n%s",FtpLastResponse(conn)); 812 msg.sprintf("Unable to rename file\n%s",FtpLastResponse(conn));
803 msg.replace(QRegExp(":"),"\n"); 813 msg.replace(QRegExp(":"),"\n");
804 QMessageBox::message("Note",msg); 814 QMessageBox::message("Note",msg);
805 } 815 }
806 QCopEnvelope ( "QPE/System", "notBusy()" ); 816 QCopEnvelope ( "QPE/System", "notBusy()" );
807 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate 817 remoteDirList( (const QString &)currentRemoteDir); //this also calls populate
808 } 818 }
809} 819}
810 820
811void OpieFtp::localRename() 821void OpieFtp::localRename()
812{ 822{
813 QString curFile = Local_View->currentItem()->text(0); 823 QString curFile = Local_View->currentItem()->text(0);
814 InputDialog *fileDlg; 824 InputDialog *fileDlg;
815 fileDlg = new InputDialog(this,"Rename",TRUE, 0); 825 fileDlg = new InputDialog(this,"Rename",TRUE, 0);
816 fileDlg->inputText = curFile; 826 fileDlg->inputText = curFile;
817 fileDlg->exec(); 827 fileDlg->exec();
818 if( fileDlg->result() == 1 ) { 828 if( fileDlg->result() == 1 ) {
819 QString oldname = currentDir.canonicalPath() + "/" + curFile; 829 QString oldname = currentDir.canonicalPath() + "/" + curFile;
820 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist"; 830 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
821 if( rename(oldname.latin1(), newName.latin1())== -1) 831 if( rename(oldname.latin1(), newName.latin1())== -1)
822 QMessageBox::message("Note","Could not rename"); 832 QMessageBox::message("Note","Could not rename");
823 } 833 }
824 populateLocalView(); 834 populateLocalView();
825} 835}
826 836
827void OpieFtp::currentPathEditChanged() 837void OpieFtp::currentPathEditChanged()
828{ 838{
829 QString oldRemoteCurrentDir = currentRemoteDir; 839 QString oldRemoteCurrentDir = currentRemoteDir;
830 qDebug("oldRemoteCurrentDir "+oldRemoteCurrentDir); 840 qDebug("oldRemoteCurrentDir "+oldRemoteCurrentDir);
831 if (TabWidget->currentPageIndex() == 0) { 841 if (TabWidget->currentPageIndex() == 0) {
832 if(QDir( currentPathEdit->text()).exists()) { 842 if(QDir( currentPathEdit->text()).exists()) {
833 currentDir.setPath( currentPathEdit->text() ); 843 currentDir.setPath( currentPathEdit->text() );
834 populateLocalView(); 844 populateLocalView();
835 } else { 845 } else {
836 QMessageBox::message("Note","That directory does not exist"); 846 QMessageBox::message("Note","That directory does not exist");
837 } 847 }
838 } 848 }
839 if (TabWidget->currentPageIndex() == 1) { 849 if (TabWidget->currentPageIndex() == 1) {
840 currentRemoteDir = currentPathEdit->text(); 850 currentRemoteDir = currentPathEdit->text();
841 if(currentRemoteDir.right(1) !="/") { 851 if(currentRemoteDir.right(1) !="/") {
842 currentRemoteDir = currentRemoteDir +"/"; 852 currentRemoteDir = currentRemoteDir +"/";
843 currentPathEdit->setText( currentRemoteDir ); 853 currentPathEdit->setText( currentRemoteDir );
844 } 854 }
845 if( !remoteChDir( (const QString &)currentRemoteDir) ) { 855 if( !remoteChDir( (const QString &)currentRemoteDir) ) {
846 currentRemoteDir = oldRemoteCurrentDir; 856 currentRemoteDir = oldRemoteCurrentDir;
847 currentPathEdit->setText( currentRemoteDir ); 857 currentPathEdit->setText( currentRemoteDir );
848 } 858 }
849 859
850 remoteDirList( (const QString &)currentRemoteDir); 860 remoteDirList( (const QString &)currentRemoteDir);
851 } 861 }
852} 862}
853 863
854void OpieFtp::switchToLocalTab() 864void OpieFtp::switchToLocalTab()
855{ 865{
856TabWidget->setCurrentPage(0); 866 TabWidget->setCurrentPage(0);
857} 867}
858 868
859void OpieFtp::switchToRemoteTab() 869void OpieFtp::switchToRemoteTab()
860{ 870{
861TabWidget->setCurrentPage(1); 871 TabWidget->setCurrentPage(1);
862} 872}
863 873
864void OpieFtp::switchToConfigTab() 874void OpieFtp::switchToConfigTab()
865{ 875{
866TabWidget->setCurrentPage(2); 876 TabWidget->setCurrentPage(2);
867} 877}