/*************************************************************************** * Copyright (C) 2012 by Timothy Pearson * * kb9vqf@pearsoncomputing.net * * * * 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., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "ldapmgr.h" #include "groupconfigdlg.h" GroupConfigDialog::GroupConfigDialog(LDAPGroupInfo group, LDAPConfig* parent, const char* name) : KDialogBase(parent, name, true, i18n("LDAP Group Properties"), Ok|Cancel, Ok, true), m_group(group), m_ldapconfig(parent) { m_base = new LDAPGroupConfigBase(this); setMainWidget(m_base); m_base->addToGroup->setText(i18n("-->")); m_base->removeFromGroup->setText(i18n("<--")); m_base->groupName->setEnabled(false); connect(m_base->addToGroup, TQT_SIGNAL(clicked()), this, TQT_SLOT(addSelectedUserToGroup())); connect(m_base->removeFromGroup, TQT_SIGNAL(clicked()), this, TQT_SLOT(removeSelectedUserFromGroup())); // Update fields m_base->groupName->setText(m_group.name); m_base->groupID->setValue(m_group.gid); LDAPUserInfoList userList = m_ldapconfig->userList(); LDAPUserInfoList::Iterator it; for (it = userList.begin(); it != userList.end(); ++it) { LDAPUserInfo user = *it; if (group.userlist.contains(user.distinguishedName)) { (void)new TQListBoxText(m_base->selectedAccounts, user.name); } else { (void)new TQListBoxText(m_base->availableAccounts, user.name); } } m_base->availableAccounts->sort(true); m_base->selectedAccounts->sort(true); processLockouts(); } void GroupConfigDialog::slotOk() { accept(); } void GroupConfigDialog::processLockouts() { // } void GroupConfigDialog::addSelectedUserToGroup() { TQListBoxText* itm = dynamic_cast(m_base->availableAccounts->selectedItem()); if (itm) { (void)new TQListBoxText(m_base->selectedAccounts, itm->text()); delete itm; } m_base->availableAccounts->sort(true); m_base->selectedAccounts->sort(true); } void GroupConfigDialog::removeSelectedUserFromGroup() { TQListBoxText* itm = dynamic_cast(m_base->selectedAccounts->selectedItem()); if (itm) { (void)new TQListBoxText(m_base->availableAccounts, itm->text()); delete itm; } m_base->availableAccounts->sort(true); m_base->selectedAccounts->sort(true); } LDAPGroupInfo GroupConfigDialog::groupProperties() { return m_group; } #include "groupconfigdlg.moc"