summaryrefslogtreecommitdiffstats
path: root/kutils/kcmultidialog.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-26 13:17:21 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-26 13:17:21 -0600
commitdfe289850f068f19ba4a83ab4e7e22a7e09c13c9 (patch)
treec297348a55df66c571de4525646e0b9762427353 /kutils/kcmultidialog.cpp
parentb7658a0d5eca24a9d37c6e04f88298ef02389db0 (diff)
downloadtdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.tar.gz
tdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.zip
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'kutils/kcmultidialog.cpp')
-rw-r--r--kutils/kcmultidialog.cpp410
1 files changed, 0 insertions, 410 deletions
diff --git a/kutils/kcmultidialog.cpp b/kutils/kcmultidialog.cpp
deleted file mode 100644
index b09f25e88..000000000
--- a/kutils/kcmultidialog.cpp
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- Copyright (c) 2000 Matthias Elter <elter@kde.org>
- Copyright (c) 2003 Daniel Molkentin <molkentin@kde.org>
- Copyright (c) 2003 Matthias Kretz <kretz@kde.org>
- Copyright (c) 2004 Frans Englich <frans.erglich.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-
-*/
-
-#include <tqcursor.h>
-#include <tqhbox.h>
-#include <tqlayout.h>
-#include <tqpushbutton.h>
-
-#include <kaboutdata.h>
-#include <kapplication.h>
-#include <kdebug.h>
-#include <kiconloader.h>
-#include <klibloader.h>
-#include <klocale.h>
-#include <kmessagebox.h>
-#include <kprocess.h>
-#include <krun.h>
-#include <kstdguiitem.h>
-#include <kuser.h>
-
-#include "tdecmoduleloader.h"
-#include "tdecmoduleproxy.h"
-#include "kcmultidialog.h"
-#include "kcmultidialog.moc"
-
-class KCMultiDialog::KCMultiDialogPrivate
-{
- public:
- KCMultiDialogPrivate()
- : hasRootKCM( false ), currentModule( 0 )
- {}
-
- bool hasRootKCM;
- TDECModuleProxy* currentModule;
-};
-
-
-KCMultiDialog::KCMultiDialog(TQWidget *parent, const char *name, bool modal)
- : KDialogBase(IconList, i18n("Configure"), Help | Default |Cancel | Apply |
- Ok | User1 | User2, Ok, parent, name, modal, true,
- KStdGuiItem::reset(), KStdGuiItem::adminMode())
- , dialogface( IconList ), d( new KCMultiDialogPrivate )
-{
- init();
-}
-
-KCMultiDialog::KCMultiDialog( int dialogFace, const TQString & caption, TQWidget * parent, const char * name, bool modal )
- : KDialogBase( dialogFace, caption, Help | Default | Cancel | Apply | Ok |
- User1 | User2, Ok, parent, name, modal, true,
- KStdGuiItem::reset(), KStdGuiItem::adminMode())
- , dialogface( dialogFace ), d( new KCMultiDialogPrivate )
-{
- init();
-}
-
-KCMultiDialog::KCMultiDialog( int dialogFace, const KGuiItem &user2,
- const KGuiItem &user3, int buttonMask, const TQString &caption,
- TQWidget *parent, const char *name, bool modal )
- : KDialogBase( dialogFace, caption, buttonMask | Help | Default | Cancel |
- Apply | Ok | User1, Ok, parent, name, modal, true,
- KStdGuiItem::reset(), user2, user3 )
- , dialogface( dialogFace ), d( new KCMultiDialogPrivate )
-{
- kdDebug( 710 ) << "Root modules will not work with this constructor. See the API documentation." << endl;
- init();
- if ( buttonMask & User2 )
- showButton( User2, true );
-}
-
-inline void KCMultiDialog::init()
-{
- connect( this, TQT_SIGNAL( finished()), TQT_SLOT( dialogClosed()));
- showButton( User1, false );
- showButton( User2, false );
- enableButton(Apply, false);
- connect(this, TQT_SIGNAL(aboutToShowPage(TQWidget *)), this, TQT_SLOT(slotAboutToShow(TQWidget *)));
- setInitialSize(TQSize(640,480));
- moduleParentComponents.setAutoDelete( true );
-
-}
-
-KCMultiDialog::~KCMultiDialog()
-{
- OrphanMap::Iterator end2 = m_orphanModules.end();
- for( OrphanMap::Iterator it = m_orphanModules.begin(); it != end2; ++it )
- delete ( *it );
- delete d;
-}
-
-void KCMultiDialog::slotDefault()
-{
- int curPageIndex = activePageIndex();
-
- ModuleList::Iterator end = m_modules.end();
- for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it )
- if( pageIndex( ( TQWidget * )( *it ).kcm->parent() ) == curPageIndex )
- {
- ( *it ).kcm->defaults();
- clientChanged( true );
- return;
- }
-}
-
-void KCMultiDialog::slotUser1()
-{
- int curPageIndex = activePageIndex();
-
- ModuleList::Iterator end = m_modules.end();
- for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it )
- if( pageIndex( ( TQWidget * )( *it ).kcm->parent() ) == curPageIndex )
- {
- ( *it ).kcm->load();
- clientChanged( false );
- return;
- }
-}
-
-void KCMultiDialog::apply()
-{
- TQStringList updatedModules;
- ModuleList::Iterator end = m_modules.end();
- for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it )
- {
- TDECModuleProxy * m = ( *it ).kcm;
- if( m->changed() )
- {
- m->save();
- TQStringList * names = moduleParentComponents[ m ];
- kdDebug(710) << k_funcinfo << *names << " saved and added to the list" << endl;
- for( TQStringList::ConstIterator it = names->begin(); it != names->end(); ++it )
- if( updatedModules.find( *it ) == updatedModules.end() )
- updatedModules.append( *it );
- }
- }
- for( TQStringList::const_iterator it = updatedModules.begin(); it != updatedModules.end(); ++it )
- {
- kdDebug(710) << k_funcinfo << *it << " " << ( *it ).latin1() << endl;
- emit configCommitted( ( *it ).latin1() );
- }
- emit configCommitted();
-}
-
-void KCMultiDialog::slotApply()
-{
- TQPushButton *button = actionButton(Apply);
- if (button)
- button->setFocus();
- emit applyClicked();
- apply();
-}
-
-
-void KCMultiDialog::slotOk()
-{
- TQPushButton *button = actionButton(Ok);
- if (button)
- button->setFocus();
- emit okClicked();
- apply();
- accept();
-}
-
-void KCMultiDialog::slotHelp()
-{
- TQString docPath;
-
- int curPageIndex = activePageIndex();
- ModuleList::Iterator end = m_modules.end();
- for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it )
- if( pageIndex( ( TQWidget * )( *it ).kcm->parent() ) == curPageIndex )
- {
- docPath = ( *it ).kcm->moduleInfo().docPath();
- break;
- }
-
- KURL url( KURL("help:/"), docPath );
-
- if (url.protocol() == "help" || url.protocol() == "man" || url.protocol() == "info") {
- TDEProcess process;
- process << "khelpcenter"
- << url.url();
- process.start(TDEProcess::DontCare);
- process.detach();
- } else {
- new KRun(url);
- }
-}
-
-void KCMultiDialog::clientChanged(bool state)
-{
- kdDebug( 710 ) << k_funcinfo << state << endl;
- ModuleList::Iterator end = m_modules.end();
- for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it )
- if( ( *it ).kcm->changed() )
- {
- enableButton( Apply, true );
- return;
- }
- enableButton( Apply, false );
-}
-
-void KCMultiDialog::addModule(const TQString& path, bool withfallback, TQStringList args)
-{
- TQString complete = path;
-
- if( !path.endsWith( ".desktop" ))
- complete += ".desktop";
-
- KService::Ptr service = KService::serviceByStorageId( complete );
-
- addModule( TDECModuleInfo( service ), TQStringList(), withfallback, args );
-}
-
-void KCMultiDialog::addModule(const TDECModuleInfo& moduleinfo,
- TQStringList parentmodulenames, bool withfallback, TQStringList args)
-{
- kdDebug(710) << "KCMultiDialog::addModule "
- << moduleinfo.moduleName() << endl;
-
- if( !moduleinfo.service() )
- return;
-
- if ( !kapp->authorizeControlModule( moduleinfo.service()->menuId() ))
- return;
-
- if( !TDECModuleLoader::testModule( moduleinfo ))
- return;
-
- TQFrame* page = 0;
- if (!moduleinfo.service()->noDisplay())
- switch( dialogface )
- {
- case TreeList:
- parentmodulenames += moduleinfo.moduleName();
- page = addHBoxPage( parentmodulenames, moduleinfo.comment(),
- SmallIcon( moduleinfo.icon(),
- IconSize( KIcon::Small ) ) );
- break;
- case IconList:
- page = addHBoxPage( moduleinfo.moduleName(),
- moduleinfo.comment(), DesktopIcon( moduleinfo.icon(),
- KIcon::SizeMedium ) );
- break;
- case Plain:
- page = plainPage();
- ( new TQHBoxLayout( page ) )->setAutoAdd( true );
- break;
- default:
- kdError( 710 ) << "unsupported dialog face for KCMultiDialog"
- << endl;
- break;
- }
- if(!page) {
- TDECModuleLoader::unloadModule(moduleinfo);
- return;
- }
- TDECModuleProxy * module;
- if( m_orphanModules.contains( moduleinfo.service() ) )
- {
- // the TDECModule already exists - it was removed from the dialog in
- // removeAllModules
- module = m_orphanModules[ moduleinfo.service() ];
- m_orphanModules.remove( moduleinfo.service() );
- kdDebug( 710 ) << "Use TDECModule from the list of orphans for " <<
- moduleinfo.moduleName() << ": " << module << endl;
-
- module->reparent( page, 0, TQPoint( 0, 0 ), true );
-
- if( module->changed() )
- clientChanged( true );
-
- if( activePageIndex() == -1 )
- showPage( pageIndex( page ) );
- }
- else
- {
- module = new TDECModuleProxy( moduleinfo, withfallback, page, 0, args );
- TQStringList parentComponents = moduleinfo.service()->property(
- "X-TDE-ParentComponents" ).toStringList();
- moduleParentComponents.insert( module,
- new TQStringList( parentComponents ) );
-
- connect(module, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(clientChanged(bool)));
-
- if( m_modules.count() == 0 )
- aboutToShowPage( page );
- }
- CreatedModule cm;
- cm.kcm = module;
- cm.service = moduleinfo.service();
- m_modules.append( cm );
- if ( moduleinfo.needsRootPrivileges() &&
- !d->hasRootKCM &&
- !KUser().isSuperUser() ) /* If we're embedded, it's true */
- {
- d->hasRootKCM = true;
- showButton( User2, true );
- if( plainPage() ) // returns 0 if we're not a Plain dialog
- slotAboutToShow( page ); // Won't be called otherwise, necessary for adminMode button
- }
-}
-
-void KCMultiDialog::removeAllModules()
-{
- kdDebug( 710 ) << k_funcinfo << endl;
- ModuleList::Iterator end = m_modules.end();
- for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it )
- {
- kdDebug( 710 ) << "remove 2" << endl;
- TDECModuleProxy * kcm = ( *it ).kcm;
- TQObject * page = TQT_TQOBJECT(kcm->parent());
- kcm->hide();
- if( page )
- {
- // I hate this
- kcm->reparent( 0, TQPoint( 0, 0 ), false );
- delete page;
- }
- m_orphanModules[ ( *it ).service ] = kcm;
- kdDebug( 710 ) << "added TDECModule to the list of orphans: " <<
- kcm << endl;
- }
- m_modules.clear();
- // all modules are gone, none can be changed
- clientChanged( false );
-}
-
-void KCMultiDialog::show()
-{ /* KDE 4 Remove..? */
- KDialogBase::show();
-}
-
-void KCMultiDialog::slotAboutToShow(TQWidget *page)
-{
- kdDebug(710) << k_funcinfo << endl;
-
- TQObject * obj = page->child( 0, "TDECModuleProxy" );
- if( ! obj )
- return;
-
- TDECModuleProxy * module = ::tqqt_cast<TDECModuleProxy*>(obj);
- if( ! module )
- return;
- d->currentModule = module;
-
- enableButton( KDialogBase::Help,
- d->currentModule->buttons() & TDECModule::Help );
- enableButton( KDialogBase::Default,
- d->currentModule->buttons() & TDECModule::Default );
-
- disconnect( this, TQT_SIGNAL(user2Clicked()), 0, 0 );
-
- if (d->currentModule->moduleInfo().needsRootPrivileges())
- {
- if ( !d->currentModule->rootMode() )
- { /* Enable the Admin Mode button */
- enableButton( User2, true );
- connect( this, TQT_SIGNAL(user2Clicked()), d->currentModule, TQT_SLOT( runAsRoot() ));
- connect( this, TQT_SIGNAL(user2Clicked()), TQT_SLOT( disableRModeButton() ));
- }
- else
- enableButton( User2, false);
- }
-}
-
-void KCMultiDialog::rootExit()
-{
- enableButton( User2, true);
-}
-
-void KCMultiDialog::disableRModeButton()
-{
- enableButton( User2, false );
- connect ( d->currentModule, TQT_SIGNAL( childClosed() ), TQT_SLOT( rootExit() ));
-}
-
-void KCMultiDialog::dialogClosed()
-{
- kdDebug(710) << k_funcinfo << endl;
-
- /* If we don't delete them, the DCOP registration stays, and trying to load the KCMs
- * in other situations will lead to "module already loaded in Foo," while to the user
- * doesn't appear so(the dialog is hidden) */
- ModuleList::Iterator end = m_modules.end();
- for( ModuleList::Iterator it = m_modules.begin(); it != end; ++it )
- ( *it ).kcm->deleteClient();
-}
-
-
-// vim: sw=4 et sts=4