From b2c353d874b85e06f355a9419852e2616613c7d0 Mon Sep 17 00:00:00 2001 From: Parabola Date: Fri, 4 May 2012 20:00:41 +0000 Subject: Fri May 4 20:00:31 UTC 2012 --- extra/koffice/PKGBUILD | 306 ------- extra/koffice/filters.install | 11 - extra/koffice/gcc46.patch | 23 - extra/koffice/kde4-koffice-libwpg02.patch | 1323 ----------------------------- extra/koffice/koffice.install | 12 - extra/koffice/krita.install | 13 - extra/koffice/qt48fix.patch | 10 - 7 files changed, 1698 deletions(-) delete mode 100644 extra/koffice/PKGBUILD delete mode 100644 extra/koffice/filters.install delete mode 100644 extra/koffice/gcc46.patch delete mode 100644 extra/koffice/kde4-koffice-libwpg02.patch delete mode 100644 extra/koffice/koffice.install delete mode 100644 extra/koffice/krita.install delete mode 100644 extra/koffice/qt48fix.patch (limited to 'extra/koffice') diff --git a/extra/koffice/PKGBUILD b/extra/koffice/PKGBUILD deleted file mode 100644 index 8f5b25f43..000000000 --- a/extra/koffice/PKGBUILD +++ /dev/null @@ -1,306 +0,0 @@ -# $Id: PKGBUILD 148804 2012-02-05 11:51:14Z ibiru $ -# Maintainer: Ronald van Haren -# Contributor: Andrea Scarpino -# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > - -pkgbase=koffice -pkgname=( - 'koffice-filters' - 'koffice-interfaces' - 'koffice-libs' - 'koffice-plugins' - 'koffice-pics' - 'koffice-servicetypes' - 'koffice-templates' - 'koffice-tools' - 'koffice-karbon' - 'koffice-karbon-doc' -# 'koffice-kchart' -# 'koffice-kchart-doc' - 'koffice-kexi' - 'koffice-kexi-doc' - 'koffice-kformula' - 'koffice-kformula-doc' - 'koffice-kounavail' - 'koffice-kplato' -# 'koffice-kplato-doc' - 'koffice-kpresenter' - 'koffice-kpresenter-doc' - 'koffice-krita' -# 'koffice-krita-doc' # no krita-doc anymore upstream - 'koffice-kspread' - 'koffice-kspread-doc' - 'koffice-kword' -# 'koffice-kword-doc' # see http://userbase.kde.org/KWord/Manual for documentation (not supplied by upstream anymore in the sources) - 'koffice-handbook' - 'koffice-thesaurus-doc' -# 'koffice-kdgantt' # still an empty package -) -pkgver=2.3.3 -pkgrel=12 -arch=('i686' 'x86_64') -url='http://koffice.kde.org' -license=('GPL' 'LGPL' 'FDL') -makedepends=('pkg-config' 'cmake' 'automoc4' 'boost' 'eigen' 'gsl' 'lcms' - 'glew' 'qimageblitz' 'kdepimlibs' 'pstoedit' 'poppler-qt' 'libwpd' - 'libwpg' 'opengtl' 'libkdcraw' 'oxygen-icons' 'libgsf') -groups=('koffice') -source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2" - 'kde4-koffice-libwpg02.patch' 'gcc46.patch' 'qt48fix.patch') -sha256sums=('31ba0d98c0d29c7b8ab97efdeb6c618b82177b2b0ec85da088178254da43c099' - '69106deb4081d71b5bd8f2e4f5af67ca689e4ce9f2bb49c11dbce5fb3409d612' - 'e095c0b2bbedf41da6535a68b2275464dafd3f194566028d0135322f596e4739' - 'a20d7412ceeefdf7987b1c5179a740c7ee188e314ffb94cc226967ee194bc2aa') -build() { - cd "${srcdir}/${pkgbase}-${pkgver}" - - patch -p1 -i "${srcdir}/kde4-koffice-libwpg02.patch" - patch -p1 -i "${srcdir}"/gcc46.patch - patch -p1 -i "${srcdir}"/qt48fix.patch - - cd "${srcdir}" - mkdir build - cd build - cmake ../${pkgbase}-${pkgver} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_SKIP_RPATH=ON \ - -DCMAKE_INSTALL_PREFIX=/usr - make -} - -##### 1st package common files, depends, optdepends of the koffice applications ##### - -package_koffice-filters(){ - pkgdesc="Filters for the KDE office suite" - depends=('shared-mime-info' 'libgsf') - optdepends=('libwpd: WordPerfect document importer' - 'libwpg: Corel WordPerfect Graphics image importer' 'pstoedit: Karbon EPS import filter' - 'libkdcraw: support for raw images' 'poppler: support for pdf' - 'koffice-kspread: Kspread filters' 'koffice-karbon: Karbon filters' - 'koffice-kplato: Kplato filters') - install=filters.install - cd "${srcdir}/build/filters" - make DESTDIR="${pkgdir}" install -} - -package_koffice-interfaces(){ - pkgdesc="Interfaces for the KDE office suite" - depends=('koffice-libs') - cd "${srcdir}/build/interfaces" - make DESTDIR="${pkgdir}" install -} - -package_koffice-libs(){ - pkgdesc="Libs for the KDE office suite" - depends=('kdepimlibs' 'lcms' 'koffice-servicetypes') - cd "${srcdir}/build/libs" - make DESTDIR="${pkgdir}" install -} - -package_koffice-plugins(){ - pkgdesc="Plugins for the KDE office suite" - depends=('koffice-libs') - replaces=('koffice-kchart') - conflicts=('koffice-kchart') - cd "${srcdir}/build/plugins" - make DESTDIR="${pkgdir}" install -} - -package_koffice-pics(){ - pkgdesc="Icons for the KDE office suite" - depends=('desktop-file-utils' 'xdg-utils') - install=koffice.install - cd "${srcdir}/build/pics" - make DESTDIR="${pkgdir}" install -} - -package_koffice-servicetypes(){ - pkgdesc="Servicetypes for the KDE office suite" - cd "${srcdir}/build/servicetypes" - make DESTDIR="${pkgdir}" install -} - -package_koffice-templates(){ - pkgdesc="Templates for the KDE office suite" - cd "${srcdir}/build/templates" - make DESTDIR="${pkgdir}" install -} - -package_koffice-tools(){ - pkgdesc="Tools for the KDE office suite" - depends=('koffice-libs' 'oxygen-icons') - cd "${srcdir}/build/tools" - make DESTDIR="${pkgdir}" install -} - -#### package common files done ##### - -#### package apps and their docs ##### - -package_koffice-karbon(){ - pkgdesc="Vector drawing application for KDE" - depends=('koffice-libs' 'koffice-templates' 'oxygen-icons') - optdepends=('koffice-filters: import/export filters') - install=koffice.install - cd "${srcdir}/build/karbon" - make DESTDIR="${pkgdir}" install -} - -package_koffice-karbon-doc(){ - pkgdesc="Documentation for karbon" - cd "${srcdir}/build/doc/karbon" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kexi(){ - pkgdesc="Integrated data management application for the KDE office suite" - depends=('koffice-kspread' 'oxygen-icons') - install=koffice.install - cd "${srcdir}/build/kexi" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kexi-doc(){ - pkgdesc="Documentation for kexi" - cd "${srcdir}/build/doc/kexi" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kformula(){ - pkgdesc="Formula editor for the KDE office suite" - depends=('koffice-libs') - install=koffice.install - cd "${srcdir}/build/kformula" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kformula-doc() { - pkgdesc="Documentation for koffice-kformula" - cd "${srcdir}/build/doc/kformula" - make DESTDIR="${pkgdir}" install -} - - -package_koffice-kounavail(){ - pkgdesc="Kounavail for the KDE office suite" - depends=('koffice-libs') - cd "${srcdir}/build/kounavail" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kplato(){ - pkgdesc="Project management application for KDE" - depends=('koffice-kword' 'oxygen-icons') - install=koffice.install - cd "${srcdir}/build/kplato" - make DESTDIR="${pkgdir}" install -} - -#package_koffice-kplato-doc(){ -# pkgdesc="Documentation for kplato" -# cd ${srcdir}/build/doc/kplato -# make DESTDIR="${pkgdir}" install -#} - -package_koffice-kpresenter(){ - pkgdesc="Presentation tool for KDE" - depends=('koffice-libs' 'koffice-templates' 'oxygen-icons') - optdepends=('koffice-filters: import/export filters') - install=koffice.install - cd "${srcdir}/build/kpresenter" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kpresenter-doc(){ - pkgdesc="Documentation for kpresenter" - cd "${srcdir}/build/doc/kpresenter" - make DESTDIR="${pkgdir}" install -} - -package_koffice-krita(){ - pkgdesc="Graphics editor for KDE" - depends=('glew' 'qimageblitz' 'oxygen-icons' 'koffice-templates' \ - 'koffice-plugins' 'poppler-qt' 'opengtl') - optdepends=('koffice-filters: import/export filters' 'libkdcraw: support for raw images') - install=krita.install - cd "${srcdir}/build/krita" - make DESTDIR="${pkgdir}" install -} - -#package_koffice-krita-doc(){ -# pkgdesc="Documentation for krita" -# cd ${srcdir}/build/doc/krita -# make DESTDIR="${pkgdir}" install -#} - - -package_koffice-kspread(){ - pkgdesc="Spreadsheet application for KDE" - depends=('gsl' 'koffice-templates' 'koffice-plugins' 'oxygen-icons') - optdepends=('koffice-filters: import/export filters') - install=koffice.install - cd "${srcdir}/build/kspread" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kspread-doc(){ - pkgdesc="Documentation for kspread" - cd "${srcdir}/build/doc/kspread" - make DESTDIR="${pkgdir}" install -} - -package_koffice-kword(){ - pkgdesc="Wordprocessor for KDE" - depends=('koffice-templates' 'koffice-pics' 'oxygen-icons' \ - 'koffice-kounavail' 'koffice-plugins') - optdepends=('koffice-filters: import/export filters') - install=koffice.install - cd "${srcdir}/build/kword" - make DESTDIR="${pkgdir}" install - - # some sed lines to have python2 in extension scripts - sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/oouno.py" - sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/importdoxyxml.py" - sed -i "s|/usr/bin/env python|/usr/bin/env python2|" "${pkgdir}/usr/share/apps/kword/scripts/extensions/onlinehelp.py" -} - -#package_koffice-kword-doc(){ -# pkgdesc="Documentation for kword" -# cd ${srcdir}/build/doc/kword -# make DESTDIR="${pkgdir}" install -#} - -##### package apps done ##### - -#package_koffice-kchart(){ -# pkgdesc="Charting tool for KDE" -# depends=('hicolor-icon-theme' 'koffice-interfaces' 'koffice-templates') -# optdepends=('koffice-filters: import/export filters') -# install=koffice.install -# cd "${srcdir}/build/kchart" -# make DESTDIR="${pkgdir}" install -#} - -#package_koffice-kchart-doc(){ -# pkgdesc="Documentation for kchart" -# cd "${srcdir}/build/doc/kchart" -# make DESTDIR="${pkgdir}" install -#} - -#package_koffice-kdgantt(){ -# pkgdesc="Gantt for KDE" -# cd "${srcdir}/build/kdgantt" -# make DESTDIR="${pkgdir}" install -#} - -package_koffice-handbook() { - pkgdesc="Documentation for koffice" - cd "${srcdir}/build/doc/koffice" - make DESTDIR="${pkgdir}" install -} - -package_koffice-thesaurus-doc(){ - pkgdesc="Documentation for koffice-thesaurus" - cd "${srcdir}/build/doc/thesaurus" - make DESTDIR="${pkgdir}" install -} diff --git a/extra/koffice/filters.install b/extra/koffice/filters.install deleted file mode 100644 index 7c8a8bd2b..000000000 --- a/extra/koffice/filters.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - update-mime-database usr/share/mime &> /dev/null -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/extra/koffice/gcc46.patch b/extra/koffice/gcc46.patch deleted file mode 100644 index dcf8a4f85..000000000 --- a/extra/koffice/gcc46.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc.gcc46 koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc ---- koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc.gcc46 2011-02-17 06:13:40.000000000 -0600 -+++ koffice-2.3.2/krita/plugins/formats/exr/exr_converter.cc 2011-02-19 21:15:56.597142885 -0600 -@@ -80,6 +80,9 @@ ImageType imfTypeToKisType(Imf::PixelTyp - return IT_FLOAT16; - case Imf::FLOAT: - return IT_FLOAT32; -+ default: -+ // shouldn't reach here -+ return IT_UNSUPPORTED; - } - } - -@@ -93,6 +96,9 @@ const KoColorSpace* kisTypeToColorSpace( - case IT_UNKNOWN: - case IT_UNSUPPORTED: - return 0; -+ default: -+ // shouldn't reach here -+ return 0; - } - } - diff --git a/extra/koffice/kde4-koffice-libwpg02.patch b/extra/koffice/kde4-koffice-libwpg02.patch deleted file mode 100644 index e2a55a216..000000000 --- a/extra/koffice/kde4-koffice-libwpg02.patch +++ /dev/null @@ -1,1323 +0,0 @@ -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/CMakeLists.txt koffice-2.3.1-libwpg02/filters/karbon/wpg/import/CMakeLists.txt ---- koffice-2.3.1/filters/karbon/wpg/import/CMakeLists.txt 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/CMakeLists.txt 2011-01-18 07:40:25.000000000 +0100 -@@ -1,16 +1,11 @@ - -- - include_directories(${CMAKE_BINARY_DIR}/filters/ ${WPD_INCLUDE_DIR} ${LIBWPG_INCLUDE_DIR}/) - --set(wpgimport_PART_SRCS --WPGImport.cpp --OdgExporter.cxx --FileOutputHandler.cxx --GraphicsElement.cxx) -+set(wpgimport_PART_SRCS WPGImport.cpp) - - kde4_add_plugin(wpgimport ${wpgimport_PART_SRCS}) - --target_link_libraries(wpgimport komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES}) -+target_link_libraries(wpgimport komain ${LIBWPG_LIBRARIES} ${LIBWPG_STREAM_LIBRARIES} ${WPD_LIBRARIES}) - - install(TARGETS wpgimport DESTINATION ${PLUGIN_INSTALL_DIR}) - install(FILES karbon_wpg_import.desktop DESTINATION ${SERVICES_INSTALL_DIR}) -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.cxx ---- koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.cxx 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.cxx 1970-01-01 01:00:00.000000000 +0100 -@@ -1,95 +0,0 @@ --/* libwpg -- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Library General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * 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; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- * Boston, MA 02111-1301 USA -- * -- * For further information visit http://libwpg.sourceforge.net -- */ -- --/* "This product is not manufactured, approved, or supported by -- * Corel Corporation or Corel Corporation Limited." -- */ -- --#include "FileOutputHandler.hxx" -- --FileOutputHandler::FileOutputHandler(std::ostringstream &contentStream) : -- mbIsTagOpened(false), -- mContentStream(contentStream) --{ --} -- --void FileOutputHandler::startDocument() --{ --} -- --void FileOutputHandler::startElement(const char *psName, const std::vector > &xPropList) --{ -- if (mbIsTagOpened) -- { -- mContentStream << ">"; -- mbIsTagOpened = false; -- } -- mContentStream << "<" << psName; -- -- for (std::vector >::const_iterator i = xPropList.begin(); i != xPropList.end(); i++) -- { -- mContentStream << " " << (*i).first.c_str() << "=\"" << (*i).second.c_str() << "\""; -- } -- mbIsTagOpened = true; -- msOpenedTagName = psName; --} -- --void FileOutputHandler::endElement(const char *psName) --{ -- if (mbIsTagOpened) -- { -- if( msOpenedTagName == psName ) -- { -- mContentStream << "/>"; -- mbIsTagOpened = false; -- } -- else // should not happen, but handle it -- { -- mContentStream << ">"; -- mContentStream << ""; -- mbIsTagOpened = false; -- } -- } -- else -- { -- mContentStream << ""; -- mbIsTagOpened = false; -- } --} -- --void FileOutputHandler::characters(const std::string &sCharacters) --{ -- if (mbIsTagOpened) -- { -- mContentStream << ">"; -- mbIsTagOpened = false; -- } -- mContentStream << sCharacters.c_str(); --} -- --void FileOutputHandler::endDocument() --{ -- if (mbIsTagOpened) -- { -- mContentStream << ">"; -- mbIsTagOpened = false; -- } --} -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.hxx ---- koffice-2.3.1/filters/karbon/wpg/import/FileOutputHandler.hxx 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/FileOutputHandler.hxx 1970-01-01 01:00:00.000000000 +0100 -@@ -1,49 +0,0 @@ --/* libwpg -- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Library General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * 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; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- * Boston, MA 02111-1301 USA -- * -- * For further information visit http://libwpg.sourceforge.net -- */ -- --/* "This product is not manufactured, approved, or supported by -- * Corel Corporation or Corel Corporation Limited." -- */ -- --#ifndef FILEOUTPUTHANDLER_H --#define FILEOUTPUTHANDLER_H -- --#include --#include --#include --#include "GraphicsHandler.hxx" -- --class FileOutputHandler : public GraphicsHandler --{ -- public: -- explicit FileOutputHandler(std::ostringstream &contentStream); -- virtual void startDocument(); -- virtual void endDocument(); -- virtual void startElement(const char *psName, const std::vector > &xPropList); -- virtual void endElement(const char *psName); -- virtual void characters(const std::string &sCharacters); -- -- private: -- bool mbIsTagOpened; -- std::string msOpenedTagName; -- std::ostringstream &mContentStream; --}; --#endif -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.cxx ---- koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.cxx 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.cxx 1970-01-01 01:00:00.000000000 +0100 -@@ -1,66 +0,0 @@ --/* GraphicsElement: The items we are collecting to be put into the Writer -- * document: paragraph and spans of text, as well as section breaks. -- * -- * Copyright (C) 2002-2003 William Lachance (william.lachance@sympatico.ca) -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser 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 -- * Library General Public License for more details. -- * -- * You should have received a copy of the GNU Library General Public -- * License along with this library; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- * Boston, MA 02111-1301 USA -- * -- * For further information visit http://libwpg.sourceforge.net -- * -- */ -- --/* "This product is not manufactured, approved, or supported by -- * Corel Corporation or Corel Corporation Limited." -- */ -- --#include "GraphicsElement.hxx" --#include "GraphicsHandler.hxx" --#include -- --#define ASCII_SPACE 0x0020 -- --void TagGraphicsElement::print() const --{ --} -- --void OpenTagGraphicsElement::write(GraphicsHandler *pHandler) const --{ -- pHandler->startElement(getTagName().c_str(), maAttrList); --} -- --void OpenTagGraphicsElement::print() const --{ -- TagGraphicsElement::print(); --} -- --void OpenTagGraphicsElement::addAttribute(const std::string &szAttributeName, const std::string &sAttributeValue) --{ -- std::pair tmpAttribute; -- tmpAttribute.first = szAttributeName; -- tmpAttribute.second = sAttributeValue; -- maAttrList.push_back(tmpAttribute); --} -- --void CloseTagGraphicsElement::write(GraphicsHandler *pHandler) const --{ -- -- pHandler->endElement(getTagName().c_str()); --} -- --void CharDataGraphicsElement::write(GraphicsHandler *pHandler) const --{ -- pHandler->characters(msData); --} -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.hxx ---- koffice-2.3.1/filters/karbon/wpg/import/GraphicsElement.hxx 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsElement.hxx 1970-01-01 01:00:00.000000000 +0100 -@@ -1,84 +0,0 @@ --/* GraphicsElement: The items we are collecting to be put into the Writer -- * document: paragraph and spans of text, as well as section breaks. -- * -- * Copyright (C) 2002-2003 William Lachance (william.lachance@sympatico.ca) -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser 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 -- * Library General Public License for more details. -- * -- * You should have received a copy of the GNU Library General Public -- * License along with this library; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- * Boston, MA 02111-1301 USA -- * -- * For further information visit http://libwpd.sourceforge.net -- * -- */ -- --/* "This product is not manufactured, approved, or supported by -- * Corel Corporation or Corel Corporation Limited." -- */ -- --#ifndef _GRAPHICSELEMENT_H --#define _GRAPHICSELEMENT_H --#include --#include --#include -- --#include "GraphicsHandler.hxx" -- --class GraphicsElement --{ --public: -- virtual ~GraphicsElement() {} -- virtual void write(GraphicsHandler *pHandler) const = 0; -- virtual void print() const {} --}; -- --class TagGraphicsElement : public GraphicsElement --{ --public: -- explicit TagGraphicsElement(const char *szTagName) : msTagName(szTagName) {} -- const std::string &getTagName() const { return msTagName; } -- virtual void print() const; --private: -- const std::string msTagName; --}; -- --class OpenTagGraphicsElement : public TagGraphicsElement --{ --public: -- explicit OpenTagGraphicsElement(const char *szTagName) : TagGraphicsElement(szTagName) {} -- ~OpenTagGraphicsElement() {} -- void addAttribute(const std::string &szAttributeName, const std::string &sAttributeValue); -- virtual void write(GraphicsHandler *pHandler) const; -- virtual void print () const; --private: -- std::vector > maAttrList; --}; -- --class CloseTagGraphicsElement : public TagGraphicsElement --{ --public: -- explicit CloseTagGraphicsElement(const char *szTagName) : TagGraphicsElement(szTagName) {} -- virtual void write(GraphicsHandler *pHandler) const; --}; -- --class CharDataGraphicsElement : public GraphicsElement --{ --public: -- CharDataGraphicsElement(const char *sData) : GraphicsElement(), msData(sData) {} -- virtual void write(GraphicsHandler *pHandler) const; --private: -- std::string msData; --}; -- -- --#endif -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/GraphicsHandler.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsHandler.hxx ---- koffice-2.3.1/filters/karbon/wpg/import/GraphicsHandler.hxx 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/GraphicsHandler.hxx 1970-01-01 01:00:00.000000000 +0100 -@@ -1,43 +0,0 @@ --/* -- * Copyright (C) 2004 William Lachance (wlach@interlog.com) -- * Copyright (C) 2004 Net Integration Technologies (http://www.net-itech.com) -- * -- * 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 Library General Public -- * License along with this library; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- * Boston, MA 02111-1301 USA -- * -- * Contributor(s): Martin Gallwey (gallwey@sun.com) -- * -- */ -- --/* "This product is not manufactured, approved, or supported by -- * Corel Corporation or Corel Corporation Limited." -- */ --#ifndef _GRAPHICSHANDLER_H --#define _GRAPHICSHANDLER_H --#include --#include --#include -- --class GraphicsHandler --{ --public: -- virtual ~GraphicsHandler() {} -- virtual void startDocument() = 0; -- virtual void endDocument() = 0; -- virtual void startElement(const char *psName, const std::vector< std::pair > &xPropList) = 0; -- virtual void endElement(const char *psName) = 0; -- virtual void characters(const std::string &sCharacters) = 0; --}; --#endif -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.cxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.cxx ---- koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.cxx 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.cxx 1970-01-01 01:00:00.000000000 +0100 -@@ -1,662 +0,0 @@ --/* libwpg -- * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org) -- * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Library General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * 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; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- * Boston, MA 02111-1301 USA -- * -- * For further information visit http://libwpg.sourceforge.net -- */ -- --/* "This product is not manufactured, approved, or supported by -- * Corel Corporation or Corel Corporation Limited." -- */ -- --#include "OdgExporter.hxx" --#include "GraphicsElement.hxx" --#include "GraphicsHandler.hxx" --#include -- --static std::string doubleToString(const double value) --{ -- std::ostringstream tempStream; -- tempStream << value; -- std::string decimalPoint(localeconv()->decimal_point); -- if ((decimalPoint.size() == 0) || (decimalPoint == ".")) -- return tempStream.str(); -- std::string stringValue(tempStream.str()); -- if (!stringValue.empty()) -- { -- std::string::size_type pos; -- while ((pos = stringValue.find(decimalPoint)) != std::string::npos) -- stringValue.replace(pos,decimalPoint.size(),"."); -- } -- return stringValue; --} -- -- --OdgExporter::OdgExporter(GraphicsHandler *pHandler, const bool isFlatXML): -- mpHandler(pHandler), -- m_fillRule(AlternatingFill), -- m_gradientIndex(1), -- m_dashIndex(1), -- m_styleIndex(1), -- m_width(0.0f), -- m_height(0.0f), -- m_isFlatXML(isFlatXML) --{ --} -- --OdgExporter::~OdgExporter() --{ -- for (std::vector ::iterator iterStroke = mStrokeDashElements.begin(); -- iterStroke != mStrokeDashElements.end(); iterStroke++) -- delete (*iterStroke); -- -- for (std::vector ::iterator iterGradient = mGradientElements.begin(); -- iterGradient != mGradientElements.end(); iterGradient++) -- delete (*iterGradient); -- -- for (std::vector ::iterator iterAutomaticStyles = mAutomaticStylesElements.begin(); -- iterAutomaticStyles != mAutomaticStylesElements.end(); iterAutomaticStyles++) -- delete (*iterAutomaticStyles); -- -- for (std::vector::iterator bodyIter = mBodyElements.begin(); -- bodyIter != mBodyElements.end(); bodyIter++) -- delete (*bodyIter); --} -- --void OdgExporter::startGraphics(double width, double height) --{ -- m_gradientIndex = 1; -- m_dashIndex = 1; -- m_styleIndex = 1; -- m_width = width; -- m_height = height; -- -- -- mpHandler->startDocument(); -- OpenTagGraphicsElement tmpOfficeDocumentContent("office:document"); -- tmpOfficeDocumentContent.addAttribute("xmlns:office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0"); -- tmpOfficeDocumentContent.addAttribute("xmlns:style", "urn:oasis:names:tc:opendocument:xmlns:style:1.0"); -- tmpOfficeDocumentContent.addAttribute("xmlns:text", "urn:oasis:names:tc:opendocument:xmlns:text:1.0"); -- tmpOfficeDocumentContent.addAttribute("xmlns:draw", "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"); -- tmpOfficeDocumentContent.addAttribute("xmlns:dc", "http://purl.org/dc/elements/1.1/"); -- tmpOfficeDocumentContent.addAttribute("xmlns:svg", "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"); -- tmpOfficeDocumentContent.addAttribute("xmlns:fo", "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"); -- tmpOfficeDocumentContent.addAttribute("xmlns:config", "urn:oasis:names:tc:opendocument:xmlns:config:1.0"); -- tmpOfficeDocumentContent.addAttribute("xmlns:ooo", "http://openoffice.org/2004/office"); -- tmpOfficeDocumentContent.addAttribute("office:version", "1.0"); -- if (m_isFlatXML) -- tmpOfficeDocumentContent.addAttribute("office:mimetype", "application/x-vnd.oasis.openoffice.drawing"); -- tmpOfficeDocumentContent.write(mpHandler); -- -- OpenTagGraphicsElement("office:settings").write(mpHandler); -- -- OpenTagGraphicsElement configItemSetOpenElement("config:config-item-set"); -- configItemSetOpenElement.addAttribute("config:name", "ooo:view-settings"); -- configItemSetOpenElement.write(mpHandler); -- -- OpenTagGraphicsElement configItemOpenElement1("config:config-item"); -- configItemOpenElement1.addAttribute("config:name", "VisibleAreaTop"); -- configItemOpenElement1.addAttribute("config:type", "int"); -- configItemOpenElement1.write(mpHandler); -- mpHandler->characters("0"); -- mpHandler->endElement("config:config-item"); -- -- OpenTagGraphicsElement configItemOpenElement2("config:config-item"); -- configItemOpenElement2.addAttribute("config:name", "VisibleAreaLeft"); -- configItemOpenElement2.addAttribute("config:type", "int"); -- configItemOpenElement2.write(mpHandler); -- mpHandler->characters("0"); -- mpHandler->endElement("config:config-item"); -- -- OpenTagGraphicsElement configItemOpenElement3("config:config-item"); -- configItemOpenElement3.addAttribute("config:name", "VisibleAreaWidth"); -- configItemOpenElement3.addAttribute("config:type", "int"); -- configItemOpenElement3.write(mpHandler); -- m_value.str(""); -- m_value << (unsigned)(2540 * width); -- mpHandler->characters(m_value.str()); -- mpHandler->endElement("config:config-item"); -- -- OpenTagGraphicsElement configItemOpenElement4("config:config-item"); -- configItemOpenElement4.addAttribute("config:name", "VisibleAreaHeight"); -- configItemOpenElement4.addAttribute("config:type", "int"); -- configItemOpenElement4.write(mpHandler); -- m_value.str(""); -- m_value << (unsigned)(2540 * height); -- mpHandler->characters(m_value.str()); -- mpHandler->endElement("config:config-item"); -- -- mpHandler->endElement("config:config-item-set"); -- -- mpHandler->endElement("office:settings"); -- --} -- --void OdgExporter::endGraphics() --{ -- OpenTagGraphicsElement("office:styles").write(mpHandler); -- -- for (std::vector ::const_iterator iterStroke = mStrokeDashElements.begin(); -- iterStroke != mStrokeDashElements.end(); iterStroke++) -- (*iterStroke)->write(mpHandler); -- -- for (std::vector ::const_iterator iterGradient = mGradientElements.begin(); -- iterGradient != mGradientElements.end(); iterGradient++) -- (*iterGradient)->write(mpHandler); -- -- mpHandler->endElement("office:styles"); -- -- OpenTagGraphicsElement("office:automatic-styles").write(mpHandler); -- -- for (std::vector ::const_iterator iterAutomaticStyles = mAutomaticStylesElements.begin(); -- iterAutomaticStyles != mAutomaticStylesElements.end(); iterAutomaticStyles++) -- (*iterAutomaticStyles)->write(mpHandler); -- -- OpenTagGraphicsElement tmpStylePageLayoutOpenElement("style:page-layout"); -- tmpStylePageLayoutOpenElement.addAttribute("style:name", "PM0"); -- tmpStylePageLayoutOpenElement.write(mpHandler); -- -- OpenTagGraphicsElement tmpStylePageLayoutPropertiesOpenElement("style:page-layout-properties"); -- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-top", "0in"); -- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-bottom", "0in"); -- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-left", "0in"); -- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:margin-right", "0in"); -- m_value.str(""); -- m_value << doubleToString(m_width) << "in"; -- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:page-width", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(m_height) << "in"; -- tmpStylePageLayoutPropertiesOpenElement.addAttribute("fo:page-height", m_value.str()); -- m_value.str(""); -- tmpStylePageLayoutPropertiesOpenElement.addAttribute("style:print-orientation", "portrait"); -- tmpStylePageLayoutPropertiesOpenElement.write(mpHandler); -- -- mpHandler->endElement("style:page-layout-properties"); -- -- mpHandler->endElement("style:page-layout"); -- -- OpenTagGraphicsElement tmpStyleStyleOpenElement("style:style"); -- tmpStyleStyleOpenElement.addAttribute("style:name", "dp1"); -- tmpStyleStyleOpenElement.addAttribute("style:family", "drawing-page"); -- tmpStyleStyleOpenElement.write(mpHandler); -- -- OpenTagGraphicsElement tmpStyleDrawingPagePropertiesOpenElement("style:drawing-page-properties"); -- // tmpStyleDrawingPagePropertiesOpenElement.addAttribute("draw:background-size", "border"); -- tmpStyleDrawingPagePropertiesOpenElement.addAttribute("draw:fill", "none"); -- tmpStyleDrawingPagePropertiesOpenElement.write(mpHandler); -- -- mpHandler->endElement("style:drawing-page-properties"); -- -- mpHandler->endElement("style:style"); -- -- mpHandler->endElement("office:automatic-styles"); -- -- OpenTagGraphicsElement("office:master-styles").write(mpHandler); -- -- OpenTagGraphicsElement tmpStyleMasterPageOpenElement("style:master-page"); -- tmpStyleMasterPageOpenElement.addAttribute("style:name", "Default"); -- tmpStyleMasterPageOpenElement.addAttribute("style:page-layout-name", "PM0"); -- tmpStyleMasterPageOpenElement.addAttribute("draw:style-name", "dp1"); -- tmpStyleMasterPageOpenElement.write(mpHandler); -- -- mpHandler->endElement("style:master-page"); -- -- mpHandler->endElement("office:master-styles"); -- -- OpenTagGraphicsElement("office:body").write(mpHandler); -- -- OpenTagGraphicsElement("office:drawing").write(mpHandler); -- -- OpenTagGraphicsElement tmpDrawPageOpenElement("draw:page"); -- tmpDrawPageOpenElement.addAttribute("draw:name", "page1"); -- tmpDrawPageOpenElement.addAttribute("draw:style-name", "dp1"); -- tmpDrawPageOpenElement.addAttribute("draw:master-page-name", "Default"); -- tmpDrawPageOpenElement.write(mpHandler); -- -- for (std::vector::const_iterator bodyIter = mBodyElements.begin(); -- bodyIter != mBodyElements.end(); bodyIter++) -- { -- (*bodyIter)->write(mpHandler); -- } -- -- mpHandler->endElement("draw:page"); -- mpHandler->endElement("office:drawing"); -- mpHandler->endElement("office:body"); -- mpHandler->endElement("office:document"); -- -- mpHandler->endDocument(); --} -- --void OdgExporter::setPen(const libwpg::WPGPen& pen) --{ -- m_pen = pen; --} -- --void OdgExporter::setBrush(const libwpg::WPGBrush& brush) --{ -- m_brush = brush; --} -- --void OdgExporter::setFillRule(FillRule rule) --{ -- m_fillRule = rule; --} -- --void OdgExporter::startLayer(unsigned int) --{ --} -- --void OdgExporter::endLayer(unsigned int) --{ --} -- --void OdgExporter::drawRectangle(const libwpg::WPGRect& rect, double rx, double ) --{ -- writeStyle(); -- OpenTagGraphicsElement *pDrawRectElement = new OpenTagGraphicsElement("draw:rect"); -- m_value.str(""); -- m_value << "gr" << m_styleIndex-1; -- pDrawRectElement->addAttribute("draw:style-name", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(rect.x1) << "in"; -- pDrawRectElement->addAttribute("svg:x", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(rect.y1) << "in"; -- pDrawRectElement->addAttribute("svg:y", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(rect.x2-rect.x1) << "in"; -- pDrawRectElement->addAttribute("svg:width", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(rect.y2-rect.y1) << "in"; -- pDrawRectElement->addAttribute("svg:height", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(rx) << "in"; -- // FIXME: what to do when rx != ry ? -- pDrawRectElement->addAttribute("draw:corner-radius", m_value.str()); -- m_value.str(""); -- mBodyElements.push_back(static_cast(pDrawRectElement)); -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:rect"))); --} -- --void OdgExporter::drawEllipse(const libwpg::WPGPoint& center, double rx, double ry) --{ -- writeStyle(); -- OpenTagGraphicsElement *pDrawEllipseElement = new OpenTagGraphicsElement("draw:ellipse"); -- m_value.str(""); -- m_value << "gr" << m_styleIndex-1; -- pDrawEllipseElement->addAttribute("draw:style-name", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(center.x - rx) << "in"; -- pDrawEllipseElement->addAttribute("svg:x", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(center.y - ry) << "in"; -- pDrawEllipseElement->addAttribute("svg:y", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(2 * rx) << "in"; -- pDrawEllipseElement->addAttribute("svg:width", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(2 * ry) << "in"; -- pDrawEllipseElement->addAttribute("svg:height", m_value.str()); -- m_value.str(""); -- mBodyElements.push_back(static_cast(pDrawEllipseElement)); -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:ellipse"))); --} -- --void OdgExporter::drawPolygon(const libwpg::WPGPointArray& vertices) --{ -- if(vertices.count() < 2) -- return; -- -- if(vertices.count() == 2) -- { -- const libwpg::WPGPoint& p1 = vertices[0]; -- const libwpg::WPGPoint& p2 = vertices[1]; -- -- writeStyle(); -- OpenTagGraphicsElement *pDrawLineElement = new OpenTagGraphicsElement("draw:line"); -- m_value.str(""); -- m_value << "gr" << m_styleIndex-1; -- pDrawLineElement->addAttribute("draw:style-name", m_value.str()); -- m_value.str(""); -- pDrawLineElement->addAttribute("draw:text-style-name", "P1"); -- pDrawLineElement->addAttribute("draw:layer", "layout"); -- m_value << doubleToString(p1.x) << "in"; -- pDrawLineElement->addAttribute("svg:x1", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(p1.y) << "in"; -- pDrawLineElement->addAttribute("svg:y1", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(p2.x) << "in"; -- pDrawLineElement->addAttribute("svg:x2", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(p2.y) << "in"; -- pDrawLineElement->addAttribute("svg:y2", m_value.str()); -- m_value.str(""); -- mBodyElements.push_back(static_cast(pDrawLineElement)); -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:line"))); -- } -- else -- { -- // draw as path -- libwpg::WPGPath path; -- path.moveTo(vertices[0]); -- for(unsigned long ii = 1; ii < vertices.count(); ii++) -- path.lineTo(vertices[ii]); -- path.closed = true; -- drawPath(path); -- } --} -- --void OdgExporter::drawPath(const libwpg::WPGPath& path) --{ -- if(path.count() == 0) -- return; -- -- // try to find the bounding box -- // this is simple convex hull technique, the bounding box might not be -- // accurate but that should be enough for this purpose -- libwpg::WPGPoint p = path.element(0).point; -- libwpg::WPGPoint q = path.element(0).point; -- for(unsigned k = 0; k < path.count(); k++) -- { -- libwpg::WPGPathElement element = path.element(k); -- p.x = (p.x > element.point.x) ? element.point.x : p.x; -- p.y = (p.y > element.point.y) ? element.point.y : p.y; -- q.x = (q.x < element.point.x) ? element.point.x : q.x; -- q.y = (q.y < element.point.y) ? element.point.y : q.y; -- if(element.type == libwpg::WPGPathElement::CurveToElement) -- { -- p.x = (p.x > element.extra1.x) ? element.extra1.x : p.x; -- p.y = (p.y > element.extra1.y) ? element.extra1.y : p.y; -- q.x = (q.x < element.extra1.x) ? element.extra1.x : q.x; -- q.y = (q.y < element.extra1.y) ? element.extra1.y : q.y; -- p.x = (p.x > element.extra2.x) ? element.extra2.x : p.x; -- p.y = (p.y > element.extra2.y) ? element.extra2.y : p.y; -- q.x = (q.x < element.extra2.x) ? element.extra2.x : q.x; -- q.y = (q.y < element.extra2.y) ? element.extra2.y : q.y; -- } -- } -- double vw = q.x - p.x; -- double vh = q.y - p.y; -- -- writeStyle(); -- -- OpenTagGraphicsElement *pDrawPathElement = new OpenTagGraphicsElement("draw:path"); -- m_value.str(""); -- m_value << "gr" << m_styleIndex-1; -- pDrawPathElement->addAttribute("draw:style-name", m_value.str()); -- m_value.str(""); -- pDrawPathElement->addAttribute("draw:text-style-name", "P1"); -- pDrawPathElement->addAttribute("draw:layer", "layout"); -- m_value << doubleToString(p.x) << "in"; -- pDrawPathElement->addAttribute("svg:x", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(p.y) << "in"; -- pDrawPathElement->addAttribute("svg:y", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(vw) << "in"; -- pDrawPathElement->addAttribute("svg:width", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(vh) << "in"; -- pDrawPathElement->addAttribute("svg:height", m_value.str()); -- m_value.str(""); -- m_value << "0 0 " << (int)(vw*2540) << " " << (int)(vh*2540); -- pDrawPathElement->addAttribute("svg:viewBox", m_value.str()); -- m_value.str(""); -- -- for(unsigned i = 0; i < path.count(); i++) -- { -- libwpg::WPGPathElement element = path.element(i); -- libwpg::WPGPoint point = element.point; -- switch(element.type) -- { -- // 2540 is 2.54*1000, 2.54 in = 1 in -- case libwpg::WPGPathElement::MoveToElement: -- m_value << "M" << (int)((point.x-p.x)*2540) << " "; -- m_value << (int)((point.y-p.y)*2540); -- break; -- -- case libwpg::WPGPathElement::LineToElement: -- m_value << "L" << (int)((point.x-p.x)*2540) << " "; -- m_value << (int)((point.y-p.y)*2540); -- break; -- -- case libwpg::WPGPathElement::CurveToElement: -- m_value << "C" << (int)((element.extra1.x-p.x)*2540) << " "; -- m_value << (int)((element.extra1.y-p.y)*2540) << " "; -- m_value << (int)((element.extra2.x-p.x)*2540) << " "; -- m_value << (int)((element.extra2.y-p.y)*2540) << " "; -- m_value << (int)((point.x-p.x)*2540) << " "; -- m_value << (int)((point.y-p.y)*2540); -- break; -- -- default: -- break; -- } -- } -- if(path.closed) -- m_value << " Z"; -- pDrawPathElement->addAttribute("svg:d", m_value.str()); -- m_value.str(""); -- mBodyElements.push_back(static_cast(pDrawPathElement)); -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:path"))); --} -- -- --void OdgExporter::drawBitmap(const libwpg::WPGBitmap& bitmap) --{ -- OpenTagGraphicsElement *pDrawFrameElement = new OpenTagGraphicsElement("draw:frame"); -- m_value.str(""); -- m_value << doubleToString(bitmap.rect.x1) << "in"; -- pDrawFrameElement->addAttribute("svg:x", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(bitmap.rect.y1) << "in"; -- pDrawFrameElement->addAttribute("svg:y", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(bitmap.rect.height()) << "in"; -- pDrawFrameElement->addAttribute("svg:height", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(bitmap.rect.width()) << "in"; -- pDrawFrameElement->addAttribute("svg:width", m_value.str()); -- mBodyElements.push_back(static_cast(pDrawFrameElement)); -- -- mBodyElements.push_back(static_cast(new OpenTagGraphicsElement("draw:image"))); -- -- mBodyElements.push_back(static_cast(new OpenTagGraphicsElement("office:binary-data"))); -- -- libwpg::WPGString base64Binary; -- bitmap.generateBase64DIB(base64Binary); -- mBodyElements.push_back(static_cast(new CharDataGraphicsElement(base64Binary.cstr()))); -- -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("office:binary-data"))); -- -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:image"))); -- -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:frame"))); --} -- --void OdgExporter::drawImageObject(const libwpg::WPGBinaryData& binaryData) --{ -- if (binaryData.mimeType.length() <= 0) -- return; -- OpenTagGraphicsElement *pDrawFrameElement = new OpenTagGraphicsElement("draw:frame"); -- m_value.str(""); -- m_value << doubleToString(binaryData.rect.x1) << "in"; -- pDrawFrameElement->addAttribute("svg:x", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(binaryData.rect.y1) << "in"; -- pDrawFrameElement->addAttribute("svg:y", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(binaryData.rect.height()) << "in"; -- pDrawFrameElement->addAttribute("svg:height", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(binaryData.rect.width()) << "in"; -- pDrawFrameElement->addAttribute("svg:width", m_value.str()); -- mBodyElements.push_back(static_cast(pDrawFrameElement)); -- -- mBodyElements.push_back(static_cast(new OpenTagGraphicsElement("draw:image"))); -- -- mBodyElements.push_back(static_cast(new OpenTagGraphicsElement("office:binary-data"))); -- -- libwpg::WPGString base64Binary = binaryData.getBase64Data(); -- mBodyElements.push_back(static_cast(new CharDataGraphicsElement(base64Binary.cstr()))); -- -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("office:binary-data"))); -- -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:image"))); -- -- mBodyElements.push_back(static_cast(new CloseTagGraphicsElement("draw:frame"))); --} -- -- --static std::string colorToHex(const libwpg::WPGColor& color) --{ -- char hexdigits[] = "0123456789abcdef"; -- char buffer[] = "123456"; -- buffer[0] = hexdigits[(color.red >> 4) & 15]; -- buffer[1] = hexdigits[color.red & 15]; -- buffer[2] = hexdigits[(color.green >> 4) & 15]; -- buffer[3] = hexdigits[color.green & 15]; -- buffer[4] = hexdigits[(color.blue >> 4) & 15]; -- buffer[5] = hexdigits[color.blue & 15]; -- return std::string(buffer); --} -- --void OdgExporter::writeStyle() --{ -- m_value.str(""); -- m_name.str(""); -- -- if(!m_pen.solid && (m_pen.dashArray.count() >=2 ) ) -- { -- // ODG only supports dashes with the same length of spaces inbetween -- // here we take the first space and assume everything else the same -- // note that dash length is written in percentage -- double distance = m_pen.dashArray.at(1); -- OpenTagGraphicsElement *tmpDrawStrokeDashElement = new OpenTagGraphicsElement("draw:stroke-dash"); -- tmpDrawStrokeDashElement->addAttribute("draw:style", "rect"); -- m_value << "Dash_" << m_dashIndex++; -- tmpDrawStrokeDashElement->addAttribute("draw:name", m_value.str()); -- m_value.str(""); -- m_value << doubleToString(distance*100) << "%"; -- tmpDrawStrokeDashElement->addAttribute("draw:distance", m_value.str()); -- m_value.str(""); -- for(unsigned i = 0; i < m_pen.dashArray.count()/2; i++) -- { -- m_name << "draw:dots" << i+1; -- tmpDrawStrokeDashElement->addAttribute(m_name.str(), "1"); -- m_name.str(""); -- m_name << "draw:dots" << i+1 << "-length"; -- m_value << doubleToString(100*m_pen.dashArray.at(i*2)) << "%"; -- tmpDrawStrokeDashElement->addAttribute(m_name.str(), m_value.str()); -- m_name.str(""); -- m_value.str(""); -- } -- mStrokeDashElements.push_back(static_cast(tmpDrawStrokeDashElement)); -- mStrokeDashElements.push_back(static_cast(new CloseTagGraphicsElement("draw:stroke-dash"))); -- } -- -- if(m_brush.style == libwpg::WPGBrush::Gradient) -- { -- OpenTagGraphicsElement *tmpDrawGradientElement = new OpenTagGraphicsElement("draw:gradient"); -- tmpDrawGradientElement->addAttribute("draw:style", "linear"); -- m_value << "Gradient_" << m_gradientIndex++; -- tmpDrawGradientElement->addAttribute("draw:name", m_value.str()); -- m_value.str(""); -- -- // ODG angle unit is 0.1 degree -- double angle = -m_brush.gradient.angle(); -- while(angle < 0) -- angle += 360; -- while(angle > 360) -- angle -= 360; -- -- m_value << (unsigned)(angle*10); -- tmpDrawGradientElement->addAttribute("draw:angle", m_value.str()); -- m_value.str(""); -- -- libwpg::WPGColor startColor = m_brush.gradient.stopColor(0); -- libwpg::WPGColor stopColor = m_brush.gradient.stopColor(1); -- m_value << "#" << colorToHex(startColor); -- tmpDrawGradientElement->addAttribute("draw:start-color", m_value.str()); -- m_value.str(""); -- m_value << "#" << colorToHex(stopColor); -- tmpDrawGradientElement->addAttribute("draw:end-color", m_value.str()); -- m_value.str(""); -- tmpDrawGradientElement->addAttribute("draw:start-intensity", "100%"); -- tmpDrawGradientElement->addAttribute("draw:end-intensity", "100%"); -- tmpDrawGradientElement->addAttribute("draw:border", "0%"); -- mGradientElements.push_back(static_cast(tmpDrawGradientElement)); -- mGradientElements.push_back(static_cast(new CloseTagGraphicsElement("draw:gradient"))); -- } -- -- OpenTagGraphicsElement *tmpStyleStyleElement = new OpenTagGraphicsElement("style:style"); -- m_value << "gr" << m_styleIndex; -- tmpStyleStyleElement->addAttribute("style:name", m_value.str()); -- m_value.str(""); -- tmpStyleStyleElement->addAttribute("style:family", "graphic"); -- tmpStyleStyleElement->addAttribute("style:parent-style-name", "standard"); -- mAutomaticStylesElements.push_back(static_cast(tmpStyleStyleElement)); -- -- OpenTagGraphicsElement *tmpStyleGraphicPropertiesElement = new OpenTagGraphicsElement("style:graphic-properties"); -- -- if(m_pen.width > 0.0) -- { -- m_value << doubleToString(m_pen.width) << "in"; -- tmpStyleGraphicPropertiesElement->addAttribute("svg:stroke-width", m_value.str()); -- m_value.str(""); -- m_value << "#" << colorToHex(m_pen.foreColor); -- tmpStyleGraphicPropertiesElement->addAttribute("svg:stroke-color", m_value.str()); -- m_value.str(""); -- -- if(!m_pen.solid) -- { -- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke", "dash"); -- m_value << "Dash_" << m_dashIndex-1; -- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke-dash", m_value.str()); -- m_value.str(""); -- } -- } -- else -- tmpStyleGraphicPropertiesElement->addAttribute("draw:stroke", "none"); -- -- if(m_brush.style == libwpg::WPGBrush::NoBrush) -- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "none"); -- -- if(m_brush.style == libwpg::WPGBrush::Solid) -- { -- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "solid"); -- m_value << "#" << colorToHex(m_brush.foreColor); -- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill-color", m_value.str()); -- m_value.str(""); -- } -- -- if(m_brush.style == libwpg::WPGBrush::Gradient) -- { -- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill", "gradient"); -- m_value << "Gradient_" << m_gradientIndex-1; -- tmpStyleGraphicPropertiesElement->addAttribute("draw:fill-gradient-name", m_value.str()); -- m_value.str(""); -- } -- -- mAutomaticStylesElements.push_back(static_cast(tmpStyleGraphicPropertiesElement)); -- mAutomaticStylesElements.push_back(static_cast(new CloseTagGraphicsElement("style:graphic-properties"))); -- -- mAutomaticStylesElements.push_back(static_cast(new CloseTagGraphicsElement("style:style"))); -- m_styleIndex++; --} -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.hxx koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.hxx ---- koffice-2.3.1/filters/karbon/wpg/import/OdgExporter.hxx 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/OdgExporter.hxx 1970-01-01 01:00:00.000000000 +0100 -@@ -1,116 +0,0 @@ --/* libwpg -- * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org) -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Library General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * 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; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -- * Boston, MA 02111-1301 USA -- * -- * For further information visit http://libwpg.sourceforge.net -- */ -- --/* "This product is not manufactured, approved, or supported by -- * Corel Corporation or Corel Corporation Limited." -- */ -- --#ifndef __ODGEXPORTER_H__ --#define __ODGEXPORTER_H__ -- --#include --#include --#include -- --#include --#include "GraphicsElement.hxx" -- --class OdgExporter : public libwpg::WPGPaintInterface { --public: -- explicit OdgExporter(GraphicsHandler *pHandler, -- const bool isFlatXML = false); -- ~OdgExporter(); -- --#if LIBWPG_VERSION_MINOR<2 -- void startGraphics(double imageWidth, double imageHeight); -- void endGraphics(); -- void startLayer(unsigned int id); -- void endLayer(unsigned int id); -- -- void setPen(const libwpg::WPGPen& pen); -- void setBrush(const libwpg::WPGBrush& brush); -- void setFillRule(FillRule rule); -- -- void drawRectangle(const libwpg::WPGRect& rect, double rx, double ry); -- void drawEllipse(const libwpg::WPGPoint& center, double rx, double ry); -- void drawPolygon(const libwpg::WPGPointArray& vertices); -- void drawPath(const libwpg::WPGPath& path); -- void drawBitmap(const libwpg::WPGBitmap& bitmap); -- void drawImageObject(const libwpg::WPGBinaryData& binaryData); -- --private: -- std::vector mBodyElements; -- std::vector mAutomaticStylesElements; -- std::vector mStrokeDashElements; -- std::vector mGradientElements; -- GraphicsHandler *mpHandler; -- -- libwpg::WPGPen m_pen; -- libwpg::WPGBrush m_brush; -- FillRule m_fillRule; -- int m_gradientIndex; -- int m_dashIndex; -- int m_styleIndex; -- void writeStyle(); -- std::ostringstream m_value, m_name; -- double m_width, m_height; -- const bool m_isFlatXML; --#else -- virtual void startGraphics(const ::WPXPropertyList &propList); -- virtual void endGraphics(); -- virtual void setStyle(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &gradient); -- virtual void startLayer(const ::WPXPropertyList &propList); -- virtual void endLayer(); -- virtual void drawRectangle(const ::WPXPropertyList& propList); -- virtual void drawEllipse(const ::WPXPropertyList& propList); -- virtual void drawPolygon(const ::WPXPropertyListVector &vertices); -- virtual void drawPath(const ::WPXPropertyListVector &path); -- virtual void drawGraphicObject(const ::WPXPropertyList &propList, const ::WPXBinaryData &binaryData); -- virtual void startEmbeddedGraphics(const ::WPXPropertyList &propList); -- virtual void endEmbeddedGraphics(); -- virtual void drawPolyline(const ::WPXPropertyListVector &vertices); -- virtual void startTextObject(const ::WPXPropertyList &propList, const ::WPXPropertyListVector &path); -- virtual void endTextObject(); -- virtual void startTextLine(const ::WPXPropertyList &propList); -- virtual void endTextLine(); -- virtual void startTextSpan(const ::WPXPropertyList &propList); -- virtual void endTextSpan(); -- virtual void insertText(const ::WPXString &str); -- -- --private: -- std::vector mBodyElements; -- std::vector mAutomaticStylesElements; -- std::vector mStrokeDashElements; -- std::vector mGradientElements; -- GraphicsHandler *mpHandler; -- -- int m_gradientIndex; -- int m_dashIndex; -- int m_styleIndex; -- void writeStyle(); -- std::ostringstream m_value, m_name; -- double m_width, m_height; -- const bool m_isFlatXML; --#endif --}; -- --#endif // __ODGEXPORTER_H__ -diff -Nur koffice-2.3.1/filters/karbon/wpg/import/WPGImport.cpp koffice-2.3.1-libwpg02/filters/karbon/wpg/import/WPGImport.cpp ---- koffice-2.3.1/filters/karbon/wpg/import/WPGImport.cpp 2011-01-15 21:05:35.000000000 +0100 -+++ koffice-2.3.1-libwpg02/filters/karbon/wpg/import/WPGImport.cpp 2011-01-02 17:46:15.000000000 +0100 -@@ -20,28 +20,26 @@ - #include - #include - --#include --#include --#include -- --#include - #include - #include - #include -+#include -+ - #include -+#include - --#include -+ -+#include -+#include - - #include - #if LIBWPG_VERSION_MINOR<2 - #include - #else - #include -+#include - #endif - --#include "FileOutputHandler.hxx" --#include "OdgExporter.hxx" -- - #include - - K_PLUGIN_FACTORY(WPGImportFactory, registerPlugin();) -@@ -56,35 +54,13 @@ - { - } - --static QByteArray createManifest() --{ -- KoXmlWriter* manifestWriter; -- QByteArray manifestData; -- QBuffer manifestBuffer(&manifestData); -- -- manifestBuffer.open(QIODevice::WriteOnly); -- manifestWriter = new KoXmlWriter(&manifestBuffer); -- -- manifestWriter->startDocument("manifest:manifest"); -- manifestWriter->startElement("manifest:manifest"); -- manifestWriter->addAttribute("xmlns:manifest", "urn:oasis:names:tc:openoffice:xmlns:manifest:1.0"); -- manifestWriter->addManifestEntry("/", "application/vnd.oasis.opendocument.graphics"); -- //manifestWriter->addManifestEntry( "styles.xml", "text/xml" ); -- manifestWriter->addManifestEntry("content.xml", "text/xml"); -- manifestWriter->endElement(); -- manifestWriter->endDocument(); -- delete manifestWriter; -- -- return manifestData; --} -- - - KoFilter::ConversionStatus WPGImport::convert(const QByteArray& from, const QByteArray& to) - { - if (from != "application/x-wpg") - return KoFilter::NotImplemented; - -- if (to != "application/vnd.oasis.opendocument.graphics") -+ if (to != "image/svg+xml") - return KoFilter::NotImplemented; - - #if LIBWPG_VERSION_MINOR<2 -@@ -96,6 +72,7 @@ - input = olestream; - } - } -+ libwpg::WPGString output; - #else - WPXInputStream* input = new WPXFileStream(m_chain->inputFile().toLocal8Bit()); - if (input->isOLEStream()) { -@@ -105,59 +82,31 @@ - input = olestream; - } - } -+ ::WPXString output; - #endif - - if (!libwpg::WPGraphics::isSupported(input)) { -- std::cerr << "ERROR: Unsupported file format (unsupported version) or file is encrypted!" << std::endl; -+ kWarning() << "ERROR: Unsupported file format (unsupported version) or file is encrypted!"; - delete input; - return KoFilter::NotImplemented; - } - -- // do the conversion -- std::ostringstream tmpStringStream; -- FileOutputHandler tmpHandler(tmpStringStream); -- OdgExporter exporter(&tmpHandler); -- libwpg::WPGraphics::parse(input, &exporter); -- delete input; -- -- -- // create output store -- KoStore* storeout; -- storeout = KoStore::createStore(m_chain->outputFile(), KoStore::Write, -- "application/vnd.oasis.opendocument.graphics", KoStore::Zip); -- -- if (!storeout) { -- kWarning() << "Couldn't open the requested file."; -- return KoFilter::FileNotFound; -- } -- --#if 0 -- if (!storeout->open("styles.xml")) { -- kWarning() << "Couldn't open the file 'styles.xml'."; -- return KoFilter::CreationError; -+ if (!libwpg::WPGraphics::generateSVG(input, output)) { -+ kWarning() << "ERROR: SVG Generation failed!"; -+ delete input; -+ return KoFilter::ParsingError; - } -- //storeout->write( createStyles() ); -- storeout->close(); --#endif - -- if (!storeout->open("content.xml")) { -- kWarning() << "Couldn't open the file 'content.xml'."; -- return KoFilter::CreationError; -- } -- storeout->write(tmpStringStream.str().c_str()); -- storeout->close(); -+ delete input; - -- // store document manifest -- storeout->enterDirectory("META-INF"); -- if (!storeout->open("manifest.xml")) { -- kWarning() << "Couldn't open the file 'META-INF/manifest.xml'."; -- return KoFilter::CreationError; -+ QFile outputFile(m_chain->outputFile()); -+ if(!outputFile.open(QIODevice::WriteOnly | QIODevice::Text)) { -+ kWarning() << "ERROR: Could not open output file" << m_chain->outputFile(); -+ return KoFilter::InternalError; - } -- storeout->write(createManifest()); -- storeout->close(); - -- // we are done! -- delete storeout; -+ outputFile.write(output.cstr()); -+ outputFile.close(); - - return KoFilter::OK; - } - diff --git a/extra/koffice/koffice.install b/extra/koffice/koffice.install deleted file mode 100644 index 6c87527e2..000000000 --- a/extra/koffice/koffice.install +++ /dev/null @@ -1,12 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null - update-desktop-database -q -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/extra/koffice/krita.install b/extra/koffice/krita.install deleted file mode 100644 index 5d458de55..000000000 --- a/extra/koffice/krita.install +++ /dev/null @@ -1,13 +0,0 @@ -post_install() { - xdg-icon-resource forceupdate --theme hicolor &> /dev/null - update-mime-database usr/share/mime &> /dev/null - update-desktop-database -q -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/extra/koffice/qt48fix.patch b/extra/koffice/qt48fix.patch deleted file mode 100644 index de72926d5..000000000 --- a/extra/koffice/qt48fix.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- koffice-2.3.3/plugins/chartshape/kdchart/src/KDChartBackgroundAttributes.cpp 2011-02-17 13:10:38.000000000 +0100 -+++ koffice-2.3.3/plugins/chartshape/kdchart/src/KDChartBackgroundAttributes.cpp 2011-09-08 15:03:31.932039128 +0200 -@@ -150,7 +150,6 @@ QDebug operator<<(QDebug dbg, const KDCh - << "visible="<