📄 xptools.cpp
字号:
} */ }else if(idx==readmeItem){ XpText *mEdit = new XpText(cfg.readBoolEntry("ENWrap"),current1+"/readme.txt",this); mEdit->show(); } }void XpTools::selectMenupop(int idx){ if (idx == PhoneItem) { mBrowser->setDir("/ezxlocal/download/mystuff"); } else if (idx == SystemItem) { mBrowser->setDir("/ezxlocal"); } else if (idx == SDMMCItem) { mBrowser->setDir("/mmc/mmca1"); } else if (idx == SetupItem) { mBrowser->setDir("/ezxlocal/download/appwrite/setup"); }else if (idx==bootItem){ mBrowser->setDir("/"); } } void XpTools::filePicked(bool b){ mPopup->setItemEnabled(DeleteItem, b); QString current = mBrowser->getFilePath(); QDir dir(current); current = dir.dirName();//得到目录名 QString fileName = mBrowser->getFileName(); QString status=ChineseAndEnglish("目录")+"["+current+"]"+sizeString( QFileInfo(fileName).size() ); getTitleBarWidget()->setText(status); }QString XpTools::sizeString( unsigned int s ){ double size = s; if ( size > 1024 * 1024 * 1024 ) return QString().sprintf( "%.1f", size / ( 1024 * 1024 * 1024 ) ) + "G"; else if ( size > 1024 * 1024 ) return QString().sprintf( "%.1f", size / ( 1024 * 1024 ) ) + "M"; else if ( size > 1024 ) return QString().sprintf( "%.1f", size / ( 1024 ) ) + "K"; else return QString::number( size ) + "B";}void XpTools::fileClicked(bool b){ QString fileName = mBrowser->getFileName(); Config cfg (current1+"/xptools.conf"); cfg.setGroup( QString::number( 2 ) ); if(!cfg.readBoolEntry("ENOpen")){ if(!QString(cfg.readEntry( QString(fileName.right(3)).upper())).isEmpty()) { QString ass=" -d \""+fileName+"\""; ass.prepend(cfg.readEntry(QString(fileName.right(3)).upper())); system(ass.utf8()); //qDebug(ass); } if(!QString(cfg.readEntry( QString(fileName.right(2)).upper())).isEmpty()) { QString ass=" -d \""+fileName.utf8()+"\""; ass.prepend(cfg.readEntry(QString(fileName.right(2)).upper())); system(ass.utf8()); } if(!QString(cfg.readEntry( QString(fileName.right(4)).upper())).isEmpty()) { QString ass=" -d \""+fileName.utf8()+"\""; ass.prepend(cfg.readEntry(QString(fileName.right(4)).upper())); system(ass.utf8()); } if (QFileInfo(fileName).extension( FALSE ).upper()=="WMA"||QFileInfo(fileName).extension( FALSE ).upper()=="MID"||QFileInfo(fileName).extension( FALSE ).upper()=="WAV"||QFileInfo(fileName).extension( FALSE ).upper()=="RAM"||QFileInfo(fileName).extension( FALSE ).upper()=="AMR") { system("/usr/SYSqtapp/mediaplayer/mediaplayer -d \""+fileName.utf8()+"\""); } if (QFileInfo(fileName).extension( FALSE ).upper()=="HTM"||QFileInfo(fileName).extension( FALSE ).upper()=="WML"||QFileInfo(fileName).extension( FALSE ).upper()=="HTML"||QFileInfo(fileName).extension( FALSE ).upper()=="XWML"||QFileInfo(fileName).extension( FALSE ).upper()=="ASP"||QFileInfo(fileName).extension( FALSE ).upper()=="HML") { fileName.replace(QRegExp(" "),"\\ "); system("/usr/SYSqtapp/opera/brwdaemon -d \""+fileName.utf8()+"\""); } if (QFileInfo(fileName).extension( FALSE ).upper()=="JAR") { system("/usr/SYSjava/kvm -classpath \""+fileName.utf8()+"\""); } if (QFileInfo(fileName).extension( FALSE )=="txt"||QFileInfo(fileName).extension( FALSE )=="TXT"||QFileInfo(fileName).extension( FALSE )=="cfg"||QFileInfo(fileName).extension( FALSE )=="CFG") { cfg.setGroup( QString::number( 1 ) ); XpText *mEdit = new XpText(cfg.readBoolEntry("ENWrap"),fileName,this); mEdit->show(); } if (QFileInfo(fileName).extension( FALSE ).upper()=="ELF"||QFileInfo(fileName).extension( FALSE ).upper()=="LIN") { fileName.replace(QRegExp(" "),"\\ "); system("/home/native/.profile"); QString cmd=fileName.utf8(); system(cmd); } }else{ if (QFileInfo(fileName).extension( FALSE ).upper()=="HTM"||QFileInfo(fileName).extension( FALSE ).upper()=="WML"||QFileInfo(fileName).extension( FALSE ).upper()=="HTML"||QFileInfo(fileName).extension( FALSE ).upper()=="XWML"||QFileInfo(fileName).extension( FALSE ).upper()=="ASP"||QFileInfo(fileName).extension( FALSE ).upper()=="HML") { // fileName.replace(QRegExp(" "),"\\ "); system("/usr/SYSqtapp/opera/brwdaemon -d \""+fileName.utf8()+"\""); } if (QFileInfo(fileName).extension( FALSE ).upper()=="MP3"||QFileInfo(fileName).extension( FALSE ).upper()=="3GP"||QFileInfo(fileName).extension( FALSE ).upper()=="DAT"||QFileInfo(fileName).extension( FALSE ).upper()=="RM"||QFileInfo(fileName).extension( FALSE ).upper()=="MP4"||QFileInfo(fileName).extension( FALSE ).upper()=="RMVB"||QFileInfo(fileName).extension( FALSE ).upper()=="MP4"||QFileInfo(fileName).extension( FALSE ).upper()=="WMA"||QFileInfo(fileName).extension( FALSE ).upper()=="OGG"||QFileInfo(fileName).extension( FALSE ).upper()=="AAC"||QFileInfo(fileName).extension( FALSE ).upper()=="MID"||QFileInfo(fileName).extension( FALSE ).upper()=="WAV"||QFileInfo(fileName).extension( FALSE ).upper()=="WMV") { system("/usr/SYSqtapp/mediaplayer/mediaplayer -d \""+fileName.utf8()+"\""); } if (QFileInfo(fileName).extension( FALSE ).upper()=="JAR") { system("/usr/SYSjava/kvm -classpath \""+fileName.utf8()+"\""); } if (QFileInfo(fileName).extension( FALSE )=="txt"||QFileInfo(fileName).extension( FALSE )=="TXT"||QFileInfo(fileName).extension( FALSE )=="cfg"||QFileInfo(fileName).extension( FALSE )=="CFG") { cfg.setGroup( QString::number( 1 ) ); XpText *mEdit = new XpText(cfg.readBoolEntry("ENWrap"),fileName,this); mEdit->show(); } if (QFileInfo(fileName).extension( FALSE ).upper()=="ELF"||QFileInfo(fileName).extension( FALSE ).upper()=="LIN") { fileName.replace(QRegExp(" "),"\\ "); system("/home/native/.profile"); QString cmd=fileName.utf8(); system(cmd); } if (QFileInfo(fileName).extension( FALSE ).upper()=="GIF"||QFileInfo(fileName).extension( FALSE ).upper()=="PNG"||QFileInfo(fileName).extension( FALSE ).upper()=="BMP"||QFileInfo(fileName).extension( FALSE ).upper()=="JPG"||QFileInfo(fileName).extension( FALSE ).upper()=="JPEG") { currentItem=mBrowser->currentItem(); ViewpicDialog *mEdit = new ViewpicDialog(fileName,this); mEdit->show(); QObject::connect(mEdit, SIGNAL(keyup()), this, SLOT(sltrew())); QObject::connect(mEdit, SIGNAL(keydown()), this, SLOT(sltfwd())); } } }void XpTools::dirPicked(bool b){ mPopup->setItemEnabled(DelDirectoryItem, b); }void XpTools::setDir(const QString &path){ mBrowser->setDir(path);}QString XpTools::getFileName() { return mBrowser->getFileName();}QString XpTools::getFilePath(){ return mBrowser->getFilePath();}void XpTools::showAboutDialog(){ //RES_ICON_Reader ir; ZMessageBox::information( this, /*ir.getIcon(RES_ICON_DLG_EMPTY_TRASH)*/ NULL, QString(ChineseAndEnglish("<font size=3><qt><p><b>天使工具 V%1</b></font>" "<font size=2>For MOTO A1200<br></font>" // "<font size=2>For MOTO E6<br></font>" "<font size=2>MOTO E680编程工作室<br></font>" // "依明天下<br> <font color=\"#000080\">http://19823.lxyes.cn<br></font>" "<font size=2>xihuan666@citiz.net<br></font>" "<font size=2>中国 上海<br></font>" "<font size=3>Copyright(C)Xihuan666<br></font>" "<font size=2>2008/3<b></qt></font>")).arg(version), ChineseAndEnglish("关闭"));}void XpTools::deleteFile(){ RES_ICON_Reader ir; QString fileName = mBrowser->getFileName(); QString msg = ChineseAndEnglish("你真的要删除[%1]这个文件吗?").arg(fileName); if (fileName.startsWith("/ezxlocal")) { msg = ChineseAndEnglish("<qt><p>这是个系统文件<b>删除可能会有严重后果!!</b> " "你真的想删除!</p></qt>") + msg; } qDebug(fileName); QFile f(fileName); if (f.exists()) { // re-check if the file exist再核查文件是否结束 switch (ZMessageBox::information(this, /* ir.getIcon(RES_ICON_DLG_EMPTY_TRASH),*/NULL, msg, ChineseAndEnglish("删除"), ChineseAndEnglish("取消")) ) { case 0: // yes if (f.remove()) setDir(mBrowser->getFilePath()); break; default: // no break; } }}void XpTools::DelDirectory(){ RES_ICON_Reader ir; QStringList curFileList = mBrowser->getFileName(); 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 = mBrowser->getDirPath(); if(f.right(1).find("/",0,TRUE) == -1) f += "/"; f += myFile; if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) //if file is a directory { QString msg; QString current = mBrowser->getDirPath(); QDir dir(current); current = dir.dirName();//得到目录名 if (f.right(3)=="../") { ZMessageBox::timerMessage(this, ir.getIcon(RES_ICON_DLG_ERROR,1), ChineseAndEnglish("你还没有选择文件..."), 2); return; } if (current.startsWith("mmc")||current.startsWith("mmca1") || current.startsWith("/ezxlocal") || current.startsWith(".system") || current.startsWith("QTDownLoad")|| current.startsWith("java")|| current.startsWith("diska")) { ZMessageBox::timerMessage(this, ir.getIcon(RES_ICON_DLG_ERROR,1), ChineseAndEnglish("这是个系统目录,不可以删除..."), 2); return; } switch ( ZMessageBox::information( this, NULL, ChineseAndEnglish("<qt><p>真的想删除[") + f + ChineseAndEnglish("]及这个目录下所有文件 ?") ,ChineseAndEnglish("确定"),ChineseAndEnglish("取消")) ) { case 0: { f=f.left(f.length()-1); //f.replace(QRegExp(" "),"\\ "); QString cmd="/bin/rm -rf \""+f+"\""; system( (const QString)cmd.utf8() ); setDir(mBrowser->getFilePath()); // cdUp(); } break; case 1: // exit break; }; } } }void XpTools::menuSelect(int idb) { if (idb == m_save_menu_id){ Config cfg (current1+"/xptools.conf"); cfg.setGroup( QString::number( 1 ) ); QString fileName = mBrowser->getFileName();//以文本方式打开文件 XpText *mEdit = new XpText(cfg.readBoolEntry("ENWrap"),fileName,this); mEdit->show(); } if (idb == m_addfromrcm_menu_id){ zipfile(); } if (idb == m_save_id){ copyfile(); }if (idb == m_addfromrca_menu_id){ unzipfile(); }if (idb == m_renamefile){ renamefile(); }if (idb == m_movefile){ moveFile(); }}void XpTools::moveFile(){RES_ICON_Reader ir;if (mPopup->isItemEnabled(DeleteItem)){ QString oldName = mBrowser->getFileName(); ViewDialog *fileDlg; fileDlg = new ViewDialog(this,tr("hhh"),true,0); fileDlg->exec(); if( fileDlg->result() == 1 ) { QString newName = fileDlg->fBrowser->getFilePath(); newName = newName+"/"+QFileInfo(oldName).fileName(); if(QFile(newName).exists()){ ZMessageBox::timerMessage(this, ir.getIcon(RES_ICON_DLG_COMPLETE,1), ChineseAndEnglish("目录中有相同文件名称..."), 2); return; } switch (ZMessageBox::information(this, NULL,ChineseAndEnglish("你想移动文件[%1]到[%2]吗?").arg(QFileInfo(oldName).fileName()).arg(newName), ChineseAndEnglish("确定"), ChineseAndEnglish("取消"))) { case 0: // overwrite system("/bin/mv \""+oldName.utf8()+"\" \""+newName.utf8()+"\""); break; case 1: // cancel return; break; } setDir(mBrowser->getFilePath()); } }if (mPopup->isItemEnabled(DelDirectoryItem)){ QString oldName = mBrowser->getDirPath(); if (oldName.right(2)=="..") { ZMessageBox::timerMessage(this, ir.getIcon(RES_ICON_DLG_ERROR,1), ChineseAndEnglish("你还没有选择文件..."), 2); return; } if (oldName.right(7)==".system"||oldName.right(4)=="java"||oldName.right(10)=="QTDownLoad"||oldName.right(5)=="diska"||oldName.right(3)=="mmc"||oldName.right(5)=="mmca1") { ZMessageBox::timerMessage(this, ir.getIcon(RES_ICON_DLG_ERROR,1), ChineseAndEnglish("系统文件目录不能移动..."), 2); return; } ViewDialog *fileDlg; fileDlg = new ViewDialog(this,tr("hhh"),true,0); fileDlg->exec(); if( fileDlg->result() == 1 )//移动目录 { QString newName = fileDlg->fBrowser->getFilePath(); newName = newName +"/"+QDir(oldName).dirName(); if(QDir(newName).exists()){ ZMessageBox::timerMessage(this, ir.getIcon(RES_ICON_DLG_COMPLETE,1), ChineseAndEnglish("目录中有相同文件名称..."), 2); return; } switch (ZMessageBox::information(this, NULL,ChineseAndEnglish("你想移动目录[%1]到[%2]吗?").arg(QFileInfo(oldName).fileName()).arg(newName), ChineseAndEnglish("确定"), ChineseAndEnglish("取消"))) { case 0: // overwrite system("/bin/mv \""+oldName.utf8()+"\" \""+newName.utf8()+"\""); break; case 1: // cancel return; break; } setDir(mBrowser->getFilePath()); } } }void XpTools::renamefile(){RES_ICON_Reader ir;if (mPopup->isItemEnabled(DeleteItem)){ QString oldName = mBrowser->getFileName();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -