kmconfigpreview.cpp
00001 /* 00002 * This file is part of the KDE libraries 00003 * Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be> 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License version 2 as published by the Free Software Foundation. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this library; see the file COPYING.LIB. If not, write to 00016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 **/ 00019 00020 #include "kmconfigpreview.h" 00021 00022 #include <tqcheckbox.h> 00023 #include <tqlayout.h> 00024 #include <tqgroupbox.h> 00025 #include <tqlabel.h> 00026 00027 #include <klocale.h> 00028 #include <kurlrequester.h> 00029 #include <kconfig.h> 00030 #include <kdialog.h> 00031 00032 KMConfigPreview::KMConfigPreview(TQWidget *parent, const char *name) 00033 : KMConfigPage(parent, name) 00034 { 00035 setPageName(i18n("Preview")); 00036 setPageHeader(i18n("Preview Settings")); 00037 setPagePixmap("filefind"); 00038 00039 TQGroupBox *box = new TQGroupBox(0, Qt::Vertical, i18n("Preview Program"), this); 00040 00041 m_useext = new TQCheckBox(i18n("&Use external preview program"), box); 00042 m_program = new KURLRequester(box); 00043 TQLabel *lab = new TQLabel(box); 00044 lab->setText(i18n("You can use an external preview program (PS viewer) instead of the " 00045 "KDE built-in preview system. Note that if the KDE default PS viewer " 00046 "(KGhostView) cannot be found, KDE tries automatically to find another " 00047 "external PostScript viewer")); 00048 lab->setTextFormat(TQt::RichText); 00049 00050 TQVBoxLayout *l0 = new TQVBoxLayout(this, 0, KDialog::spacingHint()); 00051 l0->addWidget(box); 00052 l0->addStretch(1); 00053 TQVBoxLayout *l1 = new TQVBoxLayout(TQT_TQLAYOUT(box->layout()), KDialog::spacingHint()); 00054 l1->addWidget(lab); 00055 l1->addWidget(m_useext); 00056 l1->addWidget(m_program); 00057 00058 connect(m_useext, TQT_SIGNAL(toggled(bool)), m_program, TQT_SLOT(setEnabled(bool))); 00059 m_program->setEnabled(false); 00060 } 00061 00062 void KMConfigPreview::loadConfig(KConfig *conf) 00063 { 00064 conf->setGroup("General"); 00065 m_useext->setChecked(conf->readBoolEntry("ExternalPreview", false)); 00066 m_program->setURL(conf->readPathEntry("PreviewCommand", "gv")); 00067 } 00068 00069 void KMConfigPreview::saveConfig(KConfig *conf) 00070 { 00071 conf->setGroup("General"); 00072 conf->writeEntry("ExternalPreview", m_useext->isChecked()); 00073 conf->writePathEntry("PreviewCommand", m_program->url()); 00074 }