filters

xpmexport.cpp

00001 /* This file is part of the KDE project
00002    Copyright (C) 2005 Laurent Montel <montel@kde.org>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017  * Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #include <qpixmap.h>
00021 #include <qpainter.h>
00022 
00023 #include <kmessagebox.h>
00024 
00025 #include <KoFilterChain.h>
00026 #include <KoStore.h>
00027 #include <kgenericfactory.h>
00028 #include <KoDocument.h>
00029 
00030 #include "xpmexport.h"
00031 #include "exportsizedia.h"
00032 
00033 typedef KGenericFactory<XpmExport, KoFilter> xpmExportFactory;
00034 K_EXPORT_COMPONENT_FACTORY( libkpresenterxpmexport, xpmExportFactory( "xpmexport" ) )
00035 
00036 XpmExport::XpmExport(KoFilter *fil, const char *name, const QStringList&lst)
00037     : ImageExport(fil,name,lst)
00038 {
00039 }
00040 
00041 XpmExport::~XpmExport()
00042 {
00043 }
00044 
00045 bool XpmExport::extraImageAttribute()
00046 {
00047     bool ret = false;
00048     ExportSizeDia  *exportDialog = new ExportSizeDia( width, height,
00049                            0, "exportdialog");
00050     if (exportDialog->exec()) {
00051     width  = exportDialog->width();
00052     height = exportDialog->height();
00053     ret = true;
00054     kdDebug() << "Xpm Export: size = [" << width << "," << height << "]" << endl;
00055     }
00056     delete exportDialog;
00057     return ret;
00058 }
00059 
00060 
00061 bool XpmExport::saveImage( QString fileName)
00062 {
00063     bool ret = pixmap.save( fileName, "XPM" );
00064     // Save the image.
00065     if ( !ret ) {
00066         KMessageBox::error( 0, i18n( "Failed to write file." ),
00067                             i18n( "Xpm Export Error" ) );
00068     }
00069     return ret;
00070 }
00071 
00072 const char * XpmExport::exportFormat()
00073 {
00074             return "image/x-xpm";
00075 }
00076 
00077 #include "xpmexport.moc"
00078 
KDE Home | KDE Accessibility Home | Description of Access Keys