22 #include <qcheckbox.h>
23 #include <qradiobutton.h>
27 #include <qcombobox.h>
28 #include <QVBoxLayout>
31 #include <kplugininfo.h>
33 #include <kpushbutton.h>
34 #include <kgenericfactory.h>
36 #include <klineedit.h>
38 #include "kopetebehaviorsettings.h"
39 #include "kopetepluginmanager.h"
41 #include <qtabwidget.h>
44 registerPlugin<BehaviorConfig>(); )
45 K_EXPORT_PLUGIN( KopeteBehaviorConfigFactory(
"kcm_kopete_behaviorconfig") )
48 KCModule( KopeteBehaviorConfigFactory::componentData(), parent, args )
50 QVBoxLayout *layout =
new QVBoxLayout(
this);
52 layout->setContentsMargins( 0, 0, 0, 0);
54 mBehaviorTabCtl =
new QTabWidget(
this);
55 mBehaviorTabCtl->setObjectName(
"mBehaviorTabCtl");
56 layout->addWidget( mBehaviorTabCtl );
60 addConfig( Kopete::BehaviorSettings::self(), mPrfsGeneral );
61 mBehaviorTabCtl->addTab(mPrfsGeneral, i18n(
"&General"));
65 addConfig( Kopete::BehaviorSettings::self(), mPrfsEvents );
66 mBehaviorTabCtl->addTab(mPrfsEvents, i18n(
"&Events"));
70 addConfig( Kopete::BehaviorSettings::self(), mPrfsAway );
71 mBehaviorTabCtl->addTab(mPrfsAway, i18n(
"A&way Settings"));
75 addConfig( Kopete::BehaviorSettings::self(), mPrfsChat );
76 mBehaviorTabCtl->addTab(mPrfsChat, i18n(
"Cha&t"));
78 Kopete::PluginManager *pluginManager = Kopete::PluginManager::self();
79 viewPlugins = pluginManager->availablePlugins(
"Views");
84 connect( mPrfsChat->viewPlugin, SIGNAL(activated(
int)),
85 this, SLOT(slotValueChanged(
int)));
88 connect( mPrfsAway->mAutoAwayTimeout, SIGNAL(valueChanged(
int)),
89 this, SLOT(slotValueChanged(
int)));;
90 connect( mPrfsAway->mAutoAwayCustomMessage, SIGNAL(textChanged()),
91 this, SLOT(slotTextChanged()) );
101 Kopete::BehaviorSettings::self()->setAutoAwayTimeout( mPrfsAway->mAutoAwayTimeout->value() * 60 );
102 Kopete::BehaviorSettings::self()->setAutoAwayCustomMessage( mPrfsAway->mAutoAwayCustomMessage->toPlainText() );
105 if ( viewPlugins.size() > 0 )
107 Kopete::BehaviorSettings::self()->setViewPlugin(viewPlugins[mPrfsChat->viewPlugin->currentIndex()].pluginName() );
110 Kopete::BehaviorSettings::self()->writeConfig();
119 if(!mPrfsGeneral->kcfg_useMessageQueue->isChecked()) {
120 mPrfsGeneral->mInstantMessageOpeningChk->setChecked(
true);
124 mPrfsAway->mAutoAwayTimeout->setValue( Kopete::BehaviorSettings::self()->autoAwayTimeout() / 60 );
125 mPrfsAway->mAutoAwayCustomMessage->setPlainText( Kopete::BehaviorSettings::self()->autoAwayCustomMessage() );
128 mPrfsChat->viewPlugin->clear();
129 int selectedIdx = 0, i = 0;
130 for( QList<KPluginInfo>::iterator it = viewPlugins.begin(); it != viewPlugins.end(); ++it )
132 if( it->pluginName() == Kopete::BehaviorSettings::self()->viewPlugin() )
134 mPrfsChat->viewPlugin->insertItem( i++, it->name() );
137 mPrfsChat->viewPlugin->setCurrentIndex(selectedIdx);
140 void BehaviorConfig::slotSettingsChanged(
bool)
145 void BehaviorConfig::slotValueChanged(
int)
147 emit changed(
true );
150 void BehaviorConfig::slotTextChanged()
152 emit changed(
true );
155 #include "behaviorconfig.moc"
K_PLUGIN_FACTORY(KopeteBehaviorConfigFactory, registerPlugin< BehaviorConfig >();) BehaviorConfig