summaryrefslogtreecommitdiffstats
path: root/kdeprint/management/kmconfigpreview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdeprint/management/kmconfigpreview.cpp')
-rw-r--r--kdeprint/management/kmconfigpreview.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/kdeprint/management/kmconfigpreview.cpp b/kdeprint/management/kmconfigpreview.cpp
new file mode 100644
index 000000000..a3ed5581e
--- /dev/null
+++ b/kdeprint/management/kmconfigpreview.cpp
@@ -0,0 +1,74 @@
+/*
+ * This file is part of the KDE libraries
+ * Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be>
+ *
+ * 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 "kmconfigpreview.h"
+
+#include <qcheckbox.h>
+#include <qlayout.h>
+#include <qgroupbox.h>
+#include <qlabel.h>
+
+#include <klocale.h>
+#include <kurlrequester.h>
+#include <kconfig.h>
+#include <kdialog.h>
+
+KMConfigPreview::KMConfigPreview(QWidget *parent, const char *name)
+: KMConfigPage(parent, name)
+{
+ setPageName(i18n("Preview"));
+ setPageHeader(i18n("Preview Settings"));
+ setPagePixmap("filefind");
+
+ QGroupBox *box = new QGroupBox(0, Qt::Vertical, i18n("Preview Program"), this);
+
+ m_useext = new QCheckBox(i18n("&Use external preview program"), box);
+ m_program = new KURLRequester(box);
+ QLabel *lab = new QLabel(box);
+ lab->setText(i18n("You can use an external preview program (PS viewer) instead of the "
+ "KDE built-in preview system. Note that if the KDE default PS viewer "
+ "(KGhostView) cannot be found, KDE tries automatically to find another "
+ "external PostScript viewer"));
+ lab->setTextFormat(Qt::RichText);
+
+ QVBoxLayout *l0 = new QVBoxLayout(this, 0, KDialog::spacingHint());
+ l0->addWidget(box);
+ l0->addStretch(1);
+ QVBoxLayout *l1 = new QVBoxLayout(box->layout(), KDialog::spacingHint());
+ l1->addWidget(lab);
+ l1->addWidget(m_useext);
+ l1->addWidget(m_program);
+
+ connect(m_useext, SIGNAL(toggled(bool)), m_program, SLOT(setEnabled(bool)));
+ m_program->setEnabled(false);
+}
+
+void KMConfigPreview::loadConfig(KConfig *conf)
+{
+ conf->setGroup("General");
+ m_useext->setChecked(conf->readBoolEntry("ExternalPreview", false));
+ m_program->setURL(conf->readPathEntry("PreviewCommand", "gv"));
+}
+
+void KMConfigPreview::saveConfig(KConfig *conf)
+{
+ conf->setGroup("General");
+ conf->writeEntry("ExternalPreview", m_useext->isChecked());
+ conf->writePathEntry("PreviewCommand", m_program->url());
+}