/* * This file is part of the KDE libraries * Copyright (c) 2001 Michael Goffioul * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License version 2 as published by the Free Software Foundation. * * 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 "kmconfigdialog.h" #include "kmconfigpage.h" #include "kmfactory.h" #include "kmuimanager.h" #include "kmconfiggeneral.h" #include "kmconfigpreview.h" #include "kmconfigcommand.h" #include "kmconfigfilter.h" #include "kmconfigfonts.h" #include "kmconfigjobs.h" #include #include #include #include KMConfigDialog::KMConfigDialog(TQWidget *parent, const char *name) : KDialogBase(IconList,i18n("TDE Print Configuration"),Ok|Cancel,Ok,parent,name,true,true) { m_pages.setAutoDelete(false); addConfigPage(new KMConfigGeneral(this)); addConfigPage(new KMConfigPreview(this)); addConfigPage(new KMConfigFonts(this)); addConfigPage(new KMConfigCommand(this)); addConfigPage(new KMConfigFilter(this)); addConfigPage(new KMConfigJobs(this)); KMFactory::self()->uiManager()->setupConfigDialog(this); // initialize pages TDEConfig *conf = KMFactory::self()->printConfig(); TQPtrListIterator it(m_pages); for (;it.current();++it) it.current()->loadConfig(conf); // resize dialog resize(450,400); } void KMConfigDialog::addConfigPage(KMConfigPage *page) { if (page) { TQPixmap icon = TDEGlobal::instance()->iconLoader()->loadIcon( page->pagePixmap(), TDEIcon::NoGroup, TDEIcon::SizeMedium ); TQFrame *frame = addPage(page->pageName(),page->pageHeader(),icon); page->reparent(frame,TQPoint(0,0)); TQVBoxLayout *lay = new TQVBoxLayout(frame, 0, 0); lay->addWidget(page); m_pages.append(page); } } void KMConfigDialog::slotOk() { // save configuration TDEConfig *conf = KMFactory::self()->printConfig(); TQPtrListIterator it(m_pages); for (;it.current();++it) it.current()->saveConfig(conf); KMFactory::self()->saveConfig(); // close the dialog KDialogBase::slotOk(); } #include "kmconfigdialog.moc"