summaryrefslogtreecommitdiffstats
path: root/kcontrol/kfontinst/viewpart/KfiPrint.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/kfontinst/viewpart/KfiPrint.cpp')
-rw-r--r--kcontrol/kfontinst/viewpart/KfiPrint.cpp193
1 files changed, 0 insertions, 193 deletions
diff --git a/kcontrol/kfontinst/viewpart/KfiPrint.cpp b/kcontrol/kfontinst/viewpart/KfiPrint.cpp
deleted file mode 100644
index 5e2d9deeb..000000000
--- a/kcontrol/kfontinst/viewpart/KfiPrint.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// Namespace : KFI::Print
-// Author : Craig Drummond
-// Project : K Font Installer
-// Creation Date : 14/05/2005
-// Version : $Revision$ $Date$
-//
-////////////////////////////////////////////////////////////////////////////////
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program 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 General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//
-////////////////////////////////////////////////////////////////////////////////
-// (C) Craig Drummond, 2005
-////////////////////////////////////////////////////////////////////////////////
-
-#include "KfiPrint.h"
-#include "FcEngine.h"
-#include <tqpainter.h>
-#include <tqpaintdevicemetrics.h>
-#include <tqsettings.h>
-#include <tqstringlist.h>
-#include <kprinter.h>
-#include <tqapplication.h>
-#include <tqeventloop.h>
-#ifdef HAVE_LOCALE_H
-#include <locale.h>
-#endif
-
-namespace KFI
-{
-
-namespace Print
-{
-
-static const int constMarginLineBefore=1;
-static const int constMarginLineAfter=2;
-static const int constMarginFont=4;
-
-inline bool sufficientSpace(int y, int pageHeight, int size)
-{
- return (y+constMarginFont+size)<pageHeight;
-}
-
-static bool sufficientSpace(int y, int titleFontHeight, const int *sizes, int pageHeight, int size)
-{
- int required=titleFontHeight+constMarginLineBefore+constMarginLineAfter;
-
- for(unsigned int s=0; sizes[s]; ++s)
- {
- required+=sizes[s];
- if(sizes[s+1])
- required+=constMarginFont;
- }
-
- if(0==size)
- required+=(3*(constMarginFont+CFcEngine::constDefaultAlphaSize))+constMarginLineBefore+constMarginLineAfter;
- return (y+required)<pageHeight;
-}
-
-bool printable(const TQString &mime)
-{
- return "application/x-font-type1"==mime || "application/x-font-ttf"==mime || "application/x-font-otf"==mime ||
- "application/x-font-ttc"==mime || "application/x-font-ghostscript"==mime;
-}
-
-void printItems(const TQStringList &items, int size, TQWidget *parent, CFcEngine &engine)
-{
-#ifdef HAVE_LOCALE_H
- char *oldLocale=setlocale(LC_NUMERIC, "C"),
-#endif
-
- KPrinter printer;
-
- printer.setFullPage(true);
-
- if(printer.setup(parent))
- {
- TQPainter painter;
- TQFont sans("sans", 12, TQFont::Bold);
- TQSettings settings;
- bool entryExists,
- embedFonts,
- set=false;
- TQString str(engine.getPreviewString());
-
- //
- // Cehck whether the user has enabled font embedding...
- embedFonts=settings.readBoolEntry("/qt/embedFonts", false, &entryExists);
-
- // ...if not, then turn on - we may have installed new fonts, without ghostscript being informed, etc.
- if(!entryExists || !embedFonts)
- settings.writeEntry("/qt/embedFonts", true);
-
- printer.setResolution(72);
- painter.begin(&printer);
-
- TQPaintDeviceMetrics metrics(painter.device());
- int margin=(int)((2/2.54)*metrics.logicalDpiY()), // 2 cm margins
- pageWidth=metrics.width()-(2*margin),
- pageHeight=metrics.height()-(2*margin),
- y=margin,
- oneSize[2]={size, 0};
- const int *sizes=oneSize;
- bool firstFont(true);
-
- if(0==size)
- sizes=CFcEngine::constScalableSizes;
-
- painter.setClipping(true);
- painter.setClipRect(margin, margin, pageWidth, pageHeight);
-
- TQStringList::ConstIterator it(items.begin()),
- end(items.end());
-
- for(; it!=end; ++it)
- {
- unsigned int s=0;
-
- painter.setFont(sans);
- TQApplication::eventLoop()->processEvents(TQEventLoop::ExcludeUserInput, 0);
-
- if(!firstFont && !sufficientSpace(y, painter.fontMetrics().height(), sizes, pageHeight, size))
- {
- printer.newPage();
- y=margin;
- }
- painter.setFont(sans);
- y+=painter.fontMetrics().height();
- painter.drawText(margin, y, *it);
- y+=constMarginLineBefore;
- painter.drawLine(margin, y, margin+pageWidth, y);
- y+=constMarginLineAfter;
-
- if(0==size)
- {
- y+=CFcEngine::constDefaultAlphaSize;
- painter.setFont(engine.getQFont(*it, CFcEngine::constDefaultAlphaSize));
- painter.drawText(margin, y, CFcEngine::getLowercaseLetters());
- y+=constMarginFont+CFcEngine::constDefaultAlphaSize;
- painter.drawText(margin, y, CFcEngine::getUppercaseLetters());
- y+=constMarginFont+CFcEngine::constDefaultAlphaSize;
- painter.drawText(margin, y, CFcEngine::getPunctuation());
- y+=constMarginFont+constMarginLineBefore;
- painter.drawLine(margin, y, margin+pageWidth, y);
- y+=constMarginLineAfter;
- }
- for(; sizes[s]; ++s)
- {
- y+=sizes[s];
- painter.setFont(engine.getQFont(*it, sizes[s]));
- if(sufficientSpace(y, pageHeight, sizes[s]))
- {
- painter.drawText(margin, y, str);
- if(sizes[s+1])
- y+=constMarginFont;
- }
- }
- firstFont=false;
- y+=(s<1 || sizes[s-1]<25 ? 14 : 28);
- }
-
- painter.end();
-
- //
- // Did we change the users font settings? If so, reset to their previous values...
- if(set)
- if(entryExists)
- settings.writeEntry("/qt/embedFonts", false);
- else
- settings.removeEntry("/qt/embedFonts");
- }
-#ifdef HAVE_LOCALE_H
- if(oldLocale)
- setlocale(LC_NUMERIC, oldLocale);
-#endif
-}
-
-}
-
-}