diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | bcb704366cb5e333a626c18c308c7e0448a8e69f (patch) | |
tree | f0d6ab7d78ecdd9207cf46536376b44b91a1ca71 /kopete/protocols/groupwise/ui/gwchatpropsdialog.cpp | |
download | tdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.tar.gz tdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kopete/protocols/groupwise/ui/gwchatpropsdialog.cpp')
-rw-r--r-- | kopete/protocols/groupwise/ui/gwchatpropsdialog.cpp | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/kopete/protocols/groupwise/ui/gwchatpropsdialog.cpp b/kopete/protocols/groupwise/ui/gwchatpropsdialog.cpp new file mode 100644 index 00000000..eabb75ab --- /dev/null +++ b/kopete/protocols/groupwise/ui/gwchatpropsdialog.cpp @@ -0,0 +1,122 @@ +/* + Kopete Groupwise Protocol + gwchatpropsdialog.h - dialog for viewing/modifying chat properties + + Copyright (c) 2005 SUSE Linux AG http://www.suse.com + + Kopete (c) 2002-2005 by the Kopete developers <kopete-devel@kde.org> + + ************************************************************************* + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + ************************************************************************* +*/ + +#include <qcheckbox.h> +#include <qlabel.h> +#include <qlineedit.h> +#include <qlistview.h> + +#include <kdebug.h> +#include <kpushbutton.h> +#include <klocale.h> +#include "gwerror.h" +#include "gwchatpropswidget.h" + +#include "gwchatpropsdialog.h" + +GroupWiseChatPropsDialog::GroupWiseChatPropsDialog( QWidget * parent, const char * name ) + : KDialogBase( parent, name, false, i18n( "Chatroom properties" ), + KDialogBase::Ok|KDialogBase::Cancel, Ok, true ), m_dirty( false ) +{ + initialise(); +} + +GroupWiseChatPropsDialog::GroupWiseChatPropsDialog( const GroupWise::Chatroom & room, bool readOnly, + QWidget * parent, const char * name ) + : KDialogBase( parent, name, false, i18n( "Chatroom properties" ), + KDialogBase::Ok|KDialogBase::Cancel, Ok, true ), m_dirty( false ) +{ + initialise(); + m_widget->m_description->setText( room.description ); + m_widget->m_displayName->setText( room.displayName ); + m_widget->m_disclaimer->setText( room.disclaimer ); + m_widget->m_owner->setText( room.ownerDN ); + m_widget->m_query->setText( room.query ); + m_widget->m_topic->setText( room.topic ); + m_widget->m_archive->setChecked( room.archive ); + m_widget->m_maxUsers->setText( QString::number( room.maxUsers ) ); + m_widget->m_createdOn->setText( room.createdOn.toString() ); + m_widget->m_creator->setText( room.creatorDN ); + + m_widget->m_chkRead->setChecked( room.chatRights & GroupWise::Chatroom::Read || room.chatRights & GroupWise::Chatroom::Write || room.chatRights & GroupWise::Chatroom::Owner ); + m_widget->m_chkWrite->setChecked( room.chatRights & GroupWise::Chatroom::Write || room.chatRights & GroupWise::Chatroom::Owner ); + m_widget->m_chkModify->setChecked( room.chatRights & GroupWise::Chatroom::Modify || room.chatRights & GroupWise::Chatroom::Owner ); + + if ( readOnly ) + { + m_widget->m_description->setReadOnly( true ); + m_widget->m_disclaimer->setReadOnly( true ); + m_widget->m_owner->setReadOnly( true ); + m_widget->m_query->setReadOnly( true ); + m_widget->m_topic->setReadOnly( true ); + m_widget->m_archive->setEnabled( false ); + m_widget->m_maxUsers->setReadOnly( true ); + m_widget->m_createdOn->setReadOnly( true ); + m_widget->m_creator->setReadOnly( true ); + m_widget->m_chkRead->setEnabled( false ); + m_widget->m_chkWrite->setEnabled( false ); + m_widget->m_chkModify->setEnabled( false ); + m_widget->m_btnAddAcl->setEnabled( false ); + m_widget->m_btnEditAcl->setEnabled( false ); + m_widget->m_btnDeleteAcl->setEnabled( false ); + } + +} + +void GroupWiseChatPropsDialog::initialise() +{ + kdDebug( GROUPWISE_DEBUG_GLOBAL ) << k_funcinfo << endl; + m_widget = new GroupWiseChatPropsWidget( this ); + connect( m_widget->m_topic, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_owner, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_createdOn, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_creator, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_description, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_disclaimer, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_query, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_archive, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_maxUsers, SIGNAL( textChanged( const QString & ) ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_btnAddAcl, SIGNAL( clicked() ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_btnEditAcl, SIGNAL( clicked() ), SLOT( slotWidgetChanged() ) ); + connect( m_widget->m_btnDeleteAcl, SIGNAL( clicked() ), SLOT( slotWidgetChanged() ) ); + setMainWidget( m_widget ); + show(); +} + +GroupWise::Chatroom GroupWiseChatPropsDialog::room() +{ + GroupWise::Chatroom room; + room.description = m_widget->m_description->text(); + room.displayName = m_widget->m_displayName->text(); + room.disclaimer = m_widget->m_disclaimer->text(); + room.ownerDN = m_widget->m_owner->text(); + room.query = m_widget->m_query->text(); + room.topic = m_widget->m_topic->text(); + room.archive = m_widget->m_archive->isChecked(); + room.maxUsers = m_widget->m_maxUsers->text().toInt(); + +// room. + return room; +} + +void GroupWiseChatPropsDialog::slotWidgetChanged() +{ + m_dirty = true; +} + +#include "gwchatpropsdialog.moc" |