summaryrefslogtreecommitdiff
path: root/noncore/apps
Unidiff
Diffstat (limited to 'noncore/apps') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp137
-rw-r--r--noncore/apps/advancedfm/advancedfm.pro2
2 files changed, 84 insertions, 55 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index a000e9b..ebd7fc3 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -14,12 +14,16 @@
14 14
15#include "advancedfm.h" 15#include "advancedfm.h"
16#include "inputDialog.h" 16#include "inputDialog.h"
17#include "filePermissions.h" 17#include "filePermissions.h"
18#include "output.h" 18#include "output.h"
19 19
20#include <opie/ofileselector.h>
21#include <opie/ofiledialog.h>
22
23
20#include <qpe/lnkproperties.h> 24#include <qpe/lnkproperties.h>
21#include <qpe/filemanager.h> 25#include <qpe/filemanager.h>
22#include <qpe/qcopenvelope_qws.h> 26#include <qpe/qcopenvelope_qws.h>
23#include <qpe/qpemenubar.h> 27#include <qpe/qpemenubar.h>
24#include <qpe/qpetoolbar.h> 28#include <qpe/qpetoolbar.h>
25#include <qpe/qpeapplication.h> 29#include <qpe/qpeapplication.h>
@@ -86,13 +90,13 @@ AdvancedFm::AdvancedFm( )
86 90
87 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 ); 91 layout->addMultiCellWidget( menuBar, 0, 0, 0, 1 );
88 92
89 menuBar->insertItem( tr( "File" ), fileMenu); 93 menuBar->insertItem( tr( "File" ), fileMenu);
90 menuBar->insertItem( tr( "View" ), viewMenu); 94 menuBar->insertItem( tr( "View" ), viewMenu);
91 95
92 qpeDirButton= new QPushButton(Resource::loadIconSet("go"),"",this,"QPEButton"); 96 qpeDirButton= new QPushButton(Resource::loadIconSet("launcher/opielogo16x16"),"",this,"QPEButton");
93 qpeDirButton ->setFixedSize( QSize( 20, 20 ) ); 97 qpeDirButton ->setFixedSize( QSize( 20, 20 ) );
94 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) ); 98 connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) );
95 qpeDirButton->setFlat(TRUE); 99 qpeDirButton->setFlat(TRUE);
96 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2); 100 layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2);
97 101
98 cfButton = new QPushButton(Resource::loadIconSet("cardmon/pcmcia"),"",this,"CFButton"); 102 cfButton = new QPushButton(Resource::loadIconSet("cardmon/pcmcia"),"",this,"CFButton");
@@ -188,12 +192,13 @@ AdvancedFm::AdvancedFm( )
188 tabLayout->addWidget( Local_View, 0, 0 ); 192 tabLayout->addWidget( Local_View, 0, 0 );
189 193
190 connect( Local_View, SIGNAL( clicked( QListViewItem*)), 194 connect( Local_View, SIGNAL( clicked( QListViewItem*)),
191 this,SLOT( localListClicked(QListViewItem *)) ); 195 this,SLOT( localListClicked(QListViewItem *)) );
192 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 196 connect( Local_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
193 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) ); 197 this,SLOT( localListPressed(int, QListViewItem *, const QPoint&, int)) );
198
194 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) ); 199 connect( Local_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
195 200
196 TabWidget->insertTab( tab, tr("1")); 201 TabWidget->insertTab( tab, tr("1"));
197 202
198 tab_2 = new QWidget( TabWidget, "tab_2" ); 203 tab_2 = new QWidget( TabWidget, "tab_2" );
199 tabLayout_2 = new QGridLayout( tab_2 ); 204 tabLayout_2 = new QGridLayout( tab_2 );
@@ -213,32 +218,45 @@ AdvancedFm::AdvancedFm( )
213 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold); 218 QPEApplication::setStylusOperation( Remote_View->viewport(),QPEApplication::RightOnHold);
214 219
215 connect( Remote_View, SIGNAL( clicked( QListViewItem*)), 220 connect( Remote_View, SIGNAL( clicked( QListViewItem*)),
216 this,SLOT( remoteListClicked(QListViewItem *)) ); 221 this,SLOT( remoteListClicked(QListViewItem *)) );
217 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 222 connect( Remote_View, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
218 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) ); 223 this,SLOT( remoteListPressed(int, QListViewItem *, const QPoint&, int)) );
219 connect( Remote_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) ); 224// connect( Remote_View, SIGNAL( selectionChanged() ), SLOT( cancelMenuTimer() ) );
220 225
221 tabLayout_2->addWidget( Remote_View, 0, 0 ); 226 tabLayout_2->addWidget( Remote_View, 0, 0 );
222 227
223 TabWidget->insertTab( tab_2, tr( "2")); 228 TabWidget->insertTab( tab_2, tr( "2"));
224 229
225 connect(TabWidget,SIGNAL(currentChanged(QWidget *)), 230 connect(TabWidget,SIGNAL(currentChanged(QWidget *)),
226 this,SLOT(tabChanged(QWidget*))); 231 this,SLOT(tabChanged(QWidget*)));
227 232
228// tab_3 = new QWidget( TabWidget, "tab_3" ); 233 tab_3 = new QWidget( TabWidget, "tab_3" );
229// tabLayout_3 = new QGridLayout( tab_3 ); 234 tabLayout_3 = new QGridLayout( tab_3 );
230// tabLayout_3->setSpacing( 2); 235 tabLayout_3->setSpacing( 2);
231// tabLayout_3->setMargin( 2); 236 tabLayout_3->setMargin( 2);
237
238
239// OFileDialog fileDialog;
240// fileDialog;
241// fileSelector = new FileSelector( "*",tab_3, "fileselector" , FALSE, FALSE); //buggy
242// fileDialog = new OFileDialog("bangalow", tab_3, 4, 2, "Bungalow");
243// OFileSelector fileDialog = new OFileSelector( tab_3, 4, 2,"/");
232 244
233// OFileSelector *fileSelector; 245QListView *fileTree;
234// fileSelector = new OFileSelector(tab_3,0,0,"/","","*"); 246 fileTree = new QListView( tab_3, "tree" );
235// tabLayout_3->addMultiCellWidget( fileSelector, 0, 0, 0, 3 );
236 247
237// TabWidget->insertTab( tab_3, tr( "Files" ) ); 248
249 tabLayout_3->addMultiCellWidget( fileTree, 0, 0, 0, 3 );
238 250
251 TabWidget->insertTab( tab_3, tr( "Remote" ) );
252///////////////
253
254////////////////////
255
256
239 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 257 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
240 currentDir.setPath( QDir::currentDirPath()); 258 currentDir.setPath( QDir::currentDirPath());
241 259
242 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 260 currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
243 currentRemoteDir.setPath( QDir::currentDirPath()); 261 currentRemoteDir.setPath( QDir::currentDirPath());
244 262
@@ -248,12 +266,13 @@ AdvancedFm::AdvancedFm( )
248 b=FALSE; 266 b=FALSE;
249 267
250 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) ); 268 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showFileMenu() ) );
251 269
252 populateLocalView(); 270 populateLocalView();
253 populateRemoteView(); 271 populateRemoteView();
272 currentPathCombo->setFocus();
254} 273}
255 274
256AdvancedFm::~AdvancedFm() 275AdvancedFm::~AdvancedFm()
257{ 276{
258} 277}
259 278
@@ -544,15 +563,15 @@ void AdvancedFm::localListClicked(QListViewItem *selectedItem)
544 currentDir.cd(strItem, TRUE); 563 currentDir.cd(strItem, TRUE);
545 populateLocalView(); 564 populateLocalView();
546 } 565 }
547 } else { 566 } else {
548 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 567 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
549 if( QFile::exists(strItem ) ) { 568 if( QFile::exists(strItem ) ) {
550 qDebug("clicked item "+strItem); 569// qDebug("clicked item "+strItem);
551 DocLnk doc( strItem, FALSE ); 570// DocLnk doc( strItem, FALSE );
552 doc.execute(); 571// doc.execute();
553 // Local_View->clearSelection(); 572 // Local_View->clearSelection();
554 } 573 }
555 } //end not symlink 574 } //end not symlink
556 chdir(strItem.latin1()); 575 chdir(strItem.latin1());
557 } 576 }
558 } 577 }
@@ -585,15 +604,15 @@ void AdvancedFm::remoteListClicked(QListViewItem *selectedItem)
585 currentRemoteDir.cd(strItem, TRUE); 604 currentRemoteDir.cd(strItem, TRUE);
586 populateRemoteView(); 605 populateRemoteView();
587 } 606 }
588 } else { 607 } else {
589 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem); 608 strItem=QDir::cleanDirPath( currentRemoteDir.canonicalPath()+"/"+strItem);
590 if( QFile::exists(strItem ) ) { 609 if( QFile::exists(strItem ) ) {
591 qDebug("clicked item "+strItem); 610// qDebug("clicked item "+strItem);
592 DocLnk doc( strItem, FALSE ); 611// DocLnk doc( strItem, FALSE );
593 doc.execute(); 612// doc.execute();
594 // Remote_View->clearSelection(); 613 // Remote_View->clearSelection();
595 } 614 }
596 } //end not symlink 615 } //end not symlink
597 chdir(strItem.latin1()); 616 chdir(strItem.latin1());
598 } 617 }
599 } 618 }
@@ -645,29 +664,32 @@ void AdvancedFm::showRemoteHidden()
645 } 664 }
646 populateRemoteView(); 665 populateRemoteView();
647} 666}
648 667
649void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 668void AdvancedFm::localListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
650{ 669{
651 switch (mouse) { 670qDebug("list pressed");
671 switch (mouse) {
652 case 1: 672 case 1:
653 break; 673 break;
654 case 2: 674 case 2:
655 menuTimer.start( 500, TRUE ); 675 menuTimer.start( 750, TRUE );
676 qDebug("Start menu timer\n");
656 break; 677 break;
657 }; 678 };
658} 679}
659 680
660void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i) 681void AdvancedFm::remoteListPressed( int mouse, QListViewItem *item, const QPoint &point, int i)
661{ 682{
662 683
663 switch (mouse) { 684 switch (mouse) {
664 case 1: 685 case 1:
665 break; 686 break;
666 case 2: 687 case 2:
667 menuTimer.start( 500, TRUE ); 688 menuTimer.start( 750, TRUE );
689 qDebug("Start menu timer");
668 break; 690 break;
669 }; 691 };
670} 692}
671 693
672void AdvancedFm::runThis() { 694void AdvancedFm::runThis() {
673// QFileInfo *fi; 695// QFileInfo *fi;
@@ -1458,12 +1480,13 @@ void AdvancedFm::doAbout() {
1458 "L.J.Potter<llornkcor@handhelds.org>\n" 1480 "L.J.Potter<llornkcor@handhelds.org>\n"
1459 "and is licensed by the GPL"); 1481 "and is licensed by the GPL");
1460} 1482}
1461 1483
1462void AdvancedFm::keyReleaseEvent( QKeyEvent *e) 1484void AdvancedFm::keyReleaseEvent( QKeyEvent *e)
1463{ 1485{
1486 if( TabWidget->hasFocus())
1464 switch ( e->key() ) { 1487 switch ( e->key() ) {
1465 case Key_Delete: 1488 case Key_Delete:
1466 del(); 1489 del();
1467 break; 1490 break;
1468 case Key_H: 1491 case Key_H:
1469 showHidden(); 1492 showHidden();
@@ -1665,12 +1688,13 @@ void AdvancedFm::fileBeamFinished( Ir *ir) {
1665// QString localFile = currentDir.canonicalPath()+"/"+strItem; 1688// QString localFile = currentDir.canonicalPath()+"/"+strItem;
1666// QFileInfo fi(localFile); 1689// QFileInfo fi(localFile);
1667// } 1690// }
1668// } 1691// }
1669 1692
1670void AdvancedFm::showFileMenu() { 1693void AdvancedFm::showFileMenu() {
1694
1671 QString curApp; 1695 QString curApp;
1672 bool isLocalView = false; 1696 bool isLocalView = false;
1673 if (TabWidget->currentPageIndex() == 0) { 1697 if (TabWidget->currentPageIndex() == 0) {
1674 isLocalView = TRUE; 1698 isLocalView = TRUE;
1675 curApp = Local_View->currentItem()->text(0); 1699 curApp = Local_View->currentItem()->text(0);
1676 } else { 1700 } else {
@@ -1678,76 +1702,81 @@ void AdvancedFm::showFileMenu() {
1678 } 1702 }
1679 1703
1680 MimeType mt( curApp ); 1704 MimeType mt( curApp );
1681 const AppLnk* app = mt.application(); 1705 const AppLnk* app = mt.application();
1682 QFile fi(curApp); 1706 QFile fi(curApp);
1683 1707
1684 QPopupMenu m; 1708// QPopupMenu m;
1685 m.insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() )); 1709 QPopupMenu *m = new QPopupMenu(0);
1686 m.insertSeparator(); 1710
1711 m->insertItem( tr( "Show Hidden Files" ), this, SLOT( showHidden() ));
1712 m->insertSeparator();
1687 if ( QFileInfo(fi).isDir() ) { 1713 if ( QFileInfo(fi).isDir() ) {
1688 m.insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() )); 1714 m->insertItem( tr( "Change Directory" ), this, SLOT( doLocalCd() ));
1689 } else { 1715 } else {
1690 1716
1691 if ( app ) 1717 if ( app )
1692 m.insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) ); 1718 m->insertItem( app->pixmap(), tr( "Open in " + app->name() ), this, SLOT( runThis() ) );
1693 else if( QFileInfo(fi).isExecutable() ) 1719 else if( QFileInfo(fi).isExecutable() )
1694 m.insertItem( tr( "Execute" ), this, SLOT( runThis() ) ); 1720 m->insertItem( tr( "Execute" ), this, SLOT( runThis() ) );
1695 1721
1696 m.insertItem( /*Resource::loadPixmap( "txt" ),*/ tr( "Open as text" ),this, SLOT( runText() ) ); 1722 m->insertItem( Resource::loadPixmap( "txt" ), tr( "Open as text" ),this, SLOT( runText() ) );
1697 } 1723 }
1698 m.insertSeparator(); 1724 m->insertSeparator();
1699 1725
1700 1726
1701 if(isLocalView) 1727 if(isLocalView)
1702 m.insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() )); 1728 m->insertItem( tr( "Make Directory" ), this, SLOT( localMakDir() ));
1703 else 1729 else
1704 m.insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() )); 1730 m->insertItem( tr( "Make Directory" ), this, SLOT( remoteMakDir() ));
1705 1731
1706 m.insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() )); 1732 m->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
1707 m.insertSeparator(); 1733 m->insertSeparator();
1708 1734
1709 if(isLocalView) 1735 if(isLocalView)
1710 m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); 1736 m->insertItem( tr( "Rename" ), this, SLOT( localRename() ));
1711 else 1737 else
1712 m.insertItem( tr( "Rename" ), this, SLOT( remoteRename() )); 1738 m->insertItem( tr( "Rename" ), this, SLOT( remoteRename() ));
1713 1739
1714 m.insertItem( tr( "Copy" ), this, SLOT( copy() )); 1740 m->insertItem( tr( "Copy" ), this, SLOT( copy() ));
1715 m.insertItem( tr( "Copy As" ), this, SLOT( copyAs() )); 1741 m->insertItem( tr( "Copy As" ), this, SLOT( copyAs() ));
1716 m.insertItem( tr( "Move" ), this, SLOT( move() )); 1742 m->insertItem( tr( "Move" ), this, SLOT( move() ));
1717 m.insertSeparator(); 1743 m->insertSeparator();
1718 1744
1719 if(isLocalView) 1745 if(isLocalView)
1720 m.insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() )); 1746 m->insertItem( tr( "Rescan" ), this, SLOT( populateLocalView() ));
1721 else 1747 else
1722 m.insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() )); 1748 m->insertItem( tr( "Rescan" ), this, SLOT( populateRemoteView() ));
1723 1749
1724 m.insertItem( tr( "Run Command" ), this, SLOT( runCommand() )); 1750 m->insertItem( tr( "Run Command" ), this, SLOT( runCommand() ));
1725 m.insertItem( tr( "File Info" ), this, SLOT( fileStatus() )); 1751 m->insertItem( tr( "File Info" ), this, SLOT( fileStatus() ));
1726 m.insertSeparator(); 1752 m->insertSeparator();
1727 1753
1728 if(isLocalView) 1754 if(isLocalView)
1729 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 1755 m->insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
1730 else 1756 else
1731 m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() )); 1757 m->insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
1732 1758
1733 m.insertSeparator(); 1759 m->insertSeparator();
1734 m.insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() )); 1760 m->insertItem( tr( "Set Permissions" ), this, SLOT( filePerms() ));
1735 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings 1761 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) //bad hack for Sharp zaurus failings
1736 m.insertItem( tr( "Properties" ), this, SLOT( doProperties() )); 1762 m->insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
1737 m.setCheckable(TRUE); 1763 m->setCheckable(TRUE);
1738 if (!b) 1764 if (!b)
1739 m.setItemChecked(m.idAt(0),TRUE); 1765 m->setItemChecked(m->idAt(0),TRUE);
1740 else 1766 else
1741 m.setItemChecked(m.idAt(0),FALSE); 1767 m->setItemChecked(m->idAt(0),FALSE);
1742 if(Ir::supported()) 1768 if(Ir::supported())
1743 m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() )); 1769 m->insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
1744 m.exec( QCursor::pos() ); 1770 m->setFocus();
1771 m->exec( QCursor::pos() );
1772 if(m) delete m;
1745} 1773}
1746 1774
1747 1775
1748void AdvancedFm::cancelMenuTimer() 1776void AdvancedFm::cancelMenuTimer()
1749{ 1777{
1750qDebug("cancel menu timer"); 1778
1779 qDebug("selectionChanged: cancel menu timer");
1751 if( menuTimer.isActive() ) 1780 if( menuTimer.isActive() )
1752 menuTimer.stop(); 1781 menuTimer.stop();
1753} 1782}
diff --git a/noncore/apps/advancedfm/advancedfm.pro b/noncore/apps/advancedfm/advancedfm.pro
index 25fb782..299f870 100644
--- a/noncore/apps/advancedfm/advancedfm.pro
+++ b/noncore/apps/advancedfm/advancedfm.pro
@@ -4,8 +4,8 @@ HEADERS = advancedfm.h inputDialog.h filePermissions.h output.h
4SOURCES = advancedfm.cpp inputDialog.cpp filePermissions.cpp output.cpp main.cpp 4SOURCES = advancedfm.cpp inputDialog.cpp filePermissions.cpp output.cpp main.cpp
5TARGET = advancedfm 5TARGET = advancedfm
6REQUIRES=medium-config 6REQUIRES=medium-config
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9DESTDIR = $(OPIEDIR)/bin 9DESTDIR = $(OPIEDIR)/bin
10LIBS += -lqpe 10LIBS += -lqpe -lopie
11 11