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

📄 extcontrol2.cpp

📁 KphoneSI (kpsi) is a SIP (Session Initiation Protocol) user agent for Linux, with which you can in
💻 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 + -