diff options
Diffstat (limited to 'tdefile-plugins/xpm')
-rw-r--r-- | tdefile-plugins/xpm/CMakeLists.txt | 35 | ||||
-rw-r--r-- | tdefile-plugins/xpm/Makefile.am | 21 | ||||
-rw-r--r-- | tdefile-plugins/xpm/tdefile_xpm.cpp | 71 | ||||
-rw-r--r-- | tdefile-plugins/xpm/tdefile_xpm.desktop | 53 | ||||
-rw-r--r-- | tdefile-plugins/xpm/tdefile_xpm.h | 46 |
5 files changed, 226 insertions, 0 deletions
diff --git a/tdefile-plugins/xpm/CMakeLists.txt b/tdefile-plugins/xpm/CMakeLists.txt new file mode 100644 index 00000000..5b357416 --- /dev/null +++ b/tdefile-plugins/xpm/CMakeLists.txt @@ -0,0 +1,35 @@ +################################################# +# +# (C) 2010-2011 Calvin Morrison +# mutantturkey@gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +#### other data ################################# + +install( FILES tdefile_xpm.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) + + +#### tdefile_xpm (module) ######################### + +tde_add_kpart( tdefile_xpm AUTOMOC + SOURCES tdefile_xpm.cpp + LINK tdeio-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/tdefile-plugins/xpm/Makefile.am b/tdefile-plugins/xpm/Makefile.am new file mode 100644 index 00000000..3a32555e --- /dev/null +++ b/tdefile-plugins/xpm/Makefile.am @@ -0,0 +1,21 @@ +## Makefile.am for xpm file meta info plugin + +INCLUDES = $(all_includes) + +# these are the headers for your project +noinst_HEADERS = tdefile_xpm.h + +kde_module_LTLIBRARIES = tdefile_xpm.la + +tdefile_xpm_la_SOURCES = tdefile_xpm.cpp +tdefile_xpm_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +tdefile_xpm_la_LIBADD = $(LIB_KIO) +tdefile_xpm_la_METASOURCES = tdefile_xpm.moc + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +kde_services_DATA = tdefile_xpm.desktop + +messages: + $(XGETTEXT) *.cpp -o $(podir)/tdefile_xpm.pot diff --git a/tdefile-plugins/xpm/tdefile_xpm.cpp b/tdefile-plugins/xpm/tdefile_xpm.cpp new file mode 100644 index 00000000..46b07e51 --- /dev/null +++ b/tdefile-plugins/xpm/tdefile_xpm.cpp @@ -0,0 +1,71 @@ +/*************************************************************************** + * Copyright (C) 2004 by Martin Koller * + * m.koller@surfeu.at * + * * + * 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 <config.h> +#include <tqimage.h> +#include "tdefile_xpm.h" + +#include <kgenericfactory.h> + +//-------------------------------------------------------------------------------- + +typedef KGenericFactory<xpmPlugin> xpmFactory; + +K_EXPORT_COMPONENT_FACTORY(tdefile_xpm, xpmFactory( "tdefile_xpm" )) + +//-------------------------------------------------------------------------------- + +xpmPlugin::xpmPlugin(TQObject *parent, const char *name, const TQStringList &args) + : KFilePlugin(parent, name, args) +{ + KFileMimeTypeInfo* info = addMimeTypeInfo( "image/x-xpm" ); + + // our new group + KFileMimeTypeInfo::GroupInfo* group = 0; + group = addGroupInfo(info, "xpmInfo", i18n("X PixMap File Information")); + + KFileMimeTypeInfo::ItemInfo* item; + + // our new items in the group + item = addItemInfo(group, "Dimension", i18n("Dimension"), TQVariant::Size); + setHint(item, KFileMimeTypeInfo::Size); + setUnit(item, KFileMimeTypeInfo::Pixels); + + item = addItemInfo(group, "BitDepth", i18n("Bit Depth"), TQVariant::Int); + setUnit(item, KFileMimeTypeInfo::BitsPerPixel); +} + +//-------------------------------------------------------------------------------- + +bool xpmPlugin::readInfo(KFileMetaInfo& info, uint /*what*/) +{ + TQImage pix; + + if ( ! pix.load(info.path(), "XPM") ) return false; + + KFileMetaInfoGroup group = appendGroup(info, "xpmInfo"); + + appendItem(group, "Dimension", TQSize(pix.size())); + appendItem(group, "BitDepth", pix.depth()); + + return true; +} + +#include "tdefile_xpm.moc" diff --git a/tdefile-plugins/xpm/tdefile_xpm.desktop b/tdefile-plugins/xpm/tdefile_xpm.desktop new file mode 100644 index 00000000..43c18514 --- /dev/null +++ b/tdefile-plugins/xpm/tdefile_xpm.desktop @@ -0,0 +1,53 @@ +[Desktop Entry] +Type=Service +Name=XPM Info +Name[br]=Titouroù XPM +Name[ca]=Informació de XPM +Name[cs]=XPM info +Name[de]=XPM-Info +Name[el]=Πληροφορίες XPM +Name[eo]=XPM-informo +Name[es]=Información XPM +Name[et]=XPM info +Name[fa]=اطلاعات XPM +Name[fi]=XPM-tiedot +Name[fr]=Informations XPM +Name[gl]=Información XPM +Name[he]=מידע XPM +Name[hu]=XPM-jellemzők +Name[is]=XPM upplýsingar +Name[it]=Informazioni XPM +Name[ja]=XPM 情報 +Name[kk]=XPM мәліметі +Name[km]=ព័ត៌មាន XPM +Name[lt]=XPM informacija +Name[ms]=Maklumat XPM +Name[nb]=XPM-info +Name[nds]=XPM-Info +Name[ne]=XPM सूचना +Name[nl]=XPM-info +Name[nn]=XPM-info +Name[pa]=XPM ਜਾਣਕਾਰੀ +Name[pl]=Informacja o pliku XPM +Name[pt]=Informação do XPM +Name[pt_BR]=Informações Sobre XPM +Name[ro]=Informaţii XPM +Name[ru]=Информация о XPM +Name[sl]=Podatki o XPM +Name[sr]=XPM информације +Name[sr@Latn]=XPM informacije +Name[sv]=XPM-information +Name[ta]=XPM தகவல் +Name[th]=ข้อมูลแฟ้ม XPM +Name[tr]=XPM Bilgisi +Name[uk]=Інформація про XPM +Name[uz]=XPM haqida maʼlumot +Name[uz@cyrillic]=XPM ҳақида маълумот +Name[zh_CN]=XPM 信息 +Name[zh_HK]=XPM 資訊 +Name[zh_TW]=XPM 資訊 +ServiceTypes=KFilePlugin +X-TDE-Library=tdefile_xpm +MimeType=image/x-xpm +PreferredGroups=xpmInfo +PreferredItems=Dimension diff --git a/tdefile-plugins/xpm/tdefile_xpm.h b/tdefile-plugins/xpm/tdefile_xpm.h new file mode 100644 index 00000000..275d3dd7 --- /dev/null +++ b/tdefile-plugins/xpm/tdefile_xpm.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright (C) 2004 by Martin Koller * + * m.koller@surfeu.at * + * * + * This plugin provides information about the content of a * + * XPM image file. * + * * + * 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 KFILE_XPM_H +#define KFILE_XPM_H + +/** + * Note: For further information look into <$TDEDIR/include/tdefilemetainfo.h> + */ +#include <tdefilemetainfo.h> + +class TQStringList; + +class xpmPlugin: public KFilePlugin +{ + Q_OBJECT + + + public: + xpmPlugin(TQObject *parent, const char *name, const TQStringList& args); + + virtual bool readInfo(KFileMetaInfo& info, uint what); +}; + +#endif + |