summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfm.cpp118
-rw-r--r--noncore/apps/advancedfm/advancedfm.h3
2 files changed, 83 insertions, 38 deletions
diff --git a/noncore/apps/advancedfm/advancedfm.cpp b/noncore/apps/advancedfm/advancedfm.cpp
index 3a8c22d..f32031b 100644
--- a/noncore/apps/advancedfm/advancedfm.cpp
+++ b/noncore/apps/advancedfm/advancedfm.cpp
@@ -25,12 +25,13 @@
#include <qpe/qpeapplication.h>
#include <qpe/resource.h>
#include <qpe/qcopenvelope_qws.h>
#include <qpe/config.h>
#include <qpe/mimetype.h>
#include <qpe/applnk.h>
+#include <qpe/ir.h>
//#include <opie/ofileselector.h>
#include <qmultilineedit.h>
#include <qtextstream.h>
#include <qpushbutton.h>
@@ -89,13 +90,13 @@ AdvancedFm::AdvancedFm( )
qpeDirButton= new QPushButton(Resource::loadIconSet("go"),"",this,"QPEButton");
qpeDirButton ->setFixedSize( QSize( 20, 20 ) );
connect( qpeDirButton ,SIGNAL(released()),this,SLOT( QPEButtonPushed()) );
qpeDirButton->setFlat(TRUE);
layout->addMultiCellWidget( qpeDirButton , 0, 0, 2, 2);
-
+
cfButton = new QPushButton(Resource::loadIconSet("cardmon/pcmcia"),"",this,"CFButton");
cfButton ->setFixedSize( QSize( 20, 20 ) );
connect( cfButton ,SIGNAL(released()),this,SLOT( CFButtonPushed()) );
cfButton->setFlat(TRUE);
layout->addMultiCellWidget( cfButton , 0, 0, 3, 3);
@@ -207,13 +208,13 @@ AdvancedFm::AdvancedFm( )
// tabLayout_3->setSpacing( 2);
// tabLayout_3->setMargin( 2);
// OFileSelector *fileSelector;
// fileSelector = new OFileSelector(tab_3,0,0,"/","","*");
// tabLayout_3->addMultiCellWidget( fileSelector, 0, 0, 0, 3 );
-
+
// TabWidget->insertTab( tab_3, tr( "Files" ) );
currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
currentDir.setPath( QDir::currentDirPath());
currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
@@ -281,13 +282,13 @@ void AdvancedFm::populateLocalView()
currentDir.setNameFilter(filterStr);
QString fileL, fileS, fileDate;
// qDebug(currentDir.canonicalPath());
// struct stat buf;
// mode_t mode;
QString fs= getFileSystemType((const QString &) currentDir.canonicalPath());
- setCaption("AdvancedFm :: "+fs);
+ setCaption("AdvancedFm :: "+fs);
bool isDir=FALSE;
const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
QFileInfoListIterator it(*list);
QFileInfo *fi;
while ( (fi=it.current()) ) {
if (fi->isSymLink() ) {
@@ -307,15 +308,15 @@ void AdvancedFm::populateLocalView()
// qDebug( fileL);
}
}
QFileInfo fileInfo( currentDir.canonicalPath()+"/"+fileL);
if(fileL !="./" && fi->exists()) {
item= new QListViewItem( Local_View, fileL, fileS , fileDate);
-
+
if(isDir || fileL.find("/",0,TRUE) != -1) {
-
+
if( !QDir( fi->filePath() ).isReadable()) //is directory
pm = Resource::loadPixmap( "lockedfolder" );
else
pm= Resource::loadPixmap( "folder" );
// item->setPixmap( 0,pm );
} else if ( fs == "vfat" && fileInfo.filePath().contains("/bin") ) {
@@ -325,13 +326,13 @@ void AdvancedFm::populateLocalView()
| fileInfo.permission( QFileInfo::ExeOther)) && fs != "vfat" ) {
pm = Resource::loadPixmap( "exec");
// else { //is exec
// pm = Resource::loadPixmap( "exec");
// }
// // item->setPixmap( 0,pm);
- } else if( !fi->isReadable() ) {
+ } else if( !fi->isReadable() ) {
pm = Resource::loadPixmap( "locked" );
// item->setPixmap( 0,pm);
} else { //everything else goes by mimetype
MimeType mt(fi->filePath());
pm=mt.pixmap(); //sets the correct pixmap for mimetype
if(pm.isNull())
@@ -376,16 +377,16 @@ void AdvancedFm::populateLocalView()
if( fileL.find(".") == -1 ){
item= new QListViewItem( Local_View, fileL, fileS, fileDate);
pm = Resource::loadPixmap( "UnknownDocument-14" );
item->setPixmap( 0,pm);
}
}
-
+
closedir(dir);
}
-
+
Local_View->setSorting( 3,FALSE);
fillCombo( (const QString &) currentDir.canonicalPath());
}
void AdvancedFm::populateRemoteView()
@@ -404,13 +405,13 @@ void AdvancedFm::populateRemoteView()
currentRemoteDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
currentRemoteDir.setMatchAllDirs(TRUE);
currentRemoteDir.setNameFilter(filterStr);
QString fileL, fileS, fileDate;
QString fs= getFileSystemType((const QString &) currentRemoteDir.canonicalPath());
- setCaption("AdvancedFm :: "+fs);
+ setCaption("AdvancedFm :: "+fs);
bool isDir=FALSE;
const QFileInfoList *list = currentRemoteDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
QFileInfoListIterator it(*list);
QFileInfo *fi;
while ( (fi=it.current()) ) {
if (fi->isSymLink() ){
@@ -494,13 +495,13 @@ void AdvancedFm::populateRemoteView()
if( fileL.find(".") == -1 ){
item= new QListViewItem( Remote_View, fileL, fileS, fileDate);
pm = Resource::loadPixmap( "UnknownDocument-14" );
item->setPixmap( 0,pm);
}
}
-
+
closedir(dir);
}
Remote_View->setSorting( 3,FALSE);
fillCombo( (const QString &) currentRemoteDir.canonicalPath() );
}
@@ -611,13 +612,13 @@ void AdvancedFm::showHidden()
fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
// localMenu->setItemChecked(localMenu->idAt(0),FALSE);
// currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
b=TRUE;
}
populateLocalView();
-
+
}
void AdvancedFm::showRemoteHidden()
{
if (b) {
currentRemoteDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
@@ -688,12 +689,14 @@ void AdvancedFm::showLocalMenu(QListViewItem * item)
m.insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
m.setCheckable(TRUE);
if (!b)
m.setItemChecked(m.idAt(0),TRUE);
else
m.setItemChecked(m.idAt(0),FALSE);
+ if(Ir::supported())
+ m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
m.exec( QCursor::pos() );
}
}
void AdvancedFm::showRemoteMenu(QListViewItem * item)
{
@@ -725,19 +728,21 @@ void AdvancedFm::showRemoteMenu(QListViewItem * item)
m.insertItem( tr( "Properties" ), this, SLOT( doProperties() ));
m.setCheckable(TRUE);
if (!b)
m.setItemChecked(m.idAt(0),TRUE);
else
m.setItemChecked(m.idAt(0),FALSE);
+ if(Ir::supported())
+ m.insertItem( tr( "Beam File" ), this, SLOT( doBeam() ));
m.exec( QCursor::pos() );
- }
+ }
}
void AdvancedFm::runThis() {
// QFileInfo *fi;
-QString fs;
+QString fs;
if (TabWidget->currentPageIndex() == 0) {
QString curFile = Local_View->currentItem()->text(0);
fs= getFileSystemType((const QString &) currentDir.canonicalPath());
QFileInfo fileInfo( currentDir.canonicalPath()+"/"+curFile);
qDebug( fileInfo.owner());
@@ -828,13 +833,13 @@ void AdvancedFm::localDelete()
QStringList curFileList = getPath();
QString myFile;
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
myFile = (*it);
if( myFile.find(" -> ",0,TRUE) != -1)
myFile = myFile.left( myFile.find(" -> ",0,TRUE));
-
+
QString f = currentDir.canonicalPath();
if(f.right(1).find("/",0,TRUE) == -1)
f+="/";
f+=myFile;
if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
switch ( QMessageBox::warning(this,tr("Delete"),tr("Do you really want to delete\n")+f+
@@ -934,13 +939,13 @@ void AdvancedFm::localRename()
}
populateLocalView();
}
void AdvancedFm::remoteRename()
{
- QString curFile = Remote_View->currentItem()->text(0);
+ QString curFile = Local_View->currentItem()->text(0);
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Rename"),TRUE, 0);
fileDlg->setInputText((const QString &)curFile);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
QString oldname = currentRemoteDir.canonicalPath() + "/" + curFile;
@@ -1048,20 +1053,20 @@ void AdvancedFm::filePerms() {
if (TabWidget->currentPageIndex() == 0) {
populateLocalView();
} else {
populateRemoteView();
}
-
+
}
void AdvancedFm::doProperties() {
QStringList curFileList = getPath();
QString filePath;
if (TabWidget->currentPageIndex() == 0) {
-
+
filePath = currentDir.canonicalPath()+"/";
} else {
filePath= currentRemoteDir.canonicalPath()+"/";
}
// qDebug("%d",curFileList.count());
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
@@ -1180,13 +1185,13 @@ void AdvancedFm::copy()
{
QStringList curFileList = getPath();
QString curFile;
if (TabWidget->currentPageIndex() == 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
- QString destFile = currentRemoteDir.canonicalPath()+"/"+(*it);
+ QString destFile = currentRemoteDir.canonicalPath()+"/"+(*it);
// if(destFile.right(1).find("/",0,TRUE) == -1)
// destFile+="/";
// destFile +=(*it);
curFile = currentDir.canonicalPath()+"/"+(*it);
// if(curFile.right(1).find("/",0,TRUE) == -1)
@@ -1249,13 +1254,13 @@ void AdvancedFm::copyAs()
if(!copyFile(destFile, curFile) ) {
QMessageBox::message("AdvancedFm","Could not copy\n"+curFile +"to\n"+destFile);
qWarning("nothin doing");
}
}
}
-
+
populateRemoteView();
TabWidget->setCurrentPage(1);
} else {
if (TabWidget->currentPageIndex() == 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
@@ -1376,13 +1381,13 @@ void AdvancedFm::runCommand() {
if( Local_View->currentItem())
curFile = currentDir.canonicalPath() +"/"+ Local_View->currentItem()->text(0);
} else {
if(Remote_View->currentItem())
curFile = currentRemoteDir.canonicalPath() + "/"+Remote_View->currentItem()->text(0);
}
-
+
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
fileDlg->setInputText(curFile);
fileDlg->exec();
QString command;
if( fileDlg->result() == 1 ) {
@@ -1396,17 +1401,17 @@ void AdvancedFm::runCommand() {
qApp->processEvents();
FILE *fp;
char line[130];
sleep(1);
// if(command.find("2>",0,TRUE) != -1)
command +=" 2>&1";
- fp = popen( (const char *) command, "r");
+ fp = popen( (const char *) command, "r");
if ( !fp ) {
- qDebug("Could not execute '" + command + "'! err=%d", fp);
+ qDebug("Could not execute '" + command + "'! err=%d", fp);
QMessageBox::warning( this, tr("AdvancedFm"), tr("command failed!"), tr("&OK") );
- pclose(fp);
+ pclose(fp);
return;
} else {
while ( fgets( line, sizeof line, fp)) {
QString lineStr = line;
lineStr=lineStr.left(lineStr.length()-1);
outDlg->OutputEdit->append(lineStr);
@@ -1422,13 +1427,13 @@ void AdvancedFm::runCommandStd() {
if( Local_View->currentItem())
curFile = currentDir.canonicalPath() +"/"+ Local_View->currentItem()->text(0);
} else {
if(Remote_View->currentItem())
curFile = currentRemoteDir.canonicalPath() +"/"+ Remote_View->currentItem()->text(0);
}
-
+
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
fileDlg->setInputText(curFile);
fileDlg->exec();
QString command;
if( fileDlg->result() == 1 ) {
@@ -1452,34 +1457,34 @@ void AdvancedFm::fileStatus() {
outDlg->showMaximized();
outDlg->show();
qApp->processEvents();
FILE *fp;
char line[130];
sleep(1);
- fp = popen( (const char *) command, "r");
+ fp = popen( (const char *) command, "r");
if ( !fp ) {
- qDebug("Could not execute '" + command + "'! err=%d", fp);
+ qDebug("Could not execute '" + command + "'! err=%d", fp);
QMessageBox::warning( this, tr("AdvancedFm"), tr("command failed!"), tr("&OK") );
- pclose(fp);
+ pclose(fp);
return;
} else {
while ( fgets( line, sizeof line, fp)) {
outDlg->OutputEdit->append(line);
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,FALSE);
-
+
}
-
+
}
}
void AdvancedFm::mkDir() {
- if (TabWidget->currentPageIndex() == 0)
+ if (TabWidget->currentPageIndex() == 0)
localMakDir();
else
remoteMakDir();
-
+
}
void AdvancedFm::rn() {
if (TabWidget->currentPageIndex() == 0)
localRename();
else
@@ -1545,27 +1550,27 @@ void AdvancedFm::keyReleaseEvent( QKeyEvent *e)
break;
case Key_3:
CFButtonPushed();
break;
case Key_4:
SDButtonPushed();
- break;
+ break;
case Key_5:
homeButtonPushed();
- break;
+ break;
case Key_6:
docButtonPushed();
- break;
+ break;
case Key_7:
- break;
+ break;
case Key_8:
- break;
+ break;
case Key_9:
- break;
+ break;
case Key_0:
- break;
+ break;
}
}
void AdvancedFm::mkSym() {
QString cmd;
QStringList curFileList = getPath();
@@ -1654,12 +1659,49 @@ QString AdvancedFm::getFileSystemType(const QString &currentText) {
}
}
return baseFs;
}
+void AdvancedFm::doBeam() {
+ Ir ir;
+ if(!ir.supported()){
+ } else {
+
+ QStringList curFileList = getPath();
+
+ if (TabWidget->currentPageIndex() == 0) {
+ for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
+
+ QString curFile = currentDir.canonicalPath()+"/"+(*it);
+ if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
+ Ir *file = new Ir(this, "IR");
+ connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
+ file->send( curFile, curFile );
+ }
+
+ } else {
+ for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
+
+ QString curFile = currentRemoteDir.canonicalPath()+"/"+(*it);
+ if( curFile.right(1) == "/") curFile = curFile.left( curFile.length() -1);
+ Ir *file = new Ir(this, "IR");
+ connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
+ file->send( curFile, curFile );
+
+ }
+ }
+ }
+}
+
+void AdvancedFm::fileBeamFinished( Ir *ir) {
+ QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
+
+}
+
+
// 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;
diff --git a/noncore/apps/advancedfm/advancedfm.h b/noncore/apps/advancedfm/advancedfm.h
index 90619ba..5817fca 100644
--- a/noncore/apps/advancedfm/advancedfm.h
+++ b/noncore/apps/advancedfm/advancedfm.h
@@ -16,12 +16,13 @@
#include <qdialog.h>
#include <qmainwindow.h>
#include <qdir.h>
#include <qstring.h>
#include <qpoint.h>
#include <qstringlist.h>
+#include <qpe/ir.h>
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QComboBox;
class QListView;
@@ -120,9 +121,11 @@ protected slots:
void currentPathComboActivated(const QString &);
void fillCombo(const QString &);
bool copyFile( const QString & , const QString & );
void move();
void fileStatus();
void doAbout();
+ void doBeam();
+ void fileBeamFinished( Ir *ir);
};
#endif // ADVANCEDFM_H