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

📄 extcontrol.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 "extcontrol.h"#include "../dissipate2/sipcall.h"#include "kstatics.h"ExtControl::ExtControl( int lo, SessionControl *sessioncontrol,	QWidget *parent, const char *name )	: QDialog( parent, QString( name ) + "Test Properties", true ){	a = sessioncontrol;	load = lo;	call = SipCall::extCall1 + lo - 1;	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) + "/SessionType" + QString::number(load);	(void) new QLabel( KStatics::dBase+pFix, vbox );	(void) new QLabel( "The Program", vbox );	QString extsw  = settings.readEntry(		KStatics::dBase+pFix+"/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+"/param", "" );	extPR  = new QLineEdit( extparam, vbox );	extPR->setMinimumWidth( fontMetrics().maxWidth() * 20 );	(void) new QLabel( "The Icon", vbox );	QString extico  = settings.readEntry(		KStatics::dBase+pFix+"/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+"/Rst", "No" ) == "Yes") {	    rstBG->setButton(rstYes);	} else {	    rstBG->setButton(rstNo);	}		(void) new QLabel( "The VectorId", vbox );	QString vectorid  = settings.readEntry(		KStatics::dBase+pFix+"/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+"/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+"/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+"/UseSound", "No" ) == "Yes") {	    usesoundBG->setButton(usesoundYes);	} else {	    usesoundBG->setButton(usesoundNo);	}	//The UseL4  Flag	useL4BG = new QHButtonGroup( "SDP Transport", vbox );	QRadioButton *Useudp = new QRadioButton( "UDP", useL4BG );	useL4BG->insert( Useudp, useudp );	QRadioButton *Usertp = new QRadioButton( "RTP", useL4BG );	useL4BG->insert( Usertp, usertp );	if (settings.readEntry(	KStatics::dBase+pFix+"/UseL4", "UDP" ) == "UDP") {	    useL4BG->setButton(useudp);	} else {		useL4BG->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() ) );}ExtControl::~ExtControl( void ){}void ExtControl::slotOk( void ){	slotApply();	QDialog::accept();}void ExtControl::slotApply( void ){	QSettings settings;	settings.writeEntry( KStatics::dBase+pFix+"/exec", extSW->text() );	a->setExtSW ( load, extSW->text() );	a->setExtIco(load, extIco->text() );	settings.writeEntry( KStatics::dBase+pFix+"/icon", extIco->text() );	a->setExtPR (load, extPR->text() );	settings.writeEntry( KStatics::dBase+pFix+"/param", extPR->text() );	a->setVectorId (load, vecId->text() );	settings.writeEntry( KStatics::dBase+pFix+"/VectorId", vecId->text() );	switch( rstBG->id(rstBG->selected())) {	case rstYes:		settings.writeEntry(KStatics::dBase+pFix+"/Rst", "Yes");		a->allowRemoteStart (call,true );//		break;	default:		settings.writeEntry(KStatics::dBase+pFix+"/Rst", "No");		a->allowRemoteStart (call,false );//		break;	}	switch( holdBG->id(holdBG->selected())) {	case holdYes:		settings.writeEntry(KStatics::dBase+pFix+"/Hold", "Yes");		a->setHoldAllowed (call,true );//		break;	default:		settings.writeEntry(KStatics::dBase+pFix+"/Hold", "No");		a->setHoldAllowed (call,false );//		break;	}	switch( useL4BG->id(useL4BG->selected())) {	case useudp:		settings.writeEntry(KStatics::dBase+pFix+"/UseL4","UDP");		a->setUseL4 (call,useudp );//		break;	default:		settings.writeEntry(KStatics::dBase+pFix+"/UseL4","RTP");		a->setUseL4 (call,usertp );//		break;	}	switch( usesoundBG->id(usesoundBG->selected())) {	case usesoundYes:		settings.writeEntry(KStatics::dBase+pFix+"/UseSound","Yes");		a->setActiveOnly (call,true );//		break;	default:		settings.writeEntry(KStatics::dBase+pFix+"/UseSound","No");		a->setActiveOnly (call,false );//		break;	}	switch( transferBG->id(transferBG->selected())) {	case transferYes:		settings.writeEntry(KStatics::dBase+pFix+"/Transfer", "Yes");		a->setTransferAllowed (call,true );//		break;	default:		settings.writeEntry(KStatics::dBase+pFix+"/Transfer", "No");		a->setTransferAllowed (call,false );//		break;	}		}void ExtControl::slotCancel( void ){	QDialog::reject();}

⌨️ 快捷键说明

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