diff options
Diffstat (limited to 'kitchensync/src/groupconfig.cpp')
-rw-r--r-- | kitchensync/src/groupconfig.cpp | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/kitchensync/src/groupconfig.cpp b/kitchensync/src/groupconfig.cpp deleted file mode 100644 index 9f961ddc..00000000 --- a/kitchensync/src/groupconfig.cpp +++ /dev/null @@ -1,179 +0,0 @@ -/* - This file is part of KitchenSync. - - Copyright (c) 2005 Cornelius Schumacher <schumacher@kde.org> - - This program 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. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#include "groupconfig.h" - -#include "groupconfigcommon.h" -#include "memberconfig.h" -#include "memberinfo.h" -#include "pluginpicker.h" -#include "syncprocess.h" -#include "syncprocessmanager.h" - -#include <libqopensync/group.h> -#include <libqopensync/plugin.h> - -#include <kdialog.h> -#include <kiconloader.h> -#include <kjanuswidget.h> -#include <tdelocale.h> -#include <tdemessagebox.h> - - -#include <tqlabel.h> -#include <tqlayout.h> -#include <tqpushbutton.h> - -GroupConfig::GroupConfig( TQWidget *parent ) - : TQWidget( parent ) -{ - TQBoxLayout *topLayout = new TQVBoxLayout( this ); - topLayout->setSpacing( KDialog::spacingHint() ); - - TQFrame *titleFrame = new TQFrame( this ); - topLayout->addWidget( titleFrame ); - - titleFrame->setPaletteForegroundColor( colorGroup().light() ); - titleFrame->setPaletteBackgroundColor( colorGroup().mid() ); - - TQBoxLayout *nameLayout = new TQHBoxLayout( titleFrame ); - nameLayout->setMargin( 4 ); - - TQPixmap icon = TDEGlobal::iconLoader()->loadIcon( "kontact_summary", - TDEIcon::Desktop ); - - TQLabel *iconLabel = new TQLabel( titleFrame ); - iconLabel->setPixmap( icon ); - nameLayout->addWidget( iconLabel ); - - nameLayout->addSpacing( 8 ); - - TQLabel *label = new TQLabel( i18n("Group:"), titleFrame ); - TQFont font = label->font(); - font.setBold( true ); - font.setPointSize( font.pointSize() + 2 ); - label->setFont( font ); - nameLayout->addWidget( label ); - - mNameLabel = new TQLabel( titleFrame ); - font = mNameLabel->font(); - font.setBold( true ); - font.setPointSize( font.pointSize() + 2 ); - mNameLabel->setFont( font ); - nameLayout->addWidget( mNameLabel ); - - nameLayout->addStretch( 1 ); - - mMemberView = new KJanusWidget( this, 0, KJanusWidget::IconList ); - topLayout->addWidget( mMemberView ); - - TQBoxLayout *buttonLayout = new TQHBoxLayout( topLayout ); - - TQPushButton *addButton = new TQPushButton( i18n("Add Member..."), this ); - connect( addButton, TQT_SIGNAL( clicked() ), TQT_SLOT( addMember() ) ); - buttonLayout->addWidget( addButton ); - - buttonLayout->addStretch( 1 ); - - icon = TDEGlobal::iconLoader()->loadIcon( "bookmark", TDEIcon::Desktop ); - TQFrame *page = mMemberView->addPage( i18n("Group"), - i18n("General Group Settings"), icon ); - TQBoxLayout *pageLayout = new TQVBoxLayout( page ); - - mCommonConfig = new GroupConfigCommon( page ); - pageLayout->addWidget( mCommonConfig ); -} - -void GroupConfig::setSyncProcess( SyncProcess *process ) -{ - mProcess = process; - - mNameLabel->setText( mProcess->group().name() ); - mCommonConfig->setSyncProcess( mProcess ); - - updateMembers(); -} - -void GroupConfig::updateMembers() -{ - TQValueList<MemberConfig *>::ConstIterator memberIt; - for ( memberIt = mMemberConfigs.begin(); memberIt != mMemberConfigs.end(); ++memberIt ) - (*memberIt)->saveData(); - - TQValueList<TQFrame *>::ConstIterator it2; - for ( it2 = mConfigPages.begin(); it2 != mConfigPages.end(); ++it2 ) { - mMemberView->removePage( *it2 ); - delete *it2; - } - mConfigPages.clear(); - mMemberConfigs.clear(); - - QSync::Group group = mProcess->group(); - QSync::Group::Iterator it( group.begin() ); - for ( ; it != group.end(); ++it ) { - QSync::Member member = *it; - MemberInfo mi( member ); - TQFrame *page = mMemberView->addPage( mi.name(), - TQString( "%1 (%2)" ).arg( mi.name() ).arg(member.pluginName()), mi.desktopIcon() ); - - TQBoxLayout *pageLayout = new TQVBoxLayout( page ); - mConfigPages.append( page ); - - MemberConfig *memberConfig = new MemberConfig( page, member ); - mMemberConfigs.append( memberConfig ); - pageLayout->addWidget( memberConfig ); - - memberConfig->loadData(); - } -} - -void GroupConfig::saveConfig() -{ - mProcess->group().save(); - - TQValueList<MemberConfig *>::ConstIterator it; - for ( it = mMemberConfigs.begin(); it != mMemberConfigs.end(); ++it ) - (*it)->saveData(); - - mCommonConfig->save(); - - mProcess->reinitEngine(); -} - -void GroupConfig::addMember() -{ - QSync::Plugin plugin = PluginPickerDialog::getPlugin( this ); - - if ( plugin.isValid() ) { - QSync::Result result = SyncProcessManager::self()->addMember( mProcess, plugin ); - if ( result.isError() ) { - KMessageBox::error( this, i18n("Error adding member %1\n%2\nType: %3") - .arg( plugin.name() ).arg( result.message() ).arg( result.type() ) ); - } else { - updateMembers(); - - // select last (added) page - int index = mMemberView->pageIndex( mConfigPages.last() ); - mMemberView->showPage( index ); - } - } -} - -#include "groupconfig.moc" |