summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-24 13:28:49 (UTC)
committer alwin <alwin>2005-03-24 13:28:49 (UTC)
commit29da9a4477210843435cbea3ede0d520775fe1a5 (patch) (unidiff)
tree487b26273bcdb8e29cd3f591955e8469d01c0da7
parent4fbd94e2fd6432bb15e24e40be59426b309cbb9d (diff)
downloadopie-29da9a4477210843435cbea3ede0d520775fe1a5.zip
opie-29da9a4477210843435cbea3ede0d520775fe1a5.tar.gz
opie-29da9a4477210843435cbea3ede0d520775fe1a5.tar.bz2
the filesystem-menu will executed when click on the filsystem-button
not when hold the pen on it.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofileselector.cpp18
-rw-r--r--libopie2/opieui/fileselector/ofileselector_p.h2
2 files changed, 14 insertions, 6 deletions
diff --git a/libopie2/opieui/fileselector/ofileselector.cpp b/libopie2/opieui/fileselector/ofileselector.cpp
index 74aca96..dbba4b9 100644
--- a/libopie2/opieui/fileselector/ofileselector.cpp
+++ b/libopie2/opieui/fileselector/ofileselector.cpp
@@ -58,26 +58,26 @@
58#include <qobjectlist.h> 58#include <qobjectlist.h>
59 59
60using namespace Opie::Ui::Internal; 60using namespace Opie::Ui::Internal;
61 61
62namespace Opie { 62namespace Opie {
63namespace Ui { 63namespace Ui {
64namespace Internal { 64namespace Internal {
65/* 65/*
66 * Create a path by adding a '/'/QDir::seperator in between 66 * Create a path by adding a '/'/QDir::seperator in between
67 * base and ending, but only if base is not empty 67 * base and ending, but only if base is not empty
68 */ 68 */
69static inline QString createNewPath(const QString& base, const QString &ending) { 69static inline QString createNewPath(const QString& base, const QString &ending) {
70 return base == QString::fromLatin1("/") ? 70 return base == QString::fromLatin1("/") ?
71 base + ending : base + "/" + ending; 71 base + ending : base + "/" + ending;
72} 72}
73 73
74 74
75OFileViewInterface::OFileViewInterface( OFileSelector* _selector ) 75OFileViewInterface::OFileViewInterface( OFileSelector* _selector )
76 : m_selector( _selector ) 76 : m_selector( _selector )
77{ 77{
78 selector()->registerView( this ); 78 selector()->registerView( this );
79} 79}
80 80
81OFileViewInterface::~OFileViewInterface() 81OFileViewInterface::~OFileViewInterface()
82{} 82{}
83 83
@@ -279,44 +279,44 @@ bool OFileSelectorItem::isDir()const
279{ 279{
280 return m_isDir; 280 return m_isDir;
281} 281}
282 282
283QString OFileSelectorItem::path()const 283QString OFileSelectorItem::path()const
284{ 284{
285 return text( 1 ); 285 return text( 1 );
286} 286}
287 287
288QString OFileSelectorItem::key( int id, bool )const 288QString OFileSelectorItem::key( int id, bool )const
289{ 289{
290 QString ke; 290 QString ke;
291 291
292 /* 292 /*
293 * id = 0 ||id == 1 : Sort By Name but Directories at Top 293 * id = 0 ||id == 1 : Sort By Name but Directories at Top
294 * id = 2 : Sort By Size: Prepend '0' to the key 294 * id = 2 : Sort By Size: Prepend '0' to the key
295 */ 295 */
296 if( id == 0 || id == 1 ) 296 if( id == 0 || id == 1 )
297 { // name 297 { // name
298 if( m_isDir ) 298 if( m_isDir )
299 { 299 {
300 ke.append("0" ); 300 ke.append("0" );
301 ke.append( text(1) ); 301 ke.append( text(1) );
302 } 302 }
303 else 303 else
304 { 304 {
305 ke.append("1" ); 305 ke.append("1" );
306 ke.append( text(1) ); 306 ke.append( text(1) );
307 } 307 }
308 return ke; 308 return ke;
309 }else if(id == 2) { 309 }else if(id == 2) {
310 return text(2).rightJustify(20, '0'); 310 return text(2).rightJustify(20, '0');
311 }else 311 }else
312 return text( id ); 312 return text( id );
313 313
314} 314}
315 315
316OFileViewFileListView::OFileViewFileListView( QWidget* parent, const QString& startDir, OFileSelector* sel) 316OFileViewFileListView::OFileViewFileListView( QWidget* parent, const QString& startDir, OFileSelector* sel)
317 :QWidget( parent ), m_sel( sel ) 317 :QWidget( parent ), m_sel( sel )
318{ 318{
319 m_all = false; 319 m_all = false;
320 QVBoxLayout* lay = new QVBoxLayout( this ); 320 QVBoxLayout* lay = new QVBoxLayout( this );
321 m_currentDir = startDir; 321 m_currentDir = startDir;
322 322
@@ -354,66 +354,72 @@ OFileViewFileListView::OFileViewFileListView( QWidget* parent, const QString& st
354 connect(m_btnNew, SIGNAL(clicked() ), 354 connect(m_btnNew, SIGNAL(clicked() ),
355 this, SLOT(slotNew() ) ); 355 this, SLOT(slotNew() ) );
356 356
357 357
358 m_btnClose = new QToolButton( box ); 358 m_btnClose = new QToolButton( box );
359 m_btnClose->setIconSet( Resource::loadIconSet("close") ); 359 m_btnClose->setIconSet( Resource::loadIconSet("close") );
360 connect(m_btnClose, SIGNAL(clicked() ), 360 connect(m_btnClose, SIGNAL(clicked() ),
361 selector(), SIGNAL(closeMe() ) ); 361 selector(), SIGNAL(closeMe() ) );
362 362
363 btn = new QToolButton( box ); 363 btn = new QToolButton( box );
364 btn->setIconSet( Resource::loadIconSet("cardmon/pcmcia") ); 364 btn->setIconSet( Resource::loadIconSet("cardmon/pcmcia") );
365 365
366 m_fsButton = btn;
366 /* let's fill device parts */ 367 /* let's fill device parts */
367 QPopupMenu* pop = new QPopupMenu(this); 368 QPopupMenu* pop = new QPopupMenu(this);
368 connect(pop, SIGNAL( activated(int) ), 369 connect(pop, SIGNAL( activated(int) ),
369 this, SLOT(slotFSActivated(int) ) ); 370 this, SLOT(slotFSActivated(int) ) );
370 371
371 StorageInfo storage; 372 StorageInfo storage;
372 const QList<FileSystem> &fs = storage.fileSystems(); 373 const QList<FileSystem> &fs = storage.fileSystems();
373 QListIterator<FileSystem> it(fs); 374 QListIterator<FileSystem> it(fs);
374 for ( ; it.current(); ++it ) 375 for ( ; it.current(); ++it )
375 { 376 {
376 const QString disk = (*it)->name(); 377 const QString disk = (*it)->name();
377 const QString path = (*it)->path(); 378 const QString path = (*it)->path();
378 m_dev.insert( disk, path ); 379 m_dev.insert( disk, path );
379 pop->insertItem( disk ); 380 pop->insertItem( disk );
380 } 381 }
381 m_fsPop = pop; 382 m_fsPop = pop;
382 383
383 384 connect(btn,SIGNAL(pressed()),this,SLOT(slotFSpressed()));
384 btn->setPopup( pop );
385 385
386 lay->addWidget( box ); 386 lay->addWidget( box );
387 387
388 m_view = new QListView( this ); 388 m_view = new QListView( this );
389 389
390 m_view->installEventFilter(this); 390 m_view->installEventFilter(this);
391 391
392 QPEApplication::setStylusOperation( m_view->viewport(), 392 QPEApplication::setStylusOperation( m_view->viewport(),
393 QPEApplication::RightOnHold); 393 QPEApplication::RightOnHold);
394 m_view->addColumn(" " ); 394 m_view->addColumn(" " );
395 m_view->addColumn(tr("Name"), 135 ); 395 m_view->addColumn(tr("Name"), 135 );
396 m_view->addColumn(tr("Size"), -1 ); 396 m_view->addColumn(tr("Size"), -1 );
397 m_view->addColumn(tr("Date"), 60 ); 397 m_view->addColumn(tr("Date"), 60 );
398 m_view->addColumn(tr("Mime Type"), -1 ); 398 m_view->addColumn(tr("Mime Type"), -1 );
399 399
400 400
401 m_view->setSorting( 1 ); 401 m_view->setSorting( 1 );
402 m_view->setAllColumnsShowFocus( TRUE ); 402 m_view->setAllColumnsShowFocus( TRUE );
403 403
404 lay->addWidget( m_view, 1000 ); 404 lay->addWidget( m_view, 1000 );
405 connectSlots(); 405 connectSlots();
406} 406}
407 407
408void OFileViewFileListView::slotFSpressed()
409{
410 m_fsPop->exec(QPoint( QCursor::pos().x(), QCursor::pos().y()));
411 m_fsButton->setDown(false);
412}
413
408OFileViewFileListView::~OFileViewFileListView() 414OFileViewFileListView::~OFileViewFileListView()
409{ 415{
410} 416}
411 417
412void OFileViewFileListView::slotNew() 418void OFileViewFileListView::slotNew()
413{ 419{
414 DocLnk lnk; 420 DocLnk lnk;
415 emit selector()->newSelected( lnk ); 421 emit selector()->newSelected( lnk );
416} 422}
417 423
418OFileSelectorItem* OFileViewFileListView::currentItem()const 424OFileSelectorItem* OFileViewFileListView::currentItem()const
419{ 425{
diff --git a/libopie2/opieui/fileselector/ofileselector_p.h b/libopie2/opieui/fileselector/ofileselector_p.h
index 15db916..94216a0 100644
--- a/libopie2/opieui/fileselector/ofileselector_p.h
+++ b/libopie2/opieui/fileselector/ofileselector_p.h
@@ -155,37 +155,39 @@ public:
155 QString currentDir()const; 155 QString currentDir()const;
156protected: 156protected:
157 bool eventFilter (QObject *o, QEvent *e); 157 bool eventFilter (QObject *o, QEvent *e);
158private slots: 158private slots:
159 void slotNew(); // will emit newSelected 159 void slotNew(); // will emit newSelected
160 void cdUP(); 160 void cdUP();
161 void cdHome(); 161 void cdHome();
162 void cdDoc(); 162 void cdDoc();
163 void changeDir( const QString& ); 163 void changeDir( const QString& );
164 void slotCurrentChanged( QListViewItem* ); 164 void slotCurrentChanged( QListViewItem* );
165 void slotClicked(int, QListViewItem*, const QPoint&, int ); 165 void slotClicked(int, QListViewItem*, const QPoint&, int );
166 void slotFSActivated(int); 166 void slotFSActivated(int);
167 void slotFSpressed();
167 168
168protected: 169protected:
169 OFileSelector* selector(); 170 OFileSelector* selector();
170 171
171private: 172private:
172 QMap<QString, QString> m_dev; 173 QMap<QString, QString> m_dev;
173 bool m_all : 1; 174 bool m_all : 1;
174 OFileSelector* m_sel; 175 OFileSelector* m_sel;
175 QPopupMenu* m_fsPop; 176 QPopupMenu* m_fsPop;
176 bool compliesMime( const QString& ); 177 bool compliesMime( const QString& );
177 QStringList m_mimes; // used in compy mime 178 QStringList m_mimes; // used in compy mime
178 QString m_currentDir; 179 QString m_currentDir;
179 QToolButton *m_btnNew, *m_btnClose; 180 QToolButton *m_btnNew, *m_btnClose;
181 QToolButton *m_fsButton;
180 void connectSlots(); 182 void connectSlots();
181 void addFile( QFileInfo* info, bool symlink = FALSE ); 183 void addFile( QFileInfo* info, bool symlink = FALSE );
182 void addDir ( QFileInfo* info, bool symlink = FALSE ); 184 void addDir ( QFileInfo* info, bool symlink = FALSE );
183 void addSymlink( QFileInfo* info, bool = FALSE ); 185 void addSymlink( QFileInfo* info, bool = FALSE );
184 186
185 187
186private: 188private:
187 QListView* m_view; 189 QListView* m_view;
188}; 190};
189 191
190} 192}
191} 193}