diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-02-01 23:11:34 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-02-01 23:11:34 -0600 |
commit | 65f5e7cb4d09977affa95100ef20ddbfa4620a34 (patch) | |
tree | 116347138c6081c5aa4bf1e0db4ddbb04d3f6d0e /kiostdetool/userManagement.cpp | |
parent | 3c66b171a6f0ad667c538fd727bbcef54af71d37 (diff) | |
download | kiosktool-65f5e7cb4d09977affa95100ef20ddbfa4620a34.tar.gz kiosktool-65f5e7cb4d09977affa95100ef20ddbfa4620a34.zip |
Rename many classes and header files to avoid conflicts with KDE4
Diffstat (limited to 'kiostdetool/userManagement.cpp')
-rw-r--r-- | kiostdetool/userManagement.cpp | 306 |
1 files changed, 0 insertions, 306 deletions
diff --git a/kiostdetool/userManagement.cpp b/kiostdetool/userManagement.cpp deleted file mode 100644 index 000e00e..0000000 --- a/kiostdetool/userManagement.cpp +++ /dev/null @@ -1,306 +0,0 @@ -/* - * userManagement.cpp - * - * Copyright (C) 2004 Waldo Bastian <bastian@kde.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * 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 "userManagement.h" - -#include <unistd.h> -#include <grp.h> -#include <pwd.h> -#include <sys/types.h> - -#include <tqcombobox.h> -#include <tqlabel.h> -#include <tqpushbutton.h> - -#include <kapplication.h> -#include <tdeconfig.h> -#include <klistview.h> -#include <klocale.h> -#include <kmessagebox.h> - -#include "kioskrun.h" - -#include "userManagement_ui.h" -#include "userManagementGroup_ui.h" -#include "userManagementUser_ui.h" - -#define AVAILABLE_SINCE "KDE 3.2.3" - -UserManagementPage::UserManagementPage(TQWidget* parent, const char* name, WFlags fl) - : UserManagementUI(parent, name, fl), PageWidget(this) -{ - setCaption(i18n("Assign Profiles")); - listGroups->setSorting(-1); // Disable sorting - listGroups->setDragEnabled(true); - listGroups->setAcceptDrops(true); - -// actionButton(KDialogBase::Ok)->setFocus(); - - connect(buttonAddGroup, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotAddGroup())); - connect(buttonDeleteGroup, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotDeleteGroup())); - connect(buttonAddUser, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotAddUser())); - connect(buttonDeleteUser, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotDeleteUser())); - - connect(listGroups, TQT_SIGNAL(selectionChanged()), this, TQT_SLOT(slotUpdateButtons())); - connect(listUsers, TQT_SIGNAL(selectionChanged()), this, TQT_SLOT(slotUpdateButtons())); - -// init(); - static bool firstTime = true; - - if (firstTime) - { - firstTime = false; - TQTimer::singleShot(0, this, TQT_SLOT(slotShowNotice())); - } -} - -UserManagementPage::~UserManagementPage() -{ -} - -void UserManagementPage::slotShowNotice() -{ - KMessageBox::information(this, - i18n("<qt>The profiles that you define here are automatically applied when the " - "user logs in to %1 or newer.<p>" - "If you want to use these profiles in combination with older versions you need " - "to manually set the $TDEDIRS environment variable from the <b>starttde</b> " - "script by adding the following line:<br><br>" - "<i>export TDEDIRS=$(kiosktool-tdedirs)</i><br><br>").arg(AVAILABLE_SINCE), - i18n("Attention"), "user-profiles"); -} - -void UserManagementPage::load() -{ - listGroups->clear(); - listUsers->clear(); - - m_allProfiles = KioskRun::self()->allProfiles(); - m_allProfiles.sort(); - - KioskRun::ProfileMapping groups; - KioskRun::ProfileMapping users; - TQStringList groupOrder; - - KioskRun::self()->getUserProfileMappings(groups, users, groupOrder); - - for ( TQStringList::ConstIterator it = groupOrder.begin(); - it != groupOrder.end(); ++it ) - { - TQString group = *it; - TQString profile = groups[group].join(","); - new TQListViewItem(listGroups, group, profile); - } - - for ( KioskRun::ProfileMapping::Iterator it = users.begin(); - it != users.end(); ++it ) - { - TQString user = it.key(); - TQString profile = it.data().join(","); - new TQListViewItem(listUsers, user, profile); - } - slotUpdateButtons(); -} - -void UserManagementPage::slotUpdateButtons() -{ - buttonDeleteGroup->setEnabled(listGroups->selectedItem() != 0); - buttonDeleteUser->setEnabled(listUsers->selectedItem() != 0); -} - -bool UserManagementPage::save() -{ - KioskRun::ProfileMapping groups; - KioskRun::ProfileMapping users; - TQStringList groupOrder; - - TQListViewItem *item = listGroups->firstChild(); - for(; item; item = item->nextSibling()) - { - TQString group = item->text(0); - TQStringList profiles = TQStringList::split(",", item->text(1)); - groups.insert(group, profiles); - groupOrder.prepend(group); - } - - item = listUsers->firstChild(); - for(; item; item = item->nextSibling()) - { - TQString user = item->text(0); - TQStringList profiles = TQStringList::split(",", item->text(1)); - users.insert(user, profiles); - } - - return KioskRun::self()->setUserProfileMappings(groups, users, groupOrder); -} - -void UserManagementPage::slotAddGroup() -{ - TDEConfig *config = kapp->config(); - config->setGroup("General"); - TQStringList groupBlacklist = config->readListEntry("GroupBlacklist"); - - m_allGroups.clear(); - setgrent(); - for (struct group *grp; (grp = getgrent()); ) - { - TQString group = TQString::fromUtf8(grp->gr_name); - if (!groupBlacklist.contains(group)) - m_allGroups.append(group); - } - endgrent(); - m_allGroups.sort(); - - KDialogBase dlg(this, "addGroup", true, i18n("Add Group Policy"), - KDialogBase::Ok|KDialogBase::Cancel, KDialogBase::Ok, true ); - - UserManagementGroupUI *wid = new UserManagementGroupUI(&dlg); - wid->labelCaption->setFixedSize(wid->labelCaption->sizeHint()); - wid->comboGroup->insertStringList(m_allGroups); - wid->comboProfile->insertStringList(m_allProfiles); - wid->setFixedSize(wid->sizeHint()); - dlg.setMainWidget(wid); - dlg.setFixedSize(dlg.sizeHint()); - while (dlg.exec() == KDialogBase::Accepted) - { - TQString group = wid->comboGroup->currentText(); - TQString profile = wid->comboProfile->currentText(); - - // Check for dupes - TQListViewItem *item = listGroups->firstChild(); - for( ;item; item = item->nextSibling()) - { - if (item->text(0) == group) - break; - } - if (item) - { - int result = KMessageBox::warningContinueCancel(this, - i18n("<qt>You already have a profile defined for group <b>%1</b>. " - "Do you want to replace it?</qt>").arg(group), - i18n("Duplicate Warning"), - i18n("&Replace")); - if (result != KMessageBox::Continue) - continue; // Go back to edit dialog - delete item; - } - - item = new TQListViewItem(listGroups, group, profile); - listGroups->setSelected(item, true); - slotUpdateButtons(); - return; - } -} - -void UserManagementPage::slotDeleteGroup() -{ - TQListViewItem *item = listGroups->selectedItem(); - if (!item) - return; - - delete item; - - item = listGroups->currentItem(); - if (item) - listGroups->setSelected(item, true); - slotUpdateButtons(); -} - -void UserManagementPage::slotAddUser() -{ - TDEConfig *config = kapp->config(); - config->setGroup("General"); - int minUID = config->readNumEntry("FirstUIDShown", 500); - - m_allUsers.clear(); - setpwent(); - for (struct passwd *user; (user = getpwent()); ) - { - if ((user->pw_uid >= (uid_t) minUID) || (user->pw_uid == 0)) - m_allUsers.append(TQString::fromUtf8(user->pw_name)); - } - endpwent(); - m_allUsers.sort(); - - KDialogBase dlg(this, "addUser", true, i18n("Add User Policy"), - KDialogBase::Ok|KDialogBase::Cancel, KDialogBase::Ok, true ); - - UserManagementUserUI *wid = new UserManagementUserUI(&dlg); - wid->labelCaption->setFixedSize(wid->labelCaption->sizeHint()); - wid->comboUser->insertStringList(m_allUsers); - wid->comboProfile->insertStringList(m_allProfiles); - wid->setFixedSize(wid->sizeHint()); - dlg.setMainWidget(wid); - dlg.setFixedSize(dlg.sizeHint()); - while (dlg.exec() == KDialogBase::Accepted) - { - TQString user = wid->comboUser->currentText(); - TQString profile = wid->comboProfile->currentText(); - - // Check for dupes - TQListViewItem *item = listUsers->firstChild(); - for( ;item; item = item->nextSibling()) - { - if (item->text(0) == user) - break; - } - if (item) - { - int result = KMessageBox::warningContinueCancel(this, - i18n("<qt>You already have a profile defined for user <b>%1</b>. " - "Do you want to replace it?</<qt>").arg(user), - i18n("Duplicate Warning"), - i18n("&Replace")); - if (result != KMessageBox::Continue) - continue; // Go back to edit dialog - delete item; - } - - item = new TQListViewItem(listUsers, user, profile); - listUsers->setSelected(item, true); - slotUpdateButtons(); - return; - } -} - -void UserManagementPage::slotDeleteUser() -{ - TQListViewItem *item = listUsers->selectedItem(); - if (!item) - return; - - delete item; - - item = listUsers->currentItem(); - if (item) - listUsers->setSelected(item, true); - slotUpdateButtons(); -} - -void UserManagementPage::setFocus() -{ - // TODO -} - -TQString UserManagementPage::subCaption() -{ - return i18n("Assign Profiles"); -} - -#include "userManagement.moc" |