OSDN Git Service

generic: move kfilemetadata and svgpart to kde-playground
authorIvailo Monev <xakepa10@gmail.com>
Sun, 18 Oct 2020 09:20:38 +0000 (12:20 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Sun, 18 Oct 2020 09:20:38 +0000 (12:20 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
72 files changed:
CMakeLists.txt
kfilemetadata/CMakeLists.txt [deleted file]
kfilemetadata/COPYING-CMAKE-SCRIPTS [deleted file]
kfilemetadata/COPYING.LGPL-2 [deleted file]
kfilemetadata/COPYING.LGPL-2.1 [deleted file]
kfilemetadata/COPYING.LGPL-3 [deleted file]
kfilemetadata/KFileMetaDataConfig.cmake.in [deleted file]
kfilemetadata/Messages.sh [deleted file]
kfilemetadata/autotests/CMakeLists.txt [deleted file]
kfilemetadata/autotests/indexerextractortests.cpp [deleted file]
kfilemetadata/autotests/indexerextractortests.h [deleted file]
kfilemetadata/autotests/indexerextractortestsconfig.h.in [deleted file]
kfilemetadata/autotests/propertyinfotest.cpp [deleted file]
kfilemetadata/autotests/propertyinfotest.h [deleted file]
kfilemetadata/autotests/samplefiles/README [deleted file]
kfilemetadata/autotests/samplefiles/plain_text_file.txt [deleted file]
kfilemetadata/autotests/samplefiles/tux.png [deleted file]
kfilemetadata/autotests/simpleresult.cpp [deleted file]
kfilemetadata/autotests/simpleresult.h [deleted file]
kfilemetadata/src/CMakeLists.txt [deleted file]
kfilemetadata/src/extractionresult.cpp [deleted file]
kfilemetadata/src/extractionresult.h [deleted file]
kfilemetadata/src/extractorplugin.cpp [deleted file]
kfilemetadata/src/extractorplugin.h [deleted file]
kfilemetadata/src/extractorpluginmanager.cpp [deleted file]
kfilemetadata/src/extractorpluginmanager.h [deleted file]
kfilemetadata/src/extractors/CMakeLists.txt [deleted file]
kfilemetadata/src/extractors/epubextractor.cpp [deleted file]
kfilemetadata/src/extractors/epubextractor.h [deleted file]
kfilemetadata/src/extractors/exiv2extractor.cpp [deleted file]
kfilemetadata/src/extractors/exiv2extractor.h [deleted file]
kfilemetadata/src/extractors/ffmpegextractor.cpp [deleted file]
kfilemetadata/src/extractors/ffmpegextractor.h [deleted file]
kfilemetadata/src/extractors/kfilemetadata_epubextractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_exiv2extractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_ffmpegextractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_mobiextractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_odfextractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_office2007extractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_officeextractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_plaintextextractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_popplerextractor.desktop [deleted file]
kfilemetadata/src/extractors/kfilemetadata_taglibextractor.desktop [deleted file]
kfilemetadata/src/extractors/mobiextractor.cpp [deleted file]
kfilemetadata/src/extractors/mobiextractor.h [deleted file]
kfilemetadata/src/extractors/odfextractor.cpp [deleted file]
kfilemetadata/src/extractors/odfextractor.h [deleted file]
kfilemetadata/src/extractors/office2007extractor.cpp [deleted file]
kfilemetadata/src/extractors/office2007extractor.h [deleted file]
kfilemetadata/src/extractors/officeextractor.cpp [deleted file]
kfilemetadata/src/extractors/officeextractor.h [deleted file]
kfilemetadata/src/extractors/plaintextextractor.cpp [deleted file]
kfilemetadata/src/extractors/plaintextextractor.h [deleted file]
kfilemetadata/src/extractors/popplerextractor.cpp [deleted file]
kfilemetadata/src/extractors/popplerextractor.h [deleted file]
kfilemetadata/src/extractors/taglibextractor.cpp [deleted file]
kfilemetadata/src/extractors/taglibextractor.h [deleted file]
kfilemetadata/src/kfilemetadata_export.h [deleted file]
kfilemetadata/src/kfilemetadataextractor.desktop [deleted file]
kfilemetadata/src/properties.h [deleted file]
kfilemetadata/src/propertyinfo.cpp [deleted file]
kfilemetadata/src/propertyinfo.h [deleted file]
kfilemetadata/src/typeinfo.cpp [deleted file]
kfilemetadata/src/typeinfo.h [deleted file]
kfilemetadata/src/types.h [deleted file]
svgpart/CMakeLists.txt [deleted file]
svgpart/COPYING [deleted file]
svgpart/Messages.sh [deleted file]
svgpart/svgpart.cpp [deleted file]
svgpart/svgpart.desktop [deleted file]
svgpart/svgpart.h [deleted file]
svgpart/svgpart.rc [deleted file]

index 4b5645d..b88da0b 100644 (file)
@@ -28,7 +28,6 @@ macro_optional_add_subdirectory(about-distro)
 macro_optional_add_subdirectory(ark)
 macro_optional_add_subdirectory(bluedevil)
 macro_optional_add_subdirectory(dragon)
-macro_optional_add_subdirectory(ffmpegthumbs)
 macro_optional_add_subdirectory(filelight)
 macro_optional_add_subdirectory(gwenview)
 macro_optional_add_subdirectory(jovie)
@@ -36,7 +35,6 @@ macro_optional_add_subdirectory(kcalc)
 macro_optional_add_subdirectory(kcron)
 macro_optional_add_subdirectory(kdenetwork-filesharing)
 macro_optional_add_subdirectory(kdeplasma-addons)
-macro_optional_add_subdirectory(kfilemetadata)
 macro_optional_add_subdirectory(lokalize)
 macro_optional_add_subdirectory(libksane)
 macro_optional_add_subdirectory(kcolorchooser)
@@ -57,7 +55,6 @@ macro_optional_add_subdirectory(okular)
 macro_optional_add_subdirectory(partitionmanager)
 macro_optional_add_subdirectory(print-manager)
 macro_optional_add_subdirectory(skanlite)
-macro_optional_add_subdirectory(svgpart)
 macro_optional_add_subdirectory(thumbnailers)
 macro_optional_add_subdirectory(yakuake)
 
diff --git a/kfilemetadata/CMakeLists.txt b/kfilemetadata/CMakeLists.txt
deleted file mode 100644 (file)
index 923bfe6..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-project(kfilemetadata)
-
-if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
-    find_package(KDE4 4.19.0 REQUIRED)
-    include(KDE4Defaults)
-    include_directories(${KDE4_INCLUDES})
-    add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
-endif()
-
-macro_optional_find_package(PopplerQt4 0.12.1)
-set_package_properties(PopplerQt4 PROPERTIES
-    DESCRIPTION "A PDF rendering library"
-    URL "http://poppler.freedesktop.org"
-    PURPOSE "Support for PDF files"
-)
-
-macro_optional_find_package(Taglib 1.4)
-set_package_properties(Taglib PROPERTIES
-    DESCRIPTION "Id3 tag reader"
-    URL "https://taglib.org/"
-    PURPOSE "Support for music metadata"
-)
-
-macro_optional_find_package(Exiv2 0.21)
-set_package_properties(Exiv2 PROPERTIES
-    DESCRIPTION "Image Tag reader"
-    URL "http://www.exiv2.org"
-    PURPOSE "Support for image metadata"
-)
-
-macro_optional_find_package(FFmpeg 1.0)
-set_package_properties(FFmpeg PROPERTIES
-    DESCRIPTION "Video Tag reader"
-    URL "http://ffmpeg.org"
-    PURPOSE "Support for video metadata"
-)
-
-macro_optional_find_package(EPub)
-set_package_properties(EPub PROPERTIES
-    DESCRIPTION "A library for reading EPub documents"
-    URL "http://sourceforge.net/projects/ebook-tools"
-    PURPOSE "Support for epub metadata"
-)
-
-macro_optional_find_package(QMobipocket)
-set_package_properties(QMobipocket PROPERTIES
-    DESCRIPTION "A library for reading Mobipocket documents"
-    URL "https://projects.kde.org/projects/kde/kdegraphics/kdegraphics-mobipocket"
-    PURPOSE "Support for Mobipocket documents metadata in KFileMetaData"
-)
-
-include_directories(
-  ${PROJECT_SOURCE_DIR}
-  ${PROJECT_SOURCE_DIR}/src
-)
-
-add_subdirectory(src)
-if(ENABLE_TESTING)
-    add_subdirectory(autotests)
-endif()
-
-configure_file(
-    ${CMAKE_CURRENT_SOURCE_DIR}/KFileMetaDataConfig.cmake.in
-    ${CMAKE_CURRENT_BINARY_DIR}/KFileMetaDataConfig.cmake
-    @ONLY
-)
-
-install(
-    FILES ${CMAKE_CURRENT_BINARY_DIR}/KFileMetaDataConfig.cmake
-    DESTINATION ${KDE4_LIB_INSTALL_DIR}/cmake/KFileMetaData
-)
diff --git a/kfilemetadata/COPYING-CMAKE-SCRIPTS b/kfilemetadata/COPYING-CMAKE-SCRIPTS
deleted file mode 100644 (file)
index 4b41776..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products 
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/kfilemetadata/COPYING.LGPL-2 b/kfilemetadata/COPYING.LGPL-2
deleted file mode 100644 (file)
index 5bc8fb2..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-                  GNU LIBRARY GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
-\f
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
-
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-\f
-                  GNU LIBRARY GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-\f
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-\f
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-\f
-  6. As an exception to the Sections above, you may also compile or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    c) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    d) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-\f
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-\f
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-\f
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    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  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/kfilemetadata/COPYING.LGPL-2.1 b/kfilemetadata/COPYING.LGPL-2.1
deleted file mode 100644 (file)
index 4362b49..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-\f
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-\f
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-\f
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-\f
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-\f
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-\f
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-\f
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-\f
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/kfilemetadata/COPYING.LGPL-3 b/kfilemetadata/COPYING.LGPL-3
deleted file mode 100644 (file)
index 65c5ca8..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-                   GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
-  This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
-  0. Additional Definitions.
-
-  As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
-  "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
-  An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
-  A "Combined Work" is a work produced by combining or linking an
-Application with the Library.  The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
-  The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
-  The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
-  1. Exception to Section 3 of the GNU GPL.
-
-  You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
-  2. Conveying Modified Versions.
-
-  If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
-   a) under this License, provided that you make a good faith effort to
-   ensure that, in the event an Application does not supply the
-   function or data, the facility still operates, and performs
-   whatever part of its purpose remains meaningful, or
-
-   b) under the GNU GPL, with none of the additional permissions of
-   this License applicable to that copy.
-
-  3. Object Code Incorporating Material from Library Header Files.
-
-  The object code form of an Application may incorporate material from
-a header file that is part of the Library.  You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
-   a) Give prominent notice with each copy of the object code that the
-   Library is used in it and that the Library and its use are
-   covered by this License.
-
-   b) Accompany the object code with a copy of the GNU GPL and this license
-   document.
-
-  4. Combined Works.
-
-  You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
-   a) Give prominent notice with each copy of the Combined Work that
-   the Library is used in it and that the Library and its use are
-   covered by this License.
-
-   b) Accompany the Combined Work with a copy of the GNU GPL and this license
-   document.
-
-   c) For a Combined Work that displays copyright notices during
-   execution, include the copyright notice for the Library among
-   these notices, as well as a reference directing the user to the
-   copies of the GNU GPL and this license document.
-
-   d) Do one of the following:
-
-       0) Convey the Minimal Corresponding Source under the terms of this
-       License, and the Corresponding Application Code in a form
-       suitable for, and under terms that permit, the user to
-       recombine or relink the Application with a modified version of
-       the Linked Version to produce a modified Combined Work, in the
-       manner specified by section 6 of the GNU GPL for conveying
-       Corresponding Source.
-
-       1) Use a suitable shared library mechanism for linking with the
-       Library.  A suitable mechanism is one that (a) uses at run time
-       a copy of the Library already present on the user's computer
-       system, and (b) will operate properly with a modified version
-       of the Library that is interface-compatible with the Linked
-       Version.
-
-   e) Provide Installation Information, but only if you would otherwise
-   be required to provide such information under section 6 of the
-   GNU GPL, and only to the extent that such information is
-   necessary to install and execute a modified version of the
-   Combined Work produced by recombining or relinking the
-   Application with a modified version of the Linked Version. (If
-   you use option 4d0, the Installation Information must accompany
-   the Minimal Corresponding Source and Corresponding Application
-   Code. If you use option 4d1, you must provide the Installation
-   Information in the manner specified by section 6 of the GNU GPL
-   for conveying Corresponding Source.)
-
-  5. Combined Libraries.
-
-  You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
-   a) Accompany the combined library with a copy of the same work based
-   on the Library, uncombined with any other library facilities,
-   conveyed under the terms of this License.
-
-   b) Give prominent notice with the combined library that part of it
-   is a work based on the Library, and explaining where to find the
-   accompanying uncombined form of the same work.
-
-  6. Revised Versions of the GNU Lesser General Public License.
-
-  The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
-  Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
-  If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/kfilemetadata/KFileMetaDataConfig.cmake.in b/kfilemetadata/KFileMetaDataConfig.cmake.in
deleted file mode 100644 (file)
index cccbaf3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# Do not modify this file. Any change will be overwritten by CMake.
-
-# Config file for KFileMetaData. This file will define:
-# KFILEMETADATA_INCLUDE_DIR - The KFileMetaData include directory
-# KFILEMETADATA_LIBRARY - The library needed to use KFileMetaData
-
-get_filename_component(_currentDir ${CMAKE_CURRENT_LIST_FILE} PATH) # The current directory
-get_filename_component(rootDir ${_currentDir}/@relInstallDir@ ABSOLUTE) # The install prefix
-
-# Include directory
-set(KFILEMETADATA_INSTALL_PREFIX "${rootDir}")
-set(KFILEMETADATA_INCLUDE_DIR "@KDE4_INCLUDE_INSTALL_DIR@")
-
-include(${_currentDir}/KFileMetaDataTargetsWithPrefix.cmake)
-
-# Set the library variable
-set(KFILEMETADATA_LIBRARY kfilemetadata)
-
diff --git a/kfilemetadata/Messages.sh b/kfilemetadata/Messages.sh
deleted file mode 100644 (file)
index 5300ca8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#!bin/sh
-
-$EXTRACTRC `find . -name \*.rc -o -name \*.ui -o -name \*.kcfg` >> rc.cpp
-$XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h -name \*.qml` -o $podir/kfilemetadata.pot
-rm -f rc.cpp
diff --git a/kfilemetadata/autotests/CMakeLists.txt b/kfilemetadata/autotests/CMakeLists.txt
deleted file mode 100644 (file)
index c95a939..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-configure_file(
-    indexerextractortestsconfig.h.in
-    ${CMAKE_CURRENT_BINARY_DIR}/indexerextractortestsconfig.h @ONLY
-)
-
-kde4_add_test(kfilemetadata-extractortests
-    indexerextractortests.cpp
-    simpleresult.cpp
-    ../src/extractors/plaintextextractor.cpp
-)
-
-target_link_libraries(kfilemetadata-extractortests
-    ${QT_QTTEST_LIBRARY}
-    ${KDE4_KDECORE_LIBS}
-    kfilemetadata
-)
-
-#
-# Property Info
-#
-kde4_add_test(kfilemetadata-propertyinfotest
-    propertyinfotest.cpp
-)
-
-target_link_libraries(kfilemetadata-propertyinfotest
-    ${QT_QTTEST_LIBRARY}
-    ${KDE4_KDECORE_LIBS}
-    kfilemetadata
-)
-
diff --git a/kfilemetadata/autotests/indexerextractortests.cpp b/kfilemetadata/autotests/indexerextractortests.cpp
deleted file mode 100644 (file)
index 87f81a8..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-   This file is part of the Nepomuk KDE project.
-   Copyright (C) 2013 David Edmundson <davidedmundson@kde.org>
-   Copyright (C) 2014 Vishesh Handa <me@vhanda.in>
-
-   This library 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.1 of the License, or (at your option) version 3, or any
-   later version accepted by the membership of KDE e.V. (or its
-   successor approved by the membership of KDE e.V.), which shall
-   act as a proxy defined in Section 6 of version 3 of the license.
-
-   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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "indexerextractortests.h"
-
-#include <QtTest>
-#include <QTemporaryFile>
-
-#include "qtest_kde.h"
-#include "simpleresult.h"
-#include "indexerextractortestsconfig.h"
-#include "extractors/plaintextextractor.h"
-#include "extractorpluginmanager.h"
-
-using namespace KFileMetaData;
-
-IndexerExtractorTests::IndexerExtractorTests(QObject* parent) :
-    QObject(parent)
-{
-}
-
-QString IndexerExtractorTests::testFilePath(const QString& fileName) const
-{
-    return QLatin1String(INDEXER_TESTS_SAMPLE_FILES_PATH) + QDir::separator() + fileName;
-}
-
-void IndexerExtractorTests::benchMarkPlainTextExtractor()
-{
-    PlainTextExtractor plugin(this, QVariantList());
-
-    // generate a test file with varying number of words per line
-    QTemporaryFile file("XXXXXX.txt");
-    QVERIFY(file.open());
-    QByteArray chunk("foo bar ");
-    for (int line = 0; line < 10000; ++line) {
-        for (int i = 0; i < line % 100; ++i) {
-            file.write(chunk);
-        }
-        file.write("\n");
-    }
-
-    SimpleResult result(file.fileName(), "text/plain");
-
-    QBENCHMARK {
-        plugin.extract(&result);
-    }
-}
-
-void IndexerExtractorTests::benchMarkManager()
-{
-    QBENCHMARK {
-        testImageExtractor();
-    }
-}
-
-void IndexerExtractorTests::testPlainTextExtractor()
-{
-    QScopedPointer<ExtractorPlugin> plugin(new PlainTextExtractor(this, QVariantList()));
-
-    SimpleResult result(testFilePath("plain_text_file.txt"), "text/plain");
-    plugin->extract(&result);
-
-    QString content;
-    QTextStream(&content) << "This is a text file\n"
-                          << "it is four lines long\n"
-                          << "it has 77 characters\n"
-                          << "and 17 words.\n";
-
-    QCOMPARE(result.types().size(), 1);
-    QCOMPARE(result.types().first(), Type::Text);
-
-    QCOMPARE(result.properties().size(), 1);
-    QCOMPARE(result.properties().value(Property::LineCount), QVariant(4));
-
-    content.replace(QLatin1Char('\n'), QLatin1Char(' '));
-    QCOMPARE(result.text(), content);
-}
-
-void IndexerExtractorTests::testImageExtractor()
-{
-    QScopedPointer<ExtractorPluginManager> manager(new ExtractorPluginManager(this));
-    QList<ExtractorPlugin*> extractors = manager->fetchExtractors("image/png");
-    if (extractors.isEmpty()) {
-        QSKIP("No extractors for image/png", SkipAll);
-    }
-
-    SimpleResult result(testFilePath("tux.png"), "image/png");
-    extractors.first()->extract(&result);
-
-    QCOMPARE(result.types().size(), 1);
-    QCOMPARE(result.types().first(), Type::Image);
-
-    QCOMPARE(result.properties().size(), 2);
-    QCOMPARE(result.properties().value(Property::Width), QVariant("386"));
-    QCOMPARE(result.properties().value(Property::Height), QVariant("395"));
-}
-
-QTEST_KDEMAIN_CORE(IndexerExtractorTests)
-
diff --git a/kfilemetadata/autotests/indexerextractortests.h b/kfilemetadata/autotests/indexerextractortests.h
deleted file mode 100644 (file)
index bb3b196..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-   This file is part of the Nepomuk KDE project.
-   Copyright (C) 2013 David Edmundson <davidedmundson@kde.org>
-
-   This library 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.1 of the License, or (at your option) version 3, or any
-   later version accepted by the membership of KDE e.V. (or its
-   successor approved by the membership of KDE e.V.), which shall
-   act as a proxy defined in Section 6 of version 3 of the license.
-
-   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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef INDEXEREXTRACTORTESTS_H
-#define INDEXEREXTRACTORTESTS_H
-
-#include <QObject>
-#include <QString>
-
-class IndexerExtractorTests : public QObject
-{
-    Q_OBJECT
-public:
-    explicit IndexerExtractorTests(QObject* parent = 0);
-
-private:
-    QString testFilePath(const QString& fileName) const;
-
-private slots:
-    void benchMarkPlainTextExtractor();
-    void benchMarkManager();
-    void testPlainTextExtractor();
-    void testImageExtractor();
-};
-
-#endif // INDEXERTESTS_H
diff --git a/kfilemetadata/autotests/indexerextractortestsconfig.h.in b/kfilemetadata/autotests/indexerextractortestsconfig.h.in
deleted file mode 100644 (file)
index 0ef657d..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-   This file is part of the Nepomuk KDE project.
-   Copyright (C) 2013 David Edmundson <davidedmundson@kde.org>
-
-   This library 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.1 of the License, or (at your option) version 3, or any
-   later version accepted by the membership of KDE e.V. (or its
-   successor approved by the membership of KDE e.V.), which shall
-   act as a proxy defined in Section 6 of version 3 of the license.
-
-   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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef INDEXEREXTRACTORTESTSCONFIG_H
-#define INDEXEREXTRACTORTESTSCONFIG_H
-
-#define INDEXER_TESTS_SAMPLE_FILES_PATH "@CMAKE_CURRENT_SOURCE_DIR@/samplefiles"
-
-#endif
diff --git a/kfilemetadata/autotests/propertyinfotest.cpp b/kfilemetadata/autotests/propertyinfotest.cpp
deleted file mode 100644 (file)
index 509cd54..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of the KDE KFileMetaData project
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#include "propertyinfotest.h"
-#include "propertyinfo.h"
-
-#include <QtTest>
-#include <qtest_kde.h>
-
-using namespace KFileMetaData;
-
-void PropertyInfoTest::testNameIdMapping()
-{
-    // The +1 is to avoid the Empty Property
-    int i = static_cast<int>(Property::FirstProperty) + 1;
-    int e = static_cast<int>(Property::LastProperty);
-
-    for (; i <= e; i++) {
-        Property::Property p = static_cast<Property::Property>(i);
-        PropertyInfo pi(p);
-
-        // qDebug() << pi.name();
-        QCOMPARE(pi.property(), p);
-        QVERIFY(!pi.name().isEmpty());
-        QVERIFY(!pi.displayName().isEmpty());
-
-        PropertyInfo pi2 = PropertyInfo::fromName(pi.name());
-        QCOMPARE(pi2.property(), p);
-    }
-}
-
-QTEST_KDEMAIN_CORE(PropertyInfoTest)
diff --git a/kfilemetadata/autotests/propertyinfotest.h b/kfilemetadata/autotests/propertyinfotest.h
deleted file mode 100644 (file)
index 677ade1..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * This file is part of the KDE KFileMetaData project
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifndef PROPERTYINFOTEST_H
-#define PROPERTYINFOTEST_H
-
-#include <QObject>
-
-namespace KFileMetaData {
-
-class PropertyInfoTest : public QObject
-{
-    Q_OBJECT
-private Q_SLOTS:
-    void testNameIdMapping();
-};
-
-}
-
-#endif // PROPERTYINFOTEST_H
diff --git a/kfilemetadata/autotests/samplefiles/README b/kfilemetadata/autotests/samplefiles/README
deleted file mode 100644 (file)
index 6e50bde..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-This folder contains various small files to be indexed by indexerextractortests.
-
-plain_text_file.txt
- - extract metadata with "cat" and "wc"
diff --git a/kfilemetadata/autotests/samplefiles/plain_text_file.txt b/kfilemetadata/autotests/samplefiles/plain_text_file.txt
deleted file mode 100644 (file)
index c84b863..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a text file
-it is four lines long
-it has 77 characters
-and 17 words.
diff --git a/kfilemetadata/autotests/samplefiles/tux.png b/kfilemetadata/autotests/samplefiles/tux.png
deleted file mode 100644 (file)
index 2567fe7..0000000
Binary files a/kfilemetadata/autotests/samplefiles/tux.png and /dev/null differ
diff --git a/kfilemetadata/autotests/simpleresult.cpp b/kfilemetadata/autotests/simpleresult.cpp
deleted file mode 100644 (file)
index 8283e1a..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * <one line to give the library's name and an idea of what it does.>
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#include "simpleresult.h"
-
-using namespace KFileMetaData;
-
-SimpleResult::SimpleResult(const QString& url, const QString& mimetype)
-    : ExtractionResult(url, mimetype)
-{
-}
-
-void SimpleResult::add(Property::Property property, const QVariant& value)
-{
-    m_properties.insertMulti(property, value);
-}
-
-void SimpleResult::addType(Type::Type type)
-{
-    m_types << type;
-}
-
-void SimpleResult::append(const QString& text)
-{
-    m_text.append(text);
-    m_text.append(QLatin1Char(' '));
-}
-
-PropertyMap SimpleResult::properties() const
-{
-    return m_properties;
-}
-
-QString SimpleResult::text() const
-{
-    return m_text;
-}
-
-QVector<Type::Type> SimpleResult::types() const
-{
-    return m_types;
-}
diff --git a/kfilemetadata/autotests/simpleresult.h b/kfilemetadata/autotests/simpleresult.h
deleted file mode 100644 (file)
index f3793b5..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * <one line to give the library's name and an idea of what it does.>
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifndef KFILEMETADATA_SIMPLERESULT_H
-#define KFILEMETADATA_SIMPLERESULT_H
-
-#include "extractionresult.h"
-#include <QVector>
-#include <QString>
-
-namespace KFileMetaData {
-
-class SimpleResult : public ExtractionResult
-{
-public:
-    SimpleResult(const QString& url, const QString& mimetype);
-
-    virtual void add(Property::Property property, const QVariant& value);
-    virtual void addType(Type::Type type);
-    virtual void append(const QString& text);
-
-    PropertyMap properties() const;
-    QString text() const;
-    QVector<Type::Type> types() const;
-
-private:
-    PropertyMap m_properties;
-    QString m_text;
-    QVector<Type::Type> m_types;
-};
-
-}
-
-#endif // KFILEMETADATA_SIMPLERESULT_H
diff --git a/kfilemetadata/src/CMakeLists.txt b/kfilemetadata/src/CMakeLists.txt
deleted file mode 100644 (file)
index 7f6500e..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-add_library(kfilemetadata SHARED
-    extractionresult.cpp
-    extractorplugin.cpp
-    extractorpluginmanager.cpp
-    propertyinfo.cpp
-    typeinfo.cpp
-)
-
-target_link_libraries(kfilemetadata
-  ${QT_QTCORE_LIBRARY}
-  ${KDE4_KDECORE_LIBS}
-)
-
-set_target_properties(kfilemetadata PROPERTIES
-    VERSION ${GENERIC_LIB_VERSION}
-    SOVERSION ${GENERIC_LIB_SOVERSION}
-)
-
-install(TARGETS kfilemetadata ${INSTALL_TARGETS_DEFAULT_ARGS})
-
-install(TARGETS kfilemetadata EXPORT KdeLibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
-install(FILES kfilemetadataextractor.desktop DESTINATION ${KDE4_SERVICETYPES_INSTALL_DIR})
-
-install(EXPORT KdeLibsLibraryTargets
-        DESTINATION ${KDE4_LIB_INSTALL_DIR}/cmake/KFileMetaData
-        FILE KFileMetaDataTargetsWithPrefix.cmake)
-
-install(FILES
-    extractionresult.h
-    extractorplugin.h
-    extractorpluginmanager.h
-    properties.h
-    propertyinfo.h
-    types.h
-    typeinfo.h
-    kfilemetadata_export.h
-    DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/kfilemetadata
-    COMPONENT Devel
-)
-
-add_subdirectory(extractors)
diff --git a/kfilemetadata/src/extractionresult.cpp b/kfilemetadata/src/extractionresult.cpp
deleted file mode 100644 (file)
index 9bc7946..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 of the License, or (at your option) version 3, or any
- * later version accepted by the membership of KDE e.V. (or its
- * successor approved by the membership of KDE e.V.), which shall
- * act as a proxy defined in Section 6 of version 3 of the license.
- *
- * 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "extractionresult.h"
-
-using namespace KFileMetaData;
-
-class ExtractionResult::Private {
-public:
-    QString url;
-    QString mimetype;
-};
-
-ExtractionResult::ExtractionResult(const QString& url, const QString& mimetype)
-    : d(new Private)
-{
-    d->url = url;
-    d->mimetype = mimetype;
-}
-
-ExtractionResult::ExtractionResult(const ExtractionResult& rhs)
-    : d(new Private(*rhs.d))
-{
-}
-
-ExtractionResult::~ExtractionResult()
-{
-    delete d;
-}
-
-QString ExtractionResult::inputUrl() const
-{
-    return d->url;
-}
-
-QString ExtractionResult::inputMimetype() const
-{
-    return d->mimetype;
-}
diff --git a/kfilemetadata/src/extractionresult.h b/kfilemetadata/src/extractionresult.h
deleted file mode 100644 (file)
index 76dfe59..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 of the License, or (at your option) version 3, or any
- * later version accepted by the membership of KDE e.V. (or its
- * successor approved by the membership of KDE e.V.), which shall
- * act as a proxy defined in Section 6 of version 3 of the license.
- *
- * 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef _KFILEMETADATA_EXTRACTIONRESULT_H
-#define _KFILEMETADATA_EXTRACTIONRESULT_H
-
-#include <QString>
-#include <QVariant>
-
-#include "kfilemetadata_export.h"
-#include "properties.h"
-#include "types.h"
-
-namespace KFileMetaData {
-
-/**
- * \class ExtractionResult extractionresult.h
- *
- * \brief The ExtractionResult class is where all the data extracted by
- * the indexer is saved. This class acts as a base class which should be
- * dervied from and then passed to the relevant plugins.
- *
- * The dervied class needs to implement 3 pure virtual functions through
- * which it receives the extracted data.
- *
- * \author Vishesh Handa <me@vhanda.in>
- */
-class KFILEMETADATA_EXPORT ExtractionResult
-{
-public:
-    ExtractionResult(const QString& url, const QString& mimetype);
-    ExtractionResult(const ExtractionResult& rhs);
-    virtual ~ExtractionResult();
-
-    /**
-     * The input url which the plugins will use to locate the file
-     */
-    QString inputUrl() const;
-
-    /*
-     * The input mimetype. This mimetype should correspond with the
-     * mimetypes supported with the relevant plugin when it is being
-     * passed to the Extractor
-     */
-    QString inputMimetype() const;
-
-    /**
-     * This function is called by plugins when they wish for some plain
-     * text to be indexed without any property. This generally corresponds
-     * to the text content in a file
-     */
-    virtual void append(const QString& text) = 0;
-
-    /**
-     * This function is called by the plugins when they wish to
-     * add a key value pair which should be indexed. This function may be
-     * called multiple times for the same key.
-     *
-     * \p property This specifies a property name. It should be one of the
-     *             properties from the global list of properties.
-     *
-     * \p value The value of the property
-     */
-    virtual void add(Property::Property property, const QVariant& value) = 0;
-
-    /**
-     * This function is caleld by the plugins.
-     * A type is a higher level classification of the file. Any file can
-     * have multiple types. Eg - "Audio", "Video" or "Document"
-     *
-     * Please choose one type from the list of available types
-     */
-    virtual void addType(Type::Type type) = 0;
-
-private:
-    class Private;
-    Private* d;
-};
-
-}
-
-#endif // _KFILEMETADATA_EXTRACTIONRESULT_H
diff --git a/kfilemetadata/src/extractorplugin.cpp b/kfilemetadata/src/extractorplugin.cpp
deleted file mode 100644 (file)
index 7980abf..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-    Copyright (C) 2012  Jörg Ehrichs <joerg.ehrichs@gmx.de>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "extractorplugin.h"
-
-#include <KDebug>
-
-using namespace KFileMetaData;
-
-ExtractorPlugin::ExtractorPlugin(QObject* parent): QObject(parent)
-{
-}
-
-ExtractorPlugin::~ExtractorPlugin()
-{
-}
-
-//
-// Helper functions
-//
-
-QDateTime ExtractorPlugin::dateTimeFromString(const QString& dateString)
-{
-    QDateTime dateTime;
-
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("yyyy-MM-dd"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("dd-MM-yyyy"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("yyyy-MM"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("MM-yyyy"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("yyyy.MM.dd"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("dd.MM.yyyy"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("dd MMMM yyyy"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("MM.yyyy"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("yyyy.MM"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("yyyy"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("yy"));
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, Qt::ISODate);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("dddd d MMM yyyy h':'mm':'ss AP"));
-        dateTime.setTimeSpec(Qt::LocalTime);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, QLatin1String("yyyy:MM:dd hh:mm:ss"));
-        dateTime.setTimeSpec(Qt::LocalTime);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, Qt::SystemLocaleShortDate);
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, Qt::SystemLocaleShortDate);
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        dateTime = QDateTime::fromString(dateString, Qt::SystemLocaleLongDate);
-        dateTime.setTimeSpec(Qt::UTC);
-    }
-    if (!dateTime.isValid()) {
-        kWarning() << "Could not determine correct datetime format from:" << dateString;
-        return QDateTime();
-    }
-
-    return dateTime;
-}
-
-QStringList ExtractorPlugin::contactsFromString(const QString& string)
-{
-    QString cleanedString = string;
-    cleanedString = cleanedString.remove('{');
-    cleanedString = cleanedString.remove('}');
-
-    QStringList contactStrings = string.split(',', QString::SkipEmptyParts);
-    if (contactStrings.size() == 1)
-        contactStrings = string.split(';', QString::SkipEmptyParts);
-
-    if (contactStrings.size() == 1)
-        contactStrings = string.split(" ft ", QString::SkipEmptyParts);
-
-    if (contactStrings.size() == 1)
-        contactStrings = string.split(" feat. ", QString::SkipEmptyParts);
-
-    if (contactStrings.size() == 1)
-        contactStrings = string.split(" feat ", QString::SkipEmptyParts);
-
-    QStringList list;
-    foreach(const QString& contactName, contactStrings) {
-        list << contactName.trimmed();
-    }
-
-    return list;
-}
diff --git a/kfilemetadata/src/extractorplugin.h b/kfilemetadata/src/extractorplugin.h
deleted file mode 100644 (file)
index d1cddd5..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef _KFILEMETADATA_EXTRACTOR_H
-#define _KFILEMETADATA_EXTRACTOR_H
-
-#include <QStringList>
-#include <QDateTime>
-
-#include "kfilemetadata_export.h"
-#include "extractionresult.h"
-
-#include <KService>
-#include <QStringList>
-
-namespace KFileMetaData
-{
-
-/**
- * \class ExtractorPlugin extractorplugin.h
- *
- * \brief The ExtractorPlugin is the base class for all file metadata
- * extractors. It is responsible for extracting the metadata in a file.
- *
- * Plugins should derive from this class and implement the mimetypes
- * and extract method.
- *
- * All Plugins should be synchronous and blocking.
- *
- * \author Vishesh Handa <me@vhanda.in>
- */
-class KFILEMETADATA_EXPORT ExtractorPlugin : public QObject
-{
-    Q_OBJECT
-public:
-    ExtractorPlugin(QObject* parent);
-    virtual ~ExtractorPlugin();
-
-    /**
-     * Provide a list of mimetypes which are supported by this plugin.
-     * Only files with those mimetypes will be provided to the plugin via
-     * the extract function.
-     *
-     * This can also contains partial mimetypes like "text/", in that case
-     * this plugin will be chosen only if a better plugin does not exist.
-     *
-     * \return A StringList containing the mimetypes.
-     * \sa extract
-     */
-    virtual QStringList mimetypes() const = 0;
-
-    /**
-     * The main function of the plugin that is responsible for extracting
-     * the data and filling up the ExtractionResult
-     *
-     * The \p result provides the input url and mimetype which
-     * can be used to identify the file.
-     *
-     * This function is synchronous and should be reentrant as it
-     * can be called by multiple threads.
-     */
-    virtual void extract(ExtractionResult* result) = 0;
-
-    //
-    // Helper functions
-    //
-
-    /**
-     * Tries to extract a valid date time from the string provided.
-     */
-    static QDateTime dateTimeFromString(const QString& dateString);
-
-    /**
-     * Tries to split the string into names. It cleans up any superflous words
-     * and removes extra junk such as curly braces
-     */
-    static QStringList contactsFromString(const QString& string);
-
-private:
-    class Private;
-    Private* d;
-};
-}
-
-/**
- * Export a file extractor.
- *
- * \param classname The name of the subclass to export
- * \param libname The name of the library which should export the extractor
- */
-#define KFILEMETADATA_EXPORT_EXTRACTOR( classname, libname )    \
-    K_PLUGIN_FACTORY(factory, registerPlugin<classname>();) \
-    K_EXPORT_PLUGIN(factory(#libname))
-
-#endif // _KFILEMETADATA_EXTRACTOR_H
diff --git a/kfilemetadata/src/extractorpluginmanager.cpp b/kfilemetadata/src/extractorpluginmanager.cpp
deleted file mode 100644 (file)
index 2785965..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * <one line to give the library's name and an idea of what it does.>
- * Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#include "extractorplugin.h"
-#include "extractorpluginmanager.h"
-
-#include <KService>
-#include <KMimeType>
-#include <KServiceTypeTrader>
-#include <KDebug>
-
-using namespace KFileMetaData;
-
-class ExtractorPluginManager::Private {
-public:
-    QHash<QString, ExtractorPlugin*> m_extractors;
-
-    QList<ExtractorPlugin*> allExtractors() const;
-};
-
-ExtractorPluginManager::ExtractorPluginManager(QObject* parent)
-    : QObject(parent)
-    , d(new Private)
-{
-    QList<ExtractorPlugin*> all = d->allExtractors();
-
-    foreach (ExtractorPlugin* ex, all) {
-        foreach (const QString& type, ex->mimetypes()) {
-            d->m_extractors.insertMulti(type, ex);
-        }
-    }
-}
-
-ExtractorPluginManager::~ExtractorPluginManager()
-{
-    qDeleteAll(d->m_extractors.values().toSet());
-    delete d;
-}
-
-
-QList<ExtractorPlugin*> ExtractorPluginManager::Private::allExtractors() const
-{
-    // Get all the plugins
-    KService::List plugins = KServiceTypeTrader::self()->query("KFileMetaDataExtractor");
-
-    QList<ExtractorPlugin*> extractors;
-    KService::List::const_iterator it;
-    for (it = plugins.constBegin(); it != plugins.constEnd(); it++) {
-        KService::Ptr service = *it;
-
-        QString error;
-        ExtractorPlugin* ex = service->createInstance<ExtractorPlugin>(0, QVariantList(), &error);
-        if (!ex) {
-            kError() << "Could not create Extractor: " << service->library();
-            kError() << error;
-            continue;
-        }
-
-        extractors << ex;
-    }
-
-    return extractors;
-}
-
-QList<ExtractorPlugin*> ExtractorPluginManager::fetchExtractors(const QString& mimetype) const
-{
-    QList<ExtractorPlugin*> plugins = d->m_extractors.values(mimetype);
-    if (plugins.isEmpty()) {
-        QHash<QString, ExtractorPlugin*>::const_iterator it = d->m_extractors.constBegin();
-        for (; it != d->m_extractors.constEnd(); it++) {
-            if (mimetype.startsWith(it.key()))
-                plugins << it.value();
-        }
-    }
-
-    return plugins;
-}
diff --git a/kfilemetadata/src/extractorpluginmanager.h b/kfilemetadata/src/extractorpluginmanager.h
deleted file mode 100644 (file)
index d4a871e..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * <one line to give the library's name and an idea of what it does.>
- * Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifndef _KFILEMETADATA_EXTRACTORPLUGINMANAGER_H
-#define _KFILEMETADATA_EXTRACTORPLUGINMANAGER_H
-
-#include <QtCore/QUrl>
-#include "kfilemetadata_export.h"
-
-namespace KFileMetaData
-{
-
-class ExtractorPlugin;
-
-/**
- * \class ExtractorPluginManager extractorpluginmanager.h
- *
- * \brief The ExtractorPluginManager is a helper class which internally
- * loads all the extractor plugins. It can be used to fetch a certain
- * subset of thse pulgins based on a given mimetype.
- *
- * Once the appropriate plugins have been fetched, an ExtractionResult
- * should be created and passed to the plugin's extract function.
- *
- * \author Vishesh Handa <me@vhanda.in>
- */
-class KFILEMETADATA_EXPORT ExtractorPluginManager : public QObject
-{
-public:
-    explicit ExtractorPluginManager(QObject* parent = 0);
-    virtual ~ExtractorPluginManager();
-
-    /**
-     * Fetch the extractors which can be used to extract
-     * data for the respective file with the given mimetype.
-     *
-     * If no match is found then all the plugins whose mimetype list
-     * starts with \p mimetype are returned.
-     */
-    QList<ExtractorPlugin*> fetchExtractors(const QString& mimetype) const;
-
-private:
-    class Private;
-    Private* d;
-};
-}
-
-#endif // _KFILEMETADATA_EXTRACTORPLUGINMANAGER_H
diff --git a/kfilemetadata/src/extractors/CMakeLists.txt b/kfilemetadata/src/extractors/CMakeLists.txt
deleted file mode 100644 (file)
index ca27404..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-if(POPPLER_QT4_FOUND)
-    include_directories(${POPPLER_QT4_INCLUDE_DIR})
-
-    kde4_add_plugin(kfilemetadata_popplerextractor popplerextractor.cpp)
-
-    target_link_libraries(kfilemetadata_popplerextractor
-        kfilemetadata
-        ${KDE4_KIO_LIBS}
-        ${POPPLER_QT4_LIBRARIES}
-    )
-
-    install(
-    FILES kfilemetadata_popplerextractor.desktop
-    DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-    install(
-    TARGETS kfilemetadata_popplerextractor
-    DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-endif(POPPLER_QT4_FOUND)
-
-if(TAGLIB_FOUND)
-    include_directories( ${TAGLIB_INCLUDES} )
-
-    kde4_add_plugin( kfilemetadata_taglibextractor taglibextractor.cpp )
-
-    target_link_libraries( kfilemetadata_taglibextractor
-        kfilemetadata
-        ${KDE4_KIO_LIBS}
-        ${TAGLIB_LIBRARIES}
-    )
-
-    install(
-    FILES kfilemetadata_taglibextractor.desktop
-    DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-    install(
-    TARGETS kfilemetadata_taglibextractor
-    DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-endif(TAGLIB_FOUND)
-
-if(EXIV2_FOUND)
-    include_directories( ${EXIV2_INCLUDE_DIR} )
-
-    set_source_files_properties( exiv2extractor.cpp PROPERTIES
-        COMPILE_FLAGS "${KDE4_ENABLE_EXCEPTIONS}"
-        )
-
-    kde4_add_plugin(kfilemetadata_exiv2extractor exiv2extractor.cpp)
-
-    target_link_libraries(kfilemetadata_exiv2extractor
-        kfilemetadata
-        ${KDE4_KIO_LIBS}
-        ${EXIV2_LIBRARIES}
-    )
-
-    install(
-    FILES kfilemetadata_exiv2extractor.desktop
-    DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-    install(
-    TARGETS kfilemetadata_exiv2extractor
-    DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-endif(EXIV2_FOUND)
-
-if(FFMPEG_FOUND)
-    include_directories( ${FFMPEG_INCLUDE_DIRS} )
-
-    kde4_add_plugin(kfilemetadata_ffmpegextractor ffmpegextractor.cpp)
-
-    target_link_libraries(kfilemetadata_ffmpegextractor
-        kfilemetadata
-        ${KDE4_KIO_LIBS}
-        ${FFMPEG_LIBRARIES}
-        ${AVUTIL_LIBRARIES}
-    )
-
-    install(
-    FILES kfilemetadata_ffmpegextractor.desktop
-    DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-    install(
-    TARGETS kfilemetadata_ffmpegextractor
-    DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-endif(FFMPEG_FOUND)
-
-
-if(EPUB_FOUND)
-    include_directories( ${EPUB_INCLUDE_DIR} )
-
-    kde4_add_plugin(kfilemetadata_epubextractor epubextractor.cpp)
-
-    target_link_libraries(kfilemetadata_epubextractor
-        kfilemetadata
-        ${KDE4_KIO_LIBS}
-        ${EPUB_LIBRARIES}
-    )
-
-    install(
-    FILES kfilemetadata_epubextractor.desktop
-    DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-    install(
-    TARGETS kfilemetadata_epubextractor
-    DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-endif(EPUB_FOUND)
-
-#
-# Plain Text
-#
-kde4_add_plugin( kfilemetadata_plaintextextractor plaintextextractor.cpp )
-
-target_link_libraries( kfilemetadata_plaintextextractor
-    kfilemetadata
-    ${KDE4_KIO_LIBS}
-)
-
-install(
-FILES kfilemetadata_plaintextextractor.desktop
-DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-install(
-TARGETS kfilemetadata_plaintextextractor
-DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-#
-# ODF
-#
-
-kde4_add_plugin(kfilemetadata_odfextractor odfextractor.cpp)
-
-target_link_libraries(kfilemetadata_odfextractor
-    kfilemetadata
-    ${KDE4_KIO_LIBS}
-)
-
-install(
-FILES kfilemetadata_odfextractor.desktop
-DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-install(
-TARGETS kfilemetadata_odfextractor
-DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-#
-# Office 2007
-#
-
-kde4_add_plugin(kfilemetadata_office2007extractor office2007extractor.cpp)
-
-target_link_libraries(kfilemetadata_office2007extractor
-    kfilemetadata
-    ${KDE4_KIO_LIBS}
-)
-
-install(
-FILES kfilemetadata_office2007extractor.desktop
-DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-install(
-TARGETS kfilemetadata_office2007extractor
-DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-#
-# Office (binary formats)
-#
-
-kde4_add_plugin(kfilemetadata_officeextractor officeextractor.cpp)
-
-target_link_libraries(kfilemetadata_officeextractor
-    kfilemetadata
-    ${KDE4_KIO_LIBS}
-)
-
-install(
-FILES kfilemetadata_officeextractor.desktop
-DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-install(
-TARGETS kfilemetadata_officeextractor
-DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-
-#
-# Mobipocket
-#
-if (QMOBIPOCKET_FOUND)
-    kde4_add_plugin(kfilemetadata_mobiextractor mobiextractor.cpp)
-
-    include_directories(${QMOBIPOCKET_INCLUDE_DIR})
-    target_link_libraries(kfilemetadata_mobiextractor
-        kfilemetadata
-        ${KDE4_KIO_LIBS}
-        ${QMOBIPOCKET_LIBRARIES}
-    )
-
-    install(
-    FILES kfilemetadata_mobiextractor.desktop
-    DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-
-    install(
-    TARGETS kfilemetadata_mobiextractor
-    DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-endif(QMOBIPOCKET_FOUND)
diff --git a/kfilemetadata/src/extractors/epubextractor.cpp b/kfilemetadata/src/extractors/epubextractor.cpp
deleted file mode 100644 (file)
index 0f83cfd..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "epubextractor.h"
-
-#include <epub.h>
-
-#include <KDebug>
-#include <QDateTime>
-#include <QTextDocument>
-
-using namespace KFileMetaData;
-
-EPubExtractor::EPubExtractor(QObject* parent, const QVariantList&)
-    : ExtractorPlugin(parent)
-{
-
-}
-
-QStringList EPubExtractor::mimetypes() const
-{
-    QStringList types;
-    types << QLatin1String("application/epub+zip");
-
-    return types;
-}
-
-namespace
-{
-QString fetchMetadata(struct epub* e, const epub_metadata& type)
-{
-    int size = 0;
-
-    unsigned char** data = epub_get_metadata(e, type, &size);
-    if (data) {
-        QStringList strList;
-        for (int i = 0; i < size; i++) {
-            strList << QString::fromUtf8((char*)data[i]);
-            free(data[i]);
-        }
-        free(data);
-
-        return strList.join(";");
-    }
-    return QString();
-}
-}
-
-
-void EPubExtractor::extract(ExtractionResult* result)
-{
-    struct epub* ePubDoc = epub_open(result->inputUrl().toUtf8().constData(), 1);
-    if (!ePubDoc) {
-        kError() << "Invalid document";
-        return;
-    }
-
-    result->addType(Type::Document);
-
-    QString value = fetchMetadata(ePubDoc, EPUB_TITLE);
-    if (!value.isEmpty()) {
-        result->add(Property::Title, value);
-    }
-
-    value = fetchMetadata(ePubDoc, EPUB_SUBJECT);
-    if (!value.isEmpty()) {
-        result->add(Property::Subject, value);
-    }
-
-    value = fetchMetadata(ePubDoc, EPUB_CREATOR);
-    if (!value.isEmpty()) {
-        if (value.startsWith(QLatin1String("aut:"), Qt::CaseInsensitive)) {
-            value = value.mid(4).simplified();
-        } else if (value.startsWith(QLatin1String("author:"), Qt::CaseInsensitive)) {
-            value = value.mid(7).simplified();
-        }
-
-        // A lot of authors have their name written in () again. We discard that part
-        int index = value.indexOf('(');
-        if (index)
-            value = value.mid(0, index);
-
-        result->add(Property::Creator, value);
-    }
-
-    // The Contributor just seems to be mostly Calibre aka the Generator
-    /*
-    value = fetchMetadata(ePubDoc, EPUB_CONTRIB);
-    if( !value.isEmpty() ) {
-        SimpleResource con;
-        con.addType( NCO::Contact() );
-        con.addProperty( NCO::fullname(), value );
-
-        fileRes.addProperty( NCO::contributor(), con );
-        graph << con;
-    }*/
-
-    value = fetchMetadata(ePubDoc, EPUB_PUBLISHER);
-    if (!value.isEmpty()) {
-        result->add(Property::Publisher, value);
-    }
-
-    value = fetchMetadata(ePubDoc, EPUB_DESCRIPTION);
-    if (!value.isEmpty()) {
-        result->add(Property::Description, value);
-    }
-
-    value = fetchMetadata(ePubDoc, EPUB_DATE);
-    if (!value.isEmpty()) {
-        if (value.startsWith("Unspecified:", Qt::CaseInsensitive)) {
-            value = value.mid(QString("Unspecified:").size()).simplified();
-        }
-        int ind = value.indexOf("publication:", Qt::CaseInsensitive);
-        if (ind != -1) {
-            value = value.mid(ind + QString("publication:").size()).simplified();
-        }
-        QDateTime dt = ExtractorPlugin::dateTimeFromString(value);
-        if (!dt.isNull())
-            result->add(Property::CreationDate, value);
-    }
-
-    //
-    // Plain Text
-    //
-    struct eiterator* iter = epub_get_iterator(ePubDoc, EITERATOR_SPINE, 0);
-    do {
-        char* curr = epub_it_get_curr(iter);
-        if (!curr)
-            continue;
-        QString html = QString::fromUtf8(curr);
-
-        QTextDocument doc;
-        doc.setHtml(html);
-        result->append(doc.toPlainText());
-    } while (epub_it_get_next(iter));
-
-    epub_free_iterator(iter);
-
-    struct titerator* tit;
-
-    tit = epub_get_titerator(ePubDoc, TITERATOR_NAVMAP, 0);
-    if (!tit) {
-        tit = epub_get_titerator(ePubDoc, TITERATOR_GUIDE, 0);
-    }
-
-    if (epub_tit_curr_valid(tit)) {
-        do {
-            char* clink = epub_tit_get_curr_link(tit);
-
-            char* data;
-            int size = epub_get_data(ePubDoc, clink, &data);
-            free(clink);
-
-            // epub_get_data returns -1 on failure
-            if (size > 0 && data) {
-                QString html = QString::fromUtf8(data, size);
-
-                QTextDocument doc;
-                doc.setHtml(html);
-                result->append(doc.toPlainText());
-                free(data);
-            }
-        } while (epub_tit_next(tit));
-    }
-    epub_free_titerator(tit);
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::EPubExtractor, "kfilemetadata_epubextractor")
diff --git a/kfilemetadata/src/extractors/epubextractor.h b/kfilemetadata/src/extractors/epubextractor.h
deleted file mode 100644 (file)
index 486a049..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef EPUBEXTRACTOR_H
-#define EPUBEXTRACTOR_H
-
-#include "extractorplugin.h"
-
-namespace KFileMetaData
-{
-
-class EPubExtractor : public ExtractorPlugin
-{
-public:
-    EPubExtractor(QObject* parent, const QVariantList&);
-
-    virtual void extract(ExtractionResult* result);
-    virtual QStringList mimetypes() const;
-};
-}
-
-#endif // EPUBEXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/exiv2extractor.cpp b/kfilemetadata/src/extractors/exiv2extractor.cpp
deleted file mode 100644 (file)
index 49b39fb..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "exiv2extractor.h"
-
-#include <KDebug>
-
-using namespace KFileMetaData;
-
-
-Exiv2Extractor::Exiv2Extractor(QObject* parent, const QVariantList&)
-    : ExtractorPlugin(parent)
-{
-
-}
-
-QStringList Exiv2Extractor::mimetypes() const
-{
-    QStringList types;
-
-    types << QLatin1String("image/jp2")
-          << QLatin1String("image/jpeg")
-          << QLatin1String("image/pgf")
-          << QLatin1String("image/png")
-          << QLatin1String("image/tiff")
-          << QLatin1String("image/x-exv")
-          << QLatin1String("image/x-canon-cr2")
-          << QLatin1String("image/x-canon-crw")
-          << QLatin1String("image/x-fuji-raf")
-          << QLatin1String("image/x-minolta-mrw")
-          << QLatin1String("image/x-nikon-nef")
-          << QLatin1String("image/x-olympus-orf")
-          << QLatin1String("image/x-panasonic-rw2")
-          << QLatin1String("image/x-pentax-pef")
-          << QLatin1String("image/x-photoshop")
-          << QLatin1String("image/x-samsung-srw");
-
-    return types;
-}
-
-namespace
-{
-QString toString(const Exiv2::Value& value)
-{
-    std::string str = value.toString();
-    return QString::fromUtf8(str.c_str(), str.length());
-}
-
-QVariant toVariantDateTime(const Exiv2::Value& value)
-{
-    if (value.typeId() == Exiv2::asciiString) {
-        QDateTime val = ExtractorPlugin::dateTimeFromString(value.toString().c_str());
-        if (val.isValid()) {
-            // Datetime is stored in exif as local time.
-            val.setUtcOffset(0);
-            return QVariant(val);
-        }
-    }
-
-    return QVariant();
-}
-
-QVariant toVariantLong(const Exiv2::Value& value)
-{
-    if (value.typeId() == Exiv2::unsignedLong || value.typeId() == Exiv2::signedLong) {
-        qlonglong val = value.toLong();
-        return QVariant(val);
-    }
-
-    QString str(toString(value));
-    bool ok = false;
-    int val = str.toInt(&ok);
-    if (ok)
-        return QVariant(val);
-
-    return QVariant();
-}
-
-QVariant toVariantDouble(const Exiv2::Value& value)
-{
-    if (value.typeId() == Exiv2::tiffFloat || value.typeId() == Exiv2::tiffDouble
-        || value.typeId() == Exiv2::unsignedRational || value.typeId() == Exiv2::signedRational) {
-        return QVariant(static_cast<double>(value.toFloat()));
-    }
-
-    QString str(toString(value));
-    bool ok = false;
-    double val = str.toDouble(&ok);
-    if (ok)
-        return QVariant(val);
-
-    return QVariant();
-}
-
-QVariant toVariantString(const Exiv2::Value& value)
-{
-    QString str = toString(value);
-    if (!str.isEmpty())
-        return QVariant(str);
-
-    return QVariant();
-}
-
-QVariant toVariant(const Exiv2::Value& value, QVariant::Type type) {
-    switch (type) {
-    case QVariant::Int:
-        return toVariantLong(value);
-
-    case QVariant::DateTime:
-        return toVariantDateTime(value);
-
-    case QVariant::Double:
-        return toVariantDouble(value);
-
-    case QVariant::String:
-    default:
-        return toVariantString(value);
-    }
-}
-}
-
-void Exiv2Extractor::extract(ExtractionResult* result)
-{
-    QByteArray arr = result->inputUrl().toUtf8();
-    std::string fileString(arr.data(), arr.length());
-
-    Exiv2::Image::AutoPtr image;
-    try {
-        image = Exiv2::ImageFactory::open(fileString);
-    } catch (const std::exception&) {
-        return;
-    }
-    if (!image.get()) {
-        return;
-    }
-
-    try {
-        image->readMetadata();
-    } catch (const std::exception&) {
-        return;
-    }
-    result->addType(Type::Image);
-
-    if (image->pixelHeight()) {
-        result->add(Property::Height, image->pixelHeight());
-    }
-
-    if (image->pixelWidth()) {
-        result->add(Property::Width, image->pixelWidth());
-    }
-
-    std::string comment = image->comment();
-    if (!comment.empty()) {
-        result->add(Property::Comment, QString::fromUtf8(comment.c_str(), comment.length()));
-    }
-
-    const Exiv2::ExifData& data = image->exifData();
-
-    add(result, data, Property::ImageMake, "Exif.Image.Make", QVariant::String);
-    add(result, data, Property::ImageModel, "Exif.Image.Model", QVariant::String);
-    add(result, data, Property::ImageDateTime, "Exif.Image.DateTime", QVariant::DateTime);
-    add(result, data, Property::ImageOrientation, "Exif.Image.Orientation", QVariant::Int);
-    add(result, data, Property::PhotoFlash, "Exif.Photo.Flash", QVariant::Int);
-    add(result, data, Property::PhotoPixelXDimension, "Exif.Photo.PixelXDimension", QVariant::Int);
-    add(result, data, Property::PhotoPixelYDimension, "Exif.Photo.PixelYDimension", QVariant::Int);
-    add(result, data, Property::PhotoDateTimeOriginal, "Exif.Photo.DateTimeOriginal", QVariant::DateTime);
-    add(result, data, Property::PhotoFocalLength, "Exif.Photo.FocalLength", QVariant::Double);
-    add(result, data, Property::PhotoFocalLengthIn35mmFilm, "Exif.Photo.FocalLengthIn35mmFilm", QVariant::Double);
-    add(result, data, Property::PhotoExposureTime, "Exif.Photo.ExposureTime", QVariant::Double);
-    add(result, data, Property::PhotoExposureBiasValue, "Exif.Photo.ExposureBiasValue", QVariant::Double);
-    add(result, data, Property::PhotoFNumber, "Exif.Photo.FNumber", QVariant::Double);
-    add(result, data, Property::PhotoApertureValue, "Exif.Photo.ApertureValue", QVariant::Double);
-    add(result, data, Property::PhotoWhiteBalance, "Exif.Photo.WhiteBalance", QVariant::Int);
-    add(result, data, Property::PhotoMeteringMode, "Exif.Photo.MeteringMode", QVariant::Int);
-    add(result, data, Property::PhotoISOSpeedRatings, "Exif.Photo.ISOSpeedRatings", QVariant::Int);
-    add(result, data, Property::PhotoSaturation, "Exif.Photo.Saturation", QVariant::Int);
-    add(result, data, Property::PhotoSharpness, "Exif.Photo.Sharpness", QVariant::Int);
-}
-
-void Exiv2Extractor::add(ExtractionResult* result, const Exiv2::ExifData& data,
-                         Property::Property prop, const char* name,
-                         QVariant::Type type)
-{
-    Exiv2::ExifData::const_iterator it = data.findKey(Exiv2::ExifKey(name));
-    if (it != data.end()) {
-        QVariant value = toVariant(it->value(), type);
-        if (!value.isNull())
-            result->add(prop, value);
-    }
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::Exiv2Extractor, "kmetaddata_exivextractor")
diff --git a/kfilemetadata/src/extractors/exiv2extractor.h b/kfilemetadata/src/extractors/exiv2extractor.h
deleted file mode 100644 (file)
index 9c2480b..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef EXIV2EXTRACTOR_H
-#define EXIV2EXTRACTOR_H
-
-#include "extractorplugin.h"
-#include <exiv2/exiv2.hpp>
-
-namespace KFileMetaData
-{
-
-class Exiv2Extractor : public ExtractorPlugin
-{
-public:
-    Exiv2Extractor(QObject* parent, const QVariantList&);
-
-    virtual void extract(ExtractionResult* result);
-    virtual QStringList mimetypes() const;
-
-private:
-    void add(ExtractionResult* result, const Exiv2::ExifData& data,
-             Property::Property prop,
-             const char* name, QVariant::Type type);
-};
-}
-
-#endif // EXIV2EXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/ffmpegextractor.cpp b/kfilemetadata/src/extractors/ffmpegextractor.cpp
deleted file mode 100644 (file)
index c835bcd..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    Code adapted from Strigi FFmpeg Analyzer -
-    Copyright (C) 2010 Evgeny Egorochkin <phreedom.stdin@gmail.com>
-    Copyright (C) 2011 Tirtha Chatterjee <tirtha.p.chatterjee@gmail.com>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "ffmpegextractor.h"
-
-#ifdef __cplusplus
-#define __STDC_CONSTANT_MACROS
-#ifdef _STDINT_H
-#undef _STDINT_H
-#endif
-# include <stdint.h>
-#endif
-
-extern "C" {
-#include <libavformat/avformat.h>
-#include <libavutil/dict.h>
-#include <libavcodec/avcodec.h>
-}
-
-#include <KDebug>
-#include <QDateTime>
-
-using namespace KFileMetaData;
-
-FFmpegExtractor::FFmpegExtractor(QObject* parent, const QVariantList&)
-: ExtractorPlugin(parent)
-{
-}
-
-QStringList FFmpegExtractor::mimetypes() const
-{
-    QStringList types;
-
-    types << QLatin1String("video/x-ms-asf");
-    types << QLatin1String("video/x-msvideo");
-    types << QLatin1String("video/x-flv");
-    types << QLatin1String("video/quicktime");
-    types << QLatin1String("video/mpeg");
-    types << QLatin1String("video/x-ms-wmv");
-    types << QLatin1String("video/mp4");
-    types << QLatin1String("video/x-matroska");
-    types << QLatin1String("video/webm");
-
-    return types;
-}
-
-void FFmpegExtractor::extract(ExtractionResult* result)
-{
-    AVFormatContext* fmt_ctx = NULL;
-
-    av_register_all();
-
-    QByteArray arr = result->inputUrl().toUtf8();
-
-    fmt_ctx = avformat_alloc_context();
-    if (int ret = avformat_open_input(&fmt_ctx, arr.data(), NULL, NULL)) {
-        kError() << "avformat_open_input error: " << ret;
-        return;
-    }
-
-    int ret = avformat_find_stream_info(fmt_ctx, NULL);
-    if (ret < 0) {
-        kError() << "avform_find_stream_info error: " << ret;
-        return;
-    }
-
-    result->addType(Type::Video);
-
-    int totalSecs = fmt_ctx->duration / AV_TIME_BASE;
-    int bitrate = fmt_ctx->bit_rate;
-
-    result->add(Property::Duration, totalSecs);
-    result->add(Property::BitRate, bitrate);
-
-    for (uint i = 0; i < fmt_ctx->nb_streams; i++) {
-        const AVStream* stream = fmt_ctx->streams[i];
-        const AVCodecContext* codec = stream->codec;
-
-        if (codec->codec_type == AVMEDIA_TYPE_AUDIO || codec->codec_type == AVMEDIA_TYPE_VIDEO) {
-            /*
-            if( codec->codec_type == AVMEDIA_TYPE_AUDIO ) {
-                subRes.addType( NFO::Audio() );
-                subRes.addProperty( NFO::sampleRate(), codec->sample_rate );
-                subRes.addProperty( NFO::channels(), codec->channels );
-
-                //TODO: Fetch Sample Format
-            }*/
-
-            if (codec->codec_type == AVMEDIA_TYPE_VIDEO) {
-                int aspectRatio = codec->sample_aspect_ratio.num;
-                int frameRate = stream->avg_frame_rate.num;
-
-                if (codec->sample_aspect_ratio.den)
-                    aspectRatio /= codec->sample_aspect_ratio.den;
-                if (stream->avg_frame_rate.den)
-                    frameRate /= stream->avg_frame_rate.den;
-
-                result->add(Property::Width, codec->width);
-                result->add(Property::Height, codec->height);
-                if (aspectRatio)
-                    result->add(Property::AspectRatio, aspectRatio);
-                if (frameRate)
-                    result->add(Property::FrameRate, frameRate);
-            }
-        }
-    }
-
-    AVDictionary* dict = fmt_ctx->metadata;
-    AVDictionaryEntry* entry;
-
-    entry = av_dict_get(dict, "title", NULL, 0);
-    if (entry) {
-        result->add(Property::Title, QString::fromUtf8(entry->value));
-    }
-
-
-    entry = av_dict_get(dict, "author", NULL, 0);
-    if (entry) {
-        result->add(Property::Author, QString::fromUtf8(entry->value));
-    }
-
-    entry = av_dict_get(dict, "copyright", NULL, 0);
-    if (entry) {
-        result->add(Property::Copyright, QString::fromUtf8(entry->value));
-    }
-
-    entry = av_dict_get(dict, "comment", NULL, 0);
-    if (entry) {
-        result->add(Property::Comment, QString::fromUtf8(entry->value));
-    }
-
-    entry = av_dict_get(dict, "album", NULL, 0);
-    if (entry) {
-        result->add(Property::Album, QString::fromUtf8(entry->value));
-    }
-
-    entry = av_dict_get(dict, "genre", NULL, 0);
-    if (entry) {
-        result->add(Property::Genre, QString::fromUtf8(entry->value));
-    }
-
-    entry = av_dict_get(dict, "track", NULL, 0);
-    if (entry) {
-        QString value = QString::fromUtf8(entry->value);
-
-        bool ok = false;
-        int track = value.toInt(&ok);
-        if (ok && track)
-            result->add(Property::TrackNumber, track);
-    }
-
-    entry = av_dict_get(dict, "year", NULL, 0);
-    if (entry) {
-        int year = QString::fromUtf8(entry->value).toInt();
-        result->add(Property::ReleaseYear, year);
-    }
-
-    avformat_close_input(&fmt_ctx);
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::FFmpegExtractor, "kfilemetadata_ffmpegextractor")
diff --git a/kfilemetadata/src/extractors/ffmpegextractor.h b/kfilemetadata/src/extractors/ffmpegextractor.h
deleted file mode 100644 (file)
index 5165c80..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef FFMPEGEXTRACTOR_H
-#define FFMPEGEXTRACTOR_H
-
-#include "extractorplugin.h"
-
-namespace KFileMetaData
-{
-
-class FFmpegExtractor : public ExtractorPlugin
-{
-public:
-    FFmpegExtractor(QObject* parent, const QVariantList&);
-
-    virtual void extract(ExtractionResult* result);
-    virtual QStringList mimetypes() const;
-};
-}
-
-#endif // FFMPEGEXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/kfilemetadata_epubextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_epubextractor.desktop
deleted file mode 100644 (file)
index 544e814..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_epubextractor
-Name=KFileMetaData EPub Extractor
-Name[bs]=KFileMetaData EPub ekstraktor
-Name[ca]=Extractor EPub del KFileMetaData
-Name[ca@valencia]=Extractor EPub del KFileMetaData
-Name[cs]=Extraktor EPub KFileMetaData
-Name[da]=KFileMetaData EPub-udtrækker
-Name[de]=EPub-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας EPub KFileMetaData
-Name[en_GB]=KFileMetaData EPub Extractor
-Name[es]=Extractor de EPub para KFileMetaData
-Name[et]=KFileMetaData EPubi ekstraktimine
-Name[fi]=KFileMetaDatan EPub-lukuohjelma
-Name[fr]=Extracteur EPub de KFileMetaData
-Name[gl]=Extractor de EPub de KFileMetaData
-Name[hu]=KFileMetaData EPub kibontó
-Name[ia]=KFileMetadata Extractor de EPub 
-Name[it]=Estrattore EPub di KFileMetaData
-Name[ko]=KFileMetaData EPub 추출기
-Name[lt]=KFileMetaData EPub ekstraktorius
-Name[nb]=KFileMetaData EPub-uttrekker
-Name[nds]=KFile-Metadaten-EPub-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData EPub
-Name[pl]=Wydobywanie z EPub dla KFileMetaData
-Name[pt]=Extracção de EPub do KFileMetaData
-Name[pt_BR]=Extrator de EPub do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из файлов EPub
-Name[sk]=Extraktor KFileMetaData EPub
-Name[sl]=Program za izvleko EPub za KFileMetaData
-Name[sr]=Издвајач ЕПУБ‑а (KFileMetaData)
-Name[sr@ijekavian]=Издвајач ЕПУБ‑а (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač EPUB‑a (KFileMetaData)
-Name[sr@latin]=Izdvajač EPUB‑a (KFileMetaData)
-Name[sv]=Kfilmetadata EPub-extrahering
-Name[tr]=KFileMetaData EPub Çıkarıcı
-Name[uk]=Засіб видобування метаданих EPub
-Name[x-test]=xxKFileMetaData EPub Extractorxx
-Name[zh_CN]=KFileMetaData EPub 提取工具
-Name[zh_TW]=KFileMetaData EPub 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_exiv2extractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_exiv2extractor.desktop
deleted file mode 100644 (file)
index 0ac1457..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_exiv2extractor
-Name=KFileMetaData Exiv2 Extractor
-Name[bs]=KFileMetaData Exiv2 ekstraktor
-Name[ca]=Extractor Exiv2 del KFileMetaData
-Name[ca@valencia]=Extractor Exiv2 del KFileMetaData
-Name[cs]=Extraktor Exiv2 KFileMetaData
-Name[da]=KFileMetaData Exiv2-udtrækker
-Name[de]=Exiv2-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας Exiv2 KFileMetaData
-Name[en_GB]=KFileMetaData Exiv2 Extractor
-Name[es]=Extractor de Exiv2 para KFileMetaData
-Name[et]=KFileMetaData Exiv2 ekstraktimine
-Name[fi]=KFileMetaDatan Exiv2-lukuohjelma
-Name[fr]=Extracteur Exiv2 de KFileMetaData
-Name[gl]=Extractor de Exiv2 de KFileMetaData
-Name[hu]=KFileMetaData Exiv2 kibontó
-Name[ia]=Extractor de KFileMetaData Exiv2
-Name[it]=Estrattore Exiv2 di KFileMetaData
-Name[ko]=KFileMetaData Exiv2 추출기
-Name[lt]=KFileMetaData Exiv2 ekstraktorius
-Name[nb]=KFileMetaData Eviv2-uttrekker
-Name[nds]=KFile-Metadaten-Exiv2-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData Exiv2
-Name[pl]=Wydobywanie z Exiv2 dla KFileMetaData
-Name[pt]=Extracção de Exiv2 do KFileMetaData
-Name[pt_BR]=Extrator de Exiv2 do KFileMetaData
-Name[ru]=Модуль извлечения метаданных изображений с помощью Exiv2
-Name[sk]=Extraktor KFileMetaData Exiv2
-Name[sl]=Program za izvleko Exiv2 za KFileMetaData
-Name[sr]=Издвајач Ексивом 2 (KFileMetaData)
-Name[sr@ijekavian]=Издвајач Ексивом 2 (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač Exivom 2 (KFileMetaData)
-Name[sr@latin]=Izdvajač Exivom 2 (KFileMetaData)
-Name[sv]=Kfilmetadata Exiv2-extrahering
-Name[tr]=KFileMetaData Exiv2 Çıkarıcı
-Name[uk]=Засіб видобування метаданих Exiv2
-Name[x-test]=xxKFileMetaData Exiv2 Extractorxx
-Name[zh_CN]=KFileMetaData Exiv2 提取工具
-Name[zh_TW]=KFileMetaData Exiv2 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_ffmpegextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_ffmpegextractor.desktop
deleted file mode 100644 (file)
index 296f0f0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_ffmpegextractor
-Name=KFileMetaData FFmpeg Extractor
-Name[bs]=KFileMetaData FFmpeg ekstraktor
-Name[ca]=Extractor FFmpeg del KFileMetaData
-Name[ca@valencia]=Extractor FFmpeg del KFileMetaData
-Name[cs]=Extraktor FFmpeg KFileMetaData
-Name[da]=KFileMetaData FFmpeg-udtrækker
-Name[de]=FFmpeg-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας FFmpeg KFileMetaData
-Name[en_GB]=KFileMetaData FFmpeg Extractor
-Name[es]=Extractor de FFmpeg para KFileMetaData
-Name[et]=KFileMetaData FFmpegi ekstraktimine
-Name[fi]=KFileMetaDatan FFmpeg-lukuohjelma
-Name[fr]=Extracteur FFmpeg de KFileMetaData
-Name[gl]=Extractor de FFmpeg de KFileMetaData
-Name[hu]=KFileMetaData FFmpeg kibontó
-Name[ia]=Extractor de KFileMetaData FFmpeg
-Name[it]=Estrattore FFmpeg di KFileMetaData
-Name[ko]=KFileMetaData FFmpeg 추출기
-Name[lt]=KFileMetaData FFmpeg ekstraktorius
-Name[nb]=KFileMetaData FFmpeg-uttrekker
-Name[nds]=KFile-Metadaten-FFmpeg-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData FFmpeg
-Name[pl]=Wydobywanie z FFmpeg dla KFileMetaData
-Name[pt]=Extracção de FFmpeg do KFileMetaData
-Name[pt_BR]=Extrator de FFmpeg do KFileMetaData
-Name[ru]=Модуль извлечения метаданных видеофайлов с помощью FFmpeg
-Name[sk]=Extraktor KFileMetaData FFmpeg
-Name[sl]=Program za izvleko FFmpeg za KFileMetaData
-Name[sr]=Издвајач ФФмпегом (KFileMetaData)
-Name[sr@ijekavian]=Издвајач ФФмпегом (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač FFmpegom (KFileMetaData)
-Name[sr@latin]=Izdvajač FFmpegom (KFileMetaData)
-Name[sv]=Kfilmetadata FFmpeg-extrahering
-Name[tr]=KFileMetaData FFmpeg Çıkarıcı
-Name[uk]=Засіб видобування метаданих FFmpeg
-Name[x-test]=xxKFileMetaData FFmpeg Extractorxx
-Name[zh_CN]=KFileMetaData FFmpeg 提取工具
-Name[zh_TW]=KFileMetaData FFmpeg 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_mobiextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_mobiextractor.desktop
deleted file mode 100644 (file)
index 50fb6e2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_mobiextractor
-Name=KFileMetaData Mobi Extractor
-Name[bs]=KFileMetaData Mobi ekstraktor
-Name[ca]=Extractor Mobi del KFileMetaData
-Name[ca@valencia]=Extractor Mobi del KFileMetaData
-Name[cs]=Extraktor Mobi KFileMetaData
-Name[da]=KFileMetaData Mobi-udtrækker
-Name[de]=Mobi-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας Mobi KFileMetaData
-Name[en_GB]=KFileMetaData Mobi Extractor
-Name[es]=Extractor de Mobi para KFileMetaData
-Name[et]=KFileMetaData Mobi ekstraktimine
-Name[fi]=KFileMetaDatan Mobi-lukuohjelma
-Name[fr]=Extracteur Mobi de KFileMetaData
-Name[gl]=Extractor de Mobi de KFileMetaData
-Name[hu]=KFileMetaData Mobi kibontó
-Name[ia]=Extractor de KFileMetaData Mobi
-Name[it]=Estrattore Mobi di KFileMetaData
-Name[ko]=KFileMetaData Mobi 추출기
-Name[lt]=KFileMetaData Mobi ekstraktorius
-Name[nb]=KFileMetaData Mobi-uttrekker
-Name[nds]=KFile-Metadaten-Mobi-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData Mobi
-Name[pl]=Wydobywanie z Mobi dla KFileMetaData
-Name[pt]=Extracção de Mobi do KFileMetaData
-Name[pt_BR]=Extrator de Mobi do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из файлов Mobi
-Name[sk]=Extraktor KFileMetaData Mobi
-Name[sl]=Program za izvleko Mobi za KFileMetaData
-Name[sr]=Издвајач Мобипокета (KFileMetaData)
-Name[sr@ijekavian]=Издвајач Мобипокета (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač Mobipocketa (KFileMetaData)
-Name[sr@latin]=Izdvajač Mobipocketa (KFileMetaData)
-Name[sv]=Kfilmetadata Mobi-extrahering
-Name[tr]=KFileMetaData Mobi Çıkarıcı
-Name[uk]=Засіб видобування метаданих Mobi
-Name[x-test]=xxKFileMetaData Mobi Extractorxx
-Name[zh_CN]=KFileMetaData Mobi 提取工具
-Name[zh_TW]=KFileMetaData Mobi 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_odfextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_odfextractor.desktop
deleted file mode 100644 (file)
index 69220f0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_odfextractor
-Name=KFileMetaData Odf Extractor
-Name[bs]=KFileMetaData Odf ekstraktor
-Name[ca]=Extractor Odf del KFileMetaData
-Name[ca@valencia]=Extractor Odf del KFileMetaData
-Name[cs]=Extraktor Odf KFileMetaData
-Name[da]=KFileMetaData Odf-udtrækker
-Name[de]=ODF-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας Odf KFileMetaData
-Name[en_GB]=KFileMetaData ODF Extractor
-Name[es]=Extractor de Odf para KFileMetaData
-Name[et]=KFileMetaData Odfi ekstraktimine
-Name[fi]=KFileMetaDatan Odf-lukuohjelma
-Name[fr]=Extracteur Odf de KFileMetaData
-Name[gl]=Extractor de Odf de KFileMetaData
-Name[hu]=KFileMetaData Odf kibontó
-Name[ia]=Extractor de KFileMetaData Odf
-Name[it]=Estrattore Odf di KFileMetaData
-Name[ko]=KFileMetaData Odf 추출기
-Name[lt]=KFileMetaData Odf ekstraktorius
-Name[nb]=KFileMetaData Odf-uttrekker
-Name[nds]=KFile-Metadaten-ODF-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData Odf
-Name[pl]=Wydobywanie z Odf dla KFileMetaData
-Name[pt]=Extracção de ODF do KFileMetaData
-Name[pt_BR]=Extrator de ODF do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из файлов OpenDocument Format
-Name[sk]=Extraktor KFileMetaData Odf
-Name[sl]=Program za izvleko Odf za KFileMetaData
-Name[sr]=Издвајач ОДФ‑а (KFileMetaData)
-Name[sr@ijekavian]=Издвајач ОДФ‑а (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač ODF‑a (KFileMetaData)
-Name[sr@latin]=Izdvajač ODF‑a (KFileMetaData)
-Name[sv]=Kfilmetadata ODF-extrahering
-Name[tr]=KFileMetaData Odf Çıkarıcı
-Name[uk]=Засіб видобування метаданих ODF
-Name[x-test]=xxKFileMetaData Odf Extractorxx
-Name[zh_CN]=KFileMetaData Odf 提取工具
-Name[zh_TW]=KFileMetaData Odf 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_office2007extractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_office2007extractor.desktop
deleted file mode 100644 (file)
index 4a41aa9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_office2007extractor
-Name=KFileMetaData Office2007 Extractor
-Name[bs]=KFileMetaData Office2007 ekstraktor
-Name[ca]=Extractor Office2007 del KFileMetaData
-Name[ca@valencia]=Extractor Office2007 del KFileMetaData
-Name[cs]=Extraktor Office2007 KFileMetaData
-Name[da]=KFileMetaData Office2007-udtrækker
-Name[de]=Office 2007-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας Office2007 KFileMetaData
-Name[en_GB]=KFileMetaData Office2007 Extractor
-Name[es]=Extractor de Office2007 para KFileMetaData
-Name[et]=KFileMetaData Office2007 ekstraktimine
-Name[fi]=KFileMetaDatan Office2007-lukuohjelma
-Name[fr]=Extracteur Office2007 de KFileMetaData
-Name[gl]=Extractor de Office2007 de KFileMetaData
-Name[hu]=KFileMetaData Office2007 kibontó
-Name[ia]=Extractor de KFileMetaData Office2007
-Name[it]=Estrattore Office2007 di KFileMetaData
-Name[ko]=KFileMetaData Office2007 추출기
-Name[lt]=KFileMetaData Office2007 ekstraktorius
-Name[nb]=KFileMetaData Office2007-uttrekker
-Name[nds]=KFile-Metadaten-Office2007-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData Office2007
-Name[pl]=Wydobywanie z Office2007 dla KFileMetaData
-Name[pt]=Extracção de Office2007 do KFileMetaData
-Name[pt_BR]=Extrator de Office 2007 do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из файлов Office2007
-Name[sk]=Extraktor KFileMetaData Office2007
-Name[sl]=Program za izvleko Office2007 za KFileMetaData
-Name[sr]=Издвајач МС Офиса 2007 (KFileMetaData)
-Name[sr@ijekavian]=Издвајач МС Офиса 2007 (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač MS Officea 2007 (KFileMetaData)
-Name[sr@latin]=Izdvajač MS Officea 2007 (KFileMetaData)
-Name[sv]=Kfilmetadata Office 2007-extrahering
-Name[tr]=KFileMetaData Office2007 Çıkarıcı
-Name[uk]=Засіб видобування метаданих Office2007
-Name[x-test]=xxKFileMetaData Office2007 Extractorxx
-Name[zh_CN]=KFileMetaData Office2007 提取工具
-Name[zh_TW]=KFileMetaData Office2007 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_officeextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_officeextractor.desktop
deleted file mode 100644 (file)
index c38843f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_officeextractor
-Name=KFileMetaData Office Extractor
-Name[bs]=KFileMetaData Office ekstraktor
-Name[ca]=Extractor Office del KFileMetaData
-Name[ca@valencia]=Extractor Office del KFileMetaData
-Name[cs]=Extraktor Office KFileMetaData
-Name[da]=KFileMetaData Office-udtrækker
-Name[de]=Office-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας Office KFileMetaData
-Name[en_GB]=KFileMetaData Office Extractor
-Name[es]=Extractor de Office para KFileMetaData
-Name[et]=KFileMetaData Office'i ekstraktimine
-Name[fi]=KFileMetaDatan Office-lukuohjelma
-Name[fr]=Extracteur Office de KFileMetaData
-Name[gl]=Extractor de Office de KFileMetaData
-Name[hu]=KFileMetaData Office kibontó
-Name[ia]=Extractor de KFileMetaData Office
-Name[it]=Estrattore Office di KFileMetaData
-Name[ko]=KFileMetaData Office 추출기
-Name[lt]=KFileMetaData Office ekstraktorius
-Name[nb]=KFileMetaData Office-uttrekker
-Name[nds]=KFile-Metadaten-Office-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData Office
-Name[pl]=Wydobywanie z Office dla KFileMetaData
-Name[pt]=Extracção de Office do KFileMetaData
-Name[pt_BR]=Extrator de Office do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из файлов Office
-Name[sk]=Extraktor KFileMetaData Office
-Name[sl]=Program za izvleko Office za KFileMetaData
-Name[sr]=Издвајач МС Офиса (KFileMetaData)
-Name[sr@ijekavian]=Издвајач МС Офиса (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač MS Officea (KFileMetaData)
-Name[sr@latin]=Izdvajač MS Officea (KFileMetaData)
-Name[sv]=Kfilmetadata Office-extrahering
-Name[tr]=KFileMetaData Office Çıkarıcı
-Name[uk]=Засіб видобування метаданих Office
-Name[x-test]=xxKFileMetaData Office Extractorxx
-Name[zh_CN]=KFileMetaData Office 提取工具
-Name[zh_TW]=KFileMetaData Office 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_plaintextextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_plaintextextractor.desktop
deleted file mode 100644 (file)
index 35e6abd..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_plaintextextractor
-Name=KFileMetaData Plain Text Extractor
-Name[bs]=KFileMetaData ekstraktor običnog teksta
-Name[ca]=Extractor de text del KFileMetaData
-Name[ca@valencia]=Extractor de text del KFileMetaData
-Name[cs]=Extraktor čistého textu KFileMetaData
-Name[da]=KFileMetaData Klartekst-udtrækker
-Name[de]=Extraktion von einfachen Text für KFileMetaData
-Name[el]=Εξαγωγέας απλού κειμένου KFileMetaData
-Name[en_GB]=KFileMetaData Plain Text Extractor
-Name[es]=Extractor de texto sin formato para KFileMetaData
-Name[et]=KFileMetaData lihtteksti ekstraktimine
-Name[fi]=KFileMetaDatan muotoilemattoman tekstin lukuohjelma
-Name[fr]=Extracteur texte brut de KFileMetaData
-Name[gl]=Extractor de texto simple de KFileMetaData
-Name[hu]=KFileMetaData egyszerű szöveg kibontó
-Name[ia]=Extractor de KFileMetaData Texto Plan
-Name[it]=Estrattore per testo semplice di KFileMetaData
-Name[ko]=KFileMetaData 일반 텍스트 추출기
-Name[lt]=KFileMetaData Paprastojo teksti ekstraktorius
-Name[nb]=KFileMetaData uttrekker for ren tekst
-Name[nds]=KFile-Metadaten-Eenfachtext-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData Plain Text
-Name[pl]=Wydobywanie zwykłego tekstu dla KFileMetaData
-Name[pt]=Extracção de Texto Simples do KFileMetaData
-Name[pt_BR]=Extrator de Texto Simples do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из простых текстовых файлов
-Name[sk]=Extraktor KFileMetaData Plain Text
-Name[sl]=Program za izvleko golega besedila za KFileMetaData
-Name[sr]=Издвајач обичног текста (KFileMetaData)
-Name[sr@ijekavian]=Издвајач обичног текста (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač običnog teksta (KFileMetaData)
-Name[sr@latin]=Izdvajač običnog teksta (KFileMetaData)
-Name[sv]=Kfilmetadata vanlig textextrahering
-Name[tr]=KFileMetaData Düz Metin Çıkarıcı
-Name[uk]=Засіб видобування метаданих з неформатованого тексту
-Name[x-test]=xxKFileMetaData Plain Text Extractorxx
-Name[zh_CN]=KFileMetaData 纯文本提取工具
-Name[zh_TW]=KFileMetaData 純文字檔展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_popplerextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_popplerextractor.desktop
deleted file mode 100644 (file)
index 5cf7e8a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_popplerextractor
-Name=KFileMetaData Poppler Extractor
-Name[bs]=KFileMetaData Poppler ekstraktor
-Name[ca]=Extractor Poppler del KFileMetaData
-Name[ca@valencia]=Extractor Poppler del KFileMetaData
-Name[cs]=Extraktor Poppler KFileMetaData
-Name[da]=KFileMetaData Poppler-udtrækker
-Name[de]=Poppler-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας Poppler KFileMetaData
-Name[en_GB]=KFileMetaData Poppler Extractor
-Name[es]=Extractor de Poppler para KFileMetaData
-Name[et]=KFileMetaData Poppleri ekstraktimine
-Name[fi]=KFileMetaDatan Poppler-lukuohjelma
-Name[fr]=Extracteur Poppler de KFileMetaData
-Name[gl]=Extractor de Poppler de KFileMetaData
-Name[hu]=KFileMetaData Poppler kibontó
-Name[ia]=Extractor de KFileMetaData Poppler
-Name[it]=Estrattore Poppler di KFileMetaData
-Name[ko]=KFileMetaData Poppler 추출기
-Name[lt]=KFileMetaData Poppler ekstraktorius
-Name[nb]=KFileMetaData Poppler-uttrekker
-Name[nds]=KFile-Metadaten-Poppler-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData Poppler
-Name[pl]=Wydobywanie z Poppler dla KFileMetaData
-Name[pt]=Extracção de Poppler do KFileMetaData
-Name[pt_BR]=Extrator de Poppler do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из файлов PDF с помощью Poppler
-Name[sk]=Extraktor KFileMetaData Poppler
-Name[sl]=Program za izvleko Poppler za KFileMetaData
-Name[sr]=Издвајач Поплером (KFileMetaData)
-Name[sr@ijekavian]=Издвајач Поплером (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač Popplerom (KFileMetaData)
-Name[sr@latin]=Izdvajač Popplerom (KFileMetaData)
-Name[sv]=Kfilmetadata Poppler-extrahering
-Name[tr]=KFileMetaData Poppler Çıkarıcı
-Name[uk]=Засіб видобування метаданих Poppler
-Name[x-test]=xxKFileMetaData Poppler Extractorxx
-Name[zh_CN]=KFileMetaData Poppler 提取工具
-Name[zh_TW]=KFileMetaData Poppler 展開器
diff --git a/kfilemetadata/src/extractors/kfilemetadata_taglibextractor.desktop b/kfilemetadata/src/extractors/kfilemetadata_taglibextractor.desktop
deleted file mode 100644 (file)
index 066c617..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=Service
-X-KDE-ServiceTypes=KFileMetaDataExtractor
-X-KDE-Library=kfilemetadata_taglibextractor
-Name=KFileMetaData TagLib Extractor
-Name[bs]=KFileMetaData TagLib ekstraktor
-Name[ca]=Extractor TagLib del KFileMetaData
-Name[ca@valencia]=Extractor TagLib del KFileMetaData
-Name[cs]=Extraktor TagLib KFileMetaData
-Name[da]=KFileMetaData TagLib-udtrækker
-Name[de]=TagLib-Extraktion für KFileMetaData
-Name[el]=Εξαγωγέας TagLib KFileMetaData
-Name[en_GB]=KFileMetaData TagLib Extractor
-Name[es]=Extractor de TagLib para KFileMetaData
-Name[et]=KFileMetaData TagLibi ekstraktimine
-Name[fi]=KFileMetaDatan TagLib-lukuohjelma
-Name[fr]=Extracteur TagLib de KFileMetaData
-Name[gl]=Extractor de TagLib de KFileMetaData
-Name[hu]=KFileMetaData TagLib kibontó
-Name[ia]=Extractor de KFileMetaData TagLib
-Name[it]=Estrattore TagLib di KFileMetaData
-Name[ko]=KFileMetaData TagLib 추출기
-Name[lt]=KFileMetaData TagLib ekstraktorius
-Name[nb]=KFileMetaData TagLib-uttrekker
-Name[nds]=KFile-Metadaten-TagLib-Leser
-Name[nl]=Extractieprogramma voor KFileMetaData TagLib
-Name[pl]=Wydobywanie z TagLib dla KFileMetaData
-Name[pt]=Extracção de TagLib do KFileMetaData
-Name[pt_BR]=Extrator de TagLib do KFileMetaData
-Name[ru]=Модуль извлечения метаданных из аудиофайлов с помощью TagLib
-Name[sk]=Extraktor KFileMetaData TagLib
-Name[sl]=Program za izvleko TagLib za KFileMetaData
-Name[sr]=Издвајач Таглибом (KFileMetaData)
-Name[sr@ijekavian]=Издвајач Таглибом (KFileMetaData)
-Name[sr@ijekavianlatin]=Izdvajač TagLibom (KFileMetaData)
-Name[sr@latin]=Izdvajač TagLibom (KFileMetaData)
-Name[sv]=Kfilmetadata Taglib-extrahering
-Name[tr]=KFileMetaData TagLib Çıkarıcı
-Name[uk]=Засіб видобування метаданих TagLib
-Name[x-test]=xxKFileMetaData TagLib Extractorxx
-Name[zh_CN]=KFileMetaData TagLib 提取工具
-Name[zh_TW]=KFileMetaData TagLib 展開器
diff --git a/kfilemetadata/src/extractors/mobiextractor.cpp b/kfilemetadata/src/extractors/mobiextractor.cpp
deleted file mode 100644 (file)
index 38db683..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-
-    Code adapted from kdegraphics-mobipocket/strigi/
-    Copyright (C) 2008 by Jakub Stachowski <qbast@go2.pl>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "mobiextractor.h"
-
-#include <qmobipocket/mobipocket.h>
-
-#include <KDebug>
-#include <QDateTime>
-#include <QFile>
-#include <QTextDocument>
-
-using namespace KFileMetaData;
-
-class QFileStream : public Mobipocket::Stream
-{
-public:
-    QFileStream(const QString& name) : d(name) {
-        d.open(QIODevice::ReadOnly);
-    }
-    int read(char* buf, int size) {
-        return d.read(buf, size);
-    }
-    bool seek(int pos) {
-        return d.seek(pos);
-    }
-private:
-    QFile d;
-};
-
-MobiExtractor::MobiExtractor(QObject* parent, const QVariantList&)
-    : ExtractorPlugin(parent)
-{
-
-}
-
-QStringList MobiExtractor::mimetypes() const
-{
-    QStringList types;
-    types << QLatin1String("application/x-mobipocket-ebook");
-
-    return types;
-}
-
-void MobiExtractor::extract(ExtractionResult* result)
-{
-    QFileStream stream(result->inputUrl());
-    Mobipocket::Document doc(&stream);
-    if (!doc.isValid())
-        return;
-
-    QMapIterator<Mobipocket::Document::MetaKey, QString> it(doc.metadata());
-    while (it.hasNext()) {
-        it.next();
-        switch (it.key()) {
-        case Mobipocket::Document::Title:
-            result->add(Property::Title, it.value());
-            break;
-        case Mobipocket::Document::Author: {
-            result->add(Property::Author, it.value());
-            break;
-        }
-        case Mobipocket::Document::Description: {
-            QTextDocument document;
-            document.setHtml(it.value());
-
-            QString plain = document.toPlainText();
-            if (!plain.isEmpty())
-                result->add(Property::Description, it.value());
-            break;
-        }
-        case Mobipocket::Document::Subject:
-            result->add(Property::Subject, it.value());
-            break;
-        case Mobipocket::Document::Copyright:
-            result->add(Property::Copyright, it.value());
-            break;
-        }
-    }
-
-    if (!doc.hasDRM()) {
-        QString html = doc.text();
-
-        QTextDocument document;
-        document.setHtml(html);
-
-        result->append(document.toPlainText());
-    }
-
-    result->addType(Type::Document);
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::MobiExtractor, "kfilemetadata_mobiextractor")
diff --git a/kfilemetadata/src/extractors/mobiextractor.h b/kfilemetadata/src/extractors/mobiextractor.h
deleted file mode 100644 (file)
index 90adb9f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef MOBIEXTRACTOR_H
-#define MOBIEXTRACTOR_H
-
-#include "extractorplugin.h"
-
-namespace KFileMetaData
-{
-
-class MobiExtractor : public ExtractorPlugin
-{
-public:
-    MobiExtractor(QObject* parent, const QVariantList&);
-
-    virtual void extract(ExtractionResult* result);
-    virtual QStringList mimetypes() const;
-};
-}
-
-#endif // MOBIEXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/odfextractor.cpp b/kfilemetadata/src/extractors/odfextractor.cpp
deleted file mode 100644 (file)
index e338440..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-    Copyright (C) 2012  Jörg Ehrichs <joerg.ehrichs@gmx.de>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "odfextractor.h"
-
-#include <KDebug>
-#include <KZip>
-
-#include <QtXml/qdom.h>
-#include <QXmlStreamReader>
-
-using namespace KFileMetaData;
-
-OdfExtractor::OdfExtractor(QObject* parent, const QVariantList&): ExtractorPlugin(parent)
-{
-
-}
-
-QStringList OdfExtractor::mimetypes() const
-{
-    QStringList list;
-    list << QLatin1String("application/vnd.oasis.opendocument.text")
-         << QLatin1String("application/vnd.oasis.opendocument.presentation")
-         << QLatin1String("application/vnd.oasis.opendocument.spreadsheet");
-
-    return list;
-}
-
-void OdfExtractor::extract(ExtractionResult* result)
-{
-    KZip zip(result->inputUrl());
-    if (!zip.open(QIODevice::ReadOnly)) {
-        qWarning() << "Document is not a valid ZIP archive";
-        return;
-    }
-
-    const KArchiveDirectory* directory = zip.directory();
-    if (!directory) {
-        qWarning() << "Invalid document structure (main directory is missing)";
-        return;
-    }
-
-    const QStringList entries = directory->entries();
-    if (!entries.contains("meta.xml")) {
-        qWarning() << "Invalid document structure (meta.xml is missing)";
-        return;
-    }
-
-    QDomDocument metaData("metaData");
-    const KArchiveFile* file = static_cast<const KArchiveFile*>(directory->entry("meta.xml"));
-    metaData.setContent(file->data());
-
-    // parse metadata ...
-    QDomElement docElem = metaData.documentElement();
-
-    QDomNode n = docElem.firstChild().firstChild(); // <office:document-meta> ... <office:meta> ... content
-    while (!n.isNull()) {
-        QDomElement e = n.toElement();
-        if (!e.isNull()) {
-            const QString tagName = e.tagName();
-
-            // Dublin Core
-            if (tagName == QLatin1String("dc:description")) {
-                result->add(Property::Description, e.text());
-            } else if (tagName == QLatin1String("dc:subject")) {
-                result->add(Property::Subject, e.text());
-            } else if (tagName == QLatin1String("dc:title")) {
-                result->add(Property::Title, e.text());
-            } else if (tagName == QLatin1String("dc:creator")) {
-                result->add(Property::Creator, e.text());
-            } else if (tagName == QLatin1String("dc:langauge")) {
-                result->add(Property::Langauge, e.text());
-            }
-
-            // Meta Properties
-            else if (tagName == QLatin1String("meta:document-statistic")) {
-                bool ok = false;
-                int pageCount = e.attribute("meta:page-count").toInt(&ok);
-                if (ok) {
-                    result->add(Property::PageCount, pageCount);
-                }
-
-                int wordCount = e.attribute("meta:word-count").toInt(&ok);
-                if (ok) {
-                    result->add(Property::WordCount, wordCount);
-                }
-            } else if (tagName == QLatin1String("meta:keyword")) {
-                QString keywords = e.text();
-                    result->add(Property::Keywords, keywords);
-            } else if (tagName == QLatin1String("meta:generator")) {
-                result->add(Property::Creator, e.text());
-            } else if (tagName == QLatin1String("meta:creation-date")) {
-                QDateTime dt = ExtractorPlugin::dateTimeFromString(e.text());
-                if (!dt.isNull())
-                    result->add(Property::CreationDate, dt);
-            }
-        }
-        n = n.nextSibling();
-    }
-
-    const KArchiveFile* contentsFile = static_cast<const KArchiveFile*>(directory->entry("content.xml"));
-    QXmlStreamReader xml(contentsFile->createDevice());
-
-    while (!xml.atEnd()) {
-        xml.readNext();
-        if (xml.isCharacters()) {
-            QString str = xml.text().toString();
-            result->append(str);
-        }
-
-        if (xml.hasError() || xml.isEndDocument())
-            break;
-    }
-
-    result->addType(Type::Document);
-
-    return;
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::OdfExtractor, "kfilemetadata_odfextractor")
diff --git a/kfilemetadata/src/extractors/odfextractor.h b/kfilemetadata/src/extractors/odfextractor.h
deleted file mode 100644 (file)
index d712780..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef ODF_EXTRACTOR_H
-#define ODF_EXTRACTOR_H
-
-#include "extractorplugin.h"
-
-namespace KFileMetaData
-{
-
-class OdfExtractor : public ExtractorPlugin
-{
-public:
-    OdfExtractor(QObject* parent, const QVariantList&);
-
-    virtual QStringList mimetypes() const;
-    virtual void extract(ExtractionResult* result);
-
-private:
-};
-}
-
-#endif // ODF_EXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/office2007extractor.cpp b/kfilemetadata/src/extractors/office2007extractor.cpp
deleted file mode 100644 (file)
index 0144741..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "office2007extractor.h"
-
-#include <KDebug>
-#include <KZip>
-
-#include <QtXml/qdom.h>
-#include <QXmlStreamReader>
-
-using namespace KFileMetaData;
-
-Office2007Extractor::Office2007Extractor(QObject* parent, const QVariantList&): ExtractorPlugin(parent)
-{
-
-}
-
-
-QStringList Office2007Extractor::mimetypes() const
-{
-    QStringList list;
-    list << QLatin1String("application/vnd.openxmlformats-officedocument.wordprocessingml.document")
-         << QLatin1String("application/vnd.openxmlformats-officedocument.presentationml.presentation")
-         << QLatin1String("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-
-    return list;
-}
-
-void Office2007Extractor::extract(ExtractionResult* result)
-{
-    KZip zip(result->inputUrl());
-    if (!zip.open(QIODevice::ReadOnly)) {
-        qWarning() << "Document is not a valid ZIP archive";
-        return;
-    }
-
-    const KArchiveDirectory* rootDir = zip.directory();
-    if (!rootDir) {
-        qWarning() << "Invalid document structure (main directory is missing)";
-        return;
-    }
-
-    const QStringList rootEntries = rootDir->entries();
-    if (!rootEntries.contains("docProps")) {
-        qWarning() << "Invalid document structure (docProps is missing)";
-        return;
-    }
-
-    const KArchiveEntry* docPropEntry = rootDir->entry("docProps");
-    if (!docPropEntry->isDirectory()) {
-        qWarning() << "Invalid document structure (docProps is not a directory)";
-        return;
-    }
-
-    const KArchiveDirectory* docPropDirectory = dynamic_cast<const KArchiveDirectory*>(docPropEntry);
-    const QStringList docPropsEntries = docPropDirectory->entries();
-
-    if (docPropsEntries.contains("core.xml")) {
-        QDomDocument coreDoc("core");
-        const KArchiveFile* file = static_cast<const KArchiveFile*>(docPropDirectory->entry("core.xml"));
-        coreDoc.setContent(file->data());
-
-        QDomElement docElem = coreDoc.documentElement();
-
-        QDomElement elem = docElem.firstChildElement("dc:description");
-        if (!elem.isNull()) {
-            QString str = elem.text();
-            if (!str.isEmpty()) {
-                result->add(Property::Description, str);
-            }
-        }
-
-        elem = docElem.firstChildElement("dc:subject");
-        if (!elem.isNull()) {
-            QString str = elem.text();
-            if (!str.isEmpty()) {
-                result->add(Property::Subject, str);
-            }
-        }
-
-        elem = docElem.firstChildElement("dc:title");
-        if (!elem.isNull()) {
-            QString str = elem.text();
-            if (!str.isEmpty()) {
-                result->add(Property::Title, str);
-            }
-        }
-
-        elem = docElem.firstChildElement("dc:creator");
-        if (!elem.isNull()) {
-            QString str = elem.text();
-            if (!str.isEmpty()) {
-                result->add(Property::Creator, str);
-            }
-        }
-
-        elem = docElem.firstChildElement("dc:langauge");
-        if (!elem.isNull()) {
-            QString str = elem.text();
-            if (!str.isEmpty()) {
-                result->add(Property::Langauge, str);
-            }
-        }
-    }
-
-    if (docPropsEntries.contains("app.xml")) {
-        QDomDocument appDoc("app");
-        const KArchiveFile* file = static_cast<const KArchiveFile*>(docPropDirectory->entry("app.xml"));
-        appDoc.setContent(file->data());
-
-        QDomElement docElem = appDoc.documentElement();
-
-        // According to the ontologies only Documents can have a wordCount and pageCount
-        const QString mimeType = result->inputMimetype();
-        if (mimeType == QLatin1String("application/vnd.openxmlformats-officedocument.wordprocessingml.document")) {
-            QDomElement elem = docElem.firstChildElement("Pages");
-            if (!elem.isNull()) {
-                bool ok = false;
-                int pageCount = elem.text().toInt(&ok);
-                if (ok) {
-                    result->add(Property::PageCount, pageCount);
-                }
-            }
-
-            elem = docElem.firstChildElement("Words");
-            if (!elem.isNull()) {
-                bool ok = false;
-                int wordCount = elem.text().toInt(&ok);
-                if (ok) {
-                    result->add(Property::WordCount, wordCount);
-                }
-            }
-        }
-
-        QDomElement elem = docElem.firstChildElement("Application");
-        if (!elem.isNull()) {
-            QString app = elem.text();
-            if (!app.isEmpty()) {
-                result->add(Property::Generator, app);
-            }
-        }
-    }
-
-
-    if (rootEntries.contains("word")) {
-        const KArchiveEntry* wordEntry = rootDir->entry("word");
-        if (!wordEntry->isDirectory()) {
-            qWarning() << "Invalid document structure (word is not a directory)";
-            return;
-        }
-
-        const KArchiveDirectory* wordDirectory = dynamic_cast<const KArchiveDirectory*>(wordEntry);
-        const QStringList wordEntries = wordDirectory->entries();
-
-        if (wordEntries.contains("document.xml")) {
-            QDomDocument appDoc("document");
-            const KArchiveFile* file = static_cast<const KArchiveFile*>(wordDirectory->entry("document.xml"));
-
-            extractTextWithTag(file->createDevice(), QLatin1String("w:t"), result);
-        }
-
-        result->addType(Type::Document);
-    }
-
-    else if (rootEntries.contains("xl")) {
-        const KArchiveEntry* xlEntry = rootDir->entry("xl");
-        if (!xlEntry->isDirectory()) {
-            qWarning() << "Invalid document structure (xl is not a directory)";
-            return;
-        }
-
-        const KArchiveDirectory* xlDirectory = dynamic_cast<const KArchiveDirectory*>(xlEntry);
-        extractTextFromFiles(xlDirectory, result);
-
-        result->addType(Type::Document);
-        result->addType(Type::Spreadsheet);
-    }
-
-    else if (rootEntries.contains("ppt")) {
-        const KArchiveEntry* pptEntry = rootDir->entry("ppt");
-        if (!pptEntry->isDirectory()) {
-            qWarning() << "Invalid document structure (ppt is not a directory)";
-            return;
-        }
-
-        const KArchiveDirectory* pptDirectory = dynamic_cast<const KArchiveDirectory*>(pptEntry);
-        extractTextFromFiles(pptDirectory, result);
-
-        result->addType(Type::Document);
-        result->addType(Type::Presentation);
-    }
-
-    return;
-}
-
-void Office2007Extractor::extractAllText(QIODevice* device, ExtractionResult* result)
-{
-    QXmlStreamReader xml(device);
-
-    while (!xml.atEnd()) {
-        xml.readNext();
-        if (xml.isCharacters()) {
-            QString str = xml.text().toString();
-            result->append(str);
-        }
-
-        if (xml.isEndDocument() || xml.hasError())
-            break;
-    }
-}
-
-void Office2007Extractor::extractTextFromFiles(const KArchiveDirectory* archiveDir, ExtractionResult* result)
-{
-    const QStringList entries = archiveDir->entries();
-    foreach(const QString & entryName, entries) {
-        const KArchiveEntry* entry = archiveDir->entry(entryName);
-        if (entry->isDirectory()) {
-            const KArchiveDirectory* subDir = dynamic_cast<const KArchiveDirectory*>(entry);
-            extractTextFromFiles(subDir, result);
-            continue;
-        }
-
-        if (!entryName.endsWith(".xml"))
-            continue;
-
-        const KArchiveFile* file = static_cast<const KArchiveFile*>(entry);
-        extractAllText(file->createDevice(), result);
-    }
-}
-
-void Office2007Extractor::extractTextWithTag(QIODevice* device, const QString& tag, ExtractionResult* result)
-{
-    QXmlStreamReader xml(device);
-
-    while (!xml.atEnd()) {
-        xml.readNext();
-        if (xml.qualifiedName().startsWith(tag) && xml.isStartElement()) {
-            QString str = xml.readElementText(QXmlStreamReader::IncludeChildElements);
-
-            if (!str.isEmpty()) {
-                result->append(str);
-            }
-        }
-
-        if (xml.isEndDocument() || xml.hasError())
-            break;
-    }
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::Office2007Extractor, "kfilemetadata_office2007extractor")
diff --git a/kfilemetadata/src/extractors/office2007extractor.h b/kfilemetadata/src/extractors/office2007extractor.h
deleted file mode 100644 (file)
index d65bdd9..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2013  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef OFFICE_2007_EXTRACTOR_H
-#define OFFICE_2007_EXTRACTOR_H
-
-#include "extractorplugin.h"
-
-class KArchiveDirectory;
-
-namespace KFileMetaData
-{
-
-class Office2007Extractor : public ExtractorPlugin
-{
-public:
-    Office2007Extractor(QObject* parent, const QVariantList&);
-
-    virtual QStringList mimetypes() const;
-    virtual void extract(ExtractionResult* result);
-
-private:
-    void extractTextWithTag(QIODevice* device, const QString& tag, ExtractionResult* result);
-    void extractAllText(QIODevice* device, ExtractionResult* result);
-    void extractTextFromFiles(const KArchiveDirectory* archiveDir, ExtractionResult* result);
-};
-}
-
-#endif // OFFICE_2007_EXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/officeextractor.cpp b/kfilemetadata/src/extractors/officeextractor.cpp
deleted file mode 100644 (file)
index 21bf974..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-    This file is part of a KMetaData File Extractor
-    Copyright (C) 2013  Denis Steckelmacher <steckdenis@yahoo.fr>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-#include "officeextractor.h"
-
-#include <kstandarddirs.h>
-
-#include <QFile>
-#include <QProcess>
-
-using namespace KFileMetaData;
-
-OfficeExtractor::OfficeExtractor(QObject* parent, const QVariantList&)
-    : ExtractorPlugin(parent)
-{
-    // Find the executables of catdoc, catppt and xls2csv. If an executable cannot
-    // be found, indexing its corresponding MIME type will be disabled
-    findExe("application/msword", "catdoc", m_catdoc);
-    findExe("application/vnd.ms-excel", "xls2csv", m_xls2csv);
-    findExe("application/vnd.ms-powerpoint", "catppt", m_catppt);
-}
-
-void OfficeExtractor::findExe(const QString& mimeType, const QString& name, QString& fullPath)
-{
-    fullPath = KStandardDirs::findExe(name);
-
-    if (!fullPath.isEmpty()) {
-        m_available_mime_types << mimeType;
-    }
-}
-
-QStringList OfficeExtractor::mimetypes() const
-{
-    return m_available_mime_types;
-}
-
-
-void OfficeExtractor::extract(ExtractionResult* result)
-{
-    QVariantMap metadata;
-    QStringList args;
-    QString contents;
-
-    args << QLatin1String("-s") << QLatin1String("cp1252"); // FIXME: Store somewhere a map between the user's language and the encoding of the Windows files it may use ?
-    args << QLatin1String("-d") << QLatin1String("utf8");
-
-    const QString fileUrl = result->inputUrl();
-    const QString mimeType = result->inputMimetype();
-    if (mimeType == QLatin1String("application/msword")) {
-        result->addType(Type::Document);
-
-        args << QLatin1String("-w");
-        contents = textFromFile(fileUrl, m_catdoc, args);
-
-        // Now that we have the plain text content, count words, lines and characters
-        // (original code from plaintextextractor.cpp, authored by Vishesh Handa)
-        int lines = contents.count(QLatin1Char('\n'));
-        int words = contents.count(QRegExp("\\b\\w+\\b"));
-
-        result->add(Property::WordCount, words);
-        result->add(Property::LineCount, lines);
-    } else if (mimeType == QLatin1String("application/vnd.ms-excel")) {
-        result->addType(Type::Document);
-        result->addType(Type::Spreadsheet);
-
-        args << QLatin1String("-c") << QLatin1String(" ");
-        args << QLatin1String("-b") << QLatin1String(" ");
-        args << QLatin1String("-q") << QLatin1String("0");
-        contents = textFromFile(fileUrl, m_xls2csv, args);
-    } else if (mimeType == QLatin1String("application/vnd.ms-powerpoint")) {
-        result->addType(Type::Document);
-        result->addType(Type::Presentation);
-
-        contents = textFromFile(fileUrl, m_catppt, args);
-    }
-
-    if (contents.isEmpty())
-        return;
-
-    result->append(contents);
-
-    return;
-}
-
-QString OfficeExtractor::textFromFile(const QString& fileUrl, const QString& command, QStringList& arguments)
-{
-    arguments << fileUrl;
-
-    // Start a process and read its standard output
-    QProcess process;
-
-    process.setReadChannel(QProcess::StandardOutput);
-    process.start(command, arguments, QIODevice::ReadOnly);
-    process.waitForFinished();
-
-    if (process.exitStatus() != QProcess::NormalExit || process.exitCode() != 0)
-        return QString();
-    else
-        return QString::fromUtf8(process.readAll());
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::OfficeExtractor, "kfilemetadata_officeextractor")
diff --git a/kfilemetadata/src/extractors/officeextractor.h b/kfilemetadata/src/extractors/officeextractor.h
deleted file mode 100644 (file)
index f8e48b1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-    This file is part of a KMetaData File Extractor
-    Copyright (C) 2013  Denis Steckelmacher <steckdenis@yahoo.fr>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef OFFICE_EXTRACTOR_H
-#define OFFICE_EXTRACTOR_H
-
-#include "extractorplugin.h"
-
-namespace KFileMetaData
-{
-
-class OfficeExtractor : public ExtractorPlugin
-{
-public:
-    OfficeExtractor(QObject* parent, const QVariantList&);
-
-    virtual QStringList mimetypes() const;
-    virtual void extract(ExtractionResult* result);
-
-private:
-    void findExe(const QString& mimeType, const QString& name, QString& fullPath);
-    QString textFromFile(const QString& fileUrl, const QString& command, QStringList& arguments);
-
-private:
-    QStringList m_available_mime_types;
-
-    QString m_catdoc;
-    QString m_catppt;
-    QString m_xls2csv;
-};
-}
-
-#endif
diff --git a/kfilemetadata/src/extractors/plaintextextractor.cpp b/kfilemetadata/src/extractors/plaintextextractor.cpp
deleted file mode 100644 (file)
index baac928..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "plaintextextractor.h"
-#include <QFile>
-
-#include <fstream>
-
-using namespace KFileMetaData;
-
-PlainTextExtractor::PlainTextExtractor(QObject* parent, const QVariantList&)
-    : ExtractorPlugin(parent)
-{
-
-}
-
-QStringList PlainTextExtractor::mimetypes() const
-{
-    return QStringList() << QLatin1String("text/");
-}
-
-void PlainTextExtractor::extract(ExtractionResult* result)
-{
-    std::string line;
-    int lines = 0;
-
-    std::ifstream fstream(QFile::encodeName(result->inputUrl()));
-    if (!fstream.is_open()) {
-        return;
-    }
-
-    while (std::getline(fstream, line)) {
-        result->append(QString::fromUtf8(line.c_str(), line.size()));
-
-        lines += 1;
-    }
-
-    result->add(Property::LineCount, lines);
-    result->addType(Type::Text);
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::PlainTextExtractor, "kfilemetadata_plaintextextractor")
diff --git a/kfilemetadata/src/extractors/plaintextextractor.h b/kfilemetadata/src/extractors/plaintextextractor.h
deleted file mode 100644 (file)
index 71248a5..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef PLAINTEXTEXTRACTOR_H
-#define PLAINTEXTEXTRACTOR_H
-
-#include "extractorplugin.h"
-
-namespace KFileMetaData
-{
-
-class PlainTextExtractor : public ExtractorPlugin
-{
-public:
-    PlainTextExtractor(QObject* parent, const QVariantList&);
-
-    virtual QStringList mimetypes() const;
-    virtual void extract(ExtractionResult* result);
-};
-
-}
-
-#endif // PLAINTEXTEXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/popplerextractor.cpp b/kfilemetadata/src/extractors/popplerextractor.cpp
deleted file mode 100644 (file)
index 4612317..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-    Copyright (C) 2012  Jörg Ehrichs <joerg.ehrichs@gmx.de>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "popplerextractor.h"
-
-#include <KDebug>
-#include <QScopedPointer>
-
-using namespace KFileMetaData;
-
-PopplerExtractor::PopplerExtractor(QObject* parent, const QVariantList&)
-    : ExtractorPlugin(parent)
-{
-
-}
-
-QStringList PopplerExtractor::mimetypes() const
-{
-    QStringList list;
-    list << QLatin1String("application/pdf");
-
-    return list;
-}
-
-
-void PopplerExtractor::extract(ExtractionResult* result)
-{
-    const QString fileUrl = result->inputUrl();
-    QScopedPointer<Poppler::Document> pdfDoc(Poppler::Document::load(fileUrl, 0, 0));
-
-    if (!pdfDoc || pdfDoc->isLocked()) {
-        return;
-    }
-
-    result->addType(Type::Document);
-
-    QString title = pdfDoc->info(QLatin1String("Title")).trimmed();
-
-    // The title extracted from the pdf metadata is in many cases not the real title
-    // of the document. Especially for research papers that are exported to pdf.
-    // As mostly the title of a pdf document is written on the first page in the biggest font
-    // we use this if the pdfDoc title is considered junk
-    if (title.isEmpty() ||
-            !title.contains(' ') ||                        // very unlikely the title of a document does only contain one word.
-            title.contains(QLatin1String("Microsoft"), Qt::CaseInsensitive)) {  // most research papers i found written with microsoft word
-        // have a garbage title of the pdf creator rather than the real document title
-        title = parseFirstPage(pdfDoc.data(), fileUrl);
-    }
-
-    if (!title.isEmpty()) {
-        result->add(Property::Title, title);
-    }
-
-    QString subject = pdfDoc->info(QLatin1String("Subject"));
-    if (!subject.isEmpty()) {
-        result->add(Property::Subject, title);
-    }
-
-    QString author = pdfDoc->info(QLatin1String("Author"));
-    if (!author.isEmpty()) {
-        result->add(Property::Author, author);
-    }
-
-    QString creator = pdfDoc->info(QLatin1String("Creator"));
-    if (!author.isEmpty()) {
-        result->add(Property::Creator, creator);
-    }
-
-    for (int i = 0; i < pdfDoc->numPages(); i++) {
-        QScopedPointer<Poppler::Page> page(pdfDoc->page(i));
-        if (!page) { // broken pdf files do not return a valid page
-            kWarning() << "Could not read page content from" << fileUrl;
-            break;
-        }
-        result->append(page->text(QRectF()));
-    }
-}
-
-QString PopplerExtractor::parseFirstPage(Poppler::Document* pdfDoc, const QString& fileUrl)
-{
-    QScopedPointer<Poppler::Page> p(pdfDoc->page(0));
-
-    if (!p) {
-        kWarning() << "Could not read page content from" << fileUrl;
-        return QString();
-    }
-
-    QList<Poppler::TextBox*> tbList = p->textList();
-    QMap<int, QString> possibleTitleMap;
-
-    int currentLargestChar = 0;
-    int skipTextboxes = 0;
-
-    // Iterate over all textboxes. Each textbox can be a single character/word or textblock
-    // Here we combine the etxtboxes back together based on the textsize
-    // Important are the words with the biggest font size
-    foreach(Poppler::TextBox * tb, tbList) {
-
-        // if we added followup words, skip the textboxes here now
-        if (skipTextboxes > 0) {
-            skipTextboxes--;
-            continue;
-        }
-
-        int height = tb->charBoundingBox(0).height();
-
-        // if the following text is smaller than the biggest we found up to now, ignore it
-        if (height >= currentLargestChar) {
-            QString possibleTitle;
-            possibleTitle.append(tb->text());
-            currentLargestChar = height;
-
-            // if the text has follow up words add them to to create the full title
-            Poppler::TextBox* next = tb->nextWord();
-            while (next) {
-                possibleTitle.append(QLatin1Char(' '));
-                possibleTitle.append(next->text());
-                next = next->nextWord();
-                skipTextboxes++;
-            }
-
-            // now combine text for each font size together, very likeley it must be connected
-            QString existingTitlePart = possibleTitleMap.value(currentLargestChar, QString());
-            existingTitlePart.append(QLatin1Char(' '));
-            existingTitlePart.append(possibleTitle);
-            possibleTitleMap.insert(currentLargestChar, existingTitlePart);
-        }
-    }
-
-    qDeleteAll(tbList);
-
-    QList<int> titleSizes = possibleTitleMap.keys();
-    qSort(titleSizes.begin(), titleSizes.end(), qGreater<int>());
-
-    QString newPossibleTitle;
-
-    // find the text with the largest font that is not just 1 character
-    foreach(int i, titleSizes) {
-        QString title = possibleTitleMap.value(i);
-
-        // sometime the biggest part is a single letter
-        // as a starting paragraph letter
-        if (title.size() < 5) {
-            continue;
-        } else {
-            newPossibleTitle = title.trimmed();
-            break;
-        }
-    }
-
-    // Sometimes the titles that are extracted are too large. This is a way of trimming them.
-    newPossibleTitle.truncate(50);
-    return newPossibleTitle;
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::PopplerExtractor, "kfilemetadata_popplerextractor")
diff --git a/kfilemetadata/src/extractors/popplerextractor.h b/kfilemetadata/src/extractors/popplerextractor.h
deleted file mode 100644 (file)
index 7e7554e..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef POPPLEREXTRACTOR_H
-#define POPPLEREXTRACTOR_H
-
-#include "extractorplugin.h"
-#include <poppler-qt4.h>
-
-namespace KFileMetaData
-{
-
-class PopplerExtractor : public ExtractorPlugin
-{
-public:
-    PopplerExtractor(QObject* parent, const QVariantList&);
-
-    virtual QStringList mimetypes() const;
-    virtual void extract(ExtractionResult* result);
-
-private:
-    QString parseFirstPage(Poppler::Document* pdfDoc, const QString& fileUrl);
-};
-}
-
-#endif // POPPLEREXTRACTOR_H
diff --git a/kfilemetadata/src/extractors/taglibextractor.cpp b/kfilemetadata/src/extractors/taglibextractor.cpp
deleted file mode 100644 (file)
index fb8d594..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#include "taglibextractor.h"
-
-#include <KDebug>
-
-#include <taglib/fileref.h>
-#include <taglib/flacfile.h>
-#include <taglib/apetag.h>
-#include <taglib/mpcfile.h>
-#include <taglib/id3v2tag.h>
-#include <taglib/id3v1genres.h>
-#include <taglib/mpegfile.h>
-#include <taglib/oggfile.h>
-#include <taglib/taglib.h>
-#include <taglib/tag.h>
-#include <taglib/vorbisfile.h>
-#include <taglib/xiphcomment.h>
-#include <QDateTime>
-
-using namespace KFileMetaData;
-
-TagLibExtractor::TagLibExtractor(QObject* parent, const QVariantList&)
-    : ExtractorPlugin(parent)
-{
-}
-
-QStringList TagLibExtractor::mimetypes() const
-{
-    QStringList types;
-    // MP3 FLAC, MPC, Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.
-    // MP3
-    types << QLatin1String("audio/mpeg");
-    types << QLatin1String("audio/mpeg3"); types << QLatin1String("audio/x-mpeg");
-
-    // FLAC
-    types << QLatin1String("audio/flac");
-
-    // MPC
-    types << QLatin1String("audio/x-musepack");
-
-    //OGG
-    types << QLatin1String("audio/ogg"); types << QLatin1String("audio/x-vorbis+ogg");
-
-    // WAV
-    types << QLatin1String("audio/wav");
-
-    // AIFF
-    types << QLatin1String("audio/x-aiff");
-
-    // APE
-    types << QLatin1String("audio/x-ape");
-
-    // WV
-    types << QLatin1String("audio/x-wavpack");
-
-    return types;
-}
-
-void TagLibExtractor::extract(ExtractionResult* result)
-{
-    const QString fileUrl = result->inputUrl();
-    const QString mimeType = result->inputMimetype();
-
-    TagLib::FileRef file(fileUrl.toUtf8().data(), true);
-    if (file.isNull()) {
-        return;
-    }
-
-    TagLib::Tag* tags = file.tag();
-    result->addType(Type::Audio);
-
-    TagLib::String artists;
-    TagLib::String albumArtists;
-    TagLib::String composers;
-    TagLib::String lyricists;
-    TagLib::StringList genres;
-
-    // Handling multiple tags in mpeg files.
-    if ((mimeType == "audio/mpeg") || (mimeType == "audio/mpeg3") || (mimeType == "audio/x-mpeg")) {
-        TagLib::MPEG::File mpegFile(fileUrl.toUtf8().data(), true);
-        if (mpegFile.ID3v2Tag() && !mpegFile.ID3v2Tag()->isEmpty()) {
-            TagLib::ID3v2::FrameList lstID3v2;
-
-            // Artist.
-            lstID3v2 = mpegFile.ID3v2Tag()->frameListMap()["TPE1"];
-            if (!lstID3v2.isEmpty()) {
-                for (TagLib::ID3v2::FrameList::ConstIterator it = lstID3v2.begin(); it != lstID3v2.end(); ++it) {
-                    if (!artists.isEmpty()) {
-                        artists += ", ";
-                    }
-                    artists += (*it)->toString();
-                }
-            }
-
-            // Album Artist.
-            lstID3v2 = mpegFile.ID3v2Tag()->frameListMap()["TPE2"];
-            if (!lstID3v2.isEmpty()) {
-                for (TagLib::ID3v2::FrameList::ConstIterator it = lstID3v2.begin(); it != lstID3v2.end(); ++it) {
-                    if (!albumArtists.isEmpty()) {
-                        albumArtists += ", ";
-                    }
-                    albumArtists += (*it)->toString();
-                }
-            }
-
-            // Composer.
-            lstID3v2 = mpegFile.ID3v2Tag()->frameListMap()["TCOM"];
-            if (!lstID3v2.isEmpty()) {
-                for (TagLib::ID3v2::FrameList::ConstIterator it = lstID3v2.begin(); it != lstID3v2.end(); ++it) {
-                    if (!composers.isEmpty()) {
-                        composers += ", ";
-                    }
-                    composers += (*it)->toString();
-                }
-            }
-
-            // Lyricist.
-            lstID3v2 = mpegFile.ID3v2Tag()->frameListMap()["TEXT"];
-            if (!lstID3v2.isEmpty()) {
-                for (TagLib::ID3v2::FrameList::ConstIterator it = lstID3v2.begin(); it != lstID3v2.end(); ++it) {
-                    if (!lyricists.isEmpty()) {
-                        lyricists += ", ";
-                    }
-                    lyricists += (*it)->toString();
-                }
-            }
-
-            // Genre.
-            lstID3v2 = mpegFile.ID3v2Tag()->frameListMap()["TCON"];
-            if (!lstID3v2.isEmpty()) {
-                for (TagLib::ID3v2::FrameList::ConstIterator it = lstID3v2.begin(); it != lstID3v2.end(); ++it) {
-                    genres.append((*it)->toString());
-                }
-            }
-
-        }
-    }
-
-    // Handling multiple tags in FLAC files.
-    if (mimeType == "audio/flac") {
-        TagLib::FLAC::File flacFile(fileUrl.toUtf8().data(), true);
-        if (flacFile.xiphComment() && !flacFile.xiphComment()->isEmpty()) {
-            TagLib::Ogg::FieldListMap lstFLAC = flacFile.xiphComment()->fieldListMap();
-            TagLib::Ogg::FieldListMap::ConstIterator itFLAC;
-
-            // Artist.
-            itFLAC = lstFLAC.find("ARTIST");
-            if (itFLAC != lstFLAC.end()) {
-                if (!artists.isEmpty()) {
-                    artists += ", ";
-                }
-                artists += (*itFLAC).second.toString(", ");
-            }
-
-            // Album Artist.
-            itFLAC = lstFLAC.find("ALBUMARTIST");
-            if (itFLAC != lstFLAC.end()) {
-                if (!albumArtists.isEmpty()) {
-                    albumArtists += ", ";
-                }
-                albumArtists += (*itFLAC).second.toString(", ");
-            }
-
-            // Composer.
-            itFLAC = lstFLAC.find("COMPOSER");
-            if (itFLAC != lstFLAC.end()) {
-                if (!composers.isEmpty()) {
-                    composers += ", ";
-                }
-                composers += (*itFLAC).second.toString(", ");
-            }
-
-            // Lyricist.
-            itFLAC = lstFLAC.find("LYRICIST");
-            if (itFLAC != lstFLAC.end()) {
-                if (!lyricists.isEmpty()) {
-                    lyricists += ", ";
-                }
-                lyricists += (*itFLAC).second.toString(", ");
-            }
-
-            // Genre.
-            itFLAC = lstFLAC.find("GENRE");
-            if (itFLAC != lstFLAC.end()) {
-                genres.append((*itFLAC).second);
-            }
-        }
-    }
-
-    // Handling multiple tags in Musepack files.
-    if (mimeType == ("audio/x-musepack")) {
-        TagLib::MPC::File mpcFile(fileUrl.toUtf8().data(), true);
-        if (mpcFile.tag() && !mpcFile.tag()->isEmpty()) {
-            TagLib::APE::ItemListMap lstMusepack = mpcFile.APETag()->itemListMap();
-            TagLib::APE::ItemListMap::ConstIterator itMPC;
-
-            // Artist.
-            itMPC = lstMusepack.find("ARTIST");
-            if (itMPC != lstMusepack.end()) {
-                if (!artists.isEmpty()) {
-                    artists += ", ";
-                }
-                artists += (*itMPC).second.toString();
-            }
-
-            // Album Artist.
-            itMPC = lstMusepack.find("ALBUMARTIST");
-            if (itMPC != lstMusepack.end()) {
-                if(!albumArtists.isEmpty()) {
-                    albumArtists += ", ";
-                }
-                albumArtists += (*itMPC).second.toString();
-            }
-
-            // Composer.
-            itMPC = lstMusepack.find("COMPOSER");
-            if (itMPC != lstMusepack.end()) {
-                if (!composers.isEmpty()) {
-                    composers += ", ";
-                }
-                composers += (*itMPC).second.toString();
-            }
-
-            // Lyricist.
-            itMPC = lstMusepack.find("LYRICIST");
-            if (itMPC != lstMusepack.end()) {
-                if (!lyricists.isEmpty()) {
-                    lyricists += ", ";
-                }
-                lyricists += (*itMPC).second.toString();
-            }
-
-            // Genre.
-            itMPC = lstMusepack.find("GENRE");
-            if (itMPC != lstMusepack.end()) {
-                genres.append((*itMPC).second.toString());
-            }
-        }
-    }
-
-    // Handling multiple tags in OGG files.
-    if (mimeType == "audio/ogg" || mimeType == "audio/x-vorbis+ogg") {
-        TagLib::Ogg::Vorbis::File oggFile(fileUrl.toUtf8().data(), true);
-        if (oggFile.tag() && !oggFile.tag()->isEmpty()) {
-            TagLib::Ogg::FieldListMap lstOGG = oggFile.tag()->fieldListMap();
-            TagLib::Ogg::FieldListMap::ConstIterator itOGG;
-
-            // Artist.
-            itOGG = lstOGG.find("ARTIST");
-            if (itOGG != lstOGG.end()) {
-                if (!artists.isEmpty()) {
-                    artists += ", ";
-                }
-                artists += (*itOGG).second.toString(", ");
-            }
-
-            // Album Artist.
-            itOGG = lstOGG.find("ALBUMARTIST");
-            if (itOGG != lstOGG.end()) {
-                if (!albumArtists.isEmpty()) {
-                    albumArtists += ", ";
-                }
-                albumArtists += (*itOGG).second.toString(", ");
-            }
-
-            // Composer.
-            itOGG = lstOGG.find("COMPOSER");
-            if (itOGG != lstOGG.end()) {
-                if (!composers.isEmpty()) {
-                    composers += ", ";
-                }
-                composers += (*itOGG).second.toString(", ");
-            }
-
-            // Lyricist.
-            itOGG = lstOGG.find("LYRICIST");
-            if (itOGG != lstOGG.end()) {
-                if (!lyricists.isEmpty()) {
-                    lyricists += ", ";
-                }
-                lyricists += (*itOGG).second.toString(", ");
-            }
-
-            // Genre.
-            itOGG = lstOGG.find("GENRE");
-            if (itOGG != lstOGG.end()) {
-                genres.append((*itOGG).second);
-            }
-        }
-    }
-
-    if (!tags->isEmpty()) {
-        QString title = QString::fromUtf8(tags->title().toCString(true));
-        if (!title.isEmpty()) {
-            result->add(Property::Title, title);
-        }
-
-        QString comment = QString::fromUtf8(tags->comment().toCString(true));
-        if (!comment.isEmpty()) {
-            result->add(Property::Comment, comment);
-        }
-
-        if (genres.isEmpty()) {
-            genres.append(tags->genre());
-        }
-
-        for (uint i = 0; i < genres.size(); i++) {
-            QString genre = QString::fromUtf8(genres[i].toCString(true)).trimmed();
-
-            // Convert from int
-            bool ok = false;
-            int genreNum = genre.toInt(&ok);
-            if (ok) {
-                genre = QString::fromUtf8(TagLib::ID3v1::genre(genreNum).toCString(true));
-            }
-
-            result->add(Property::Genre, genre);
-        }
-
-        QString artistString;
-        if (artists.isEmpty()) {
-            artistString = QString::fromUtf8(tags->artist().toCString(true));
-        } else {
-            artistString = QString::fromUtf8(artists.toCString(true)).trimmed();
-        }
-
-        QStringList artists = contactsFromString(artistString);
-        foreach(const QString& artist, artists) {
-            result->add(Property::Artist, artist);
-        }
-
-        QString composersString = QString::fromUtf8(composers.toCString(true)).trimmed();
-        QStringList composers = contactsFromString(composersString);
-        foreach(const QString& comp, composers) {
-            result->add(Property::Composer, comp);
-        }
-
-        QString lyricistsString = QString::fromUtf8(lyricists.toCString(true)).trimmed();
-        QStringList lyricists = contactsFromString(lyricistsString);
-        foreach(const QString& lyr, lyricists) {
-            result->add(Property::Lyricist, lyr);
-        }
-
-        QString album = QString::fromUtf8(tags->album().toCString(true));
-        if (!album.isEmpty()) {
-            result->add(Property::Album, album);
-
-            QString albumArtistsString = QString::fromUtf8(albumArtists.toCString(true)).trimmed();
-            QStringList albumArtists = contactsFromString(albumArtistsString);
-            foreach(const QString& res, albumArtists) {
-                result->add(Property::AlbumArtist, res);
-            }
-        }
-
-        if (tags->track()) {
-            result->add(Property::TrackNumber, tags->track());
-        }
-
-        if (tags->year()) {
-            result->add(Property::ReleaseYear, tags->year());
-        }
-    }
-
-    TagLib::AudioProperties* audioProp = file.audioProperties();
-    if (audioProp) {
-        if (audioProp->length()) {
-            // What about the xml duration?
-            result->add(Property::Duration, audioProp->length());
-        }
-
-        if (audioProp->bitrate()) {
-            result->add(Property::BitRate, audioProp->bitrate() * 1000);
-        }
-
-        if (audioProp->channels()) {
-            result->add(Property::Channels, audioProp->channels());
-        }
-
-        if (audioProp->sampleRate()) {
-            result->add(Property::SampleRate, audioProp->sampleRate());
-        }
-    }
-
-    // TODO: Get more properties based on the file type
-    // - Codec
-    // - Album Artist
-    // - Publisher
-
-    // TAG information (incomplete).
-    // A good reference: http://qoobar.sourceforge.net/en/documentation.htm
-    // -- FLAC/OGG --
-    // Artist:          ARTIST, PERFORMER
-    // Album artist:    ALBUMARTIST
-    // Composer:        COMPOSER
-    // Lyricist:        LYRICIST
-    // Conductor:       CONDUCTOR
-    // Disc number:     DISCNUMBER
-    // Total discs:     TOTALDISCS, DISCTOTAL
-    // Track number:    TRACKNUMBER
-    // Total tracks:    TOTALTRACKS, TRACKTOTAL
-    // Genre: GENRE
-    // -- ID3v2 --
-    // Artist:                          TPE1
-    // Album artist:                    TPE2
-    // Composer:                        TCOM
-    // Lyricist:                        TEXT
-    // Conductor:                       TPE3
-    // Disc number[/total dics]:        TPOS
-    // Track number[/total tracks]:     TRCK
-    // Genre:                           TCON
-}
-
-KFILEMETADATA_EXPORT_EXTRACTOR(KFileMetaData::TagLibExtractor, "kfilemetadata_taglibextextractor")
diff --git a/kfilemetadata/src/extractors/taglibextractor.h b/kfilemetadata/src/extractors/taglibextractor.h
deleted file mode 100644 (file)
index 71a7fdc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-    <one line to give the library's name and an idea of what it does.>
-    Copyright (C) 2012  Vishesh Handa <me@vhanda.in>
-
-    This library 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.1 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
-
-
-#ifndef TAGLIBEXTRACTOR_H
-#define TAGLIBEXTRACTOR_H
-
-#include "extractorplugin.h"
-
-namespace KFileMetaData
-{
-
-class TagLibExtractor : public ExtractorPlugin
-{
-
-public:
-    TagLibExtractor(QObject* parent, const QVariantList&);
-
-    virtual void extract(ExtractionResult* result);
-    virtual QStringList mimetypes() const;
-};
-
-}
-
-#endif // TAGLIBEXTRACTOR_H
diff --git a/kfilemetadata/src/kfilemetadata_export.h b/kfilemetadata/src/kfilemetadata_export.h
deleted file mode 100644 (file)
index c7d1ee1..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*  This file is part of the KDE project
-    Copyright (C) 2007 David Faure <faure@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; 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 _KFILEMETADATA_EXPORT_H
-#define _KFILEMETADATA_EXPORT_H
-
-/* needed for KDE_EXPORT and KDE_IMPORT macros */
-#include <kdemacros.h>
-
-#ifndef KFILEMETADATA_EXPORT
-# if defined(KDELIBS_STATIC_LIBS)
-   /* No export/import for static libraries */
-#  define KFILEMETADATA_EXPORT
-# elif defined(MAKE_KFILEMETADATA_LIB)
-   /* We are building this library */
-#  define KFILEMETADATA_EXPORT KDE_EXPORT
-# else
-   /* We are using this library */
-#  define KFILEMETADATA_EXPORT KDE_IMPORT
-# endif
-#endif
-
-#endif
diff --git a/kfilemetadata/src/kfilemetadataextractor.desktop b/kfilemetadata/src/kfilemetadataextractor.desktop
deleted file mode 100644 (file)
index 246777f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-[Desktop Entry]
-Type=ServiceType
-X-KDE-ServiceType=KFileMetaDataExtractor
-Comment=KFileMetaData Extractor
-Comment[bs]=KFileMetaData ekstraktor
-Comment[ca]=Extractor del KFileMetaData
-Comment[ca@valencia]=Extractor del KFileMetaData
-Comment[cs]=Extraktor KFileMetaData
-Comment[da]=KFileMetaData-udtrækker
-Comment[de]=KFileMetaData-Extraktion
-Comment[el]=Εξαγωγέας KFileMetaData
-Comment[en_GB]=KFileMetaData Extractor
-Comment[es]=Extractor para KFileMetaData
-Comment[et]=KFileMetaData ekstraktimine
-Comment[fi]=KFileMetaDatan lukuohjelma
-Comment[fr]=Extracteur de KFileMetaData
-Comment[gl]=Extractor de KFileMetaData
-Comment[hu]=KFileMetaData kibontó
-Comment[ia]=Extractor de KFileMetaData
-Comment[it]=Estrattore di KFileMetaData
-Comment[ko]=KFileMetaData 추출기
-Comment[lt]=KFileMetaData ekstraktorius
-Comment[nb]=KFileMetaData uttrekker
-Comment[nds]=KFile-Metadaten-Leser
-Comment[nl]=Extractieprogramma voor KFileMetaData
-Comment[pa]=KFileMetaData ਐਕਸਟਰੈਕਟਰ
-Comment[pl]=Wydobywanie KFileMetaData
-Comment[pt]=Extracção do KFileMetaData
-Comment[pt_BR]=Extrator do KFileMetaData
-Comment[ru]=Модуль извлечения метаданных из файлов
-Comment[sk]=Extraktor KFileMetaData
-Comment[sl]=Program za izvleko za KFileMetaData
-Comment[sr]=Издвајач на основу KFileMetaData
-Comment[sr@ijekavian]=Издвајач на основу KFileMetaData
-Comment[sr@ijekavianlatin]=Izdvajač na osnovu KFileMetaData
-Comment[sr@latin]=Izdvajač na osnovu KFileMetaData
-Comment[sv]=Kfilmetadata extrahering
-Comment[tr]=KFileMetaData Çıkarıcı
-Comment[uk]=Засіб видобування метаданих
-Comment[x-test]=xxKFileMetaData Extractorxx
-Comment[zh_CN]=KFileMetaData 提取工具
-Comment[zh_TW]=KFileMetaData 展開器
diff --git a/kfilemetadata/src/properties.h b/kfilemetadata/src/properties.h
deleted file mode 100644 (file)
index a96048e..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * This file is part of KFileMetaData
- * Copyright (C) 2014 Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifndef KFILEMETADATA_PROPERTIES
-#define KFILEMETADATA_PROPERTIES
-
-#include <QMap>
-#include <QVariant>
-
-namespace KFileMetaData {
-namespace Property {
-
-enum Property {
-    FirstProperty = 0,
-    Empty = 0,
-
-    // Audio
-    BitRate,
-    Channels,
-    Duration,
-    Genre,
-    SampleRate,
-    TrackNumber,
-    ReleaseYear,
-
-    // Maybe merge this with the description?
-    Comment,
-
-    // Music
-    Artist,
-    Album,
-    AlbumArtist,
-    Composer,
-    Lyricist,
-
-    // Documents
-    Author,
-    Title,
-    Subject,
-    Creator,
-    Generator, // What's the difference?
-    PageCount,
-    WordCount,
-    LineCount,
-    Langauge,
-    Copyright,
-    Publisher,
-    Description,
-    CreationDate,
-    Keywords,
-
-    Width,
-    Height,
-    AspectRatio,
-    FrameRate,
-
-    // Images
-    ImageMake,
-    ImageModel,
-    ImageDateTime,
-    ImageOrientation,
-    PhotoFlash,
-    PhotoPixelXDimension,
-    PhotoPixelYDimension,
-    PhotoDateTimeOriginal,
-    PhotoFocalLength,
-    PhotoFocalLengthIn35mmFilm,
-    PhotoExposureTime,
-    PhotoFNumber,
-    PhotoApertureValue,
-    PhotoExposureBiasValue,
-    PhotoWhiteBalance,
-    PhotoMeteringMode,
-    PhotoISOSpeedRatings,
-    PhotoSaturation,
-    PhotoSharpness,
-
-    LastProperty = PhotoSharpness
-};
-
-} // namespace Property
-
-typedef QMap<Property::Property, QVariant> PropertyMap;
-
-inline QVariantMap toVariantMap(const PropertyMap& propMap) {
-    QVariantMap varMap;
-    PropertyMap::const_iterator it = propMap.constBegin();
-    for (; it != propMap.constEnd(); ++it) {
-        int p = static_cast<int>(it.key());
-        varMap.insertMulti(QString::number(p), it.value());
-    }
-
-    return varMap;
-}
-
-inline PropertyMap toPropertyMap(const QVariantMap& varMap) {
-    PropertyMap propMap;
-    QVariantMap::const_iterator it = varMap.constBegin();
-    for (; it != varMap.constEnd(); ++it) {
-        int p = it.key().toInt();
-        propMap.insertMulti(static_cast<Property::Property>(p), it.value());
-    }
-
-    return propMap;
-}
-
-} // namespace KFileMetaData
-
-#endif
diff --git a/kfilemetadata/src/propertyinfo.cpp b/kfilemetadata/src/propertyinfo.cpp
deleted file mode 100644 (file)
index 3dde0a4..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-/*
- * This file is part of the KFileMetaData project
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 of the License, or (at your option) version 3, or any
- * later version accepted by the membership of KDE e.V. (or its
- * successor approved by the membership of KDE e.V.), which shall
- * act as a proxy defined in Section 6 of version 3 of the license.
- *
- * 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "propertyinfo.h"
-
-#include <KLocalizedString>
-#include <KGlobal>
-
-static const KCatalogLoader loader("kfilemetadata");
-
-using namespace KFileMetaData;
-
-class PropertyInfo::Private {
-public:
-    Property::Property prop;
-    QString name;
-    QString displayName;
-    QVariant::Type valueType;
-    bool shouldBeIndexed;
-};
-
-PropertyInfo::PropertyInfo(Property::Property property)
-    : d(new Private)
-{
-    d->prop = property;
-    d->shouldBeIndexed = true;
-
-    switch (property) {
-        case Property::Album:
-            d->name = QLatin1String("album");
-            d->displayName = i18nc("@label music album", "Album");
-            d->valueType = QVariant::String;
-            break;
-
-        case Property::AlbumArtist:
-            d->name = QLatin1String("albumArtist");
-            d->displayName = i18nc("@label", "Album Artist");
-            d->valueType = QVariant::StringList;
-            break;
-
-        case Property::Artist:
-            d->name = QLatin1String("artist");
-            d->displayName = i18nc("@label", "Artist");
-            d->valueType = QVariant::StringList;
-            break;
-
-        case Property::AspectRatio:
-            d->name = QLatin1String("aspectRatio");
-            d->displayName = i18nc("@label", "Aspect Ratio");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Author:
-            d->name = QLatin1String("author");
-            d->displayName = i18nc("@label", "Author");
-            d->valueType = QVariant::StringList;
-            break;
-
-        case Property::BitRate:
-            d->name = QLatin1String("bitRate");
-            d->displayName = i18nc("@label", "Bitrate");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Channels:
-            d->name = QLatin1String("channels");
-            d->displayName = i18nc("@label", "Channels");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Comment:
-            d->name = QLatin1String("comment");
-            d->displayName = i18nc("@label", "Comment");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Composer:
-            d->name = QLatin1String("composer");
-            d->displayName = i18nc("@label", "Composer");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Copyright:
-            d->name = QLatin1String("copyright");
-            d->displayName = i18nc("@label", "Copyright");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::CreationDate:
-            d->name = QLatin1String("creationDate");
-            d->displayName = i18nc("@label", "Creation Date");
-            d->valueType = QVariant::String;
-            break;
-
-        case Property::Creator:
-            d->name = QLatin1String("creator");
-            d->displayName = i18nc("@label", "Creator");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Description:
-            d->name = QLatin1String("description");
-            d->displayName = i18nc("@label", "Description");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Duration:
-            d->name = QLatin1String("duration");
-            d->displayName = i18nc("@label", "Duration");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Empty:
-            d->name = QLatin1String("empty");
-            d->valueType = QVariant::Invalid;
-            break;
-
-        case Property::FrameRate:
-            d->name = QLatin1String("frameRate");
-            d->displayName = i18nc("@label", "Frame Rate");
-            d->valueType = QVariant::Int;
-            break;
-
-        // FIXME: This doesn't tell the user much
-        case Property::Generator:
-            d->name = QLatin1String("generator");
-            d->displayName = i18nc("@label", "Generator");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Genre:
-            d->name = QLatin1String("genre");
-            d->displayName = i18nc("@label music genre", "Genre");
-            d->valueType = QVariant::StringList;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Height:
-            d->name = QLatin1String("height");
-            d->displayName = i18nc("@label", "Height");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::ImageDateTime:
-            d->name = QLatin1String("imageDateTime");
-            d->displayName = i18nc("@label EXIF", "Image Date Time");
-            d->valueType = QVariant::DateTime;
-            break;
-
-        case Property::ImageMake:
-            d->name = QLatin1String("imageMake");
-            d->displayName = i18nc("@label EXIF", "Image Make");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::ImageModel:
-            d->name = QLatin1String("imageModel");
-            d->displayName = i18nc("@label EXIF", "Image Model");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::ImageOrientation:
-            d->name = QLatin1String("imageOrientation");
-            d->displayName = i18nc("@label EXIF", "Image Orientation");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Keywords:
-            d->name = QLatin1String("keywords");
-            d->displayName = i18nc("@label", "Keywords");
-            d->valueType = QVariant::StringList;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Langauge:
-            d->name = QLatin1String("language");
-            d->displayName = i18nc("@label", "Language");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::LineCount:
-            d->name = QLatin1String("lineCount");
-            d->displayName = i18nc("@label number of lines", "Line Count");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Lyricist:
-            d->name = QLatin1String("lyricist");
-            d->displayName = i18nc("@label", "Lyricist");
-            d->valueType = QVariant::StringList;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::PageCount:
-            d->name = QLatin1String("pageCount");
-            d->displayName = i18nc("@label", "Page Count");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoApertureValue:
-            d->name = QLatin1String("photoApertureValue");
-            d->displayName = i18nc("@label EXIF", "Photo Aperture Value");
-            d->valueType = QVariant::Double;
-            break;
-
-        case Property::PhotoDateTimeOriginal:
-            d->name = QLatin1String("photoDateTimeOriginal");
-            d->displayName = i18nc("@label EXIF", "Photo Original Date Time");
-            d->valueType = QVariant::DateTime;
-            break;
-
-        case Property::PhotoExposureBiasValue:
-            d->name = QLatin1String("photoExposureBiasValue");
-            d->displayName = i18nc("@label EXIF", "Photo Exposure Bias");
-            d->valueType = QVariant::Double;
-            break;
-
-        case Property::PhotoExposureTime:
-            d->name = QLatin1String("photoExposureTime");
-            d->displayName = i18nc("@label EXIF", "Photo Exposure Time");
-            d->valueType = QVariant::Double;
-            break;
-
-        case Property::PhotoFlash:
-            d->name = QLatin1String("photoFlash");
-            d->displayName = i18nc("@label EXIF", "Photo Flash");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoFNumber:
-            d->name = QLatin1String("photoFNumber");
-            d->displayName = i18nc("@label EXIF", "Photo F Number");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoFocalLength:
-            d->name = QLatin1String("photoFocalLength");
-            d->displayName = i18nc("@label EXIF", "Photo Focal Length");
-            d->valueType = QVariant::Double;
-            break;
-
-        case Property::PhotoFocalLengthIn35mmFilm:
-            d->name = QLatin1String("photoFocalLengthIn35mmFilm");
-            d->displayName = i18nc("@label EXIF", "Photo Focal Length 35mm");
-            d->valueType = QVariant::Double;
-            break;
-
-        case Property::PhotoISOSpeedRatings:
-            d->name = QLatin1String("photoISOSpeedRatings");
-            d->displayName = i18nc("@label EXIF", "Photo ISO Speed Rating");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoMeteringMode:
-            d->name = QLatin1String("photoMeteringMode");
-            d->displayName = i18nc("@label EXIF", "Photo Metering Mode");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoPixelXDimension:
-            d->name = QLatin1String("photoPixelXDimension");
-            d->displayName = i18nc("@label EXIF", "Photo X Dimension");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoPixelYDimension:
-            d->name = QLatin1String("photoPixelYDimension");
-            d->displayName = i18nc("@label EXIF", "Photo Y Dimension");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoSaturation:
-            d->name = QLatin1String("photoSaturation");
-            d->displayName = i18nc("@label EXIF", "Photo Saturation");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoSharpness:
-            d->name = QLatin1String("photoSharpness");
-            d->displayName = i18nc("@label EXIF", "Photo Sharpness");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::PhotoWhiteBalance:
-            d->name = QLatin1String("photoWhiteBalance");
-            d->displayName = i18nc("@label EXIF", "Photo White Balance");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Publisher:
-            d->name = QLatin1String("publisher");
-            d->displayName = i18nc("@label", "Publisher");
-            d->valueType = QVariant::String;
-            break;
-
-        case Property::ReleaseYear:
-            d->name = QLatin1String("releaseYear");
-            d->displayName = i18nc("@label", "Release Year");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::SampleRate:
-            d->name = QLatin1String("sampleRate");
-            d->displayName = i18nc("@label", "Sample Rate");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Subject:
-            d->name = QLatin1String("subject");
-            d->displayName = i18nc("@label", "Subject");
-            d->valueType = QVariant::String;
-            d->shouldBeIndexed = false;
-            break;
-
-        case Property::Title:
-            d->name = QLatin1String("title");
-            d->displayName = i18nc("@label", "Title");
-            d->valueType = QVariant::String;
-            break;
-
-        case Property::TrackNumber:
-            d->name = QLatin1String("trackNumber");
-            d->displayName = i18nc("@label music track number", "Track Number");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::Width:
-            d->name = QLatin1String("width");
-            d->displayName = i18nc("@label", "Width");
-            d->valueType = QVariant::Int;
-            break;
-
-        case Property::WordCount:
-            d->name = QLatin1String("wordCount");
-            d->displayName = i18nc("@label number of words", "Word Count");
-            d->valueType = QVariant::Int;
-            break;
-
-        default:
-            break;
-    }
-
-    if (d->valueType == QVariant::Int || d->valueType == QVariant::DateTime ||
-        d->valueType == QVariant::Double)
-    {
-        d->shouldBeIndexed = false;
-    }
-}
-
-PropertyInfo::PropertyInfo(const PropertyInfo& pi)
-    : d(new Private(*pi.d))
-{
-}
-
-PropertyInfo::~PropertyInfo()
-{
-    delete d;
-}
-
-QString PropertyInfo::displayName() const
-{
-    return d->displayName;
-}
-
-QString PropertyInfo::name() const
-{
-    return d->name;
-}
-
-Property::Property PropertyInfo::property() const
-{
-    return d->prop;
-}
-
-QVariant::Type PropertyInfo::valueType() const
-{
-    return d->valueType;
-}
-
-bool PropertyInfo::shouldBeIndexed() const
-{
-    return d->shouldBeIndexed;
-}
-
-PropertyInfo PropertyInfo::fromName(const QString& name)
-{
-    static QHash<QString, Property::Property> propertyHash;
-
-    // FIXME: Multi-threading?
-    if (propertyHash.isEmpty()) {
-        propertyHash.insert(QLatin1String("bitrate"), Property::BitRate);
-        propertyHash.insert(QLatin1String("channels"), Property::Channels);
-        propertyHash.insert(QLatin1String("duration"), Property::Duration);
-        propertyHash.insert(QLatin1String("genre"), Property::Genre);
-        propertyHash.insert(QLatin1String("samplerate"), Property::SampleRate);
-        propertyHash.insert(QLatin1String("tracknumber"), Property::TrackNumber);
-        propertyHash.insert(QLatin1String("releaseyear"), Property::ReleaseYear);
-        propertyHash.insert(QLatin1String("comment"), Property::Comment);
-        propertyHash.insert(QLatin1String("artist"), Property::Artist);
-        propertyHash.insert(QLatin1String("album"), Property::Album);
-        propertyHash.insert(QLatin1String("albumartist"), Property::AlbumArtist);
-        propertyHash.insert(QLatin1String("composer"), Property::Composer);
-        propertyHash.insert(QLatin1String("lyricist"), Property::Lyricist);
-        propertyHash.insert(QLatin1String("author"), Property::Author);
-        propertyHash.insert(QLatin1String("title"), Property::Title);
-        propertyHash.insert(QLatin1String("subject"), Property::Subject);
-        propertyHash.insert(QLatin1String("creator"), Property::Creator);
-        propertyHash.insert(QLatin1String("generator"), Property::Generator);
-        propertyHash.insert(QLatin1String("pagecount"), Property::PageCount);
-        propertyHash.insert(QLatin1String("wordcount"), Property::WordCount);
-        propertyHash.insert(QLatin1String("linecount"), Property::LineCount);
-        propertyHash.insert(QLatin1String("language"), Property::Langauge);
-        propertyHash.insert(QLatin1String("copyright"), Property::Copyright);
-        propertyHash.insert(QLatin1String("publisher"), Property::Publisher);
-        propertyHash.insert(QLatin1String("description"), Property::Description);
-        propertyHash.insert(QLatin1String("creationdate"), Property::CreationDate);
-        propertyHash.insert(QLatin1String("keywords"), Property::Keywords);
-        propertyHash.insert(QLatin1String("width"), Property::Width);
-        propertyHash.insert(QLatin1String("height"), Property::Height);
-        propertyHash.insert(QLatin1String("aspectratio"), Property::AspectRatio);
-        propertyHash.insert(QLatin1String("framerate"), Property::FrameRate);
-        propertyHash.insert(QLatin1String("imagemake"), Property::ImageMake);
-        propertyHash.insert(QLatin1String("imagemodel"), Property::ImageModel);
-        propertyHash.insert(QLatin1String("imagedatetime"), Property::ImageDateTime);
-        propertyHash.insert(QLatin1String("imageorientation"), Property::ImageOrientation);
-        propertyHash.insert(QLatin1String("photoflash"), Property::PhotoFlash);
-        propertyHash.insert(QLatin1String("photopixelxdimension"), Property::PhotoPixelXDimension);
-        propertyHash.insert(QLatin1String("photopixelydimension"), Property::PhotoPixelYDimension);
-        propertyHash.insert(QLatin1String("photodatetimeoriginal"), Property::PhotoDateTimeOriginal);
-        propertyHash.insert(QLatin1String("photofocallength"), Property::PhotoFocalLength);
-        propertyHash.insert(QLatin1String("photofocallengthin35mmfilm"), Property::PhotoFocalLengthIn35mmFilm);
-        propertyHash.insert(QLatin1String("photoexposuretime"), Property::PhotoExposureTime);
-        propertyHash.insert(QLatin1String("photofnumber"), Property::PhotoFNumber);
-        propertyHash.insert(QLatin1String("photoaperturevalue"), Property::PhotoApertureValue);
-        propertyHash.insert(QLatin1String("photoexposurebiasvalue"), Property::PhotoExposureBiasValue);
-        propertyHash.insert(QLatin1String("photowhitebalance"), Property::PhotoWhiteBalance);
-        propertyHash.insert(QLatin1String("photometeringmode"), Property::PhotoMeteringMode);
-        propertyHash.insert(QLatin1String("photoisospeedratings"), Property::PhotoISOSpeedRatings);
-        propertyHash.insert(QLatin1String("photosaturation"), Property::PhotoSaturation);
-        propertyHash.insert(QLatin1String("photosharpness"), Property::PhotoSharpness);
-    }
-
-    return PropertyInfo(propertyHash.value(name.toLower()));
-}
diff --git a/kfilemetadata/src/propertyinfo.h b/kfilemetadata/src/propertyinfo.h
deleted file mode 100644 (file)
index bb54f58..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * This file is part of the KFileMetaData project
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 of the License, or (at your option) version 3, or any
- * later version accepted by the membership of KDE e.V. (or its
- * successor approved by the membership of KDE e.V.), which shall
- * act as a proxy defined in Section 6 of version 3 of the license.
- *
- * 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef _KFILEMETADATA_PROPERTYINFO_H
-#define _KFILEMETADATA_PROPERTYINFO_H
-
-#include <QString>
-#include <QVariant>
-#include "properties.h"
-#include "kfilemetadata_export.h"
-
-namespace KFileMetaData {
-
-class KFILEMETADATA_EXPORT PropertyInfo
-{
-public:
-    PropertyInfo(Property::Property property);
-    PropertyInfo(const PropertyInfo& pi);
-    ~PropertyInfo();
-
-    /**
-     * The enumeration which represents this property
-     */
-    Property::Property property() const;
-
-    /**
-     * The internal developer named used to refer to the property
-     */
-    QString name() const;
-
-    /**
-     * A user visible name of the property
-     */
-    QString displayName() const;
-
-    /**
-     * The type the value of this property should be.
-     * Eg - Property::Height should be an integer
-     */
-    QVariant::Type valueType() const;
-
-    /**
-     * Indicates if this property requires indexing or should just be stored.
-     * Eg - Property::Height does not need to be part of the global index.
-     *      When a user searches for 600, they should not get images with
-     *      that height
-     */
-    bool shouldBeIndexed() const;
-
-    /**
-     * Construct a PropertyInfo from the internal property name.
-     * The internal property name is case insensitive
-     */
-    static PropertyInfo fromName(const QString& name);
-
-private:
-    class Private;
-    Private* d;
-};
-
-}
-#endif // _KFILEMETADATA_PROPERTYINFO_H
diff --git a/kfilemetadata/src/typeinfo.cpp b/kfilemetadata/src/typeinfo.cpp
deleted file mode 100644 (file)
index 4ae1a65..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * <one line to give the library's name and an idea of what it does.>
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#include "typeinfo.h"
-
-#include <KLocalizedString>
-
-using namespace KFileMetaData;
-
-class TypeInfo::Private {
-public:
-    Type::Type type;
-    QString name;
-    QString displayName;
-};
-
-TypeInfo::TypeInfo(Type::Type type)
-    : d(new Private)
-{
-    d->type = type;
-
-    switch (type) {
-    case Type::Archive:
-        d->name = QLatin1String("Archive");
-        d->displayName = i18nc("@label", "Archive");
-        break;
-
-    case Type::Audio:
-        d->name = QLatin1String("Audio");
-        d->displayName = i18nc("@label", "Audio");
-        break;
-
-    case Type::Document:
-        d->name = QLatin1String("Document");
-        d->displayName = i18nc("@label", "Document");
-        break;
-
-    case Type::Image:
-        d->name = QLatin1String("Image");
-        d->displayName = i18nc("@label", "Image");
-        break;
-
-    case Type::Presentation:
-        d->name = QLatin1String("Presentation");
-        d->displayName = i18nc("@label", "Presentation");
-        break;
-
-    case Type::Spreadsheet:
-        d->name = QLatin1String("Spreadsheet");
-        d->displayName = i18nc("@label", "Spreadsheet");
-        break;
-
-    case Type::Text:
-        d->name = QLatin1String("Text");
-        d->displayName = i18nc("@label", "Text");
-        break;
-
-    case Type::Video:
-        d->name = QLatin1String("Video");
-        d->displayName = i18nc("@label", "Video");
-        break;
-    }
-}
-
-TypeInfo::TypeInfo(const TypeInfo& ti)
-    : d(new Private(*ti.d))
-{
-}
-
-TypeInfo::~TypeInfo()
-{
-    delete d;
-}
-
-QString TypeInfo::displayName() const
-{
-    return d->displayName;
-}
-
-QString TypeInfo::name() const
-{
-    return d->name;
-}
-
diff --git a/kfilemetadata/src/typeinfo.h b/kfilemetadata/src/typeinfo.h
deleted file mode 100644 (file)
index 2675cbb..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * <one line to give the library's name and an idea of what it does.>
- * Copyright (C) 2014  Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifndef KFILEMETADATA_TYPEINFO_H
-#define KFILEMETADATA_TYPEINFO_H
-
-#include "types.h"
-#include "kfilemetadata_export.h"
-#include <QString>
-
-namespace KFileMetaData {
-
-class KFILEMETADATA_EXPORT TypeInfo
-{
-public:
-    TypeInfo(Type::Type type);
-    TypeInfo(const TypeInfo& ti);
-    ~TypeInfo();
-
-    /**
-     * The type identifier
-     */
-    Type::Type type() const;
-
-    /**
-     * An internal name for the type
-     */
-    QString name() const;
-
-    /**
-     * A user visible translated name for this type
-     */
-    QString displayName() const;
-
-private:
-    class Private;
-    Private* d;
-};
-}
-
-#endif // KFILEMETADATA_TYPEINFO_H
diff --git a/kfilemetadata/src/types.h b/kfilemetadata/src/types.h
deleted file mode 100644 (file)
index 77b63db..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * This file is part of KFileMetaData
- * Copyright (C) 2014 Vishesh Handa <me@vhanda.in>
- *
- * This library 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.1 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifndef KFILEMETADATA_TYPES
-#define KFILEMETADATA_TYPES
-
-namespace KFileMetaData {
-namespace Type {
-
-enum Type {
-    FirstType = 0,
-
-    /**
-     * Any file which contains a compressed collection of other files
-     * eg - tar, zip, rar, gz
-     */
-    Archive = 0,
-
-    /**
-     * Used to mark any file which just contains audio. Do not use this
-     * type if the file also contains Video
-     */
-    Audio,
-
-    /**
-     * Any file which contains Video. It may also contain Audio
-     */
-    Video,
-
-    /**
-     * Any Image file. This includes both raster and vector formats.
-     */
-    Image,
-
-    /**
-     * Any file which counts as a document. Documents are generally
-     * files which contain rich text, formatting and maybe images
-     */
-    Document,
-
-    /**
-     * A SpreadSheet file. This is a specialization of the Document type
-     * Any file which has this type should also have the Document type
-     */
-    Spreadsheet,
-
-    /**
-     * A Presentation file. This is a specialization of the Document type.
-     * Any file which has this type should also have the Document type
-     */
-    Presentation,
-
-    /**
-     * Any file which just contains plain text data counts
-     * as a Text file
-     */
-    Text,
-
-    LastType = Text
-};
-
-}
-}
-
-#endif
diff --git a/svgpart/CMakeLists.txt b/svgpart/CMakeLists.txt
deleted file mode 100644 (file)
index 2d6800a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-project(svgpart)
-
-if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
-    find_package(KDE4 4.19.0 REQUIRED)
-    include(KDE4Defaults)
-    include_directories(${KDE4_INCLUDES})
-    add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
-endif()
-
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
-
-set(svgpart_SRCS
-    svgpart.cpp
-)
-
-kde4_add_plugin(svgpart ${svgpart_SRCS})
-
-target_link_libraries(svgpart ${KDE4_KPARTS_LIBS})
-
-install(TARGETS svgpart DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-install(FILES svgpart.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
-install(FILES svgpart.rc DESTINATION ${KDE4_DATA_INSTALL_DIR}/svgpart)
diff --git a/svgpart/COPYING b/svgpart/COPYING
deleted file mode 100644 (file)
index d511905..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    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.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/svgpart/Messages.sh b/svgpart/Messages.sh
deleted file mode 100755 (executable)
index afee094..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh
-$EXTRACTRC *.rc >> rc.cpp
-$XGETTEXT *.cpp -o $podir/svgpart.pot
diff --git a/svgpart/svgpart.cpp b/svgpart/svgpart.cpp
deleted file mode 100644 (file)
index 7a14b15..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-Copyright 2007 Aurélien Gâteau
-
-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.
-
-*/
-#include "moc_svgpart.cpp"
-
-// Qt
-#include <QGraphicsScene>
-#include <QGraphicsSvgItem>
-#include <QGraphicsView>
-#include <QSvgRenderer>
-
-// KDE
-#include <kaboutdata.h>
-#include <kactioncollection.h>
-#include <kpluginfactory.h>
-#include <kstandardaction.h>
-
-// Local
-
-static KAboutData createAboutData()
-{
-       KAboutData aboutData( "svgpart", 0, ki18n("SVG Part"),
-               "1.0", ki18n("A KPart to display SVG images"),
-               KAboutData::License_GPL,
-               ki18n("Copyright 2007, Aurélien Gâteau <aurelien.gateau@free.fr>"));
-       return aboutData;
-}
-
-//Factory Code
-K_PLUGIN_FACTORY( SvgPartFactory, registerPlugin< SvgPart >(); )
-K_EXPORT_PLUGIN( SvgPartFactory( createAboutData() ) )
-
-
-SvgPart::SvgPart(QWidget* parentWidget, QObject* parent, const QVariantList&)
-: KParts::ReadOnlyPart(parent)
-{
-       mRenderer = new QSvgRenderer(this);
-       mScene = new QGraphicsScene(this);
-       mView = new QGraphicsView(mScene, parentWidget);
-       mView->setFrameStyle(QFrame::NoFrame);
-       mView->setDragMode(QGraphicsView::ScrollHandDrag);
-       mItem = 0;
-       setWidget(mView);
-
-       KStandardAction::actualSize(this, SLOT(zoomActualSize()), actionCollection());
-       KStandardAction::zoomIn(this, SLOT(zoomIn()), actionCollection());
-       KStandardAction::zoomOut(this, SLOT(zoomOut()), actionCollection());
-       setXMLFile("svgpart/svgpart.rc");
-}
-
-
-bool SvgPart::openFile() {
-       if (!mRenderer->load(localFilePath())) {
-               return false;
-       }
-       mItem = new QGraphicsSvgItem();
-       mItem->setSharedRenderer(mRenderer);
-       mScene->addItem(mItem);
-       return true;
-}
-
-
-bool SvgPart::closeUrl() {
-       delete mItem;
-       mItem = 0;
-       return KParts::ReadOnlyPart::closeUrl();
-}
-
-
-void SvgPart::zoomIn() {
-       setZoom(zoom() * 2);
-}
-
-
-void SvgPart::zoomOut() {
-       setZoom(zoom() / 2);
-}
-
-
-void SvgPart::zoomActualSize() {
-       setZoom(1.0);
-}
-
-
-qreal SvgPart::zoom() const {
-       return mView->matrix().m11();
-}
-
-
-void SvgPart::setZoom(qreal value) {
-       QMatrix matrix;
-       matrix.scale(value, value);
-       mView->setMatrix(matrix);
-}
diff --git a/svgpart/svgpart.desktop b/svgpart/svgpart.desktop
deleted file mode 100644 (file)
index 249387c..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-[Desktop Entry]
-Type=Service
-Name=Svg Part
-Name[ar]=جزء Svg
-Name[ast]=Parte SVG
-Name[bg]=Модул за Svg
-Name[bs]=SVG dio
-Name[ca]=Svg Part
-Name[ca@valencia]=Svg Part
-Name[cs]=SVG komponenta
-Name[da]=Svg Part
-Name[de]=SVG-Komponente
-Name[el]=Τμήμα Svg
-Name[en_GB]=Svg Part
-Name[eo]=Svg komponanto
-Name[es]=Parte SVG
-Name[et]=Svg komponent
-Name[eu]=SVGren zatia
-Name[fi]=SVG-osa
-Name[fr]=Composant SVG
-Name[ga]=Comhpháirt Svg
-Name[gl]=Compoñente de SVG
-Name[hne]=एसवीजी पार्ट
-Name[hr]=Svg Part
-Name[hu]=SVG objektum
-Name[ia]=Parte de SVG
-Name[is]=Svg hlutur
-Name[it]=Componente SVG
-Name[ja]=SVG コンポーネント
-Name[kk]=Svg компоненті
-Name[km]=ផ្នែក Svg
-Name[ko]=Svg 부분
-Name[ku]=Beşa Svg
-Name[lt]=Svg Part
-Name[lv]=Svg daļa
-Name[mr]=Svg भाग
-Name[nb]=Svg-del
-Name[nds]=SVG-Komponent
-Name[nl]=SVG-component
-Name[nn]=SVG-del
-Name[pa]=Svg ਭਾਗ
-Name[pl]=Moduł SVG
-Name[pt]=Componente de SVG
-Name[pt_BR]=Componente SVG
-Name[ro]=Componentă SVG
-Name[ru]=Компонент просмотра Svg
-Name[si]=Svg Part
-Name[sk]=Svg komponent
-Name[sl]=Sestavni del SVG
-Name[sr]=СВГ део
-Name[sr@ijekavian]=СВГ део
-Name[sr@ijekavianlatin]=SVG deo
-Name[sr@latin]=SVG deo
-Name[sv]=SVG-delprogram
-Name[th]=ส่วนจัดการ Svg
-Name[tr]=Svg Parçacığı
-Name[ug]=Svg Part
-Name[uk]=Компонент Svg
-Name[vi]=Phần nhúng đọc SVG
-Name[x-test]=xxSvg Partxx
-Name[zh_CN]=Svg 组件
-Name[zh_TW]=Svg 部件
-MimeType=image/svg+xml;image/svg+xml-compressed;
-ServiceTypes=KParts/ReadOnlyPart
-X-KDE-Library=svgpart
-InitialPreference=12
-Icon=image-svg+xml
diff --git a/svgpart/svgpart.h b/svgpart/svgpart.h
deleted file mode 100644 (file)
index a447a73..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2007 Aurélien Gâteau
-
-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.
-
-*/
-#ifndef SVGPART_H
-#define SVGPART_H
-
-// KDE
-#include <kparts/part.h>
-
-
-#include <QGraphicsScene>
-#include <QGraphicsSvgItem>
-#include <QGraphicsView>
-#include <QSvgRenderer>
-
-class SvgPart : public KParts::ReadOnlyPart {
-       Q_OBJECT
-public:
-       SvgPart(QWidget* parentWidget, QObject* parent, const QVariantList&);
-
-       virtual bool closeUrl();
-
-protected:
-       virtual bool openFile();
-
-private Q_SLOTS:
-       void zoomActualSize();
-       void zoomIn();
-       void zoomOut();
-
-private:
-       QGraphicsScene* mScene;
-       QGraphicsView* mView;
-       QGraphicsSvgItem* mItem;
-       QSvgRenderer* mRenderer;
-
-       qreal zoom() const;
-       void setZoom(qreal);
-};
-
-#endif /* SVGPART_H */
diff --git a/svgpart/svgpart.rc b/svgpart/svgpart.rc
deleted file mode 100644 (file)
index bd858c4..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE kpartgui>
-<kpartgui name="SvgPart" version="2">
-<MenuBar>
-       <Menu name="view"><text>&amp;View</text>
-               <Action name="view_actual_size"/>
-<!--
-               <Action name="view_zoom_to_fit"/>
--->
-               <Action name="view_zoom_in"/>
-               <Action name="view_zoom_out"/>
-       </Menu>
-</MenuBar>
-<ToolBar name="mainToolBar"><text>Main Toolbar</text>
-       <Action name="view_actual_size"/>
-<!--
-       <Action name="view_zoom_to_fit"/>
--->
-       <Action name="view_zoom_in"/>
-       <Action name="view_zoom_out"/>
-</ToolBar>
-</kpartgui>
-