⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 output.cpp

📁 天使工具,e6手机专用,大家都知道吧,狠狠好地东西,直接编译即可
💻 CPP
字号:
/****************************************************************************** outputEdit.cpp**** Copyright: Fri Apr 12 15:12:58 2002 L.J. Potter <ljp@llornkcor.com>****************************************************************************/#include "output.h"//#include <opie/oprocess.h>//#include <qpe/filemanager.h>//#include <qpe/qpeapplication.h>//#include <qpe/applnk.h>#include <qmessagebox.h>#include <qstringlist.h>#include <qfile.h>#include <qcstring.h>//#include <qlineedit.h>//#include <qmultilineedit.h>#include <qpushbutton.h>#include <qlayout.h>#include <qvariant.h>#include <qhbox.h>#include <qvbox.h>#include <qlabel.h>#include <zglobal.h>#include <ezxutilpushbutton.h>#include <zpushbutton.h>#include <errno.h>#include <zmultilineedit.h>//#include <zscrollview.h>/* XPM */static char * filesave_xpm[] = {"16 16 78 1","   c None",".  c #343434","+  c #A0A0A0","@  c #565656","#  c #9E9E9E","$  c #525252","%  c #929292","&  c #676767","*  c #848484","=  c #666666","-  c #D8D8D8",";  c #FFFFFF",">  c #DBDBDB",",  c #636363","'  c #989898",")  c #2D2D2D","!  c #909090","~  c #AEAEAE","{  c #EAEAEA","]  c #575757","^  c #585858","/  c #8A8A8A","(  c #828282","_  c #6F6F6F",":  c #C9C9C9","<  c #050505","[  c #292929","}  c #777777","|  c #616161","1  c #3A3A3A","2  c #BEBEBE","3  c #2C2C2C","4  c #7C7C7C","5  c #F6F6F6","6  c #FCFCFC","7  c #6B6B6B","8  c #959595","9  c #4F4F4F","0  c #808080","a  c #767676","b  c #818181","c  c #B8B8B8","d  c #FBFBFB","e  c #F9F9F9","f  c #CCCCCC","g  c #030303","h  c #737373","i  c #7A7A7A","j  c #7E7E7E","k  c #6A6A6A","l  c #FAFAFA","m  c #505050","n  c #9D9D9D","o  c #333333","p  c #7B7B7B","q  c #787878","r  c #696969","s  c #494949","t  c #555555","u  c #949494","v  c #E6E6E6","w  c #424242","x  c #515151","y  c #535353","z  c #3E3E3E","A  c #D4D4D4","B  c #0C0C0C","C  c #353535","D  c #474747","E  c #ECECEC","F  c #919191","G  c #7D7D7D","H  c #000000","I  c #404040","J  c #858585","K  c #323232","L  c #D0D0D0","M  c #1C1C1C","    ...+        ","   @#$%&..+     ","   .*=-;;>,..+  ","  ')!~;;;;;;{]..","  ^/(-;;;;;;;_:<","  [}|;;;;;;;{12$"," #34-55;;;;678$+"," 90ab=c;dd;e1fg "," [ahij((kbl0mn$ "," op^q^^7r&]s/$+ ","@btu;vbwxy]zAB  ","CzDEvEv;;DssF$  ","G.H{E{E{IxsJ$+  ","  +...vEKxzLM   ","     +...z]n$   ","        +...    "};QString ChineseAndEnglish(const char*ChineseString);/*Output::Output( const QStringList commands, QWidget* parent,  const char* name, bool modal, WFlags fl)    : QDialog( parent, name, modal, fl ){   QStringList cmmds;//   cmmds=QStringList::split( " ", commands, false);   cmmds=commands;//   qDebug("count %d", cmmds.count());      if ( !name )       setName( tr("Output"));    resize( 196, 269 );     setCaption( name );    OutputLayout = new QGridLayout( this );     OutputLayout->setSpacing( 2);    OutputLayout->setMargin( 2);    QPushButton *docButton;     docButton = new QPushButton(  QPixmap(( const char** ) filesave_xpm  ) ,"",this,"saveButton");     docButton->setFixedSize( QSize( 20, 20 ) );     connect( docButton,SIGNAL(released()),this,SLOT( saveOutput() )); //    docButton->setFlat(TRUE);     OutputLayout->addMultiCellWidget( docButton, 0,0,3,3 );    OutputEdit = new QMultiLineEdit( this, "OutputEdit" );    OutputLayout->addMultiCellWidget( OutputEdit, 1,1,0,3 );   // proc = new OProcess();    connect(proc, SIGNAL(processExited(OProcess *)),            this, SLOT( processFinished()));    connect(proc, SIGNAL(receivedStdout(OProcess *, char *, int)),            this, SLOT(commandStdout(OProcess *, char *, int)));    connect(proc, SIGNAL(receivedStderr(OProcess *, char *, int)),            this, SLOT(commandStderr(OProcess *, char *, int)));//     connect( , SIGNAL(received(const QByteArray &)),//             this, SLOT(commandStdin(const QByteArray &)));//    * proc << commands.latin1();       for ( QStringList::Iterator it = cmmds.begin(); it != cmmds.end(); ++it ) {         qDebug( "%s", (*it).latin1() );         * proc << (*it).latin1();      }     if(!proc->start(OProcess::NotifyOnExit, OProcess::All)) {         OutputEdit->append("Process could not start");         OutputEdit->setCursorPosition( OutputEdit->numLines() + 1,0,FALSE);         perror("Error: ");         QString errorMsg="Error\n"+(QString)strerror(errno);         OutputEdit->append( errorMsg);         OutputEdit->setCursorPosition( OutputEdit->numLines() + 1,0,FALSE);     }     }Output::~Output() {}void Output::saveOutput() {    InputDialog *fileDlg;    fileDlg = new InputDialog(this,tr("Save output to file (name only)"),TRUE, 0);    fileDlg->exec();    if( fileDlg->result() == 1 ) {     // QString  filename = QPEApplication::documentDir();       if(filename.right(1).find('/') == -1)          filename+="/";      QString name = fileDlg->LineEdit1->text();      filename+="text/plain/"+name;      qDebug(filename);      QFile f(filename);      f.open( IO_WriteOnly);      if( f.writeBlock( OutputEdit->text(), qstrlen( OutputEdit->text()) ) != -1) {          DocLnk lnk;          lnk.setName(name); //sets file name          lnk.setFile(filename); //sets File property          lnk.setType("text/plain");          if(!lnk.writeLink()) {              qDebug("Writing doclink did not work");          }      } else          qWarning("Could not write file");      f.close();    }}void Output::commandStdout(OProcess*, char *buffer, int buflen) {    qWarning("received stdout %d bytes", buflen);//     QByteArray data(buflen);//     data.fill(*buffer, buflen);//     for (uint i = 0; i < data.count(); i++ ) {//         printf("%c", buffer[i] );//     }//     printf("\n");    QString lineStr = buffer;    lineStr=lineStr.left(lineStr.length()-1);    OutputEdit->append(lineStr);    OutputEdit->setCursorPosition( OutputEdit->numLines() + 1,0,FALSE);}void Output::commandStdin( const QByteArray &data) {    qWarning("received stdin  %d bytes", data.size());    // recieved data from the io layer goes to sz    proc->writeStdin(data.data(), data.size());}void Output::commandStderr(OProcess*, char *buffer, int buflen) {    qWarning("received stderrt %d bytes", buflen);    QString lineStr = buffer;//    lineStr=lineStr.left(lineStr.length()-1);    OutputEdit->append(lineStr);    OutputEdit->setCursorPosition( OutputEdit->numLines() + 1,0,FALSE);}void Output::processFinished() {    delete proc;    OutputEdit->append( "\nFinished\n");    OutputEdit->setCursorPosition( OutputEdit->numLines() + 1,0,FALSE);//    close();//     disconnect( layer(), SIGNAL(received(const QByteArray &)),//                this, SLOT(commandStdin(const QByteArray &)));}*///==============================InputDialog::InputDialog( QWidget* parent,  const char* name, bool modal, WFlags fl )    : QDialog( parent, name, modal, fl ){    if ( !name )        setName( "InputDialog" );    resize( 234, 50 );     setMaximumSize( QSize( 240, 50 ) );    setCaption( tr(name ) );/*    LineEdit1 = new QLineEdit( this, "LineEdit1" );    LineEdit1->setGeometry( QRect( 10, 10, 216, 22 ) );    LineEdit1->setFocus();    LineEdit1->setFocus();    connect(LineEdit1,SIGNAL(returnPressed()),this,SLOT(returned() ));*/QVBoxLayout *vbl = new QVBoxLayout ( this, 0, 0 );setGeometry(10, 50, 216, 22 );	QVBox *vb = new QVBox (this);	vb->setMargin( 4 );	QLabel *lb = new QLabel ( ChineseAndEnglish("输入文件名:" ), vb );	lb->setFixedHeight( lb->height() + 4 );	LineEdit1 = new ZMultiLineEdit( vb);	LineEdit1->setFilter(QRegExp("[^\\n\\r?/<>\\\\:\"*]"), TRUE);		vbl->addWidget( vb );	QHBox *hb = new QHBox(this );	hb->setMargin( 0 );	hb->setSpacing( 0 );	ZPushButton *okBtn = new ZPushButton(hb, 0, -1, -1);	okBtn->setText(ChineseAndEnglish("确定"));		connect( okBtn, SIGNAL( clicked() ), this, SLOT( returned() ) );		ZPushButton *cancelBtn = new ZPushButton(hb, 0, -1, -1);	cancelBtn->setText(ChineseAndEnglish("取消"));		connect( cancelBtn, SIGNAL( clicked() ), this, SLOT( reject() ) );		vbl->addWidget( hb );	LineEdit1->setFocus( );	//this->setGeometry(ZGlobal::mapFromGlobalR(d, ZGlobal::getDlgSmallR()));	//this->setFixedHeight( lb->height() + ed->height() + cancelBtn->height() + 4 );   // if ( this->exec() == QDialog::Accepted ) {    // name = LineEdit1->text();    //}    //delete d;	//return name;}InputDialog::~InputDialog() {    inputText = LineEdit1->text();}void InputDialog::setInputText(const QString &string) {    LineEdit1->setText( string);   //LineEdit1->setFilter(QRegExp("[^\\n\\r?/<>\\\\:\"*]"), TRUE);}void InputDialog::returned() {    inputText = LineEdit1->text();    this->accept();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -