📄 extcontrol2.cpp
字号:
#include <qvbox.h>#include <qlabel.h>#include <qvbuttongroup.h>#include <qhbuttongroup.h>#include <qradiobutton.h>#include <qpushbutton.h>#include <qlineedit.h>#include <qsettings.h>#include <qlayout.h>#include <qdialog.h>#include "../config.h"#include "sessioncontrol.h"#include "dspoutoss.h"#include "extcontrol2.h"#include "../dissipate2/sipcall.h"#include "kstatics.h"ExtControl2::ExtControl2( SessionControl *sessioncontrol, QWidget *parent, const char *name ) : QDialog( parent, QString( name ) + "Test Properties", true ){ a = sessioncontrol; QVBox *vbox = new QVBox( this ); vbox->setMargin( 1 ); vbox->setSpacing( 1 ); QVBoxLayout *vboxl = new QVBoxLayout( this, 5 ); vboxl->addWidget( vbox ); QSettings settings; pFix = QString::fromAscii( name); (void) new QLabel( KStatics::dBase+pFix+"/SessionType2", vbox ); (void) new QLabel( "The Program", vbox ); QString extsw = settings.readEntry( KStatics::dBase+pFix+"/SessionType2/exec", "kedit" ); extSW = new QLineEdit( extsw, vbox ); extSW->setMinimumWidth( fontMetrics().maxWidth() * 20 ); (void) new QLabel( "The Parameters", vbox ); QString extparam = settings.readEntry( KStatics::dBase+pFix+"/SessionType2/param", "" ); extPR = new QLineEdit( extparam, vbox ); extPR->setMinimumWidth( fontMetrics().maxWidth() * 20 ); (void) new QLabel( "The Icon", vbox ); QString extico = settings.readEntry( KStatics::dBase+pFix+"/SessionType2/icon", "question" ); extIco = new QLineEdit( extico, vbox ); extIco->setMinimumWidth( fontMetrics().maxWidth() * 20 ); //The Remote Startable Flag rstBG = new QHButtonGroup( "Remote Startable", vbox ); QRadioButton *RstYes = new QRadioButton( "Yes", rstBG ); rstBG->insert( RstYes, rstYes ); QRadioButton *RstNo = new QRadioButton( "No", rstBG ); rstBG->insert( RstNo, rstNo ); if (settings.readEntry( KStatics::dBase+pFix+"/SessionType2/Rst", "No" ) == "Yes") { rstBG->setButton(rstYes); } else { rstBG->setButton(rstNo); } (void) new QLabel( "The VectorId", vbox ); QString vectorid = settings.readEntry( KStatics::dBase+pFix+"/SessionType2/VectorId", "" ); vecId = new QLineEdit( vectorid, vbox ); vecId->setMinimumWidth( fontMetrics().maxWidth() * 20 ); //The Hold Flag holdBG = new QHButtonGroup( "Hold Allowed ", vbox ); QRadioButton *HoldYes = new QRadioButton( "Yes", holdBG ); holdBG->insert( HoldYes, holdYes ); QRadioButton *HoldNo = new QRadioButton( "No", holdBG ); holdBG->insert( HoldNo, holdNo ); if (settings.readEntry( KStatics::dBase+pFix+"/SessionType2/Hold", "No" ) == "Yes") { holdBG->setButton(holdYes); } else { holdBG->setButton(holdNo); } //The Transfer Flag transferBG = new QHButtonGroup( "Transfer Allowed ", vbox ); QRadioButton *TransferYes = new QRadioButton( "Yes", transferBG ); transferBG->insert( TransferYes, transferYes ); QRadioButton *TransferNo = new QRadioButton( "No", transferBG ); transferBG->insert( TransferNo, transferNo ); if (settings.readEntry( KStatics::dBase+pFix+"/SessionType2/Transfer", "No" ) == "Yes") { transferBG->setButton(transferYes); } else { transferBG->setButton(transferNo); } //The Usesound Flag usesoundBG = new QHButtonGroup( "Sound Card Used", vbox ); QRadioButton *UsesoundYes = new QRadioButton( "Yes", usesoundBG ); usesoundBG->insert( UsesoundYes, usesoundYes ); QRadioButton *UsesoundNo = new QRadioButton( "No", usesoundBG ); usesoundBG->insert( UsesoundNo, usesoundNo ); if (settings.readEntry( KStatics::dBase+pFix+"/SessionType2/UseSound", "No" ) == "Yes") { usesoundBG->setButton(usesoundYes); } else { usesoundBG->setButton(usesoundNo); } //The Usetcp Flag usetcpBG = new QHButtonGroup( "SDP Transport", vbox );// QRadioButton *Usetcp = new QRadioButton( "TCP", usetcpBG );// usetcpBG->insert( Usetcp, usetcp ); QRadioButton *Useudp = new QRadioButton( "UDP", usetcpBG ); usetcpBG->insert( Useudp, useudp ); QRadioButton *Usertp = new QRadioButton( "RTP", usetcpBG ); usetcpBG->insert( Usertp, usertp );// if (settings.readEntry( KStatics::dBase+pFix+"/SessionType2/UseTCP", "UDP" ) == "TCP") {// usetcpBG->setButton(usetcp);// } else if (settings.readEntry( KStatics::dBase+pFix+"/SessionType2/UseTCP", "UDP" ) == "UDP") { usetcpBG->setButton(useudp); } else { usetcpBG->setButton(usertp); } QHBoxLayout *buttonBox; buttonBox = new QHBoxLayout( vboxl, 6 ); okPushButton = new QPushButton( this, "ok button" ); okPushButton->setText( "OK" ); okPushButton->setDefault( TRUE ); buttonBox->addWidget( okPushButton ); cancelPushButton = new QPushButton( this, "cancel button" ); cancelPushButton->setText( "Cancel" ); cancelPushButton->setAccel( Key_Escape ); buttonBox->addWidget( cancelPushButton ); connect( okPushButton, SIGNAL( clicked() ), this, SLOT( slotOk() ) ); connect( cancelPushButton, SIGNAL( clicked() ), this, SLOT( slotCancel() ) );}ExtControl2::~ExtControl2( void ){}void ExtControl2::slotOk( void ){ slotApply(); QDialog::accept();}void ExtControl2::slotApply( void ){ QSettings settings; settings.writeEntry( KStatics::dBase+pFix+"/SessionType2/exec", extSW->text() ); a->setExtSW2 ( extSW->text() ); a->setExtIco2( extIco->text() ); settings.writeEntry( KStatics::dBase+pFix+"/SessionType2/icon", extIco->text() ); a->setExtPR2 ( extPR->text() ); settings.writeEntry( KStatics::dBase+pFix+"/SessionType2/param", extPR->text() ); a->setVectorId2 ( vecId->text() ); settings.writeEntry( KStatics::dBase+pFix+"/SessionType2/VectorId", vecId->text() ); switch( rstBG->id(rstBG->selected())) { case rstYes: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/Rst", "Yes"); a->allowRemoteStart (SipCall::extCall2,true );// break; default: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/Rst", "No"); a->allowRemoteStart (SipCall::extCall2,false );// break; } switch( holdBG->id(holdBG->selected())) { case holdYes: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/Hold", "Yes"); a->setHoldAllowed (SipCall::extCall2,true );// break; default: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/Hold", "No"); a->setHoldAllowed (SipCall::extCall2,false );// break; } switch( usetcpBG->id(usetcpBG->selected())) {// case usetcp:// settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/UseTCP","TCP");// a->setUseTCP (SipCall::extCall2,0 );//// break; case useudp: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/UseTCP","UDP"); a->setUseTCP (SipCall::extCall2,1 );// break; default: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/UseTCP","RTP"); a->setUseTCP (SipCall::extCall2,2 );// break; } switch( usesoundBG->id(usesoundBG->selected())) { case usesoundYes: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/UseSound","Yes"); a->setActiveOnly (SipCall::extCall2,true );// break; default: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/UseSound","No"); a->setActiveOnly (SipCall::extCall2,false );// break; } switch( transferBG->id(transferBG->selected())) { case transferYes: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/Transfer", "Yes"); a->setTransferAllowed (SipCall::extCall2,true );// break; default: settings.writeEntry(KStatics::dBase+pFix+"/SessionType2/Transfer", "No"); a->setTransferAllowed (SipCall::extCall2,false );// break; } }void ExtControl2::slotCancel( void ){ QDialog::reject();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -