summaryrefslogtreecommitdiffstats
path: root/kdeprint/cups
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-06 15:56:40 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-06 15:56:40 -0600
commite16866e072f94410321d70daedbcb855ea878cac (patch)
treeee3f52eabde7da1a0e6ca845fb9c2813cf1558cf /kdeprint/cups
parenta58c20c1a7593631a1b50213c805507ebc16adaf (diff)
downloadtdelibs-e16866e072f94410321d70daedbcb855ea878cac.tar.gz
tdelibs-e16866e072f94410321d70daedbcb855ea878cac.zip
Actually move the kde files that were renamed in the last commit
Diffstat (limited to 'kdeprint/cups')
-rw-r--r--kdeprint/cups/CMakeLists.txt97
-rw-r--r--kdeprint/cups/Makefile.am49
-rw-r--r--kdeprint/cups/configure.in.in18
-rw-r--r--kdeprint/cups/cups.print68
-rw-r--r--kdeprint/cups/cupsaddsmb2.cpp476
-rw-r--r--kdeprint/cups/cupsaddsmb2.h77
-rw-r--r--kdeprint/cups/cupsdconf2/CMakeLists.txt54
-rw-r--r--kdeprint/cups/cupsdconf2/Makefile.am35
-rw-r--r--kdeprint/cups/cupsdconf2/addressdialog.cpp89
-rw-r--r--kdeprint/cups/cupsdconf2/addressdialog.h42
-rw-r--r--kdeprint/cups/cupsdconf2/browsedialog.cpp150
-rw-r--r--kdeprint/cups/cupsdconf2/browsedialog.h49
-rw-r--r--kdeprint/cups/cupsdconf2/cups-util.c557
-rw-r--r--kdeprint/cups/cupsdconf2/cups-util.h26
-rw-r--r--kdeprint/cups/cupsdconf2/cups_logo.pngbin1487 -> 0 bytes
-rw-r--r--kdeprint/cups/cupsdconf2/cupsd.conf.template977
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdbrowsingpage.cpp210
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdbrowsingpage.h55
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdcomment.cpp136
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdcomment.h55
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdcomment.pl61
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdconf.cpp884
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdconf.h181
-rw-r--r--kdeprint/cups/cupsdconf2/cupsddialog.cpp356
-rw-r--r--kdeprint/cups/cupsdconf2/cupsddialog.h58
-rw-r--r--kdeprint/cups/cupsdconf2/cupsddirpage.cpp109
-rw-r--r--kdeprint/cups/cupsdconf2/cupsddirpage.h47
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdfilterpage.cpp94
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdfilterpage.h45
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdjobspage.cpp123
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdjobspage.h47
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdlogpage.cpp111
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdlogpage.h44
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdnetworkpage.cpp159
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdnetworkpage.h55
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdpage.cpp32
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdpage.h54
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdsecuritypage.cpp168
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdsecuritypage.h56
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdserverpage.cpp181
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdserverpage.h49
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdsplash.cpp73
-rw-r--r--kdeprint/cups/cupsdconf2/cupsdsplash.h35
-rw-r--r--kdeprint/cups/cupsdconf2/editlist.cpp124
-rw-r--r--kdeprint/cups/cupsdconf2/editlist.h60
-rw-r--r--kdeprint/cups/cupsdconf2/kde_logo.pngbin15177 -> 0 bytes
-rw-r--r--kdeprint/cups/cupsdconf2/locationdialog.cpp222
-rw-r--r--kdeprint/cups/cupsdconf2/locationdialog.h58
-rw-r--r--kdeprint/cups/cupsdconf2/main.cpp48
-rw-r--r--kdeprint/cups/cupsdconf2/portdialog.cpp118
-rw-r--r--kdeprint/cups/cupsdconf2/portdialog.h46
-rw-r--r--kdeprint/cups/cupsdconf2/qdirlineedit.cpp73
-rw-r--r--kdeprint/cups/cupsdconf2/qdirlineedit.h49
-rw-r--r--kdeprint/cups/cupsdconf2/qdirmultilineedit.cpp109
-rw-r--r--kdeprint/cups/cupsdconf2/qdirmultilineedit.h53
-rw-r--r--kdeprint/cups/cupsdconf2/sizewidget.cpp83
-rw-r--r--kdeprint/cups/cupsdconf2/sizewidget.h43
-rw-r--r--kdeprint/cups/cupsdoprint.c257
-rw-r--r--kdeprint/cups/cupsinfos.cpp166
-rw-r--r--kdeprint/cups/cupsinfos.h88
-rw-r--r--kdeprint/cups/image.cpp295
-rw-r--r--kdeprint/cups/imageposition.cpp153
-rw-r--r--kdeprint/cups/imageposition.h58
-rw-r--r--kdeprint/cups/imagepreview.cpp78
-rw-r--r--kdeprint/cups/imagepreview.h49
-rw-r--r--kdeprint/cups/ippreportdlg.cpp96
-rw-r--r--kdeprint/cups/ippreportdlg.h42
-rw-r--r--kdeprint/cups/ipprequest.cpp544
-rw-r--r--kdeprint/cups/ipprequest.h196
-rw-r--r--kdeprint/cups/kcupsprinterimpl.cpp159
-rw-r--r--kdeprint/cups/kcupsprinterimpl.h36
-rw-r--r--kdeprint/cups/kmconfigcups.cpp51
-rw-r--r--kdeprint/cups/kmconfigcups.h39
-rw-r--r--kdeprint/cups/kmconfigcupsdir.cpp67
-rw-r--r--kdeprint/cups/kmconfigcupsdir.h41
-rw-r--r--kdeprint/cups/kmcupsconfigwidget.cpp159
-rw-r--r--kdeprint/cups/kmcupsconfigwidget.h43
-rw-r--r--kdeprint/cups/kmcupsfactory.cpp30
-rw-r--r--kdeprint/cups/kmcupsjobmanager.cpp452
-rw-r--r--kdeprint/cups/kmcupsjobmanager.h53
-rw-r--r--kdeprint/cups/kmcupsmanager.cpp1077
-rw-r--r--kdeprint/cups/kmcupsmanager.h106
-rw-r--r--kdeprint/cups/kmcupsuimanager.cpp219
-rw-r--r--kdeprint/cups/kmcupsuimanager.h40
-rw-r--r--kdeprint/cups/kmpropbanners.cpp81
-rw-r--r--kdeprint/cups/kmpropbanners.h43
-rw-r--r--kdeprint/cups/kmpropquota.cpp96
-rw-r--r--kdeprint/cups/kmpropquota.h44
-rw-r--r--kdeprint/cups/kmpropusers.cpp90
-rw-r--r--kdeprint/cups/kmpropusers.h42
-rw-r--r--kdeprint/cups/kmwbanners.cpp145
-rw-r--r--kdeprint/cups/kmwbanners.h43
-rw-r--r--kdeprint/cups/kmwfax.cpp81
-rw-r--r--kdeprint/cups/kmwfax.h39
-rw-r--r--kdeprint/cups/kmwipp.cpp86
-rw-r--r--kdeprint/cups/kmwipp.h34
-rw-r--r--kdeprint/cups/kmwippprinter.cpp227
-rw-r--r--kdeprint/cups/kmwippprinter.h56
-rw-r--r--kdeprint/cups/kmwippselect.cpp108
-rw-r--r--kdeprint/cups/kmwippselect.h40
-rw-r--r--kdeprint/cups/kmwother.cpp125
-rw-r--r--kdeprint/cups/kmwother.h46
-rw-r--r--kdeprint/cups/kmwquota.cpp171
-rw-r--r--kdeprint/cups/kmwquota.h46
-rw-r--r--kdeprint/cups/kmwusers.cpp96
-rw-r--r--kdeprint/cups/kmwusers.h43
-rw-r--r--kdeprint/cups/kphpgl2page.cpp169
-rw-r--r--kdeprint/cups/kphpgl2page.h42
-rw-r--r--kdeprint/cups/kpimagepage.cpp503
-rw-r--r--kdeprint/cups/kpimagepage.h56
-rw-r--r--kdeprint/cups/kpschedulepage.cpp282
-rw-r--r--kdeprint/cups/kpschedulepage.h52
-rw-r--r--kdeprint/cups/kptagspage.cpp164
-rw-r--r--kdeprint/cups/kptagspage.h44
-rw-r--r--kdeprint/cups/kptextpage.cpp375
-rw-r--r--kdeprint/cups/kptextpage.h57
-rw-r--r--kdeprint/cups/make_driver_db_cups.c149
-rw-r--r--kdeprint/cups/postscript.ppd.gzbin2317 -> 0 bytes
-rw-r--r--kdeprint/cups/preview-mini.pngbin1809 -> 0 bytes
-rw-r--r--kdeprint/cups/preview.pngbin12738 -> 0 bytes
120 files changed, 0 insertions, 15597 deletions
diff --git a/kdeprint/cups/CMakeLists.txt b/kdeprint/cups/CMakeLists.txt
deleted file mode 100644
index 2166cc08f..000000000
--- a/kdeprint/cups/CMakeLists.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-#################################################
-#
-# (C) 2010 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( cupsdconf2 )
-
-add_definitions(
- -D_KDEPRINT_COMPILE
-)
-
-include_directories(
- ${TQT_INCLUDE_DIRS}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_BINARY_DIR}/tdecore
- ${CMAKE_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/dcop
- ${CMAKE_SOURCE_DIR}/tdecore
- ${CMAKE_SOURCE_DIR}/tdecore/network
- ${CMAKE_SOURCE_DIR}/tdeui
- ${CMAKE_SOURCE_DIR}/kio
- ${CMAKE_SOURCE_DIR}/kio/kio
- ${CMAKE_SOURCE_DIR}/kio/kfile
- ${CMAKE_SOURCE_DIR}/tdeprint
- ${CMAKE_SOURCE_DIR}/tdeprint/management
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-
-##### other data ################################
-
-install( FILES cups.print DESTINATION ${DATA_INSTALL_DIR}/tdeprint/plugins )
-install( FILES preview.png preview-mini.png DESTINATION ${DATA_INSTALL_DIR}/tdeprint )
-
-
-#### tdeprint_cups ##############################
-
-set( target tdeprint_cups )
-
-set( ${target}_SRCS
- cupsinfos.cpp ipprequest.cpp kmcupsfactory.cpp
- kmcupsjobmanager.cpp kmcupsmanager.cpp kmcupsuimanager.cpp
- kmpropbanners.cpp kmwbanners.cpp kmwipp.cpp kmwippselect.cpp
- kcupsprinterimpl.cpp kmcupsconfigwidget.cpp kmconfigcups.cpp
- kmconfigcupsdir.cpp kmwippprinter.cpp kmwfax.cpp kmwquota.cpp
- kmpropquota.cpp kmwusers.cpp kmpropusers.cpp kpschedulepage.cpp
- image.cpp imagepreview.cpp imageposition.cpp kpimagepage.cpp
- kptextpage.cpp kphpgl2page.cpp cupsaddsmb2.cpp
- kmwother.cpp ippreportdlg.cpp kptagspage.cpp
-)
-
-tde_add_kpart( ${target} AUTOMOC
- SOURCES ${${target}_SRCS}
- LINK tdeprint_management-shared ${CUPS_LIBRARIES}
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
-
-
-#### make_driver_db_cups ########################
-
-set( target make_driver_db_cups )
-
-set( ${target}_SRCS
- make_driver_db_cups.c
-)
-
-tde_add_executable( ${target}
- SOURCES ${${target}_SRCS}
- LINK driverparse-static tdefakes-shared ${ZLIB_LIBRARIES} ${DL_LIBRARIES}
- DESTINATION ${BIN_INSTALL_DIR}
-)
-
-
-#### cupsdoprint ################################
-
-set( target cupsdoprint )
-
-set( ${target}_SRCS
- cupsdoprint.c
-)
-
-tde_add_executable( ${target}
- SOURCES ${${target}_SRCS}
- LINK tdefakes-shared ${CUPS_LIBRARIES}
- DESTINATION ${BIN_INSTALL_DIR}
-)
diff --git a/kdeprint/cups/Makefile.am b/kdeprint/cups/Makefile.am
deleted file mode 100644
index 6f3d7edec..000000000
--- a/kdeprint/cups/Makefile.am
+++ /dev/null
@@ -1,49 +0,0 @@
-AM_CPPFLAGS = -D_KDEPRINT_COMPILE
-
-SUBDIRS = cupsdconf2
-
-INCLUDES= -I$(top_srcdir) -I$(top_srcdir)/kio -I$(top_srcdir)/kfile -I$(top_srcdir)/tdeprint -I$(top_srcdir)/tdeprint/management -I$(top_srcdir)/tdecore/network $(all_includes)
-
-kde_module_LTLIBRARIES = tdeprint_cups.la
-
-tdeprint_cups_la_SOURCES = cupsinfos.cpp ipprequest.cpp kmcupsfactory.cpp kmcupsjobmanager.cpp \
- kmcupsmanager.cpp kmcupsuimanager.cpp kmpropbanners.cpp kmwbanners.cpp kmwipp.cpp \
- kmwippselect.cpp kcupsprinterimpl.cpp kmcupsconfigwidget.cpp \
- kmconfigcups.cpp kmconfigcupsdir.cpp kmwippprinter.cpp kmwfax.cpp kmwquota.cpp \
- kmpropquota.cpp kmwusers.cpp kmpropusers.cpp kpschedulepage.cpp image.cpp \
- imagepreview.cpp imageposition.cpp kpimagepage.cpp \
- kptextpage.cpp kphpgl2page.cpp cupsaddsmb2.cpp kmwother.cpp ippreportdlg.cpp \
- kptagspage.cpp
-tdeprint_cups_la_LDFLAGS = $(all_libraries) -module -avoid-version -no-undefined
-tdeprint_cups_la_LIBADD = $(top_builddir)/tdeprint/management/libtdeprint_management.la $(LIB_KIO) $(LIB_CUPS) $(LIB_QT) $(LIB_KDEPRINT) $(LIB_KDECORE) $(LIB_KDEUI)
-tdeprint_cups_la_METASOURCES = AUTO
-
-noinst_HEADERS = cupsinfos.h ipprequest.h kmcupsjobmanager.h kmcupsmanager.h kmcupsuimanager.h \
- kmpropbanners.h kmwbanners.h kmwipp.h kmwippselect.h kcupsprinterimpl.h \
- kmcupsconfigwidget.h kmconfigcups.h kmconfigcupsdir.h kmwippprinter.h kmwfax.h kmwquota.h \
- kmpropquota.h kmwusers.h kmpropusers.h kpschedulepage.h imagepreview.h imageposition.h \
- kpimagepage.h kptextpage.h kphpgl2page.h cupsaddsmb2.h \
- kmwother.h ippreportdlg.h kptagspage.h
-
-bin_PROGRAMS = make_driver_db_cups cupsdoprint
-make_driver_db_cups_SOURCES = make_driver_db_cups.c
-make_driver_db_cups_LDADD = ../libdriverparse.a $(top_builddir)/tdecore/libtdefakes.la $(LIBDL) $(LIBZ)
-make_driver_db_cups_LDFLAGS = $(all_libraries)
-
-cupsdoprint_SOURCES = cupsdoprint.c
-cupsdoprint_LDADD = $(LIB_CUPS) $(top_builddir)/tdecore/libtdefakes.la
-cupsdoprint_LDFLAGS = $(all_libraries)
-
-entry_DATA = cups.print
-entrydir = $(kde_datadir)/tdeprint/plugins
-
-misc_DATA = preview.png preview-mini.png
-miscdir = $(kde_datadir)/tdeprint
-
-EXTRA_DIST = postscript.ppd.gz
-
-install-data-local:
- if test -n "$(cups_modeldir)"; then \
- $(INSTALL_DATA) $(srcdir)/postscript.ppd.gz $(DESTDIR)$(cups_modeldir)/postscript.ppd.gz || true ;\
- fi
-
diff --git a/kdeprint/cups/configure.in.in b/kdeprint/cups/configure.in.in
deleted file mode 100644
index b37ba67a1..000000000
--- a/kdeprint/cups/configure.in.in
+++ /dev/null
@@ -1,18 +0,0 @@
-dnl Whether to install the PostScript driver
-AC_MSG_CHECKING([installation of PS driver needed])
-ac_cups_share_test="/usr/share/cups /usr/local/share/cups /opt/share/cups /opt/local/share/cups"
-cups_modeldir=""
-for d in $ac_cups_share_test; do
- if test -d $d && test -d $d/model; then
- cups_modeldir=$d/model
- break
- fi
-done
-
-AC_SUBST(cups_modeldir)
-
-if test -n "$cups_modeldir"; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
diff --git a/kdeprint/cups/cups.print b/kdeprint/cups/cups.print
deleted file mode 100644
index 03b2474ee..000000000
--- a/kdeprint/cups/cups.print
+++ /dev/null
@@ -1,68 +0,0 @@
-[KDE Print Entry]
-PrintSystem=cups
-Comment=CUPS (Common UNIX Print System)
-Comment[af]=Cups (Gemeenskaplike Unix Druk Stelsel)
-Comment[ar]=CUPS (نظام طباعة يونيكس الشائع)
-Comment[az]=CUPS (Ümumi UNIX Çap Sistemi)
-Comment[be]=CUPS (Агульная сістэма друку UNIX)
-Comment[bn]=কাপ্স (Common UNIX Print System)
-Comment[ca]=CUPS (Sistema d'impressió comú de Unix)
-Comment[cs]=CUPS (Common Unix Print System)
-Comment[csb]=CUPS (Zbiérnô Systema Drëkù dlô Uniksa)
-Comment[cy]=CUPS (Cysawd Argraffu UNIX Cyffredinol)
-Comment[da]=CUPS (Common UNIX Print System = Fælles UNIX-udskriftssystem)
-Comment[el]=CUPS (Κοινό σύστημα εκτύπωσης του UNIX)
-Comment[eo]=CUPS (Kapabla Uniks-pressistemo)
-Comment[es]=CUPS (sistema de impresión común para Unix)
-Comment[eu]=CUPS (Common UNIX Print System)
-Comment[fa]=CUPS)سیستم چاپ مشترک یونیکس(
-Comment[fr]=CUPS (Common Unix Print System)
-Comment[fy]=CUPS (Common Unix Print System)
-Comment[gl]=CUPS (Sistema Comun de Impresión para UNIX)
-Comment[he]=מערכת הדפסה נפוצה ליוניקס (CUPS)
-Comment[hi]=CUPS (सामान्य यूनिक्स प्रिंट सिस्टम)
-Comment[hr]=CUPS (Common Unix Print System)
-Comment[is]=CUPS (Common Unix Print System)
-Comment[ja]=CUPS (Common UNIX Printing System)
-Comment[ka]=CUPS (საერთო Unix ბეჭდვის სიტემა)
-Comment[kk]=CUPS (Common UNIX Print System) басып шығару жүйесі
-Comment[ko]=CUPS (공통 유닉스 인쇄 시스템)
-Comment[lt]=CUPS (Bendra Unix Spausdinimo Sistema)
-Comment[mn]=CUPS (Юниксын Ерөнхий Хэвлэх Систем)
-Comment[mt]=CUPS (Common Unix Print System)
-Comment[ne]=CUPS (साझा UNIX मुद्रण प्रणाली)
-Comment[nn]=CUPS («Common Unix Print System», utskriftssystem)
-Comment[nso]=CUPS (System yago Swana ya Kgatiso ya UNIX)
-Comment[pa]=CUPS (ਕਾਮਨ UNIX ਪ੍ਰਿੰਟਰ ਸਿਸਟਮ)
-Comment[pl]=CUPS (Wspólny System Drukowania dla Uniksa)
-Comment[pt]=CUPS (Common Unix Print System)
-Comment[pt_BR]=Servidor de Impressão CUPS (Common Unix Print System)
-Comment[ro]=CUPS (Sistem de tipărire Unix comun)
-Comment[ru]=Система печати CUPS (Common Unix Print System)
-Comment[rw]=CUPS (Sisitemu Rusange yo Gucapa ya UNIX )
-Comment[se]=CUPS («Common Unix Print System», čálihanvuogádat)
-Comment[sl]=CUPS (skupni tiskalniški sistem za Unix)
-Comment[sr]=CUPS (Common Unix Print System)
-Comment[sr@Latn]=CUPS (Common Unix Print System)
-Comment[ss]=CUPS (Umshini lovamile wekushicelela we UNIX)
-Comment[sv]=Cups (Common Unix print system)
-Comment[ta]=CUPS (பொது யுனிக்ஸ் அச்சுத் தொகுதி)
-Comment[te]=కెయుపిఎస్ (సామాన్య యునిక్స్ ప్రచురణ వ్యవస్థ)
-Comment[tg]=Системаи чопи CUPS (Common UNIX Print System)
-Comment[th]=CUPS (ระบบการพิมพ์พื้นฐานของยูนิกซ์)
-Comment[tr]=CUPS (Common Unix Print System - Genel Unix Yazdırma Sistemi)
-Comment[tt]=CUPS atlı bastıru sisteme (Common UNIX Print System)
-Comment[uz]=CUPS (UNIX uchun umumiy bosib chiqarish tizimi)
-Comment[uz@cyrillic]=CUPS (UNIX учун умумий босиб чиқариш тизими)
-Comment[ven]=CUPS (Maitele au phirintha a UNIX zwao)
-Comment[vi]=CUPS (hệ thống in UNIX dùng chung)
-Comment[wa]=CUPS (Comon Sistinme d' Imprimaedje po UNIX)
-Comment[xh]=CUPS (Indlela Elula Yoshicilelo lwe UNIX)
-Comment[zh_CN]=CUPS (通用 Unix 打印系统)
-Comment[zh_HK]=CUPS (通用 Unix 列印系統)
-Comment[zh_TW]=CUPS (通用 Unix 列印系統)
-Comment[zu]=CUPS (Isistimu Yokushicilela ye-Unix Eyejwayelekile)
-DetectUris=service:/ipp,config:/cups/cupsd.conf
-DetectPrecedence=10
-MimeTypes=application/postscript,application/pdf,image/gif,image/jpeg,image/png,image/x-bmp,image/x-xpm
-PrimaryMimeType=application/postscript
diff --git a/kdeprint/cups/cupsaddsmb2.cpp b/kdeprint/cups/cupsaddsmb2.cpp
deleted file mode 100644
index ca40a10a7..000000000
--- a/kdeprint/cups/cupsaddsmb2.cpp
+++ /dev/null
@@ -1,476 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsaddsmb2.h"
-#include "cupsinfos.h"
-#include "sidepixmap.h"
-
-#include <tqtimer.h>
-#include <tqprogressbar.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqlineedit.h>
-#include <klocale.h>
-#include <kmessagebox.h>
-#include <tqmessagebox.h>
-#include <tqfile.h>
-#include <kio/passdlg.h>
-#include <kdebug.h>
-#include <kseparator.h>
-#include <kactivelabel.h>
-#include <tqwhatsthis.h>
-#include <kpushbutton.h>
-#include <kstdguiitem.h>
-
-#include <cups/cups.h>
-#include <ctype.h>
-
-CupsAddSmb::CupsAddSmb(TQWidget *parent, const char *name)
-: KDialog(parent, name)
-{
- m_state = None;
- m_status = false;
- m_actionindex = 0;
- connect(&m_proc, TQT_SIGNAL(receivedStdout(KProcess*,char*,int)), TQT_SLOT(slotReceived(KProcess*,char*,int)));
- connect(&m_proc, TQT_SIGNAL(receivedStderr(KProcess*,char*,int)), TQT_SLOT(slotReceived(KProcess*,char*,int)));
- connect(&m_proc, TQT_SIGNAL(processExited(KProcess*)), TQT_SLOT(slotProcessExited(KProcess*)));
-
- m_side = new SidePixmap(this);
- m_doit = new TQPushButton(i18n("&Export"), this);
- m_cancel = new KPushButton(KStdGuiItem::cancel(), this);
- connect(m_cancel, TQT_SIGNAL(clicked()), TQT_SLOT(reject()));
- connect(m_doit, TQT_SIGNAL(clicked()), TQT_SLOT(slotActionClicked()));
- m_bar = new TQProgressBar(this);
- m_text = new KActiveLabel(this);
- TQLabel *m_title = new TQLabel(i18n("Export Printer Driver to Windows Clients"), this);
- setCaption(m_title->text());
- TQFont f(m_title->font());
- f.setBold(true);
- m_title->setFont(f);
- KSeparator *m_sep = new KSeparator(Qt::Horizontal, this);
- m_textinfo = new TQLabel( this );
- m_logined = new TQLineEdit( this );
- m_passwded = new TQLineEdit( this );
- m_passwded->setEchoMode( TQLineEdit::Password );
- m_servered = new TQLineEdit( this );
- TQLabel *m_loginlab = new TQLabel( i18n( "&Username:" ), this );
- TQLabel *m_serverlab = new TQLabel( i18n( "&Samba server:" ), this );
- TQLabel *m_passwdlab = new TQLabel( i18n( "&Password:" ), this );
- m_loginlab->setBuddy( m_logined );
- m_serverlab->setBuddy( m_servered );
- m_passwdlab->setBuddy( m_passwded );
-
- TQString txt = i18n( "<p><b>Samba server</b></p>"
- "Adobe Windows PostScript driver files plus the CUPS printer PPD will be "
- "exported to the <tt>[print$]</tt> special share of the Samba server (to change "
- "the source CUPS server, use the <nobr><i>Configure Manager -> CUPS server</i></nobr> first). "
- "The <tt>[print$]</tt> share must exist on the Samba side prior to clicking the "
- "<b>Export</b> button below." );
- TQWhatsThis::add( m_serverlab, txt );
- TQWhatsThis::add( m_servered, txt );
-
- txt = i18n( "<p><b>Samba username</b></p>"
- "User needs to have write access to the <tt>[print$]</tt> share on the Samba server. "
- "<tt>[print$]</tt> holds printer drivers prepared for download to Windows clients. "
- "This dialog does not work for Samba servers configured with <tt>security = share</tt> "
- "(but works fine with <tt>security = user</tt>)." );
- TQWhatsThis::add( m_loginlab, txt );
- TQWhatsThis::add( m_logined, txt );
-
- txt = i18n( "<p><b>Samba password</b></p>"
- "The Samba setting <tt>encrypt passwords = yes</tt> "
- "(default) requires prior use of <tt>smbpasswd -a [username]</tt> command, "
- "to create an encrypted Samba password and have Samba recognize it." );
- TQWhatsThis::add( m_passwdlab, txt );
- TQWhatsThis::add( m_passwded, txt );
-
- TQHBoxLayout *l0 = new TQHBoxLayout(this, 10, 10);
- TQVBoxLayout *l1 = new TQVBoxLayout(0, 0, 10);
- l0->addWidget(m_side);
- l0->addLayout(l1);
- l1->addWidget(m_title);
- l1->addWidget(m_sep);
- l1->addWidget(m_text);
- TQGridLayout *l3 = new TQGridLayout( 0, 3, 2, 0, 10 );
- l1->addLayout( TQT_TQLAYOUT(l3) );
- l3->addWidget( m_loginlab, 1, 0 );
- l3->addWidget( m_passwdlab, 2, 0 );
- l3->addWidget( m_serverlab, 0, 0 );
- l3->addWidget( m_logined, 1, 1 );
- l3->addWidget( m_passwded, 2, 1 );
- l3->addWidget( m_servered, 0, 1 );
- l3->setColStretch( 1, 1 );
- l1->addSpacing( 10 );
- l1->addWidget(m_bar);
- l1->addWidget( m_textinfo );
- l1->addSpacing(30);
- TQHBoxLayout *l2 = new TQHBoxLayout(0, 0, 10);
- l1->addLayout(l2);
- l2->addStretch(1);
- l2->addWidget(m_doit);
- l2->addWidget(m_cancel);
-
- m_logined->setText( CupsInfos::self()->login() );
- m_passwded->setText( CupsInfos::self()->password() );
- m_servered->setText( cupsServer() );
-
- setMinimumHeight(400);
-}
-
-CupsAddSmb::~CupsAddSmb()
-{
-}
-
-void CupsAddSmb::slotActionClicked()
-{
- if (m_state == None)
- doExport();
- else if (m_proc.isRunning())
- m_proc.kill();
-}
-
-void CupsAddSmb::slotReceived(KProcess*, char *buf, int buflen)
-{
- TQString line;
- int index(0);
- bool partial(false);
- static bool incomplete(false);
-
- kdDebug(500) << "slotReceived()" << endl;
- while (1)
- {
- // read a line
- line = TQString::tqfromLatin1("");
- partial = true;
- while (index < buflen)
- {
- TQChar c(buf[index++]);
- if (c == '\n')
- {
- partial = false;
- break;
- }
- else if (c.isPrint())
- line += c;
- }
-
- if (line.isEmpty())
- {
- kdDebug(500) << "NOTHING TO READ" << endl;
- return;
- }
-
- kdDebug(500) << "ANSWER = " << line << " (END = " << line.length() << ")" << endl;
- if (!partial)
- {
- if (incomplete && m_buffer.count() > 0)
- m_buffer[m_buffer.size()-1].append(line);
- else
- m_buffer << line;
- incomplete = false;
- kdDebug(500) << "COMPLETE LINE READ (" << m_buffer.count() << ")" << endl;
- }
- else
- {
- if (line.startsWith("smb:") || line.startsWith("rpcclient $"))
- {
- kdDebug(500) << "END OF ACTION" << endl;
- checkActionStatus();
- if (m_status)
- nextAction();
- else
- {
- // quit program
- kdDebug(500) << "EXITING PROGRAM..." << endl;
- m_proc.writeStdin("quit\n", 5);
- kdDebug(500) << "SENT" << endl;
- }
- return;
- }
- else
- {
- if (incomplete && m_buffer.count() > 0)
- m_buffer[m_buffer.size()-1].append(line);
- else
- m_buffer << line;
- incomplete = true;
- kdDebug(500) << "INCOMPLETE LINE READ (" << m_buffer.count() << ")" << endl;
- }
- }
- }
-}
-
-void CupsAddSmb::checkActionStatus()
-{
- m_status = false;
- // when checking the status, we need to take into account the
- // echo of the command in the output buffer.
- switch (m_state)
- {
- case None:
- case Start:
- m_status = true;
- break;
- case Copy:
- m_status = (m_buffer.count() == 0);
- break;
- case MkDir:
- m_status = (m_buffer.count() == 1 || m_buffer[1].find("ERRfilexists") != -1);
- break;
- case AddDriver:
- case AddPrinter:
- m_status = (m_buffer.count() == 1 || !m_buffer[1].startsWith("result"));
- break;
- }
- kdDebug(500) << "ACTION STATUS = " << m_status << endl;
-}
-
-void CupsAddSmb::nextAction()
-{
- if (m_actionindex < (int)(m_actions.count()))
- TQTimer::singleShot(1, this, TQT_SLOT(doNextAction()));
-}
-
-void CupsAddSmb::doNextAction()
-{
- m_buffer.clear();
- m_state = None;
- if (m_proc.isRunning())
- {
- TQCString s = m_actions[m_actionindex++].latin1();
- m_bar->setProgress(m_bar->progress()+1);
- kdDebug(500) << "NEXT ACTION = " << s << endl;
- if (s == "quit")
- {
- // do nothing
- }
- else if (s == "mkdir")
- {
- m_state = MkDir;
- //m_text->setText(i18n("Creating directory %1").arg(m_actions[m_actionindex]));
- m_textinfo->setText(i18n("Creating folder %1").arg(m_actions[m_actionindex]));
- s.append(" ").append(m_actions[m_actionindex].latin1());
- m_actionindex++;
- }
- else if (s == "put")
- {
- m_state = Copy;
- //m_text->setText(i18n("Uploading %1").arg(m_actions[m_actionindex+1]));
- m_textinfo->setText(i18n("Uploading %1").arg(m_actions[m_actionindex+1]));
- s.append(" ").append(TQFile::encodeName(m_actions[m_actionindex]).data()).append(" ").append(m_actions[m_actionindex+1].latin1());
- m_actionindex += 2;
- }
- else if (s == "adddriver")
- {
- m_state = AddDriver;
- //m_text->setText(i18n("Installing driver for %1").arg(m_actions[m_actionindex]));
- m_textinfo->setText(i18n("Installing driver for %1").arg(m_actions[m_actionindex]));
- s.append(" \"").append(m_actions[m_actionindex].latin1()).append("\" \"").append(m_actions[m_actionindex+1].latin1()).append("\"");
- m_actionindex += 2;
- }
- else if (s == "addprinter" || s == "setdriver")
- {
- m_state = AddPrinter;
- //m_text->setText(i18n("Installing printer %1").arg(m_actions[m_actionindex]));
- m_textinfo->setText(i18n("Installing printer %1").arg(m_actions[m_actionindex]));
- TQCString dest = m_actions[m_actionindex].local8Bit();
- if (s == "addprinter")
- s.append(" ").append(dest).append(" ").append(dest).append(" \"").append(dest).append("\" \"\"");
- else
- s.append(" ").append(dest).append(" ").append(dest);
- m_actionindex++;
- }
- else
- {
- kdDebug(500) << "ACTION = unknown action" << endl;
- m_proc.kill();
- return;
- }
- // send action
- kdDebug(500) << "ACTION = " << s << endl;
- s.append("\n");
- m_proc.writeStdin(s.data(), s.length());
- }
-}
-
-void CupsAddSmb::slotProcessExited(KProcess*)
-{
- kdDebug(500) << "PROCESS EXITED (" << m_state << ")" << endl;
- if (m_proc.normalExit() && m_state != Start && m_status)
- {
- // last process went OK. If it was smbclient, then switch to rpcclient
- if (tqstrncmp(m_proc.args().first(), "smbclient", 9) == 0)
- {
- doInstall();
- return;
- }
- else
- {
- m_doit->setEnabled(false);
- m_cancel->setEnabled(true);
- m_cancel->setText(i18n("&Close"));
- m_cancel->setDefault(true);
- m_cancel->setFocus();
- m_logined->setEnabled( true );
- m_servered->setEnabled( true );
- m_passwded->setEnabled( true );
- m_text->setText(i18n("Driver successfully exported."));
- m_bar->reset();
- m_textinfo->setText( TQString::null );
- return;
- }
- }
-
- if (m_proc.normalExit())
- {
- showError(
- i18n("Operation failed. Possible reasons are: permission denied "
- "or invalid Samba configuration (see <a href=\"man:/cupsaddsmb\">"
- "cupsaddsmb</a> manual page for detailed information, you need "
- "<a href=\"http://www.cups.org\">CUPS</a> version 1.1.11 or higher). "
- "You may want to try again with another login/password."));
-
- }
- else
- {
- showError(i18n("Operation aborted (process killed)."));
- }
-}
-
-void CupsAddSmb::showError(const TQString& msg)
-{
- m_text->setText(i18n("<h3>Operation failed.</h3><p>%1</p>").arg(msg));
- m_cancel->setEnabled(true);
- m_logined->setEnabled( true );
- m_servered->setEnabled( true );
- m_passwded->setEnabled( true );
- m_doit->setText(i18n("&Export"));
- m_state = None;
-}
-
-bool CupsAddSmb::exportDest(const TQString &dest, const TQString& datadir)
-{
- CupsAddSmb dlg;
- dlg.m_dest = dest;
- dlg.m_datadir = datadir;
- dlg.m_text->setText(
- i18n( "You are about to prepare the <b>%1</b> driver to be "
- "shared out to Windows clients through Samba. This operation "
- "requires the <a href=\"http://www.adobe.com/products/printerdrivers/main.html\">Adobe PostScript Driver</a>, a recent version of "
- "Samba 2.2.x and a running SMB service on the target server. "
- "Click <b>Export</b> to start the operation. Read the <a href=\"man:/cupsaddsmb\">cupsaddsmb</a> "
- "manual page in Konqueror or type <tt>man cupsaddsmb</tt> in a "
- "console window to learn more about this functionality." ).arg( dest ) );
- dlg.exec();
- return dlg.m_status;
-}
-
-bool CupsAddSmb::doExport()
-{
- m_status = false;
- m_state = None;
-
- if (!TQFile::exists(m_datadir+"/drivers/ADOBEPS5.DLL") ||
- !TQFile::exists(m_datadir+"/drivers/ADOBEPS4.DRV"))
- {
- showError(
- i18n("Some driver files are missing. You can get them on "
- "<a href=\"http://www.adobe.com\">Adobe</a> web site. "
- "See <a href=\"man:/cupsaddsmb\">cupsaddsmb</a> manual "
- "page for more details (you need <a href=\"http://www.cups.org\">CUPS</a> "
- "version 1.1.11 or higher)."));
- return false;
- }
-
- m_bar->setTotalSteps(18);
- m_bar->setProgress(0);
- //m_text->setText(i18n("<p>Preparing to upload driver to host <b>%1</b>").arg(m_servered->text()));
- m_textinfo->setText(i18n("Preparing to upload driver to host %1").arg(m_servered->text()));
- m_cancel->setEnabled(false);
- m_logined->setEnabled( false );
- m_servered->setEnabled( false );
- m_passwded->setEnabled( false );
- m_doit->setText(i18n("&Abort"));
-
- const char *ppdfile;
-
- if ((ppdfile = cupsGetPPD(m_dest.local8Bit())) == NULL)
- {
- showError(i18n("The driver for printer <b>%1</b> could not be found.").arg(m_dest));
- return false;
- }
-
- m_actions.clear();
- m_actions << "mkdir" << "W32X86";
- m_actions << "put" << ppdfile << "W32X86/"+m_dest+".PPD";
- m_actions << "put" << m_datadir+"/drivers/ADOBEPS5.DLL" << "W32X86/ADOBEPS5.DLL";
- m_actions << "put" << m_datadir+"/drivers/ADOBEPSU.DLL" << "W32X86/ADOBEPSU.DLL";
- m_actions << "put" << m_datadir+"/drivers/ADOBEPSU.HLP" << "W32X86/ADOBEPSU.HLP";
- m_actions << "mkdir" << "WIN40";
- m_actions << "put" << ppdfile << "WIN40/"+m_dest+".PPD";
- m_actions << "put" << m_datadir+"/drivers/ADFONTS.MFM" << "WIN40/ADFONTS.MFM";
- m_actions << "put" << m_datadir+"/drivers/ADOBEPS4.DRV" << "WIN40/ADOBEPS4.DRV";
- m_actions << "put" << m_datadir+"/drivers/ADOBEPS4.HLP" << "WIN40/ADOBEPS4.HLP";
- m_actions << "put" << m_datadir+"/drivers/DEFPRTR2.PPD" << "WIN40/DEFPRTR2.PPD";
- m_actions << "put" << m_datadir+"/drivers/ICONLIB.DLL" << "WIN40/ICONLIB.DLL";
- m_actions << "put" << m_datadir+"/drivers/PSMON.DLL" << "WIN40/PSMON.DLL";
- m_actions << "quit";
-
- m_proc.clearArguments();
- m_proc << "smbclient" << TQString::tqfromLatin1("//")+m_servered->text()+"/print$";
- return startProcess();
-}
-
-bool CupsAddSmb::doInstall()
-{
- m_status = false;
- m_state = None;
-
- m_actions.clear();
- m_actions << "adddriver" << "Windows NT x86" << m_dest+":ADOBEPS5.DLL:"+m_dest+".PPD:ADOBEPSU.DLL:ADOBEPSU.HLP:NULL:RAW:NULL";
- // seems to be wrong with newer versions of Samba
- //m_actions << "addprinter" << m_dest;
- m_actions << "adddriver" << "Windows 4.0" << m_dest+":ADOBEPS4.DRV:"+m_dest+".PPD:NULL:ADOBEPS4.HLP:PSMON.DLL:RAW:ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL";
- // seems to be ok with newer versions of Samba
- m_actions << "setdriver" << m_dest;
- m_actions << "quit";
-
- //m_text->setText(i18n("Preparing to install driver on host <b>%1</b>").arg(m_servered->text()));
- m_textinfo->setText(i18n("Preparing to install driver on host %1").arg(m_servered->text()));
-
- m_proc.clearArguments();
- m_proc << "rpcclient" << m_servered->text();
- return startProcess();
-}
-
-bool CupsAddSmb::startProcess()
-{
- m_proc << "-d" << "0" << "-N" << "-U";
- if (m_passwded->text().isEmpty())
- m_proc << m_logined->text();
- else
- m_proc << m_logined->text()+"%"+m_passwded->text();
- m_state = Start;
- m_actionindex = 0;
- m_buffer.clear();
- kdDebug(500) << "PROCESS STARTED = " << m_proc.args()[0] << endl;
- return m_proc.start(KProcess::NotifyOnExit, KProcess::All);
-}
-
-#include "cupsaddsmb2.moc"
diff --git a/kdeprint/cups/cupsaddsmb2.h b/kdeprint/cups/cupsaddsmb2.h
deleted file mode 100644
index 84166f53c..000000000
--- a/kdeprint/cups/cupsaddsmb2.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSADDSMB_H
-#define CUPSADDSMB_H
-
-#include <tqobject.h>
-#include <tqstringlist.h>
-#include <kprocess.h>
-#include <kdialog.h>
-
-class TQProgressBar;
-class SidePixmap;
-class TQPushButton;
-class TQLabel;
-class KActiveLabel;
-class TQLineEdit;
-
-class CupsAddSmb : public KDialog
-{
- Q_OBJECT
-
-public:
- enum State { None, Start, MkDir, Copy, AddDriver, AddPrinter };
- CupsAddSmb(TQWidget *parent = 0, const char *name = 0);
- ~CupsAddSmb();
-
- static bool exportDest(const TQString& dest, const TQString& datadir);
-
-protected slots:
- void slotReceived(KProcess*, char*, int);
- void doNextAction();
- void slotProcessExited(KProcess*);
- void slotActionClicked();
-
-protected:
- void checkActionStatus();
- void nextAction();
- bool startProcess();
- bool doExport();
- bool doInstall();
- void showError(const TQString& msg);
-
-private:
- KProcess m_proc;
- TQStringList m_buffer;
- int m_state;
- TQStringList m_actions;
- int m_actionindex;
- bool m_status;
- TQProgressBar *m_bar;
- TQString m_dest;
- SidePixmap *m_side;
- TQPushButton *m_doit, *m_cancel;
- KActiveLabel *m_text;
- TQLabel *m_textinfo;
- TQLineEdit *m_logined, *m_passwded, *m_servered;
- TQString m_datadir;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/CMakeLists.txt b/kdeprint/cups/cupsdconf2/CMakeLists.txt
deleted file mode 100644
index ceee1bc47..000000000
--- a/kdeprint/cups/cupsdconf2/CMakeLists.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-#################################################
-#
-# (C) 2010 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${TQT_INCLUDE_DIRS}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_BINARY_DIR}/tdecore
- ${CMAKE_SOURCE_DIR}/tdecore
- ${CMAKE_SOURCE_DIR}/tdeui
- ${CMAKE_SOURCE_DIR}/kio
- ${CMAKE_SOURCE_DIR}/kio/kio
- ${CMAKE_SOURCE_DIR}/kio/kfile
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-
-##### other data ################################
-
-install( FILES
- kde_logo.png cups_logo.png cupsd.conf.template
- DESTINATION ${DATA_INSTALL_DIR}/tdeprint )
-
-
-#### cupsdconf ##################################
-
-set( target cupsdconf )
-
-set( ${target}_SRCS
- cupsdconf.cpp cupsddialog.cpp cupsdpage.cpp cupsdcomment.cpp
- cupsdsplash.cpp cupsdserverpage.cpp cupsdlogpage.cpp
- cupsdjobspage.cpp cupsdfilterpage.cpp qdirlineedit.cpp
- cupsddirpage.cpp portdialog.cpp cupsdnetworkpage.cpp
- editlist.cpp cupsdbrowsingpage.cpp browsedialog.cpp
- cupsdsecuritypage.cpp locationdialog.cpp addressdialog.cpp
- cups-util.c qdirmultilineedit.cpp sizewidget.cpp main.cpp
-)
-
-tde_add_tdeinit_executable( ${target} AUTOMOC
- SOURCES ${${target}_SRCS}
- LINK kio-shared ${CUPS_LIBRARIES}
-)
diff --git a/kdeprint/cups/cupsdconf2/Makefile.am b/kdeprint/cups/cupsdconf2/Makefile.am
deleted file mode 100644
index 434af6a3c..000000000
--- a/kdeprint/cups/cupsdconf2/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
-#$Id$
-
-INCLUDES= -I$(top_srcdir) -I$(top_srcdir)/kio -I$(top_srcdir)/kfile $(all_includes)
-
-bin_PROGRAMS =
-lib_LTLIBRARIES =
-tdeinit_LTLIBRARIES = cupsdconf.la
-
-# library creation
-cupsdconf_la_SOURCES = cupsdconf.cpp cupsddialog.cpp cupsdpage.cpp cupsdcomment.cpp cupsdsplash.cpp \
- cupsdserverpage.cpp cupsdlogpage.cpp cupsdjobspage.cpp cupsdfilterpage.cpp \
- qdirlineedit.cpp cupsddirpage.cpp portdialog.cpp cupsdnetworkpage.cpp \
- editlist.cpp cupsdbrowsingpage.cpp browsedialog.cpp cupsdsecuritypage.cpp \
- locationdialog.cpp addressdialog.cpp cups-util.c \
- qdirmultilineedit.cpp sizewidget.cpp main.cpp
-cupsdconf_la_METASOURCES = AUTO
-cupsdconf_la_LDFLAGS = -avoid-version -module $(all_libraries) $(KDE_RPATH)
-cupsdconf_la_LIBADD = $(LIB_KIO) $(LIB_CUPS) $(LIB_QT) $(LIB_KDEUI) $(LIB_KDECORE)
-
-noinst_HEADERS = cupsdconf.h cupsdpage.h cupsddialog.h cupsdcomment.h cupsdsplash.h \
- cupsdserverpage.h cupsdlogpage.h cupsdjobspage.h cupsdfilterpage.h \
- qdirlineedit.h cupsddirpage.h portdialog.h cupsdnetworkpage.h \
- editlist.h cupsdbrowsingpage.h browsedialog.h cupsdsecuritypage.h \
- locationdialog.h addressdialog.h cups-util.h qdirmultilineedit.h \
- sizewidget.h
-
-# Data
-cupsdconfdata_DATA = kde_logo.png cups_logo.png cupsd.conf.template
-cupsdconfdatadir = $(kde_datadir)/tdeprint
-
-# Translations
-messages:
- perl cupsdcomment.pl < cupsd.conf.template > cupsd.conf.template.txt
- $(XGETTEXT) *.cpp -o $(podir)/cupsdconf.pot
- rm -f cupsd.conf.template.txt
diff --git a/kdeprint/cups/cupsdconf2/addressdialog.cpp b/kdeprint/cups/cupsdconf2/addressdialog.cpp
deleted file mode 100644
index fab6a6fba..000000000
--- a/kdeprint/cups/cupsdconf2/addressdialog.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "addressdialog.h"
-
-#include <tqcombobox.h>
-#include <tqlineedit.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-
-#include <klocale.h>
-
-AddressDialog::AddressDialog(TQWidget *parent, const char *name)
- : KDialogBase(Swallow, i18n("ACL Address"), Ok|Cancel, Ok, parent, name, true, true)
-{
- TQWidget *w = new TQWidget(this);
- type_ = new TQComboBox(w);
- address_ = new TQLineEdit(w);
-
- type_->insertItem(i18n("Allow"));
- type_->insertItem(i18n("Deny"));
-
- TQLabel *l1 = new TQLabel(i18n("Type:"), w);
- TQLabel *l2 = new TQLabel(i18n("Address:"), w);
-
- TQGridLayout *m1 = new TQGridLayout(w, 2, 2, 0, 5);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(type_, 0, 1);
- m1->addWidget(address_, 1, 1);
-
- setMainWidget(w);
- resize(300, 100);
-}
-
-TQString AddressDialog::addressString()
-{
- TQString s;
- if (type_->currentItem() == 0)
- s.append("Allow ");
- else
- s.append("Deny ");
- if (address_->text().isEmpty())
- s.append("All");
- else
- s.append(address_->text());
- return s;
-}
-
-TQString AddressDialog::newAddress(TQWidget *parent)
-{
- AddressDialog dlg(parent);
- if (dlg.exec())
- return dlg.addressString();
- else
- return TQString::null;
-}
-
-TQString AddressDialog::editAddress(const TQString& addr, TQWidget *parent)
-{
- AddressDialog dlg(parent);
- int p = addr.find(' ');
- if (p != -1)
- {
- dlg.type_->setCurrentItem(addr.left(p).lower() == "deny" ? 1 : 0);
- dlg.address_->setText(addr.mid(p+1));
- }
- if (dlg.exec())
- return dlg.addressString();
- else
- return TQString::null;
-}
diff --git a/kdeprint/cups/cupsdconf2/addressdialog.h b/kdeprint/cups/cupsdconf2/addressdialog.h
deleted file mode 100644
index 7fdb6fb6f..000000000
--- a/kdeprint/cups/cupsdconf2/addressdialog.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef ADDRESSDIALOG_H
-#define ADDRESSDIALOG_H
-
-#include <kdialogbase.h>
-
-class TQComboBox;
-class TQLineEdit;
-
-class AddressDialog : public KDialogBase
-{
-public:
- AddressDialog(TQWidget *parent = 0, const char *name = 0);
-
- TQString addressString();
- static TQString newAddress(TQWidget *parent = 0);
- static TQString editAddress(const TQString& s, TQWidget *parent = 0);
-
-private:
- TQComboBox *type_;
- TQLineEdit *address_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/browsedialog.cpp b/kdeprint/cups/cupsdconf2/browsedialog.cpp
deleted file mode 100644
index b337eb883..000000000
--- a/kdeprint/cups/cupsdconf2/browsedialog.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "browsedialog.h"
-#include "cupsdconf.h"
-
-#include <tqlineedit.h>
-#include <tqpushbutton.h>
-#include <tqcombobox.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-#include <tqregexp.h>
-
-#include <klocale.h>
-
-BrowseDialog::BrowseDialog(TQWidget *parent, const char *name)
- : KDialogBase(parent, name, true, TQString::null, Ok|Cancel, Ok, true)
-{
- TQWidget *dummy = new TQWidget(this);
- setMainWidget(dummy);
- type_ = new TQComboBox(dummy);
- from_ = new TQLineEdit(dummy);
- to_ = new TQLineEdit(dummy);
- type_->insertItem(i18n("Send"));
- type_->insertItem(i18n("Allow"));
- type_->insertItem(i18n("Deny"));
- type_->insertItem(i18n("Relay"));
- type_->insertItem(i18n("Poll"));
-
- TQLabel *l1 = new TQLabel(i18n("Type:"), dummy);
- TQLabel *l2 = new TQLabel(i18n("From:"), dummy);
- TQLabel *l3 = new TQLabel(i18n("To:"), dummy);
-
- TQGridLayout *m1 = new TQGridLayout(dummy, 3, 2, 0, 5);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(l3, 2, 0, Qt::AlignRight);
- m1->addWidget(type_, 0, 1);
- m1->addWidget(from_, 1, 1);
- m1->addWidget(to_, 2, 1);
-
- connect(type_, TQT_SIGNAL(activated(int)), TQT_SLOT(slotTypeChanged(int)));
- slotTypeChanged(type_->currentItem());
-
- setCaption(i18n("Browse Address"));
- resize(250, 100);
-}
-
-TQString BrowseDialog::addressString()
-{
- TQString s;
- switch (type_->currentItem())
- {
- case 0:
- s.append("Send");
- break;
- case 1:
- s.append("Allow");
- break;
- case 2:
- s.append("Deny");
- break;
- case 3:
- s.append("Relay");
- break;
- case 4:
- s.append("Poll");
- break;
- }
- if (from_->isEnabled())
- s.append(" ").append(from_->text());
- if (to_->isEnabled())
- s.append(" ").append(to_->text());
- return s;
-}
-
-void BrowseDialog::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(type_, conf->comments_.toolTip("browsetype"));
-}
-
-TQString BrowseDialog::newAddress(TQWidget *parent, CupsdConf *conf)
-{
- BrowseDialog dlg(parent);
- dlg.setInfos(conf);
- if (dlg.exec())
- {
- return dlg.addressString();
- }
- return TQString::null;
-}
-
-TQString BrowseDialog::editAddress(const TQString& s, TQWidget *parent, CupsdConf *conf)
-{
- BrowseDialog dlg(parent);
- dlg.setInfos(conf);
- TQStringList l = TQStringList::split(TQRegExp("\\s"), s, false);
- if (l.count() > 1)
- {
- if (l[0] == "Send") dlg.type_->setCurrentItem(0);
- else if (l[0] == "Allow") dlg.type_->setCurrentItem(1);
- else if (l[0] == "Deny") dlg.type_->setCurrentItem(2);
- else if (l[0] == "Relay") dlg.type_->setCurrentItem(3);
- else if (l[0] == "Poll") dlg.type_->setCurrentItem(4);
- dlg.slotTypeChanged(dlg.type_->currentItem());
- int index(1);
- if (dlg.from_->isEnabled())
- dlg.from_->setText(l[index++]);
- if (dlg.to_->isEnabled())
- dlg.to_->setText(l[index]);
- }
- if (dlg.exec())
- {
- return dlg.addressString();
- }
- return TQString::null;
-}
-
-void BrowseDialog::slotTypeChanged(int index)
-{
- bool useFrom(true), useTo(true);
- switch (index)
- {
- case 0: useFrom = false; break;
- case 1:
- case 4:
- case 2: useTo = false; break;
- }
- from_->setEnabled(useFrom);
- to_->setEnabled(useTo);
-}
-
-#include "browsedialog.moc"
diff --git a/kdeprint/cups/cupsdconf2/browsedialog.h b/kdeprint/cups/cupsdconf2/browsedialog.h
deleted file mode 100644
index 8db12bc34..000000000
--- a/kdeprint/cups/cupsdconf2/browsedialog.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef BROWSEDIALOG_H
-#define BROWSEDIALOG_H
-
-#include <kdialogbase.h>
-
-class TQLineEdit;
-class TQComboBox;
-struct CupsdConf;
-
-class BrowseDialog : public KDialogBase
-{
- Q_OBJECT
-
-public:
- BrowseDialog(TQWidget *parent = 0, const char *name = 0);
-
- TQString addressString();
- void setInfos(CupsdConf*);
- static TQString newAddress(TQWidget *parent = 0, CupsdConf *conf = 0);
- static TQString editAddress(const TQString& s, TQWidget *parent = 0, CupsdConf *conf = 0);
-
-protected slots:
- void slotTypeChanged(int);
-
-private:
- TQComboBox *type_;
- TQLineEdit *from_, *to_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cups-util.c b/kdeprint/cups/cupsdconf2/cups-util.c
deleted file mode 100644
index eadd6b629..000000000
--- a/kdeprint/cups/cupsdconf2/cups-util.c
+++ /dev/null
@@ -1,557 +0,0 @@
-#include <stdio.h>
-#include <cups/ipp.h>
-#include <cups/http.h>
-#include <cups/cups.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#define CUPS_SERVERROOT "/etc/cups"
-static http_t *cups_server;
-static ipp_status_t last_error;
-static char authstring[HTTP_MAX_VALUE];
-static char pwdstring[33];
-static int cups_local_auth(http_t *http);
-
-const char* cupsGetConf( void );
-int cupsPutConf( const char* );
-
-const char * /* O - Filename for PPD file */
-cupsGetConf(void)
-{
- int fd; /* PPD file */
- int bytes; /* Number of bytes read */
- char buffer[8192]; /* Buffer for file */
- char resource[HTTP_MAX_URI]; /* Resource name */
- const char *password; /* Password string */
- char realm[HTTP_MAX_VALUE], /* realm="xyz" string */
- nonce[HTTP_MAX_VALUE], /* nonce="xyz" string */
- plain[255], /* Plaintext username:password */
- encode[512]; /* Encoded username:password */
- http_status_t status; /* HTTP status from server */
- char prompt[1024]; /* Prompt string */
- int digest_tries; /* Number of tries with Digest */
- static char filename[HTTP_MAX_URI]; /* Local filename */
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- const char *fqdn = 0;
-#else
- char fqdn[ HTTP_MAX_URI ]; /* Server name buffer */
-#endif
-
-
- /*
- * Connect to the correct server as needed...
- */
-
- if ((cups_server = httpConnectEncrypt(cupsServer(), ippPort(),
- cupsEncryption())) == NULL)
- {
- last_error = IPP_SERVICE_UNAVAILABLE;
- return (NULL);
- }
-
- /*
- * Get a temp file...
- */
-
- if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
- {
- /*
- * Can't open file; close the server connection and return NULL...
- */
-
- httpFlush(cups_server);
- httpClose(cups_server);
- cups_server = NULL;
- return (NULL);
- }
-
- /*
- * And send a request to the HTTP server...
- */
-
- snprintf(resource, sizeof(resource), "/admin/conf/cupsd.conf");
-
- digest_tries = 0;
-
- do
- {
- httpClearFields(cups_server);
- httpSetField(cups_server, HTTP_FIELD_HOST, cupsServer());
- httpSetField(cups_server, HTTP_FIELD_AUTHORIZATION, authstring);
-
- if (httpGet(cups_server, resource))
- {
- if (httpReconnect(cups_server))
- {
- status = HTTP_ERROR;
- break;
- }
- else
- {
- status = HTTP_UNAUTHORIZED;
- continue;
- }
- }
-
- while ((status = httpUpdate(cups_server)) == HTTP_CONTINUE);
-
- if (status == HTTP_UNAUTHORIZED)
- {
- const char *www_authenticate;
- fprintf(stderr,"cupsGetConf: unauthorized...\n");
-
- /*
- * Flush any error message...
- */
-
- httpFlush(cups_server);
-
- /*
- * See if we can do local authentication...
- */
-
- if (cups_local_auth(cups_server))
- continue;
-
- /*
- * See if we should retry the current digest password...
- */
-
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
-#else
- www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
-#endif
- if (strncmp(www_authenticate, "Basic", 5) == 0 ||
- digest_tries > 1 || !pwdstring[0])
- {
- /*
- * Nope - get a password from the user...
- */
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- fqdn = cups_server->hostname;
-#else
- httpGetHostname( cups_server, fqdn, sizeof( fqdn ) );
-#endif
-
- snprintf(prompt, sizeof(prompt), "Password for %s on %s? ", cupsUser(), fqdn );
-
- if ((password = cupsGetPassword(prompt)) == NULL)
- break;
- if (!password[0])
- break;
-
- strncpy(pwdstring, password, sizeof(pwdstring) - 1);
- pwdstring[sizeof(pwdstring) - 1] = '\0';
-
- digest_tries = 0;
- }
- else
- digest_tries ++;
-
- /*
- * Got a password; encode it for the server...
- */
-
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
-#else
- www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
-#endif
- if (strncmp(www_authenticate, "Basic", 5) == 0)
- {
- /*
- * Basic authentication...
- */
-
- snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), pwdstring);
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
- httpEncode64_2(encode, sizeof(encode), plain, sizeof(plain));
-#else
- httpEncode64(encode, plain);
-#endif
- snprintf(authstring, sizeof(authstring), "Basic %s", encode);
- }
- else
- {
- /*
- * Digest authentication...
- */
-
- httpGetSubField(cups_server, HTTP_FIELD_WWW_AUTHENTICATE, "realm", realm);
- httpGetSubField(cups_server, HTTP_FIELD_WWW_AUTHENTICATE, "nonce", nonce);
-
- httpMD5(cupsUser(), realm, pwdstring, encode);
- httpMD5Final(nonce, "GET", resource, encode);
- snprintf(authstring, sizeof(authstring),
- "Digest username=\"%s\", realm=\"%s\", nonce=\"%s\", "
- "response=\"%s\"", cupsUser(), realm, nonce, encode);
- }
-
- continue;
- }
-#ifdef HAVE_LIBSSL
- else if (status == HTTP_UPGRADE_REQUIRED)
- {
- /*
- * Flush any error message...
- */
-
- httpFlush(cups_server);
-
- /*
- * Upgrade with encryption...
- */
-
- httpEncryption(cups_server, HTTP_ENCRYPT_REQUIRED);
-
- /*
- * Try again, this time with encryption enabled...
- */
-
- continue;
- }
-#endif /* HAVE_LIBSSL */
- }
- while (status == HTTP_UNAUTHORIZED || status == HTTP_UPGRADE_REQUIRED);
-
- /*
- * See if we actually got the file or an error...
- */
-
- if (status != HTTP_OK)
- {
- close(fd);
- unlink(filename);
- httpFlush(cups_server);
- httpClose(cups_server);
- cups_server = NULL;
- return (NULL);
- }
-
- /*
- * OK, we need to copy the file...
- */
-
- while ((bytes =
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- httpRead
-#else
- httpRead2
-#endif
- (cups_server, buffer, sizeof(buffer))) > 0)
- {
- write(fd, buffer, bytes);
- }
-
- close(fd);
-
- return (filename);
-}
-
-int /* O - Status of operation */
-cupsPutConf(const char *name) /* I - Name of the config file to send */
-{
- int fd; /* PPD file */
- int bytes; /* Number of bytes read */
- char buffer[8192]; /* Buffer for file */
- char resource[HTTP_MAX_URI]; /* Resource name */
- const char *password; /* Password string */
- char realm[HTTP_MAX_VALUE], /* realm="xyz" string */
- nonce[HTTP_MAX_VALUE], /* nonce="xyz" string */
- plain[255], /* Plaintext username:password */
- encode[512]; /* Encoded username:password */
- http_status_t status; /* HTTP status from server */
- char prompt[1024]; /* Prompt string */
- int digest_tries; /* Number of tries with Digest */
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- const char *fqdn = 0;
-#else
- char fqdn[ HTTP_MAX_URI ]; /* Server name buffer */
-#endif
-
- if (name == NULL)
- return 0;
-
- /*
- * Connect to the correct server as needed...
- */
-
- if ((cups_server = httpConnectEncrypt(cupsServer(), ippPort(),
- cupsEncryption())) == NULL)
- {
- last_error = IPP_SERVICE_UNAVAILABLE;
- return 0;
- }
-
- /*
- * Open the local config file...
- */
-
- if ((fd = open(name, O_RDONLY)) < 0)
- {
- /*
- * Can't open file; close the server connection and return NULL...
- */
-
- httpFlush(cups_server);
- httpClose(cups_server);
- cups_server = NULL;
- return 0;
- }
-
- /*
- * And send a request to the HTTP server...
- */
-
- strncpy(resource, "/admin/conf/cupsd.conf", sizeof(resource));
-
- digest_tries = 0;
-
- do
- {
- httpClearFields(cups_server);
- httpSetField(cups_server, HTTP_FIELD_HOST, cupsServer());
- httpSetField(cups_server, HTTP_FIELD_AUTHORIZATION, authstring);
- httpSetField(cups_server, HTTP_FIELD_TRANSFER_ENCODING, "chunked");
-
- if (httpPut(cups_server, resource))
- {
- if (httpReconnect(cups_server))
- {
- status = HTTP_ERROR;
- break;
- }
- else
- {
- status = HTTP_UNAUTHORIZED;
- continue;
- }
- }
-
- /* send the file now */
- lseek(fd, 0, SEEK_SET);
- status = HTTP_CONTINUE;
- while ((bytes = read(fd, buffer, sizeof(buffer))) > 0)
- if (httpCheck(cups_server))
- {
- if ((status = httpUpdate(cups_server)) != HTTP_CONTINUE)
- break;
- }
- else
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- httpWrite
-#else
- httpWrite2
-#endif
- (cups_server, buffer, bytes);
-
- if (status == HTTP_CONTINUE)
- {
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- httpWrite
-#else
- httpWrite2
-#endif
- (cups_server, buffer, 0);
- while ((status = httpUpdate(cups_server)) == HTTP_CONTINUE);
- }
-
- if (status == HTTP_UNAUTHORIZED)
- {
- const char *www_authenticate;
- fprintf(stderr,"cupsPutConf: unauthorized...");
-
- /*
- * Flush any error message...
- */
-
- httpFlush(cups_server);
-
- /*
- * See if we can do local authentication...
- */
-
- if (cups_local_auth(cups_server))
- continue;
-
- /*
- * See if we should retry the current digest password...
- */
-
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
-#else
- www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
-#endif
- if (strncmp(www_authenticate, "Basic", 5) == 0 ||
- digest_tries > 1 || !pwdstring[0])
- {
- /*
- * Nope - get a password from the user...
- */
-
-
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- fqdn = cups_server->hostname;
-#else
- httpGetHostname( cups_server, fqdn, sizeof( fqdn ) );
-#endif
- snprintf(prompt, sizeof(prompt), "Password for %s on %s? ", cupsUser(), fqdn );
-
- if ((password = cupsGetPassword(prompt)) == NULL)
- break;
- if (!password[0])
- break;
-
- strncpy(pwdstring, password, sizeof(pwdstring) - 1);
- pwdstring[sizeof(pwdstring) - 1] = '\0';
-
- digest_tries = 0;
- }
- else
- digest_tries ++;
-
- /*
- * Got a password; encode it for the server...
- */
-
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
- www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
-#else
- www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
-#endif
- if (strncmp(www_authenticate, "Basic", 5) == 0)
- {
- /*
- * Basic authentication...
- */
-
- snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), pwdstring);
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
- httpEncode64_2(encode, sizeof(encode), plain, sizeof(plain));
-#else
- httpEncode64(encode, plain);
-#endif
- snprintf(authstring, sizeof(authstring), "Basic %s", encode);
- }
- else
- {
- /*
- * Digest authentication...
- */
-
- httpGetSubField(cups_server, HTTP_FIELD_WWW_AUTHENTICATE, "realm", realm);
- httpGetSubField(cups_server, HTTP_FIELD_WWW_AUTHENTICATE, "nonce", nonce);
-
- httpMD5(cupsUser(), realm, pwdstring, encode);
- httpMD5Final(nonce, "GET", resource, encode);
- snprintf(authstring, sizeof(authstring),
- "Digest username=\"%s\", realm=\"%s\", nonce=\"%s\", "
- "response=\"%s\"", cupsUser(), realm, nonce, encode);
- }
-
- continue;
- }
-#ifdef HAVE_LIBSSL
- else if (status == HTTP_UPGRADE_REQUIRED)
- {
- /*
- * Flush any error message...
- */
-
- httpFlush(cups_server);
-
- /*
- * Upgrade with encryption...
- */
-
- httpEncryption(cups_server, HTTP_ENCRYPT_REQUIRED);
-
- /*
- * Try again, this time with encryption enabled...
- */
-
- continue;
- }
-#endif /* HAVE_LIBSSL */
- }
- while (status == HTTP_UNAUTHORIZED || status == HTTP_UPGRADE_REQUIRED);
-
- /*
- * See if we actually got the file or an error...
- */
-
- if (status != HTTP_CREATED)
- {
- httpFlush(cups_server);
- httpClose(cups_server);
- cups_server = NULL;
- close(fd);
- return 0;
- }
-
- close(fd);
-
- return 1;
-}
-
-static int /* O - 1 if available, 0 if not */
-cups_local_auth(http_t *http) /* I - Connection */
-{
- int pid; /* Current process ID */
- FILE *fp; /* Certificate file */
- char filename[1024], /* Certificate filename */
- certificate[33];/* Certificate string */
- const char *root; /* Server root directory */
-
-
- /*
- * See if we are accessing localhost...
- the struct has changed in newer versions - PiggZ (adam@piggz.co.uk)
- */
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
- if (!httpAddrLocalhost(http))
-#else
- if (ntohl(*(int*)&http->hostaddr.sin_addr) != 0x7f000001 &&
- strcasecmp(http->hostname, "localhost") != 0)
-#endif
- return (0);
-
- /*
- * Try opening a certificate file for this PID. If that fails,
- * try the root certificate...
- */
-
- if ((root = getenv("CUPS_SERVERROOT")) == NULL)
- root = CUPS_SERVERROOT;
-
- pid = getpid();
- snprintf(filename, sizeof(filename), "%s/certs/%d", root, pid);
- if ((fp = fopen(filename, "r")) == NULL && pid > 0)
- {
- snprintf(filename, sizeof(filename), "%s/certs/0", root);
- fp = fopen(filename, "r");
- }
-
- if (fp == NULL)
- return (0);
-
- /*
- * Read the certificate from the file...
- */
-
- fgets(certificate, sizeof(certificate), fp);
- fclose(fp);
-
- /*
- * Set the authorization string and return...
- */
-
- snprintf(authstring, sizeof(authstring), "Local %s", certificate);
-
- return (1);
-}
-
diff --git a/kdeprint/cups/cupsdconf2/cups-util.h b/kdeprint/cups/cupsdconf2/cups-util.h
deleted file mode 100644
index 9c23c0c5e..000000000
--- a/kdeprint/cups/cupsdconf2/cups-util.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPS_UTIL_H
-#define CUPS_UTIL_H
-
-const char* cupsGetConf(void);
-int cupsPutConf(const char *filename);
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cups_logo.png b/kdeprint/cups/cupsdconf2/cups_logo.png
deleted file mode 100644
index e6f9b5919..000000000
--- a/kdeprint/cups/cupsdconf2/cups_logo.png
+++ /dev/null
Binary files differ
diff --git a/kdeprint/cups/cupsdconf2/cupsd.conf.template b/kdeprint/cups/cupsdconf2/cupsd.conf.template
deleted file mode 100644
index 08d4b9425..000000000
--- a/kdeprint/cups/cupsdconf2/cupsd.conf.template
+++ /dev/null
@@ -1,977 +0,0 @@
-%%header
-# CUPS configuration file, generated by CUPS configuration tool.
-# This tool is part of KDEPrint, the printing framework for KDE
-# since version 2.2.2 and is used by the CUPS supporting module
-# in KDEPrint. The predecessors to KDEPrint in former KDE releases
-# were KUPS and QtCUPS; they are deprecated and no longer maintained.
-#
-# Author: Michael Goffioul <tdeprint@swing.be>
-#
-# Web site: http://printing.kde.org/
-#
-########################################################################
-# #
-# This is the CUPS configuration file. If you are familiar with #
-# Apache or any of the other popular web servers, we've followed the #
-# same format. Any configuration variable used here has the same #
-# semantics as the corresponding variable in Apache. If we need #
-# different functionality then a different name is used to avoid #
-# confusion... #
-# #
-########################################################################
-@@
-
-%%servername
-# <b>Server name (ServerName)</b>
-# <p>
-# The hostname of your server, as advertised to the world.
-# By default CUPS will use the hostname of the system.</p>
-# <p>
-# To set the default server used by clients, see the client.conf file.</p>
-# <p>
-# <i>ex</i>: myhost.domain.com</p>
-$$
-#ServerName myhost.domain.com
-@@
-
-%%serveradmin
-# <b>Server administrator (ServerAdmin)</b>
-# <p>
-# The email address to send all complaints or problems to.
-# By default CUPS will use "root@hostname".</p>
-# <p>
-# <i>ex</i>: root@myhost.com</p>
-$$
-#ServerAdmin root@your.domain.com
-@@
-
-%%accesslog
-# <b>Access log (AccessLog)</b>
-# <p>
-# The access log file; if this does not start with a leading /
-# then it is assumed to be relative to ServerRoot. By default set to
-# "/var/log/cups/access_log".</p>
-# <p>
-# You can also use the special name <b>syslog</b> to send the output to the
-# syslog file or daemon.</p>
-# <p>
-# <i>ex</i>: /var/log/cups/access_log</p>
-$$
-#AccessLog /var/log/cups/access_log
-@@
-
-%%datadir
-# <b>Data directory (DataDir)</b>
-# <p>
-# The root directory for the CUPS data files.
-# By default /usr/share/cups.</p>
-# <p>
-# <i>ex</i>: /usr/share/cups</p>
-$$
-#DataDir /usr/share/cups
-@@
-
-%%defaultcharset
-# <b>Default character set (DefaultCharset)</b>
-# <p>
-# The default character set to use. If not specified,
-# defaults to utf-8. Note that this can also be overridden in
-# HTML documents...</p>
-# <p>
-# <i>ex</i>: utf-8</p>
-$$
-#DefaultCharset utf-8
-@@
-
-%%defaultlanguage
-# <b>Default language (DefaultLanguage)</b>
-# <p>
-# The default language if not specified by the browser.
-# If not specified, the current locale is used.</p>
-# <p>
-# <i>ex</i>: en</p>
-$$
-#DefaultLanguage en
-@@
-
-%%documentroot
-# <b>Document directory (DocumentRoot)</b>
-# <p>
-# The root directory for HTTP documents that are served.
-# By default the compiled-in directory.</p>
-# <p>
-# <i>ex</i>: /usr/share/cups/doc-root</p>
-$$
-#DocumentRoot /usr/share/cups/doc-root
-@@
-
-%%errorlog
-# <b>Error log (ErrorLog)</b>
-# <p>
-# The error log file; if this does not start with a leading /
-# then it is assumed to be relative to ServerRoot. By default set to
-# "/var/log/cups/error_log".</p>
-# <p>
-# You can also use the special name <b>syslog</b> to send the output to the
-# syslog file or daemon.</p>
-# <p>
-# <i>ex</i>: /var/log/cups/error_log</p>
-$$
-#ErrorLog /var/log/cups/error_log
-@@
-
-%%fontpath
-# <b>Font path (FontPath)</b>
-# <p>
-# The path to locate all font files (currently only for pstoraster).
-# By default /usr/share/cups/fonts.</p>
-# <p>
-# <i>ex</i>: /usr/share/cups/fonts</p>
-$$
-#FontPath /usr/share/cups/fonts
-@@
-
-%%loglevel
-# <b>Log level (LogLevel)</b>
-# <p>
-# Controls the number of messages logged to the ErrorLog
-# file and can be one of the following:</p>
-# <ul type=circle>
-# <li><i>debug2</i>: Log everything.</li>
-# <li><i>debug</i>: Log almost everything.</li>
-# <li><i>info</i>: Log all requests and state changes.</li>
-# <li><i>warn</i>: Log errors and warnings.</li>
-# <li><i>error</i>: Log only errors.</li>
-# <li><i>none</i>: Log nothing.</li>
-# </ul><p>
-# <i>ex</i>: info</p>
-$$
-#LogLevel info
-@@
-
-%%maxlogsize
-# <b>Max log size (MaxLogSize)</b>
-# <p>
-# Controls the maximum size of each log file before they are
-# rotated. Defaults to 1048576 (1MB). Set to 0 to disable log rotating.</p>
-# <p>
-# <i>ex</i>: 1048576</p>
-$$
-#MaxLogSize 0
-@@
-
-%%pagelog
-# <b>Page log (PageLog)</b>
-# <p>
-# The page log file; if this does not start with a leading /
-# then it is assumed to be relative to ServerRoot. By default set to
-# "/var/log/cups/page_log".</p>
-# <p>
-# You can also use the special name <b>syslog</b> to send the output to the
-# syslog file or daemon.</p>
-# <p>
-# <i>ex</i>: /var/log/cups/page_log</p>
-$$
-#PageLog /var/log/cups/page_log
-@@
-
-%%preservejobhistory
-# <b>Preserve job history (PreserveJobHistory)</b>
-# <p>
-# Whether or not to preserve the job history after a
-# job is completed, canceled, or stopped. Default is Yes.</p>
-# <p>
-# <i>ex</i>: Yes</p>
-$$
-#PreserveJobHistory Yes
-@@
-
-%%preservejobfiles
-# <b>Preserve job files (PreserveJobFiles)</b>
-# <p>
-# Whether or not to preserve the job files after a
-# job is completed, canceled, or stopped. Default is No.</p>
-# <p>
-# <i>ex</i>: No</p>
-$$
-#PreserveJobFiles No
-@@
-
-%%printcap
-# <b>Printcap file (Printcap)</b>
-# <p>
-# The name of the printcap file. Default is no filename.
-# Leave blank to disable printcap file generation.</p>
-# <p>
-# <i>ex</i>: /etc/printcap</p>
-$$
-#Printcap /etc/printcap
-@@
-
-%%requestroot
-# <b>Request directory (RequestRoot)</b>
-# <p>
-# The directory where request files are stored.
-# By default /var/spool/cups.</p>
-# <p>
-# <i>ex</i>: /var/spool/cups</p>
-$$
-#RequestRoot /var/spool/cups
-@@
-
-%%remoteroot
-# <b>Remote root user (RemoteRoot)</b>
-# <p>
-# The name of the user assigned to unauthenticated accesses
-# from remote systems. By default "remroot".</p>
-# <p>
-# <i>ex</i>: remroot</p>
-$$
-#RemoteRoot remroot
-@@
-
-%%serverbin
-# <b>Server binaries (ServerBin)</b>
-# <p>
-# The root directory for the scheduler executables.
-# By default /usr/lib/cups or /usr/lib32/cups (IRIX 6.5).</p>
-# <p>
-# <i>ex</i>: /usr/lib/cups</p>
-$$
-#ServerBin /usr/lib/cups
-@@
-
-%%serverroot
-# <b>Server files (ServerRoot)</b>
-# <p>
-# The root directory for the scheduler.
-# By default /etc/cups.</p>
-# <p>
-# <i>ex</i>: /etc/cups</p>
-$$
-#ServerRoot /etc/cups
-@@
-
-%%user
-# <b>User (User)</b>
-# <p>
-# The user the server runs under. Normally this
-# must be <b>lp</b>, however you can configure things for another user
-# as needed.</p>
-# <p>
-# Note: the server must be run initially as root to support the
-# default IPP port of 631. It changes users whenever an external
-# program is run...</p>
-# <p>
-# <i>ex</i>: lp</p>
-$$
-#User lp
-@@
-
-%%group
-# <b>Group (Group)</b>
-# <p>
-# The group the server runs under. Normally this
-# must be <b>lpadmin</b>, however you can configure things for another
-# group as needed.</p>
-# <p>
-# <i>ex</i>: lpadmin</p>
-$$
-#Group lpadmin
-@@
-
-%%ripcache
-# <b>RIP cache (RIPCache)</b>
-# <p>
-# The amount of memory that each RIP should use to cache
-# bitmaps. The value can be any real number followed by "k" for
-# kilobytes, "m" for megabytes, "g" for gigabytes, or "t" for tiles
-# (1 tile = 256x256 pixels). Defaults to "8m" (8 megabytes).</p>
-# <p>
-# <i>ex</i>: 8m</p>
-$$
-#RIPCache 8m
-@@
-
-%%tempdir
-# <b>Temporary files (TempDir)</b>
-# <p>
-# The directory to put temporary files in. This directory must be
-# writable by the user defined above! Defaults to "/var/spool/cups/tmp" or
-# the value of the TMPDIR environment variable.</p>
-# <p>
-# <i>ex</i>: /var/spool/cups/tmp</p>
-$$
-#TempDir /var/spool/cups/tmp
-@@
-
-%%filterlimit
-# <b>Filter limit (FilterLimit)</b>
-# <p>
-# Sets the maximum cost of all job filters that can be run
-# at the same time. A limit of 0 means no limit. A typical job may need
-# a filter limit of at least 200; limits less than the minimum required
-# by a job force a single job to be printed at any time.</p>
-# <p>
-# The default limit is 0 (unlimited).</p>
-# <p>
-# <i>ex</i>: 200</p>
-$$
-#FilterLimit 0
-@@
-
-%%listen
-# <b>Listen to (Port/Listen)</b>
-# <p>
-# Ports/addresses that are listened to. The default port 631 is reserved
-# for the Internet Printing Protocol (IPP) and is what is used here.</p>
-# <p>
-# You can have multiple Port/Listen lines to listen to more than one
-# port or address, or to restrict access.</p>
-# <p>
-# Note: Unfortunately, most web browsers don't support TLS or HTTP Upgrades
-# for encryption. If you want to support web-based encryption you will
-# probably need to listen on port 443 (the "HTTPS" port...).</p>
-# <p>
-# <i>ex</i>: 631, myhost:80, 1.2.3.4:631</p>
-$$
-# Port 80
-# Port 631
-# Listen hostname
-# Listen hostname:80
-# Listen hostname:631
-# Listen 1.2.3.4
-# Listen 1.2.3.4:631
-#
-#Port 631
-@@
-
-%%hostnamelookups
-# <b>Hostname lookups (HostNameLookups)</b>
-# <p>
-# Whether or not to do lookups on IP addresses to get a
-# fully-qualified hostname. This defaults to Off for performance reasons...</p>
-# <p>
-# <i>ex</i>: On</p>
-$$
-#HostNameLookups On
-@@
-
-%%keepalive
-# <b>Keep alive (KeepAlive)</b>
-# <p>
-# Whether or not to support the Keep-Alive connection
-# option. Default is on.</p>
-# <p>
-# <i>ex</i>: On</p>
-$$
-#KeepAlive On
-@@
-
-%%keepalivetimeout
-# <b>Keep-alive timeout (KeepAliveTimeout)</b>
-# <p>
-# The timeout (in seconds) before Keep-Alive connections are
-# automatically closed. Default is 60 seconds.</p>
-# <p>
-# <i>ex</i>: 60</p>
-$$
-#KeepAliveTimeout 60
-@@
-
-%%maxclients
-# <b>Max clients (MaxClients)</b>
-# <p>
-# Controls the maximum number of simultaneous clients that
-# will be handled. Defaults to 100.</p>
-# <p>
-# <i>ex</i>: 100</p>
-$$
-#MaxClients 100
-@@
-
-%%maxrequestsize
-# <b>Max request size (MaxRequestSize)</b>
-# <p>
-# Controls the maximum size of HTTP requests and print files.
-# Set to 0 to disable this feature (defaults to 0).</p>
-# <p>
-# <i>ex</i>: 0</p>
-$$
-#MaxRequestSize 0
-@@
-
-%%timeout
-# <b>Client timeout (Timeout)</b>
-# <p>
-# The timeout (in seconds) before requests time out. Default is 300 seconds.</p>
-# <p>
-# <i>ex</i>: 300</p>
-$$
-#Timeout 300
-@@
-
-%%browsing
-# <b>Use browsing (Browsing)</b>
-# <p>
-# Whether or not to <b>listen</b> to printer
-# information from other CUPS servers.
-# </p>
-# <p>
-# Enabled by default.
-# </p>
-# <p>
-# Note: to enable the <b>sending</b> of browsing
-# information from this CUPS server to the LAN,
-# specify a valid <i>BrowseAddress</i>.
-# </p>
-# <p>
-# <i>ex</i>: On</p>
-$$
-#Browsing On
-@@
-
-%%browseshortnames
-# <b>Use short names (BrowseShortNames)</b>
-# <p>
-# Whether or not to use "short" names for remote printers
-# when possible (e.g. "printer" instead of "printer@host"). Enabled by
-# default.</p>
-# <p>
-# <i>ex</i>: Yes</p>
-$$
-#BrowseShortNames Yes
-@@
-
-%%browseaddress
-# <b>Browse addresses (BrowseAddress)</b>
-# <p>
-# Specifies a broadcast address to be used. By
-# default browsing information is broadcast to all active interfaces.</p>
-# <p>
-# Note: HP-UX 10.20 and earlier do not properly handle broadcast unless
-# you have a Class A, B, C, or D netmask (i.e. no CIDR support).</p>
-# <p>
-# <i>ex</i>: x.y.z.255, x.y.255.255</p>
-$$
-#BrowseAddress x.y.z.255
-#BrowseAddress x.y.255.255
-#BrowseAddress x.255.255.255
-@@
-
-%%browseallow
-# <b>Browse allow/deny (BrowseAllow/BrowseDeny)</b>
-# <p>
-# <u>BrowseAllow</u>: specifies an address mask to allow for incoming browser
-# packets. The default is to allow packets from all addresses.</p>
-# <p>
-# <u>BrowseDeny</u>: specifies an address mask to deny for incoming browser
-# packets. The default is to deny packets from no addresses.</p>
-# <p>
-# Both "BrowseAllow" and "BrowseDeny" accept the following notations for
-# addresses:</p>
-# <pre>
-# All
-# None
-# *.domain.com
-# .domain.com
-# host.domain.com
-# nnn.*
-# nnn.nnn.*
-# nnn.nnn.nnn.*
-# nnn.nnn.nnn.nnn
-# nnn.nnn.nnn.nnn/mm
-# nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
-# </pre><p>
-# The hostname/domainname restrictions only work if you have turned hostname
-# lookups on!</p>
-$$
-#BrowseAllow address
-#BrowseDeny address
-@@
-
-%%browseinterval
-# <b>Browse interval (BrowseInterval)</b>
-# <p>
-# The time between browsing updates in seconds. Default
-# is 30 seconds.</p>
-# <p>
-# Note that browsing information is sent whenever a printer's state changes
-# as well, so this represents the maximum time between updates.</p>
-# <p>
-# Set this to 0 to disable outgoing broadcasts so your local printers are
-# not advertised but you can still see printers on other hosts.</p>
-# <p>
-# <i>ex</i>: 30</p>
-$$
-#BrowseInterval 30
-@@
-
-%%browseorder
-# <b>Browse order (BrowseOrder)</b>
-# <p>
-# Specifies the order of BrowseAllow/BrowseDeny comparisons.</p>
-# <p>
-# <i>ex</i>: allow,deny</p>
-$$
-#BrowseOrder allow,deny
-#BrowseOrder deny,allow
-@@
-
-%%browsepoll
-# <b>Browse poll (BrowsePoll)</b>
-# <p>
-# Poll the named server(s) for printers.</p>
-# <p>
-# <i>ex</i>: myhost:631</p>
-$$
-#BrowsePoll address:port
-@@
-
-%%browseport
-# <b>Browse port (BrowsePort)</b>
-# <p>
-# The port used for UDP broadcasts. By default this is
-# the IPP port; if you change this you need to do it on all servers.
-# Only one BrowsePort is recognized.</p>
-# <p>
-# <i>ex</i>: 631</p>
-$$
-#BrowsePort 631
-@@
-
-%%browserelay
-# <b>Browse relay (BrowseRelay)</b>
-# <p>
-# Relay browser packets from one address/network to another.</p>
-# <p>
-# <i>ex</i>: src-address dest-address</p>
-$$
-#BrowseRelay source-address destination-address
-@@
-
-%%browsetimeout
-# <b>Browse timeout (BrowseTimeout)</b>
-# <p>
-# The timeout (in seconds) for network printers - if we don't
-# get an update within this time the printer will be removed
-# from the printer list. This number definitely should not be
-# less the BrowseInterval value for obvious reasons. Defaults
-# to 300 seconds.</p>
-# <p>
-# <i>ex</i>: 300</p>
-$$
-#BrowseTimeout 300
-@@
-
-%%implicitclasses
-# <b>Implicit classes (ImplicitClasses)</b>
-# <p>
-# Whether or not to use implicit classes.</p>
-# <p>
-# Printer classes can be specified explicitly in the classes.conf
-# file, implicitly based upon the printers available on the LAN, or
-# both.</p>
-# <p>
-# When ImplicitClasses is On, printers on the LAN with the same name
-# (e.g. Acme-LaserPrint-1000) will be put into a class with the same
-# name. This allows you to setup multiple redundant queues on a LAN
-# without a lot of administrative difficulties. If a user sends a
-# job to Acme-LaserPrint-1000, the job will go to the first available
-# queue.</p>
-# <p>
-# Enabled by default.</p>
-$$
-#ImplicitClasses Off
-@@
-
-%%systemgroup
-# <b>System group (SystemGroup)</b>
-# <p>
-# The group name for "System" (printer administration)
-# access. The default varies depending on the operating system, but
-# will be <b>sys</b>, <b>system</b>, or <b>root</b> (checked for in that order).</p>
-# <p>
-# <i>ex</i>: lpadmin</p>
-$$
-#SystemGroup lpadmin
-@@
-
-%%servercertificate
-# <b>Encryption certificate (ServerCertificate)</b>
-# <p>
-# The file to read containing the server's certificate.
-# Defaults to "/etc/cups/ssl/server.crt".</p>
-# <p>
-# <i>ex</i>: /etc/cups/ssl/server.crt</p>
-$$
-#ServerCertificate /etc/cups/ssl/server.crt
-@@
-
-%%serverkey
-# <b>Encryption key (ServerKey)</b>
-# <p>
-# The file to read containing the server's key.
-# Defaults to "/etc/cups/ssl/server.key".</p>
-# <p>
-# <i>ex</i>: /etc/cups/ssl/server.key</p>
-$$
-#ServerKey /etc/cups/ssl/server.key
-@@
-
-%%locations
-# Access permissions
-#
-# Access permissions for each directory served by the scheduler.
-# Locations are relative to DocumentRoot...
-#
-# AuthType: the authorization to use:
-#
-# None - Perform no authentication
-# Basic - Perform authentication using the HTTP Basic method.
-# Digest - Perform authentication using the HTTP Digest method.
-#
-# (Note: local certificate authentication can be substituted by
-# the client for Basic or Digest when connecting to the
-# localhost interface)
-#
-# AuthClass: the authorization class; currently only Anonymous, User,
-# System (valid user belonging to group SystemGroup), and Group
-# (valid user belonging to the specified group) are supported.
-#
-# AuthGroupName: the group name for "Group" authorization.
-#
-# Order: the order of Allow/Deny processing.
-#
-# Allow: allows access from the specified hostname, domain, IP address, or
-# network.
-#
-# Deny: denies access from the specified hostname, domain, IP address, or
-# network.
-#
-# Both "Allow" and "Deny" accept the following notations for addresses:
-#
-# All
-# None
-# *.domain.com
-# .domain.com
-# host.domain.com
-# nnn.*
-# nnn.nnn.*
-# nnn.nnn.nnn.*
-# nnn.nnn.nnn.nnn
-# nnn.nnn.nnn.nnn/mm
-# nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
-#
-# The host and domain address require that you enable hostname lookups
-# with "HostNameLookups On" above.
-#
-# Encryption: whether or not to use encryption; this depends on having
-# the OpenSSL library linked into the CUPS library and scheduler.
-#
-# Possible values:
-#
-# Always - Always use encryption (SSL)
-# Never - Never use encryption
-# Required - Use TLS encryption upgrade
-# IfRequested - Use encryption if the server requests it
-#
-# The default value is "IfRequested".
-$$
-#<Location [resource_name]>
-#
-# You may wish to limit access to printers and classes, either with Allow
-# and Deny lines, or by requiring a username and password.
-#
-#
-## Anonymous access (default)
-#AuthType None
-#
-## Require a username and password (Basic authentication)
-#AuthType Basic
-#AuthClass User
-#
-## Require a username and password (Digest/MD5 authentication)
-#AuthType Digest
-#AuthClass User
-#
-## Restrict access to local domain
-#Order Deny,Allow
-#Deny From All
-#Allow From .mydomain.com
-#
-## Use encryption if requested
-#Encryption IfRequested
-#</Location>
-@@
-
-%%authtype
-# <b>Authentication (AuthType)</b>
-# <p>
-# The authorization to use:<p>
-# <ul type=circle>
-# <li><i>None</i> - Perform no authentication.</li>
-# <li><i>Basic</i> - Perform authentication using the HTTP Basic method.</li>
-# <li><i>Digest</i> - Perform authentication using the HTTP Digest method.</li>
-# </ul><p>
-# Note: local certificate authentication can be substituted by
-# the client for <i>Basic</i> or <i>Digest</i> when connecting to the
-# localhost interface.</p>
-@@
-
-%%authclass
-# <b>Class (AuthClass)</b>
-# <p>
-# The authorization class; currently only <i>Anonymous</i>, <i>User</i>,
-# <i>System</i> (valid user belonging to group SystemGroup), and <i>Group</i>
-# (valid user belonging to the specified group) are supported.</p>
-@@
-
-%%authname
-# <p>The user/group names allowed to access the resource. The format is a
-# comma separated list.</p>
-@@
-
-%%satisfy
-# <b>Satisfy (Satisfy)</b>
-# <p>
-# This directive controls whether all specified conditions must
-# be satisfied to allow access to the resource. If set to "all",
-# then all authentication and access control conditions must be
-# satisfied to allow access.
-# </p>
-# <p>
-# Setting Satisfy to "any" allows a user to gain access if the
-# authentication <i>or</i> access control requirements are satisfied.
-# For example, you might require authentication for remote access,
-# but allow local access without authentication.
-# </p>
-# <p>
-# The default is "all".
-# </p>
-@@
-
-%%authgroupname
-# <b>Authentication group name (AuthGroupName)</b>
-# <p>
-# The group name for <i>Group</i> authorization.</p>
-@@
-
-%%order
-# <b>ACL order (Order)</b>
-# <p>
-# The order of Allow/Deny processing.</p>
-@@
-
-%%allow
-# <b>Allow</b>
-# <p>
-# Allows access from the specified hostname, domain, IP address, or
-# network. Possible values are:</p>
-# <pre>
-# All
-# None
-# *.domain.com
-# .domain.com
-# host.domain.com
-# nnn.*
-# nnn.nnn.*
-# nnn.nnn.nnn.*
-# nnn.nnn.nnn.nnn
-# nnn.nnn.nnn.nnn/mm
-# nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
-# </pre><p>
-# The host and domain address require that you enable hostname lookups
-# with "HostNameLookups On" above.</p>
-@@
-
-%%allowdeny
-# <b>ACL addresses (Allow/Deny)</b>
-# <p>
-# Allows/Denies access from the specified hostname, domain, IP address, or
-# network. Possible values are:</p>
-# <pre>
-# All
-# None
-# *.domain.com
-# .domain.com
-# host.domain.com
-# nnn.*
-# nnn.nnn.*
-# nnn.nnn.nnn.*
-# nnn.nnn.nnn.nnn
-# nnn.nnn.nnn.nnn/mm
-# nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
-# </pre><p>
-# The host and domain address require that you enable hostname lookups
-# with "HostNameLookups On" above.</p>
-@@
-
-%%encryption
-# <b>Encryption (Encryption)</b>
-# <p>
-# Whether or not to use encryption; this depends on having
-# the OpenSSL library linked into the CUPS library and scheduler.</p>
-# <p>
-# Possible values:</p>
-# <ul type=circle>
-# <li><i>Always</i> - Always use encryption (SSL)</li>
-# <li><i>Never</i> - Never use encryption</li>
-# <li><i>Required</i> - Use TLS encryption upgrade</li>
-# <li><i>IfRequested</i> - Use encryption if the server requests it</li>
-# </ul><p>
-# The default value is "IfRequested".</p>
-@@
-
-%%locationsshort
-# <b>Access permissions</b>
-# <p>
-# Access permissions for each directory served by the scheduler.
-# Locations are relative to DocumentRoot...</p>
-@@
-
-%%autopurgejobs
-# <b>Auto purge jobs (AutoPurgeJobs)</b>
-# <p>
-# Automatically purge jobs when not needed for quotas.
-# Default is No.</p>
-$$
-#AutoPurgeJobs No
-@@
-
-%%browseprotocols
-# <b>Browse protocols (BrowseProtocols)</b>
-# <p>
-# Which protocols to use for browsing. Can be
-# any of the following separated by whitespace and/or commas:</p>
-# <ul type=circle>
-# <li><i>all</i> - Use all supported protocols.</li>
-# <li><i>cups</i> - Use the CUPS browse protocol.</li>
-# <li><i>slp</i> - Use the SLPv2 protocol.</li>
-# </ul><p>
-# The default is <b>cups</b>.</p>
-# <p>
-# Note: If you choose to use SLPv2, it is <b>strongly</b> recommended that
-# you have at least one SLP Directory Agent (DA) on your
-# network. Otherwise, browse updates can take several seconds,
-# during which the scheduler will not response to client
-# requests.</p>
-$$
-#BrowseProtocols cups
-@@
-
-%%classification
-# <b>Classification (Classification)</b>
-# <p>
-# The classification level of the server. If set, this
-# classification is displayed on all pages, and raw printing is disabled.
-# The default is the empty string.</p>
-# <p>
-# <i>ex</i>: confidential
-$$
-#Classification classified
-@@
-
-%%classifyoverride
-# <b>Allow overrides (ClassifyOverride)</b>
-# <p>
-# Whether to allow users to override the classification
-# on printouts. If enabled, users can limit banner pages to before or
-# after the job, and can change the classification of a job, but cannot
-# completely eliminate the classification or banners.</p>
-# <p>
-# The default is off.</p>
-$$
-#ClassifyOverride off
-@@
-
-%%hideimplicitmembers
-# <b>Hide implicit members (HideImplicitMembers)</b>
-# <p>
-# Whether or not to show the members of an
-# implicit class.</p>
-# <p>
-# When HideImplicitMembers is On, any remote printers that are
-# part of an implicit class are hidden from the user, who will
-# then only see a single queue even though many queues will be
-# supporting the implicit class.</p>
-# <p>
-# Enabled by default.</p>
-$$
-#HideImplicitMembers On
-@@
-
-%%implicitanyclasses
-# <b>Use &quot;any&quot; classes (ImplicitAnyClasses)</b>
-# <p>
-# Whether or not to create <b>AnyPrinter</b> implicit
-# classes.</p>
-# <p>
-# When ImplicitAnyClasses is On and a local queue of the same name
-# exists, e.g. "printer", "printer@server1", "printer@server1", then
-# an implicit class called "Anyprinter" is created instead.</p>
-# <p>
-# When ImplicitAnyClasses is Off, implicit classes are not created
-# when there is a local queue of the same name.</p>
-# <p>
-# Disabled by default.</p>
-$$
-#ImplicitAnyCLasses Off
-@@
-
-%%maxjobs
-# <b>Max jobs (MaxJobs)</b>
-# <p>
-# Maximum number of jobs to keep in memory (active and completed).
-# Default is 0 (no limit).</p>
-$$
-#MaxJobs 0
-@@
-
-%%maxjobsperuser
-# <b>Max jobs per user (MaxJobsPerUser)</b>
-# <p>
-# The MaxJobsPerUser directive controls the maximum number of <i>active</i>
-# jobs that are allowed for each user. Once a user reaches the limit, new
-# jobs will be rejected until one of the active jobs is completed, stopped,
-# aborted, or canceled.</p>
-# <p>
-# Setting the maximum to 0 disables this functionality.
-# Default is 0 (no limit).
-# </p>
-$$
-#MaxJobsPerUser 0
-@@
-
-%%maxjobsperprinter
-# <b>Max jobs per printer (MaxJobsPerPrinter)</b>
-# <p>
-# The MaxJobsPerPrinter directive controls the maximum number of <i>active</i>
-# jobs that are allowed for each printer or class. Once a printer or class
-# reaches the limit, new jobs will be rejected until one of the active jobs
-# is completed, stopped, aborted, or canceled.</p>
-# <p>
-# Setting the maximum to 0 disables this functionality.
-# Default is 0 (no limit).
-# </p>
-$$
-#MaxJobsPerPrinter 0
-@@
-
-%%port
-# <b>Port</b>
-# <p>
-# The port value that the CUPS daemon is listening to. Default is 631.</p>
-@@
-
-%%address
-# <b>Address</b>
-# <p>
-# The address that the CUPS daemon is listening at. Leave it empty or use
-# an asterisk (*) to specify a port value on the entire subnetwork.</p>
-@@
-
-%%usessl
-# <p>Check this box if you want to use SSL encryption with this address/port.
-# </p>
-@@
diff --git a/kdeprint/cups/cupsdconf2/cupsdbrowsingpage.cpp b/kdeprint/cups/cupsdconf2/cupsdbrowsingpage.cpp
deleted file mode 100644
index 4b056cdb0..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdbrowsingpage.cpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdbrowsingpage.h"
-#include "cupsdconf.h"
-#include "editlist.h"
-#include "browsedialog.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqcheckbox.h>
-#include <tqcombobox.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-#include <knuminput.h>
-
-CupsdBrowsingPage::CupsdBrowsingPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Browsing"));
- setHeader(i18n("Browsing Settings"));
- setPixmap("tdeprint_printer_remote");
-
- browseinterval_ = new KIntNumInput(this);
- browseport_ = new KIntNumInput(this);
- browsetimeout_ = new KIntNumInput(this);
- browsing_ = new TQCheckBox(i18n("Use browsing"), this);
- cups_ = new TQCheckBox("CUPS", this);
- slp_ = new TQCheckBox("SLP", this);
- browseaddresses_ = new EditList(this);
- browseorder_ = new TQComboBox(this);
- useimplicitclasses_ = new TQCheckBox(i18n("Implicit classes"), this);
- hideimplicitmembers_ = new TQCheckBox(i18n("Hide implicit members"), this);
- useshortnames_ = new TQCheckBox(i18n("Use short names"), this);
- useanyclasses_ = new TQCheckBox(i18n("Use \"any\" classes"), this);
-
- browseorder_->insertItem(i18n("Allow, Deny"));
- browseorder_->insertItem(i18n("Deny, Allow"));
-
- browseport_->setRange(0, 9999, 1, true);
- browseport_->setSteps(1, 5);
- browseinterval_->setRange(0, 10000, 1, true);
- browseinterval_->setSteps(1, 10);
- browseinterval_->setSuffix(i18n(" sec"));
- browsetimeout_->setRange(0, 10000, 1, true);
- browsetimeout_->setSteps(1, 10);
- browsetimeout_->setSuffix(i18n(" sec"));
-
- TQLabel *l1 = new TQLabel(i18n("Browse port:"), this);
- TQLabel *l2 = new TQLabel(i18n("Browse interval:"), this);
- TQLabel *l3 = new TQLabel(i18n("Browse timeout:"), this);
- TQLabel *l4 = new TQLabel(i18n("Browse addresses:"), this);
- TQLabel *l5 = new TQLabel(i18n("Browse order:"), this);
- TQLabel *l6 = new TQLabel(i18n("Browse options:"), this);
-
- TQGridLayout *m1 = new TQGridLayout(this, 8, 2, 10, 7);
- m1->setRowStretch(7, 1);
- m1->setColStretch(1, 1);
- TQHBoxLayout *m2 = new TQHBoxLayout(0, 0, 10);
- m1->addMultiCellLayout(m2, 0, 0, 0, 1);
- m2->addWidget(browsing_);
- m2->addWidget(cups_);
- m2->addWidget(slp_);
- m2->addStretch(1);
- m1->addWidget(l1, 1, 0, Qt::AlignRight);
- m1->addWidget(l2, 2, 0, Qt::AlignRight);
- m1->addWidget(l3, 3, 0, Qt::AlignRight);
- m1->addWidget(l4, 4, 0, Qt::AlignRight|Qt::AlignTop);
- m1->addWidget(l5, 5, 0, Qt::AlignRight);
- m1->addWidget(l6, 6, 0, Qt::AlignRight|Qt::AlignTop);
- m1->addWidget(browseport_, 1, 1);
- m1->addWidget(browseinterval_, 2, 1);
- m1->addWidget(browsetimeout_, 3, 1);
- m1->addWidget(browseaddresses_, 4, 1);
- m1->addWidget(browseorder_, 5, 1);
- TQGridLayout *m3 = new TQGridLayout(0, 2, 2, 0, 5);
- m1->addLayout(m3, 6, 1);
- m3->addWidget(useimplicitclasses_, 0, 0);
- m3->addWidget(useanyclasses_, 0, 1);
- m3->addWidget(hideimplicitmembers_, 1, 0);
- m3->addWidget(useshortnames_, 1, 1);
-
- connect(browsing_, TQT_SIGNAL(toggled(bool)), cups_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), slp_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), browseport_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), browseinterval_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), browsetimeout_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), browseaddresses_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), browseorder_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), useimplicitclasses_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), useanyclasses_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), hideimplicitmembers_, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), useshortnames_, TQT_SLOT(setEnabled(bool)));
-
- connect(browsing_, TQT_SIGNAL(toggled(bool)), l1, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), l2, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), l3, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), l4, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), l5, TQT_SLOT(setEnabled(bool)));
- connect(browsing_, TQT_SIGNAL(toggled(bool)), l6, TQT_SLOT(setEnabled(bool)));
-
- connect(browseaddresses_, TQT_SIGNAL(add()), TQT_SLOT(slotAdd()));
- connect(browseaddresses_, TQT_SIGNAL(edit(int)), TQT_SLOT(slotEdit(int)));
- connect(browseaddresses_, TQT_SIGNAL(defaultList()), TQT_SLOT(slotDefaultList()));
- connect(browseinterval_, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(intervalChanged(int)));
- browsing_->setChecked(true);
-}
-
-bool CupsdBrowsingPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- browsing_->setChecked(conf_->browsing_);
- cups_->setChecked(conf_->browseprotocols_.findIndex("CUPS") != -1);
- slp_->setChecked(conf_->browseprotocols_.findIndex("SLP") != -1);
- browseport_->setValue(conf_->browseport_);
- browseinterval_->setValue(conf_->browseinterval_);
- browsetimeout_->setValue(conf_->browsetimeout_);
- browseaddresses_->insertItems(conf_->browseaddresses_);
- browseorder_->setCurrentItem(conf_->browseorder_);
- useimplicitclasses_->setChecked(conf_->useimplicitclasses_);
- useanyclasses_->setChecked(conf_->useanyclasses_);
- hideimplicitmembers_->setChecked(conf_->hideimplicitmembers_);
- useshortnames_->setChecked(conf_->useshortnames_);
-
- return true;
-}
-
-bool CupsdBrowsingPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->browsing_ = browsing_->isChecked();
- TQStringList l;
- if (cups_->isChecked()) l << "CUPS";
- if (slp_->isChecked()) l << "SLP";
- conf->browseprotocols_ = l;
- conf->browseport_ = browseport_->value();
- conf->browseinterval_ = browseinterval_->value();
- conf->browsetimeout_ = browsetimeout_->value();
- conf->browseaddresses_ = browseaddresses_->items();
- conf->browseorder_ = browseorder_->currentItem();
- conf->useimplicitclasses_ = useimplicitclasses_->isChecked();
- conf->useanyclasses_ = useanyclasses_->isChecked();
- conf->hideimplicitmembers_ = hideimplicitmembers_->isChecked();
- conf->useshortnames_ = useshortnames_->isChecked();
-
- return true;
-}
-
-void CupsdBrowsingPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(browsing_, conf->comments_.toolTip("browsing"));
- TQWhatsThis::add(cups_, conf->comments_.toolTip("browseprotocols"));
- TQWhatsThis::add(slp_, conf->comments_.toolTip("browseprotocols"));
- TQWhatsThis::add(browseinterval_, conf->comments_.toolTip("browseinterval"));
- TQWhatsThis::add(browseport_, conf->comments_.toolTip("browseport"));
- TQWhatsThis::add(browsetimeout_, conf->comments_.toolTip("browsetimeout"));
- TQWhatsThis::add(browseaddresses_, conf->comments_.toolTip("browseaddresses"));
- TQWhatsThis::add(browseorder_, conf->comments_.toolTip("browseorder"));
- TQWhatsThis::add(useimplicitclasses_, conf->comments_.toolTip("implicitclasses"));
- TQWhatsThis::add(useanyclasses_, conf->comments_.toolTip("implicitanyclasses"));
- TQWhatsThis::add(hideimplicitmembers_, conf->comments_.toolTip("hideimplicitmembers"));
- TQWhatsThis::add(useshortnames_, conf->comments_.toolTip("browseshortnames"));
-}
-
-void CupsdBrowsingPage::slotAdd()
-{
- TQString s = BrowseDialog::newAddress(this, conf_);
- if (!s.isEmpty())
- browseaddresses_->insertItem(s);
-}
-
-void CupsdBrowsingPage::slotEdit(int index)
-{
- TQString s = browseaddresses_->text(index);
- s = BrowseDialog::editAddress(s, this, conf_);
- if (!s.isEmpty())
- browseaddresses_->setText(index, s);
-}
-
-void CupsdBrowsingPage::slotDefaultList()
-{
- browseaddresses_->clear();
- TQStringList l;
- l << "Send 255.255.255.255";
- browseaddresses_->insertItems(l);
-}
-
-void CupsdBrowsingPage::intervalChanged(int val)
-{
- browsetimeout_->setRange(val, 10000, 1, true);
- browsetimeout_->setSteps(1, 10);
-}
-
-#include "cupsdbrowsingpage.moc"
diff --git a/kdeprint/cups/cupsdconf2/cupsdbrowsingpage.h b/kdeprint/cups/cupsdconf2/cupsdbrowsingpage.h
deleted file mode 100644
index bdbff1844..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdbrowsingpage.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDBROWSINGPAGE_H
-#define CUPSDBROWSINGPAGE_H
-
-#include "cupsdpage.h"
-
-class KIntNumInput;
-class TQCheckBox;
-class EditList;
-class TQComboBox;
-
-class CupsdBrowsingPage : public CupsdPage
-{
- Q_OBJECT
-
-public:
- CupsdBrowsingPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-protected slots:
- void slotAdd();
- void slotEdit(int);
- void slotDefaultList();
- void intervalChanged(int);
-
-private:
- KIntNumInput *browseport_, *browseinterval_, *browsetimeout_;
- EditList *browseaddresses_;
- TQComboBox *browseorder_;
- TQCheckBox *browsing_, *cups_, *slp_;
- TQCheckBox *useimplicitclasses_, *hideimplicitmembers_, *useshortnames_, *useanyclasses_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdcomment.cpp b/kdeprint/cups/cupsdconf2/cupsdcomment.cpp
deleted file mode 100644
index d17c8bd0c..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdcomment.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdcomment.h"
-
-#include <tqfile.h>
-#include <tqregexp.h>
-#include <klocale.h>
-#include <kstandarddirs.h>
-
-TQString Comment::comment()
-{
- TQString str = comment_;
- str.replace(TQRegExp("<[^>]*>"), "");
- str += ("#\n" + example_);
- return str;
-}
-
-TQString Comment::toolTip()
-{
- TQString str = comment_;
- str.replace(TQRegExp("^#[\\s]*"), "").replace(TQRegExp("\n#[\\s]*"), "\n");
- return i18n("Do not translate the keyword between brackets (e.g. ServerName, ServerAdmin, etc.)", str.utf8());
-}
-
-TQString Comment::key()
-{
- return key_;
-}
-
-bool Comment::load(TQFile *f)
-{
- comment_ = "";
- example_ = "";
- key_ = "";
- TQString line, *current = &comment_;
- while (!f->atEnd())
- {
- f->readLine(line, 1024);
- if (line.left(2) == "$$")
- {
- current = &example_;
- }
- else if (line.left(2) == "%%")
- {
- key_ = line.mid(2).stripWhiteSpace();
- }
- else if (line.left(2) == "@@")
- {
- return true;
- }
- else if (line.stripWhiteSpace().isEmpty())
- {
- ; // do nothing
- }
- else
- {
- if (line[0] != '#') break;
- else
- {
- current->append(line);
- }
- }
- }
- return false;
-}
-
-//------------------------------------------------------------------------------------------------------------
-
-TQString CupsdComment::operator[] (const TQString& key)
-{
- return comment(key);
-}
-
-TQString CupsdComment::comment(const TQString& key)
-{
- if (comments_.count() != 0 || loadComments())
- {
- Comment *comm = comments_.find(key);
- if (comm)
- return comm->comment();
- }
- return TQString::null;
-}
-
-TQString CupsdComment::toolTip(const TQString& key)
-{
- if (comments_.count() != 0 || loadComments())
- {
- Comment *comm = comments_.find(key);
- if (comm)
- return comm->toolTip();
- }
- return TQString::null;
-}
-
-bool CupsdComment::loadComments()
-{
- comments_.setAutoDelete(true);
- comments_.clear();
- TQFile f(locate("data", "tdeprint/cupsd.conf.template"));
- if (f.exists() && f.open(IO_ReadOnly))
- {
- Comment *comm;
- while (!f.atEnd())
- {
- comm = new Comment();
- if (!comm->load(&f))
- break;
- else
- {
- if (comm->key().isEmpty())
- delete comm;
- else
- comments_.insert(comm->key(), comm);
- }
- }
- }
- return true;
-}
diff --git a/kdeprint/cups/cupsdconf2/cupsdcomment.h b/kdeprint/cups/cupsdconf2/cupsdcomment.h
deleted file mode 100644
index 35f9e0515..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdcomment.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDCOMMENT_H
-#define CUPSDCOMMENT_H
-
-#include <tqstringlist.h>
-#include <tqdict.h>
-
-class TQFile;
-
-class Comment
-{
-public:
- bool load(TQFile* f);
- TQString toolTip();
- TQString comment();
- TQString key();
-private:
- TQString comment_;
- TQString example_;
- TQString key_;
-};
-
-class CupsdComment
-{
-public:
- TQString operator[] (const TQString& key);
- TQString comment(const TQString& key);
- TQString toolTip(const TQString& key);
-
-private:
- bool loadComments();
-
-private:
- TQDict<Comment> comments_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdcomment.pl b/kdeprint/cups/cupsdconf2/cupsdcomment.pl
deleted file mode 100644
index b3da5ee7e..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdcomment.pl
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Filter to extract comments for translation from cupsd.conf.template
-#
-# This code should produce strings identical to tooltips in cupsdcomment.cpp
-#
-my ($comment_, $example_);
-$example_ = "";
-
-load(); # Skip header
-
-while ( <STDIN> )
-{
- if(load())
- {
- print toolTip();
- }
-}
-
-# Corresponds to Comment::load in cupsdcomment.cpp
-sub load
-{
- $comment_ = "";
- my($current) = \$comment_;
- while ( <STDIN> )
- {
- if (/^\$\$/)
- {
- $current = \$example_;
- }
- elsif (/^\%\%/)
- {
- next; # Do nothing
- }
- elsif (/^\@\@/)
- {
- return 1;
- }
- elsif (/^[\s]*$/)
- {
- next; # Do nothing
- }
- else
- {
- last if (!/^\#/);
- ${$current} = ${$current} . $_;
- }
- }
- return 0;
-}
-
-# Corresponds to Comment::toolTip in cupsdcomment.cpp
-sub toolTip
-{
- my($str) = $comment_;
- $str =~ s/\"/\\\"/g;
- $str =~ s/^\#[\s]*/i18n\(\"Do not translate the keyword between brackets \(e\.g\. ServerName, ServerAdmin, etc\.\)\",\"/;
- $str =~ s/\n\#[\s]*/\\n\"\n\"/g;
- $str =~ s/\n$/\\n\"\n\)\;\n\n/;
- return $str;
-}
diff --git a/kdeprint/cups/cupsdconf2/cupsdconf.cpp b/kdeprint/cups/cupsdconf2/cupsdconf.cpp
deleted file mode 100644
index 0cd041d48..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdconf.cpp
+++ /dev/null
@@ -1,884 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 <config.h>
-#include "cupsdconf.h"
-
-#include <tqfile.h>
-#include <tqregexp.h>
-#include <klocale.h>
-#include <kdebug.h>
-#include <kconfig.h>
-
-#include <stdlib.h>
-#include <cups/cups.h>
-#include <cups/ipp.h>
-#include <cups/language.h>
-
-TQString findDir(const TQStringList& list)
-{
- for (TQStringList::ConstIterator it=list.begin(); it!=list.end(); ++it)
- if (TQFile::exists(*it))
- return *it;
- // if nothing found, just use the first as default value
- return list[0];
-}
-
-void splitSizeSpec(const TQString& s, int& sz, int& suff)
-{
- int p = s.find(TQRegExp("\\D"));
- sz = s.mid(0, p).toInt();
- if (p != -1)
- {
- switch (s[p].latin1())
- {
- case 'k': suff = UNIT_KB; break;
- default:
- case 'm': suff = UNIT_MB; break;
- case 'g': suff = UNIT_GB; break;
- case 't': suff = UNIT_TILE; break;
- }
- }
- else
- suff = UNIT_MB;
-}
-
-CupsdConf::CupsdConf()
-{
- // start by trying to find CUPS directories (useful later)
- datadir_ = findDir(TQStringList("/usr/share/cups")
- << "/usr/local/share/cups"
- << "/opt/share/cups"
- << "/opt/local/share/cups");
- documentdir_ = findDir(TQStringList(datadir_+"/doc-root")
- << datadir_.left(datadir_.length()-5)+"/doc/cups");
- //fontpath_ << (datadir_+"/fonts");
- requestdir_ = findDir(TQStringList("/var/spool/cups")
- << "/var/cups");
- serverbin_ = findDir(TQStringList("/usr/lib" KDELIBSUFF "/cups")
- << "/usr/local/lib" KDELIBSUFF "/cups"
- << "/opt/lib" KDELIBSUFF "/cups"
- << "/opt/local/lib" KDELIBSUFF "/cups");
- serverfiles_ = findDir(TQStringList("/etc/cups")
- << "/usr/local/etc/cups");
- tmpfiles_ = requestdir_+"/tmp";
-
- // other options
- servername_ = TQString::null;
- serveradmin_ = TQString::null;
- classification_ = CLASS_NONE;
- otherclassname_ = TQString::null;
- classoverride_ = false;
- charset_ = "utf-8";
- language_ = "en";
- printcap_ = "/etc/printcap";
- printcapformat_ = PRINTCAP_BSD;
- remoteroot_ = "remroot";
- systemgroup_ = "lpadmin";
- encryptcert_ = serverfiles_+"/ssl/server.crt";
- encryptkey_ = serverfiles_+"/ssl/server.key";
- hostnamelookup_ = HOSTNAME_OFF;
- keepalive_ = true;
- keepalivetimeout_ = 60;
- maxclients_ = 100;
- maxrequestsize_ = "0";
- clienttimeout_ = 300;
- // listenaddresses_
- TQString logdir = findDir(TQStringList("/var/log/cups")
- << "/var/spool/cups/log"
- << "/var/cups/log");
- accesslog_ = logdir+"/access_log";
- errorlog_ = logdir+"/error_log";
- pagelog_ = logdir+"/page_log";
- maxlogsize_ = "1m";
- loglevel_ = LOGLEVEL_INFO;
- keepjobhistory_ = true;
- keepjobfiles_ = false;
- autopurgejobs_ = false;
- maxjobs_ = 0;
- maxjobsperprinter_ = 0;
- maxjobsperuser_ = 0;
- user_ = "lp";
- group_ = "lpadmin";
- ripcache_ = "8m";
- filterlimit_ = 0;
- browsing_ = true;
- browseprotocols_ << "CUPS";
- browseport_ = ippPort();
- browseinterval_ = 30;
- browsetimeout_ = 300;
- // browseaddresses_
- browseorder_ = ORDER_ALLOW_DENY;
- useimplicitclasses_ = true;
- hideimplicitmembers_ = true;
- useshortnames_ = true;
- useanyclasses_ = false;
-
- loadAvailableResources();
-}
-
-CupsdConf::~CupsdConf()
-{
-}
-
-bool CupsdConf::loadFromFile(const TQString& filename)
-{
- TQFile f(filename);
- if (!f.exists() || !f.open(IO_ReadOnly)) return false;
- else
- {
- TQTextStream t(&f);
- TQString line;
- bool done(false), value(true);
- while (!done && value)
- {
- line = t.readLine().simplifyWhiteSpace();
- if (line.isEmpty())
- {
- if (t.atEnd()) done = true;
- else continue;
- }
- else if (line[0] == '#') continue;
- else if (line.left(9).lower() == "<location")
- {
- CupsLocation *location = new CupsLocation();
- locations_.append(location);
- if (!location->parseResource(line) || !parseLocation(location, t))
- value = false;
- // search corresponding resource
- for (resources_.first();resources_.current();resources_.next())
- if (resources_.current()->path_ == location->resourcename_)
- location->resource_ = resources_.current();
- }
- else value = parseOption(line);
- }
- f.close();
- return value;
- }
-}
-
-bool CupsdConf::saveToFile(const TQString& filename)
-{
- TQFile f(filename);
- if (!f.open(IO_WriteOnly))
- return false;
- else
- {
- TQTextStream t(&f);
- t << comments_["header"] << endl;
- t << "# Server" << endl << endl;
-
- t << comments_["servername"] << endl;
- if ( !servername_.isEmpty() )
- t << "ServerName " << servername_ << endl;
-
- t << endl << comments_["serveradmin"] << endl;
- if ( !serveradmin_.isEmpty() )
- t << "ServerAdmin " << serveradmin_ << endl;
-
- t << endl << comments_["classification"] << endl;
- t << "Classification ";
- switch (classification_)
- {
- default:
- case CLASS_NONE: t << "none"; break;
- case CLASS_CLASSIFIED: t << "classified"; break;
- case CLASS_CONFIDENTIAL: t << "confidential"; break;
- case CLASS_SECRET: t << "secret"; break;
- case CLASS_TOPSECRET: t << "topsecret"; break;
- case CLASS_UNCLASSIFIED: t << "unclassified"; break;
- case CLASS_OTHER: t << otherclassname_; break;
- }
- t << endl;
-
- t << endl << comments_["classifyoverride"] << endl;
- if (classification_ != CLASS_NONE) t << "ClassifyOverride " << (classoverride_ ? "Yes" : "No") << endl;
-
- t << endl << comments_["defaultcharset"] << endl;
- t << "DefaultCharset " << charset_.upper() << endl;
-
- t << endl << comments_["defaultlanguage"] << endl;
- t << "DefaultLanguage " << language_.lower() << endl;
-
- t << endl << comments_["printcap"] << endl;
- t << "Printcap " << printcap_ << endl;
-
- t << endl << comments_["printcapformat"] << endl;
- t << "PrintcapFormat " << (printcapformat_ == PRINTCAP_SOLARIS ? "Solaris" : "BSD") << endl;
-
- t << endl << "# Security" << endl;
- t << endl << comments_["remoteroot"] << endl;
- t << "RemoteRoot " << remoteroot_ << endl;
-
- t << endl << comments_["systemgroup"] << endl;
- t << "SystemGroup " << systemgroup_ << endl;
-
- t << endl << comments_["servercertificate"] << endl;
- t << "ServerCertificate " << encryptcert_ << endl;
-
- t << endl << comments_["serverkey"] << endl;
- t << "ServerKey " << encryptkey_ << endl;
-
- t << endl << comments_["locations"] << endl;
- for (locations_.first(); locations_.current(); locations_.next())
- {
- CupsLocation *loc = locations_.current();
- t << "<Location " << loc->resourcename_ << ">" << endl;
- if (loc->authtype_ != AUTHTYPE_NONE)
- {
- t << "AuthType ";
- switch (loc->authtype_)
- {
- case AUTHTYPE_BASIC: t << "Basic"; break;
- case AUTHTYPE_DIGEST: t << "Digest"; break;
- }
- t << endl;
- }
- if (loc->authclass_ != AUTHCLASS_ANONYMOUS)
- {
- switch (loc->authclass_)
- {
- case AUTHCLASS_USER:
- if (!loc->authname_.isEmpty())
- t << "Require user " << loc->authname_ << endl;
- else
- t << "AuthClass User" << endl;
- break;
- case AUTHCLASS_GROUP:
- if (!loc->authname_.isEmpty())
- t << "Require group " << loc->authname_ << endl;
- else
- t << "AuthClass Group" << endl;
- break;
- case AUTHCLASS_SYSTEM:
- t << "AuthClass System" << endl;
- break;
- }
- }
- t << "Encryption ";
- switch (loc->encryption_)
- {
- case ENCRYPT_ALWAYS: t << "Always"; break;
- case ENCRYPT_NEVER: t << "Never"; break;
- case ENCRYPT_REQUIRED: t << "Required"; break;
- default:
- case ENCRYPT_IFREQUESTED: t << "IfRequested"; break;
- }
- t << endl;
- t << "Satisfy " << (loc->satisfy_ == SATISFY_ALL ? "All" : "Any") << endl;
- t << "Order " << (loc->order_ == ORDER_ALLOW_DENY ? "allow,deny" : "deny,allow") << endl;
- for (TQStringList::ConstIterator it=loc->addresses_.begin(); it!=loc->addresses_.end(); ++it)
- t << *it << endl;
- t << "</Location>" << endl;
- }
-
- t << endl << "# Network" << endl;
- t << endl << comments_["hostnamelookups"] << endl;
- t << "HostnameLookups ";
- switch (hostnamelookup_)
- {
- default:
- case HOSTNAME_OFF: t << "Off"; break;
- case HOSTNAME_ON: t << "On"; break;
- case HOSTNAME_DOUBLE: t << "Double"; break;
- }
- t << endl;
-
- t << endl << comments_["keepalive"] << endl;
- t << "KeepAlive " << (keepalive_ ? "On" : "Off") << endl;
-
- t << endl << comments_["keepalivetimeout"] << endl;
- t << "KeepAliveTimeout " << keepalivetimeout_ << endl;
-
- t << endl << comments_["maxclients"] << endl;
- t << "MaxClients " << maxclients_ << endl;
-
- t << endl << comments_["maxrequestsize"] << endl;
- t << "MaxRequestSize " << maxrequestsize_ << endl;
-
- t << endl << comments_["timeout"] << endl;
- t << "Timeout " << clienttimeout_ << endl;
-
- t << endl << comments_["listen"] << endl;
- for (TQStringList::ConstIterator it=listenaddresses_.begin(); it!=listenaddresses_.end(); ++it)
- t << *it << endl;
-
- t << endl << "# Log" << endl;
- t << endl << comments_["accesslog"] << endl;
- t << "AccessLog " << accesslog_ << endl;
-
- t << endl << comments_["errorlog"] << endl;
- t << "ErrorLog " << errorlog_ << endl;
-
- t << endl << comments_["pagelog"] << endl;
- t << "PageLog " << pagelog_ << endl;
-
- t << endl << comments_["maxlogsize"] << endl;
- //t << "MaxLogSize " << maxlogsize_ << "m" << endl;
- t << "MaxLogSize " << maxlogsize_ << endl;
-
- t << endl << comments_["loglevel"] << endl;
- t << "LogLevel ";
- switch (loglevel_)
- {
- case LOGLEVEL_NONE: t << "none"; break;
- default:
- case LOGLEVEL_INFO: t << "info"; break;
- case LOGLEVEL_ERROR: t << "error"; break;
- case LOGLEVEL_WARN: t << "warn"; break;
- case LOGLEVEL_DEBUG: t << "debug"; break;
- case LOGLEVEL_DEBUG2: t << "debug2"; break;
- }
- t << endl;
-
- t << endl << "# Jobs" << endl;
- t << endl << comments_["preservejobhistory"] << endl;
- t << "PreserveJobHistory " << (keepjobhistory_ ? "On" : "Off") << endl;
-
- t << endl << comments_["preservejobfiles"] << endl;
- if (keepjobhistory_) t << "PreserveJobFiles " << (keepjobfiles_ ? "On" : "Off") << endl;
-
- t << endl << comments_["autopurgejobs"] << endl;
- if (keepjobhistory_) t << "AutoPurgeJobs " << (autopurgejobs_ ? "Yes" : "No") << endl;
-
- t << endl << comments_["maxjobs"] << endl;
- t << "MaxJobs " << maxjobs_ << endl;
-
- t << endl << comments_["maxjobsperprinter"] << endl;
- t << "MaxJobsPerPrinter " << maxjobsperprinter_ << endl;
-
- t << endl << comments_["maxjobsperuser"] << endl;
- t << "MaxJobsPerUser " << maxjobsperuser_ << endl;
-
- t << endl << "# Filter" << endl;
- t << endl << comments_["user"] << endl;
- t << "User " << user_ << endl;
-
- t << endl << comments_["group"] << endl;
- t << "Group " << group_ << endl;
-
- t << endl << comments_["ripcache"] << endl;
- t << "RIPCache " << ripcache_ << endl;
-
- t << endl << comments_["filterlimit"] << endl;
- t << "FilterLimit " << filterlimit_ << endl;
-
- t << endl << "# Directories" << endl;
- t << endl << comments_["datadir"] << endl;
- t << "DataDir " << datadir_ << endl;
-
- t << endl << comments_["documentroot"] << endl;
- t << "DocumentRoot " << documentdir_ << endl;
-
- t << endl << comments_["fontpath"] << endl;
- for (TQStringList::ConstIterator it=fontpath_.begin(); it!=fontpath_.end(); ++it)
- t << "FontPath " << *it << endl;
-
- t << endl << comments_["requestroot"] << endl;
- t << "RequestRoot " << requestdir_ << endl;
-
- t << endl << comments_["serverbin"] << endl;
- t << "ServerBin " << serverbin_ << endl;
-
- t << endl << comments_["serverroot"] << endl;
- t << "ServerRoot " << serverfiles_ << endl;
-
- t << endl << comments_["tempdir"] << endl;
- t << "TempDir " << tmpfiles_ << endl;
-
- t << endl << "# Browsing" << endl;
- t << endl << comments_["browsing"] << endl;
- t << "Browsing " << (browsing_ ? "On" : "Off") << endl;
-
- t << endl << comments_["browseprotocols"] << endl;
- if (browsing_)
- {
- t << "BrowseProtocols ";
- for (TQStringList::ConstIterator it=browseprotocols_.begin(); it!=browseprotocols_.end(); ++it)
- t << (*it).upper() << " ";
- t << endl;
- }
-
- t << endl << comments_["browseport"] << endl;
- if (browsing_) t << "BrowsePort " << browseport_ << endl;
-
- t << endl << comments_["browseinterval"] << endl;
- if (browsing_) t << "BrowseInterval " << browseinterval_ << endl;
-
- t << endl << comments_["browsetimeout"] << endl;
- if (browsing_) t << "BrowseTimeout " << browsetimeout_ << endl;
-
- t << endl << comments_["browseaddress"] << endl;
- if (browsing_)
- for (TQStringList::ConstIterator it=browseaddresses_.begin(); it!=browseaddresses_.end(); ++it)
- if ((*it).startsWith("Send"))
- t << "BrowseAddress " << (*it).mid(5) << endl;
- else
- t << "Browse" << (*it) << endl;
-
- t << endl << comments_["browseorder"] << endl;
- if (browsing_) t << "BrowseOrder " << (browseorder_ == ORDER_ALLOW_DENY ? "allow,deny" : "deny,allow") << endl;
-
- t << endl << comments_["implicitclasses"] << endl;
- if (browsing_) t << "ImplicitClasses " << (useimplicitclasses_ ? "On" : "Off") << endl;
-
- t << endl << comments_["implicitanyclasses"] << endl;
- if (browsing_) t << "ImplicitAnyClasses " << (useanyclasses_ ? "On" : "Off") << endl;
-
- t << endl << comments_["hideimplicitmembers"] << endl;
- if (browsing_) t << "HideImplicitMembers " << (hideimplicitmembers_ ? "Yes" : "No") << endl;
-
- t << endl << comments_["browseshortnames"] << endl;
- if (browsing_) t << "BrowseShortNames " << (useshortnames_ ? "Yes" : "No") << endl;
-
- t << endl << "# Unknown" << endl;
- for (TQValueList< TQPair<TQString,TQString> >::ConstIterator it=unknown_.begin(); it!=unknown_.end(); ++it)
- t << (*it).first << " " << (*it).second << endl;
-
- return true;
- }
-}
-
-bool CupsdConf::parseLocation(CupsLocation *location, TQTextStream& file)
-{
- TQString line;
- bool done(false);
- bool value(true);
- while (!done && value)
- {
- line = file.readLine().simplifyWhiteSpace();
- if (line.isEmpty())
- {
- if (file.atEnd())
- {
- value = false;
- done = true;
- }
- else continue;
- }
- else if (line[0] == '#') continue;
- else if (line.lower() == "</location>") done = true;
- else value = location->parseOption(line);
- }
- return value;
-}
-
-bool CupsdConf::parseOption(const TQString& line)
-{
- int p(-1);
- TQString keyword, value, l(line.simplifyWhiteSpace());
-
- if ((p=l.find(' ')) != -1)
- {
- keyword = l.left(p).lower();
- value = l.mid(p+1);
- }
- else
- {
- keyword = l.lower();
- }
-
- //kdDebug() << "cupsd.conf keyword=" << keyword << endl;
- if (keyword == "accesslog") accesslog_ = value;
- else if (keyword == "autopurgejobs") autopurgejobs_ = (value.lower() == "yes");
- else if (keyword == "browseaddress") browseaddresses_.append("Send "+value);
- else if (keyword == "browseallow") browseaddresses_.append("Allow "+value);
- else if (keyword == "browsedeny") browseaddresses_.append("Deny "+value);
- else if (keyword == "browseinterval") browseinterval_ = value.toInt();
- else if (keyword == "browseorder") browseorder_ = (value.lower() == "deny,allow" ? ORDER_DENY_ALLOW : ORDER_ALLOW_DENY);
- else if (keyword == "browsepoll") browseaddresses_.append("Poll "+value);
- else if (keyword == "browseport") browseport_ = value.toInt();
- else if (keyword == "browseprotocols")
- {
- browseprotocols_.clear();
- TQStringList prots = TQStringList::split(TQRegExp("\\s"), value, false);
- if (prots.find("all") != prots.end())
- browseprotocols_ << "CUPS" << "SLP";
- else
- for (TQStringList::ConstIterator it=prots.begin(); it!=prots.end(); ++it)
- browseprotocols_ << (*it).upper();
- }
- else if (keyword == "browserelay") browseaddresses_.append("Relay "+value);
- else if (keyword == "browseshortnames") useshortnames_ = (value.lower() != "no");
- else if (keyword == "browsetimeout") browsetimeout_ = value.toInt();
- else if (keyword == "browsing") browsing_ = (value.lower() != "off");
- else if (keyword == "classification")
- {
- TQString cl = value.lower();
- if (cl == "none") classification_ = CLASS_NONE;
- else if (cl == "classified") classification_ = CLASS_CLASSIFIED;
- else if (cl == "confidential") classification_ = CLASS_CONFIDENTIAL;
- else if (cl == "secret") classification_ = CLASS_SECRET;
- else if (cl == "topsecret") classification_ = CLASS_TOPSECRET;
- else if (cl == "unclassified") classification_ = CLASS_UNCLASSIFIED;
- else
- {
- classification_ = CLASS_OTHER;
- otherclassname_ = cl;
- }
- }
- else if (keyword == "classifyoverride") classoverride_ = (value.lower() == "yes");
- else if (keyword == "datadir") datadir_ = value;
- else if (keyword == "defaultcharset") charset_ = value;
- else if (keyword == "defaultlanguage") language_ = value;
- else if (keyword == "documentroot") documentdir_ = value;
- else if (keyword == "errorlog") errorlog_ = value;
- else if (keyword == "filterlimit") filterlimit_ = value.toInt();
- else if (keyword == "fontpath") fontpath_ += TQStringList::split(':', value, false);
- else if (keyword == "group") group_ = value;
- else if (keyword == "hideimplicitmembers") hideimplicitmembers_ = (value.lower() != "no");
- else if (keyword == "hostnamelookups")
- {
- TQString h = value.lower();
- if (h == "on") hostnamelookup_ = HOSTNAME_ON;
- else if (h == "double") hostnamelookup_ = HOSTNAME_DOUBLE;
- else hostnamelookup_ = HOSTNAME_OFF;
- }
- else if (keyword == "implicitclasses") useimplicitclasses_ = (value.lower() != "off");
- else if (keyword == "implicitanyclasses") useanyclasses_ = (value.lower() == "on");
- else if (keyword == "keepalive") keepalive_ = (value.lower() != "off");
- else if (keyword == "keepalivetimeout") keepalivetimeout_ = value.toInt();
- else if (keyword == "listen") listenaddresses_.append("Listen "+value);
- else if (keyword == "loglevel")
- {
- TQString ll = value.lower();
- if (ll == "none") loglevel_ = LOGLEVEL_NONE;
- else if (ll == "error") loglevel_ = LOGLEVEL_ERROR;
- else if (ll == "warn") loglevel_ = LOGLEVEL_WARN;
- else if (ll == "info") loglevel_ = LOGLEVEL_INFO;
- else if (ll == "debug") loglevel_ = LOGLEVEL_DEBUG;
- else if (ll == "debug2") loglevel_ = LOGLEVEL_DEBUG2;
- }
- else if (keyword == "maxclients") maxclients_ = value.toInt();
- else if (keyword == "maxjobs") maxjobs_ = value.toInt();
- else if (keyword == "maxjobsperprinter") maxjobsperprinter_ = value.toInt();
- else if (keyword == "maxjobsperuser") maxjobsperuser_ = value.toInt();
- else if (keyword == "maxrequestsize") maxrequestsize_ = value;
- else if (keyword == "maxlogsize") maxlogsize_ = value;
- /*{
- // FIXME: support for suffixes
- int suffix;
- splitSizeSpec( value, maxlogsize_, suffix );
- }*/
- else if (keyword == "pagelog") pagelog_ = value;
- else if (keyword == "port") listenaddresses_.append("Listen *:"+value);
- else if (keyword == "preservejobhistory") keepjobhistory_ = (value != "off");
- else if (keyword == "preservejobfiles") keepjobfiles_ = (value == "on");
- else if (keyword == "printcap") printcap_ = value;
- else if (keyword == "printcapformat") printcapformat_ = (value.lower() == "solaris" ? PRINTCAP_SOLARIS : PRINTCAP_BSD);
- else if (keyword == "requestroot") requestdir_ = value;
- else if (keyword == "remoteroot") remoteroot_ = value;
- else if (keyword == "ripcache") ripcache_ = value;
- else if (keyword == "serveradmin") serveradmin_ = value;
- else if (keyword == "serverbin") serverbin_ = value;
- else if (keyword == "servercertificate") encryptcert_ = value;
- else if (keyword == "serverkey") encryptkey_ = value;
- else if (keyword == "servername") servername_ = value;
- else if (keyword == "serverroot") serverfiles_ = value;
- else if (keyword == "ssllisten") listenaddresses_.append("SSLListen "+value);
- else if (keyword == "sslport") listenaddresses_.append("SSLListen *:"+value);
- else if (keyword == "systemgroup") systemgroup_ = value;
- else if (keyword == "tempdir") tmpfiles_ = value;
- else if (keyword == "timeout") clienttimeout_ = value.toInt();
- else if (keyword == "user") user_ = value;
- else
- {
- // unrecognized option
- unknown_ << TQPair<TQString,TQString>(keyword, value);
- }
- return true;
-}
-
-bool CupsdConf::loadAvailableResources()
-{
- KConfig conf("tdeprintrc");
- conf.setGroup("CUPS");
- TQString host = conf.readEntry("Host",cupsServer());
- int port = conf.readNumEntry("Port",ippPort());
- http_t *http_ = httpConnect(host.local8Bit(),port);
-
- resources_.clear();
- // standard resources
- resources_.append(new CupsResource("/"));
- resources_.append(new CupsResource("/admin"));
- resources_.append(new CupsResource("/printers"));
- resources_.append(new CupsResource("/classes"));
- resources_.append(new CupsResource("/jobs"));
-
- if (!http_)
- return false;
-
- // printer resources
- ipp_t *request_ = ippNew();
- cups_lang_t* lang = cupsLangDefault();
- ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang));
- ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language);
- request_->request.op.operation_id = CUPS_GET_PRINTERS;
- request_ = cupsDoRequest(http_, request_, "/printers/");
- if (request_)
- {
- TQString name;
- int type(0);
- ipp_attribute_t *attr = request_->attrs;
- while (attr)
- {
- // check new printer (keep only local non-implicit printers)
- if (!attr->name)
- {
- if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
- resources_.append(new CupsResource("/printers/"+name));
- name = "";
- type = 0;
- }
- else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text;
- else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer;
- attr = attr->next;
- }
- if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
- resources_.append(new CupsResource("/printers/"+name));
- ippDelete(request_);
- }
- // class resources
- request_ = ippNew();
- ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang));
- ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language);
- request_->request.op.operation_id = CUPS_GET_CLASSES;
- request_ = cupsDoRequest(http_, request_, "/classes/");
- if (request_)
- {
- TQString name;
- int type(0);
- ipp_attribute_t *attr = request_->attrs;
- while (attr)
- {
- // check new class (keep only local classes)
- if (!attr->name)
- {
- if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty())
- resources_.append(new CupsResource("/classes/"+name));
- name = "";
- type = 0;
- }
- else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text;
- else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer;
- attr = attr->next;
- }
- if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty())
- resources_.append(new CupsResource("/classes/"+name));
- ippDelete(request_);
- }
- httpClose(http_);
- return true;
-}
-
-//------------------------------------------------------------------------------------------------
-
-CupsLocation::CupsLocation()
-{
- resource_ = 0;
- resourcename_ = "";
- authtype_ = AUTHTYPE_NONE;
- authclass_ = AUTHCLASS_ANONYMOUS;
- authname_ = TQString::null;
- encryption_ = ENCRYPT_IFREQUESTED;
- satisfy_ = SATISFY_ALL;
- order_ = ORDER_ALLOW_DENY;
- // addresses_
-}
-
-CupsLocation::CupsLocation(const CupsLocation& loc)
-: resource_(loc.resource_),
- resourcename_(loc.resourcename_),
- authtype_(loc.authtype_),
- authclass_(loc.authclass_),
- authname_(loc.authname_),
- encryption_(loc.encryption_),
- satisfy_(loc.satisfy_),
- order_(loc.order_),
- addresses_(loc.addresses_)
-{
-}
-
-bool CupsLocation::parseResource(const TQString& line)
-{
- TQString str = line.simplifyWhiteSpace();
- int p1 = line.find(' '), p2 = line.find('>');
- if (p1 != -1 && p2 != -1)
- {
- resourcename_ = str.mid(p1+1,p2-p1-1);
- return true;
- }
- else return false;
-}
-
-bool CupsLocation::parseOption(const TQString& line)
-{
- int p(-1);
- TQString keyword, value, l(line.simplifyWhiteSpace());
-
- if ((p=l.find(' ')) != -1)
- {
- keyword = l.left(p).lower();
- value = l.mid(p+1);
- }
- else
- {
- keyword = l.lower();
- }
-
- if (keyword == "authtype")
- {
- TQString a = value.lower();
- if (a == "basic") authtype_ = AUTHTYPE_BASIC;
- else if (a == "digest") authtype_ = AUTHTYPE_DIGEST;
- else authtype_ = AUTHTYPE_NONE;
- }
- else if (keyword == "authclass")
- {
- TQString a = value.lower();
- if (a == "user") authclass_ = AUTHCLASS_USER;
- else if (a == "system") authclass_ = AUTHCLASS_SYSTEM;
- else if (a == "group") authclass_ = AUTHCLASS_GROUP;
- else authclass_ = AUTHCLASS_ANONYMOUS;
- }
- else if (keyword == "authgroupname") authname_ = value;
- else if (keyword == "require")
- {
- int p = value.find(' ');
- if (p != -1)
- {
- authname_ = value.mid(p+1);
- TQString cl = value.left(p).lower();
- if (cl == "user")
- authclass_ = AUTHCLASS_USER;
- else if (cl == "group")
- authclass_ = AUTHCLASS_GROUP;
- }
- }
- else if (keyword == "allow") addresses_.append("Allow "+value);
- else if (keyword == "deny") addresses_.append("Deny "+value);
- else if (keyword == "order") order_ = (value.lower() == "deny,allow" ? ORDER_DENY_ALLOW : ORDER_ALLOW_DENY);
- else if (keyword == "encryption")
- {
- TQString e = value.lower();
- if (e == "always") encryption_ = ENCRYPT_ALWAYS;
- else if (e == "never") encryption_ = ENCRYPT_NEVER;
- else if (e == "required") encryption_ = ENCRYPT_REQUIRED;
- else encryption_ = ENCRYPT_IFREQUESTED;
- }
- else if (keyword == "satisfy") satisfy_ = (value.lower() == "any" ? SATISFY_ANY : SATISFY_ALL);
- else return false;
- return true;
-}
-
-//------------------------------------------------------------------------------------------------
-
-CupsResource::CupsResource()
-{
- type_ = RESOURCE_GLOBAL;
-}
-
-CupsResource::CupsResource(const TQString& path)
-{
- setPath(path);
-}
-
-void CupsResource::setPath(const TQString& path)
-{
- path_ = path;
- type_ = typeFromPath(path_);
- text_ = pathToText(path_);
-}
-
-int CupsResource::typeFromText(const TQString& text)
-{
- if (text == i18n("Base", "Root") || text == i18n("All printers") || text == i18n("All classes") || text == i18n("Print jobs")) return RESOURCE_GLOBAL;
- else if (text == i18n("Administration")) return RESOURCE_ADMIN;
- else if (text.find(i18n("Class")) == 0) return RESOURCE_CLASS;
- else if (text.find(i18n("Printer")) == 0) return RESOURCE_PRINTER;
- else return RESOURCE_PRINTER;
-}
-
-int CupsResource::typeFromPath(const TQString& path)
-{
- if (path == "/admin") return RESOURCE_ADMIN;
- else if (path == "/printers" || path == "/classes" || path == "/" || path == "/jobs") return RESOURCE_GLOBAL;
- else if (path.left(9) == "/printers") return RESOURCE_PRINTER;
- else if (path.left(8) == "/classes") return RESOURCE_CLASS;
- else return RESOURCE_GLOBAL;
-}
-
-TQString CupsResource::textToPath(const TQString& text)
-{
- TQString path("/");
- if (text == i18n("Administration")) path = "/admin";
- else if (text == i18n("All printers")) path = "/printers";
- else if (text == i18n("All classes")) path = "/classes";
- else if (text == i18n("Print jobs")) path = "/jobs";
- else if (text == i18n("Base", "Root")) path = "/";
- else if (text.find(i18n("Printer")) == 0)
- {
- path = "/printers/";
- path.append(text.right(text.length()-i18n("Printer").length()-1));
- }
- else if (text.find(i18n("Class")) == 0)
- {
- path = "/classes/";
- path.append(text.right(text.length()-i18n("Class").length()-1));
- }
- return path;
-}
-
-TQString CupsResource::pathToText(const TQString& path)
-{
- TQString text(i18n("Base", "Root"));
- if (path == "/admin") text = i18n("Administration");
- else if (path == "/printers") text = i18n("All printers");
- else if (path == "/classes") text = i18n("All classes");
- else if (path == "/") text = i18n("Root");
- else if (path == "/jobs") text = i18n("Print jobs");
- else if (path.find("/printers/") == 0)
- {
- text = i18n("Printer");
- text.append(" ");
- text.append(path.right(path.length()-10));
- }
- else if (path.find("/classes/") == 0)
- {
- text = i18n("Class");
- text.append(" ");
- text.append(path.right(path.length()-9));
- }
- return text;
-}
-
-TQString CupsResource::typeToIconName(int type)
-{
- switch (type)
- {
- case RESOURCE_ADMIN:
- case RESOURCE_GLOBAL:
- return TQString("folder");
- case RESOURCE_PRINTER:
- return TQString("tdeprint_printer");
- case RESOURCE_CLASS:
- return TQString("tdeprint_printer_class");
- }
- return TQString("folder");
-}
diff --git a/kdeprint/cups/cupsdconf2/cupsdconf.h b/kdeprint/cups/cupsdconf2/cupsdconf.h
deleted file mode 100644
index 70b4f591b..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdconf.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDCONF_H
-#define CUPSDCONF_H
-
-#include <tqstring.h>
-#include <tqstringlist.h>
-#include <tqptrlist.h>
-#include <tqtextstream.h>
-#include <tqpair.h>
-
-#include "cupsdcomment.h"
-
-enum LogLevelType { LOGLEVEL_DEBUG2 = 0, LOGLEVEL_DEBUG, LOGLEVEL_INFO, LOGLEVEL_WARN, LOGLEVEL_ERROR, LOGLEVEL_NONE };
-enum OrderType { ORDER_ALLOW_DENY = 0, ORDER_DENY_ALLOW };
-enum AuthTypeType { AUTHTYPE_NONE = 0, AUTHTYPE_BASIC, AUTHTYPE_DIGEST };
-enum AuthClassType { AUTHCLASS_ANONYMOUS = 0, AUTHCLASS_USER, AUTHCLASS_SYSTEM, AUTHCLASS_GROUP };
-enum EncryptionType { ENCRYPT_ALWAYS = 0, ENCRYPT_NEVER, ENCRYPT_REQUIRED, ENCRYPT_IFREQUESTED };
-enum BrowseProtocolType { BROWSE_ALL = 0, BROWSE_CUPS, BROWSE_SLP };
-enum PrintcapFormatType { PRINTCAP_BSD = 0, PRINTCAP_SOLARIS };
-enum HostnameLookupType { HOSTNAME_OFF = 0, HOSTNAME_ON, HOSTNAME_DOUBLE };
-enum ClassificationType { CLASS_NONE = 0, CLASS_CLASSIFIED, CLASS_CONFIDENTIAL, CLASS_SECRET, CLASS_TOPSECRET, CLASS_UNCLASSIFIED, CLASS_OTHER };
-enum SatisfyType { SATISFY_ALL = 0, SATISFY_ANY };
-enum UnitType { UNIT_KB = 0, UNIT_MB, UNIT_GB, UNIT_TILE };
-
-struct CupsLocation;
-struct CupsResource;
-enum ResourceType { RESOURCE_GLOBAL, RESOURCE_PRINTER, RESOURCE_CLASS, RESOURCE_ADMIN };
-
-struct CupsdConf
-{
-// functions member
- CupsdConf();
- ~CupsdConf();
-
- bool loadFromFile(const TQString& filename);
- bool saveToFile(const TQString& filename);
- bool parseOption(const TQString& line);
- bool parseLocation(CupsLocation *location, TQTextStream& file);
-
- bool loadAvailableResources();
-
- static CupsdConf* get();
- static void release();
-
-// data members
- static CupsdConf *unique_;
-
- // Server
- TQString servername_;
- TQString serveradmin_;
- int classification_;
- TQString otherclassname_;
- bool classoverride_;
- TQString charset_;
- TQString language_;
- TQString printcap_;
- int printcapformat_;
-
- // Security
- TQString remoteroot_;
- TQString systemgroup_;
- TQString encryptcert_;
- TQString encryptkey_;
- TQPtrList<CupsLocation> locations_;
- TQPtrList<CupsResource> resources_;
-
- // Network
- int hostnamelookup_;
- bool keepalive_;
- int keepalivetimeout_;
- int maxclients_;
- TQString maxrequestsize_;
- int clienttimeout_;
- TQStringList listenaddresses_;
-
- // Log
- TQString accesslog_;
- TQString errorlog_;
- TQString pagelog_;
- TQString maxlogsize_;
- int loglevel_;
-
- // Jobs
- bool keepjobhistory_;
- bool keepjobfiles_;
- bool autopurgejobs_;
- int maxjobs_;
- int maxjobsperprinter_;
- int maxjobsperuser_;
-
- // Filter
- TQString user_;
- TQString group_;
- TQString ripcache_;
- int filterlimit_;
-
- // Directories
- TQString datadir_;
- TQString documentdir_;
- TQStringList fontpath_;
- TQString requestdir_;
- TQString serverbin_;
- TQString serverfiles_;
- TQString tmpfiles_;
-
- // Browsing
- bool browsing_;
- TQStringList browseprotocols_;
- int browseport_;
- int browseinterval_;
- int browsetimeout_;
- TQStringList browseaddresses_;
- int browseorder_;
- bool useimplicitclasses_;
- bool hideimplicitmembers_;
- bool useshortnames_;
- bool useanyclasses_;
-
- // cupsd.conf file comments
- CupsdComment comments_;
-
- // unrecognized options
- TQValueList< TQPair<TQString,TQString> > unknown_;
-};
-
-struct CupsLocation
-{
- CupsLocation();
- CupsLocation(const CupsLocation& loc);
-
- bool parseOption(const TQString& line);
- bool parseResource(const TQString& line);
-
- CupsResource *resource_;
- TQString resourcename_;
- int authtype_;
- int authclass_;
- TQString authname_;
- int encryption_;
- int satisfy_;
- int order_;
- TQStringList addresses_;
-};
-
-struct CupsResource
-{
- CupsResource();
- CupsResource(const TQString& path);
-
- void setPath(const TQString& path);
-
- int type_;
- TQString path_;
- TQString text_;
-
- static TQString textToPath(const TQString& text);
- static TQString pathToText(const TQString& path);
- static int typeFromPath(const TQString& path);
- static int typeFromText(const TQString& text);
- static TQString typeToIconName(int type);
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsddialog.cpp b/kdeprint/cups/cupsdconf2/cupsddialog.cpp
deleted file mode 100644
index e6338eb8c..000000000
--- a/kdeprint/cups/cupsdconf2/cupsddialog.cpp
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsddialog.h"
-
-#include "cupsdpage.h"
-#include "cupsdconf.h"
-#include "cupsdsplash.h"
-#include "cupsdserverpage.h"
-#include "cupsdlogpage.h"
-#include "cupsdjobspage.h"
-#include "cupsdfilterpage.h"
-#include "cupsddirpage.h"
-#include "cupsdnetworkpage.h"
-#include "cupsdbrowsingpage.h"
-#include "cupsdsecuritypage.h"
-
-#include <tqdir.h>
-#include <tqvbox.h>
-#include <kmessagebox.h>
-#include <klocale.h>
-#include <tqfile.h>
-#include <tqfileinfo.h>
-#include <kglobal.h>
-#include <kiconloader.h>
-#include <tqstringlist.h>
-#include <tqwhatsthis.h>
-#include <kio/passdlg.h>
-#include <kguiitem.h>
-#include <kprocess.h>
-
-#include <stdlib.h>
-#include <signal.h>
-#include <cups/cups.h>
-
-static bool dynamically_loaded = false;
-static TQString pass_string;
-
-extern "C"
-{
-#include "cups-util.h"
- KDEPRINT_EXPORT bool restartServer(TQString& msg)
- {
- return CupsdDialog::restartServer(msg);
- }
- KDEPRINT_EXPORT bool configureServer(TQWidget *parent, TQString& msg)
- {
- dynamically_loaded = true;
- bool result = CupsdDialog::configure(TQString::null, parent, &msg);
- dynamically_loaded = false;
- return result;
- }
-}
-
-int getServerPid()
-{
- TQDir dir("/proc",TQString::null,TQDir::Name,TQDir::Dirs);
- for (uint i=0;i<dir.count();i++)
- {
- if (dir[i] == "." || dir[i] == ".." || dir[i] == "self") continue;
- TQFile f("/proc/" + dir[i] + "/cmdline");
- if (f.exists() && f.open(IO_ReadOnly))
- {
- TQTextStream t(&f);
- TQString line;
- t >> line;
- f.close();
- if (line.right(5) == "cupsd" ||
- line.right(6).left(5) == "cupsd") // second condition for 2.4.x kernels
- // which add a null byte at the end
- return dir[i].toInt();
- }
- }
- return (-1);
-}
-
-const char* getPassword(const char*)
-{
- TQString user(cupsUser());
- TQString pass;
-
- if (KIO::PasswordDialog::getNameAndPassword(user, pass, NULL) == TQDialog::Accepted)
- {
- cupsSetUser(user.latin1());
- pass_string = pass;
- if (pass_string.isEmpty())
- return "";
- else
- return pass_string.latin1();
- }
- else
- return NULL;
-}
-
-//---------------------------------------------------
-
-CupsdDialog::CupsdDialog(TQWidget *parent, const char *name)
- : KDialogBase(IconList, "", Ok|Cancel|User1, Ok, parent, name, true, true, KGuiItem(i18n("Short Help"), "help"))
-{
- KGlobal::iconLoader()->addAppDir("tdeprint");
- KGlobal::locale()->insertCatalogue("cupsdconf");
-
- setShowIconsInTreeList(true);
- setRootIsDecorated(false);
-
- pagelist_.setAutoDelete(false);
- filename_ = "";
- conf_ = 0;
- constructDialog();
-
- setCaption(i18n("CUPS Server Configuration"));
-
- //resize(500, 400);
-}
-
-CupsdDialog::~CupsdDialog()
-{
- delete conf_;
-}
-
-void CupsdDialog::addConfPage(CupsdPage *page)
-{
- TQPixmap icon = KGlobal::instance()->iconLoader()->loadIcon(
- page->pixmap(),
- KIcon::NoGroup,
- KIcon::SizeMedium
- );
-
- TQVBox *box = addVBoxPage(page->pageLabel(), page->header(), icon);
- page->reparent(box, TQPoint(0,0));
- pagelist_.append(page);
-}
-
-void CupsdDialog::constructDialog()
-{
- addConfPage(new CupsdSplash(0));
- addConfPage(new CupsdServerPage(0));
- addConfPage(new CupsdNetworkPage(0));
- addConfPage(new CupsdSecurityPage(0));
- addConfPage(new CupsdLogPage(0));
- addConfPage(new CupsdJobsPage(0));
- addConfPage(new CupsdFilterPage(0));
- addConfPage(new CupsdDirPage(0));
- addConfPage(new CupsdBrowsingPage(0));
-
- conf_ = new CupsdConf();
- for (pagelist_.first();pagelist_.current();pagelist_.next())
- {
- pagelist_.current()->setInfos(conf_);
- }
-}
-
-bool CupsdDialog::setConfigFile(const TQString& filename)
-{
- filename_ = filename;
- if (!conf_->loadFromFile(filename_))
- {
- KMessageBox::error(this, i18n("Error while loading configuration file!"), i18n("CUPS Configuration Error"));
- return false;
- }
- if (conf_->unknown_.count() > 0)
- {
- // there were some unknown options, warn the user
- TQString msg;
- for (TQValueList< TQPair<TQString,TQString> >::ConstIterator it=conf_->unknown_.begin(); it!=conf_->unknown_.end(); ++it)
- msg += ((*it).first + " = " + (*it).second + "<br>");
- msg.prepend("<p>" + i18n("Some options were not recognized by this configuration tool. "
- "They will be left untouched and you won't be able to change them.") + "</p>");
- KMessageBox::sorry(this, msg, i18n("Unrecognized Options"));
- }
- bool ok(true);
- TQString msg;
- for (pagelist_.first();pagelist_.current() && ok;pagelist_.next())
- ok = pagelist_.current()->loadConfig(conf_, msg);
- if (!ok)
- {
- KMessageBox::error(this, msg.prepend("<qt>").append("</qt>"), i18n("CUPS Configuration Error"));
- return false;
- }
- return true;
-}
-
-bool CupsdDialog::restartServer(TQString& msg)
-{
- int serverPid = getServerPid();
- msg.truncate(0);
- if (serverPid <= 0)
- {
- msg = i18n("Unable to find a running CUPS server");
- }
- else
- {
- bool success = false;
- KProcess proc;
- proc << "tdesu" << "-c" << "/etc/init.d/cupsys restart";
- success = proc.start( KProcess::Block ) && proc.normalExit();
- if( !success )
- msg = i18n("Unable to restart CUPS server (pid = %1)").arg(serverPid);
- }
- return (msg.isEmpty());
-}
-
-bool CupsdDialog::configure(const TQString& filename, TQWidget *parent, TQString *msg)
-{
- bool needUpload(false);
- TQString errormsg;
- bool result = true;
-
- // init password dialog if needed
- if (!dynamically_loaded)
- cupsSetPasswordCB(getPassword);
-
- // load config file from server
- TQString fn(filename);
- if (fn.isEmpty())
- {
- fn = cupsGetConf();
- if (fn.isEmpty())
- errormsg = i18n("Unable to retrieve configuration file from the CUPS server. "
- "You probably don't have the access permissions to perform this operation.");
- else needUpload = true;
- }
-
- // check read state (only if needed)
- if (!fn.isEmpty())
- {
- TQFileInfo fi(fn);
- if (!fi.exists() || !fi.isReadable() || !fi.isWritable())
- errormsg = i18n("Internal error: file '%1' not readable/writable!").arg(fn);
- // check file size
- if (fi.size() == 0)
- errormsg = i18n("Internal error: empty file '%1'!").arg(fn);
- }
-
- if (!errormsg.isEmpty())
- {
- if ( !dynamically_loaded )
- KMessageBox::error(parent, errormsg.prepend("<qt>").append("</qt>"), i18n("CUPS Configuration Error"));
- result = false;
- }
- else
- {
- KGlobal::locale()->insertCatalogue("cupsdconf"); // Must be before dialog is created to translate "Short Help"
- CupsdDialog dlg(parent);
- if (dlg.setConfigFile(fn) && dlg.exec())
- {
- TQCString encodedFn = TQFile::encodeName(fn);
- if (!needUpload)
- KMessageBox::information(parent,
- i18n("The config file has not been uploaded to the "
- "CUPS server. The daemon will not be restarted."));
- else if (!cupsPutConf(encodedFn.data()))
- {
- errormsg = i18n("Unable to upload the configuration file to CUPS server. "
- "You probably don't have the access permissions to perform this operation.");
- if ( !dynamically_loaded )
- KMessageBox::error(parent, errormsg, i18n("CUPS configuration error"));
- result = false;
- }
- }
-
- }
- if (needUpload)
- TQFile::remove(fn);
-
- if ( msg )
- *msg = errormsg;
- return result;
-}
-
-void CupsdDialog::slotOk()
-{
- if (conf_ && !filename_.isEmpty())
- { // try to save the file
- bool ok(true);
- TQString msg;
- CupsdConf newconf_;
- for (pagelist_.first();pagelist_.current() && ok;pagelist_.next())
- ok = pagelist_.current()->saveConfig(&newconf_, msg);
- // copy unknown options
- newconf_.unknown_ = conf_->unknown_;
- if (!ok)
- {
- ; // do nothing
- }
- else if (!newconf_.saveToFile(filename_))
- {
- msg = i18n("Unable to write configuration file %1").arg(filename_);
- ok = false;
- }
- if (!ok)
- {
- KMessageBox::error(this, msg.prepend("<qt>").append("</qt>"), i18n("CUPS Configuration Error"));
- }
- else
- KDialogBase::slotOk();
- }
-}
-
-void CupsdDialog::slotUser1()
-{
- TQWhatsThis::enterWhatsThisMode();
-}
-
-int CupsdDialog::serverPid()
-{
- return getServerPid();
-}
-
-int CupsdDialog::serverOwner()
-{
- int pid = getServerPid();
- if (pid > 0)
- {
- TQString str;
- str.sprintf("/proc/%d/status",pid);
- TQFile f(str);
- if (f.exists() && f.open(IO_ReadOnly))
- {
- TQTextStream t(&f);
- while (!t.eof())
- {
- str = t.readLine();
- if (str.find("Uid:",0,false) == 0)
- {
- TQStringList list = TQStringList::split('\t', str, false);
- if (list.count() >= 2)
- {
- bool ok;
- int u = list[1].toInt(&ok);
- if (ok) return u;
- }
- }
- }
- }
- }
- return (-1);
-}
-
-#include "cupsddialog.moc"
diff --git a/kdeprint/cups/cupsdconf2/cupsddialog.h b/kdeprint/cups/cupsdconf2/cupsddialog.h
deleted file mode 100644
index 85eee172e..000000000
--- a/kdeprint/cups/cupsdconf2/cupsddialog.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDDIALOG_H
-#define CUPSDDIALOG_H
-
-#include <kdialogbase.h>
-#include <tqptrlist.h>
-
-class CupsdPage;
-struct CupsdConf;
-
-class CupsdDialog : public KDialogBase
-{
- Q_OBJECT
-public:
- CupsdDialog(TQWidget *parent = 0, const char *name = 0);
- ~CupsdDialog();
-
- bool setConfigFile(const TQString& filename);
-
- static bool configure(const TQString& filename = TQString::null, TQWidget *parent = 0, TQString *errormsg = 0);
- static bool restartServer(TQString& msg);
- static int serverPid();
- static int serverOwner();
-
-protected slots:
- void slotOk();
- void slotUser1();
-
-protected:
- void addConfPage(CupsdPage*);
- void constructDialog();
- void restartServer();
-
-private:
- TQPtrList<CupsdPage> pagelist_;
- CupsdConf *conf_;
- QString filename_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsddirpage.cpp b/kdeprint/cups/cupsdconf2/cupsddirpage.cpp
deleted file mode 100644
index 268465a76..000000000
--- a/kdeprint/cups/cupsdconf2/cupsddirpage.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsddirpage.h"
-#include "cupsdconf.h"
-#include "qdirlineedit.h"
-#include "qdirmultilineedit.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-
-CupsdDirPage::CupsdDirPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Folders"));
- setHeader(i18n("Folders Settings"));
- setPixmap("folder");
-
- datadir_ = new QDirLineEdit(false, this);
- documentdir_ = new QDirLineEdit(false, this);
- fontpath_ = new QDirMultiLineEdit(this);
- requestdir_ = new QDirLineEdit(false, this);
- serverbin_ = new QDirLineEdit(false, this);
- serverfiles_ = new QDirLineEdit(false, this);
- tmpfiles_ = new QDirLineEdit(false, this);
-
- TQLabel *l1 = new TQLabel(i18n("Data folder:"), this);
- TQLabel *l2 = new TQLabel(i18n("Document folder:"), this);
- TQLabel *l3 = new TQLabel(i18n("Font path:"), this);
- TQLabel *l4 = new TQLabel(i18n("Request folder:"), this);
- TQLabel *l5 = new TQLabel(i18n("Server binaries:"), this);
- TQLabel *l6 = new TQLabel(i18n("Server files:"), this);
- TQLabel *l7 = new TQLabel(i18n("Temporary files:"), this);
-
- TQGridLayout *m1 = new TQGridLayout(this, 8, 2, 10, 7);
- m1->setRowStretch(7, 1);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(l3, 2, 0, Qt::AlignRight|Qt::AlignTop);
- m1->addWidget(l4, 3, 0, Qt::AlignRight);
- m1->addWidget(l5, 4, 0, Qt::AlignRight);
- m1->addWidget(l6, 5, 0, Qt::AlignRight);
- m1->addWidget(l7, 6, 0, Qt::AlignRight);
- m1->addWidget(datadir_, 0, 1);
- m1->addWidget(documentdir_, 1, 1);
- m1->addWidget(fontpath_, 2, 1);
- m1->addWidget(requestdir_, 3, 1);
- m1->addWidget(serverbin_, 4, 1);
- m1->addWidget(serverfiles_, 5, 1);
- m1->addWidget(tmpfiles_, 6, 1);
-}
-
-bool CupsdDirPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- datadir_->setURL(conf_->datadir_);
- documentdir_->setURL(conf_->documentdir_);
- fontpath_->setURLs(conf_->fontpath_);
- requestdir_->setURL(conf_->requestdir_);
- serverbin_->setURL(conf_->serverbin_);
- serverfiles_->setURL(conf_->serverfiles_);
- tmpfiles_->setURL(conf_->tmpfiles_);
-
- return true;
-}
-
-bool CupsdDirPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->datadir_ = datadir_->url();
- conf->documentdir_ = documentdir_->url();
- conf->fontpath_ = fontpath_->urls();
- conf->requestdir_ = requestdir_->url();
- conf->serverbin_ = serverbin_->url();
- conf->serverfiles_ = serverfiles_->url();
- conf->tmpfiles_ = tmpfiles_->url();
-
- return true;
-}
-
-void CupsdDirPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(datadir_, conf->comments_.toolTip("datadir"));
- TQWhatsThis::add(documentdir_, conf->comments_.toolTip("documentroot"));
- TQWhatsThis::add(fontpath_, conf->comments_.toolTip("fontpath"));
- TQWhatsThis::add(requestdir_, conf->comments_.toolTip("requestroot"));
- TQWhatsThis::add(serverbin_, conf->comments_.toolTip("serverbin"));
- TQWhatsThis::add(serverfiles_, conf->comments_.toolTip("serverroot"));
- TQWhatsThis::add(tmpfiles_, conf->comments_.toolTip("tempdir"));
-}
diff --git a/kdeprint/cups/cupsdconf2/cupsddirpage.h b/kdeprint/cups/cupsdconf2/cupsddirpage.h
deleted file mode 100644
index 571c79f21..000000000
--- a/kdeprint/cups/cupsdconf2/cupsddirpage.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDDIRPAGE_H
-#define CUPSDDIRPAGE_H
-
-#include "cupsdpage.h"
-
-class QDirLineEdit;
-class QDirMultiLineEdit;
-
-class CupsdDirPage : public CupsdPage
-{
-public:
- CupsdDirPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-private:
- QDirLineEdit *datadir_,
- *documentdir_,
- *requestdir_,
- *serverbin_,
- *serverfiles_,
- *tmpfiles_;
- QDirMultiLineEdit *fontpath_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdfilterpage.cpp b/kdeprint/cups/cupsdconf2/cupsdfilterpage.cpp
deleted file mode 100644
index 79c8a9401..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdfilterpage.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdfilterpage.h"
-#include "cupsdconf.h"
-#include "sizewidget.h"
-
-#include <tqlabel.h>
-#include <tqlineedit.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-#include <tqcombobox.h>
-
-#include <klocale.h>
-#include <knuminput.h>
-
-CupsdFilterPage::CupsdFilterPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Filter"));
- setHeader(i18n("Filter Settings"));
- setPixmap("filter");
-
- user_ = new TQLineEdit(this);
- group_ = new TQLineEdit(this);
- ripcache_ = new SizeWidget(this);
- filterlimit_ = new KIntNumInput(this);
-
- filterlimit_->setRange(0, 1000, 1, true);
- filterlimit_->setSpecialValueText(i18n("Unlimited"));
- filterlimit_->setSteps(1, 10);
-
- TQLabel *l1 = new TQLabel(i18n("User:"), this);
- TQLabel *l2 = new TQLabel(i18n("Group:"), this);
- TQLabel *l3 = new TQLabel(i18n("RIP cache:"), this);
- TQLabel *l4 = new TQLabel(i18n("Filter limit:"), this);
-
- TQGridLayout *m1 = new TQGridLayout(this, 5, 2, 10, 7);
- m1->setRowStretch(4, 1);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(l3, 2, 0, Qt::AlignRight);
- m1->addWidget(l4, 3, 0, Qt::AlignRight);
- m1->addWidget(user_, 0, 1);
- m1->addWidget(group_, 1, 1);
- m1->addWidget(ripcache_, 2, 1);
- m1->addWidget(filterlimit_, 3, 1);
-}
-
-bool CupsdFilterPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- user_->setText(conf_->user_);
- group_->setText(conf_->group_);
- ripcache_->setSizeString(conf_->ripcache_);
- filterlimit_->setValue(conf_->filterlimit_);
-
- return true;
-}
-
-bool CupsdFilterPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->user_ = user_->text();
- conf->group_ = group_->text();
- conf->ripcache_ = ripcache_->sizeString();
- conf->filterlimit_ = filterlimit_->value();
-
- return true;
-}
-
-void CupsdFilterPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(user_, conf->comments_.toolTip("user"));
- TQWhatsThis::add(group_, conf->comments_.toolTip("group"));
- TQWhatsThis::add(ripcache_, conf->comments_.toolTip("ripcache"));
- TQWhatsThis::add(filterlimit_, conf->comments_.toolTip("filterlimit"));
-}
diff --git a/kdeprint/cups/cupsdconf2/cupsdfilterpage.h b/kdeprint/cups/cupsdconf2/cupsdfilterpage.h
deleted file mode 100644
index 18fc5d405..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdfilterpage.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDFILTERPAGE_H
-#define CUPSDFILTERPAGE_H
-
-#include "cupsdpage.h"
-
-class SizeWidget;
-class TQLineEdit;
-class TQComboBox;
-class KIntNumInput;
-
-class CupsdFilterPage : public CupsdPage
-{
-public:
- CupsdFilterPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-private:
- TQLineEdit *user_, *group_;
- KIntNumInput *filterlimit_;
- SizeWidget *ripcache_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdjobspage.cpp b/kdeprint/cups/cupsdconf2/cupsdjobspage.cpp
deleted file mode 100644
index f12f82f1e..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdjobspage.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdjobspage.h"
-#include "cupsdconf.h"
-
-#include <tqlabel.h>
-#include <tqcheckbox.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-#include <knuminput.h>
-
-CupsdJobsPage::CupsdJobsPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Jobs"));
- setHeader(i18n("Print Jobs Settings"));
- setPixmap("fileprint");
-
- keepjobhistory_ = new TQCheckBox(i18n("Preserve job history"), this);
- keepjobfiles_ = new TQCheckBox(i18n("Preserve job files"), this);
- autopurgejobs_ = new TQCheckBox(i18n("Auto purge jobs"), this);
- maxjobs_ = new KIntNumInput(this);
- maxjobsperprinter_ = new KIntNumInput(this);
- maxjobsperuser_ = new KIntNumInput(this);
-
- maxjobs_->setRange(0, 1000, 1, true);
- maxjobs_->setSteps(1, 10);
- maxjobs_->setSpecialValueText(i18n("Unlimited"));
- maxjobsperprinter_->setRange(0, 1000, 1, true);
- maxjobsperprinter_->setSpecialValueText(i18n("Unlimited"));
- maxjobsperprinter_->setSteps(1, 10);
- maxjobsperuser_->setRange(0, 1000, 1, true);
- maxjobsperuser_->setSpecialValueText(i18n("Unlimited"));
- maxjobsperuser_->setSteps(1, 10);
-
- TQLabel *l1 = new TQLabel(i18n("Max jobs:"), this);
- TQLabel *l2 = new TQLabel(i18n("Max jobs per printer:"), this);
- TQLabel *l3 = new TQLabel(i18n("Max jobs per user:"), this);
-
- TQGridLayout *m1 = new TQGridLayout(this, 7, 2, 10, 7);
- m1->setRowStretch(6, 1);
- m1->setColStretch(1, 1);
- m1->addWidget(keepjobhistory_, 0, 1);
- m1->addWidget(keepjobfiles_, 1, 1);
- m1->addWidget(autopurgejobs_, 2, 1);
- m1->addWidget(l1, 3, 0, Qt::AlignRight);
- m1->addWidget(l2, 4, 0, Qt::AlignRight);
- m1->addWidget(l3, 5, 0, Qt::AlignRight);
- m1->addWidget(maxjobs_, 3, 1);
- m1->addWidget(maxjobsperprinter_, 4, 1);
- m1->addWidget(maxjobsperuser_, 5, 1);
-
- connect(keepjobhistory_, TQT_SIGNAL(toggled(bool)), TQT_SLOT(historyChanged(bool)));
- keepjobhistory_->setChecked(true);
-}
-
-bool CupsdJobsPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- keepjobhistory_->setChecked(conf_->keepjobhistory_);
- if (conf_->keepjobhistory_)
- {
- keepjobfiles_->setChecked(conf_->keepjobfiles_);
- autopurgejobs_->setChecked(conf_->autopurgejobs_);
- }
- maxjobs_->setValue(conf_->maxjobs_);
- maxjobsperprinter_->setValue(conf_->maxjobsperprinter_);
- maxjobsperuser_->setValue(conf_->maxjobsperuser_);
-
- return true;
-}
-
-bool CupsdJobsPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->keepjobhistory_ = keepjobhistory_->isChecked();
- if (conf->keepjobhistory_)
- {
- conf->keepjobfiles_ = keepjobfiles_->isChecked();
- conf->autopurgejobs_ = autopurgejobs_->isChecked();
- }
- conf->maxjobs_ = maxjobs_->value();
- conf->maxjobsperprinter_ = maxjobsperprinter_->value();
- conf->maxjobsperuser_ = maxjobsperuser_->value();
-
- return true;
-}
-
-void CupsdJobsPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(keepjobhistory_, conf->comments_.toolTip("preservejobhistory"));
- TQWhatsThis::add(keepjobfiles_, conf->comments_.toolTip("preservejobfiles"));
- TQWhatsThis::add(autopurgejobs_, conf->comments_.toolTip("autopurgejobs"));
- TQWhatsThis::add(maxjobs_, conf->comments_.toolTip("maxjobs"));
- TQWhatsThis::add(maxjobsperprinter_, conf->comments_.toolTip("maxjobsperprinter"));
- TQWhatsThis::add(maxjobsperuser_, conf->comments_.toolTip("maxjobsperuser"));
-}
-
-void CupsdJobsPage::historyChanged(bool on)
-{
- keepjobfiles_->setEnabled(on);
- autopurgejobs_->setEnabled(on);
-}
-
-#include "cupsdjobspage.moc"
diff --git a/kdeprint/cups/cupsdconf2/cupsdjobspage.h b/kdeprint/cups/cupsdconf2/cupsdjobspage.h
deleted file mode 100644
index abbbd140d..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdjobspage.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDJOBSPAGE_H
-#define CUPSDJOBSPAGE_H
-
-#include "cupsdpage.h"
-
-class KIntNumInput;
-class TQCheckBox;
-
-class CupsdJobsPage : public CupsdPage
-{
- Q_OBJECT
-
-public:
- CupsdJobsPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-protected slots:
- void historyChanged(bool);
-
-private:
- KIntNumInput *maxjobs_, *maxjobsperprinter_, *maxjobsperuser_;
- TQCheckBox *keepjobhistory_, *keepjobfiles_, *autopurgejobs_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdlogpage.cpp b/kdeprint/cups/cupsdconf2/cupsdlogpage.cpp
deleted file mode 100644
index 61a89f933..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdlogpage.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdlogpage.h"
-#include "cupsdconf.h"
-#include "qdirlineedit.h"
-#include "sizewidget.h"
-
-#include <tqlabel.h>
-#include <tqcombobox.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-#include <kfiledialog.h>
-
-CupsdLogPage::CupsdLogPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Log"));
- setHeader(i18n("Log Settings"));
- setPixmap("contents");
-
- accesslog_ = new QDirLineEdit(true, this);
- errorlog_ = new QDirLineEdit(true, this);
- pagelog_ = new QDirLineEdit(true, this);
- maxlogsize_ = new SizeWidget(this);
- loglevel_ = new TQComboBox(this);
-
- loglevel_->insertItem(i18n("Detailed Debugging"));
- loglevel_->insertItem(i18n("Debug Information"));
- loglevel_->insertItem(i18n("General Information"));
- loglevel_->insertItem(i18n("Warnings"));
- loglevel_->insertItem(i18n("Errors"));
- loglevel_->insertItem(i18n("No Logging"));
-
- /*maxlogsize_->setRange(0, 100, 1, true);
- maxlogsize_->setSteps(1, 5);
- maxlogsize_->setSpecialValueText(i18n("Unlimited"));
- maxlogsize_->setSuffix(i18n("MB"));*/
-
- TQLabel *l1 = new TQLabel(i18n("Access log:"), this);
- TQLabel *l2 = new TQLabel(i18n("Error log:"), this);
- TQLabel *l3 = new TQLabel(i18n("Page log:"), this);
- TQLabel *l4 = new TQLabel(i18n("Max log size:"), this);
- TQLabel *l5 = new TQLabel(i18n("Log level:"), this);
-
- loglevel_->setCurrentItem(2);
-
- TQGridLayout *m1 = new TQGridLayout(this, 6, 2, 10, 7);
- m1->setRowStretch(5, 1);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(l3, 2, 0, Qt::AlignRight);
- m1->addWidget(l4, 3, 0, Qt::AlignRight);
- m1->addWidget(l5, 4, 0, Qt::AlignRight);
- m1->addWidget(accesslog_, 0, 1);
- m1->addWidget(errorlog_, 1, 1);
- m1->addWidget(pagelog_, 2, 1);
- m1->addWidget(maxlogsize_, 3, 1);
- m1->addWidget(loglevel_, 4, 1);
-}
-
-bool CupsdLogPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- accesslog_->setURL(conf_->accesslog_);
- errorlog_->setURL(conf_->errorlog_);
- pagelog_->setURL(conf_->pagelog_);
- maxlogsize_->setSizeString(conf_->maxlogsize_);
- loglevel_->setCurrentItem(conf_->loglevel_);
-
- return true;
-}
-
-bool CupsdLogPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->accesslog_ = accesslog_->url();
- conf->errorlog_ = errorlog_->url();
- conf->pagelog_ = pagelog_->url();
- conf->maxlogsize_ = maxlogsize_->sizeString();
- conf->loglevel_ = loglevel_->currentItem();
-
- return true;
-}
-
-void CupsdLogPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(accesslog_, conf->comments_.toolTip("accesslog"));
- TQWhatsThis::add(errorlog_, conf->comments_.toolTip("errorlog"));
- TQWhatsThis::add(pagelog_, conf->comments_.toolTip("pagelog"));
- TQWhatsThis::add(maxlogsize_, conf->comments_.toolTip("maxlogsize"));
- TQWhatsThis::add(loglevel_, conf->comments_.toolTip("loglevel"));
-}
diff --git a/kdeprint/cups/cupsdconf2/cupsdlogpage.h b/kdeprint/cups/cupsdconf2/cupsdlogpage.h
deleted file mode 100644
index 618f612be..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdlogpage.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDLOGPAGE_H
-#define CUPSDLOGPAGE_H
-
-#include "cupsdpage.h"
-
-class QDirLineEdit;
-class SizeWidget;
-class TQComboBox;
-
-class CupsdLogPage : public CupsdPage
-{
-public:
- CupsdLogPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-private:
- QDirLineEdit *accesslog_, *errorlog_, *pagelog_;
- TQComboBox *loglevel_;
- SizeWidget *maxlogsize_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdnetworkpage.cpp b/kdeprint/cups/cupsdconf2/cupsdnetworkpage.cpp
deleted file mode 100644
index 9edca5868..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdnetworkpage.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdnetworkpage.h"
-#include "cupsdconf.h"
-#include "editlist.h"
-#include "portdialog.h"
-#include "sizewidget.h"
-
-#include <tqlabel.h>
-#include <tqcheckbox.h>
-#include <tqcombobox.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-#include <knuminput.h>
-
-CupsdNetworkPage::CupsdNetworkPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Network"));
- setHeader(i18n("Network Settings"));
- setPixmap("network");
-
- keepalive_ = new TQCheckBox(i18n("Keep alive"), this);
- keepalivetimeout_ = new KIntNumInput(this);
- maxclients_ = new KIntNumInput(this);
- maxrequestsize_ = new SizeWidget(this);
- clienttimeout_ = new KIntNumInput(this);
- hostnamelookup_ = new TQComboBox(this);
- listen_ = new EditList(this);
-
- keepalivetimeout_->setRange(0, 10000, 1, true);
- keepalivetimeout_->setSteps(1, 10);
- keepalivetimeout_->setSpecialValueText(i18n("Unlimited"));
- keepalivetimeout_->setSuffix(i18n(" sec"));
-
- maxclients_->setRange(1, 1000, 1, true);
- maxclients_->setSteps(1, 10);
-
- clienttimeout_->setRange(0, 10000, 1, true);
- clienttimeout_->setSteps(1, 10);
- clienttimeout_->setSpecialValueText(i18n("Unlimited"));
- clienttimeout_->setSuffix(i18n(" sec"));
-
- hostnamelookup_->insertItem(i18n("Off"));
- hostnamelookup_->insertItem(i18n("On"));
- hostnamelookup_->insertItem(i18n("Double"));
-
- TQLabel *l1 = new TQLabel(i18n("Hostname lookups:"), this);
- TQLabel *l2 = new TQLabel(i18n("Keep-alive timeout:"), this);
- TQLabel *l3 = new TQLabel(i18n("Max clients:"), this);
- TQLabel *l4 = new TQLabel(i18n("Max request size:"), this);
- TQLabel *l5 = new TQLabel(i18n("Client timeout:"), this);
- TQLabel *l6 = new TQLabel(i18n("Listen to:"), this);
-
- TQGridLayout *m1 = new TQGridLayout(this, 8, 2, 10, 7);
- m1->setRowStretch(7, 1);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 2, 0, Qt::AlignRight);
- m1->addWidget(l3, 3, 0, Qt::AlignRight);
- m1->addWidget(l4, 4, 0, Qt::AlignRight);
- m1->addWidget(l5, 5, 0, Qt::AlignRight);
- m1->addWidget(l6, 6, 0, Qt::AlignTop|Qt::AlignRight);
- m1->addWidget(keepalive_, 1, 1);
- m1->addWidget(hostnamelookup_, 0, 1);
- m1->addWidget(keepalivetimeout_, 2, 1);
- m1->addWidget(maxclients_, 3, 1);
- m1->addWidget(maxrequestsize_, 4, 1);
- m1->addWidget(clienttimeout_, 5, 1);
- m1->addWidget(listen_, 6, 1);
-
- connect(listen_, TQT_SIGNAL(add()), TQT_SLOT(slotAdd()));
- connect(listen_, TQT_SIGNAL(edit(int)), TQT_SLOT(slotEdit(int)));
- connect(listen_, TQT_SIGNAL(defaultList()), TQT_SLOT(slotDefaultList()));
- connect(keepalive_, TQT_SIGNAL(toggled(bool)), keepalivetimeout_, TQT_SLOT(setEnabled(bool)));
- keepalive_->setChecked(true);
-}
-
-bool CupsdNetworkPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- hostnamelookup_->setCurrentItem(conf_->hostnamelookup_);
- keepalive_->setChecked(conf_->keepalive_);
- keepalivetimeout_->setValue(conf_->keepalivetimeout_);
- maxclients_->setValue(conf_->maxclients_);
- maxrequestsize_->setSizeString(conf_->maxrequestsize_);
- clienttimeout_->setValue(conf_->clienttimeout_);
- listen_->insertItems(conf_->listenaddresses_);
-
- return true;
-}
-
-bool CupsdNetworkPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->hostnamelookup_ = hostnamelookup_->currentItem();
- conf->keepalive_ = keepalive_->isChecked();
- conf->keepalivetimeout_ = keepalivetimeout_->value();
- conf->maxclients_ = maxclients_->value();
- conf->maxrequestsize_ = maxrequestsize_->sizeString();
- conf->clienttimeout_ = clienttimeout_->value();
- conf->listenaddresses_ = listen_->items();
-
- return true;
-}
-
-void CupsdNetworkPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(hostnamelookup_, conf->comments_.toolTip("hostnamelookups"));
- TQWhatsThis::add(keepalive_, conf->comments_.toolTip("keepalive"));
- TQWhatsThis::add(keepalivetimeout_, conf->comments_.toolTip("keepalivetimeout"));
- TQWhatsThis::add(maxclients_, conf->comments_.toolTip("maxclients"));
- TQWhatsThis::add(maxrequestsize_, conf->comments_.toolTip("maxrequestsize"));
- TQWhatsThis::add(clienttimeout_, conf->comments_.toolTip("timeout"));
- TQWhatsThis::add(listen_, conf->comments_.toolTip("listen"));
-}
-
-void CupsdNetworkPage::slotAdd()
-{
- TQString s = PortDialog::newListen(this, conf_);
- if (!s.isEmpty())
- listen_->insertItem(s);
-}
-
-void CupsdNetworkPage::slotEdit(int index)
-{
- TQString s = listen_->text(index);
- s = PortDialog::editListen(s, this, conf_);
- if (!s.isEmpty())
- listen_->setText(index, s);
-}
-
-void CupsdNetworkPage::slotDefaultList()
-{
- listen_->clear();
- TQStringList l;
- l << "Listen *:631";
- listen_->insertItems(l);
-}
-
-#include "cupsdnetworkpage.moc"
diff --git a/kdeprint/cups/cupsdconf2/cupsdnetworkpage.h b/kdeprint/cups/cupsdconf2/cupsdnetworkpage.h
deleted file mode 100644
index be46c280f..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdnetworkpage.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDNETWORKPAGE_H
-#define CUPSDNETWORKPAGE_H
-
-#include "cupsdpage.h"
-
-class KIntNumInput;
-class TQCheckBox;
-class TQComboBox;
-class EditList;
-class SizeWidget;
-
-class CupsdNetworkPage : public CupsdPage
-{
- Q_OBJECT
-
-public:
- CupsdNetworkPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-protected slots:
- void slotAdd();
- void slotEdit(int);
- void slotDefaultList();
-
-private:
- KIntNumInput *keepalivetimeout_, *maxclients_, *clienttimeout_;
- TQComboBox *hostnamelookup_;
- TQCheckBox *keepalive_;
- EditList *listen_;
- SizeWidget *maxrequestsize_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdpage.cpp b/kdeprint/cups/cupsdconf2/cupsdpage.cpp
deleted file mode 100644
index 68bdde7a6..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdpage.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdpage.h"
-
-CupsdPage::CupsdPage(TQWidget *parent, const char *name)
- : TQWidget(parent, name)
-{
- conf_ = 0;
-}
-
-CupsdPage::~CupsdPage()
-{
-}
-
-#include "cupsdpage.moc"
diff --git a/kdeprint/cups/cupsdconf2/cupsdpage.h b/kdeprint/cups/cupsdconf2/cupsdpage.h
deleted file mode 100644
index aadbd54b9..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdpage.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDPAGE_H
-#define CUPSDPAGE_H
-
-#include <tqwidget.h>
-
-struct CupsdConf;
-
-class CupsdPage : public TQWidget
-{
- Q_OBJECT
-public:
- CupsdPage(TQWidget *parent = 0, const char *name = 0);
- virtual ~CupsdPage();
-
- virtual bool loadConfig(CupsdConf *conf, TQString& msg) = 0;
- virtual bool saveConfig(CupsdConf *conf, TQString& msg) = 0;
- virtual void setInfos(CupsdConf*) {}
-
- TQString pageLabel() const { return label_; }
- TQString header() const { return header_; }
- TQString pixmap() const { return pixmap_; }
-
-protected:
- void setPageLabel(const TQString& s) { label_ = s; }
- void setHeader(const TQString& s) { header_ = s; }
- void setPixmap(const TQString& s) { pixmap_ = s; }
-
-protected:
- CupsdConf *conf_;
- QString label_;
- QString header_;
- QString pixmap_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdsecuritypage.cpp b/kdeprint/cups/cupsdconf2/cupsdsecuritypage.cpp
deleted file mode 100644
index 092e1a7e5..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdsecuritypage.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdsecuritypage.h"
-#include "cupsdconf.h"
-#include "qdirlineedit.h"
-#include "editlist.h"
-#include "locationdialog.h"
-
-#include <tqlabel.h>
-#include <tqlineedit.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-#include <kiconloader.h>
-#include <kmessagebox.h>
-
-CupsdSecurityPage::CupsdSecurityPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Security"));
- setHeader(i18n("Security Settings"));
- setPixmap("password");
- locs_.setAutoDelete(true);
-
- remoteroot_ = new TQLineEdit(this);
- systemgroup_ = new TQLineEdit(this);
- encryptcert_ = new QDirLineEdit(true, this);
- encryptkey_ = new QDirLineEdit(true, this);
- locations_ = new EditList(this);
-
- TQLabel *l1 = new TQLabel(i18n("Remote root user:"), this);
- TQLabel *l2 = new TQLabel(i18n("System group:"), this);
- TQLabel *l3 = new TQLabel(i18n("Encryption certificate:"), this);
- TQLabel *l4 = new TQLabel(i18n("Encryption key:"), this);
- TQLabel *l5 = new TQLabel(i18n("Locations:"), this);
-
- TQGridLayout *m1 = new TQGridLayout(this, 6, 2, 10, 7);
- m1->setRowStretch(5, 1);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(l3, 2, 0, Qt::AlignRight);
- m1->addWidget(l4, 3, 0, Qt::AlignRight);
- m1->addWidget(l5, 4, 0, Qt::AlignRight|Qt::AlignTop);
- m1->addWidget(remoteroot_, 0, 1);
- m1->addWidget(systemgroup_, 1, 1);
- m1->addWidget(encryptcert_, 2, 1);
- m1->addWidget(encryptkey_, 3, 1);
- m1->addWidget(locations_, 4, 1);
-
- connect(locations_, TQT_SIGNAL(add()), TQT_SLOT(slotAdd()));
- connect(locations_, TQT_SIGNAL(edit(int)), TQT_SLOT(slotEdit(int)));
- connect(locations_, TQT_SIGNAL(defaultList()), TQT_SLOT(slotDefaultList()));
- connect(locations_, TQT_SIGNAL(deleted(int)), TQT_SLOT(slotDeleted(int)));
-}
-
-bool CupsdSecurityPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- remoteroot_->setText(conf_->remoteroot_);
- systemgroup_->setText(conf_->systemgroup_);
- encryptcert_->setURL(conf_->encryptcert_);
- encryptkey_->setURL(conf_->encryptkey_);
- locs_.clear();
- TQPtrListIterator<CupsLocation> it(conf_->locations_);
- for (;it.current();++it)
- {
- locs_.append(new CupsLocation(*(it.current())));
- if (it.current()->resource_)
- locations_->insertItem(SmallIcon(CupsResource::typeToIconName(it.current()->resource_->type_)), it.current()->resource_->text_);
- else
- locations_->insertItem(it.current()->resourcename_);
- }
-
- return true;
-}
-
-bool CupsdSecurityPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->remoteroot_ = remoteroot_->text();
- conf->systemgroup_ = systemgroup_->text();
- conf->encryptcert_ = encryptcert_->url();
- conf->encryptkey_ = encryptkey_->url();
- conf->locations_.clear();
- TQPtrListIterator<CupsLocation> it(locs_);
- for (;it.current();++it)
- conf->locations_.append(new CupsLocation(*(it.current())));
-
- return true;
-}
-
-void CupsdSecurityPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(remoteroot_, conf->comments_.toolTip("remoteroot"));
- TQWhatsThis::add(systemgroup_, conf->comments_.toolTip("systemgroup"));
- TQWhatsThis::add(encryptcert_, conf->comments_.toolTip("servercertificate"));
- TQWhatsThis::add(encryptkey_, conf->comments_.toolTip("serverkey"));
- TQWhatsThis::add(locations_, conf->comments_.toolTip("locationsshort"));
-}
-
-void CupsdSecurityPage::slotAdd()
-{
- CupsLocation *loc = new CupsLocation;
- if (LocationDialog::newLocation(loc, this, conf_))
- {
- int index(-1);
- for (locs_.first(); locs_.current(); locs_.next())
- if (locs_.current()->resource_ == loc->resource_)
- {
- if (KMessageBox::warningContinueCancel(this, i18n("This location is already defined. Do you want to replace the existing one?"),TQString::null,i18n("Replace")) == KMessageBox::Continue)
- {
- index = locs_.tqat();
- locs_.remove();
- break;
- }
- else
- {
- delete loc;
- return;
- }
- }
-
- if (index == -1)
- index = locs_.count();
- locs_.insert(index, loc);
- locations_->insertItem(SmallIcon(loc->resource_->typeToIconName(loc->resource_->type_)), loc->resource_->text_);
- }
- else
- delete loc;
-}
-
-void CupsdSecurityPage::slotEdit(int index)
-{
- CupsLocation *loc = locs_.tqat(index);
- LocationDialog::editLocation(loc, this, conf_);
-}
-
-void CupsdSecurityPage::slotDefaultList()
-{
- locs_.clear();
- locations_->clear();
-}
-
-void CupsdSecurityPage::slotDeleted(int index)
-{
- if (index >= 0 && index < (int)(locs_.count()))
- locs_.remove(index);
-}
-
-#include "cupsdsecuritypage.moc"
diff --git a/kdeprint/cups/cupsdconf2/cupsdsecuritypage.h b/kdeprint/cups/cupsdconf2/cupsdsecuritypage.h
deleted file mode 100644
index 5e97c1cf8..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdsecuritypage.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDSECURITYPAGE_H
-#define CUPSDSECURITYPAGE_H
-
-#include "cupsdpage.h"
-#include <tqptrlist.h>
-
-class TQLineEdit;
-class EditList;
-class QDirLineEdit;
-struct CupsLocation;
-
-class CupsdSecurityPage : public CupsdPage
-{
- Q_OBJECT
-
-public:
- CupsdSecurityPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-protected slots:
- void slotAdd();
- void slotEdit(int);
- void slotDefaultList();
- void slotDeleted(int);
-
-private:
- TQLineEdit *remoteroot_, *systemgroup_;
- QDirLineEdit *encryptcert_, *encryptkey_;
- EditList *locations_;
-
- TQPtrList<CupsLocation> locs_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdserverpage.cpp b/kdeprint/cups/cupsdconf2/cupsdserverpage.cpp
deleted file mode 100644
index cfd731430..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdserverpage.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdserverpage.h"
-#include "cupsdconf.h"
-
-#include <tqlineedit.h>
-#include <tqlabel.h>
-#include <tqcheckbox.h>
-#include <tqcombobox.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-
-int findComboItem(TQComboBox *cb, const TQString& str)
-{
- for (int i=0; i<cb->count(); i++)
- if (cb->text(i) == str)
- return i;
- return (-1);
-}
-
-CupsdServerPage::CupsdServerPage(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setPageLabel(i18n("Server"));
- setHeader(i18n("Server Settings"));
- setPixmap("gear");
-
- servername_ = new TQLineEdit(this);
- serveradmin_ = new TQLineEdit(this);
- otherclassname_ = new TQLineEdit(this);
- language_ = new TQLineEdit(this);
- printcap_ = new TQLineEdit(this);
- classification_ = new TQComboBox(this);
- charset_ = new TQComboBox(this);
- printcapformat_ = new TQComboBox(this);
- classoverride_ = new TQCheckBox(i18n("Allow overrides"), this);
-
- classification_->insertItem(i18n("None"));
- classification_->insertItem(i18n("Classified"));
- classification_->insertItem(i18n("Confidential"));
- classification_->insertItem(i18n("Secret"));
- classification_->insertItem(i18n("Top Secret"));
- classification_->insertItem(i18n("Unclassified"));
- classification_->insertItem(i18n("Other"));
-
- charset_->insertItem("UTF-8");
- charset_->insertItem("ISO-8859-1");
- charset_->insertItem("ISO-8859-2");
- charset_->insertItem("ISO-8859-3");
- charset_->insertItem("ISO-8859-4");
- charset_->insertItem("ISO-8859-5");
- charset_->insertItem("ISO-8859-6");
- charset_->insertItem("ISO-8859-7");
- charset_->insertItem("ISO-8859-8");
- charset_->insertItem("ISO-8859-9");
- charset_->insertItem("ISO-8859-10");
- charset_->insertItem("ISO-8859-13");
- charset_->insertItem("ISO-8859-14");
- charset_->insertItem("ISO-8859-15");
-
- printcapformat_->insertItem("BSD");
- printcapformat_->insertItem("SOLARIS");
-
- TQLabel *l1 = new TQLabel(i18n("Server name:"), this);
- TQLabel *l2 = new TQLabel(i18n("Server administrator:"), this);
- TQLabel *l3 = new TQLabel(i18n("Classification:"), this);
- TQLabel *l4 = new TQLabel(i18n("Default character set:"), this);
- TQLabel *l5 = new TQLabel(i18n("Default language:"), this);
- TQLabel *l6 = new TQLabel(i18n("Printcap file:"), this);
- TQLabel *l7 = new TQLabel(i18n("Printcap format:"), this);
-
- connect(classification_, TQT_SIGNAL(activated(int)), TQT_SLOT(classChanged(int)));
- classification_->setCurrentItem(0);
- charset_->setCurrentItem(0);
- printcapformat_->setCurrentItem(0);
- classChanged(0);
-
- TQGridLayout *m1 = new TQGridLayout(this, 9, 2, 10, 7);
- m1->setRowStretch(8, 1);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(l3, 2, 0, Qt::AlignRight);
- m1->addWidget(l4, 4, 0, Qt::AlignRight);
- m1->addWidget(l5, 5, 0, Qt::AlignRight);
- m1->addWidget(l6, 6, 0, Qt::AlignRight);
- m1->addWidget(l7, 7, 0, Qt::AlignRight);
- m1->addWidget(servername_, 0, 1);
- m1->addWidget(serveradmin_, 1, 1);
- m1->addWidget(charset_, 4, 1);
- m1->addWidget(language_, 5, 1);
- m1->addWidget(printcap_, 6, 1);
- m1->addWidget(printcapformat_, 7, 1);
- TQHBoxLayout *m2 = new TQHBoxLayout(0, 0, 5);
- m1->addLayout(m2, 2, 1);
- m2->addWidget(classification_);
- m2->addWidget(otherclassname_);
- TQWidget *w = new TQWidget(this);
- w->setFixedWidth(20);
- TQHBoxLayout *m3 = new TQHBoxLayout(0, 0, 0);
- m1->addLayout(m3, 3, 1);
- m3->addWidget(w);
- m3->addWidget(classoverride_);
-}
-
-bool CupsdServerPage::loadConfig(CupsdConf *conf, TQString&)
-{
- conf_ = conf;
- servername_->setText(conf_->servername_);
- serveradmin_->setText(conf_->serveradmin_);
- classification_->setCurrentItem(conf_->classification_);
- classChanged(conf_->classification_);
- if (conf->classification_ != CLASS_NONE)
- classoverride_->setChecked(conf_->classoverride_);
- if (conf->classification_ == CLASS_OTHER)
- otherclassname_->setText(conf_->otherclassname_);
- int index = findComboItem(charset_, conf_->charset_.upper());
- if (index != -1)
- charset_->setCurrentItem(index);
- language_->setText(conf_->language_);
- printcap_->setText(conf_->printcap_);
- printcapformat_->setCurrentItem(conf_->printcapformat_);
-
- return true;
-}
-
-bool CupsdServerPage::saveConfig(CupsdConf *conf, TQString&)
-{
- conf->servername_ = servername_->text();
- conf->serveradmin_ = serveradmin_->text();
- conf->classification_ = classification_->currentItem();
- if (conf->classification_ != CLASS_NONE)
- conf->classoverride_ = classoverride_->isChecked();
- if (conf->classification_ == CLASS_OTHER)
- conf->otherclassname_ = otherclassname_->text();
- conf->charset_ = charset_->currentText();
- conf->language_ = language_->text();
- conf->printcap_ = printcap_->text();
- conf->printcapformat_ = printcapformat_->currentItem();
-
- return true;
-}
-
-void CupsdServerPage::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(servername_, conf->comments_.toolTip("servername"));
- TQWhatsThis::add(serveradmin_, conf->comments_.toolTip("serveradmin"));
- TQWhatsThis::add(classification_, conf->comments_.toolTip("classification"));
- TQWhatsThis::add(classoverride_, conf->comments_.toolTip("classifyoverride"));
- TQWhatsThis::add(charset_, conf->comments_.toolTip("defaultcharset"));
- TQWhatsThis::add(language_, conf->comments_.toolTip("defaultlanguage"));
- TQWhatsThis::add(printcap_, conf->comments_.toolTip("printcap"));
- TQWhatsThis::add(printcapformat_, conf->comments_.toolTip("printcapformat"));
-}
-
-void CupsdServerPage::classChanged(int index)
-{
- classoverride_->setEnabled(index != 0);
- otherclassname_->setEnabled(index == CLASS_OTHER);
-}
-
-#include "cupsdserverpage.moc"
diff --git a/kdeprint/cups/cupsdconf2/cupsdserverpage.h b/kdeprint/cups/cupsdconf2/cupsdserverpage.h
deleted file mode 100644
index f1f9eed2f..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdserverpage.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDSERVERPAGE_H
-#define CUPSDSERVERPAGE_H
-
-#include "cupsdpage.h"
-
-class TQLineEdit;
-class TQCheckBox;
-class TQComboBox;
-
-class CupsdServerPage : public CupsdPage
-{
- Q_OBJECT
-
-public:
- CupsdServerPage(TQWidget *parent = 0, const char *name = 0);
-
- bool loadConfig(CupsdConf*, TQString&);
- bool saveConfig(CupsdConf*, TQString&);
- void setInfos(CupsdConf*);
-
-protected slots:
- void classChanged(int);
-
-private:
- TQLineEdit *servername_, *serveradmin_, *language_, *printcap_, *otherclassname_;
- TQComboBox *classification_, *charset_, *printcapformat_;
- TQCheckBox *classoverride_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/cupsdsplash.cpp b/kdeprint/cups/cupsdconf2/cupsdsplash.cpp
deleted file mode 100644
index c26b65fd7..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdsplash.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsdsplash.h"
-
-#include <tqlabel.h>
-#include <tqpixmap.h>
-#include <tqlayout.h>
-#include <klocale.h>
-#include <kstandarddirs.h>
-
-CupsdSplash::CupsdSplash(TQWidget *parent, const char *name)
- : CupsdPage(parent, name)
-{
- setHeader(i18n("Welcome to the CUPS Server Configuration Tool"));
- setPageLabel(i18n("Welcome"));
- setPixmap("go");
-
- TQVBoxLayout *main_ = new TQVBoxLayout(this, 10, 10);
- TQHBoxLayout *sub_ = new TQHBoxLayout(0, 0, 10);
- main_->addLayout(sub_);
-
- TQLabel *cupslogo_ = new TQLabel(this);
- TQString logopath = locate("data", TQString("tdeprint/cups_logo.png"));
- cupslogo_->setPixmap(logopath.isEmpty() ? TQPixmap() : TQPixmap(logopath));
- cupslogo_->tqsetAlignment(Qt::AlignCenter);
- TQLabel *kupslogo_ = new TQLabel(this);
- logopath = locate("data", TQString("tdeprint/kde_logo.png"));
- kupslogo_->setPixmap(logopath.isEmpty() ? TQPixmap() : TQPixmap(logopath));
- kupslogo_->tqsetAlignment(Qt::AlignCenter);
-
- TQLabel *helptxt_ = new TQLabel(this);
- helptxt_->setText(i18n( "<p>This tool will help you to configure graphically the server of the CUPS printing system. "
- "The available options are grouped into sets of related topics and can be accessed "
- "quickly through the icon view located on the left. Each option has a default value that is "
- "shown if it has not been previously set. This default value should be OK in most cases.</p><br>"
- "<p>You can access a short help message for each option using either the '?' button in the "
- "the title bar, or the button at the bottom of this dialog.</p>"));
-
- sub_->addWidget(cupslogo_);
- sub_->addWidget(kupslogo_);
- main_->addWidget(helptxt_, 1);
-}
-
-CupsdSplash::~CupsdSplash()
-{
-}
-
-bool CupsdSplash::loadConfig(CupsdConf*, TQString&)
-{
- return true;
-}
-
-bool CupsdSplash::saveConfig(CupsdConf*, TQString&)
-{
- return true;
-}
diff --git a/kdeprint/cups/cupsdconf2/cupsdsplash.h b/kdeprint/cups/cupsdconf2/cupsdsplash.h
deleted file mode 100644
index f484958d4..000000000
--- a/kdeprint/cups/cupsdconf2/cupsdsplash.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSDSPLASH_H
-#define CUPSDSPLASH_H
-
-#include "cupsdpage.h"
-
-class CupsdSplash : public CupsdPage
-{
-public:
- CupsdSplash(TQWidget *parent = 0, const char *name = 0);
- ~CupsdSplash();
-
- bool loadConfig(CupsdConf *conf, TQString& msg);
- bool saveConfig(CupsdConf *conf, TQString& msg);
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/editlist.cpp b/kdeprint/cups/cupsdconf2/editlist.cpp
deleted file mode 100644
index 754c9659e..000000000
--- a/kdeprint/cups/cupsdconf2/editlist.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "editlist.h"
-
-#include <klistbox.h>
-#include <kpushbutton.h>
-#include <tqlayout.h>
-#include <klocale.h>
-#include <kiconloader.h>
-#include <kguiitem.h>
-
-EditList::EditList(TQWidget *parent, const char *name)
- : TQWidget(parent, name)
-{
- list_ = new KListBox(this);
- addbtn_ = new KPushButton(KGuiItem(i18n("Add..."), "filenew"), this);
- editbtn_ = new KPushButton(KGuiItem(i18n("Edit..."), "edit"), this);
- delbtn_ = new KPushButton(KGuiItem(i18n("Delete"), "editdelete"), this);
- defbtn_ = new KPushButton(KGuiItem(i18n("Default List"), "history"), this);
-
- TQGridLayout *m1 = new TQGridLayout(this, 4, 2, 0, 0);
- m1->setColStretch(0, 1);
- m1->addMultiCellWidget(list_, 0, 3, 0, 1);
- m1->addWidget(addbtn_, 0, 1);
- m1->addWidget(editbtn_, 1, 1);
- m1->addWidget(delbtn_, 2, 1);
- m1->addWidget(defbtn_, 3, 1);
-
- connect(addbtn_, TQT_SIGNAL(clicked()), TQT_SIGNAL(add()));
- connect(editbtn_, TQT_SIGNAL(clicked()), TQT_SLOT(slotEdit()));
- connect(delbtn_, TQT_SIGNAL(clicked()), TQT_SLOT(slotDelete()));
- connect(defbtn_, TQT_SIGNAL(clicked()), TQT_SIGNAL(defaultList()));
- connect(list_, TQT_SIGNAL(highlighted(int)), TQT_SLOT(slotSelected(int)));
- slotSelected(-1);
-}
-
-void EditList::slotEdit()
-{
- int index = list_->currentItem();
- if (index >= 0)
- emit edit(index);
-}
-
-void EditList::slotDelete()
-{
- int index = list_->currentItem();
- list_->removeItem(index);
- slotSelected((list_->count() > 0 ? list_->currentItem() : -1));
- emit deleted(index);
-}
-
-void EditList::slotSelected(int index)
-{
- editbtn_->setEnabled(index >= 0);
- delbtn_->setEnabled(index >= 0);
-}
-
-TQString EditList::text(int index)
-{
- return list_->text(index);
-}
-
-void EditList::setText(int index, const TQString& s)
-{
- if (list_->text(index) != s)
- {
- TQListBoxItem *it = list_->findItem(s, TQt::ExactMatch);
- if (!it)
- list_->changeItem(s, index);
- else
- list_->removeItem(index);
- }
-}
-
-void EditList::clear()
-{
- list_->clear();
- slotSelected(-1);
-}
-
-void EditList::insertItem(const TQString& s)
-{
- if (!list_->findItem(s, TQt::ExactMatch))
- list_->insertItem(s);
-}
-
-void EditList::insertItem(const TQPixmap& icon, const TQString& s)
-{
- if (!list_->findItem(s, TQt::ExactMatch))
- list_->insertItem(icon, s);
-}
-
-void EditList::insertItems(const TQStringList& l)
-{
- for (TQStringList::ConstIterator it=l.begin(); it!=l.end(); ++it)
- insertItem(*it);
-}
-
-TQStringList EditList::items()
-{
- TQStringList l;
- for (uint i=0; i<list_->count(); i++)
- l << list_->text(i);
- return l;
-}
-
-#include "editlist.moc"
diff --git a/kdeprint/cups/cupsdconf2/editlist.h b/kdeprint/cups/cupsdconf2/editlist.h
deleted file mode 100644
index a0fc7ee0a..000000000
--- a/kdeprint/cups/cupsdconf2/editlist.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef EDITLIST_H
-#define EDITLIST_H
-
-#include <tqwidget.h>
-#include <tqpixmap.h>
-
-class KListBox;
-class TQPushButton;
-
-class EditList : public TQWidget
-{
- Q_OBJECT
-
-public:
- EditList(TQWidget *parent = 0, const char *name = 0);
-
- TQString text(int);
- void setText(int, const TQString&);
- void insertItem(const TQString&);
- void insertItem(const TQPixmap&, const TQString&);
- void insertItems(const TQStringList&);
- TQStringList items();
- void clear();
-
-signals:
- void add();
- void edit(int);
- void defaultList();
- void deleted(int);
-
-protected slots:
- void slotDelete();
- void slotEdit();
- void slotSelected(int);
-
-private:
- KListBox *list_;
- TQPushButton *addbtn_, *editbtn_, *delbtn_, *defbtn_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/kde_logo.png b/kdeprint/cups/cupsdconf2/kde_logo.png
deleted file mode 100644
index 6ba204607..000000000
--- a/kdeprint/cups/cupsdconf2/kde_logo.png
+++ /dev/null
Binary files differ
diff --git a/kdeprint/cups/cupsdconf2/locationdialog.cpp b/kdeprint/cups/cupsdconf2/locationdialog.cpp
deleted file mode 100644
index 7e1858cc7..000000000
--- a/kdeprint/cups/cupsdconf2/locationdialog.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "locationdialog.h"
-#include "cupsdconf.h"
-#include "editlist.h"
-#include "addressdialog.h"
-
-#include <tqlineedit.h>
-#include <tqcombobox.h>
-#include <tqlayout.h>
-#include <tqlabel.h>
-#include <tqpushbutton.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-#include <kiconloader.h>
-
-LocationDialog::LocationDialog(TQWidget *parent, const char *name)
- : KDialogBase(parent, name, true, TQString::null, Ok|Cancel, Ok, true)
-{
- TQWidget *dummy = new TQWidget(this);
- setMainWidget(dummy);
- resource_ = new TQComboBox(dummy);
- authtype_ = new TQComboBox(dummy);
- authclass_ = new TQComboBox(dummy);
- authname_ = new TQLineEdit(dummy);
- encryption_ = new TQComboBox(dummy);
- satisfy_ = new TQComboBox(dummy);
- order_ = new TQComboBox(dummy);
- addresses_ = new EditList(dummy);
-
- authtype_->insertItem(i18n("None"));
- authtype_->insertItem(i18n("Basic"));
- authtype_->insertItem(i18n("Digest"));
-
- authclass_->insertItem(i18n("None"));
- authclass_->insertItem(i18n("User"));
- authclass_->insertItem(i18n("System"));
- authclass_->insertItem(i18n("Group"));
-
- encryption_->insertItem(i18n("Always"));
- encryption_->insertItem(i18n("Never"));
- encryption_->insertItem(i18n("Required"));
- encryption_->insertItem(i18n("If Requested"));
-
- satisfy_->insertItem(i18n("All"));
- satisfy_->insertItem(i18n("Any"));
-
- order_->insertItem(i18n("Allow, Deny"));
- order_->insertItem(i18n("Deny, Allow"));
-
- connect(authclass_, TQT_SIGNAL(activated(int)), TQT_SLOT(slotClassChanged(int)));
- connect(authtype_, TQT_SIGNAL(activated(int)), TQT_SLOT(slotTypeChanged(int)));
-
- TQLabel *l1 = new TQLabel(i18n("Resource:"), dummy);
- TQLabel *l2 = new TQLabel(i18n("Authentication:"), dummy);
- TQLabel *l3 = new TQLabel(i18n("Class:"), dummy);
- TQLabel *l4 = new TQLabel(i18n("Names:"), dummy);
- TQLabel *l5 = new TQLabel(i18n("Encryption:"), dummy);
- TQLabel *l6 = new TQLabel(i18n("Satisfy:"), dummy);
- TQLabel *l7 = new TQLabel(i18n("ACL order:"), dummy);
- TQLabel *l8 = new TQLabel(i18n("ACL addresses:"),dummy);
-
- TQGridLayout *m1 = new TQGridLayout(dummy, 8, 2, 0, 5);
- m1->setColStretch(1, 1);
- m1->addWidget(l1, 0, 0, Qt::AlignRight);
- m1->addWidget(l2, 1, 0, Qt::AlignRight);
- m1->addWidget(l3, 2, 0, Qt::AlignRight);
- m1->addWidget(l4, 3, 0, Qt::AlignRight);
- m1->addWidget(l5, 4, 0, Qt::AlignRight);
- m1->addWidget(l6, 5, 0, Qt::AlignRight);
- m1->addWidget(l7, 6, 0, Qt::AlignRight);
- m1->addWidget(l8, 7, 0, Qt::AlignRight|Qt::AlignTop);
- m1->addWidget(resource_, 0, 1);
- m1->addWidget(authtype_, 1, 1);
- m1->addWidget(authclass_, 2, 1);
- m1->addWidget(authname_, 3, 1);
- m1->addWidget(encryption_, 4, 1);
- m1->addWidget(satisfy_, 5, 1);
- m1->addWidget(order_, 6, 1);
- m1->addWidget(addresses_, 7, 1);
-
- setCaption(i18n("Location"));
- resize(400, 100);
-
- slotTypeChanged(AUTHTYPE_NONE);
- slotClassChanged(AUTHCLASS_ANONYMOUS);
- encryption_->setCurrentItem(ENCRYPT_IFREQUESTED);
-
- connect(addresses_, TQT_SIGNAL(add()), TQT_SLOT(slotAdd()));
- connect(addresses_, TQT_SIGNAL(edit(int)), TQT_SLOT(slotEdit(int)));
- connect(addresses_, TQT_SIGNAL(defaultList()), TQT_SLOT(slotDefaultList()));
-}
-
-void LocationDialog::setInfos(CupsdConf *conf)
-{
- conf_ = conf;
-
- TQPtrListIterator<CupsResource> it(conf->resources_);
- for (; it.current(); ++it)
- resource_->insertItem(SmallIcon(it.current()->typeToIconName(it.current()->type_)), it.current()->text_);
-
- TQWhatsThis::add(encryption_, conf_->comments_.toolTip("encryption"));
- TQWhatsThis::add(order_, conf_->comments_.toolTip("order"));
- TQWhatsThis::add(authclass_, conf_->comments_.toolTip("authclass"));
- TQWhatsThis::add(authtype_, conf_->comments_.toolTip("authtype"));
- TQWhatsThis::add(authname_, conf_->comments_.toolTip("authname"));
- TQWhatsThis::add(satisfy_, conf_->comments_.toolTip("satisfy"));
- TQWhatsThis::add(addresses_, conf_->comments_.toolTip("allowdeny"));
-}
-
-void LocationDialog::fillLocation(CupsLocation *loc)
-{
- loc->resource_ = conf_->resources_.tqat(resource_->currentItem());
- loc->resourcename_ = loc->resource_->path_;
- loc->authtype_ = authtype_->currentItem();
- loc->authclass_ = (loc->authtype_ == AUTHTYPE_NONE ? AUTHCLASS_ANONYMOUS : authclass_->currentItem());
- loc->authname_ = (loc->authclass_ == AUTHCLASS_USER || loc->authclass_ == AUTHCLASS_GROUP ? authname_->text() : TQString::null);
- loc->encryption_ = encryption_->currentItem();
- loc->satisfy_ = satisfy_->currentItem();
- loc->order_ = order_->currentItem();
- loc->addresses_ = addresses_->items();
-}
-
-void LocationDialog::setLocation(CupsLocation *loc)
-{
- int index = conf_->resources_.findRef(loc->resource_);
- resource_->setCurrentItem(index);
- authtype_->setCurrentItem(loc->authtype_);
- authclass_->setCurrentItem(loc->authclass_);
- authname_->setText(loc->authname_);
- encryption_->setCurrentItem(loc->encryption_);
- satisfy_->setCurrentItem(loc->satisfy_);
- order_->setCurrentItem(loc->order_);
- addresses_->insertItems(loc->addresses_);
-
- slotTypeChanged(loc->authtype_);
- slotClassChanged(loc->authclass_);
-}
-
-void LocationDialog::slotTypeChanged(int index)
-{
- authclass_->setEnabled(index != AUTHTYPE_NONE);
- if (index != AUTHTYPE_NONE)
- slotClassChanged(authclass_->currentItem());
- else
- authname_->setEnabled(false);
-}
-
-void LocationDialog::slotClassChanged(int index)
-{
- authname_->setEnabled((index == AUTHCLASS_USER || index == AUTHCLASS_GROUP));
-}
-
-bool LocationDialog::newLocation(CupsLocation *loc, TQWidget *parent, CupsdConf *conf)
-{
- LocationDialog dlg(parent);
- if (conf)
- dlg.setInfos(conf);
- if (dlg.exec())
- {
- dlg.fillLocation(loc);
- return true;
- }
- else
- return false;
-}
-
-bool LocationDialog::editLocation(CupsLocation *loc, TQWidget *parent, CupsdConf *conf)
-{
- LocationDialog dlg(parent);
- if (conf)
- dlg.setInfos(conf);
- dlg.setLocation(loc);
- dlg.resource_->setEnabled(false);
- if (dlg.exec())
- {
- dlg.fillLocation(loc);
- return true;
- }
- else
- return false;
-}
-
-void LocationDialog::slotAdd()
-{
- TQString addr = AddressDialog::newAddress(this);
- if (!addr.isEmpty())
- addresses_->insertItem(addr);
-}
-
-void LocationDialog::slotEdit(int index)
-{
- TQString addr = addresses_->text(index);
- addr = AddressDialog::editAddress(addr, this);
- if (!addr.isEmpty())
- addresses_->insertItem(addr);
-}
-
-void LocationDialog::slotDefaultList()
-{
- addresses_->clear();
-}
-
-#include "locationdialog.moc"
diff --git a/kdeprint/cups/cupsdconf2/locationdialog.h b/kdeprint/cups/cupsdconf2/locationdialog.h
deleted file mode 100644
index f0c182f42..000000000
--- a/kdeprint/cups/cupsdconf2/locationdialog.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef LOCATIONDIALOG_H
-#define LOCATIONDIALOG_H
-
-#include <kdialogbase.h>
-
-class TQComboBox;
-class TQLineEdit;
-class EditList;
-struct CupsdConf;
-struct CupsLocation;
-
-class LocationDialog : public KDialogBase
-{
- Q_OBJECT
-public:
- LocationDialog(TQWidget *parent = 0, const char *name = 0);
-
- void setInfos(CupsdConf*);
- void fillLocation(CupsLocation*);
- void setLocation(CupsLocation*);
-
- static bool newLocation(CupsLocation*, TQWidget *parent = 0, CupsdConf *conf = 0);
- static bool editLocation(CupsLocation*, TQWidget *parent = 0, CupsdConf *conf = 0);
-
-protected slots:
- void slotTypeChanged(int);
- void slotClassChanged(int);
- void slotAdd();
- void slotEdit(int);
- void slotDefaultList();
-
-private:
- TQComboBox *resource_, *authtype_, *authclass_, *encryption_, *satisfy_, *order_;
- TQLineEdit *authname_;
- EditList *addresses_;
- CupsdConf *conf_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/main.cpp b/kdeprint/cups/cupsdconf2/main.cpp
deleted file mode 100644
index f3c317afd..000000000
--- a/kdeprint/cups/cupsdconf2/main.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsddialog.h"
-
-#include <tqfile.h>
-#include <klocale.h>
-#include <kcmdlineargs.h>
-#include <kapplication.h>
-
-static KCmdLineOptions options[] =
-{
- { "+[file]", I18N_NOOP("Configuration file to load"), 0},
- KCmdLineLastOption
-};
-
-extern "C" KDE_EXPORT int kdemain(int argc, char *argv[])
-{
- KCmdLineArgs::init(argc,argv,"cupsdconf",
- I18N_NOOP("A CUPS configuration tool"),
- I18N_NOOP("A CUPS configuration tool"),"0.0.1");
- KCmdLineArgs::addCmdLineOptions(options);
- KApplication app;
- KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
-
- KURL configfile;
- if (args->count() > 0)
- CupsdDialog::configure(args->url(0).path());
- else
- CupsdDialog::configure();
- return (0);
-}
diff --git a/kdeprint/cups/cupsdconf2/portdialog.cpp b/kdeprint/cups/cupsdconf2/portdialog.cpp
deleted file mode 100644
index 18cade9fc..000000000
--- a/kdeprint/cups/cupsdconf2/portdialog.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "portdialog.h"
-#include "cupsdconf.h"
-
-#include <tqlineedit.h>
-#include <tqspinbox.h>
-#include <tqcheckbox.h>
-#include <tqpushbutton.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-
-PortDialog::PortDialog(TQWidget *parent, const char *name)
- : KDialogBase(parent, name, true, TQString::null, Ok|Cancel, Ok, true)
-{
- TQWidget *dummy = new TQWidget(this);
- setMainWidget(dummy);
- address_ = new TQLineEdit(dummy);
- port_ = new TQSpinBox(0, 9999, 1, dummy);
- port_->setValue(631);
- usessl_ = new TQCheckBox(i18n("Use SSL encryption"), dummy);
-
- TQLabel *l1 = new TQLabel(i18n("Address:"), dummy);
- TQLabel *l2 = new TQLabel(i18n("Port:"), dummy);
-
- TQVBoxLayout *m1 = new TQVBoxLayout(dummy, 0, 10);
- TQGridLayout *m2 = new TQGridLayout(0, 3, 2, 0, 5);
- m1->addLayout(TQT_TQLAYOUT(m2));
- m2->addWidget(l1, 0, 0, Qt::AlignRight);
- m2->addWidget(l2, 1, 0, Qt::AlignRight);
- m2->addMultiCellWidget(usessl_, 2, 2, 0, 1);
- m2->addWidget(address_, 0, 1);
- m2->addWidget(port_, 1, 1);
-
- setCaption(i18n("Listen To"));
- resize(250, 100);
-}
-
-TQString PortDialog::listenString()
-{
- TQString s;
- if (usessl_->isChecked())
- s.append("SSLListen ");
- else
- s.append("Listen ");
- if (!address_->text().isEmpty())
- s.append(address_->text());
- else
- s.append("*");
- s.append(":").append(port_->text());
- return s;
-}
-
-void PortDialog::setInfos(CupsdConf *conf)
-{
- TQWhatsThis::add(address_, conf->comments_.toolTip("address"));
- TQWhatsThis::add(port_, conf->comments_.toolTip("port"));
- TQWhatsThis::add(usessl_, conf->comments_.toolTip("usessl"));
-}
-
-TQString PortDialog::newListen(TQWidget *parent, CupsdConf *conf)
-{
- PortDialog dlg(parent);
- dlg.setInfos(conf);
- if (dlg.exec())
- {
- return dlg.listenString();
- }
- return TQString::null;
-}
-
-TQString PortDialog::editListen(const TQString& s, TQWidget *parent, CupsdConf *conf)
-{
- PortDialog dlg(parent);
- dlg.setInfos(conf);
- int p = s.find(' ');
- if (p != -1)
- {
- dlg.usessl_->setChecked(s.left(p).startsWith("SSL"));
- TQString addr = s.mid(p+1).stripWhiteSpace();
- int p1 = addr.find(':');
- if (p1 == -1)
- {
- dlg.address_->setText(addr);
- dlg.port_->setValue(631);
- }
- else
- {
- dlg.address_->setText(addr.left(p1));
- dlg.port_->setValue(addr.mid(p1+1).toInt());
- }
- }
- if (dlg.exec())
- {
- return dlg.listenString();
- }
- return TQString::null;
-}
diff --git a/kdeprint/cups/cupsdconf2/portdialog.h b/kdeprint/cups/cupsdconf2/portdialog.h
deleted file mode 100644
index 42dd7037b..000000000
--- a/kdeprint/cups/cupsdconf2/portdialog.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef PORTDIALOG_H
-#define PORTDIALOG_H
-
-#include <kdialogbase.h>
-
-class TQLineEdit;
-class TQSpinBox;
-class TQCheckBox;
-struct CupsdConf;
-
-class PortDialog : public KDialogBase
-{
-public:
- PortDialog(TQWidget *parent = 0, const char *name = 0);
-
- TQString listenString();
- void setInfos(CupsdConf*);
- static TQString newListen(TQWidget *parent = 0, CupsdConf *conf = 0);
- static TQString editListen(const TQString& s, TQWidget *parent = 0, CupsdConf *conf = 0);
-
-private:
- TQLineEdit *address_;
- TQSpinBox *port_;
- TQCheckBox *usessl_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/qdirlineedit.cpp b/kdeprint/cups/cupsdconf2/qdirlineedit.cpp
deleted file mode 100644
index 7cf0ea74e..000000000
--- a/kdeprint/cups/cupsdconf2/qdirlineedit.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "qdirlineedit.h"
-
-#include <tqlineedit.h>
-#include <tqlayout.h>
-#include <kpushbutton.h>
-#include <kfiledialog.h>
-#include <kiconloader.h>
-
-QDirLineEdit::QDirLineEdit(bool file, TQWidget *parent, const char *name)
- : TQWidget(parent, name)
-{
- edit_ = new TQLineEdit(this);
- button_ = new KPushButton(this);
- button_->setPixmap(SmallIcon("fileopen"));
- connect(button_,TQT_SIGNAL(clicked()),TQT_SLOT(buttonClicked()));
-
- TQHBoxLayout *main_ = new TQHBoxLayout(this, 0, 3);
- main_->addWidget(edit_);
- main_->addWidget(button_);
-
- fileedit_ = file;
-}
-
-QDirLineEdit::~QDirLineEdit()
-{
-}
-
-void QDirLineEdit::setURL(const TQString& txt)
-{
- edit_->setText(txt);
-}
-
-TQString QDirLineEdit::url()
-{
- return edit_->text();
-}
-
-void QDirLineEdit::buttonClicked()
-{
- TQString dirname;
- if (!fileedit_)
- dirname = KFileDialog::getExistingDirectory(edit_->text(), this);
- else
- dirname = KFileDialog::getOpenFileName(edit_->text(), TQString::null, this);
- if (!dirname.isEmpty())
- edit_->setText(dirname);
-}
-
-void QDirLineEdit::setFileEdit(bool on)
-{
- fileedit_ = on;
-}
-
-#include "qdirlineedit.moc"
diff --git a/kdeprint/cups/cupsdconf2/qdirlineedit.h b/kdeprint/cups/cupsdconf2/qdirlineedit.h
deleted file mode 100644
index d852897c3..000000000
--- a/kdeprint/cups/cupsdconf2/qdirlineedit.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef QDIRLINEEDIT_H
-#define QDIRLINEEDIT_H
-
-#include <tqwidget.h>
-#include <tqstring.h>
-
-class TQLineEdit;
-class TQPushButton;
-
-class QDirLineEdit : public TQWidget
-{
- Q_OBJECT
-public:
- QDirLineEdit(bool file, TQWidget *parent = 0, const char *name = 0);
- ~QDirLineEdit();
-
- void setURL(const TQString& txt);
- TQString url();
- void setFileEdit(bool on = true);
-
-private slots:
- void buttonClicked();
-
-private:
- TQLineEdit *edit_;
- TQPushButton *button_;
- bool fileedit_;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/qdirmultilineedit.cpp b/kdeprint/cups/cupsdconf2/qdirmultilineedit.cpp
deleted file mode 100644
index e677da988..000000000
--- a/kdeprint/cups/cupsdconf2/qdirmultilineedit.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001-2002 Michael Goffioul <tdeprint@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 "qdirmultilineedit.h"
-
-#include <tqlayout.h>
-#include <tqheader.h>
-#include <tqpushbutton.h>
-#include <klistview.h>
-#include <klocale.h>
-#include <kfiledialog.h>
-#include <kiconloader.h>
-
-QDirMultiLineEdit::QDirMultiLineEdit(TQWidget *parent, const char *name)
-: TQWidget(parent, name)
-{
- m_view = new KListView(this);
- m_view->header()->hide();
- m_view->addColumn("");
- m_view->setFullWidth(true);
- connect(m_view, TQT_SIGNAL(selectionChanged(TQListViewItem*)), TQT_SLOT(slotSelected(TQListViewItem*)));
-
- m_add = new TQPushButton(this);
- m_add->setPixmap(SmallIcon("folder_new"));
- connect(m_add, TQT_SIGNAL(clicked()), TQT_SLOT(slotAddClicked()));
- m_remove = new TQPushButton(this);
- m_remove->setPixmap(SmallIcon("editdelete"));
- connect(m_remove, TQT_SIGNAL(clicked()), TQT_SLOT(slotRemoveClicked()));
- m_remove->setEnabled(false);
-
- m_view->setFixedHeight(TQMAX(m_view->fontMetrics().lineSpacing()*3+m_view->lineWidth()*2, m_add->tqsizeHint().height()*2));
-
- TQHBoxLayout *l0 = new TQHBoxLayout(this, 0, 3);
- TQVBoxLayout *l1 = new TQVBoxLayout(0, 0, 0);
- l0->addWidget(m_view);
- l0->addLayout(l1);
- l1->addWidget(m_add);
- l1->addWidget(m_remove);
- l1->addStretch(1);
-}
-
-QDirMultiLineEdit::~QDirMultiLineEdit()
-{
-}
-
-void QDirMultiLineEdit::setURLs(const TQStringList& urls)
-{
- m_view->clear();
- for (TQStringList::ConstIterator it=urls.begin(); it!=urls.end(); ++it)
- addURL(*it);
-}
-
-TQStringList QDirMultiLineEdit::urls()
-{
- TQListViewItem *item = m_view->firstChild();
- TQStringList l;
- while (item)
- {
- l << item->text(0);
- item = item->nextSibling();
- }
- return l;
-}
-
-void QDirMultiLineEdit::addURL(const TQString& url)
-{
- TQListViewItem *item = new TQListViewItem(m_view, url);
- item->setRenameEnabled(0, true);
-}
-
-void QDirMultiLineEdit::slotAddClicked()
-{
- TQString dirname = KFileDialog::getExistingDirectory(TQString::null, this);
- if (!dirname.isEmpty())
- addURL(dirname);
-}
-
-void QDirMultiLineEdit::slotRemoveClicked()
-{
- TQListViewItem *item = m_view->currentItem();
- if (item)
- {
- delete item;
- slotSelected(m_view->currentItem());
- }
-}
-
-void QDirMultiLineEdit::slotSelected(TQListViewItem *item)
-{
- m_remove->setEnabled((item != NULL));
-}
-
-#include "qdirmultilineedit.moc"
diff --git a/kdeprint/cups/cupsdconf2/qdirmultilineedit.h b/kdeprint/cups/cupsdconf2/qdirmultilineedit.h
deleted file mode 100644
index c3765362e..000000000
--- a/kdeprint/cups/cupsdconf2/qdirmultilineedit.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001-2002 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef QDIRMULTILINEEDIT_H
-#define QDIRMULTILINEEDIT_H
-
-#include <tqwidget.h>
-
-class KListView;
-class TQListViewItem;
-class TQPushButton;
-
-class QDirMultiLineEdit : public TQWidget
-{
- Q_OBJECT
-
-public:
- QDirMultiLineEdit(TQWidget *parent = 0, const char *name = 0);
- ~QDirMultiLineEdit();
-
- void setURLs(const TQStringList&);
- TQStringList urls();
-
-protected:
- void addURL(const TQString&);
-
-private slots:
- void slotAddClicked();
- void slotRemoveClicked();
- void slotSelected(TQListViewItem*);
-
-private:
- KListView *m_view;
- TQPushButton *m_add, *m_remove;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdconf2/sizewidget.cpp b/kdeprint/cups/cupsdconf2/sizewidget.cpp
deleted file mode 100644
index 742702e48..000000000
--- a/kdeprint/cups/cupsdconf2/sizewidget.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2002 Michael Goffioul <tdeprint@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 "sizewidget.h"
-
-#include <tqcombobox.h>
-#include <tqspinbox.h>
-#include <tqlayout.h>
-#include <tqregexp.h>
-#include <klocale.h>
-
-SizeWidget::SizeWidget( TQWidget *parent, const char *name )
- : TQWidget( parent, name )
-{
- m_size = new TQSpinBox( 0, 9999, 1, this );
- m_unit = new TQComboBox( this );
-
- m_unit->insertItem( i18n( "KB" ) );
- m_unit->insertItem( i18n( "MB" ) );
- m_unit->insertItem( i18n( "GB" ) );
- m_unit->insertItem( i18n( "Tiles" ) );
- m_unit->setCurrentItem( 1 );
- m_size->setSpecialValueText( i18n( "Unlimited" ) );
-
- TQHBoxLayout *l0 = new TQHBoxLayout( this, 0, 5 );
- l0->addWidget( m_size, 1 );
- l0->addWidget( m_unit, 0 );
-}
-
-void SizeWidget::setSizeString( const TQString& sz )
-{
- int p = sz.find( TQRegExp( "\\D" ) );
- m_size->setValue( sz.left( p ).toInt() );
- switch( sz[ p ].latin1() )
- {
- case 'k': p = 0; break;
- default:
- case 'm': p = 1; break;
- case 'g': p = 2; break;
- case 't': p = 3; break;
- }
- m_unit->setCurrentItem( p );
-}
-
-TQString SizeWidget::sizeString() const
-{
- TQString result = TQString::number( m_size->value() );
- switch ( m_unit->currentItem() )
- {
- case 0: result.append( "k" ); break;
- case 1: result.append( "m" ); break;
- case 2: result.append( "g" ); break;
- case 3: result.append( "t" ); break;
- }
- return result;
-}
-
-void SizeWidget::setValue( int value )
-{
- m_size->setValue( value );
- m_unit->setCurrentItem( 1 );
-}
-
-int SizeWidget::value() const
-{
- return m_size->value();
-}
diff --git a/kdeprint/cups/cupsdconf2/sizewidget.h b/kdeprint/cups/cupsdconf2/sizewidget.h
deleted file mode 100644
index 000fb22bc..000000000
--- a/kdeprint/cups/cupsdconf2/sizewidget.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2002 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef SIZEWIDGET_H
-#define SIZEWIDGET_H
-
-#include <tqwidget.h>
-
-class TQSpinBox;
-class TQComboBox;
-
-class SizeWidget : public TQWidget
-{
-public:
- SizeWidget( TQWidget *parent = 0, const char *name = 0 );
-
- void setSizeString( const TQString& sizeString );
- TQString sizeString() const;
- void setValue( int sz );
- int value() const;
-
-private:
- TQSpinBox *m_size;
- TQComboBox *m_unit;
-};
-
-#endif
diff --git a/kdeprint/cups/cupsdoprint.c b/kdeprint/cups/cupsdoprint.c
deleted file mode 100644
index a12a2adf8..000000000
--- a/kdeprint/cups/cupsdoprint.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 <config.h>
-
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include <cups/cups.h>
-#include <cups/ipp.h>
-
-#define BUFSIZE 1024
-#define BUFSIZE2 32
-
-#define USE_LOG 0
-
-/* global variables */
-char passwd[BUFSIZE2] = {0};
-int pwd_asked = 0;
-#if USE_LOG
-FILE *debugF = NULL;
-#endif
-
-/* utility functions */
-static void error(const char* msg)
-{
- fprintf(stderr, "%s\n", msg);
-#if USE_LOG
- if (debugF != NULL) fclose(debugF);
-#endif
- exit(-1);
-}
-
-static void usage()
-{
- error("usage: cupsdoprint [-H host[:port]][-P dest][-J name][-o opt=value[,...]][-U login[:password]] files...");
-}
-
-static char * shell_quote(const char *s)
-{
- char *result;
- char *p;
- p = result = malloc(strlen(s)*4+3);
- *p++ = '\'';
- while(*s)
- {
- if (*s == '\'')
- {
- *p++ = '\'';
- *p++ = '\\';
- *p++ = '\'';
- *p++ = '\'';
- s++;
- }
- else
- {
- *p++ = *s++;
- }
- }
- *p++ = '\'';
- *p = '\0';
- return result;
-}
-
-static const char* getPasswordCB(const char* prompt)
-{
- char buf[ 256 ] = {0}, *c;
- char *_user = shell_quote( cupsUser() ), *_passwd = NULL;
- FILE *output;
-
- snprintf( buf, sizeof( buf )-1, "dcop kded tdeprintd requestPassword %s %s %d %d",
- _user,
- cupsServer(),
- ippPort(),
- pwd_asked );
- free( _user );
- _user = NULL;
- output = popen( buf, "r" );
- if ( output != NULL )
- {
- while ( fgets( buf, sizeof( buf )-1, output ) )
- {
- _user = _passwd = NULL;
- if ( strcmp( buf, "::" ) != 0 )
- {
- c = strchr( buf, ':' );
- if ( c != NULL )
- {
- *c = '\0';
- _user = buf;
- _passwd = ++c;
- c = strchr( c, ':' );
- if ( c != NULL )
- {
- *c = '\0';
- /* retrieve password sequence number */
- pwd_asked = atoi( ++c );
- /* update CUPS with current username */
- cupsSetUser( _user );
- /* copy password to a non temporary location */
- strlcpy( passwd, _passwd, BUFSIZE2 );
- _passwd = passwd;
- }
- else
- _passwd = NULL;
- }
- }
- }
- pclose( output );
- }
- else
- return NULL;
-
- /* erase buffer containing unencrypted password, for security */
- memset( buf, 0, 256 );
-
- /* if OK, _passwd should point to global passwd variable, otherwise it should be NULL */
- return _passwd;
-}
-
-/* main function */
-int main(int argc, char* argv[])
-{
- int c, port = -1;
- char printer[BUFSIZE] = {0}, jobname[BUFSIZE] = {0}, host[BUFSIZE] = {0};
- char login[BUFSIZE2] = {0};
- char *a;
- cups_option_t *options = NULL;
- int num_options = 0;
- char* files[100] = {0};
- int num_files = 0;
- int jobID = 0;
-
-#if USE_LOG
- debugF = fopen("/tmp/cupsdoprint.debug","w");
- if (debugF == NULL)
- error("unable to open log file");
-#endif
-
- while ((c=getopt(argc, argv, "P:J:H:o:U:?")) != -1)
- {
-#if USE_LOG
- fprintf(debugF,"%c: %s\n",c,optarg);
-#endif
- switch (c)
- {
- case 'P':
- strlcpy(printer, optarg, BUFSIZE);
- if ((a=strchr(printer, '/')) != NULL)
- error("This utility doesn't support printer instances");
- break;
- case 'J':
- strlcpy(jobname, optarg, BUFSIZE);
- break;
- case 'H':
- strlcpy(host, optarg, BUFSIZE);
- if ((a=strchr(host, ':')) != NULL)
- {
- *a = 0;
- port = atoi(++a);
- if (port == 0)
- error("Wrong port value");
- }
- break;
- case 'U':
- strlcpy(login, optarg, BUFSIZE2);
- if ((a=strchr(login, ':')) != NULL)
- {
- *a = 0;
- strlcpy(passwd, ++a, BUFSIZE2);
- }
- break;
- case 'o':
-#if USE_LOG
- fprintf(debugF,"Parsing options (n=%d)\n",num_options);
-#endif
- num_options = cupsParseOptions(optarg, num_options, &options);
-#if USE_LOG
- fprintf(debugF,"Options parsed (n=%d)\n",num_options);
-#endif
- break;
- case '?':
- default:
- usage();
- break;
- }
- }
-
- /* check the printer */
- if (!*printer)
- {
- printer[BUFSIZE-1] = '\0';
- if (getenv("PRINTER") != NULL)
- strlcpy(printer, getenv("PRINTER"), BUFSIZE-1);
- else
- error("No printer specified (and PRINTER variable is empty)");
- }
-
- /* CUPS settings */
- if (host[0] != 0) cupsSetServer(host);
- if (port > 0) ippSetPort(port);
- if (login[0] != 0) cupsSetUser(login);
- if (jobname[0] == 0) strcpy(jobname,"KDE Print System");
- cupsSetPasswordCB(getPasswordCB);
-
- /* check for files */
- if (optind < 1 || optind >= argc)
- error("This utility doesn't support printing from STDIN");
- else
- for (c=optind; c<argc; c++)
- {
- if (access(argv[c], R_OK) != 0)
- {
- fprintf(stderr, "%s: ", argv[c]);
- error("file not found or not readable");
- }
- else
- files[num_files++] = strdup(argv[c]);
- }
-
-#if USE_LOG
- fprintf(debugF,"Processed options:\n");
- for (c=0; c<num_options; c++)
- fprintf(debugF,"%s = %s\n",options[c].name,options[c].value);
-#endif
- /* print files */
- jobID = cupsPrintFiles(printer, num_files, files, jobname, num_options, options);
- /* erase unemcrypted password for security */
- memset( passwd, 0, BUFSIZE2 );
- /* check job creation status */
- if (jobID <= 0)
- error(ippErrorString(cupsLastError()));
-
-#if USE_LOG
- fclose(debugF);
-#endif
- return 0;
-}
diff --git a/kdeprint/cups/cupsinfos.cpp b/kdeprint/cups/cupsinfos.cpp
deleted file mode 100644
index 1fae8e0db..000000000
--- a/kdeprint/cups/cupsinfos.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "cupsinfos.h"
-#include "kmfactory.h"
-#include "kmtimer.h"
-#include "messagewindow.h"
-
-#include <kio/passdlg.h>
-#include <kio/authinfo.h>
-#include <klocale.h>
-#include <kconfig.h>
-#include <kapplication.h>
-#include <dcopclient.h>
-#include <kdebug.h>
-#include <kstringhandler.h>
-
-#include <cups/cups.h>
-#include <cups/ipp.h>
-
-const char* cupsGetPasswordCB(const char*)
-{
- return CupsInfos::self()->getPasswordCB();
-}
-
-CupsInfos* CupsInfos::unique_ = 0;
-
-CupsInfos* CupsInfos::self()
-{
- if (!unique_)
- {
- unique_ = new CupsInfos();
- }
- return unique_;
-}
-
-CupsInfos::CupsInfos()
-: KPReloadObject(true)
-{
- count_ = 0;
-
- load();
-/* host_ = cupsServer();
- login_ = cupsUser();
- if (login_.isEmpty()) login_ = TQString();
- port_ = ippPort();
- password_ = TQString();*/
-
- cupsSetPasswordCB(cupsGetPasswordCB);
-}
-
-CupsInfos::~CupsInfos()
-{
-}
-
-TQString CupsInfos::hostaddr() const
-{
- if (host_[0] != '/')
- return host_ + ":" + TQString::number(port_);
- return "localhost";
-}
-
-void CupsInfos::setHost(const TQString& s)
-{
- host_ = s;
- cupsSetServer(s.latin1());
-}
-
-void CupsInfos::setPort(int p)
-{
- port_ = p;
- ippSetPort(p);
-}
-
-void CupsInfos::setLogin(const TQString& s)
-{
- login_ = s;
- cupsSetUser(s.latin1());
-}
-
-void CupsInfos::setPassword(const TQString& s)
-{
- password_ = s;
-}
-
-void CupsInfos::setSavePassword( bool on )
-{
- savepwd_ = on;
-}
-
-const char* CupsInfos::getPasswordCB()
-{
- TQPair<TQString,TQString> pwd = KMFactory::self()->requestPassword( count_, login_, host_, port_ );
-
- if ( pwd.first.isEmpty() && pwd.second.isEmpty() )
- return NULL;
- setLogin( pwd.first );
- setPassword( pwd.second );
- return pwd.second.latin1();
-}
-
-void CupsInfos::load()
-{
- KConfig *conf_ = KMFactory::self()->printConfig();
- conf_->setGroup("CUPS");
- host_ = conf_->readEntry("Host",TQString::tqfromLatin1(cupsServer()));
- port_ = conf_->readNumEntry("Port",ippPort());
- login_ = conf_->readEntry("Login",TQString::tqfromLatin1(cupsUser()));
- savepwd_ = conf_->readBoolEntry( "SavePassword", false );
- if ( savepwd_ )
- {
- password_ = KStringHandler::obscure( conf_->readEntry( "Password" ) );
- KMFactory::self()->initPassword( login_, password_, host_, port_ );
- }
- else
- password_ = TQString();
- if (login_.isEmpty()) login_ = TQString();
- reallogin_ = cupsUser();
-
- // synchronize with CUPS
- cupsSetServer(host_.latin1());
- cupsSetUser(login_.latin1());
- ippSetPort(port_);
-}
-
-void CupsInfos::save()
-{
- KConfig *conf_ = KMFactory::self()->printConfig();
- conf_->setGroup("CUPS");
- conf_->writeEntry("Host",host_);
- conf_->writeEntry("Port",port_);
- conf_->writeEntry("Login",login_);
- conf_->writeEntry( "SavePassword", savepwd_ );
- if ( savepwd_ )
- conf_->writeEntry( "Password", KStringHandler::obscure( password_ ) );
- else
- conf_->deleteEntry( "Password" );
- conf_->sync();
-}
-
-void CupsInfos::reload()
-{
- // do nothing, but needs to be implemented
-}
-
-void CupsInfos::configChanged()
-{
- // we need to reload settings
- load();
-}
diff --git a/kdeprint/cups/cupsinfos.h b/kdeprint/cups/cupsinfos.h
deleted file mode 100644
index 5f74d3636..000000000
--- a/kdeprint/cups/cupsinfos.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef CUPSINFOS_H
-#define CUPSINFOS_H
-
-#include <tqstring.h>
-#include "kpreloadobject.h"
-
-class CupsInfos : public KPReloadObject
-{
-public:
- static CupsInfos* self();
-
- CupsInfos();
- ~CupsInfos();
-
- const TQString& host() const;
- TQString hostaddr() const;
- int port() const;
- const TQString& login() const;
- const TQString& password() const;
- const TQString& realLogin() const;
- bool savePassword() const;
-
- void setHost(const TQString& s);
- void setPort(int p);
- void setLogin(const TQString& s);
- void setPassword(const TQString& s);
- void setSavePassword( bool on );
-
- const char* getPasswordCB();
-
- void load();
- void save();
-
-protected:
- void reload();
- void configChanged();
-
-private:
- static CupsInfos *unique_;
-
- TQString host_;
- int port_;
- TQString login_;
- TQString password_;
- TQString reallogin_;
- bool savepwd_;
-
- int count_;
-};
-
-inline const TQString& CupsInfos::host() const
-{ return host_; }
-
-inline int CupsInfos::port() const
-{ return port_; }
-
-inline const TQString& CupsInfos::login() const
-{ return login_; }
-
-inline const TQString& CupsInfos::password() const
-{ return password_; }
-
-inline const TQString& CupsInfos::realLogin() const
-{ return reallogin_; }
-
-inline bool CupsInfos::savePassword() const
-{ return savepwd_; }
-
-#endif
diff --git a/kdeprint/cups/image.cpp b/kdeprint/cups/image.cpp
deleted file mode 100644
index ce56bb4b9..000000000
--- a/kdeprint/cups/image.cpp
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 <tqimage.h>
-#include <math.h>
-
-void
-mult(float a[3][3], /* I - First matrix */
- float b[3][3], /* I - Second matrix */
- float c[3][3]) /* I - Destination matrix */
-{
- int x, y; /* Looping vars */
- float temp[3][3]; /* Temporary matrix */
-
-
- /*
- * Multiply a and b, putting the result in temp...
- */
-
- for (y = 0; y < 3; y ++)
- for (x = 0; x < 3; x ++)
- temp[y][x] = b[y][0] * a[0][x] +
- b[y][1] * a[1][x] +
- b[y][2] * a[2][x];
-
- /*
- * Copy temp to c (that way c can be a pointer to a or b).
- */
-
- memcpy(c, temp, sizeof(temp));
-}
-
-void
-saturate(float mat[3][3], /* I - Matrix to append to */
- float sat) /* I - Desired color saturation */
-{
- float smat[3][3]; /* Saturation matrix */
-
-
- smat[0][0] = (1.0 - sat) * 0.3086 + sat;
- smat[0][1] = (1.0 - sat) * 0.3086;
- smat[0][2] = (1.0 - sat) * 0.3086;
- smat[1][0] = (1.0 - sat) * 0.6094;
- smat[1][1] = (1.0 - sat) * 0.6094 + sat;
- smat[1][2] = (1.0 - sat) * 0.6094;
- smat[2][0] = (1.0 - sat) * 0.0820;
- smat[2][1] = (1.0 - sat) * 0.0820;
- smat[2][2] = (1.0 - sat) * 0.0820 + sat;
-
- mult(smat, mat, mat);
-}
-
-void
-xform(float mat[3][3], /* I - Matrix */
- float x, /* I - Input X coordinate */
- float y, /* I - Input Y coordinate */
- float z, /* I - Input Z coordinate */
- float *tx, /* O - Output X coordinate */
- float *ty, /* O - Output Y coordinate */
- float *tz) /* O - Output Z coordinate */
-{
- *tx = x * mat[0][0] + y * mat[1][0] + z * mat[2][0];
- *ty = x * mat[0][1] + y * mat[1][1] + z * mat[2][1];
- *tz = x * mat[0][2] + y * mat[1][2] + z * mat[2][2];
-}
-
-void
-xrotate(float mat[3][3], /* I - Matrix */
- float rs, /* I - Rotation angle sine */
- float rc) /* I - Rotation angle cosine */
-{
- float rmat[3][3]; /* I - Rotation matrix */
-
-
- rmat[0][0] = 1.0;
- rmat[0][1] = 0.0;
- rmat[0][2] = 0.0;
-
- rmat[1][0] = 0.0;
- rmat[1][1] = rc;
- rmat[1][2] = rs;
-
- rmat[2][0] = 0.0;
- rmat[2][1] = -rs;
- rmat[2][2] = rc;
-
- mult(rmat, mat, mat);
-}
-
-void
-yrotate(float mat[3][3], /* I - Matrix */
- float rs, /* I - Rotation angle sine */
- float rc) /* I - Rotation angle cosine */
-{
- float rmat[3][3]; /* I - Rotation matrix */
-
-
- rmat[0][0] = rc;
- rmat[0][1] = 0.0;
- rmat[0][2] = -rs;
-
- rmat[1][0] = 0.0;
- rmat[1][1] = 1.0;
- rmat[1][2] = 0.0;
-
- rmat[2][0] = rs;
- rmat[2][1] = 0.0;
- rmat[2][2] = rc;
-
- mult(rmat,mat,mat);
-}
-
-void
-zrotate(float mat[3][3], /* I - Matrix */
- float rs, /* I - Rotation angle sine */
- float rc) /* I - Rotation angle cosine */
-{
- float rmat[3][3]; /* I - Rotation matrix */
-
-
- rmat[0][0] = rc;
- rmat[0][1] = rs;
- rmat[0][2] = 0.0;
-
- rmat[1][0] = -rs;
- rmat[1][1] = rc;
- rmat[1][2] = 0.0;
-
- rmat[2][0] = 0.0;
- rmat[2][1] = 0.0;
- rmat[2][2] = 1.0;
-
- mult(rmat,mat,mat);
-}
-
-void
-zshear(float mat[3][3], /* I - Matrix */
- float dx, /* I - X shear */
- float dy) /* I - Y shear */
-{
- float smat[3][3]; /* Shear matrix */
-
-
- smat[0][0] = 1.0;
- smat[0][1] = 0.0;
- smat[0][2] = dx;
-
- smat[1][0] = 0.0;
- smat[1][1] = 1.0;
- smat[1][2] = dy;
-
- smat[2][0] = 0.0;
- smat[2][1] = 0.0;
- smat[2][2] = 1.0;
-
- mult(smat, mat, mat);
-}
-
-void
-huerotate(float mat[3][3], /* I - Matrix to append to */
- float rot) /* I - Hue rotation in degrees */
-{
- float hmat[3][3] = {{1.0,0.0,0.0},{0.0,1.0,0.0},{0.0,0.0,1.0}}; /* Hue matrix */
- float lx, ly, lz; /* Luminance vector */
- float xrs, xrc; /* X rotation sine/cosine */
- float yrs, yrc; /* Y rotation sine/cosine */
- float zrs, zrc; /* Z rotation sine/cosine */
- float zsx, zsy; /* Z shear x/y */
-
-
- /*
- * Rotate the gray vector into positive Z...
- */
-
- xrs = M_SQRT1_2;
- xrc = M_SQRT1_2;
- xrotate(hmat,xrs,xrc);
-
- yrs = -1.0 / sqrt(3.0);
- yrc = -M_SQRT2 * yrs;
- yrotate(hmat,yrs,yrc);
-
- /*
- * Shear the space to make the luminance plane horizontal...
- */
-
- xform(hmat, 0.3086, 0.6094, 0.0820, &lx, &ly, &lz);
- zsx = lx / lz;
- zsy = ly / lz;
- zshear(hmat, zsx, zsy);
-
- /*
- * Rotate the hue...
- */
-
- zrs = sin(rot * M_PI / 180.0);
- zrc = cos(rot * M_PI / 180.0);
-
- zrotate(hmat, zrs, zrc);
-
- /*
- * Unshear the space to put the luminance plane back...
- */
-
- zshear(hmat, -zsx, -zsy);
-
- /*
- * Rotate the gray vector back into place...
- */
-
- yrotate(hmat, -yrs, yrc);
- xrotate(hmat, -xrs, xrc);
-
- /*
- * Append it to the current matrix...
- */
-
- mult(hmat, mat, mat);
-}
-
-void
-bright(float mat[3][3],
- float scale)
-{
- for (int i=0;i<3;i++)
- for (int j=0;j<3;j++)
- mat[i][j] *= scale;
-}
-
-//----------------------------------------------------------------------------------------------------
-
-TQImage convertImage(const TQImage& image, int hue, int saturation, int brightness, int gamma)
-{
- float mat[3][3] = {{1.0,0.0,0.0},{0.0,1.0,0.0},{0.0,0.0,1.0}};
- int lut[3][3][256];
- QRgb c;
- int r,g,b,v,r2,g2,b2;
- float gam = 1.0/(float(gamma)/1000.0);
- QImage img(image);
-
- saturate(mat,saturation*0.01);
- huerotate(mat,(float)hue);
- bright(mat,brightness*0.01);
- for (int i = 0; i < 3; i ++)
- for (int j = 0; j < 3; j ++)
- for (int k = 0; k < 256; k ++)
- lut[i][j][k] = (int)(mat[i][j] * k + 0.5);
-
- img.detach();
- for (int i=0;i<image.width();i++)
- for (int j=0;j<image.height();j++)
- {
- c = image.pixel(i,j);
- r = tqRed(c);
- g = tqGreen(c);
- b = tqBlue(c);
-
- v = lut[0][0][r] + lut[1][0][g] + lut[2][0][b];
- if (gamma != 1000) v = (int)rint(pow(v,gam));
- if (v < 0) r2 = 0;
- else if (v > 255) r2 = 255;
- else r2 = v;
-
- v = lut[0][1][r] + lut[1][1][g] + lut[2][1][b];
- if (gamma != 1000) v = (int)rint(pow(v,gam));
- if (v < 0) g2 = 0;
- else if (v > 255) g2 = 255;
- else g2 = v;
-
- v = lut[0][2][r] + lut[1][2][g] + lut[2][2][b];
- if (gamma != 1000) v = (int)rint(pow(v,gam));
- if (v < 0) b2 = 0;
- else if (v > 255) b2 = 255;
- else b2 = v;
-
- img.setPixel(i,j,tqRgb(r2,g2,b2));
- }
- return img;
-}
diff --git a/kdeprint/cups/imageposition.cpp b/kdeprint/cups/imageposition.cpp
deleted file mode 100644
index 70a84ba7f..000000000
--- a/kdeprint/cups/imageposition.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "imageposition.h"
-
-#include <tqpainter.h>
-#include <kstandarddirs.h>
-
-static void draw3DPage(TQPainter *p, TQRect r)
-{
- // draw white page
- p->fillRect(r,Qt::white);
- // draw 3D border
- p->setPen(Qt::black);
- p->moveTo(r.left(),r.bottom());
- p->lineTo(r.right(),r.bottom());
- p->lineTo(r.right(),r.top());
- p->setPen(Qt::darkGray);
- p->lineTo(r.left(),r.top());
- p->lineTo(r.left(),r.bottom());
- p->setPen(Qt::gray);
- p->moveTo(r.left()+1,r.bottom()-1);
- p->lineTo(r.right()-1,r.bottom()-1);
- p->lineTo(r.right()-1,r.top()+1);
-}
-
-ImagePosition::ImagePosition(TQWidget *parent, const char *name)
- : TQWidget(parent,name)
-{
- position_ = Center;
- setMinimumSize(tqsizeHint());
- tqsetSizePolicy(TQSizePolicy(TQSizePolicy::MinimumExpanding, TQSizePolicy::MinimumExpanding));
- pix_.load(locate("data", "tdeprint/preview-mini.png"));
-}
-
-ImagePosition::~ImagePosition()
-{
-}
-
-void ImagePosition::setPosition(const char *type)
-{
- int pos(Center);
- if (strcmp(type,"top-left") == 0) pos = TopLeft;
- else if (strcmp(type,"top") == 0) pos = Top;
- else if (strcmp(type,"top-right") == 0) pos = TopRight;
- else if (strcmp(type,"left") == 0) pos = Left;
- else if (strcmp(type,"center") == 0) pos = Center;
- else if (strcmp(type,"right") == 0) pos = Right;
- else if (strcmp(type,"bottom-left") == 0) pos = BottomLeft;
- else if (strcmp(type,"bottom") == 0) pos = Bottom;
- else if (strcmp(type,"bottom-right") == 0) pos = BottomRight;
- setPosition((PositionType)pos);
-}
-
-void ImagePosition::setPosition(PositionType type)
-{
- if (position_ != type) {
- position_ = type;
- update();
- }
-}
-
-void ImagePosition::setPosition(int horiz, int vert)
-{
- int type = vert*3+horiz;
- setPosition((PositionType)type);
-}
-
-TQString ImagePosition::positionString() const
-{
- switch (position_) {
- case TopLeft: return "top-left";
- case Top: return "top";
- case TopRight: return "top-right";
- case Left: return "left";
- case Center: return "center";
- case Right: return "right";
- case BottomLeft: return "bottom-left";
- case Bottom: return "bottom";
- case BottomRight: return "bottom-right";
- }
- return "center";
-}
-
-void ImagePosition::paintEvent(TQPaintEvent*)
-{
- int horiz, vert, x, y;
- int margin = 5;
- int pw(width()), ph(height()), px(0), py(0);
-
- if (pw > ((ph * 3) / 4))
- {
- pw = (ph * 3) / 4;
- px = (width() - pw) / 2;
- }
- else
- {
- ph = (pw * 4) / 3;
- py = (height() - ph) / 2;
- }
- TQRect page(px, py, pw, ph), img(0, 0, pix_.width(), pix_.height());
-
- // compute img position
- horiz = position_%3;
- vert = position_/3;
- switch (horiz) {
- case 0: x = page.left()+margin; break;
- default:
- case 1: x = (page.left()+page.right()-img.width())/2; break;
- case 2: x = page.right()-margin-img.width(); break;
- }
- switch (vert) {
- case 0: y = page.top()+margin; break;
- default:
- case 1: y = (page.top()+page.bottom()-img.height())/2; break;
- case 2: y = page.bottom()-margin-img.height(); break;
- }
- img.moveTopLeft(TQPoint(x,y));
-
- // draw page
- TQPainter p(this);
- draw3DPage(&p,page);
-
- // draw img
- /*p.setPen(darkRed);
- p.drawRect(img);
- p.drawLine(img.topLeft(),img.bottomRight());
- p.drawLine(img.topRight(),img.bottomLeft());*/
- p.drawPixmap(x, y, pix_);
-
- p.end();
-}
-
-TQSize ImagePosition::tqsizeHint() const
-{
- return TQSize(60, 80);
-}
diff --git a/kdeprint/cups/imageposition.h b/kdeprint/cups/imageposition.h
deleted file mode 100644
index 6d6645365..000000000
--- a/kdeprint/cups/imageposition.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef IMAGEPOSITION_H
-#define IMAGEPOSITION_H
-
-#include <tqwidget.h>
-#include <tqstring.h>
-#include <tqpixmap.h>
-
-class ImagePosition : public TQWidget
-{
-public:
- enum PositionType {TopLeft,
- Top,
- TopRight,
- Left,
- Center,
- Right,
- BottomLeft,
- Bottom,
- BottomRight};
-
- ImagePosition(TQWidget *parent = 0, const char *name = 0);
- ~ImagePosition();
-
- void setPosition(const char *type = "center");
- void setPosition(PositionType type = Center);
- void setPosition(int horiz = 1, int vert = 1);
- PositionType position() const { return (PositionType)position_; }
- TQString positionString() const;
- TQSize tqsizeHint() const;
-
-protected:
- void paintEvent(TQPaintEvent *);
-
-private:
- int position_;
- QPixmap pix_;
-};
-
-#endif
diff --git a/kdeprint/cups/imagepreview.cpp b/kdeprint/cups/imagepreview.cpp
deleted file mode 100644
index 2290f6a96..000000000
--- a/kdeprint/cups/imagepreview.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "imagepreview.h"
-
-#include <tqpainter.h>
-#include <tqpixmap.h>
-#include <tqpaintdevice.h>
-
-// forward definition
-TQImage convertImage(const TQImage& image, int hue, int saturation, int brightness, int gamma);
-
-ImagePreview::ImagePreview(TQWidget *parent, const char *name ) : TQWidget(parent,name) {
- brightness_ = 100;
- hue_ = 0;
- saturation_ = 100;
- gamma_ = 1000;
- bw_ = false;
-
- setBackgroundMode(NoBackground);
-}
-
-ImagePreview::~ImagePreview(){
-}
-
-void ImagePreview::setImage(const TQImage& image){
- image_ = image.convertDepth(32);
- image_.detach();
- resize(image_.size());
- update();
-}
-
-void ImagePreview::setParameters(int brightness, int hue, int saturation, int gamma){
- brightness_ = brightness;
- hue_ = hue;
- saturation_ = saturation;
- gamma_ = gamma;
- tqrepaint();
-}
-
-void ImagePreview::paintEvent(TQPaintEvent*){
- QImage tmpImage = convertImage(image_,hue_,(bw_ ? 0 : saturation_),brightness_,gamma_);
- int x = (width()-tmpImage.width())/2, y = (height()-tmpImage.height())/2;
-
- QPixmap buffer(width(), height());
- buffer.fill(parentWidget(), 0, 0);
- QPainter p(&buffer);
- p.drawImage(x,y,tmpImage);
- p.end();
-
- bitBlt(this, TQPoint(0, 0), &buffer, buffer.rect(), TQt::CopyROP);
-}
-
-void ImagePreview::setBlackAndWhite(bool on){
- bw_ = on;
- update();
-}
-
-TQSize ImagePreview::tqminimumSizeHint() const
-{
- return image_.size();
-}
diff --git a/kdeprint/cups/imagepreview.h b/kdeprint/cups/imagepreview.h
deleted file mode 100644
index 12a57ddb3..000000000
--- a/kdeprint/cups/imagepreview.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef IMAGEPREVIEW_H
-#define IMAGEPREVIEW_H
-
-#include <tqwidget.h>
-#include <tqimage.h>
-
-class ImagePreview : public TQWidget
-{
-public:
- ImagePreview(TQWidget *parent=0, const char *name=0);
- ~ImagePreview();
-
- void setParameters(int brightness, int hue, int saturation, int gamma);
- void setImage(const TQImage& image);
- void setBlackAndWhite(bool on);
- TQSize tqminimumSizeHint() const;
-
-private: // Private attributes
- int brightness_;
- int hue_;
- int saturation_;
- int gamma_;
- bool bw_;
- TQImage image_;
-
-protected: // Protected methods
- void paintEvent(TQPaintEvent*);
-};
-
-#endif
diff --git a/kdeprint/cups/ippreportdlg.cpp b/kdeprint/cups/ippreportdlg.cpp
deleted file mode 100644
index 5fa54e11e..000000000
--- a/kdeprint/cups/ippreportdlg.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "ippreportdlg.h"
-#include "ipprequest.h"
-#include "kprinter.h"
-
-#include <klocale.h>
-#include <kguiitem.h>
-#include <kmessagebox.h>
-#include <kdebug.h>
-#include <ktextedit.h>
-#include <tqsimplerichtext.h>
-#include <tqpainter.h>
-#include <tqpaintdevicemetrics.h>
-
-IppReportDlg::IppReportDlg(TQWidget *parent, const char *name)
-: KDialogBase(parent, name, true, i18n("IPP Report"), Close|User1, Close, false, KGuiItem(i18n("&Print"), "fileprint"))
-{
- m_edit = new KTextEdit(this);
- m_edit->setReadOnly(true);
- setMainWidget(m_edit);
- resize(540, 500);
- setFocusProxy(m_edit);
- setButtonGuiItem(User1, KGuiItem(i18n("&Print"),"fileprint"));
-}
-
-void IppReportDlg::slotUser1()
-{
- KPrinter printer;
- printer.setFullPage(true);
- printer.setDocName(caption());
- if (printer.setup(this))
- {
- TQPainter painter(&printer);
- TQPaintDeviceMetrics metrics(&printer);
-
- // report is printed using TQSimpleRichText
- TQSimpleRichText rich(m_edit->text(), font());
- rich.setWidth(&painter, metrics.width());
- int margin = (int)(1.5 / 2.54 * metrics.logicalDpiY()); // 1.5 cm
- TQRect r(margin, margin, metrics.width()-2*margin, metrics.height()-2*margin);
- int hh = rich.height(), page(1);
- while (1)
- {
- rich.draw(&painter, margin, margin, r, tqcolorGroup());
- TQString s = caption() + ": " + TQString::number(page);
- TQRect br = painter.fontMetrics().boundingRect(s);
- painter.drawText(r.right()-br.width()-5, r.top()-br.height()-4, br.width()+5, br.height()+4, Qt::AlignRight|Qt::AlignTop, s);
- r.moveBy(0, r.height()-10);
- painter.translate(0, -(r.height()-10));
- if (r.top() < hh)
- {
- printer.newPage();
- page++;
- }
- else
- break;
- }
- }
-}
-
-void IppReportDlg::report(IppRequest *req, int group, const TQString& caption)
-{
- TQString str_report;
- TQTextStream t(&str_report, IO_WriteOnly);
-
- if (req->htmlReport(group, t))
- {
- IppReportDlg dlg;
- if (!caption.isEmpty())
- dlg.setCaption(caption);
- dlg.m_edit->setText(str_report);
- dlg.exec();
- }
- else
- KMessageBox::error(0, i18n("Internal error: unable to generate HTML report."));
-}
-
-#include "ippreportdlg.moc"
diff --git a/kdeprint/cups/ippreportdlg.h b/kdeprint/cups/ippreportdlg.h
deleted file mode 100644
index e61ccd7b7..000000000
--- a/kdeprint/cups/ippreportdlg.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef IPPREPORTDLG_H
-#define IPPREPORTDLG_H
-
-#include <kdialogbase.h>
-
-class IppRequest;
-class KTextEdit;
-
-class IppReportDlg : public KDialogBase
-{
- Q_OBJECT
-public:
- IppReportDlg(TQWidget *parent = 0, const char *name = 0);
- static void report(IppRequest *req, int group, const TQString& caption = TQString::null);
-
-protected slots:
- void slotUser1();
-
-private:
- KTextEdit *m_edit;
-};
-
-#endif
diff --git a/kdeprint/cups/ipprequest.cpp b/kdeprint/cups/ipprequest.cpp
deleted file mode 100644
index 16cbe3308..000000000
--- a/kdeprint/cups/ipprequest.cpp
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "ipprequest.h"
-#include "cupsinfos.h"
-
-#include <stdlib.h>
-#include <cups/language.h>
-#include <kdebug.h>
-#include <kglobal.h>
-#include <klocale.h>
-#include <tqdatetime.h>
-#include <tqregexp.h>
-#include <cups/cups.h>
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef HAVE_CUPS_NO_PWD_CACHE
-#include <tqcstring.h>
-static TQCString cups_authstring = "";
-#endif
-
-void dumpRequest(ipp_t *req, bool answer = false, const TQString& s = TQString::null)
-{
- kdDebug(500) << "==========" << endl;
- if (s.isEmpty())
- kdDebug(500) << (answer ? "Answer" : "Request") << endl;
- else
- kdDebug(500) << s << endl;
- kdDebug(500) << "==========" << endl;
- if (!req)
- {
- kdDebug(500) << "Null request" << endl;
- return;
- }
- kdDebug(500) << "State = 0x" << TQString::number(req->state, 16) << endl;
- kdDebug(500) << "ID = 0x" << TQString::number(req->request.status.request_id, 16) << endl;
- if (answer)
- {
- kdDebug(500) << "Status = 0x" << TQString::number(req->request.status.status_code, 16) << endl;
- kdDebug(500) << "Status message = " << ippErrorString(req->request.status.status_code) << endl;
- }
- else
- kdDebug(500) << "Operation = 0x" << TQString::number(req->request.op.operation_id, 16) << endl;
- kdDebug(500) << "Version = " << (int)(req->request.status.version[0]) << "." << (int)(req->request.status.version[1]) << endl;
- kdDebug(500) << endl;
-
- ipp_attribute_t *attr = req->attrs;
- while (attr)
- {
- TQString s = TQString::tqfromLatin1("%1 (0x%2) = ").arg(attr->name).arg(attr->value_tag, 0, 16);
- for (int i=0;i<attr->num_values;i++)
- {
- switch (attr->value_tag)
- {
- case IPP_TAG_INTEGER:
- case IPP_TAG_ENUM:
- s += ("0x"+TQString::number(attr->values[i].integer, 16));
- break;
- case IPP_TAG_BOOLEAN:
- s += (attr->values[i].boolean ? "true" : "false");
- break;
- case IPP_TAG_STRING:
- case IPP_TAG_TEXT:
- case IPP_TAG_NAME:
- case IPP_TAG_KEYWORD:
- case IPP_TAG_URI:
- case IPP_TAG_MIMETYPE:
- case IPP_TAG_NAMELANG:
- case IPP_TAG_TEXTLANG:
- case IPP_TAG_CHARSET:
- case IPP_TAG_LANGUAGE:
- s += attr->values[i].string.text;
- break;
- default:
- break;
- }
- if (i != (attr->num_values-1))
- s += ", ";
- }
- kdDebug(500) << s << endl;
- attr = attr->next;
- }
-}
-
-TQString errorString(int status)
-{
- TQString str;
- switch (status)
- {
- case IPP_FORBIDDEN:
- str = i18n("You don't have access to the requested resource.");
- break;
- case IPP_NOT_AUTHORIZED:
- str = i18n("You are not authorized to access the requested resource.");
- break;
- case IPP_NOT_POSSIBLE:
- str = i18n("The requested operation cannot be completed.");
- break;
- case IPP_SERVICE_UNAVAILABLE:
- str = i18n("The requested service is currently unavailable.");
- break;
- case IPP_NOT_ACCEPTING:
- str = i18n("The target printer is not accepting print jobs.");
- break;
- default:
- str = TQString::fromLocal8Bit(ippErrorString((ipp_status_t)status));
- break;
- }
- return str;
-}
-
-//*************************************************************************************
-
-IppRequest::IppRequest()
-{
- request_ = 0;
- port_ = -1;
- host_ = TQString();
- dump_ = 0;
- init();
-}
-
-IppRequest::~IppRequest()
-{
- ippDelete(request_);
-}
-
-void IppRequest::init()
-{
- connect_ = true;
-
- if (request_)
- {
- ippDelete(request_);
- request_ = 0;
- }
- request_ = ippNew();
- //kdDebug(500) << "tdeprint: IPP request, lang=" << KGlobal::locale()->language() << endl;
- TQCString langstr = KGlobal::locale()->language().latin1();
- cups_lang_t* lang = cupsLangGet(langstr.data());
- // default charset to UTF-8 (ugly hack)
- lang->encoding = CUPS_UTF8;
- ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang));
- ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language);
- cupsLangFree(lang);
-}
-
-void IppRequest::addString_p(int group, int type, const TQString& name, const TQString& value)
-{
- if (!name.isEmpty())
- ippAddString(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),NULL,(value.isEmpty() ? "" : value.local8Bit().data()));
-}
-
-void IppRequest::addStringList_p(int group, int type, const TQString& name, const TQStringList& values)
-{
- if (!name.isEmpty())
- {
- ipp_attribute_t *attr = ippAddStrings(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL,NULL);
- int i(0);
- for (TQStringList::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
- attr->values[i].string.text = strdup((*it).local8Bit());
- }
-}
-
-void IppRequest::addInteger_p(int group, int type, const TQString& name, int value)
-{
- if (!name.isEmpty()) ippAddInteger(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),value);
-}
-
-void IppRequest::addIntegerList_p(int group, int type, const TQString& name, const TQValueList<int>& values)
-{
- if (!name.isEmpty())
- {
- ipp_attribute_t *attr = ippAddIntegers(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL);
- int i(0);
- for (TQValueList<int>::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
- attr->values[i].integer = *it;
- }
-}
-
-void IppRequest::addBoolean(int group, const TQString& name, bool value)
-{
- if (!name.isEmpty()) ippAddBoolean(request_,(ipp_tag_t)group,name.latin1(),(char)value);
-}
-
-void IppRequest::addBoolean(int group, const TQString& name, const TQValueList<bool>& values)
-{
- if (!name.isEmpty())
- {
- ipp_attribute_t *attr = ippAddBooleans(request_,(ipp_tag_t)group,name.latin1(),(int)(values.count()),NULL);
- int i(0);
- for (TQValueList<bool>::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
- attr->values[i].boolean = (char)(*it);
- }
-}
-
-void IppRequest::setOperation(int op)
-{
- request_->request.op.operation_id = (ipp_op_t)op;
- request_->request.op.request_id = 1; // 0 is not RFC-compliant, should be at least 1
-}
-
-int IppRequest::status()
-{
- return (request_ ? request_->request.status.status_code : (connect_ ? cupsLastError() : -2));
-}
-
-TQString IppRequest::statusMessage()
-{
- TQString msg;
- switch (status())
- {
- case -2:
- msg = i18n("Connection to CUPS server failed. Check that the CUPS server is correctly installed and running.");
- break;
- case -1:
- msg = i18n("The IPP request failed for an unknown reason.");
- break;
- default:
- msg = errorString(status());
- break;
- }
- return msg;
-}
-
-bool IppRequest::integerValue_p(const TQString& name, int& value, int type)
-{
- if (!request_ || name.isEmpty()) return false;
- ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type);
- if (attr)
- {
- value = attr->values[0].integer;
- return true;
- }
- else return false;
-}
-
-bool IppRequest::stringValue_p(const TQString& name, TQString& value, int type)
-{
- if (!request_ || name.isEmpty()) return false;
- ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type);
- if (attr)
- {
- value = TQString::fromLocal8Bit(attr->values[0].string.text);
- return true;
- }
- else return false;
-}
-
-bool IppRequest::stringListValue_p(const TQString& name, TQStringList& values, int type)
-{
- if (!request_ || name.isEmpty()) return false;
- ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type);
- values.clear();
- if (attr)
- {
- for (int i=0;i<attr->num_values;i++)
- values.append(TQString::fromLocal8Bit(attr->values[i].string.text));
- return true;
- }
- else return false;
-}
-
-bool IppRequest::boolean(const TQString& name, bool& value)
-{
- if (!request_ || name.isEmpty()) return false;
- ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), IPP_TAG_BOOLEAN);
- if (attr)
- {
- value = (bool)attr->values[0].boolean;
- return true;
- }
- else return false;
-}
-
-bool IppRequest::doFileRequest(const TQString& res, const TQString& filename)
-{
- TQString myHost = host_;
- int myPort = port_;
- if (myHost.isEmpty()) myHost = CupsInfos::self()->host();
- if (myPort <= 0) myPort = CupsInfos::self()->port();
- http_t *HTTP = httpConnect(myHost.latin1(),myPort);
-
- connect_ = (HTTP != NULL);
-
- if (HTTP == NULL)
- {
- ippDelete(request_);
- request_ = 0;
- return false;
- }
-
-#ifdef HAVE_CUPS_NO_PWD_CACHE
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR <= 2
- strncpy( HTTP->authstring, cups_authstring.data(), HTTP_MAX_VALUE );
-#else
- httpSetAuthString( HTTP, NULL, cups_authstring.data() );
-#endif
-#endif
-
- if (dump_ > 0)
- {
- dumpRequest(request_, false, "Request to "+myHost+":"+TQString::number(myPort));
- }
-
- request_ = cupsDoFileRequest(HTTP, request_, (res.isEmpty() ? "/" : res.latin1()), (filename.isEmpty() ? NULL : filename.latin1()));
-#ifdef HAVE_CUPS_NO_PWD_CACHE
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR <= 2
- cups_authstring = HTTP->authstring;
-#else
- cups_authstring = httpGetAuthString( HTTP );
-#endif
-#endif
- httpClose(HTTP);
-
- if (dump_ > 1)
- {
- dumpRequest(request_, true);
- }
-
- /* No printers found */
- if ( request_ && request_->request.status.status_code == 0x406 )
- return true;
-
- if (!request_ || request_->state == IPP_ERROR || (request_->request.status.status_code & 0x0F00))
- return false;
-
-
- return true;
-}
-
-bool IppRequest::htmlReport(int group, TQTextStream& output)
-{
- if (!request_) return false;
- // start table
- output << "<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">" << endl;
- output << "<tr><th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Attribute") << "</font></th>" << endl;
- output << "<th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Values") << "</font></th></tr>" << endl;
- // go to the first attribute of the specified group
- ipp_attribute_t *attr = request_->attrs;
- while (attr && attr->group_tag != group)
- attr = attr->next;
- // print each attribute
- ipp_uchar_t *d;
- TQCString dateStr;
- TQDateTime dt;
- bool bg(false);
- while (attr && attr->group_tag == group)
- {
- output << " <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << "\">\n <td><b>" << attr->name << "</b></td>\n <td>" << endl;
- bg = !bg;
- for (int i=0; i<attr->num_values; i++)
- {
- switch (attr->value_tag)
- {
- case IPP_TAG_INTEGER:
- if (attr->name && strstr(attr->name, "time"))
- {
- dt.setTime_t((unsigned int)(attr->values[i].integer));
- output << dt.toString();
- }
- else
- output << attr->values[i].integer;
- break;
- case IPP_TAG_ENUM:
- output << "0x" << hex << attr->values[i].integer << dec;
- break;
- case IPP_TAG_BOOLEAN:
- output << (attr->values[i].boolean ? i18n("True") : i18n("False"));
- break;
- case IPP_TAG_STRING:
- case IPP_TAG_TEXTLANG:
- case IPP_TAG_NAMELANG:
- case IPP_TAG_TEXT:
- case IPP_TAG_NAME:
- case IPP_TAG_KEYWORD:
- case IPP_TAG_URI:
- case IPP_TAG_CHARSET:
- case IPP_TAG_LANGUAGE:
- case IPP_TAG_MIMETYPE:
- output << attr->values[i].string.text;
- break;
- case IPP_TAG_RESOLUTION:
- output << "( " << attr->values[i].resolution.xres
- << ", " << attr->values[i].resolution.yres << " )";
- break;
- case IPP_TAG_RANGE:
- output << "[ " << (attr->values[i].range.lower > 0 ? attr->values[i].range.lower : 1)
- << ", " << (attr->values[i].range.upper > 0 ? attr->values[i].range.upper : 65535) << " ]";
- break;
- case IPP_TAG_DATE:
- d = attr->values[i].date;
- dateStr.sprintf("%.4d-%.2d-%.2d, %.2d:%.2d:%.2d %c%.2d%.2d",
- d[0]*256+d[1], d[2], d[3],
- d[4], d[5], d[6],
- d[8], d[9], d[10]);
- output << dateStr;
- break;
- default:
- continue;
- }
- if (i < attr->num_values-1)
- output << "<br>";
- }
- output << "</td>\n </tr>" << endl;
- attr = attr->next;
- }
- // end table
- output << "</table>" << endl;
-
- return true;
-}
-
-TQMap<TQString,TQString> IppRequest::toMap(int group)
-{
- TQMap<TQString,TQString> opts;
- if (request_)
- {
- ipp_attribute_t *attr = first();
- while (attr)
- {
- if (group != -1 && attr->group_tag != group)
- {
- attr = attr->next;
- continue;
- }
- TQString value;
- for (int i=0; i<attr->num_values; i++)
- {
- switch (attr->value_tag)
- {
- case IPP_TAG_INTEGER:
- case IPP_TAG_ENUM:
- value.append(TQString::number(attr->values[i].integer)).append(",");
- break;
- case IPP_TAG_BOOLEAN:
- value.append((attr->values[i].boolean ? "true" : "false")).append(",");
- break;
- case IPP_TAG_RANGE:
- if (attr->values[i].range.lower > 0)
- value.append(TQString::number(attr->values[i].range.lower));
- if (attr->values[i].range.lower != attr->values[i].range.upper)
- {
- value.append("-");
- if (attr->values[i].range.upper > 0)
- value.append(TQString::number(attr->values[i].range.upper));
- }
- value.append(",");
- break;
- case IPP_TAG_STRING:
- case IPP_TAG_TEXT:
- case IPP_TAG_NAME:
- case IPP_TAG_KEYWORD:
- case IPP_TAG_URI:
- case IPP_TAG_MIMETYPE:
- case IPP_TAG_NAMELANG:
- case IPP_TAG_TEXTLANG:
- case IPP_TAG_CHARSET:
- case IPP_TAG_LANGUAGE:
- value.append(TQString::fromLocal8Bit(attr->values[i].string.text)).append(",");
- break;
- default:
- break;
- }
- }
- if (!value.isEmpty())
- value.truncate(value.length()-1);
- opts[TQString::fromLocal8Bit(attr->name)] = value;
- attr = attr->next;
- }
- }
- return opts;
-}
-
-void IppRequest::setMap(const TQMap<TQString,TQString>& opts)
-{
- if (!request_)
- return;
-
- TQRegExp re("^\"|\"$");
- cups_option_t *options = NULL;
- int n = 0;
- for (TQMap<TQString,TQString>::ConstIterator it=opts.begin(); it!=opts.end(); ++it)
- {
- if (it.key().startsWith("kde-") || it.key().startsWith("app-"))
- continue;
- TQString value = it.data().stripWhiteSpace(), lovalue;
- value.replace(re, "");
- lovalue = value.lower();
-
- // handles specific cases: boolean, empty strings, or option that has that boolean
- // keyword as value (to prevent them from conversion to real boolean)
- if (value == "true" || value == "false")
- addBoolean(IPP_TAG_JOB, it.key(), (value == "true"));
- else if (value.isEmpty() || lovalue == "off" || lovalue == "on"
- || lovalue == "yes" || lovalue == "no"
- || lovalue == "true" || lovalue == "false")
- addName(IPP_TAG_JOB, it.key(), value);
- else
- n = cupsAddOption(it.key().local8Bit(), value.local8Bit(), n, &options);
- }
- if (n > 0)
- cupsEncodeOptions(request_, n, options);
- cupsFreeOptions(n, options);
-
- // find an remove that annoying "document-format" attribute
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
- ipp_attribute_t *attr = ippFindAttribute(request_, "document-format", IPP_TAG_NAME);
- ippDeleteAttribute(request_, attr);
-#else
- // (can't use IppDeleteAttribute as older cups doesn't have that)
- ipp_attribute_t *attr = request_->attrs;
- while (attr)
- {
- if (attr->next && strcmp(attr->next->name, "document-format") == 0)
- {
- ipp_attribute_t *attr2 = attr->next;
- attr->next = attr2->next;
- _ipp_free_attr(attr2);
- break;
- }
- attr = attr->next;
- }
-#endif
-}
diff --git a/kdeprint/cups/ipprequest.h b/kdeprint/cups/ipprequest.h
deleted file mode 100644
index ba8b2f081..000000000
--- a/kdeprint/cups/ipprequest.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef IPPREQUEST_H
-#define IPPREQUEST_H
-
-#include <tqstring.h>
-#include <tqstringlist.h>
-#include <tqtextstream.h>
-#include <tqmap.h>
-
-#include <cups/ipp.h>
-
-class IppRequest
-{
-public:
- IppRequest();
- ~IppRequest();
-
- void init(); // re-initializes the request
-
- // request building functions
- void addMime(int group, const TQString& name, const TQString& mime);
- void addKeyword(int group, const TQString& name, const TQString& key);
- void addKeyword(int group, const TQString& name, const TQStringList& keys);
- void addURI(int group, const TQString& name, const TQString& uri);
- void addURI(int group, const TQString& name, const TQStringList& uris);
- void addText(int group, const TQString& name, const TQString& txt);
- void addText(int group, const TQString& name, const TQStringList& txts);
- void addName(int group, const TQString& name, const TQString& nm);
- void addName(int group, const TQString& name, const TQStringList& nms);
- void addInteger(int group, const TQString& name, int value);
- void addInteger(int group, const TQString& name, const TQValueList<int>& values);
- void addEnum(int group, const TQString& name, int value);
- void addEnum(int group, const TQString& name, const TQValueList<int>& values);
- void addBoolean(int group, const TQString& name, bool value);
- void addBoolean(int group, const TQString& name, const TQValueList<bool>& values);
-
- void setOperation(int op);
- void setHost(const TQString& host);
- void setPort(int p);
-
- // request answer functions
- int status();
- TQString statusMessage();
- bool integer(const TQString& name, int& value);
- bool boolean(const TQString& name, bool& value);
- bool enumvalue(const TQString& name, int& value);
- bool name(const TQString& name, TQString& value);
- bool name(const TQString& name, TQStringList& value);
- bool text(const TQString& name, TQString& value);
- bool text(const TQString& name, TQStringList& value);
- bool uri(const TQString& name, TQString& value);
- bool uri(const TQString& name, TQStringList& value);
- bool keyword(const TQString& name, TQString& value);
- bool keyword(const TQString& name, TQStringList& value);
- bool mime(const TQString& name, TQString& value);
- ipp_attribute_t* first();
- ipp_attribute_t* last();
- TQMap<TQString,TQString> toMap(int group = -1);
- void setMap(const TQMap<TQString,TQString>& opts);
-
- // processing functions
- bool doRequest(const TQString& res);
- bool doFileRequest(const TQString& res, const TQString& filename = TQString::null);
-
- // report functions
- bool htmlReport(int group, TQTextStream& output);
-
- // debug function
- void dump(int state);
-
-protected:
- void addString_p(int group, int type, const TQString& name, const TQString& value);
- void addStringList_p(int group, int type, const TQString& name, const TQStringList& values);
- void addInteger_p(int group, int type, const TQString& name, int value);
- void addIntegerList_p(int group, int type, const TQString& name, const TQValueList<int>& values);
- bool stringValue_p(const TQString& name, TQString& value, int type);
- bool stringListValue_p(const TQString& name, TQStringList& values, int type);
- bool integerValue_p(const TQString& name, int& value, int type);
-
-private:
- ipp_t *request_;
- QString host_;
- int port_;
- bool connect_;
- int dump_;
-};
-
-inline void IppRequest::addMime(int group, const TQString& name, const TQString& mime)
-{ addString_p(group, IPP_TAG_MIMETYPE, name, mime); }
-
-inline void IppRequest::addKeyword(int group, const TQString& name, const TQString& key)
-{ addString_p(group, IPP_TAG_KEYWORD, name, key); }
-
-inline void IppRequest::addKeyword(int group, const TQString& name, const TQStringList& keys)
-{ addStringList_p(group, IPP_TAG_KEYWORD, name, keys); }
-
-inline void IppRequest::addURI(int group, const TQString& name, const TQString& uri)
-{ addString_p(group, IPP_TAG_URI, name, uri); }
-
-inline void IppRequest::addURI(int group, const TQString& name, const TQStringList& uris)
-{ addStringList_p(group, IPP_TAG_URI, name, uris); }
-
-inline void IppRequest::addText(int group, const TQString& name, const TQString& txt)
-{ addString_p(group, IPP_TAG_TEXT, name, txt); }
-
-inline void IppRequest::addText(int group, const TQString& name, const TQStringList& txts)
-{ addStringList_p(group, IPP_TAG_TEXT, name, txts); }
-
-inline void IppRequest::addName(int group, const TQString& name, const TQString& nm)
-{ addString_p(group, IPP_TAG_NAME, name, nm); }
-
-inline void IppRequest::addName(int group, const TQString& name, const TQStringList& nms)
-{ addStringList_p(group, IPP_TAG_NAME, name, nms); }
-
-inline void IppRequest::addInteger(int group, const TQString& name, int value)
-{ addInteger_p(group, IPP_TAG_INTEGER, name, value); }
-
-inline void IppRequest::addInteger(int group, const TQString& name, const TQValueList<int>& values)
-{ addIntegerList_p(group, IPP_TAG_INTEGER, name, values); }
-
-inline void IppRequest::addEnum(int group, const TQString& name, int value)
-{ addInteger_p(group, IPP_TAG_ENUM, name, value); }
-
-inline void IppRequest::addEnum(int group, const TQString& name, const TQValueList<int>& values)
-{ addIntegerList_p(group, IPP_TAG_ENUM, name, values); }
-
-inline bool IppRequest::integer(const TQString& name, int& value)
-{ return integerValue_p(name, value, IPP_TAG_INTEGER); }
-
-inline bool IppRequest::enumvalue(const TQString& name, int& value)
-{ return integerValue_p(name, value, IPP_TAG_ENUM); }
-
-inline bool IppRequest::name(const TQString& name, TQString& value)
-{ return stringValue_p(name, value, IPP_TAG_NAME); }
-
-inline bool IppRequest::name(const TQString& name, TQStringList& values)
-{ return stringListValue_p(name, values, IPP_TAG_NAME); }
-
-inline bool IppRequest::text(const TQString& name, TQString& value)
-{ return stringValue_p(name, value, IPP_TAG_TEXT); }
-
-inline bool IppRequest::text(const TQString& name, TQStringList& values)
-{ return stringListValue_p(name, values, IPP_TAG_TEXT); }
-
-inline bool IppRequest::uri(const TQString& name, TQString& value)
-{ return stringValue_p(name, value, IPP_TAG_URI); }
-
-inline bool IppRequest::uri(const TQString& name, TQStringList& values)
-{ return stringListValue_p(name, values, IPP_TAG_URI); }
-
-inline bool IppRequest::keyword(const TQString& name, TQString& value)
-{ return stringValue_p(name, value, IPP_TAG_KEYWORD); }
-
-inline bool IppRequest::keyword(const TQString& name, TQStringList& values)
-{ return stringListValue_p(name, values, IPP_TAG_KEYWORD); }
-
-inline bool IppRequest::mime(const TQString& name, TQString& value)
-{ return stringValue_p(name, value, IPP_TAG_MIMETYPE); }
-
-inline bool IppRequest::doRequest(const TQString& res)
-{ return doFileRequest(res); }
-
-inline ipp_attribute_t* IppRequest::first()
-{ return (request_ ? request_->attrs : NULL); }
-
-inline ipp_attribute_t* IppRequest::last()
-{ return (request_ ? request_->last : NULL); }
-
-inline void IppRequest::setHost(const TQString& host)
-{ host_ = host; }
-
-inline void IppRequest::setPort(int p)
-{ port_ = p; }
-
-inline void IppRequest::dump(int state)
-{ dump_ = state; }
-
-#endif
diff --git a/kdeprint/cups/kcupsprinterimpl.cpp b/kdeprint/cups/kcupsprinterimpl.cpp
deleted file mode 100644
index e016e9954..000000000
--- a/kdeprint/cups/kcupsprinterimpl.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kcupsprinterimpl.h"
-#include "kprinter.h"
-#include "driver.h"
-#include "kmfactory.h"
-#include "kmmanager.h"
-#include "cupsinfos.h"
-
-#include <tqfile.h>
-#include <cups/cups.h>
-#include <stdlib.h>
-#include <kprocess.h>
-
-static void mapToCupsOptions(const TQMap<TQString,TQString>& opts, TQString& cmd);
-
-TQSize rangeToSize(const TQString& s)
-{
- TQString range = s;
- int p(-1);
- int from, to;
-
- if ((p=range.find(',')) != -1)
- range.truncate(p);
- if ((p=range.find('-')) != -1)
- {
- from = range.left(p).toInt();
- to = range.right(range.length()-p-1).toInt();
- }
- else if (!range.isEmpty())
- from = to = range.toInt();
- else
- from = to = 0;
-
- return TQSize(from,to);
-}
-//******************************************************************************************************
-
-KCupsPrinterImpl::KCupsPrinterImpl(TQObject *parent, const char *name, const TQStringList & /*args*/)
-: KPrinterImpl(parent,name)
-{
-}
-
-KCupsPrinterImpl::~KCupsPrinterImpl()
-{
-}
-
-bool KCupsPrinterImpl::setupCommand(TQString& cmd, KPrinter *printer)
-{
- // check printer object
- if (!printer) return false;
-
- TQString hoststr = TQString::tqfromLatin1("%1:%2").arg(CupsInfos::self()->host()).arg(CupsInfos::self()->port());
- cmd = TQString::tqfromLatin1("cupsdoprint -P %1 -J %3 -H %2").arg(quote(printer->printerName())).arg(quote(hoststr)).arg(quote(printer->docName()));
- if (!CupsInfos::self()->login().isEmpty())
- {
- TQString userstr(CupsInfos::self()->login());
- //if (!CupsInfos::self()->password().isEmpty())
- // userstr += (":" + CupsInfos::self()->password());
- cmd.append(" -U ").append(quote(userstr));
- }
- mapToCupsOptions(printer->options(),cmd);
- return true;
-}
-
-void KCupsPrinterImpl::preparePrinting(KPrinter *printer)
-{
- // process orientation
- TQString o = printer->option("orientation-requested");
- printer->setOption("kde-orientation",(o == "4" || o == "5" ? "Landscape" : "Portrait"));
- // if it's a TQt application, then convert orientation as it will be handled by TQt directly
- if (printer->applicationType() == KPrinter::Dialog)
- printer->setOption("orientation-requested",(o == "5" || o == "6" ? "6" : "3"));
-
- // translate copies number
- if (!printer->option("kde-copies").isEmpty()) printer->setOption("copies",printer->option("kde-copies"));
-
- // page ranges are handled by CUPS, so application should print all pages
- if (printer->pageSelection() == KPrinter::SystemSide)
- { // TQt => CUPS
- // translations
- if (!printer->option("kde-range").isEmpty())
- printer->setOption("page-ranges",printer->option("kde-range"));
- if (printer->option("kde-pageorder") == "Reverse")
- printer->setOption("OutputOrder",printer->option("kde-pageorder"));
- o = printer->option("kde-pageset");
- if (!o.isEmpty() && o != "0")
- printer->setOption("page-set",(o == "1" ? "odd" : "even"));
- printer->setOption("multiple-document-handling",(printer->option("kde-collate") == "Collate" ? "separate-documents-collated-copies" : "separate-documents-uncollated-copies"));
- }
- else
- { // No translation needed (but range => (from,to))
- TQString range = printer->option("kde-range");
- if (!range.isEmpty())
- {
- TQSize s = rangeToSize(range);
- printer->setOption("kde-from",TQString::number(s.width()));
- printer->setOption("kde-to",TQString::number(s.height()));
- }
- }
-
- // needed for page size and margins
- KPrinterImpl::preparePrinting(printer);
-}
-
-void KCupsPrinterImpl::broadcastOption(const TQString& key, const TQString& value)
-{
- KPrinterImpl::broadcastOption(key,value);
- if (key == "kde-orientation")
- KPrinterImpl::broadcastOption("orientation-requested",(value == "Landscape" ? "4" : "3"));
- else if (key == "kde-pagesize")
- {
- TQString pagename = TQString::tqfromLatin1(pageSizeToPageName((KPrinter::PageSize)value.toInt()));
- KPrinterImpl::broadcastOption("PageSize",pagename);
- // simple hack for classes
- KPrinterImpl::broadcastOption("media",pagename);
- }
-}
-
-//******************************************************************************************************
-
-static void mapToCupsOptions(const TQMap<TQString,TQString>& opts, TQString& cmd)
-{
- TQString optstr;
- for (TQMap<TQString,TQString>::ConstIterator it=opts.begin(); it!=opts.end(); ++it)
- {
- // only encode those options that doesn't start with "kde-" or "app-".
- if (!it.key().startsWith("kde-") && !it.key().startsWith("app-") && !it.key().startsWith("_kde"))
- {
- TQString key = it.key();
- if (key.startsWith("KDEPrint-"))
- /* Those are keys added by the "Additional Tags" page. *
- * Strip the prefix to build valid a CUPS option. */
- key = key.mid(9);
- optstr.append(" ").append(key);
- if (!it.data().isEmpty())
- optstr.append("=").append(it.data());
- }
- }
- if (!optstr.isEmpty())
- cmd.append(" -o ").append( KProcess::quote( optstr ) );
-}
diff --git a/kdeprint/cups/kcupsprinterimpl.h b/kdeprint/cups/kcupsprinterimpl.h
deleted file mode 100644
index b86db8aac..000000000
--- a/kdeprint/cups/kcupsprinterimpl.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KCUPSPRINTERIMPL_H
-#define KCUPSPRINTERIMPL_H
-
-#include "kprinterimpl.h"
-
-class KCupsPrinterImpl : public KPrinterImpl
-{
-public:
- KCupsPrinterImpl(TQObject *parent, const char *name, const TQStringList & /*args*/ = TQStringList());
- ~KCupsPrinterImpl();
-
- bool setupCommand(TQString&, KPrinter*);
- void preparePrinting(KPrinter*);
- void broadcastOption(const TQString& key, const TQString& value);
-};
-
-#endif
diff --git a/kdeprint/cups/kmconfigcups.cpp b/kdeprint/cups/kmconfigcups.cpp
deleted file mode 100644
index 7e03dae01..000000000
--- a/kdeprint/cups/kmconfigcups.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmconfigcups.h"
-#include "kmcupsconfigwidget.h"
-
-#include <klocale.h>
-#include <kconfig.h>
-#include <kdialog.h>
-
-#include <tqlayout.h>
-
-KMConfigCups::KMConfigCups(TQWidget *parent)
-: KMConfigPage(parent,"ConfigCups")
-{
- setPageName(i18n("CUPS Server"));
- setPageHeader(i18n("CUPS Server Settings"));
- setPagePixmap("gear");
-
- m_widget = new KMCupsConfigWidget(this);
-
- TQVBoxLayout *lay0 = new TQVBoxLayout(this, 0, KDialog::spacingHint());
- lay0->addWidget(m_widget);
- lay0->addStretch(1);
-}
-
-void KMConfigCups::loadConfig(KConfig *)
-{
- m_widget->load();
-}
-
-void KMConfigCups::saveConfig(KConfig *conf)
-{
- m_widget->saveConfig(conf);
-}
diff --git a/kdeprint/cups/kmconfigcups.h b/kdeprint/cups/kmconfigcups.h
deleted file mode 100644
index c0f1ab2ba..000000000
--- a/kdeprint/cups/kmconfigcups.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMCONFIGCUPS_H
-#define KMCONFIGCUPS_H
-
-#include "kmconfigpage.h"
-
-class KMCupsConfigWidget;
-
-class KMConfigCups : public KMConfigPage
-{
-public:
- KMConfigCups(TQWidget *parent = 0);
-
- void loadConfig(KConfig*);
- void saveConfig(KConfig*);
-
-private:
- KMCupsConfigWidget *m_widget;
-};
-
-#endif
diff --git a/kdeprint/cups/kmconfigcupsdir.cpp b/kdeprint/cups/kmconfigcupsdir.cpp
deleted file mode 100644
index fbec34f2a..000000000
--- a/kdeprint/cups/kmconfigcupsdir.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmconfigcupsdir.h"
-
-#include <tqcheckbox.h>
-#include <kurlrequester.h>
-#include <klocale.h>
-#include <kdialog.h>
-#include <kconfig.h>
-#include <tqgroupbox.h>
-#include <tqlayout.h>
-#include <kcursor.h>
-
-KMConfigCupsDir::KMConfigCupsDir(TQWidget *parent)
-: KMConfigPage(parent,"ConfigCupsDir")
-{
- setPageName(i18n("Folder"));
- setPageHeader(i18n("CUPS Folder Settings"));
- setPagePixmap("folder");
-
- TQGroupBox *m_dirbox = new TQGroupBox(0, Qt::Vertical, i18n("Installation Folder"), this);
- m_installdir = new KURLRequester(m_dirbox);
- m_installdir->setMode((KFile::Mode)(KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly));
- m_stddir = new TQCheckBox(i18n("Standard installation (/)"), m_dirbox);
- m_stddir->setCursor(KCursor::handCursor());
-
- TQVBoxLayout *lay0 = new TQVBoxLayout(this, 0, KDialog::spacingHint());
- lay0->addWidget(m_dirbox);
- lay0->addStretch(1);
- TQVBoxLayout *lay1 = new TQVBoxLayout(TQT_TQLAYOUT(m_dirbox->layout()), 10);
- lay1->addWidget(m_stddir);
- lay1->addWidget(m_installdir);
-
- connect(m_stddir,TQT_SIGNAL(toggled(bool)),m_installdir,TQT_SLOT(setDisabled(bool)));
- m_stddir->setChecked(true);
-}
-
-void KMConfigCupsDir::loadConfig(KConfig *conf)
-{
- conf->setGroup("CUPS");
- QString dir = conf->readPathEntry("InstallDir");
- m_stddir->setChecked(dir.isEmpty());
- m_installdir->setURL(dir);
-}
-
-void KMConfigCupsDir::saveConfig(KConfig *conf)
-{
- conf->setGroup("CUPS");
- conf->writePathEntry("InstallDir",(m_stddir->isChecked() ? TQString::null : m_installdir->url()));
-}
diff --git a/kdeprint/cups/kmconfigcupsdir.h b/kdeprint/cups/kmconfigcupsdir.h
deleted file mode 100644
index 352388c99..000000000
--- a/kdeprint/cups/kmconfigcupsdir.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMCONFIGCUPSDIR_H
-#define KMCONFIGCUPSDIR_H
-
-#include "kmconfigpage.h"
-
-class KURLRequester;
-class TQCheckBox;
-
-class KMConfigCupsDir : public KMConfigPage
-{
-public:
- KMConfigCupsDir(TQWidget *parent = 0);
-
- void loadConfig(KConfig*);
- void saveConfig(KConfig*);
-
-private:
- KURLRequester *m_installdir;
- TQCheckBox *m_stddir;
-};
-
-#endif
diff --git a/kdeprint/cups/kmcupsconfigwidget.cpp b/kdeprint/cups/kmcupsconfigwidget.cpp
deleted file mode 100644
index 482680bd6..000000000
--- a/kdeprint/cups/kmcupsconfigwidget.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmcupsconfigwidget.h"
-#include "cupsinfos.h"
-
-#include <tqlabel.h>
-#include <tqgroupbox.h>
-#include <tqlineedit.h>
-#include <tqcheckbox.h>
-#include <tqlayout.h>
-#include <tqpushbutton.h>
-#include <tqvalidator.h>
-
-#include <klocale.h>
-#include <kcursor.h>
-#include <kconfig.h>
-#include <kstringhandler.h>
-
-class PortValidator : public TQIntValidator
-{
-public:
- PortValidator(TQWidget *parent, const char *name = 0);
- virtual TQValidator::State validate(TQString&, int&) const;
-};
-
-PortValidator::PortValidator(TQWidget *parent, const char *name)
-: TQIntValidator(1, 65535, TQT_TQOBJECT(parent), name)
-{
-}
-
-TQValidator::State PortValidator::validate(TQString& txt, int&) const
-{
- bool ok(false);
- int p = txt.toInt(&ok);
- if (txt.isEmpty())
- return TQValidator::Intermediate;
- else if (ok && p >= bottom() && p <= top())
- return TQValidator::Acceptable;
- return TQValidator::Invalid;
-}
-
-//******************************************************************************************
-
-KMCupsConfigWidget::KMCupsConfigWidget(TQWidget *parent, const char *name)
-: TQWidget(parent,name)
-{
- // widget creation
- TQGroupBox *m_hostbox = new TQGroupBox(0, Qt::Vertical, i18n("Server Information"), this);
- TQGroupBox *m_loginbox = new TQGroupBox(0, Qt::Vertical, i18n("Account Information"), this);
- TQLabel *m_hostlabel = new TQLabel(i18n("&Host:"), m_hostbox);
- TQLabel *m_portlabel = new TQLabel(i18n("&Port:"), m_hostbox);
- m_host = new TQLineEdit(m_hostbox);
- m_port = new TQLineEdit(m_hostbox);
- m_hostlabel->setBuddy(m_host);
- m_portlabel->setBuddy(m_port);
- m_port->setValidator(new PortValidator(m_port));
- m_login = new TQLineEdit(m_loginbox);
- TQLabel *m_loginlabel = new TQLabel(i18n("&User:"), m_loginbox);
- TQLabel *m_passwordlabel = new TQLabel(i18n("Pass&word:"), m_loginbox);
- m_password = new TQLineEdit(m_loginbox);
- m_password->setEchoMode(TQLineEdit::Password);
- m_savepwd = new TQCheckBox( i18n( "&Store password in configuration file" ), m_loginbox );
- m_savepwd->setCursor( KCursor::handCursor() );
- m_anonymous = new TQCheckBox(i18n("Use &anonymous access"), m_loginbox);
- m_anonymous->setCursor(KCursor::handCursor());
- m_loginlabel->setBuddy(m_login);
- m_passwordlabel->setBuddy(m_password);
-
- // layout creation
- TQVBoxLayout *lay0 = new TQVBoxLayout(this, 0, 10);
- lay0->addWidget(m_hostbox,1);
- lay0->addWidget(m_loginbox,1);
- TQGridLayout *lay2 = new TQGridLayout(m_hostbox->tqlayout(), 2, 2, 10);
- lay2->setColStretch(1,1);
- lay2->addWidget(m_hostlabel,0,0);
- lay2->addWidget(m_portlabel,1,0);
- lay2->addWidget(m_host,0,1);
- lay2->addWidget(m_port,1,1);
- TQGridLayout *lay3 = new TQGridLayout(m_loginbox->tqlayout(), 4, 2, 10);
- lay3->setColStretch(1,1);
- lay3->addWidget(m_loginlabel,0,0);
- lay3->addWidget(m_passwordlabel,1,0);
- lay3->addWidget(m_login,0,1);
- lay3->addWidget(m_password,1,1);
- lay3->addMultiCellWidget(m_savepwd,2,2,0,1);
- lay3->addMultiCellWidget(m_anonymous,3,3,0,1);
-
- // connections
- connect(m_anonymous,TQT_SIGNAL(toggled(bool)),m_login,TQT_SLOT(setDisabled(bool)));
- connect(m_anonymous,TQT_SIGNAL(toggled(bool)),m_password,TQT_SLOT(setDisabled(bool)));
- connect(m_anonymous,TQT_SIGNAL(toggled(bool)),m_savepwd,TQT_SLOT(setDisabled(bool)));
-}
-
-void KMCupsConfigWidget::load()
-{
- CupsInfos *inf = CupsInfos::self();
- m_host->setText(inf->host());
- m_port->setText(TQString::number(inf->port()));
- if (inf->login().isEmpty())
- m_anonymous->setChecked(true);
- else
- {
- m_login->setText(inf->login());
- m_password->setText(inf->password());
- m_savepwd->setChecked( inf->savePassword() );
- }
-}
-
-void KMCupsConfigWidget::save(bool sync)
-{
- CupsInfos *inf = CupsInfos::self();
- inf->setHost(m_host->text());
- inf->setPort(m_port->text().toInt());
- if (m_anonymous->isChecked())
- {
- inf->setLogin(TQString::null);
- inf->setPassword(TQString::null);
- inf->setSavePassword( false );
- }
- else
- {
- inf->setLogin(m_login->text());
- inf->setPassword(m_password->text());
- inf->setSavePassword( m_savepwd->isChecked() );
- }
- if (sync) inf->save();
-}
-
-void KMCupsConfigWidget::saveConfig(KConfig *conf)
-{
- conf->setGroup("CUPS");
- conf->writeEntry("Host",m_host->text());
- conf->writeEntry("Port",m_port->text().toInt());
- conf->writeEntry("Login",(m_anonymous->isChecked() ? TQString::null : m_login->text()));
- conf->writeEntry( "SavePassword", ( m_anonymous->isChecked() ? false : m_savepwd->isChecked() ) );
- if ( m_savepwd->isChecked() && !m_anonymous->isChecked() )
- conf->writeEntry( "Password", ( m_anonymous->isChecked() ? TQString::null : KStringHandler::obscure( m_password->text() ) ) );
- else
- conf->deleteEntry( "Password" );
- // synchronize CupsInfos object
- save(false);
-}
diff --git a/kdeprint/cups/kmcupsconfigwidget.h b/kdeprint/cups/kmcupsconfigwidget.h
deleted file mode 100644
index 7eee42d80..000000000
--- a/kdeprint/cups/kmcupsconfigwidget.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMCUPSCONFIGWIDGET_H
-#define KMCUPSCONFIGWIDGET_H
-
-#include <tqwidget.h>
-
-class TQLineEdit;
-class TQCheckBox;
-class KConfig;
-
-class KMCupsConfigWidget : public TQWidget
-{
-public:
- KMCupsConfigWidget(TQWidget *parent = 0, const char *name = 0);
-
- void load();
- void save(bool sync = true);
- void saveConfig(KConfig*);
-
-protected:
- TQLineEdit *m_host, *m_port, *m_login, *m_password;
- TQCheckBox *m_anonymous, *m_savepwd;
-};
-
-#endif
diff --git a/kdeprint/cups/kmcupsfactory.cpp b/kdeprint/cups/kmcupsfactory.cpp
deleted file mode 100644
index 47384eab6..000000000
--- a/kdeprint/cups/kmcupsfactory.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmcupsmanager.h"
-#include "kmcupsjobmanager.h"
-#include "kmcupsuimanager.h"
-#include "kcupsprinterimpl.h"
-
-#include <kglobal.h>
-#include <kgenericfactory.h>
-
-typedef K_TYPELIST_4( KMCupsManager, KMCupsJobManager, KMCupsUiManager, KCupsPrinterImpl ) Products;
-K_EXPORT_COMPONENT_FACTORY( tdeprint_cups, KGenericFactory< Products >( "ppdtranslations" ) )
-
diff --git a/kdeprint/cups/kmcupsjobmanager.cpp b/kdeprint/cups/kmcupsjobmanager.cpp
deleted file mode 100644
index 58de0818a..000000000
--- a/kdeprint/cups/kmcupsjobmanager.cpp
+++ /dev/null
@@ -1,452 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmcupsjobmanager.h"
-#include "kmcupsmanager.h"
-#include "kmjob.h"
-#include "cupsinfos.h"
-#include "ipprequest.h"
-#include "pluginaction.h"
-#include "kprinter.h"
-#include "kprinterpropertydialog.h"
-#include "kmuimanager.h"
-#include "kmfactory.h"
-#include "kpdriverpage.h"
-#include "kpschedulepage.h"
-#include "kpcopiespage.h"
-#include "kptagspage.h"
-
-#include <klocale.h>
-#include <kdebug.h>
-#include <kurl.h>
-
-KMCupsJobManager::KMCupsJobManager(TQObject *parent, const char *name, const TQStringList & /*args*/)
-: KMJobManager(parent,name)
-{
-}
-
-KMCupsJobManager::~KMCupsJobManager()
-{
-}
-
-int KMCupsJobManager::actions()
-{
- return KMJob::All;
-}
-
-bool KMCupsJobManager::sendCommandSystemJob(const TQPtrList<KMJob>& jobs, int action, const TQString& argstr)
-{
- IppRequest req;
- TQString uri;
- bool value(true);
-
- TQPtrListIterator<KMJob> it(jobs);
- for (;it.current() && value;++it)
- {
- // hypothesis: job operation are always done on local jobs. The only operation
- // allowed on remote jobs is listing (done elsewhere).
-
- req.addURI(IPP_TAG_OPERATION,"job-uri",it.current()->uri());
- req.addName(IPP_TAG_OPERATION,"requesting-user-name",CupsInfos::self()->login());
- /*
- TQString jobHost;
- if (!it.current()->uri().isEmpty())
- {
- KURL url(it.current()->uri());
- req.setHost(url.host());
- req.setPort(url.port());
- jobHost = url.host();
- }
- */
-
- switch (action)
- {
- case KMJob::Remove:
- req.setOperation(IPP_CANCEL_JOB);
- break;
- case KMJob::Hold:
- req.setOperation(IPP_HOLD_JOB);
- break;
- case KMJob::Resume:
- req.setOperation(IPP_RELEASE_JOB);
- break;
- case KMJob::Restart:
- req.setOperation(IPP_RESTART_JOB);
- break;
- case KMJob::Move:
- if (argstr.isEmpty()) return false;
- req.setOperation(CUPS_MOVE_JOB);
- uri =
- TQString::tqfromLatin1("ipp://%1/printers/%2").arg(CupsInfos::self()->hostaddr(),
- argstr);
- req.addURI(IPP_TAG_OPERATION, "job-printer-uri", uri);
- break;
- default:
- return false;
- }
-
- if (!(value = req.doRequest("/jobs/")))
- KMManager::self()->setErrorMsg(req.statusMessage());
- }
-
- return value;
-}
-
-bool KMCupsJobManager::listJobs(const TQString& prname, KMJobManager::JobType type, int limit)
-{
- IppRequest req;
- TQStringList keys;
- CupsInfos *infos = CupsInfos::self();
-
- // wanted attributes
- keys.append("job-id");
- keys.append("job-uri");
- keys.append("job-name");
- keys.append("job-state");
- keys.append("job-printer-uri");
- keys.append("job-k-octets");
- keys.append("job-originating-user-name");
- keys.append("job-k-octets-completed");
- keys.append("job-media-sheets");
- keys.append("job-media-sheets-completed");
- keys.append("job-priority");
- keys.append("job-billing");
-
- req.setOperation(IPP_GET_JOBS);
-
- // add printer-uri
- KMPrinter *mp = KMManager::self()->findPrinter(prname);
- if (!mp)
- return false;
-
- if (!mp->uri().isEmpty())
- {
- req.addURI(IPP_TAG_OPERATION, "printer-uri", mp->uri().prettyURL());
- /*
- req.setHost(mp->uri().host());
- req.setPort(mp->uri().port());
- */
- }
- else
- req.addURI(IPP_TAG_OPERATION, "printer-uri", TQString("ipp://%1/%2/%3").arg(infos->hostaddr(),
- (mp&&mp->isClass())?"classes":"printers", prname));
-
- // other attributes
- req.addKeyword(IPP_TAG_OPERATION, "requested-attributes", keys);
- if (type == KMJobManager::CompletedJobs)
- req.addKeyword(IPP_TAG_OPERATION,"which-jobs",TQString::tqfromLatin1("completed"));
- if (limit > 0)
- req.addInteger(IPP_TAG_OPERATION,"limit",limit);
-
- // send request
- if (req.doRequest("/"))
- parseListAnswer(req, mp);
- else
- return false;
-
- return true;
-}
-
-void KMCupsJobManager::parseListAnswer(IppRequest& req, KMPrinter *pr)
-{
- ipp_attribute_t *attr = req.first();
- KMJob *job = new KMJob();
- TQString uri;
- while (attr)
- {
- TQString name(attr->name);
- if (name == "job-id") job->setId(attr->values[0].integer);
- else if (name == "job-uri") job->setUri(TQString::fromLocal8Bit(attr->values[0].string.text));
- else if (name == "job-name") job->setName(TQString::fromLocal8Bit(attr->values[0].string.text));
- else if (name == "job-state")
- {
- switch (attr->values[0].integer)
- {
- case IPP_JOB_PENDING:
- job->setState(KMJob::Queued);
- break;
- case IPP_JOB_HELD:
- job->setState(KMJob::Held);
- break;
- case IPP_JOB_PROCESSING:
- job->setState(KMJob::Printing);
- break;
- case IPP_JOB_STOPPED:
- job->setState(KMJob::Error);
- break;
- case IPP_JOB_CANCELLED:
- job->setState(KMJob::Cancelled);
- break;
- case IPP_JOB_ABORTED:
- job->setState(KMJob::Aborted);
- break;
- case IPP_JOB_COMPLETED:
- job->setState(KMJob::Completed);
- break;
- default:
- job->setState(KMJob::Unknown);
- break;
- }
- }
- else if (name == "job-k-octets") job->setSize(attr->values[0].integer);
- else if (name == "job-originating-user-name") job->setOwner(TQString::fromLocal8Bit(attr->values[0].string.text));
- else if (name == "job-k-octets-completed") job->setProcessedSize(attr->values[0].integer);
- else if (name == "job-media-sheets") job->setPages(attr->values[0].integer);
- else if (name == "job-media-sheets-completed") job->setProcessedPages(attr->values[0].integer);
- else if (name == "job-printer-uri" && !pr->isRemote())
- {
- TQString str(attr->values[0].string.text);
- int p = str.findRev('/');
- if (p != -1)
- job->setPrinter(str.mid(p+1));
- }
- else if (name == "job-priority")
- {
- job->setAttribute(0, TQString::tqfromLatin1("%1").arg(attr->values[0].integer, 3));
- }
- else if (name == "job-billing")
- {
- job->setAttributeCount(2);
- job->setAttribute(1, TQString::fromLocal8Bit(attr->values[0].string.text));
- }
-
- if (name.isEmpty() || attr == req.last())
- {
- if (job->printer().isEmpty())
- job->setPrinter(pr->printerName());
- job->setRemote(pr->isRemote());
- addJob(job); // don't use job after this call !!!
- job = new KMJob();
- }
-
- attr = attr->next;
- }
- delete job;
-}
-
-bool KMCupsJobManager::doPluginAction(int ID, const TQPtrList<KMJob>& jobs)
-{
- switch (ID)
- {
- case 0:
- if (jobs.count() == 1)
- return jobIppReport(jobs.getFirst());
- break;
- case 1:
- return changePriority(jobs, true);
- case 2:
- return changePriority(jobs, false);
- case 3:
- return editJobAttributes(jobs.getFirst());
- }
- return false;
-}
-
-bool KMCupsJobManager::jobIppReport(KMJob *j)
-{
- IppRequest req;
-
- req.setOperation(IPP_GET_JOB_ATTRIBUTES);
- req.addURI(IPP_TAG_OPERATION, "job-uri", j->uri());
- bool result(true);
- /*
- if (!j->uri().isEmpty())
- {
- KURL url(j->uri());
- req.setHost(url.host());
- req.setPort(url.port());
- }
- */
- if ((result=req.doRequest("/")))
- static_cast<KMCupsManager*>(KMManager::self())->ippReport(req, IPP_TAG_JOB, i18n("Job Report"));
- else
- KMManager::self()->setErrorMsg(i18n("Unable to retrieve job information: ")+req.statusMessage());
- return result;
-}
-
-TQValueList<KAction*> KMCupsJobManager::createPluginActions(KActionCollection *coll)
-{
- TQValueList<KAction*> list;
- KAction *act(0);
-
- list << (act = new PluginAction(0, i18n("&Job IPP Report"), "tdeprint_report", 0, coll, "plugin_ipp"));
- act->setGroup("plugin");
- list << (act = new PluginAction(1, i18n("&Increase Priority"), "up", 0, coll, "plugin_prioup"));
- act->setGroup("plugin");
- list << (act = new PluginAction(2, i18n("&Decrease Priority"), "down", 0, coll, "plugin_priodown"));
- act->setGroup("plugin");
- list << (act = new PluginAction(3, i18n("&Edit Attributes..."), "edit", 0, coll, "plugin_editjob"));
- act->setGroup("plugin");
-
- return list;
-}
-
-void KMCupsJobManager::validatePluginActions(KActionCollection *coll, const TQPtrList<KMJob>& joblist)
-{
- TQPtrListIterator<KMJob> it(joblist);
- bool flag(true);
- for (; it.current(); ++it)
- {
- flag = (flag && it.current()->type() == KMJob::System
- && (it.current()->state() == KMJob::Queued || it.current()->state() == KMJob::Held)
- /*&& !it.current()->isRemote()*/);
- }
- flag = (flag && joblist.count() > 0);
- KAction *a;
- if ( ( a = coll->action( "plugin_ipp" ) ) )
- a->setEnabled( joblist.count() == 1 );
- if ( ( a = coll->action( "plugin_prioup" ) ) )
- a->setEnabled( flag );
- if ( ( a = coll->action( "plugin_priodown" ) ) )
- a->setEnabled( flag );
- if ( ( a = coll->action( "plugin_editjob" ) ) )
- a->setEnabled( flag && ( joblist.count() == 1 ) );
-}
-
-bool KMCupsJobManager::changePriority(const TQPtrList<KMJob>& jobs, bool up)
-{
- TQPtrListIterator<KMJob> it(jobs);
- bool result(true);
- for (; it.current() && result; ++it)
- {
- int value = it.current()->attribute(0).toInt();
- if (up) value = TQMIN(value+10, 100);
- else value = TQMAX(value-10, 1);
-
- IppRequest req;
- /*
- if (!it.current()->uri().isEmpty())
- {
- KURL url(it.current()->uri());
- req.setHost(url.host());
- req.setPort(url.port());
- }
- */
- req.setOperation(IPP_SET_JOB_ATTRIBUTES);
- req.addURI(IPP_TAG_OPERATION, "job-uri", it.current()->uri());
- req.addName(IPP_TAG_OPERATION, "requesting-user-name", CupsInfos::self()->login());
- req.addInteger(IPP_TAG_JOB, "job-priority", value);
-
- if (!(result = req.doRequest("/jobs/")))
- KMManager::self()->setErrorMsg(i18n("Unable to change job priority: ")+req.statusMessage());
- }
- return result;
-}
-
-static TQString processRange(const TQString& range)
-{
- TQStringList l = TQStringList::split(',', range, false);
- TQString s;
- for (TQStringList::ConstIterator it=l.begin(); it!=l.end(); ++it)
- {
- s.append(*it);
- if ((*it).find('-') == -1)
- s.append("-").append(*it);
- s.append(",");
- }
- if (!s.isEmpty())
- s.truncate(s.length()-1);
- return s;
-}
-
-bool KMCupsJobManager::editJobAttributes(KMJob *j)
-{
- IppRequest req;
-
- req.setOperation(IPP_GET_JOB_ATTRIBUTES);
- req.addURI(IPP_TAG_OPERATION, "job-uri", j->uri());
- /*
- if (!j->uri().isEmpty())
- {
- KURL url(j->uri());
- req.setHost(url.host());
- req.setPort(url.port());
- }
- */
- if (!req.doRequest("/"))
- {
- KMManager::self()->setErrorMsg(i18n("Unable to retrieve job information: ")+req.statusMessage());
- return false;
- }
-
- TQMap<TQString,TQString> opts = req.toMap(IPP_TAG_JOB);
- // translate the "Copies" option to non-CUPS syntax
- if (opts.contains("copies"))
- opts["kde-copies"] = opts["copies"];
- if (opts.contains("page-set"))
- opts["kde-pageset"] = (opts["page-set"] == "even" ? "2" : (opts["page-set"] == "odd" ? "1" : "0"));
- if (opts.contains("OutputOrder"))
- opts["kde-pageorder"] = opts["OutputOrder"];
- if (opts.contains("multiple-document-handling"))
- opts["kde-collate"] = (opts["multiple-document-handling"] == "separate-documents-collated-copies" ? "Collate" : "Uncollate");
- if (opts.contains("page-ranges"))
- opts["kde-range"] = opts["page-ranges"];
-
- // find printer and construct dialog
- KMPrinter *prt = KMManager::self()->findPrinter(j->printer());
- if (!prt)
- {
- KMManager::self()->setErrorMsg(i18n("Unable to find printer %1.").arg(j->printer()));
- return false;
- }
- KMManager::self()->completePrinterShort(prt);
- KPrinter::ApplicationType oldAppType = KPrinter::applicationType();
- KPrinter::setApplicationType(KPrinter::StandAlone);
- KPrinterPropertyDialog dlg(prt);
- dlg.setDriver(KMManager::self()->loadPrinterDriver(prt));
- KMFactory::self()->uiManager()->setupPrinterPropertyDialog(&dlg);
- KPrinter::setApplicationType( oldAppType );
- if (dlg.driver())
- dlg.addPage(new KPDriverPage(prt, dlg.driver(), &dlg));
- dlg.addPage(new KPCopiesPage(0, &dlg));
- dlg.addPage(new KPSchedulePage(&dlg));
- dlg.addPage(new KPTagsPage(true, &dlg));
- dlg.setOptions(opts);
- dlg.enableSaveButton(false);
- dlg.setCaption(i18n("Attributes of Job %1@%2 (%3)").arg(j->id()).arg(j->printer()).arg(j->name()));
- if (dlg.exec())
- {
- opts.clear();
- // include default values to override non-default values
- dlg.getOptions(opts, true);
- // translate the "Copies" options from non-CUPS syntax
- opts["copies"] = opts["kde-copies"];
- opts["OutputOrder"] = opts["kde-pageorder"];
- opts["multiple-document-handling"] = (opts["kde-collate"] == "Collate" ? "separate-documents-collated-copies" : "separate-documents-uncollated-copies");
- opts["page-set"] = (opts["kde-pageset"] == "1" ? "odd" : (opts["kde-pageset"] == "2" ? "even" : "all"));
- // it seems CUPS is buggy. Disable page-ranges modification, otherwise nothing gets printed
- opts["page-ranges"] = processRange(opts["kde-range"]);
-
- req.init();
- req.setOperation(IPP_SET_JOB_ATTRIBUTES);
- req.addURI(IPP_TAG_OPERATION, "job-uri", j->uri());
- req.addName(IPP_TAG_OPERATION, "requesting-user-name", CupsInfos::self()->login());
- req.setMap(opts);
- //req.dump(1);
- if (!req.doRequest("/jobs/"))
- {
- KMManager::self()->setErrorMsg(i18n("Unable to set job attributes: ")+req.statusMessage());
- return false;
- }
- }
-
- return true;
-}
-
-#include "kmcupsjobmanager.moc"
diff --git a/kdeprint/cups/kmcupsjobmanager.h b/kdeprint/cups/kmcupsjobmanager.h
deleted file mode 100644
index 7e8a75a53..000000000
--- a/kdeprint/cups/kmcupsjobmanager.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMCUPSJOBMANAGER_H
-#define KMCUPSJOBMANAGER_H
-
-#include "kmjobmanager.h"
-#include "ipprequest.h"
-#include <tqstringlist.h>
-
-class KMPrinter;
-
-class KMCupsJobManager : public KMJobManager
-{
- Q_OBJECT
-
-public:
- KMCupsJobManager(TQObject *parent, const char *name, const TQStringList &/*args*/);
- virtual ~KMCupsJobManager();
-
- int actions();
- TQValueList<KAction*> createPluginActions(KActionCollection*);
- void validatePluginActions(KActionCollection*, const TQPtrList<KMJob>&);
- bool doPluginAction(int, const TQPtrList<KMJob>&);
-
-protected:
- bool jobIppReport(KMJob*);
- bool changePriority(const TQPtrList<KMJob>&, bool);
- bool editJobAttributes(KMJob*);
-
-protected:
- bool listJobs(const TQString&, JobType, int = 0);
- bool sendCommandSystemJob(const TQPtrList<KMJob>& jobs, int action, const TQString& arg = TQString::null);
- void parseListAnswer(IppRequest& req, KMPrinter *pr);
-};
-
-#endif
diff --git a/kdeprint/cups/kmcupsmanager.cpp b/kdeprint/cups/kmcupsmanager.cpp
deleted file mode 100644
index 8db6bdc6d..000000000
--- a/kdeprint/cups/kmcupsmanager.cpp
+++ /dev/null
@@ -1,1077 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 <config.h>
-
-#include "kmcupsmanager.h"
-#include "kmprinter.h"
-#include "ipprequest.h"
-#include "cupsinfos.h"
-#include "driver.h"
-#include "kmfactory.h"
-#include "kmdbentry.h"
-#include "cupsaddsmb2.h"
-#include "ippreportdlg.h"
-#include "kpipeprocess.h"
-#include "util.h"
-#include "foomatic2loader.h"
-#include "ppdloader.h"
-
-#include <tqfile.h>
-#include <tqtextstream.h>
-#include <tqregexp.h>
-#include <tqtimer.h>
-#include <tqsocket.h>
-#include <tqdatetime.h>
-
-#include <kdebug.h>
-#include <kapplication.h>
-#include <klocale.h>
-#include <kconfig.h>
-#include <kstandarddirs.h>
-#include <ksocketbase.h>
-#include <klibloader.h>
-#include <kmessagebox.h>
-#include <kaction.h>
-#include <kdialogbase.h>
-#include <kextendedsocket.h>
-#include <kprocess.h>
-#include <kbufferedsocket.h>
-#include <kfilterdev.h>
-#include <cups/cups.h>
-#include <cups/ppd.h>
-#include <math.h>
-
-#define ppdi18n(s) i18n(TQString::fromLocal8Bit(s).utf8())
-
-static void extractMaticData(TQString& buf, const TQString& filename);
-static TQString printerURI(KMPrinter *p, bool useExistingURI);
-static TQString downloadDriver(KMPrinter *p);
-
-static int trials = 5;
-
-//*****************************************************************************************************
-
- KMCupsManager::KMCupsManager(TQObject *parent, const char *name, const TQStringList & /*args*/)
-: KMManager(parent,name)
-{
- // be sure to create the CupsInfos object -> password
- // management is handled correctly.
- CupsInfos::self();
- m_cupsdconf = 0;
- m_currentprinter = 0;
- m_socket = 0;
-
- setHasManagement(true);
- setPrinterOperationMask(KMManager::PrinterAll);
- setServerOperationMask(KMManager::ServerAll);
-
- // change LANG variable so that CUPS is always using
- // english language: translation may only come from the PPD
- // itself, or from KDE.
- setenv("LANG", "en_US.UTF-8", 1);
-}
-
-KMCupsManager::~KMCupsManager()
-{
- delete m_socket;
-}
-
-TQString KMCupsManager::driverDbCreationProgram()
-{
- return TQString::tqfromLatin1("/opt/trinity/bin/make_driver_db_cups");
-}
-
-TQString KMCupsManager::driverDirectory()
-{
- TQString d = cupsInstallDir();
- if (d.isEmpty())
- d = "/usr";
- d.append("/share/cups/model");
- // raw foomatic support
- d.append(":/usr/share/foomatic/db/source");
- return d;
-}
-
-TQString KMCupsManager::cupsInstallDir()
-{
- KConfig *conf= KMFactory::self()->printConfig();
- conf->setGroup("CUPS");
- TQString dir = conf->readPathEntry("InstallDir");
- return dir;
-}
-
-void KMCupsManager::reportIppError(IppRequest *req)
-{
- setErrorMsg(req->statusMessage());
-}
-
-bool KMCupsManager::createPrinter(KMPrinter *p)
-{
- bool isclass = p->isClass(false), result(false);
- IppRequest req;
- TQString uri;
-
- uri = printerURI(p,false);
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- // needed to avoid problems when changing printer name
- p->setUri(KURL(uri));
-
- if (isclass)
- {
- req.setOperation(CUPS_ADD_CLASS);
- TQStringList members = p->members(), uris;
- TQString s;
- s = TQString::fromLocal8Bit("ipp://%1/printers/").arg(CupsInfos::self()->hostaddr());
- for (TQStringList::ConstIterator it=members.begin(); it!=members.end(); ++it)
- uris.append(s+(*it));
- req.addURI(IPP_TAG_PRINTER,"member-uris",uris);
- }
- else
- {
- req.setOperation(CUPS_ADD_PRINTER);
- // only set the device-uri if needed, otherwise you may loose authentification
- // data (login/password in URI's like smb or ipp).
- KMPrinter *otherP = findPrinter(p->printerName());
- if (!otherP || otherP->device() != p->device())
- {
- /**
- * As now the device is a TQString instead of KURL, special encoding
- * required for SMB is not needed anymore. Use a unique mechanism
- * for all backends.
- */
- req.addURI(IPP_TAG_PRINTER,"device-uri",p->device());
- }
- if (!p->option("kde-banners").isEmpty())
- {
- TQStringList bans = TQStringList::split(',',p->option("kde-banners"),false);
- while (bans.count() < 2)
- bans.append("none");
- req.addName(IPP_TAG_PRINTER,"job-sheets-default",bans);
- }
- req.addInteger(IPP_TAG_PRINTER,"job-quota-period",p->option("job-quota-period").toInt());
- req.addInteger(IPP_TAG_PRINTER,"job-k-limit",p->option("job-k-limit").toInt());
- req.addInteger(IPP_TAG_PRINTER,"job-page-limit",p->option("job-page-limit").toInt());
- if (!p->option("requesting-user-name-denied").isEmpty())
- req.addName(IPP_TAG_PRINTER,"requesting-user-name-denied",TQStringList::split(",",p->option("requesting-user-name-denied"),false));
- else if (!p->option("requesting-user-name-allowed").isEmpty())
- req.addName(IPP_TAG_PRINTER,"requesting-user-name-allowed",TQStringList::split(",",p->option("requesting-user-name-allowed"),false));
- else
- req.addName(IPP_TAG_PRINTER,"requesting-user-name-allowed",TQString::tqfromLatin1("all"));
- }
- req.addText(IPP_TAG_PRINTER,"printer-info",p->description());
- req.addText(IPP_TAG_PRINTER,"printer-location",p->location());
-
- if (req.doRequest("/admin/"))
- {
- result = true;
- if (p->driver())
- result = savePrinterDriver(p,p->driver());
- if (result)
- upPrinter(p, true);
- }
- else reportIppError(&req);
-
- return result;
-}
-
-bool KMCupsManager::removePrinter(KMPrinter *p)
-{
- bool result = setPrinterState(p,CUPS_DELETE_PRINTER);
- return result;
-}
-
-bool KMCupsManager::enablePrinter(KMPrinter *p, bool state)
-{
- return setPrinterState(p, (state ? CUPS_ACCEPT_JOBS : CUPS_REJECT_JOBS));
-}
-
-bool KMCupsManager::startPrinter(KMPrinter *p, bool state)
-{
- return setPrinterState(p, (state ? IPP_RESUME_PRINTER : IPP_PAUSE_PRINTER));
-}
-
-bool KMCupsManager::setDefaultPrinter(KMPrinter *p)
-{
- return setPrinterState(p,CUPS_SET_DEFAULT);
-}
-
-bool KMCupsManager::setPrinterState(KMPrinter *p, int state)
-{
- IppRequest req;
- TQString uri;
-
- req.setOperation(state);
- uri = printerURI(p, true);
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- if (req.doRequest("/admin/"))
- return true;
- reportIppError(&req);
- return false;
-}
-
-bool KMCupsManager::completePrinter(KMPrinter *p)
-{
- if (completePrinterShort(p))
- {
- // driver informations
- TQString ppdname = downloadDriver(p);
- ppd_file_t *ppd = (ppdname.isEmpty() ? NULL : ppdOpenFile(ppdname.local8Bit()));
- if (ppd)
- {
- KMDBEntry entry;
- // use the validation mechanism of KMDBEntry to
- // fill possible missing entries like manufacturer
- // or model.
- entry.manufacturer = ppd->manufacturer;
- entry.model = ppd->shortnickname;
- entry.modelname = ppd->modelname;
- // do not check the driver regarding the manager
- entry.validate(false);
- // update the KMPrinter object
- p->setManufacturer(entry.manufacturer);
- p->setModel(entry.model);
- p->setDriverInfo(TQString::fromLocal8Bit(ppd->nickname));
- ppdClose(ppd);
- }
- if (!ppdname.isEmpty())
- TQFile::remove(ppdname);
-
- return true;
- }
- return false;
-}
-
-bool KMCupsManager::completePrinterShort(KMPrinter *p)
-{
- IppRequest req;
- TQStringList keys;
- TQString uri;
-
- req.setOperation(IPP_GET_PRINTER_ATTRIBUTES);
- uri = printerURI(p, true);
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
-
- /*
- // change host and port for remote stuffs
- if (!p->uri().isEmpty())
- {
- // THIS IS AN UGLY HACK!! FIXME
- // This attempts a "pre-connection" to see if the host is
- // actually reachable. It times out after 2 seconds at most,
- // preventing application freezes.
- m_hostSuccess = false;
- m_lookupDone = false;
- // Give 2 seconds to connect to the printer, or abort
- KExtendedSocket *kes = new KExtendedSocket(p->uri().host(),
- p->uri().port());
- connect(kes, TQT_SIGNAL(connectionSuccess()), this, TQT_SLOT(hostPingSlot()));
- connect(kes, TQT_SIGNAL(connectionFailed(int)), this, TQT_SLOT(hostPingFailedSlot()));
- if (kes->startAsyncConnect() != 0) {
- delete kes;
- m_hostSuccess = false;
- } else {
- TQDateTime tm = TQDateTime::tqcurrentDateTime().addSecs(2);
- while (!m_lookupDone && (TQDateTime::tqcurrentDateTime() < tm))
- tqApp->processEvents();
-
- kes->cancelAsyncConnect();
-
- delete kes;
-
- if (!m_lookupDone)
- m_hostSuccess = false;
- }
-
- if (m_hostSuccess == true) {
- req.setHost(p->uri().host());
- req.setPort(p->uri().port());
- }
- }
- */
-
- // disable location as it has been transferred to listing (for filtering)
- //keys.append("printer-location");
- keys.append("printer-info");
- keys.append("printer-make-and-model");
- keys.append("job-sheets-default");
- keys.append("job-sheets-supported");
- keys.append("job-quota-period");
- keys.append("job-k-limit");
- keys.append("job-page-limit");
- keys.append("requesting-user-name-allowed");
- keys.append("requesting-user-name-denied");
- if (p->isClass(true))
- {
- keys.append("member-uris");
- keys.append("member-names");
- }
- else
- keys.append("device-uri");
- req.addKeyword(IPP_TAG_OPERATION,"requested-attributes",keys);
-
- if (req.doRequest("/printers/"))
- {
- TQString value;
- if (req.text("printer-info",value)) p->setDescription(value);
- // disabled location
- //if (req.text("printer-location",value)) p->setLocation(value);
- if (req.text("printer-make-and-model",value)) p->setDriverInfo(value);
- if (req.uri("device-uri",value))
- {
- /**
- * No specific treatment required as the device is
- * a normal TQString instead of a KURL
- */
- p->setDevice( value );
- }
- TQStringList values;
- /* if (req.uri("member-uris",values))
- {
- TQStringList members;
- for (TQStringList::ConstIterator it=values.begin(); it!=values.end(); ++it)
- {
- int p = (*it).findRev('/');
- if (p != -1)
- members.append((*it).right((*it).length()-p-1));
- }
- p->setMembers(members);
- }*/
- if (req.name("member-names",values))
- p->setMembers(values);
- // banners
- req.name("job-sheets-default",values);
- while (values.count() < 2) values.append("none");
- p->setOption("kde-banners",values.join(TQString::tqfromLatin1(",")));
- if (req.name("job-sheets-supported",values)) p->setOption("kde-banners-supported",values.join(TQString::tqfromLatin1(",")));
-
- // quotas
- int ival;
- if (req.integer("job-quota-period",ival)) p->setOption("job-quota-period",TQString::number(ival));
- if (req.integer("job-k-limit",ival)) p->setOption("job-k-limit",TQString::number(ival));
- if (req.integer("job-page-limit",ival)) p->setOption("job-page-limit",TQString::number(ival));
-
- // access permissions (allow and deny are mutually exclusives)
- if (req.name("requesting-user-name-allowed",values) && values.count() > 0)
- {
- p->removeOption("requesting-user-name-denied");
- p->setOption("requesting-user-name-allowed",values.join(","));
- }
- if (req.name("requesting-user-name-denied",values) && values.count() > 0)
- {
- p->removeOption("requesting-user-name-allowed");
- p->setOption("requesting-user-name-denied",values.join(","));
- }
-
- return true;
- }
-
- reportIppError(&req);
- return false;
-}
-
-bool KMCupsManager::testPrinter(KMPrinter *p)
-{
- return KMManager::testPrinter(p);
- /*
- TQString testpage = testPage();
- if (testpage.isEmpty())
- {
- setErrorMsg(i18n("Unable to locate test page."));
- return false;
- }
-
- IppRequest req;
- TQString uri;
-
- req.setOperation(IPP_PRINT_JOB);
- uri = printerURI(p);
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- req.addMime(IPP_TAG_OPERATION,"document-format","application/postscript");
- if (!CupsInfos::self()->login().isEmpty()) req.addName(IPP_TAG_OPERATION,"requesting-user-name",CupsInfos::self()->login());
- req.addName(IPP_TAG_OPERATION,"job-name",TQString::tqfromLatin1("KDE Print Test"));
- if (req.doFileRequest("/printers/",testpage))
- return true;
- reportIppError(&req);
- return false;
- */
-}
-
-void KMCupsManager::listPrinters()
-{
- loadServerPrinters();
-}
-
-void KMCupsManager::loadServerPrinters()
-{
- IppRequest req;
- TQStringList keys;
-
- // get printers
- req.setOperation(CUPS_GET_PRINTERS);
- keys.append("printer-name");
- keys.append("printer-type");
- keys.append("printer-state");
- // location needed for filtering
- keys.append("printer-location");
- keys.append("printer-uri-supported");
- keys.append("printer-is-accepting-jobs");
- req.addKeyword(IPP_TAG_OPERATION,"requested-attributes",keys);
-
- // filtering by username (hides printers user doesn't have allowance to use)
- req.addName(IPP_TAG_OPERATION, "requesting-user-name", TQString(cupsUser()));
-
- if (req.doRequest("/printers/"))
- {
- processRequest(&req);
-
- // get classes
- req.init();
- req.setOperation(CUPS_GET_CLASSES);
- req.addKeyword(IPP_TAG_OPERATION,"requested-attributes",keys);
-
- if (req.doRequest("/classes/"))
- {
- processRequest(&req);
-
- // load default
- req.init();
- req.setOperation(CUPS_GET_DEFAULT);
- req.addKeyword(IPP_TAG_OPERATION,"requested-attributes",TQString::tqfromLatin1("printer-name"));
- if (req.doRequest("/printers/"))
- {
- TQString s = TQString::null;
- req.name("printer-name",s);
- setHardDefault(findPrinter(s));
- }
- // This request may fails for example if no printer is defined. Just
- // discard the error message. Indeed as we successfully got printers
- // and classes, the most probable reason why this request may fail is
- // because of no printer defined. The best would be to actually check
- // there's no printer (TODO).
- return;
- }
- }
-
- // something went wrong if we get there, report the error
- reportIppError(&req);
-}
-
-void KMCupsManager::processRequest(IppRequest* req)
-{
- ipp_attribute_t *attr = req->first();
- KMPrinter *printer = new KMPrinter();
- while (attr)
- {
- TQString attrname(attr->name);
- if (attrname == "printer-name")
- {
- TQString value = TQString::fromLocal8Bit(attr->values[0].string.text);
- printer->setName(value);
- printer->setPrinterName(value);
- }
- else if (attrname == "printer-type")
- {
- int value = attr->values[0].integer;
- printer->setType(0);
- printer->addType(((value & CUPS_PRINTER_CLASS) || (value & CUPS_PRINTER_IMPLICIT) ? KMPrinter::Class : KMPrinter::Printer));
- if ((value & CUPS_PRINTER_REMOTE)) printer->addType(KMPrinter::Remote);
- if ((value & CUPS_PRINTER_IMPLICIT)) printer->addType(KMPrinter::Implicit);
-
- // convert printer-type attribute
- printer->setPrinterCap( ( value & CUPS_PRINTER_OPTIONS ) >> 2 );
- }
- else if (attrname == "printer-state")
- {
- switch (attr->values[0].integer)
- {
- case IPP_PRINTER_IDLE: printer->setState(KMPrinter::Idle); break;
- case IPP_PRINTER_PROCESSING: printer->setState(KMPrinter::Processing); break;
- case IPP_PRINTER_STOPPED: printer->setState(KMPrinter::Stopped); break;
- }
- }
- else if (attrname == "printer-uri-supported")
- {
- printer->setUri(KURL(attr->values[0].string.text));
- }
- else if (attrname == "printer-location")
- {
- printer->setLocation(TQString::fromLocal8Bit(attr->values[0].string.text));
- }
- else if (attrname == "printer-is-accepting-jobs")
- {
- printer->setAcceptJobs(attr->values[0].boolean);
- }
- if (attrname.isEmpty() || attr == req->last())
- {
- addPrinter(printer);
- printer = new KMPrinter();
- }
- attr = attr->next;
- }
- delete printer;
-}
-
-DrMain* KMCupsManager::loadPrinterDriver(KMPrinter *p, bool)
-{
- if (!p)
- return NULL;
-
- if (p->isClass(true))
- {
- KMPrinter *first_class_member = NULL;
- /* find the first printer in the class */
- first_class_member = findPrinter(p->members().first());
-
- if (first_class_member == NULL)
- {
- /* we didn't find a printer in the class */
- return NULL;
- }
- else
- {
- p = first_class_member;
- }
- }
-
- TQString fname = downloadDriver(p);
- DrMain *driver(0);
- if (!fname.isEmpty())
- {
- driver = loadDriverFile(fname);
- if (driver)
- driver->set("temporary",fname);
- }
-
- return driver;
-}
-
-DrMain* KMCupsManager::loadFileDriver(const TQString& filename)
-{
- if (filename.startsWith("ppd:"))
- return loadDriverFile(filename.mid(4));
- else if (filename.startsWith("foomatic/"))
- return loadMaticDriver(filename);
- else
- return loadDriverFile(filename);
-}
-
-DrMain* KMCupsManager::loadMaticDriver(const TQString& drname)
-{
- TQStringList comps = TQStringList::split('/', drname, false);
- TQString tmpFile = locateLocal("tmp", "foomatic_" + kapp->randomString(8));
- TQString PATH = getenv("PATH") + TQString::tqfromLatin1(":/usr/sbin:/usr/local/sbin:/opt/sbin:/opt/local/sbin");
- TQString exe = KStandardDirs::findExe("foomatic-datafile", PATH);
- if (exe.isEmpty())
- {
- setErrorMsg(i18n("Unable to find the executable foomatic-datafile "
- "in your PATH. Check that Foomatic is correctly installed."));
- return NULL;
- }
-
- KPipeProcess in;
- TQFile out(tmpFile);
- TQString cmd = KProcess::quote(exe);
- cmd += " -t cups -d ";
- cmd += KProcess::quote(comps[2]);
- cmd += " -p ";
- cmd += KProcess::quote(comps[1]);
- if (in.open(cmd) && out.open(IO_WriteOnly))
- {
- TQTextStream tin(&in), tout(&out);
- TQString line;
- while (!tin.atEnd())
- {
- line = tin.readLine();
- tout << line << endl;
- }
- in.close();
- out.close();
-
- DrMain *driver = loadDriverFile(tmpFile);
- if (driver)
- {
- driver->set("template", tmpFile);
- driver->set("temporary", tmpFile);
- return driver;
- }
- }
- setErrorMsg(i18n("Unable to create the Foomatic driver [%1,%2]. "
- "Either that driver does not exist, or you don't have "
- "the required permissions to perform that operation.").arg(comps[1]).arg(comps[2]));
- TQFile::remove(tmpFile);
- return NULL;
-}
-
-DrMain* KMCupsManager::loadDriverFile(const TQString& fname)
-{
- if (TQFile::exists(fname))
- {
- TQString msg; /* possible error message */
- DrMain *driver = PPDLoader::loadDriver( fname, &msg );
- if ( driver )
- {
- driver->set( "template", fname );
- // FIXME: should fix option in group "install"
- }
- else
- setErrorMsg( msg );
- return driver;
- }
- return NULL;
-}
-
-void KMCupsManager::saveDriverFile(DrMain *driver, const TQString& filename)
-{
- kdDebug( 500 ) << "Saving PPD file with template=" << driver->get( "template" ) << endl;
- TQIODevice *in = KFilterDev::deviceForFile( driver->get( "template" ) );
- TQFile out(filename);
- if (in && in->open(IO_ReadOnly) && out.open(IO_WriteOnly))
- {
- TQTextStream tin(in), tout(&out);
- TQString line, keyword;
- bool isnumeric(false);
- DrBase *opt(0);
-
- while (!tin.eof())
- {
- line = tin.readLine();
- if (line.startsWith("*% COMDATA #"))
- {
- int p(-1), q(-1);
- if ((p=line.find("'name'")) != -1)
- {
- p = line.find('\'',p+6)+1;
- q = line.find('\'',p);
- keyword = line.mid(p,q-p);
- opt = driver->findOption(keyword);
- if (opt && (opt->type() == DrBase::Integer || opt->type() == DrBase::Float))
- isnumeric = true;
- else
- isnumeric = false;
- }
- /*else if ((p=line.find("'type'")) != -1)
- {
- p = line.find('\'',p+6)+1;
- if (line.find("float",p) != -1 || line.find("int",p) != -1)
- isnumeric = true;
- else
- isnumeric = false;
- }*/
- else if ((p=line.find("'default'")) != -1 && !keyword.isEmpty() && opt && isnumeric)
- {
- TQString prefix = line.left(p+9);
- tout << prefix << " => '" << opt->valueText() << '\'';
- if (line.find(',',p) != -1)
- tout << ',';
- tout << endl;
- continue;
- }
- tout << line << endl;
- }
- else if (line.startsWith("*Default"))
- {
- int p = line.find(':',8);
- keyword = line.mid(8,p-8);
- DrBase *bopt = 0;
- if ( keyword == "PageRegion" || keyword == "ImageableArea" || keyword == "PaperDimension" )
- bopt = driver->findOption( TQString::tqfromLatin1( "PageSize" ) );
- else
- bopt = driver->findOption( keyword );
- if (bopt)
- switch (bopt->type())
- {
- case DrBase::List:
- case DrBase::Boolean:
- {
- DrListOption *opt = static_cast<DrListOption*>(bopt);
- if (opt && opt->currentChoice())
- tout << "*Default" << keyword << ": " << opt->currentChoice()->name() << endl;
- else
- tout << line << endl;
- }
- break;
- case DrBase::Integer:
- {
- DrIntegerOption *opt = static_cast<DrIntegerOption*>(bopt);
- tout << "*Default" << keyword << ": " << opt->fixedVal() << endl;
- }
- break;
- case DrBase::Float:
- {
- DrFloatOption *opt = static_cast<DrFloatOption*>(bopt);
- tout << "*Default" << keyword << ": " << opt->fixedVal() << endl;
- }
- break;
- default:
- tout << line << endl;
- break;
- }
- else
- tout << line << endl;
- }
- else
- tout << line << endl;
- }
- }
- delete in;
-}
-
-bool KMCupsManager::savePrinterDriver(KMPrinter *p, DrMain *d)
-{
- TQString tmpfilename = locateLocal("tmp","print_") + kapp->randomString(8);
-
- // first save the driver in a temporary file
- saveDriverFile(d,tmpfilename);
-
- // then send a request
- IppRequest req;
- TQString uri;
- bool result(false);
-
- req.setOperation(CUPS_ADD_PRINTER);
- uri = printerURI(p, true);
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- result = req.doFileRequest("/admin/",tmpfilename);
-
- // remove temporary file
- TQFile::remove(tmpfilename);
-
- if (!result)
- reportIppError(&req);
- return result;
-}
-
-void* KMCupsManager::loadCupsdConfFunction(const char *name)
-{
- if (!m_cupsdconf)
- {
- m_cupsdconf = KLibLoader::self()->library("cupsdconf");
- if (!m_cupsdconf)
- {
- setErrorMsg(i18n("Library cupsdconf not found. Check your installation."));
- return NULL;
- }
- }
- void* func = m_cupsdconf->symbol(name);
- if (!func)
- setErrorMsg(i18n("Symbol %1 not found in cupsdconf library.").arg(name));
- return func;
-}
-
-void KMCupsManager::unloadCupsdConf()
-{
- if (m_cupsdconf)
- {
- KLibLoader::self()->unloadLibrary("libcupsdconf");
- m_cupsdconf = 0;
- }
-}
-
-bool KMCupsManager::restartServer()
-{
- TQString msg;
- bool (*f1)(TQString&) = (bool(*)(TQString&))loadCupsdConfFunction("restartServer");
- bool result(false);
- if (f1)
- {
- result = f1(msg);
- if (!result) setErrorMsg(msg);
- }
- unloadCupsdConf();
- return result;
-}
-
-bool KMCupsManager::configureServer(TQWidget *parent)
-{
- TQString msg;
- bool (*f2)(TQWidget*, TQString&) = (bool(*)(TQWidget*, TQString&))loadCupsdConfFunction("configureServer");
- bool result(false);
- if (f2)
- {
- result = f2(parent, msg);
- if ( !result )
- setErrorMsg( msg );
- }
- unloadCupsdConf();
- return result;
-}
-
-TQStringList KMCupsManager::detectLocalPrinters()
-{
- TQStringList list;
- IppRequest req;
- req.setOperation(CUPS_GET_DEVICES);
- if (req.doRequest("/"))
- {
- TQString desc, uri, printer, cl;
- ipp_attribute_t *attr = req.first();
- while (attr)
- {
- TQString attrname(attr->name);
- if (attrname == "device-info") desc = attr->values[0].string.text;
- else if (attrname == "device-make-and-model") printer = attr->values[0].string.text;
- else if (attrname == "device-uri") uri = attr->values[0].string.text;
- else if ( attrname == "device-class" ) cl = attr->values[ 0 ].string.text;
- if (attrname.isEmpty() || attr == req.last())
- {
- if (!uri.isEmpty())
- {
- if (printer == "Unknown") printer = TQString::null;
- list << cl << uri << desc << printer;
- }
- uri = desc = printer = cl = TQString::null;
- }
- attr = attr->next;
- }
- }
- return list;
-}
-
-void KMCupsManager::createPluginActions(KActionCollection *coll)
-{
- KAction *act = new KAction(i18n("&Export Driver..."), "tdeprint_uploadsmb", 0, this, TQT_SLOT(exportDriver()), coll, "plugin_export_driver");
- act->setGroup("plugin");
- act = new KAction(i18n("&Printer IPP Report"), "tdeprint_report", 0, this, TQT_SLOT(printerIppReport()), coll, "plugin_printer_ipp_report");
- act->setGroup("plugin");
-}
-
-void KMCupsManager::validatePluginActions(KActionCollection *coll, KMPrinter *pr)
-{
- // save selected printer for future use in slots
- m_currentprinter = pr;
- coll->action("plugin_export_driver")->setEnabled(pr && pr->isLocal() && !pr->isClass(true) && !pr->isSpecial());
- coll->action("plugin_printer_ipp_report")->setEnabled(pr && !pr->isSpecial());
-}
-
-void KMCupsManager::exportDriver()
-{
- if (m_currentprinter && m_currentprinter->isLocal() &&
- !m_currentprinter->isClass(true) && !m_currentprinter->isSpecial())
- {
- TQString path = cupsInstallDir();
- if (path.isEmpty())
- path = "/usr/share/cups";
- else
- path += "/share/cups";
- CupsAddSmb::exportDest(m_currentprinter->printerName(), path);
- }
-}
-
-void KMCupsManager::printerIppReport()
-{
- if (m_currentprinter && !m_currentprinter->isSpecial())
- {
- IppRequest req;
- TQString uri;
-
- req.setOperation(IPP_GET_PRINTER_ATTRIBUTES);
- uri = printerURI(m_currentprinter, true);
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- /*
- if (!m_currentprinter->uri().isEmpty())
- {
- req.setHost(m_currentprinter->uri().host());
- req.setPort(m_currentprinter->uri().port());
- }
- */
- req.dump(2);
- if (req.doRequest("/printers/"))
- {
- ippReport(req, IPP_TAG_PRINTER, i18n("IPP Report for %1").arg(m_currentprinter->printerName()));
- }
- else
- {
- KMessageBox::error(0, "<p>"+i18n("Unable to retrieve printer information. Error received:")+"</p>"+req.statusMessage());
- }
- }
-}
-
-void KMCupsManager::ippReport(IppRequest& req, int group, const TQString& caption)
-{
- IppReportDlg::report(&req, group, caption);
-}
-
-TQString KMCupsManager::stateInformation()
-{
- return TQString("%1: %2")
- .arg(i18n("Server"))
- .arg(CupsInfos::self()->host()[0] != '/' ?
- TQString(TQString("%1:%2").arg(CupsInfos::self()->host()).arg(CupsInfos::self()->port()))
- : CupsInfos::self()->host());
-}
-
-void KMCupsManager::checkUpdatePossibleInternal()
-{
- kdDebug(500) << "Checking for update possible" << endl;
- delete m_socket;
- m_socket = new KNetwork::KBufferedSocket;
- m_socket->setTimeout( 1500 );
- connect( m_socket, TQT_SIGNAL( connected(const KResolverEntry&) ),
- TQT_SLOT( slotConnectionSuccess() ) );
- connect( m_socket, TQT_SIGNAL( gotError( int ) ), TQT_SLOT( slotConnectionFailed( int ) ) );
-
- trials = 5;
- TQTimer::singleShot( 1, this, TQT_SLOT( slotAsyncConnect() ) );
-}
-
-void KMCupsManager::slotConnectionSuccess()
-{
- kdDebug(500) << "Connection success, trying to send a request..." << endl;
- m_socket->close();
-
- IppRequest req;
- req.setOperation( CUPS_GET_PRINTERS );
- req.addKeyword( IPP_TAG_OPERATION, "requested-attributes", TQString::tqfromLatin1( "printer-name" ) );
- if ( req.doRequest( "/printers/" ) )
- setUpdatePossible( true );
- else
- {
- kdDebug(500) << "Unable to get printer list" << endl;
- if ( trials > 0 )
- {
- trials--;
- TQTimer::singleShot( 1000, this, TQT_SLOT( slotAsyncConnect() ) );
- }
- else
- {
- setErrorMsg( i18n( "Connection to CUPS server failed. Check that the CUPS server is correctly installed and running. "
- "Error: %1." ).arg( i18n( "the IPP request failed for an unknown reason" ) ) );
- setUpdatePossible( false );
- }
- }
-}
-
-void KMCupsManager::slotAsyncConnect()
-{
- kdDebug(500) << "Starting async connect to " << CupsInfos::self()->hostaddr() << endl;
- //m_socket->startAsyncConnect();
- if (CupsInfos::self()->host().startsWith("/"))
- m_socket->connect( TQString(), CupsInfos::self()->host());
- else
- m_socket->connectToHost( CupsInfos::self()->host(), CupsInfos::self()->port() );
-}
-
-void KMCupsManager::slotConnectionFailed( int errcode )
-{
- kdDebug(500) << "Connection failed trials=" << trials << endl;
- if ( trials > 0 )
- {
- //m_socket->setTimeout( ++to );
- //m_socket->cancelAsyncConnect();
- trials--;
- m_socket->close();
- TQTimer::singleShot( 1000, this, TQT_SLOT( slotAsyncConnect() ) );
- return;
- }
-
- TQString einfo;
-
- switch (errcode) {
- case KNetwork::KSocketBase::ConnectionRefused:
- case KNetwork::KSocketBase::ConnectionTimedOut:
- einfo = i18n("connection refused") + TQString(" (%1)").arg(errcode);
- break;
- case KNetwork::KSocketBase::LookupFailure:
- einfo = i18n("host not found") + TQString(" (%1)").arg(errcode);
- break;
- case KNetwork::KSocketBase::WouldBlock:
- default:
- einfo = i18n("read failed (%1)").arg(errcode);
- break;
- }
-
- setErrorMsg( i18n( "Connection to CUPS server failed. Check that the CUPS server is correctly installed and running. "
- "Error: %2: %1." ).arg( einfo, CupsInfos::self()->host()));
- setUpdatePossible( false );
-}
-
-void KMCupsManager::hostPingSlot() {
- m_hostSuccess = true;
- m_lookupDone = true;
-}
-
-void KMCupsManager::hostPingFailedSlot() {
- m_hostSuccess = false;
- m_lookupDone = true;
-}
-
-//*****************************************************************************************************
-
-static void extractMaticData(TQString& buf, const TQString& filename)
-{
- TQFile f(filename);
- if (f.exists() && f.open(IO_ReadOnly))
- {
- TQTextStream t(&f);
- TQString line;
- while (!t.eof())
- {
- line = t.readLine();
- if (line.startsWith("*% COMDATA #"))
- buf.append(line.right(line.length()-12)).append('\n');
- }
- }
-}
-
-static TQString printerURI(KMPrinter *p, bool use)
-{
- TQString uri;
- if (use && !p->uri().isEmpty())
- uri = p->uri().prettyURL();
- else
- uri = TQString("ipp://%1/%3/%2").arg(CupsInfos::self()->hostaddr()).arg(p->printerName()).arg((p->isClass(false) ? "classes" : "printers"));
- return uri;
-}
-
-static TQString downloadDriver(KMPrinter *p)
-{
- TQString driverfile, prname = p->printerName();
- bool changed(false);
-
- /*
- if (!p->uri().isEmpty())
- {
- // try to load the driver from the host:port
- // specified in its URI. Doing so may also change
- // the printer name to use. Note that for remote
- // printer, this operation is read-only, no counterpart
- // for saving operation.
- cupsSetServer(p->uri().host().local8Bit());
- ippSetPort(p->uri().port());
- // strip any "@..." from the printer name
- prname = prname.replace(TQRegExp("@.*"), "");
- changed = true;
- }
- */
-
- // download driver
- driverfile = cupsGetPPD(prname.local8Bit());
-
- // restore host:port (if they have changed)
- if (changed)
- {
- cupsSetServer(CupsInfos::self()->host().local8Bit());
- ippSetPort(CupsInfos::self()->port());
- }
-
- return driverfile;
-}
-
-#include "kmcupsmanager.moc"
diff --git a/kdeprint/cups/kmcupsmanager.h b/kdeprint/cups/kmcupsmanager.h
deleted file mode 100644
index d574bb686..000000000
--- a/kdeprint/cups/kmcupsmanager.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMCUPSMANAGER_H
-#define KMCUPSMANAGER_H
-
-#include "kmmanager.h"
-
-class IppRequest;
-class KLibrary;
-class KExtendedSocket;
-
-namespace KNetwork {
- class KStreamSocket;
-}
-
-class KMCupsManager : public KMManager
-{
- friend class KMWIppPrinter;
- friend class KMCupsJobManager;
-
- Q_OBJECT
-public:
- KMCupsManager(TQObject *parent, const char *name, const TQStringList & /*args*/);
- virtual ~KMCupsManager();
-
- // printer management functions
- bool createPrinter(KMPrinter *p);
- bool removePrinter(KMPrinter *p);
- bool enablePrinter(KMPrinter *p, bool state);
- bool startPrinter(KMPrinter *p, bool state);
- bool completePrinter(KMPrinter *p);
- bool completePrinterShort(KMPrinter *p);
- bool setDefaultPrinter(KMPrinter *p);
- bool testPrinter(KMPrinter *p);
-
- // printer listing functions
- // driver DB functions
- TQString driverDbCreationProgram();
- TQString driverDirectory();
-
- DrMain* loadPrinterDriver(KMPrinter *p, bool config = false);
- DrMain* loadFileDriver(const TQString& filename);
- bool savePrinterDriver(KMPrinter *p, DrMain *d);
-
- bool restartServer();
- bool configureServer(TQWidget *parent = 0);
- TQStringList detectLocalPrinters();
-
- void createPluginActions(KActionCollection*);
- void validatePluginActions(KActionCollection*, KMPrinter*);
- TQString stateInformation();
-
-public slots:
- void exportDriver();
- void printerIppReport();
-
-protected slots:
- void slotConnectionFailed( int );
- void slotConnectionSuccess();
- void slotAsyncConnect();
-
- void hostPingSlot();
- void hostPingFailedSlot();
-
-protected:
- // the real printer listing job is done here
- void listPrinters();
- void loadServerPrinters();
- void processRequest(IppRequest*);
- bool setPrinterState(KMPrinter *p, int st);
- DrMain* loadDriverFile(const TQString& filename);
- DrMain* loadMaticDriver(const TQString& drname);
- void saveDriverFile(DrMain *driver, const TQString& filename);
- void reportIppError(IppRequest*);
- void* loadCupsdConfFunction(const char*);
- void unloadCupsdConf();
- TQString cupsInstallDir();
- void ippReport(IppRequest&, int, const TQString&);
- void checkUpdatePossibleInternal();
-
-private:
- KLibrary *m_cupsdconf;
- KMPrinter *m_currentprinter;
- KNetwork::KStreamSocket *m_socket;
- bool m_hostSuccess;
- bool m_lookupDone;
-};
-
-#endif
diff --git a/kdeprint/cups/kmcupsuimanager.cpp b/kdeprint/cups/kmcupsuimanager.cpp
deleted file mode 100644
index c3dfcb1ac..000000000
--- a/kdeprint/cups/kmcupsuimanager.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmcupsuimanager.h"
-#include "kmpropertypage.h"
-#include "kmwizard.h"
-#include "kmconfigdialog.h"
-#include "kmwbackend.h"
-#include "kmfactory.h"
-#include "kprinter.h"
-
-#include "kmpropbanners.h"
-#include "kmpropmembers.h"
-#include "kmpropbackend.h"
-#include "kmpropdriver.h"
-#include "kmwbanners.h"
-#include "kmwipp.h"
-#include "kmwippselect.h"
-#include "kmwippprinter.h"
-#include "kmconfigcups.h"
-#include "kmconfigcupsdir.h"
-#include "kmwfax.h"
-#include "kmwother.h"
-#include "kmwquota.h"
-#include "kmpropquota.h"
-#include "kmwusers.h"
-#include "kmpropusers.h"
-#include "kpschedulepage.h"
-#include "kptagspage.h"
-
-#include "kprinterpropertydialog.h"
-#include "kpgeneralpage.h"
-#include "kpimagepage.h"
-#include "kptextpage.h"
-#include "kphpgl2page.h"
-
-#include "ipprequest.h"
-#include "cupsinfos.h"
-
-#include <tqlistview.h>
-#include <tqwhatsthis.h>
-#include <klocale.h>
-#include <kdebug.h>
-#include <kaction.h>
-#include <kmessagebox.h>
-
-KMCupsUiManager::KMCupsUiManager(TQObject *parent, const char *name, const TQStringList & /*args*/)
-: KMUiManager(parent,name)
-{
-}
-
-KMCupsUiManager::~KMCupsUiManager()
-{
-}
-
-void KMCupsUiManager::setupPropertyPages(KMPropertyPage *p)
-{
- p->addPropPage(new KMPropMembers(p, "Members"));
- p->addPropPage(new KMPropBackend(p, "Backend"));
- p->addPropPage(new KMPropDriver(p, "Driver"));
- p->addPropPage(new KMPropBanners(p, "Banners"));
- p->addPropPage(new KMPropQuota(p, "Quotas"));
- p->addPropPage(new KMPropUsers(p, "Users"));
-}
-
-void KMCupsUiManager::setupWizard(KMWizard *wizard)
-{
- TQString whatsThisRemoteCUPSIPPBackend =
- i18n( "<qt><p>Print queue on remote CUPS server</p>"
- "<p>Use this for a print queue installed on a remote "
- "machine running a CUPS server. This allows to use "
- "remote printers when CUPS browsing is turned off.</p></qt>"
- );
-
- TQString whatsThisRemotePrinterIPPBackend =
- i18n( "<qt><p>Network IPP printer</p>"
- "<p>Use this for a network-enabled printer using the "
- "IPP protocol. Modern high-end printers can use this mode. "
- "Use this mode instead of TCP if your printer can do both.</p></qt>"
- );
-
- TQString whatsThisSerialFaxModemBackend =
- i18n( "<qt><p>Fax/Modem printer</p>"
- "<p>Use this for a fax/modem printer. This requires the installation "
- "of the <a href=\"http://vigna.dsi.unimi.it/fax4CUPS/\">fax4CUPS</a> backend. Documents sent on this printer will be faxed "
- "to the given target fax number.</p></qt>"
- );
-
- TQString whatsThisOtherPrintertypeBackend =
- i18n( "<qt><p>Other printer</p>"
- "<p>Use this for any printer type. To use this option, you must know "
- "the URI of the printer you want to install. Refer to the CUPS documentation "
- "for more information about the printer URI. This option is mainly useful for "
- "printer types using 3rd party backends not covered by the other possibilities.</p></qt>"
- );
-
- TQString whatsThisClassOfPrinters =
- i18n( "<qt><p>Class of printers</p>"
- "<p>Use this to create a class of printers. When sending a document to a class, "
- "the document is actually sent to the first available (idle) printer in the class. "
- "Refer to the CUPS documentation for more information about class of printers.</p></qt>"
- );
-
- KMWBackend *backend = wizard->backendPage();
- if (!backend)
- return;
- backend->addBackend(KMWizard::Local,false);
- backend->addBackend(KMWizard::LPD,false);
- backend->addBackend(KMWizard::SMB,false,KMWizard::Password);
- backend->addBackend(KMWizard::TCP,false);
- backend->addBackend(KMWizard::IPP,i18n("Re&mote CUPS server (IPP/HTTP)"),false,whatsThisRemoteCUPSIPPBackend,KMWizard::Password);
- backend->addBackend(KMWizard::Custom+1,i18n("Network printer w/&IPP (IPP/HTTP)"),false,whatsThisRemotePrinterIPPBackend);
- backend->addBackend(KMWizard::Custom+2,i18n("S&erial Fax/Modem printer"),false,whatsThisSerialFaxModemBackend);
- backend->addBackend(KMWizard::Custom+5,i18n("Other &printer type"),false,whatsThisOtherPrintertypeBackend);
- backend->addBackend();
- backend->addBackend(KMWizard::Class,i18n("Cl&ass of printers"),false,whatsThisClassOfPrinters);
-
- IppRequest req;
- QString uri;
-
- req.setOperation(CUPS_GET_DEVICES);
- uri = TQString::fromLocal8Bit("ipp://%1/printers/").arg(CupsInfos::self()->hostaddr());
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
-
- if (req.doRequest("/"))
- {
- ipp_attribute_t *attr = req.first();
- while (attr)
- {
- if (attr->name && strcmp(attr->name,"device-uri") == 0)
- {
- if (strncmp(attr->values[0].string.text,"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true);
- else if (strncmp(attr->values[0].string.text,"parallel",8) == 0) backend->enableBackend(KMWizard::Local,true);
- else if (strncmp(attr->values[0].string.text,"serial",6) == 0) backend->enableBackend(KMWizard::Local,true);
- else if (strncmp(attr->values[0].string.text,"smb",3) == 0) backend->enableBackend(KMWizard::SMB,true);
- else if (strncmp(attr->values[0].string.text,"lpd",3) == 0) backend->enableBackend(KMWizard::LPD,true);
- else if (strncmp(attr->values[0].string.text,"usb",3) == 0) backend->enableBackend(KMWizard::Local,true);
- else if (strncmp(attr->values[0].string.text,"http",4) == 0 || strncmp(attr->values[0].string.text,"ipp",3) == 0)
- {
- backend->enableBackend(KMWizard::IPP,true);
- backend->enableBackend(KMWizard::Custom+1,true);
- }
- else if (strncmp(attr->values[0].string.text,"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true);
- }
- attr = attr->next;
- }
- backend->enableBackend(KMWizard::Class, true);
- backend->enableBackend(KMWizard::Custom+5, true);
- }
- else
- KMessageBox::error(wizard,
- "<qt><nobr>" +
- i18n("An error occurred while retrieving the list of available backends:") +
- "</nobr><br><br>" + req.statusMessage() + "</qt>");
-
- // banners page
- wizard->addPage(new KMWBanners(wizard));
- wizard->setNextPage(KMWizard::DriverTest,KMWizard::Banners);
- wizard->addPage(new KMWIpp(wizard));
- wizard->addPage(new KMWIppSelect(wizard));
- wizard->addPage(new KMWIppPrinter(wizard));
- wizard->addPage(new KMWFax(wizard));
- wizard->addPage(new KMWQuota(wizard));
- wizard->addPage(new KMWUsers(wizard));
- wizard->addPage(new KMWOther(wizard));
-}
-
-void KMCupsUiManager::setupPrinterPropertyDialog(KPrinterPropertyDialog *dlg)
-{
- // add general page
- dlg->addPage(new KPGeneralPage(dlg->printer(),dlg->driver(),dlg,"GeneralPage"));
- if (KMFactory::self()->settings()->application != KPrinter::Dialog)
- {
- dlg->addPage(new KPImagePage(dlg->driver(), dlg, "ImagePage"));
- dlg->addPage(new KPTextPage(dlg->driver(), dlg, "TextPage"));
- dlg->addPage(new KPHpgl2Page(dlg, "Hpgl2Page"));
- }
-}
-
-void KMCupsUiManager::setupConfigDialog(KMConfigDialog *dlg)
-{
- dlg->addConfigPage(new KMConfigCups(dlg));
- dlg->addConfigPage(new KMConfigCupsDir(dlg));
-}
-
-int KMCupsUiManager::pluginPageCap()
-{
- return (KMUiManager::CopyAll & ~KMUiManager::Current);
-}
-
-void KMCupsUiManager::setupPrintDialogPages(TQPtrList<KPrintDialogPage>* pages)
-{
- pages->append(new KPSchedulePage());
- pages->append(new KPTagsPage());
-}
-
-void KMCupsUiManager::setupJobViewer(TQListView *lv)
-{
- lv->addColumn(i18n("Priority"));
- lv->setColumnAlignment(lv->columns()-1, Qt::AlignRight|Qt::AlignVCenter);
- lv->addColumn(i18n("Billing Information"));
- lv->setColumnAlignment(lv->columns()-1, Qt::AlignRight|Qt::AlignVCenter);
-}
diff --git a/kdeprint/cups/kmcupsuimanager.h b/kdeprint/cups/kmcupsuimanager.h
deleted file mode 100644
index 6ad0f574f..000000000
--- a/kdeprint/cups/kmcupsuimanager.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMCUPSUIMANAGER_H
-#define KMCUPSUIMANAGER_H
-
-#include "kmuimanager.h"
-
-class KMCupsUiManager : public KMUiManager
-{
-public:
- KMCupsUiManager(TQObject *parent, const char *name, const TQStringList & /*args*/);
- ~KMCupsUiManager();
-
- void setupPropertyPages(KMPropertyPage*);
- void setupWizard(KMWizard*);
- void setupPrinterPropertyDialog(KPrinterPropertyDialog*);
- void setupConfigDialog(KMConfigDialog*);
- int pluginPageCap();
- void setupPrintDialogPages(TQPtrList<KPrintDialogPage>*);
- void setupJobViewer(TQListView*);
-};
-
-#endif
diff --git a/kdeprint/cups/kmpropbanners.cpp b/kdeprint/cups/kmpropbanners.cpp
deleted file mode 100644
index 22098cdff..000000000
--- a/kdeprint/cups/kmpropbanners.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmpropbanners.h"
-#include "kmprinter.h"
-#include "kmwizard.h"
-#include "kmwbanners.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <klocale.h>
-
-KMPropBanners::KMPropBanners(TQWidget *parent, const char *name)
-: KMPropWidget(parent,name)
-{
- m_startbanner = new TQLabel(this);
- m_stopbanner = new TQLabel(this);
-
- TQLabel *l1 = new TQLabel(i18n("&Starting banner:"), this);
- TQLabel *l2 = new TQLabel(i18n("&Ending banner:"), this);
-
- l1->setBuddy(m_startbanner);
- l2->setBuddy(m_stopbanner);
-
- TQGridLayout *main_ = new TQGridLayout(this, 3, 2, 10, 10);
- main_->setColStretch(1,1);
- main_->setRowStretch(2,1);
- main_->addWidget(l1,0,0);
- main_->addWidget(l2,1,0);
- main_->addWidget(m_startbanner,0,1);
- main_->addWidget(m_stopbanner,1,1);
-
- m_title = i18n("Banners");
- m_header = i18n("Banner Settings");
- m_pixmap = "editcopy";
-}
-
-KMPropBanners::~KMPropBanners()
-{
-}
-
-void KMPropBanners::setPrinter(KMPrinter *p)
-{
- if (p && p->isPrinter())
- {
- TQStringList l = TQStringList::split(',',p->option("kde-banners"),false);
- while ( l.count() < 2 )
- l.append( "none" );
- m_startbanner->setText(i18n(mapBanner(l[0]).utf8()));
- m_stopbanner->setText(i18n(mapBanner(l[1]).utf8()));
- emit enable(true);
- emit enableChange(p->isLocal());
- }
- else
- {
- emit enable(false);
- m_startbanner->setText("");
- m_stopbanner->setText("");
- }
-}
-
-void KMPropBanners::configureWizard(KMWizard *w)
-{
- w->configure(KMWizard::Banners,KMWizard::Banners,true);
-}
diff --git a/kdeprint/cups/kmpropbanners.h b/kdeprint/cups/kmpropbanners.h
deleted file mode 100644
index 770419dc5..000000000
--- a/kdeprint/cups/kmpropbanners.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMPROPBANNERS_H
-#define KMPROPBANNERS_H
-
-#include "kmpropwidget.h"
-
-class TQLabel;
-
-class KMPropBanners : public KMPropWidget
-{
-public:
- KMPropBanners(TQWidget *parent = 0, const char *name = 0);
- ~KMPropBanners();
-
- void setPrinter(KMPrinter*);
-
-protected:
- void configureWizard(KMWizard*);
-
-private:
- TQLabel *m_startbanner;
- TQLabel *m_stopbanner;
-};
-
-#endif
diff --git a/kdeprint/cups/kmpropquota.cpp b/kdeprint/cups/kmpropquota.cpp
deleted file mode 100644
index 9df6cbcb2..000000000
--- a/kdeprint/cups/kmpropquota.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmpropquota.h"
-#include "kmprinter.h"
-#include "kmwizard.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <klocale.h>
-
-// some forward declarations (see kmwquota.cpp)
-const char* unitKeyword(int);
-int findUnit(int&);
-
-KMPropQuota::KMPropQuota(TQWidget *parent, const char *name)
-: KMPropWidget(parent,name)
-{
- m_period = new TQLabel(this);
- m_sizelimit = new TQLabel(this);
- m_pagelimit = new TQLabel(this);
-
- TQLabel *l1 = new TQLabel(i18n("&Period:"), this);
- TQLabel *l2 = new TQLabel(i18n("&Size limit (KB):"), this);
- TQLabel *l3 = new TQLabel(i18n("&Page limit:"), this);
-
- l1->setBuddy(m_period);
- l2->setBuddy(m_sizelimit);
- l3->setBuddy(m_pagelimit);
-
- TQGridLayout *main_ = new TQGridLayout(this, 4, 2, 10, 10);
- main_->setColStretch(1,1);
- main_->setRowStretch(3,1);
- main_->addWidget(l1,0,0);
- main_->addWidget(l2,1,0);
- main_->addWidget(l3,2,0);
- main_->addWidget(m_period,0,1);
- main_->addWidget(m_sizelimit,1,1);
- main_->addWidget(m_pagelimit,2,1);
-
- m_title = i18n("Quotas");
- m_header = i18n("Quota Settings");
- m_pixmap = "lock";
-}
-
-KMPropQuota::~KMPropQuota()
-{
-}
-
-void KMPropQuota::setPrinter(KMPrinter *p)
-{
- if (p && p->isPrinter())
- {
- int qu(0), si(0), pa(0), un(0);
- qu = p->option("job-quota-period").toInt();
- si = p->option("job-k-limit").toInt();
- pa = p->option("job-page-limit").toInt();
- if (si == 0 && pa == 0)
- qu = -1;
- if (qu > 0)
- un = findUnit(qu);
- m_period->setText(qu == -1 ? i18n("No quota") : TQString::number(qu).append(" ").append(i18n(unitKeyword(un))));
- m_sizelimit->setText(si ? TQString::number(si) : i18n("None"));
- m_pagelimit->setText(pa ? TQString::number(pa) : i18n("None"));
- emit enable(true);
- emit enableChange(p->isLocal());
- }
- else
- {
- emit enable(false);
- m_period->setText("");
- m_sizelimit->setText("");
- m_pagelimit->setText("");
- }
-}
-
-void KMPropQuota::configureWizard(KMWizard *w)
-{
- w->configure(KMWizard::Custom+3,KMWizard::Custom+3,true);
-}
diff --git a/kdeprint/cups/kmpropquota.h b/kdeprint/cups/kmpropquota.h
deleted file mode 100644
index 8ebeb323b..000000000
--- a/kdeprint/cups/kmpropquota.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMPROPQUOTA_H
-#define KMPROPQUOTA_H
-
-#include "kmpropwidget.h"
-
-class TQLabel;
-
-class KMPropQuota : public KMPropWidget
-{
-public:
- KMPropQuota(TQWidget *parent = 0, const char *name = 0);
- ~KMPropQuota();
-
- void setPrinter(KMPrinter*);
-
-protected:
- void configureWizard(KMWizard*);
-
-private:
- TQLabel *m_period;
- TQLabel *m_sizelimit;
- TQLabel *m_pagelimit;
-};
-
-#endif
diff --git a/kdeprint/cups/kmpropusers.cpp b/kdeprint/cups/kmpropusers.cpp
deleted file mode 100644
index 65a9e4dbd..000000000
--- a/kdeprint/cups/kmpropusers.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmpropusers.h"
-#include "kmprinter.h"
-#include "kmwizard.h"
-
-#include <tqtextview.h>
-#include <tqlayout.h>
-#include <klocale.h>
-
-KMPropUsers::KMPropUsers(TQWidget *parent, const char *name)
-: KMPropWidget(parent,name)
-{
- m_text = new TQTextView(this);
- m_text->setPaper(tqcolorGroup().background());
- m_text->setFrameStyle(TQFrame::NoFrame);
-
- TQVBoxLayout *l0 = new TQVBoxLayout(this, 10, 0);
- l0->addWidget(m_text, 1);
-
- m_title = i18n("Users");
- m_header = i18n("Users Access Settings");
- m_pixmap = "tdeprint_printer_users";
-}
-
-KMPropUsers::~KMPropUsers()
-{
-}
-
-void KMPropUsers::setPrinter(KMPrinter *p)
-{
- if (p && p->isPrinter())
- {
- TQString txt("<p>%1:<ul>%1</ul></p>");
- TQStringList users;
- if (!p->option("requesting-user-name-denied").isEmpty())
- {
- txt = txt.arg(i18n("Denied users"));
- users = TQStringList::split(",", p->option("requesting-user-name-denied"), false);
- if (users.count() == 1 && users[0] == "none")
- users.clear();
- }
- else if (!p->option("requesting-user-name-allowed").isEmpty())
- {
- txt = txt.arg(i18n("Allowed users"));
- users = TQStringList::split(",", p->option("requesting-user-name-allowed"), false);
- if (users.count() == 1 && users[0] == "all")
- users.clear();
- }
- if (users.count() > 0)
- {
- TQString s;
- for (TQStringList::ConstIterator it=users.begin(); it!=users.end(); ++it)
- s.append("<li>").append(*it).append("</li>");
- txt = txt.arg(s);
- m_text->setText(txt);
- }
- else
- m_text->setText(i18n("All users allowed"));
- emit enable(true);
- emit enableChange(p->isLocal());
- }
- else
- {
- emit enable(false);
- m_text->setText("");
- }
-}
-
-void KMPropUsers::configureWizard(KMWizard *w)
-{
- w->configure(KMWizard::Custom+4,KMWizard::Custom+4,true);
-}
diff --git a/kdeprint/cups/kmpropusers.h b/kdeprint/cups/kmpropusers.h
deleted file mode 100644
index 35e935adb..000000000
--- a/kdeprint/cups/kmpropusers.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMPROPUSERS_H
-#define KMPROPUSERS_H
-
-#include "kmpropwidget.h"
-
-class TQTextView;
-
-class KMPropUsers : public KMPropWidget
-{
-public:
- KMPropUsers(TQWidget *parent = 0, const char *name = 0);
- ~KMPropUsers();
-
- void setPrinter(KMPrinter*);
-
-protected:
- void configureWizard(KMWizard*);
-
-private:
- TQTextView *m_text;
-};
-
-#endif
diff --git a/kdeprint/cups/kmwbanners.cpp b/kdeprint/cups/kmwbanners.cpp
deleted file mode 100644
index c221f69d7..000000000
--- a/kdeprint/cups/kmwbanners.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmwbanners.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-#include "kmfactory.h"
-#include "kmmanager.h"
-
-#include <tqcombobox.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqmap.h>
-#include <klocale.h>
-
-TQStringList defaultBanners()
-{
- TQStringList bans;
- TQPtrList<KMPrinter> *list = KMFactory::self()->manager()->printerList(false);
- if (list && list->count() > 0)
- {
- TQPtrListIterator<KMPrinter> it(*list);
- for (;it.current() && !it.current()->isPrinter(); ++it) ;
- if (it.current() && KMFactory::self()->manager()->completePrinter(it.current()))
- {
- TQString s = list->getFirst()->option("kde-banners-supported");
- bans = TQStringList::split(',',s,false);
- }
- }
- if (bans.count() == 0)
- bans.append("none");
- return bans;
-}
-
-static struct
-{
- const char *banner;
- const char *name;
-} bannermap[] =
-{
- { "none", I18N_NOOP( "No Banner" ) },
- { "classified", I18N_NOOP( "Classified" ) },
- { "confidential", I18N_NOOP( "Confidential" ) },
- { "secret", I18N_NOOP( "Secret" ) },
- { "standard", I18N_NOOP( "Standard" ) },
- { "topsecret", I18N_NOOP( "Top Secret" ) },
- { "unclassified", I18N_NOOP( "Unclassified" ) },
- { 0, 0 }
-};
-
-TQString mapBanner( const TQString& ban )
-{
- static TQMap<TQString,TQString> map;
- if ( map.size() == 0 )
- for ( int i=0; bannermap[ i ].banner; i++ )
- map[ bannermap[ i ].banner ] = bannermap[ i ].name;
- TQMap<TQString,TQString>::ConstIterator it = map.find( ban );
- if ( it == map.end() )
- return ban;
- else
- return it.data();
-}
-
-//**************************************************************************************************************
-
-KMWBanners::KMWBanners(TQWidget *parent, const char *name)
-: KMWizardPage(parent,name)
-{
- m_ID = KMWizard::Banners;
- m_title = i18n("Banner Selection");
- m_nextpage = KMWizard::Custom+3;
-
- m_start = new TQComboBox(this);
- m_end = new TQComboBox(this);
-
- TQLabel *l1 = new TQLabel(i18n("&Starting banner:"),this);
- TQLabel *l2 = new TQLabel(i18n("&Ending banner:"),this);
-
- l1->setBuddy(m_start);
- l2->setBuddy(m_end);
-
- TQLabel *l0 = new TQLabel(this);
- l0->setText(i18n("<p>Select the default banners associated with this printer. These "
- "banners will be inserted before and/or after each print job sent "
- "to the printer. If you don't want to use banners, select <b>No Banner</b>.</p>"));
-
- TQGridLayout *lay = new TQGridLayout(this, 5, 2, 0, 10);
- lay->setColStretch(1,1);
- lay->addRowSpacing(1,20);
- lay->setRowStretch(4,1);
- lay->addMultiCellWidget(l0,0,0,0,1);
- lay->addWidget(l1,2,0);
- lay->addWidget(l2,3,0);
- lay->addWidget(m_start,2,1);
- lay->addWidget(m_end,3,1);
-}
-
-void KMWBanners::initPrinter(KMPrinter *p)
-{
- if (p)
- {
- if (m_start->count() == 0)
- {
- m_bans = TQStringList::split(',',p->option("kde-banners-supported"),false);
- if (m_bans.count() == 0)
- m_bans = defaultBanners();
- if (m_bans.find("none") == m_bans.end())
- m_bans.prepend("none");
- for ( TQStringList::Iterator it=m_bans.begin(); it!=m_bans.end(); ++it )
- {
- m_start->insertItem( i18n( mapBanner(*it).utf8() ) );
- m_end->insertItem( i18n( mapBanner(*it).utf8() ) );
- }
- }
- TQStringList l = TQStringList::split(',',p->option("kde-banners"),false);
- while (l.count() < 2)
- l.append("none");
- m_start->setCurrentItem(m_bans.findIndex(l[0]));
- m_end->setCurrentItem(m_bans.findIndex(l[1]));
- }
-}
-
-void KMWBanners::updatePrinter(KMPrinter *p)
-{
- if (m_start->count() > 0)
- {
- p->setOption("kde-banners",m_bans[m_start->currentItem()]+","+m_bans[m_end->currentItem()]);
- }
-}
diff --git a/kdeprint/cups/kmwbanners.h b/kdeprint/cups/kmwbanners.h
deleted file mode 100644
index 6f8650848..000000000
--- a/kdeprint/cups/kmwbanners.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWBANNERS_H
-#define KMWBANNERS_H
-
-#include "kmwizardpage.h"
-#include <tqstringlist.h>
-
-class TQComboBox;
-
-class KMWBanners : public KMWizardPage
-{
-public:
- KMWBanners(TQWidget *parent = 0, const char *name = 0);
-
- void initPrinter(KMPrinter*);
- void updatePrinter(KMPrinter*);
-
-private:
- TQComboBox *m_start, *m_end;
- TQStringList m_bans;
-};
-
-TQString mapBanner( const TQString& );
-
-#endif
diff --git a/kdeprint/cups/kmwfax.cpp b/kdeprint/cups/kmwfax.cpp
deleted file mode 100644
index 352081f6c..000000000
--- a/kdeprint/cups/kmwfax.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmwfax.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-#include "ipprequest.h"
-#include "cupsinfos.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <klistbox.h>
-#include <klocale.h>
-#include <kiconloader.h>
-#include <kurl.h>
-
-KMWFax::KMWFax(TQWidget *parent, const char *name)
-: KMWizardPage(parent,name)
-{
- m_ID = KMWizard::Custom+2;
- m_title = i18n("Fax Serial Device");
- m_nextpage = KMWizard::Driver;
-
- TQLabel *lab = new TQLabel(this);
- lab->setText(i18n("<p>Select the device which your serial Fax/Modem is connected to.</p>"));
- m_list = new KListBox(this);
-
- TQVBoxLayout *l1 = new TQVBoxLayout(this,0,10);
- l1->addWidget(lab,0);
- l1->addWidget(m_list,1);
-
- // initialize
- IppRequest req;
- req.setOperation(CUPS_GET_DEVICES);
- TQString uri = TQString::tqfromLatin1("ipp://%1/printers/").arg(CupsInfos::self()->hostaddr());
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- if (req.doRequest("/"))
- {
- ipp_attribute_t *attr = req.first();
- while (attr)
- {
- if (attr->name && strcmp(attr->name,"device-uri") == 0 && strncmp(attr->values[0].string.text,"fax",3) == 0)
- {
- m_list->insertItem(SmallIcon("blockdevice"),TQString::tqfromLatin1(attr->values[0].string.text));
- }
- attr = attr->next;
- }
- }
-}
-
-bool KMWFax::isValid(TQString& msg)
-{
- if (m_list->currentItem() == -1)
- {
- msg = i18n("You must select a device.");
- return false;
- }
- return true;
-}
-
-void KMWFax::updatePrinter(KMPrinter *printer)
-{
- TQString uri = m_list->currentText();
- printer->setDevice(uri);
-}
diff --git a/kdeprint/cups/kmwfax.h b/kdeprint/cups/kmwfax.h
deleted file mode 100644
index 1a822165e..000000000
--- a/kdeprint/cups/kmwfax.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWFAX_H
-#define KMWFAX_H
-
-#include "kmwizardpage.h"
-
-class KListBox;
-
-class KMWFax : public KMWizardPage
-{
-public:
- KMWFax(TQWidget *parent = 0, const char *name = 0);
-
- bool isValid(TQString&);
- void updatePrinter(KMPrinter*);
-
-private:
- KListBox *m_list;
-};
-
-#endif
diff --git a/kdeprint/cups/kmwipp.cpp b/kdeprint/cups/kmwipp.cpp
deleted file mode 100644
index 119da629a..000000000
--- a/kdeprint/cups/kmwipp.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmwipp.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-
-#include <tqlabel.h>
-#include <tqlineedit.h>
-#include <klocale.h>
-#include <tqvalidator.h>
-
-#include <cups/http.h>
-
-KMWIpp::KMWIpp(TQWidget *parent, const char *name)
-: KMWInfoBase(2,parent,name)
-{
- m_ID = KMWizard::IPP;
- m_title = i18n("Remote IPP server");
- m_nextpage = KMWizard::IPPSelect;
- lineEdit( 1 )->setValidator( new TQIntValidator( TQT_TQOBJECT(this) ) );
-
- setInfo(i18n("<p>Enter the information concerning the remote IPP server "
- "owning the targeted printer. This wizard will poll the server "
- "before continuing.</p>"));
- setLabel(0,i18n("Host:"));
- setLabel(1,i18n("Port:"));
- setText( 1, TQString::tqfromLatin1( "631" ) );
-}
-
-bool KMWIpp::isValid(TQString& msg)
-{
- // check informations
- if (text(0).isEmpty())
- {
- msg = i18n("Empty server name.");
- return false;
- }
- bool ok(false);
- int p = text(1).toInt(&ok);
- if (!ok)
- {
- msg = i18n("Incorrect port number.");
- return false;
- }
-
- // check server
- http_t *HTTP = httpConnect(text(0).latin1(),p);
- if (HTTP)
- {
- httpClose(HTTP);
- return true;
- }
- else
- {
- msg = i18n("<nobr>Unable to connect to <b>%1</b> on port <b>%2</b> .</nobr>").arg(text(0)).arg(p);
- return false;
- }
-}
-
-void KMWIpp::updatePrinter(KMPrinter *p)
-{
- KURL url;
- url.setProtocol("ipp");
- url.setHost(text(0));
- url.setPort(text(1).toInt());
- if (!p->option("kde-login").isEmpty()) url.setUser(p->option("kde-login"));
- if (!p->option("kde-password").isEmpty()) url.setPass(p->option("kde-password"));
- p->setDevice(url.url());
-}
diff --git a/kdeprint/cups/kmwipp.h b/kdeprint/cups/kmwipp.h
deleted file mode 100644
index 33d02629b..000000000
--- a/kdeprint/cups/kmwipp.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWIPP_H
-#define KMWIPP_H
-
-#include "kmwinfobase.h"
-
-class KMWIpp : public KMWInfoBase
-{
-public:
- KMWIpp(TQWidget *parent = 0, const char *name = 0);
-
- bool isValid(TQString&);
- void updatePrinter(KMPrinter*);
-};
-
-#endif
diff --git a/kdeprint/cups/kmwippprinter.cpp b/kdeprint/cups/kmwippprinter.cpp
deleted file mode 100644
index 0a0c7b672..000000000
--- a/kdeprint/cups/kmwippprinter.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmwippprinter.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-#include "ipprequest.h"
-#include "kmcupsmanager.h"
-#include "networkscanner.h"
-
-#include <klistview.h>
-#include <tqheader.h>
-#include <kpushbutton.h>
-#include <tqlineedit.h>
-#include <tqlabel.h>
-#include <kmessagebox.h>
-#include <tqtextview.h>
-#include <tqlayout.h>
-#include <tqregexp.h>
-#include <kseparator.h>
-#include <klocale.h>
-#include <kiconloader.h>
-#include <kguiitem.h>
-#include <kurl.h>
-
-KMWIppPrinter::KMWIppPrinter(TQWidget *parent, const char *name)
-: KMWizardPage(parent,name)
-{
- m_title = i18n("IPP Printer Information");
- m_ID = KMWizard::Custom+1;
- m_nextpage = KMWizard::Driver;
-
- m_list = new KListView(this);
- m_list->addColumn("");
- m_list->header()->hide();
- m_list->setFrameStyle(TQFrame::WinPanel|TQFrame::Sunken);
- m_list->setLineWidth(1);
-
- TQLabel *l1 = new TQLabel(i18n("&Printer URI:"),this);
-
- m_uri = new TQLineEdit(this);
-
- l1->setBuddy(m_uri);
-
- m_info = new TQTextView(this);
- m_info->setPaper(tqcolorGroup().background());
- m_info->setMinimumHeight(100);
- m_info->setText(i18n("<p>Either enter the printer URI directly, or use the network scanning facility.</p>"));
- m_ippreport = new KPushButton(KGuiItem(i18n("&IPP Report"), "tdeprint_report"), this);
- m_ippreport->setEnabled(false);
-
- m_scanner = new NetworkScanner( 631, this );
-
- KSeparator* sep = new KSeparator( KSeparator::HLine, this);
- sep->setFixedHeight(20);
-
- connect(m_list,TQT_SIGNAL(selectionChanged(TQListViewItem*)),TQT_SLOT(slotPrinterSelected(TQListViewItem*)));
- connect( m_scanner, TQT_SIGNAL( scanStarted() ), TQT_SLOT( slotScanStarted() ) );
- connect( m_scanner, TQT_SIGNAL( scanFinished() ), TQT_SLOT( slotScanFinished() ) );
- connect( m_scanner, TQT_SIGNAL( scanStarted() ), parent, TQT_SLOT( disableWizard() ) );
- connect( m_scanner, TQT_SIGNAL( scanFinished() ), parent, TQT_SLOT( enableWizard() ) );
- connect(m_ippreport, TQT_SIGNAL(clicked()), TQT_SLOT(slotIppReport()));
-
- // layout
- TQHBoxLayout *lay3 = new TQHBoxLayout(this, 0, 10);
- TQVBoxLayout *lay2 = new TQVBoxLayout(0, 0, 0);
- TQHBoxLayout *lay4 = new TQHBoxLayout(0, 0, 0);
-
- lay3->addWidget(m_list,1);
- lay3->addLayout(lay2,1);
- lay2->addWidget(l1);
- lay2->addWidget(m_uri);
- lay2->addSpacing(10);
- lay2->addWidget(m_info, 1);
- lay2->addSpacing(5);
- lay2->addLayout(lay4);
- lay4->addStretch(1);
- lay4->addWidget(m_ippreport);
- lay2->addWidget(sep);
- lay2->addWidget( m_scanner );
-}
-
-KMWIppPrinter::~KMWIppPrinter()
-{
-}
-
-void KMWIppPrinter::updatePrinter(KMPrinter *p)
-{
- p->setDevice(m_uri->text());
-}
-
-bool KMWIppPrinter::isValid(TQString& msg)
-{
- if (m_uri->text().isEmpty())
- {
- msg = i18n("You must enter a printer URI.");
- return false;
- }
-
- KURL uri( m_uri->text() );
- if (!m_scanner->checkPrinter(uri.host(),(uri.port()==0?631:uri.port())))
- {
- msg = i18n("No printer found at this address/port.");
- return false;
- }
- return true;
-}
-
-void KMWIppPrinter::slotScanStarted()
-{
- m_list->clear();
-}
-
-void KMWIppPrinter::slotScanFinished()
-{
- m_ippreport->setEnabled(false);
- const TQPtrList<NetworkScanner::SocketInfo> *list = m_scanner->printerList();
- TQPtrListIterator<NetworkScanner::SocketInfo> it(*list);
- for (;it.current();++it)
- {
- TQString name;
- if (it.current()->Name.isEmpty())
- name = i18n("Unknown host - 1 is the IP", "<Unknown> (%1)").arg(it.current()->IP);
- else
- name = it.current()->Name;
- TQListViewItem *item = new TQListViewItem(m_list,name,it.current()->IP,TQString::number(it.current()->Port));
- item->setPixmap(0,SmallIcon("tdeprint_printer"));
- }
-}
-
-void KMWIppPrinter::slotPrinterSelected(TQListViewItem *item)
-{
- m_ippreport->setEnabled(item != 0);
- if (!item) return;
-
- // trying to get printer attributes
- IppRequest req;
- TQString uri;
- TQStringList keys;
-
- req.setOperation(IPP_GET_PRINTER_ATTRIBUTES);
- req.setHost(item->text(1));
- req.setPort(item->text(2).toInt());
- uri = TQString::tqfromLatin1("ipp://%1:%2/ipp").arg(item->text(1)).arg(item->text(2));
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- keys.append("printer-name");
- keys.append("printer-state");
- keys.append("printer-info");
- keys.append("printer-uri-supported");
- keys.append("printer-make-and-model");
- keys.append("printer-location");
- req.addKeyword(IPP_TAG_OPERATION,"requested-attributes",keys);
- if (req.doRequest("/ipp/") && (req.status() == IPP_OK || req.status() == IPP_OK_SUBST || req.status() == IPP_OK_CONFLICT))
- {
- TQString value, txt;
- int state;
- if (req.name("printer-name",value)) txt.append(i18n("<b>Name</b>: %1<br>").arg(value));
- if (req.text("printer-location",value) && !value.isEmpty()) txt.append(i18n("<b>Location</b>: %1<br>").arg(value));
- if (req.text("printer-info",value) && !value.isEmpty()) txt.append(i18n("<b>Description</b>: %1<br>").arg(value.replace(TQRegExp(";"),"<br>")));
- if (req.uri("printer-uri-supported",value))
- {
- if (value[0] == '/')
- value.prepend(TQString::tqfromLatin1("ipp://%1:%2").arg(item->text(1)).arg(item->text(2)));
- m_uri->setText(value);
- }
- if (req.text("printer-make-and-model",value) && !value.isEmpty()) txt.append(i18n("<b>Model</b>: %1<br>").arg(value));
- if (req.enumvalue("printer-state",state))
- {
- switch (state)
- {
- case IPP_PRINTER_IDLE: value = i18n("Idle"); break;
- case IPP_PRINTER_STOPPED: value = i18n("Stopped"); break;
- case IPP_PRINTER_PROCESSING: value = i18n("Processing..."); break;
- default: value = i18n("Unknown State", "Unknown"); break;
- }
- txt.append(i18n("<b>State</b>: %1<br>").arg(value));
- }
- m_info->setText(txt);
- }
- else
- {
- m_uri->setText(uri);
- m_info->setText(i18n("Unable to retrieve printer info. Printer answered:<br><br>%1").arg(ippErrorString((ipp_status_t)req.status())));
- }
-}
-
-void KMWIppPrinter::slotIppReport()
-{
- IppRequest req;
- TQString uri("ipp://%1:%2/ipp");
- TQListViewItem *item = m_list->currentItem();
-
- if (item)
- {
- req.setOperation(IPP_GET_PRINTER_ATTRIBUTES);
- req.setHost(item->text(1));
- req.setPort(item->text(2).toInt());
- uri = uri.arg(item->text(1)).arg(item->text(2));
- req.addURI(IPP_TAG_OPERATION, "printer-uri", uri);
- if (req.doRequest("/ipp/"))
- {
- TQString caption = i18n("IPP Report for %1").arg(item->text(0));
- static_cast<KMCupsManager*>(KMManager::self())->ippReport(req, IPP_TAG_PRINTER, caption);
- }
- else
- KMessageBox::error(this, i18n("Unable to generate report. IPP request failed with message: "
- "%1 (0x%2).").arg(ippErrorString((ipp_status_t)req.status())).arg(req.status(),0,16));
- }
-}
-
-#include "kmwippprinter.moc"
diff --git a/kdeprint/cups/kmwippprinter.h b/kdeprint/cups/kmwippprinter.h
deleted file mode 100644
index 5d9d33f7a..000000000
--- a/kdeprint/cups/kmwippprinter.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWIPPPRINTER_H
-#define KMWIPPPRINTER_H
-
-#include "kmwizardpage.h"
-
-class KListView;
-class TQListViewItem;
-class TQLineEdit;
-class TQTextView;
-class TQPushButton;
-class NetworkScanner;
-
-class KMWIppPrinter : public KMWizardPage
-{
- Q_OBJECT
-public:
- KMWIppPrinter(TQWidget *parent = 0, const char *name = 0);
- ~KMWIppPrinter();
-
- bool isValid(TQString&);
- void updatePrinter(KMPrinter*);
-
-protected slots:
- void slotScanStarted();
- void slotScanFinished();
- void slotPrinterSelected(TQListViewItem*);
- void slotIppReport();
-
-private:
- KListView *m_list;
- NetworkScanner *m_scanner;
- TQLineEdit *m_uri;
- TQTextView *m_info;
- TQPushButton *m_ippreport;
-};
-
-#endif
diff --git a/kdeprint/cups/kmwippselect.cpp b/kdeprint/cups/kmwippselect.cpp
deleted file mode 100644
index 5c9cad356..000000000
--- a/kdeprint/cups/kmwippselect.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmwippselect.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-#include "cupsinfos.h"
-#include "ipprequest.h"
-
-#include <klistbox.h>
-#include <tqlayout.h>
-#include <klocale.h>
-#include <kdebug.h>
-#include <kiconloader.h>
-
-KMWIppSelect::KMWIppSelect(TQWidget *parent, const char *name)
-: KMWizardPage(parent,name)
-{
- m_ID = KMWizard::IPPSelect;
- m_title = i18n("Remote IPP Printer Selection");
- m_nextpage = KMWizard::Driver;
-
- m_list = new KListBox(this);
-
- TQVBoxLayout *lay = new TQVBoxLayout(this, 0, 0);
- lay->addWidget(m_list);
-}
-
-bool KMWIppSelect::isValid(TQString& msg)
-{
- if (m_list->currentItem() == -1)
- {
- msg = i18n("You must select a printer.");
- return false;
- }
- return true;
-}
-
-void KMWIppSelect::initPrinter(KMPrinter *p)
-{
- // storage variables
- TQString host, login, password;
- int port;
-
- // save config
- host = CupsInfos::self()->host();
- login = CupsInfos::self()->login();
- password = CupsInfos::self()->password();
- port = CupsInfos::self()->port();
-
- m_list->clear();
-
- // retrieve printer list
- KURL url = p->device();
- CupsInfos::self()->setHost(url.host());
- CupsInfos::self()->setLogin(url.user());
- CupsInfos::self()->setPassword(url.pass());
- CupsInfos::self()->setPort(url.port());
- IppRequest req;
- TQString uri;
- req.setOperation(CUPS_GET_PRINTERS);
- uri = TQString::tqfromLatin1("ipp://%1/printers/").arg(CupsInfos::self()->hostaddr());
- req.addURI(IPP_TAG_OPERATION,"printer-uri",uri);
- req.addKeyword(IPP_TAG_OPERATION,"requested-attributes",TQString::tqfromLatin1("printer-name"));
- if (req.doRequest("/printers/"))
- {
- ipp_attribute_t *attr = req.first();
- while (attr)
- {
- if (attr->name && strcmp(attr->name,"printer-name") == 0)
- m_list->insertItem(SmallIcon("tdeprint_printer"),TQString::tqfromLatin1(attr->values[0].string.text));
- attr = attr->next;
- }
- m_list->sort();
- }
-
- // restore config
- CupsInfos::self()->setHost(host);
- CupsInfos::self()->setLogin(login);
- CupsInfos::self()->setPassword(password);
- CupsInfos::self()->setPort(port);
-}
-
-void KMWIppSelect::updatePrinter(KMPrinter *p)
-{
- KURL url = p->device();
- TQString path = m_list->currentText();
- path.prepend("/printers/");
- url.setPath(path);
- p->setDevice(url.url());
-kdDebug(500) << url.url() << endl;
-}
diff --git a/kdeprint/cups/kmwippselect.h b/kdeprint/cups/kmwippselect.h
deleted file mode 100644
index 8d1711e8c..000000000
--- a/kdeprint/cups/kmwippselect.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWIPPSELECT_H
-#define KMWIPPSELECT_H
-
-#include "kmwizardpage.h"
-
-class KListBox;
-
-class KMWIppSelect : public KMWizardPage
-{
-public:
- KMWIppSelect(TQWidget *parent = 0, const char *name = 0);
-
- bool isValid(TQString&);
- void initPrinter(KMPrinter*);
- void updatePrinter(KMPrinter*);
-
-private:
- KListBox *m_list;
-};
-
-#endif
diff --git a/kdeprint/cups/kmwother.cpp b/kdeprint/cups/kmwother.cpp
deleted file mode 100644
index 596f61990..000000000
--- a/kdeprint/cups/kmwother.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kmwother.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-#include "kmmanager.h"
-#include "cupsinfos.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqlineedit.h>
-#include <tqheader.h>
-#include <tqdict.h>
-
-#include <klocale.h>
-#include <klistview.h>
-#include <kiconloader.h>
-#include <kdebug.h>
-
-KMWOther::KMWOther(TQWidget *parent, const char *name)
-: KMWizardPage(parent,name)
-{
- m_ID = KMWizard::Custom+5;
- m_title = i18n("URI Selection");
- m_nextpage = KMWizard::Driver;
-
- m_uri = new TQLineEdit(this);
- TQLabel *l1 = new TQLabel(this);
- l1->setText(i18n("<p>Enter the URI corresponding to the printer to be installed. "
- "Examples:</p><ul>"
- "<li>smb://[login[:passwd]@]server/printer</li>"
- "<li>lpd://server/queue</li>"
- "<li>parallel:/dev/lp0</li></ul>"));
- TQLabel *l2 = new TQLabel(i18n("URI:"), this);
- m_uriview = new KListView( this );
- m_uriview->addColumn( "" );
- m_uriview->header()->hide();
- m_uriview->setSorting( -1 );
- connect( m_uriview, TQT_SIGNAL( pressed( TQListViewItem* ) ), TQT_SLOT( slotPressed( TQListViewItem* ) ) );
-
- TQVBoxLayout *lay1 = new TQVBoxLayout(this, 0, 15);
- TQVBoxLayout *lay2 = new TQVBoxLayout(0, 0, 5);
- lay1->addWidget(l1);
- lay1->addLayout(lay2);
- lay1->addWidget( m_uriview );
- lay2->addWidget(l2);
- lay2->addWidget(m_uri);
-}
-
-void KMWOther::initPrinter(KMPrinter *p)
-{
- m_uri->setText(p->device());
-
- if ( m_uriview->childCount() == 0 )
- {
- TQStringList l = KMManager::self()->detectLocalPrinters();
- if ( l.isEmpty() || l.count() % 4 != 0 )
- return;
-
- TQListViewItem *item = 0, *lastparent = 0, *root;
- root = new TQListViewItem( m_uriview, i18n( "CUPS Server %1:%2" ).arg( CupsInfos::self()->host() ).arg( CupsInfos::self()->port() ) );
- root->setPixmap( 0, SmallIcon( "gear" ) );
- root->setOpen( true );
- TQDict<TQListViewItem> parents, last;
- parents.setAutoDelete( false );
- last.setAutoDelete( false );
- for ( TQStringList::Iterator it=l.begin(); it!=l.end(); ++it )
- {
- TQString cl = *it;
- TQString uri = *( ++it );
- TQString desc = *( ++it );
- TQString prt = *( ++it );
- if ( !prt.isEmpty() )
- desc.append( " [" + prt + "]" );
- TQListViewItem *parent = parents.find( cl );
- if ( !parent )
- {
- parent = new TQListViewItem( root, lastparent, cl );
- parent->setOpen( true );
- if ( cl == "network" )
- parent->setPixmap( 0, SmallIcon( "network" ) );
- else if ( cl == "direct" )
- parent->setPixmap( 0, SmallIcon( "tdeprint_computer" ) );
- else if ( cl == "serial" )
- parent->setPixmap( 0, SmallIcon( "usb" ) );
- else
- parent->setPixmap( 0, SmallIcon( "package" ) );
- lastparent = parent;
- parents.insert( cl, parent );
- }
- item = new TQListViewItem( parent, last.find( cl ), desc, uri);
- last.insert( cl, item );
- }
- }
-}
-
-void KMWOther::updatePrinter(KMPrinter *p)
-{
- p->setDevice( m_uri->text() );
-}
-
-void KMWOther::slotPressed( TQListViewItem *item )
-{
- if ( item && !item->text( 1 ).isEmpty() )
- m_uri->setText( item->text( 1 ) );
-}
-
-#include "kmwother.moc"
diff --git a/kdeprint/cups/kmwother.h b/kdeprint/cups/kmwother.h
deleted file mode 100644
index eba5ac2b1..000000000
--- a/kdeprint/cups/kmwother.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWOTHER_H
-#define KMWOTHER_H
-
-#include "kmwizardpage.h"
-
-class TQLineEdit;
-class KListView;
-class TQListViewItem;
-
-class KMWOther : public KMWizardPage
-{
- Q_OBJECT
-public:
- KMWOther(TQWidget *parent = 0, const char *name = 0);
-
- void initPrinter(KMPrinter*);
- void updatePrinter(KMPrinter*);
-
-protected slots:
- void slotPressed( TQListViewItem* );
-
-private:
- TQLineEdit *m_uri;
- KListView *m_uriview;
-};
-
-#endif
diff --git a/kdeprint/cups/kmwquota.cpp b/kdeprint/cups/kmwquota.cpp
deleted file mode 100644
index 67245fb20..000000000
--- a/kdeprint/cups/kmwquota.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 <config.h>
-
-#include "kmwquota.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-
-#include <tqspinbox.h>
-#include <tqlabel.h>
-#include <tqcombobox.h>
-#include <tqlayout.h>
-#include <klocale.h>
-
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-
-#define N_TIME_LIMITS 6
-static int time_periods[] = {
- 1, // second
- 60, // minute
- 3600, // hour
- 86400, // day
- 604800, // week
- 2592000 // month (30 days)
-};
-static const char* time_keywords[] = {
- I18N_NOOP("second(s)"),
- I18N_NOOP("minute(s)"),
- I18N_NOOP("hour(s)"),
- I18N_NOOP("day(s)"),
- I18N_NOOP("week(s)"),
- I18N_NOOP("month(s)")
-};
-
-int findUnit(int& period)
-{
- int unit(0);
- for (int i=N_TIME_LIMITS-1;i>=0;i--)
- {
- if (period < time_periods[i])
- continue;
- int d = period / time_periods[i];
- if ((d*time_periods[i]) == period)
- {
- unit = i;
- break;
- }
- }
- period /= time_periods[unit];
- return unit;
-}
-
-const char* unitKeyword(int i)
-{ return time_keywords[i]; }
-
-KMWQuota::KMWQuota(TQWidget *parent, const char *name)
-: KMWizardPage(parent, name)
-{
- m_ID = KMWizard::Custom+3;
- m_title = i18n("Printer Quota Settings");
- m_nextpage = KMWizard::Custom+4;
-
- m_period = new TQSpinBox(this);
- m_period->setRange(-1, INT_MAX);
- m_period->setSpecialValueText(i18n("No quota"));
- m_sizelimit = new TQSpinBox(this);
- m_sizelimit->setRange(0, INT_MAX);
- m_sizelimit->setSpecialValueText(i18n("None"));
- m_pagelimit = new TQSpinBox(this);
- m_pagelimit->setRange(0, INT_MAX);
- m_pagelimit->setSpecialValueText(i18n("None"));
- m_timeunit = new TQComboBox(this);
- for (int i=0;i<N_TIME_LIMITS;i++)
- m_timeunit->insertItem(i18n(time_keywords[i]));
- m_timeunit->setCurrentItem(3);
-
- TQLabel *lab1 = new TQLabel(i18n("&Period:"), this);
- TQLabel *lab2 = new TQLabel(i18n("&Size limit (KB):"), this);
- TQLabel *lab3 = new TQLabel(i18n("&Page limit:"), this);
-
- lab1->setBuddy(m_period);
- lab2->setBuddy(m_sizelimit);
- lab3->setBuddy(m_pagelimit);
-
- TQLabel *lab4 = new TQLabel(i18n("<p>Set here the quota for this printer. Using limits of <b>0</b> means "
- "that no quota will be used. This is equivalent to set quota period to "
- "<b><nobr>No quota</nobr></b> (-1). Quota limits are defined on a per-user base and "
- "applied to all users.</p>"), this);
-
- TQGridLayout *l0 = new TQGridLayout(this, 5, 3, 0, 10);
- l0->setRowStretch(4, 1);
- l0->setColStretch(1, 1);
- l0->addMultiCellWidget(lab4, 0, 0, 0, 2);
- l0->addWidget(lab1, 1, 0);
- l0->addWidget(lab2, 2, 0);
- l0->addWidget(lab3, 3, 0);
- l0->addWidget(m_period, 1, 1);
- l0->addWidget(m_timeunit, 1, 2);
- l0->addMultiCellWidget(m_sizelimit, 2, 2, 1, 2);
- l0->addMultiCellWidget(m_pagelimit, 3, 3, 1, 2);
-}
-
-KMWQuota::~KMWQuota()
-{
-}
-
-bool KMWQuota::isValid(TQString& msg)
-{
- if (m_period->value() >= 0 && m_sizelimit->value() == 0 && m_pagelimit->value() == 0)
- {
- msg = i18n("You must specify at least one quota limit.");
- return false;
- }
- return true;
-}
-
-void KMWQuota::initPrinter(KMPrinter *p)
-{
- int qu(-1), si(0), pa(0), un(3);
- qu = p->option("job-quota-period").toInt();
- si = p->option("job-k-limit").toInt();
- pa = p->option("job-page-limit").toInt();
- if (si == 0 && pa == 0)
- // no quota
- qu = -1;
- m_sizelimit->setValue(si);
- m_pagelimit->setValue(pa);
- if (qu > 0)
- {
- un = findUnit(qu);
- }
- m_timeunit->setCurrentItem(un);
- m_period->setValue(qu);
-}
-
-void KMWQuota::updatePrinter(KMPrinter *p)
-{
- int qu(m_period->value()), si(m_sizelimit->value()), pa(m_pagelimit->value());
- if (qu == -1)
- {
- // no quota, set limits to 0
- si = 0;
- pa = 0;
- qu = 0;
- }
- qu *= time_periods[m_timeunit->currentItem()];
-
- p->setOption("job-quota-period", TQString::number(qu));
- p->setOption("job-k-limit", TQString::number(si));
- p->setOption("job-page-limit", TQString::number(pa));
-}
-#include "kmwquota.moc"
diff --git a/kdeprint/cups/kmwquota.h b/kdeprint/cups/kmwquota.h
deleted file mode 100644
index d8895c80d..000000000
--- a/kdeprint/cups/kmwquota.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWQUOTA_H
-#define KMWQUOTA_H
-
-#include <kmwizardpage.h>
-
-class TQSpinBox;
-class TQComboBox;
-
-class KMWQuota : public KMWizardPage
-{
- Q_OBJECT
-public:
- KMWQuota(TQWidget *parent = 0, const char *name = 0);
- virtual ~KMWQuota();
-
- bool isValid(TQString&);
- void initPrinter(KMPrinter*);
- void updatePrinter(KMPrinter*);
-
-private:
- TQSpinBox *m_period;
- TQSpinBox *m_sizelimit;
- TQSpinBox *m_pagelimit;
- TQComboBox *m_timeunit;
-};
-
-#endif
diff --git a/kdeprint/cups/kmwusers.cpp b/kdeprint/cups/kmwusers.cpp
deleted file mode 100644
index 714f6f4d4..000000000
--- a/kdeprint/cups/kmwusers.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 <config.h>
-
-#include "kmwusers.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqcombobox.h>
-#include <klocale.h>
-#include <keditlistbox.h>
-
-KMWUsers::KMWUsers(TQWidget *parent, const char *name)
-: KMWizardPage(parent, name)
-{
- m_ID = KMWizard::Custom+4;
- m_title = i18n("Users Access Settings");
- m_nextpage = KMWizard::Name;
-
- m_users = new KEditListBox(i18n("Users"), this, 0, false, KEditListBox::Add|KEditListBox::Remove);
- m_type = new TQComboBox(this);
- m_type->insertItem(i18n("Allowed Users"));
- m_type->insertItem(i18n("Denied Users"));
-
- TQLabel *lab1 = new TQLabel(i18n("Define here a group of allowed/denied users for this printer."), this);
- TQLabel *lab2 = new TQLabel(i18n("&Type:"), this);
-
- lab2->setBuddy(m_type);
-
- TQVBoxLayout *l0 = new TQVBoxLayout(this, 0, 10);
- TQHBoxLayout *l1 = new TQHBoxLayout(0, 0, 10);
- l0->addWidget(lab1, 0);
- l0->addLayout(l1, 0);
- l1->addWidget(lab2, 0);
- l1->addWidget(m_type, 1);
- l0->addWidget(m_users, 1);
-}
-
-KMWUsers::~KMWUsers()
-{
-}
-
-void KMWUsers::initPrinter(KMPrinter *p)
-{
- TQStringList l;
- int i(1);
- if (!p->option("requesting-user-name-denied").isEmpty())
- {
- l = TQStringList::split(",", p->option("requesting-user-name-denied"), false);
- if (l.count() == 1 && l[0] == "none")
- l.clear();
- }
- else if (!p->option("requesting-user-name-allowed").isEmpty())
- {
- i = 0;
- l = TQStringList::split(",", p->option("requesting-user-name-allowed"), false);
- if (l.count() && l[0] == "all")
- l.clear();
- }
- m_users->insertStringList(l);
- m_type->setCurrentItem(i);
-}
-
-void KMWUsers::updatePrinter(KMPrinter *p)
-{
- p->removeOption("requesting-user-name-denied");
- p->removeOption("requesting-user-name-allowed");
-
- TQString str;
- if (m_users->count() > 0)
- str = m_users->items().join(",");
- else
- str = (m_type->currentItem() == 0 ? "all" : "none");
- TQString optname = (m_type->currentItem() == 0 ? "requesting-user-name-allowed" : "requesting-user-name-denied");
- p->setOption(optname, str);
-}
-#include "kmwusers.moc"
diff --git a/kdeprint/cups/kmwusers.h b/kdeprint/cups/kmwusers.h
deleted file mode 100644
index cae8844a6..000000000
--- a/kdeprint/cups/kmwusers.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KMWUSERS_H
-#define KMWUSERS_H
-
-#include <kmwizardpage.h>
-
-class KEditListBox;
-class TQComboBox;
-
-class KMWUsers : public KMWizardPage
-{
- Q_OBJECT
-public:
- KMWUsers(TQWidget *parent = 0, const char *name = 0);
- virtual ~KMWUsers();
-
- void initPrinter(KMPrinter*);
- void updatePrinter(KMPrinter*);
-
-private:
- KEditListBox *m_users;
- TQComboBox *m_type;
-};
-
-#endif
diff --git a/kdeprint/cups/kphpgl2page.cpp b/kdeprint/cups/kphpgl2page.cpp
deleted file mode 100644
index 080cdf453..000000000
--- a/kdeprint/cups/kphpgl2page.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kphpgl2page.h"
-
-#include <tqcheckbox.h>
-#include <tqgroupbox.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-#include <klocale.h>
-#include <knuminput.h>
-
-KPHpgl2Page::KPHpgl2Page(TQWidget *parent, const char *name)
-: KPrintDialogPage(parent, name)
-{
- //WhatsThis strings.... (added by pfeifle@kde.org)
- TQString whatsThisBlackplotHpgl2Page = i18n( " <qt> "
- " <b>Print in Black Only (Blackplot)</b> "
- " <p>The \'blackplot\' option specifies that all pens should plot in black-only:"
- " The default is to use the colors defined in the plot file, or the standard "
- " pen colors defined in the HP-GL/2 reference manual from Hewlett Packard. </p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o blackplot=true "
- " </pre> "
- " </p> "
- " </qt>" );
-
- TQString whatsThisFitplotHpgl2Page = i18n( " <qt> "
- " <b>Scale Print Image to Page Size</b> "
- " <p>The 'fitplot' option specifies that the HP-GL image should be scaled to fill "
- " exactly the page with the (elsewhere selected) media size. </p> "
- " <p>The default is 'fitplot is disabled'. The default will therefore use the absolute "
- " distances specified in the plot file. (You should be aware that HP-GL files are very "
- " often CAD drawings intended for large format plotters. On standard office printers "
- " they will therefore lead to the drawing printout being spread across multiple pages.) </p> "
- " <p><b>Note:</b>This feature depends upon an accurate plot size (PS) command in the "
- " HP-GL/2 file. If no plot size is given in the file the filter converting the HP-GL "
- " to PostScript assumes the plot is ANSI E size. </p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches with the CUPS commandline job option parameter:</em> "
- " <pre> "
- " -o fitplot=true "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisPenwidthHpgl2Page = i18n( " <qt> "
- " <b>Set Pen Width for HP-GL (if not defined in file)</b>. "
- " <p>The pen width value can be set here in case the original HP-GL file does not have it "
- " set. The pen width specifies the value in micrometers. The default value of 1000 produces "
- " lines that are 1000 micrometers == 1 millimeter in width. Specifying a pen width of 0 "
- " produces lines that are exactly 1 pixel wide. </p> "
- " <p><b>Note:</b> The penwidth option set here is ignored if the pen widths are set inside "
- " the plot file itself..</p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o penwidth=... # example: \"2000\" or \"500\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisAllOptionsHpgl2Page = i18n( " <qt> "
- " <b>HP-GL Print Options</b> "
- " <p>All options on this page are only applicable if you use KDEPrint to send HP-GL and "
- " HP-GL/2 files to one of your printers. </p> "
- " <p>HP-GL and HP-GL/2 are page description languages developed by Hewlett-Packard to drive "
- " Pen Plotting devices. </p> "
- " <p>KDEPrint can (with the help of CUPS) convert the HP-GL file format and print it "
- " on any installed printer. </p> "
- " <p><b>Note 1:</b> To print HP-GL files, start 'kprinter' and simply load the file into "
- " the running kprinter.</p>"
- " <p><b>Note 2:</b> The 'fitplot' parameter provided on this dialog does also work for "
- " printing PDF files (if your CUPS version is more recent than 1.1.22).</p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> These KDEPrint GUI elements match with CUPS commandline job option parameters:</em> "
- " <pre>"
- " -o blackplot=... # examples: \"true\" or \"false\" "
- " <br> "
- " -o fitplot=... # examples: \"true\" or \"false\" "
- " <br> "
- " -o penwidth=... # examples: \"true\" or \"false\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
-
- setTitle("HP-GL/2");
-
- TQGroupBox *box = new TQGroupBox(0, Qt::Vertical, i18n("HP-GL/2 Options"), this);
-
- m_blackplot = new TQCheckBox(i18n("&Use only black pen"), box);
- TQWhatsThis::add(m_blackplot, whatsThisBlackplotHpgl2Page);
-
- m_fitplot = new TQCheckBox(i18n("&Fit plot to page"), box);
- TQWhatsThis::add(m_fitplot, whatsThisFitplotHpgl2Page);
-
- m_penwidth = new KIntNumInput(1000, box);
- m_penwidth->setLabel(i18n("&Pen width:"), Qt::AlignLeft|Qt::AlignVCenter);
- m_penwidth->setSuffix(" [um]");
- m_penwidth->setRange(0, 10000, 100, true);
- TQWhatsThis::add(m_penwidth, whatsThisPenwidthHpgl2Page);
-
- TQVBoxLayout *l0 = new TQVBoxLayout(this, 0, 10);
- l0->addWidget(box);
- l0->addStretch(1);
-
- TQVBoxLayout *l1 = new TQVBoxLayout(TQT_TQLAYOUT(box->layout()), 10);
- l1->addWidget(m_blackplot);
- l1->addWidget(m_fitplot);
- l1->addWidget(m_penwidth);
- TQWhatsThis::add(this, whatsThisAllOptionsHpgl2Page);
-}
-
-KPHpgl2Page::~KPHpgl2Page()
-{
-}
-
-void KPHpgl2Page::setOptions(const TQMap<TQString,TQString>& opts)
-{
- TQString value;
- if (opts.contains("blackplot") && ((value=opts["blackplot"]).isEmpty() || value == "true"))
- m_blackplot->setChecked(true);
- if (opts.contains("fitplot") && ((value=opts["fitplot"]).isEmpty() || value == "true"))
- m_fitplot->setChecked(true);
- if (!(value=opts["penwidth"]).isEmpty())
- m_penwidth->setValue(value.toInt());
-}
-
-void KPHpgl2Page::getOptions(TQMap<TQString,TQString>& opts, bool incldef)
-{
- if (incldef || m_penwidth->value() != 1000)
- opts["penwidth"] = TQString::number(m_penwidth->value());
- if (m_blackplot->isChecked())
- opts["blackplot"] = "true";
- else if (incldef)
- opts["blackplot"] = "false";
- else
- opts.remove("blackplot");
- if (m_fitplot->isChecked())
- opts["fitplot"] = "true";
- else if (incldef)
- opts["fitplot"] = "false";
- else
- opts.remove("fitplot");
-}
diff --git a/kdeprint/cups/kphpgl2page.h b/kdeprint/cups/kphpgl2page.h
deleted file mode 100644
index 397efb1a8..000000000
--- a/kdeprint/cups/kphpgl2page.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KPHPGL2PAGE_H
-#define KPHPGL2PAGE_H
-
-#include "kprintdialogpage.h"
-
-class KIntNumInput;
-class TQCheckBox;
-
-class KPHpgl2Page : public KPrintDialogPage
-{
-public:
- KPHpgl2Page(TQWidget *parent = 0, const char *name = 0);
- ~KPHpgl2Page();
-
- void setOptions(const TQMap<TQString,TQString>& opts);
- void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
-
-private:
- KIntNumInput *m_penwidth;
- TQCheckBox *m_blackplot, *m_fitplot;
-};
-
-#endif
diff --git a/kdeprint/cups/kpimagepage.cpp b/kdeprint/cups/kpimagepage.cpp
deleted file mode 100644
index d3e438389..000000000
--- a/kdeprint/cups/kpimagepage.cpp
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kpimagepage.h"
-#include "imageposition.h"
-#include "imagepreview.h"
-#include "driver.h"
-
-#include <tqcombobox.h>
-#include <tqbuttongroup.h>
-#include <tqradiobutton.h>
-#include <tqgroupbox.h>
-#include <tqpushbutton.h>
-#include <tqapplication.h>
-#include <tqimage.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqwhatsthis.h>
-#include <klocale.h>
-#include <knuminput.h>
-#include <kseparator.h>
-#include <kstandarddirs.h>
-
-KPImagePage::KPImagePage(DrMain *driver, TQWidget *parent, const char *name)
-: KPrintDialogPage(parent, name)
-{
- //WhatsThis strings.... (added by pfeifle@kde.org)
- TQString whatsThisBrightnessImagePage = i18n( " <qt> "
- " <p><b>Brightness:</b> Slider to control the brightness value of all colors used.</p>"
- " <p> The brightness value can range from 0 to 200. Values greater than 100 will "
- " lighten the print. Values less than 100 will darken the print. </p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o brightness=... # use range from \"0\" to \"200\" "
- " </pre> "
- " </p> "
- " </qt>" );
-
- TQString whatsThisHueImagePage = i18n( " <qt> "
- " <p><b>Hue (Tint):</b> Slider to control the hue value for color rotation.</p>"
- " <p> The hue value is a number from -360 to 360 and represents the color hue rotation. "
- " The following table summarizes the change you will see for the base colors: "
- " <center> "
- " <table border=\"1\" width=\"70%\"> "
- " <tr><th><b>Original</b></th> <th><b>hue=-45</b></th> <th><b>hue=45</b></th> </tr> "
- " <tr><td>Red</td> <td>Purple</td> <td>Yellow-orange</td> </tr> "
- " <tr><td>Green</td> <td>Yellow-green</td> <td>Blue-green</td> </tr> "
- " <tr><td>Yellow</td> <td>Orange</td> <td>Green-yellow</td> </tr> "
- " <tr><td>Blue</td> <td>Sky-blue</td> <td>Purple</td> </tr> "
- " <tr><td>Magenta</td> <td>Indigo</td> <td>Crimson</td> </tr> "
- " <tr><td>Cyan</td> <td>Blue-green</td> <td>Light-navy-blue</td> </tr> "
- " </table> "
- " </center> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o hue=... # use range from \"-360\" to \"360\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisSaturationImagePage = i18n( " <qt> "
- " <p><b>Saturation:</b> Slider to control the saturation value for all colors used.</p>"
- " <p> The saturation value adjusts the saturation of the colors in an image, similar to "
- " the color knob on your television. The color saturation value.can range from 0 to 200."
- " On inkjet printers, a higher saturation value uses more ink. On laserjet printers, a "
- " higher saturation uses more toner. "
- " A color saturation of 0 produces a black-and-white print, while a value of 200 will "
- " make the colors extremely intense. </p>"
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o saturation=... # use range from \"0\" to \"200\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisGammaImagePage = i18n( " <qt> "
- " <p><b>Gamma:</b> Slider to control the gamma value for color correction.</p>"
- " <p> The gamma value can range from 1 to 3000. "
- " A gamma values greater than 1000 lightens the print. A gamma value less than 1000 "
- " darken the print. The default gamma is 1000. </p>"
- " <p><b>Note:</b></p> the gamma value adjustment is not visible in the thumbnail "
- " preview. </p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o gamma=... # use range from \"1\" to \"3000\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisImagePage = i18n( " <qt> "
- " <p><b>Image Printing Options</b></p> "
- " <p>All options controlled on this page only apply to printing images. "
- " Most image file formats are supported. To name a few: JPEG, TIFF, PNG, GIF, "
- " PNM (PBM/PGM/PNM/PPM), Sun Raster, SGI RGB, Windows BMP."
- " Options to influence color output of image printouts are: "
- " <ul> "
- " <li> Brightness </li>"
- " <li> Hue </li>"
- " <li> Saturation </li>"
- " <li> Gamma </li>"
- " </ul> "
- " <p>For a more detailed explanation about Brightness, Hue, Saturation and Gamma settings, please "
- " look at the 'WhatsThis' items provided for these controls. "
- " </p> "
- " </p> "
- " </qt>" );
-
- TQString whatsThisColorationPreviewImagePage = i18n( " <qt> "
- " <p><b>Coloration Preview Thumbnail</b></p> "
- " <p>The coloration preview thumbnail indicates change of image coloration by different settings. "
- " Options to influence output are: "
- " <ul> "
- " <li> Brightness </li>"
- " <li> Hue (Tint) </li>"
- " <li> Saturation </li>"
- " <li> Gamma </li>"
- " </ul> "
- " </p> "
- " <p>For a more detailed explanation about Brightness, Hue, Saturation and Gamma settings, please "
- " look at the 'WhatsThis' items provided for these controls. "
- " </p> "
- " </qt>" );
-
- TQString whatsThisSizeImagePage = i18n( " <qt> "
- " <p><b>Image Size:</b> Dropdown menu to control the image size on the printed paper. Dropdown "
- " works in conjunction with slider below. Dropdown options are:.</p>"
- " <ul> "
- " <li> <b>Natural Image Size:</b> Image prints in its natural image size. If it does not fit onto "
- " one sheet, the printout will be spread across multiple sheets. Note, that the slider is disabled "
- " when selecting 'natural image size' in the dropdown menu. </li>"
- " <li> <b>Resolution (ppi):</b> The resolution value slider covers a number range from 1 to 1200. "
- " It specifies the resolution of the image in Pixels Per Inch (PPI). An image that is 3000x2400 pixels "
- " will print 10x8 inches at 300 pixels per inch, for example, but 5x4 inches at 600 pixels per inch."
- " If the specified resolution makes the image larger than the page, multiple pages will be printed. "
- " Resolution defaults to 72 ppi. "
- " </li>"
- " <li> <b>% of Page Size:</b> The percent value slider covers numbers from 1 to 800. It specifies the size "
- " in relation to the page (not the image). A scaling of 100 percent will fill the page as completely "
- " as the image aspect ratio allows (doing auto-rotation of the image as needed). "
- " A scaling of more than 100 will print the image across multiple "
- " sheets. A scaling of 200 percent will print on up to 4 pages. </li>"
- " Scaling in % of page size defaults to 100 %. "
- " <li> <b>% of Natural Image Size:</b> The percent value slider moves from 1 to 800. It specifies "
- " the printout size in relation "
- " to the natural image size. A scaling of 100 percent will print the image at its natural size, while a "
- " scaling of 50 percent will print the image at half its natural size. If the specified scaling makes "
- " the image larger than the page, multiple pages will be printed. "
- " Scaling in % of natural image size defaults to 100 %. "
- " </ul> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o natural-scaling=... # range in % is 1....800 "
- " <br> "
- " -o scaling=... # range in % is 1....800 "
- " <br> "
- " -o ppi=... # range in ppi is 1...1200 "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisPreviewPositionImagePage = i18n( " <qt> "
- " <p><b>Position Preview Thumbnail</b></p> "
- " <p>This position preview thumbnail indicates the position of the image on the paper sheet. "
- " <p>Click on horizontal and vertical radio buttons to move image tqalignment on paper around. Options are: "
- " <ul> "
- " <li> center </li>"
- " <li> top </li>"
- " <li> top-left </li>"
- " <li> left </li>"
- " <li> bottom-left </li>"
- " <li> bottom </li>"
- " <li> bottom-right</li>"
- " <li> right </li>"
- " <li> top-right </li>"
- " </ul> "
- " </p> "
- " </qt>" );
-
- TQString whatsThisResetButtonImagePage = i18n( " <qt> "
- " <p><b>Reset to Default Values</b> </p> "
- " <p> Reset all coloration settings to default values. Default values are: "
- " <ul> "
- " <li> Brightness: 100 </li>"
- " <li> Hue (Tint). 0 </li>"
- " <li> Saturation: 100 </li>"
- " <li> Gamma: 1000 </li>"
- " </ul> "
- " </p> "
- " </qt>" );
-
- TQString whatsThisPositionImagePage = i18n( " <qt> "
- " <p><b>Image Positioning:</b></p> "
- " <p>Select a pair of radiobuttons to "
- " move image to the position you want on the paper printout. Default "
- " is 'center'. </p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o position=... # examples: \"top-left\" or \"bottom\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- setTitle(i18n("Image"));
-
- TQGroupBox *colorbox = new TQGroupBox(0, Qt::Vertical, i18n("Color Settings"), this);
- TQWhatsThis::add(this, whatsThisImagePage);
- TQGroupBox *sizebox = new TQGroupBox(0, Qt::Vertical, i18n("Image Size"), this);
- TQWhatsThis::add(sizebox, whatsThisSizeImagePage);
- TQGroupBox *positionbox = new TQGroupBox(0, Qt::Vertical, i18n("Image Position"), this);
- TQWhatsThis::add(positionbox, whatsThisPositionImagePage);
-
- m_brightness = new KIntNumInput(100, colorbox);
- m_brightness->setLabel(i18n("&Brightness:"));
- m_brightness->setRange(0, 200, 20, true);
- TQWhatsThis::add(m_brightness, whatsThisBrightnessImagePage);
-
- m_hue = new KIntNumInput(m_brightness, 0, colorbox);
- m_hue->setLabel(i18n("&Hue (Color rotation):"));
- m_hue->setRange(-360, 360, 36, true);
- TQWhatsThis::add(m_hue, whatsThisHueImagePage);
-
- m_saturation = new KIntNumInput(m_brightness, 100, colorbox);
- m_saturation->setLabel(i18n("&Saturation:"));
- m_saturation->setRange(0, 200, 20, true);
- TQWhatsThis::add(m_saturation, whatsThisSaturationImagePage);
-
- m_gamma = new KIntNumInput(m_saturation, 1000, colorbox);
- m_gamma->setLabel(i18n("&Gamma (Color correction):"));
- m_gamma->setRange(1, 3000, 100, true);
- TQWhatsThis::add(m_gamma, whatsThisGammaImagePage);
-
- connect(m_brightness, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(slotImageSettingsChanged()));
- connect(m_hue, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(slotImageSettingsChanged()));
- connect(m_saturation, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(slotImageSettingsChanged()));
- //connect(m_gamma, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(slotImageSettingsChanged()));
-
- m_preview = new ImagePreview(colorbox);
- bool useColor = (driver ? driver->get("colordevice") == "1" : true);
- m_preview->setBlackAndWhite(!useColor);
- TQWhatsThis::add(m_preview, whatsThisColorationPreviewImagePage);
-
- m_hue->setEnabled(useColor);
- m_saturation->setEnabled(useColor);
- TQImage img(locate("data", "tdeprint/preview.png"));
- m_preview->setImage(img);
-
- KSeparator *sep = new KSeparator(Qt::Horizontal, colorbox);
-
- TQPushButton *defbtn = new TQPushButton(i18n("&Default Settings"), colorbox);
- TQWhatsThis::add(defbtn, whatsThisResetButtonImagePage);
- connect(defbtn, TQT_SIGNAL(clicked()), TQT_SLOT(slotDefaultClicked()));
- slotDefaultClicked();
-
- m_sizetype = new TQComboBox(sizebox);
- m_sizetype->insertItem(i18n("Natural Image Size"));
- m_sizetype->insertItem(i18n("Resolution (ppi)"));
- // xgettext:no-c-format
- m_sizetype->insertItem(i18n("% of Page"));
- // xgettext:no-c-format
- m_sizetype->insertItem(i18n("% of Natural Image Size"));
-
- m_size = new KIntNumInput(sizebox);
- m_size->setRange(1, 1200, 20, true);
- m_size->setValue(72);
-
- connect(m_sizetype, TQT_SIGNAL(activated(int)), TQT_SLOT(slotSizeTypeChanged(int)));
- m_sizetype->setCurrentItem(0);
- slotSizeTypeChanged(0);
-
- TQLabel *lab = new TQLabel(i18n("&Image size type:"), sizebox);
- lab->setBuddy(m_sizetype);
-
- m_position = new ImagePosition(positionbox);
- TQWhatsThis::add(m_position, whatsThisPreviewPositionImagePage);
-
- TQRadioButton *bottom = new TQRadioButton(positionbox);
- TQRadioButton *top = new TQRadioButton(positionbox);
- TQRadioButton *vcenter = new TQRadioButton(positionbox);
- TQRadioButton *left = new TQRadioButton(positionbox);
- TQRadioButton *right = new TQRadioButton(positionbox);
- TQRadioButton *hcenter = new TQRadioButton(positionbox);
- TQSize sz = bottom->tqsizeHint();
- bottom->setFixedSize(sz);
- vcenter->setFixedSize(sz);
- top->setFixedSize(sz);
- left->setFixedSize(sz);
- hcenter->setFixedSize(sz);
- right->setFixedSize(sz);
-
- m_vertgrp = new TQButtonGroup(positionbox);
- m_vertgrp->hide();
-
- m_horizgrp = new TQButtonGroup(positionbox);
- m_horizgrp->hide();
-
- m_vertgrp->insert(top, 0);
- m_vertgrp->insert(vcenter, 1);
- m_vertgrp->insert(bottom, 2);
- if ( TQApplication::reverseLayout() )
- {
- m_horizgrp->insert(left, 2);
- m_horizgrp->insert(hcenter, 1);
- m_horizgrp->insert(right, 0);
- }
- else
- {
- m_horizgrp->insert(left, 0);
- m_horizgrp->insert(hcenter, 1);
- m_horizgrp->insert(right, 2);
- }
- connect(m_vertgrp, TQT_SIGNAL(clicked(int)), TQT_SLOT(slotPositionChanged()));
- connect(m_horizgrp, TQT_SIGNAL(clicked(int)), TQT_SLOT(slotPositionChanged()));
- m_vertgrp->setButton(1);
- m_horizgrp->setButton(1);
- slotPositionChanged();
-
- TQGridLayout *l0 = new TQGridLayout(this, 2, 2, 0, 10);
- l0->addMultiCellWidget(colorbox, 0, 0, 0, 1);
- l0->addWidget(sizebox, 1, 0);
- l0->addWidget(positionbox, 1, 1);
- l0->setColStretch(0, 1);
- TQGridLayout *l1 = new TQGridLayout(colorbox->tqlayout(), 5, 2, 10);
- l1->addWidget(m_brightness, 0, 0);
- l1->addWidget(m_hue, 1, 0);
- l1->addWidget(m_saturation, 2, 0);
- l1->addWidget(sep, 3, 0);
- l1->addWidget(m_gamma, 4, 0);
- l1->addMultiCellWidget(m_preview, 0, 3, 1, 1);
- l1->addWidget(defbtn, 4, 1);
- TQVBoxLayout *l2 = new TQVBoxLayout(TQT_TQLAYOUT(sizebox->tqlayout()), 3);
- l2->addStretch(1);
- l2->addWidget(lab);
- l2->addWidget(m_sizetype);
- l2->addSpacing(10);
- l2->addWidget(m_size);
- l2->addStretch(1);
- TQGridLayout *l3 = new TQGridLayout(positionbox->tqlayout(), 2, 2, 10);
- TQHBoxLayout *l4 = new TQHBoxLayout(0, 0, 10);
- TQVBoxLayout *l5 = new TQVBoxLayout(0, 0, 10);
- l3->addLayout(l4, 0, 1);
- l3->addLayout(l5, 1, 0);
- l3->addWidget(m_position, 1, 1);
- l4->addWidget(left, Qt::AlignLeft);
- l4->addWidget(hcenter, Qt::AlignCenter);
- l4->addWidget(right, Qt::AlignRight);
- l5->addWidget(top, Qt::AlignTop);
- l5->addWidget(vcenter, Qt::AlignVCenter);
- l5->addWidget(bottom, Qt::AlignBottom);
-}
-
-KPImagePage::~KPImagePage()
-{
-}
-
-void KPImagePage::setOptions(const TQMap<TQString,TQString>& opts)
-{
- TQString value;
- if (!(value=opts["brightness"]).isEmpty())
- m_brightness->setValue(value.toInt());
- if (!(value=opts["hue"]).isEmpty())
- m_hue->setValue(value.toInt());
- if (!(value=opts["saturation"]).isEmpty())
- m_saturation->setValue(value.toInt());
- if (!(value=opts["gamma"]).isEmpty())
- m_gamma->setValue(value.toInt());
-
- int type = 0;
- int ival(0);
- if ((ival = opts["ppi"].toInt()) != 0)
- type = 1;
- else if ((ival = opts["scaling"].toInt()) != 0)
- type = 2;
- else if (!opts["natural-scaling"].isEmpty() && (ival = opts["natural-scaling"].toInt()) != 1)
- type = 3;
- m_sizetype->setCurrentItem(type);
- slotSizeTypeChanged(type);
- if (type != 0)
- m_size->setValue(ival);
-
- if (!(value=opts["position"]).isEmpty())
- {
- m_position->setPosition(value.latin1());
- int pos = m_position->position();
- m_vertgrp->setButton(pos/3);
- m_horizgrp->setButton(pos%3);
- }
-}
-
-void KPImagePage::getOptions(TQMap<TQString,TQString>& opts, bool incldef)
-{
- if (incldef || m_brightness->value() != 100)
- opts["brightness"] = TQString::number(m_brightness->value());
- if (m_hue->isEnabled())
- {
- if (incldef || m_hue->value() != 0)
- opts["hue"] = TQString::number(m_hue->value());
- if (incldef || m_saturation->value() != 100)
- opts["saturation"] = TQString::number(m_saturation->value());
- }
- if (incldef || m_gamma->value() != 1000)
- opts["gamma"] = TQString::number(m_gamma->value());
-
- TQString name;
- if (incldef)
- {
- opts["ppi"] = "0";
- opts["scaling"] = "0";
- opts["natural-scaling"] = "1";
- }
- switch (m_sizetype->currentItem())
- {
- case 0: break;
- case 1: name = "ppi"; break;
- case 2: name = "scaling"; break;
- case 3: name = "natural-scaling"; break;
- }
- if (!name.isEmpty())
- opts[name] = TQString::number(m_size->value());
-
- if (incldef || m_position->position() != ImagePosition::Center)
- opts["position"] = m_position->positionString();
-}
-
-void KPImagePage::slotSizeTypeChanged(int t)
-{
- m_size->setEnabled(t > 0);
- if (t > 0)
- {
- int minval, maxval, defval;
- if (t == 1)
- {
- minval = 1;
- maxval = 1200;
- defval = 72;
- }
- else
- {
- minval = 1;
- maxval = 800;
- defval = 100;
- }
- m_size->setRange(minval, maxval);
- m_size->setValue(defval);
- }
-}
-
-void KPImagePage::slotPositionChanged()
-{
- int h = m_horizgrp->id(m_horizgrp->selected()), v = m_vertgrp->id(m_vertgrp->selected());
- m_position->setPosition(h, v);
-}
-
-void KPImagePage::slotImageSettingsChanged()
-{
- int b = m_brightness->value(), h = m_hue->value(), s = m_saturation->value();
- //int g = m_gamma->value();
- int g = 1000;
- m_preview->setParameters(b, h, s, g);
-}
-
-void KPImagePage::slotDefaultClicked()
-{
- m_brightness->setValue(100);
- m_hue->setValue(0);
- m_saturation->setValue(100);
- m_gamma->setValue(1000);
-}
-
-#include "kpimagepage.moc"
diff --git a/kdeprint/cups/kpimagepage.h b/kdeprint/cups/kpimagepage.h
deleted file mode 100644
index 1a6bc6e44..000000000
--- a/kdeprint/cups/kpimagepage.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KPIMAGEPAGE_H
-#define KPIMAGEPAGE_H
-
-#include "kprintdialogpage.h"
-
-class KIntNumInput;
-class TQComboBox;
-class TQButtonGroup;
-class ImagePreview;
-class ImagePosition;
-
-class KPImagePage : public KPrintDialogPage
-{
- Q_OBJECT
-public:
- KPImagePage(DrMain *driver = 0, TQWidget *parent = 0, const char *name = 0);
- ~KPImagePage();
-
- void setOptions(const TQMap<TQString,TQString>& opts);
- void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
-
-protected slots:
- void slotSizeTypeChanged(int);
- void slotPositionChanged();
- void slotImageSettingsChanged();
- void slotDefaultClicked();
-
-private:
- KIntNumInput *m_brightness, *m_hue, *m_saturation, *m_gamma;
- TQComboBox *m_sizetype;
- KIntNumInput *m_size;
- TQButtonGroup *m_vertgrp, *m_horizgrp;
- ImagePreview *m_preview;
- ImagePosition *m_position;
-};
-
-#endif
diff --git a/kdeprint/cups/kpschedulepage.cpp b/kdeprint/cups/kpschedulepage.cpp
deleted file mode 100644
index 4d8bab4d1..000000000
--- a/kdeprint/cups/kpschedulepage.cpp
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kpschedulepage.h"
-
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqcombobox.h>
-#include <tqregexp.h>
-#include <tqdatetimeedit.h>
-#include <tqdatetime.h>
-#include <tqlineedit.h>
-#include <tqwhatsthis.h>
-#include <klocale.h>
-#include <kseparator.h>
-#include <knuminput.h>
-
-#include <time.h>
-
-KPSchedulePage::KPSchedulePage(TQWidget *parent, const char *name)
-: KPrintDialogPage(parent, name)
-{
- //WhatsThis strings.... (added by pfeifle@kde.org)
- TQString whatsThisBillingInfo = i18n( " <qt> <p><b>Print Job Billing and Accounting</b></p> "
- " <p>Insert a meaningful string here to associate"
- " the current print job with a certain account. This"
- " string will appear in the CUPS \"page_log\" to help"
- " with the print accounting in your organization. (Leave"
- " it empty if you do not need it.)"
- " <p> It is useful for people"
- " who print on behalf of different \"customers\", like"
- " print service bureaux, letter shops, press and prepress"
- " companies, or secretaries who serve different bosses, etc.</p>"
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o job-billing=... # example: \"Marketing_Department\" or \"Joe_Doe\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisScheduledPrinting = i18n(" <qt> <p><b>Scheduled Printing</b></p> "
- " <p>Scheduled printing lets you control the time"
- " of the actual printout, while you can still send away your"
- " job <b>now</b> and have it out of your way."
- " <p> Especially useful"
- " is the \"Never (hold indefinitely)\" option. It allows you"
- " to park your job until a time when you (or a printer administrator)"
- " decides to manually release it."
- " <p> This is often required in"
- " enterprise environments, where you normally are not"
- " allowed to directly and immediately access the huge production"
- " printers in your <em>Central Repro Department</em>. However it"
- " is okay to send jobs to the queue which is under the control of the"
- " operators (who, after all, need to make sure that the 10,000"
- " sheets of pink paper which is required by the Marketing"
- " Department for a particular job are available and loaded"
- " into the paper trays).</p>"
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o job-hold-until=... # example: \"indefinite\" or \"no-hold\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisPageLabel = i18n( " <qt> <p><b>Page Labels</b></p> "
- " <p>Page Labels are printed by CUPS at the top and bottom"
- " of each page. They appear on the pages surrounded by a little"
- " frame box."
- " <p>They contain any string you type into the line edit field.</p>"
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o page-label=\"...\" # example: \"Company Confidential\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisJobPriority = i18n( " <qt> <p><b>Job Priority</b></p> "
- " <p>Usually CUPS prints all jobs per queue according to"
- " the \"FIFO\" principle: <em>First In, First Out</em>."
- " <p> The"
- " job priority option allows you to re-order the queue according"
- " to your needs."
- " <p> It works in both directions: you can increase"
- " as well as decrease priorities. (Usually you can only control"
- " your <b>own</b> jobs)."
- " <p> Since the default job priority is \"50\", any job sent"
- " with, for example, \"49\" will be printed only after all those"
- " others have finished. Conversely, a"
- " \"51\" or higher priority job will go right to the top of"
- " a populated queue (if no other, higher prioritized one is present).</p>"
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o job-priority=... # example: \"10\" or \"66\" or \"99\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- setTitle(i18n("Advanced Options"));
- setOnlyRealPrinters(true);
-
- // compute difference in hours between GMT and local time
- time_t ct = time(0);
- struct tm *ts = gmtime(&ct);
- m_gmtdiff = ts->tm_hour;
- ts = localtime(&ct);
- m_gmtdiff -= ts->tm_hour;
-
- m_time = new TQComboBox(this);
- m_time->insertItem(i18n("Immediately"));
- m_time->insertItem(i18n("Never (hold indefinitely)"));
- m_time->insertItem(i18n("Daytime (6 am - 6 pm)"));
- m_time->insertItem(i18n("Evening (6 pm - 6 am)"));
- m_time->insertItem(i18n("Night (6 pm - 6 am)"));
- m_time->insertItem(i18n("Weekend"));
- m_time->insertItem(i18n("Second Shift (4 pm - 12 am)"));
- m_time->insertItem(i18n("Third Shift (12 am - 8 am)"));
- m_time->insertItem(i18n("Specified Time"));
- TQWhatsThis::add(m_time, whatsThisScheduledPrinting);
- m_tedit = new TQTimeEdit(this);
- m_tedit->setAutoAdvance(true);
- m_tedit->setTime(TQTime::currentTime());
- m_tedit->setEnabled(false);
- TQWhatsThis::add(m_tedit, whatsThisScheduledPrinting);
- m_billing = new TQLineEdit(this);
- TQWhatsThis::add(m_billing, whatsThisBillingInfo);
- m_pagelabel = new TQLineEdit(this);
- TQWhatsThis::add(m_pagelabel, whatsThisPageLabel);
- m_priority = new KIntNumInput(50, this);
- TQWhatsThis::add(m_priority, whatsThisJobPriority);
- m_priority->setRange(1, 100, 10, true);
-
- TQLabel *lab = new TQLabel(i18n("&Scheduled printing:"), this);
- lab->setBuddy(m_time);
- TQWhatsThis::add(lab, whatsThisScheduledPrinting);
- TQLabel *lab1 = new TQLabel(i18n("&Billing information:"), this);
- TQWhatsThis::add(lab1, whatsThisBillingInfo);
- lab1->setBuddy(m_billing);
- TQLabel *lab2 = new TQLabel(i18n("T&op/Bottom page label:"), this);
- TQWhatsThis::add(lab2, whatsThisPageLabel);
- lab2->setBuddy(m_pagelabel);
- m_priority->setLabel(i18n("&Job priority:"), Qt::AlignVCenter|Qt::AlignLeft);
- TQWhatsThis::add(m_priority, whatsThisJobPriority);
-
- KSeparator *sep0 = new KSeparator(this);
- sep0->setFixedHeight(10);
-
- TQGridLayout *l0 = new TQGridLayout(this, 6, 2, 0, 7);
- l0->addWidget(lab, 0, 0);
- TQHBoxLayout *l1 = new TQHBoxLayout(0, 0, 5);
- l0->addLayout(l1, 0, 1);
- l1->addWidget(m_time);
- l1->addWidget(m_tedit);
- l0->addWidget(lab1, 1, 0);
- l0->addWidget(lab2, 2, 0);
- l0->addWidget(m_billing, 1, 1);
- l0->addWidget(m_pagelabel, 2, 1);
- l0->addMultiCellWidget(sep0, 3, 3, 0, 1);
- l0->addMultiCellWidget(m_priority, 4, 4, 0, 1);
- l0->setRowStretch(5, 1);
-
- connect(m_time, TQT_SIGNAL(activated(int)), TQT_SLOT(slotTimeChanged()));
-}
-
-KPSchedulePage::~KPSchedulePage()
-{
-}
-
-bool KPSchedulePage::isValid(TQString& msg)
-{
- if (m_time->currentItem() == 8 && !m_tedit->time().isValid())
- {
- msg = i18n("The time specified is not valid.");
- return false;
- }
- return true;
-}
-
-void KPSchedulePage::setOptions(const TQMap<TQString,TQString>& opts)
-{
- TQString t = opts["job-hold-until"];
- if (!t.isEmpty())
- {
- int item(-1);
-
- if (t == "no-hold") item = 0;
- else if (t == "indefinite") item = 1;
- else if (t == "day-time") item = 2;
- else if (t == "evening") item = 3;
- else if (t == "night") item = 4;
- else if (t == "weekend") item = 5;
- else if (t == "second-shift") item = 6;
- else if (t == "third-shift") item = 7;
- else
- {
- TQTime qt = TQT_TQTIME_OBJECT(TQTime::fromString(t));
- m_tedit->setTime(TQT_TQTIME_OBJECT(qt.addSecs(-3600 * m_gmtdiff)));
- item = 8;
- }
-
- if (item != -1)
- {
- m_time->setCurrentItem(item);
- slotTimeChanged();
- }
- }
- TQRegExp re("^\"|\"$");
- t = opts["job-billing"].stripWhiteSpace();
- t.replace(re, "");
- m_billing->setText(t);
- t = opts["page-label"].stripWhiteSpace();
- t.replace(re, "");
- m_pagelabel->setText(t);
- int val = opts["job-priority"].toInt();
- if (val != 0)
- m_priority->setValue(val);
-}
-
-void KPSchedulePage::getOptions(TQMap<TQString,TQString>& opts, bool incldef)
-{
- if (incldef || m_time->currentItem() != 0)
- {
- TQString t;
- switch (m_time->currentItem())
- {
- case 0: t = "no-hold"; break;
- case 1: t = "indefinite"; break;
- case 2: t = "day-time"; break;
- case 3: t = "evening"; break;
- case 4: t = "night"; break;
- case 5: t = "weekend"; break;
- case 6: t = "second-shift"; break;
- case 7: t = "third-shift"; break;
- case 8:
- t = m_tedit->time().addSecs(3600 * m_gmtdiff).toString();
- break;
- }
- opts["job-hold-until"] = t;
- }
- if (incldef || !m_billing->text().isEmpty())
- opts["job-billing"] = "\"" + m_billing->text() + "\"";
- if (incldef || !m_pagelabel->text().isEmpty())
- opts["page-label"] = "\"" + m_pagelabel->text() + "\"";
- if (incldef || m_priority->value() != 50)
- opts["job-priority"] = TQString::number(m_priority->value());
-}
-
-void KPSchedulePage::slotTimeChanged()
-{
- m_tedit->setEnabled(m_time->currentItem() == 8);
- if (m_time->currentItem() == 8)
- m_tedit->setFocus();
-}
-
-#include "kpschedulepage.moc"
diff --git a/kdeprint/cups/kpschedulepage.h b/kdeprint/cups/kpschedulepage.h
deleted file mode 100644
index 4be11fab9..000000000
--- a/kdeprint/cups/kpschedulepage.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KPSCHEDULEPAGE_H
-#define KPSCHEDULEPAGE_H
-
-#include <kprintdialogpage.h>
-
-class TQComboBox;
-class TQTimeEdit;
-class TQLineEdit;
-class KIntNumInput;
-
-class KPSchedulePage : public KPrintDialogPage
-{
- Q_OBJECT
-public:
- KPSchedulePage(TQWidget *parent = 0, const char *name = 0);
- ~KPSchedulePage();
-
- void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
- void setOptions(const TQMap<TQString,TQString>& opts);
- bool isValid(TQString& msg);
-
-protected slots:
- void slotTimeChanged();
-
-private:
- TQComboBox *m_time;
- TQTimeEdit *m_tedit;
- TQLineEdit *m_billing, *m_pagelabel;
- KIntNumInput *m_priority;
- int m_gmtdiff;
-};
-
-#endif
diff --git a/kdeprint/cups/kptagspage.cpp b/kdeprint/cups/kptagspage.cpp
deleted file mode 100644
index d91a8b427..000000000
--- a/kdeprint/cups/kptagspage.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kptagspage.h"
-
-#include <tqtable.h>
-#include <tqheader.h>
-#include <tqlayout.h>
-#include <tqlabel.h>
-#include <tqregexp.h>
-#include <tqwhatsthis.h>
-
-#include <klocale.h>
-
-KPTagsPage::KPTagsPage(bool ro, TQWidget *parent, const char *name)
-: KPrintDialogPage(parent, name)
-{
-
- //WhatsThis strings.... (added by pfeifle@kde.org)
- TQString whatsThisAdditionalTagsTable = i18n(" <qt><p><b>Additional Tags</b></p>"
- " You may send additional commands to the CUPS server via this editable list. "
- " There are 3 purposes for this:"
- " <ul>"
- " <li>Use any current or future standard CUPS job option not supported by the "
- " KDEPrint GUI. </li>"
- " <li>Control any custom job option you may want to support in custom CUPS filters "
- " and backends plugged into the CUPS filtering chain.</li> "
- " <li>Send short messages to the operators of your production printers in your "
- " <em>Central Repro Department</em>."
- " </ul> "
- " <p><b>Standard CUPS job options:</b> A complete list of standard CUPS job "
- " options is in the <a href=\"http://localhost:631/sum.html\">CUPS User Manual</a>. "
- " Mappings of the kprinter user interface widgets to respective CUPS job option "
- " names are named in the various <em>WhatsThis</em> help items..</p>"
- " <p><b>Custom CUPS job options:</b> CUPS print servers may be customized with additional "
- " print filters and backends which understand custom job options. You can specify such "
- " custom job options here. If in doubt, ask your system administrator..</p>"
- " <p><b> </b></p>"
- " <p><b>Operator Messages:</b> You may send additional messages to the operator(s) of your"
- " production printers (e.g. in your <em>Central Repro Department</p>)"
- " Messages can be read by the operator(s) (or yourself) by viewing"
- " the <em>\"Job IPP Report\"</em> for the job.</p>"
- " <b>Examples:</b><br>"
- " <pre>"
- " A standard CUPS job option:<br> "
- " <em>(Name) number-up</em> -- <em>(Value) 9</em> <br>"
- " <br>"
- " A job option for custom CUPS filters or backends:<br> "
- " <em>(Name) DANKA_watermark</em> -- <em>(Value) Company_Confidential</em> <br>"
- " <br>"
- " A message to the operator(s):<br> "
- " <em>(Name) Deliver_after_completion</em> -- <em>(Value) to_Marketing_Departm.</em><br>"
- " </pre>"
- " <p><b>Note:</b> the fields must not include spaces, tabs or quotes. You may need to "
- " double-click on a field to edit it."
- " <p><b>Warning:</b> Do not use such standard CUPS option names which also can be used "
- " through the KDEPrint GUI. Results may be unpredictable if they conflict, "
- " or if they are sent multiple times. For all options supported by the GUI, please do use "
- " the GUI. (Each GUI element's 'WhatsThis' names the related CUPS option name.) </p> "
- " </qt>" );
- setTitle(i18n("Additional Tags"));
- setOnlyRealPrinters(true);
-
- m_tags = new TQTable(10, 2, this);
- m_tags->horizontalHeader()->setStretchEnabled(true);
- m_tags->horizontalHeader()->setLabel(0, i18n("Name"));
- m_tags->horizontalHeader()->setLabel(1, i18n("Value"));
- m_tags->setReadOnly(ro);
- TQWhatsThis::add(m_tags, whatsThisAdditionalTagsTable);
-
- TQVBoxLayout *l0 = new TQVBoxLayout(this, 0, 5);
- l0->addWidget(m_tags);
-
- if (ro)
- {
- TQLabel *lab = new TQLabel(i18n("Read-Only"), this);
- TQFont f = lab->font();
- f.setBold(true);
- lab->setFont(f);
- lab->tqsetAlignment(AlignVCenter|AlignRight);
- l0->addWidget(lab);
- }
-}
-
-KPTagsPage::~KPTagsPage()
-{
-}
-
-bool KPTagsPage::isValid(TQString& msg)
-{
- TQRegExp re("\\s");
- for (int r=0; r<m_tags->numCols(); r++)
- {
- TQString tag(m_tags->text(r, 0));
- if (tag.isEmpty())
- continue;
- else if (tag.find(re) != -1)
- {
- msg = i18n("The tag name must not contain any spaces, tabs or quotes: <b>%1</b>.").arg(tag);
- return false;
- }
- }
- return true;
-}
-
-void KPTagsPage::setOptions(const TQMap<TQString,TQString>& opts)
-{
- int r(0);
- TQRegExp re("^\"|\"$");
- for (TQMap<TQString,TQString>::ConstIterator it=opts.begin(); it!=opts.end() && r<m_tags->numRows(); ++it)
- {
- if (it.key().startsWith("KDEPrint-"))
- {
- m_tags->setText(r, 0, it.key().mid(9));
- TQString data = it.data();
- m_tags->setText(r, 1, data.replace(re, ""));
- r++;
- }
- }
- for (; r<m_tags->numRows(); r++)
- {
- m_tags->setText(r, 0, TQString::null);
- m_tags->setText(r, 1, TQString::null);
- }
-}
-
-void KPTagsPage::getOptions(TQMap<TQString,TQString>& opts, bool)
-{
- for (int r=0; r<m_tags->numRows(); r++)
- {
- TQString tag(m_tags->text(r, 0)), val(m_tags->text(r, 1));
- if (!tag.isEmpty())
- {
- tag.prepend("KDEPrint-");
- opts[tag] = val.prepend("\"").append("\"");
- }
- }
-}
-
-TQSize KPTagsPage::tqsizeHint() const
-{
- return TQSize(-1, -1);
-}
-
-TQSize KPTagsPage::tqminimumSizeHint() const
-{
- return TQSize(-1, -1);
-}
diff --git a/kdeprint/cups/kptagspage.h b/kdeprint/cups/kptagspage.h
deleted file mode 100644
index ac99072ec..000000000
--- a/kdeprint/cups/kptagspage.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KPTAGSPAGE_H
-#define KPTAGSPAGE_H
-
-#include <kprintdialogpage.h>
-
-class TQTable;
-
-class KPTagsPage : public KPrintDialogPage
-{
-public:
- KPTagsPage(bool ro = false, TQWidget *parent = 0, const char *name = 0);
- ~KPTagsPage();
-
- void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
- void setOptions(const TQMap<TQString,TQString>& opts);
- bool isValid(TQString& msg);
-
- TQSize tqsizeHint() const;
- TQSize tqminimumSizeHint() const;
-
-private:
- TQTable *m_tags;
-};
-
-#endif
diff --git a/kdeprint/cups/kptextpage.cpp b/kdeprint/cups/kptextpage.cpp
deleted file mode 100644
index 0bee387c6..000000000
--- a/kdeprint/cups/kptextpage.cpp
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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 "kptextpage.h"
-#include "marginwidget.h"
-#include "driver.h"
-#include "kprinter.h"
-
-#include <tqbuttongroup.h>
-#include <tqgroupbox.h>
-#include <tqlayout.h>
-#include <tqlabel.h>
-#include <tqradiobutton.h>
-#include <tqwhatsthis.h>
-#include <knuminput.h>
-#include <klocale.h>
-#include <kiconloader.h>
-#include <kseparator.h>
-#include <kdebug.h>
-
-KPTextPage::KPTextPage(DrMain *driver, TQWidget *parent, const char *name)
-: KPrintDialogPage(0, driver, parent, name)
-{
- //WhatsThis strings.... (added by pfeifle@kde.org)
- TQString whatsThisCPITextPage = i18n( " <qt> "
- " <p><b>Characters Per Inch</b></p> "
- " <p>This setting controls the horizontal size of characters when printing a text file. </p>"
- " <p>The default value is 10, meaning that the font is scaled in a way that 10 characters "
- " per inch will be printed. </p> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o cpi=... # example: \"8\" or \"12\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisLPITextPage = i18n( " <qt> "
- " <p><b>Lines Per Inch</b></p> "
- " <p>This setting controls the vertical size of characters when printing a text file. </p>"
- " <p>The default value is 6, meaning that the font is scaled in a way that 6 lines "
- " per inch will be printed. </p> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o lpi=... # example \"5\" or \"7\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisColumnsTextPage = i18n( " <qt> "
- " <p><b>Columns</b></p> "
- " <p>This setting controls how many columns of text will be printed on each page when."
- " printing text files. </p> "
- " <p>The default value is 1, meaning that only one column of text per page "
- " will be printed. </p> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o columns=... # example: \"2\" or \"4\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisPrettyprintPreviewIconTextPage = i18n( " <qt> "
- " Preview icon changes when you turn on or off prettyprint. "
- " </qt>" );
- TQString whatsThisFormatTextPage = i18n( " <qt> "
- " <p><b>Text Formats</b></p> "
- " <p>These settings control the appearance of text on printouts. They are only valid for "
- " printing text files or input directly through kprinter. </p> "
- " <p><b>Note:</b> These settings have no effect whatsoever for other input formats than "
- " text, or for printing from applications such as the KDE Advanced Text Editor. (Applications "
- " in general send PostScript to the print system, and 'kate' in particular has its own "
- " knobs to control the print output. </p>."
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o cpi=... # example: \"8\" or \"12\" "
- " <br> "
- " -o lpi=... # example: \"5\" or \"7\" "
- " <br> "
- " -o columns=... # example: \"2\" or \"4\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisMarginsTextPage = i18n( " <qt> "
- " <p><b>Margins</b></p> "
- " <p>These settings control the margins of printouts on the paper. They are not valid for "
- " jobs originating from applications which define their own page layout internally and "
- " send PostScript to KDEPrint (such as KOffice or OpenOffice.org). </p> "
- " <p>When printing from KDE applications, such as KMail and Konqueror, or printing an ASCII text "
- " file through kprinter, you can choose your preferred margin settings here. </p> "
- " <p>Margins may be set individually for each edge of the paper. The combo box at the bottom lets you change "
- " the units of measurement between Pixels, Millimeters, Centimeters, and Inches. </p> "
- " <p>You can even use the mouse to grab one margin and drag it to the intended position (see the "
- " preview picture on the right side). </p> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o page-top=... # example: \"72\" "
- " <br> "
- " -o page-bottom=... # example: \"24\" "
- " <br> "
- " -o page-left=... # example: \"36\" "
- " <br> "
- " -o page-right=... # example: \"12\" "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisPrettyprintButtonOnTextPage = i18n( " <qt> "
- " <p><b>Turn Text Printing with Syntax Highlighting (Prettyprint) On!</b></p> "
- " <p>ASCII text file printouts can be 'prettyfied' by enabling this option. If you do so, "
- " a header is printed at the top of each page. The header contains "
- " the page number, job title (usually the filename), and the date. In addition, C and "
- " C++ keywords are highlighted, and comment lines are italicized.</p>"
- " <p>This prettyprint option is handled by CUPS.</p> "
- " <p>If you prefer another 'plaintext-to-prettyprint' converter, look for the <em>enscript</em> "
- " pre-filter on the <em>Filters</em> tab. </p>"
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o prettyprint=true. "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisPrettyprintButtonOffTextPage = i18n( " <qt> "
- " <p><b>Turn Text Printing with Syntax Highlighting (Prettyprint) Off! </b></p> "
- " <p>ASCII text file printing with this option turned off are appearing without a page "
- " header and without syntax highlighting. (You can still set the page margins, though.) </p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o prettyprint=false "
- " </pre>"
- " </p> "
- " </qt>" );
-
- TQString whatsThisPrettyprintFrameTextPage = i18n( " <qt> "
- " <p><b>Print Text with Syntax Highlighting (Prettyprint)</b></p> "
- " <p>ASCII file printouts can be 'prettyfied' by enabling this option. If you do so, "
- " a header is printed at the top of each page. The header contains "
- " the page number, job title (usually the filename), and the date. In addition, C and "
- " C++ keywords are highlighted, and comment lines are italicized.</p>"
- " <p>This prettyprint option is handled by CUPS.</p> "
- " <p>If you prefer another 'plaintext-to-prettyprint' converter, look for the <em>enscript</em> "
- " pre-filter on the <em>Filters</em> tab. </p> "
- " <br> "
- " <hr> "
- " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches "
- " with the CUPS commandline job option parameter:</em> "
- " <pre>"
- " -o prettyprint=true. "
- " <br> "
- " -o prettyprint=false "
- " </pre>"
- " </p> "
- " </qt>" );
-
- setTitle(i18n("Text"));
- m_block = false;
-
- TQGroupBox *formatbox = new TQGroupBox(0, Qt::Vertical, i18n("Text Format"), this);
- TQWhatsThis::add(formatbox, whatsThisFormatTextPage);
- TQGroupBox *prettybox = new TQGroupBox(0, Qt::Vertical, i18n("Syntax Highlighting"), this);
- TQWhatsThis::add(prettybox, whatsThisPrettyprintFrameTextPage);
- TQGroupBox *marginbox = new TQGroupBox(0, Qt::Vertical, i18n("Margins"), this);
- TQWhatsThis::add(marginbox, whatsThisMarginsTextPage);
-
- m_cpi = new KIntNumInput(10, formatbox);
- TQWhatsThis::add(m_cpi, whatsThisCPITextPage);
- m_cpi->setLabel(i18n("&Chars per inch:"), Qt::AlignLeft|Qt::AlignVCenter);
- m_cpi->setRange(1, 999, 1, false);
- m_lpi = new KIntNumInput(m_cpi, 6, formatbox);
- TQWhatsThis::add(m_lpi, whatsThisLPITextPage);
- m_lpi->setLabel(i18n("&Lines per inch:"), Qt::AlignLeft|Qt::AlignVCenter);
- m_lpi->setRange(1, 999, 1, false);
- m_columns = new KIntNumInput(m_lpi, 1, formatbox);
- TQWhatsThis::add(m_columns, whatsThisColumnsTextPage);
- m_columns->setLabel(i18n("C&olumns:"), Qt::AlignLeft|Qt::AlignVCenter);
- m_columns->setRange(1, 10, 1, false);
- KSeparator *sep = new KSeparator(Qt::Horizontal, formatbox);
- connect(m_columns, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(slotColumnsChanged(int)));
-
- m_prettypix = new TQLabel(prettybox);
- TQWhatsThis::add(m_prettypix, whatsThisPrettyprintPreviewIconTextPage);
- m_prettypix->tqsetAlignment(Qt::AlignCenter);
- TQRadioButton *off = new TQRadioButton(i18n("&Disabled"), prettybox);
- TQWhatsThis::add(off, whatsThisPrettyprintButtonOffTextPage);
- TQRadioButton *on = new TQRadioButton(i18n("&Enabled"), prettybox);
- TQWhatsThis::add(on, whatsThisPrettyprintButtonOnTextPage);
- m_prettyprint = new TQButtonGroup(prettybox);
- m_prettyprint->hide();
- m_prettyprint->insert(off, 0);
- m_prettyprint->insert(on, 1);
- m_prettyprint->setButton(0);
- connect(m_prettyprint, TQT_SIGNAL(clicked(int)), TQT_SLOT(slotPrettyChanged(int)));
- slotPrettyChanged(0);
-
- m_margin = new MarginWidget(marginbox);
- TQWhatsThis::add(m_margin, whatsThisMarginsTextPage);
- m_margin->setPageSize(595, 842);
-
- TQGridLayout *l0 = new TQGridLayout(this, 2, 2, 0, 10);
- l0->addWidget(formatbox, 0, 0);
- l0->addWidget(prettybox, 0, 1);
- l0->addMultiCellWidget(marginbox, 1, 1, 0, 1);
- TQVBoxLayout *l1 = new TQVBoxLayout(TQT_TQLAYOUT(formatbox->layout()), 5);
- l1->addWidget(m_cpi);
- l1->addWidget(m_lpi);
- l1->addWidget(sep);
- l1->addWidget(m_columns);
- TQGridLayout *l2 = new TQGridLayout(TQT_TQLAYOUT(prettybox->layout()), 2, 2, 10);
- l2->addWidget(off, 0, 0);
- l2->addWidget(on, 1, 0);
- l2->addMultiCellWidget(m_prettypix, 0, 1, 1, 1);
- TQVBoxLayout *l3 = new TQVBoxLayout(TQT_TQLAYOUT(marginbox->layout()), 10);
- l3->addWidget(m_margin);
-}
-
-KPTextPage::~KPTextPage()
-{
-}
-
-void KPTextPage::setOptions(const TQMap<TQString,TQString>& opts)
-{
- TQString value;
-
- if (!(value=opts["cpi"]).isEmpty())
- m_cpi->setValue(value.toInt());
- if (!(value=opts["lpi"]).isEmpty())
- m_lpi->setValue(value.toInt());
- if (!(value=opts["columns"]).isEmpty())
- m_columns->setValue(value.toInt());
- int ID(0);
- if (opts.contains("prettyprint") && (opts["prettyprint"].isEmpty() || opts["prettyprint"] == "true"))
- ID = 1;
- m_prettyprint->setButton(ID);
- slotPrettyChanged(ID);
-
- // get default margins
- m_currentps = opts["PageSize"];
- TQString orient = opts["orientation-requested"];
- bool landscape = (orient == "4" || orient == "5");
- initPageSize(landscape);
-
- bool marginset(false);
- if (!(value=opts["page-top"]).isEmpty() && value.toFloat() != m_margin->top())
- {
- marginset = true;
- m_margin->setTop(value.toFloat());
- }
- if (!(value=opts["page-bottom"]).isEmpty() && value.toFloat() != m_margin->bottom())
- {
- marginset = true;
- m_margin->setBottom(value.toFloat());
- }
- if (!(value=opts["page-left"]).isEmpty() && value.toFloat() != m_margin->left())
- {
- marginset = true;
- m_margin->setLeft(value.toFloat());
- }
- if (!(value=opts["page-right"]).isEmpty() && value.toFloat() != m_margin->right())
- {
- marginset = true;
- m_margin->setRight(value.toFloat());
- }
- m_margin->setCustomEnabled(marginset);
-}
-
-void KPTextPage::getOptions(TQMap<TQString,TQString>& opts, bool incldef)
-{
- if (incldef || m_cpi->value() != 10)
- opts["cpi"] = TQString::number(m_cpi->value());
- if (incldef || m_lpi->value() != 6)
- opts["lpi"] = TQString::number(m_lpi->value());
- if (incldef || m_columns->value() != 1)
- opts["columns"] = TQString::number(m_columns->value());
-
- //if (m_margin->isCustomEnabled() || incldef)
- if (m_margin->isCustomEnabled())
- {
- opts["page-top"] = TQString::number(( int )( m_margin->top()+0.5 ));
- opts["page-bottom"] = TQString::number(( int )( m_margin->bottom()+0.5 ));
- opts["page-left"] = TQString::number(( int )( m_margin->left()+0.5 ));
- opts["page-right"] = TQString::number(( int )( m_margin->right()+0.5 ));
- }
- else
- {
- opts.remove("page-top");
- opts.remove("page-bottom");
- opts.remove("page-left");
- opts.remove("page-right");
- }
-
- if (m_prettyprint->id(m_prettyprint->selected()) == 1)
- opts["prettyprint"] = "true";
- else if (incldef)
- opts["prettyprint"] = "false";
- else
- opts.remove("prettyprint");
-}
-
-void KPTextPage::slotPrettyChanged(int ID)
-{
- TQString iconstr = (ID == 0 ? "tdeprint_nup1" : "tdeprint_prettyprint");
- m_prettypix->setPixmap(UserIcon(iconstr));
-}
-
-void KPTextPage::slotColumnsChanged(int)
-{
- // TO BE IMPLEMENTED
-}
-
-void KPTextPage::initPageSize(bool landscape)
-{
- float w( -1 ), h( -1 );
- float mt( 36 ), mb( mt ), ml( 18 ), mr( ml );
- if (driver())
- {
- if (m_currentps.isEmpty())
- {
- DrListOption *o = (DrListOption*)driver()->findOption("PageSize");
- if (o)
- m_currentps = o->get("default");
- }
- if (!m_currentps.isEmpty())
- {
- DrPageSize *ps = driver()->findPageSize(m_currentps);
- if (ps)
- {
- w = ps->pageWidth();
- h = ps->pageHeight();
- mt = ps->topMargin();
- ml = ps->leftMargin();
- mr = ps->rightMargin();
- mb = ps->bottomMargin();
- }
- }
- }
- m_margin->setPageSize(w, h);
- m_margin->setOrientation(landscape ? KPrinter::Landscape : KPrinter::Portrait);
- m_margin->setDefaultMargins( mt, mb, ml, mr );
- m_margin->setCustomEnabled(false);
-}
-
-#include "kptextpage.moc"
diff --git a/kdeprint/cups/kptextpage.h b/kdeprint/cups/kptextpage.h
deleted file mode 100644
index 504e2d5c2..000000000
--- a/kdeprint/cups/kptextpage.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@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.
- **/
-
-#ifndef KPTEXTPAGE_H
-#define KPTEXTPAGE_H
-
-#include "kprintdialogpage.h"
-
-class DrMain;
-class KIntNumInput;
-class TQButtonGroup;
-class TQLabel;
-class MarginWidget;
-
-class KPTextPage : public KPrintDialogPage
-{
- Q_OBJECT
-public:
- KPTextPage(DrMain *driver, TQWidget *parent = 0, const char *name = 0);
- ~KPTextPage();
-
- void setOptions(const TQMap<TQString,TQString>& opts);
- void getOptions(TQMap<TQString,TQString>& opts, bool incldef = false);
-
-protected slots:
- void slotPrettyChanged(int);
- void slotColumnsChanged(int);
-
-protected:
- void initPageSize(bool landscape);
-
-private:
- KIntNumInput *m_cpi, *m_lpi, *m_columns;
- TQButtonGroup *m_prettyprint;
- MarginWidget *m_margin;
- TQLabel *m_prettypix;
- TQString m_currentps;
- bool m_block;
-};
-
-#endif
diff --git a/kdeprint/cups/make_driver_db_cups.c b/kdeprint/cups/make_driver_db_cups.c
deleted file mode 100644
index b39dda8de..000000000
--- a/kdeprint/cups/make_driver_db_cups.c
+++ /dev/null
@@ -1,149 +0,0 @@
-#include <config.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <zlib.h>
-
-#include "driverparse.h"
-
-void initPpd(const char *dirname)
-{
- DIR *dir = opendir(dirname);
- struct dirent *entry;
- char buffer[4096] = {0};
- char drFile[256];
- int len = strlen(dirname);
-
- if (dir == NULL)
- {
- fprintf(stderr, "Can't open drivers directory : %s\n", dirname);
- return;
- }
- while ((entry=readdir(dir)) != NULL)
- {
- if (strcmp(entry->d_name,".") == 0 || strcmp(entry->d_name,"..") == 0)
- {
- continue;
- }
- if (len+strlen(entry->d_name)+1 < 4096)
- {
- struct stat st;
-
- strcpy(buffer,dirname);
- strcat(buffer,"/");
- strcat(buffer,entry->d_name);
- if (stat(buffer,&st) == 0)
- {
- if (S_ISDIR(st.st_mode))
- {
- initPpd(buffer);
- }
- else if (S_ISREG(st.st_mode))
- {
- char *c = strrchr(buffer,'.');
- snprintf(drFile, 255, "ppd:%s", buffer);
- if (c && strncmp(c,".ppd",4) == 0)
- {
- addFile(drFile);
- }
- else if (c && strncmp(c, ".gz", 3) == 0)
- { /* keep also compressed driver files */
- while (c != buffer)
- {
- if (*(--c) == '.') break;
- }
- if (*c == '.' && strncmp(c, ".ppd",4) == 0)
- {
- addFile(drFile);
- }
- }
- }
- }
- }
- }
- closedir(dir);
-}
-
-int parsePpdFile(const char *filename, FILE *output_file)
-{
- gzFile ppd_file;
- char line[4096], value[256], langver[64] = {0}, desc[256] = {0};
- char *c1, *c2;
- int count = 0;
-
- ppd_file = gzopen(filename,"r");
- if (ppd_file == NULL)
- {
- fprintf(stderr, "Can't open driver file : %s\n", filename);
- return 0;
- }
- fprintf(output_file,"FILE=ppd:%s\n",filename);
-
- while (gzgets(ppd_file,line,4095) != Z_NULL)
- {
- memset(value,0,256);
- c1 = strchr(line,':');
- if (c1)
- {
- c2 = strchr(c1,'"');
- if (c2)
- {
- c2++;
- c1 = strchr(c2,'"');
- if (c1) strlcpy(value,c2,c1-c2+1);
- }
- else
- {
- c1++;
- while (*c1 && isspace(*c1))
- c1++;
- if (!*c1)
- continue;
- c2 = line+strlen(line)-1; /* point to \n */
- while (*c2 && isspace(*c2))
- c2--;
- strlcpy(value,c1,c2-c1+2);
- }
- }
- count++;
- if (strncmp(line,"*Manufacturer:",14) == 0) fprintf(output_file,"MANUFACTURER=%s\n",value);
- else if (strncmp(line,"*ShortNickName:",15) == 0) fprintf(output_file,"MODEL=%s\n",value);
- else if (strncmp(line,"*ModelName:",11) == 0) fprintf(output_file,"MODELNAME=%s\n",value);
- else if (strncmp(line,"*NickName:",10) == 0) strncat(desc,value,255-strlen(desc));
- else if (strncmp(line,"*pnpManufacturer:",17) == 0) fprintf(output_file,"PNPMANUFACTURER=%s\n",value);
- else if (strncmp(line,"*pnpModel:",10) == 0) fprintf(output_file,"PNPMODEL=%s\n",value);
- else if (strncmp(line,"*LanguageVersion:",17) == 0) strncat(langver,value,63-strlen(langver));
- else count--;
- /* Either we got everything we needed, or we encountered an "OpenUI" directive
- * and it's reasonable to assume that there's no needed info further in the file,
- * just stop here */
- if (count >= 7 || strncmp(line, "*OpenUI", 7) == 0)
- {
- if (strlen(langver) > 0)
- {
- strncat(desc, " [", 255-strlen(desc));
- strncat(desc, langver, 255-strlen(desc));
- strncat(desc, "]", 255-strlen(desc));
- }
- if (strlen(desc) > 0)
- fprintf(output_file, "DESCRIPTION=%s\n", desc);
- break;
- }
- }
- fprintf(output_file,"\n");
-
- gzclose(ppd_file);
- return 1;
-}
-
-int main(int argc, char *argv[])
-{
- registerHandler("ppd:", initPpd, parsePpdFile);
- initFoomatic();
- return execute(argc, argv);
-}
diff --git a/kdeprint/cups/postscript.ppd.gz b/kdeprint/cups/postscript.ppd.gz
deleted file mode 100644
index 92fd6862c..000000000
--- a/kdeprint/cups/postscript.ppd.gz
+++ /dev/null
Binary files differ
diff --git a/kdeprint/cups/preview-mini.png b/kdeprint/cups/preview-mini.png
deleted file mode 100644
index 7212eaf51..000000000
--- a/kdeprint/cups/preview-mini.png
+++ /dev/null
Binary files differ
diff --git a/kdeprint/cups/preview.png b/kdeprint/cups/preview.png
deleted file mode 100644
index 8e436dbd1..000000000
--- a/kdeprint/cups/preview.png
+++ /dev/null
Binary files differ