mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 02:42:52 +00:00
thumbnailers: import po thunmbnaier
This commit is contained in:
parent
b4d03404c3
commit
8803d28274
11 changed files with 474 additions and 2 deletions
|
@ -1,5 +1,7 @@
|
||||||
project(kdegraphics-thumbnailers)
|
project(kdegraphics-thumbnailers)
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules )
|
||||||
|
|
||||||
find_package(KDE4 4.14.3 REQUIRED)
|
find_package(KDE4 4.14.3 REQUIRED)
|
||||||
include(KDE4Defaults)
|
include(KDE4Defaults)
|
||||||
include(MacroLibrary)
|
include(MacroLibrary)
|
||||||
|
@ -10,9 +12,11 @@ include_directories(${KDE4_INCLUDES})
|
||||||
|
|
||||||
macro_optional_find_package(Kexiv2)
|
macro_optional_find_package(Kexiv2)
|
||||||
macro_optional_find_package(Kdcraw)
|
macro_optional_find_package(Kdcraw)
|
||||||
|
macro_optional_find_package(GettextPO)
|
||||||
|
|
||||||
macro_log_feature(KEXIV2_FOUND "libkexiv2" "A library for reading and writing image metadata" "www.kde.org" FALSE "" "Required to build the RAW thumbnailer")
|
macro_log_feature(KEXIV2_FOUND "libkexiv2" "A library for reading and writing image metadata" "www.kde.org" FALSE "" "Required to build the RAW thumbnailer")
|
||||||
macro_log_feature(KDCRAW_FOUND "libkdcraw" "A library for accessing raw files" "www.kde.org" FALSE "" "Required to build the RAW thumbnailer")
|
macro_log_feature(KDCRAW_FOUND "libkdcraw" "A library for accessing raw files" "www.kde.org" FALSE "" "Required to build the RAW thumbnailer")
|
||||||
|
macro_log_feature(GETTEXTPO_FOUND "gettext-po" "A library for processing PO files" "www.gnu.org/software/gettext" FALSE "" "Required to build the PO thumbnailer")
|
||||||
|
|
||||||
macro_optional_add_subdirectory(ps)
|
macro_optional_add_subdirectory(ps)
|
||||||
|
|
||||||
|
@ -20,4 +24,8 @@ if(KEXIV2_FOUND AND KDCRAW_FOUND)
|
||||||
macro_optional_add_subdirectory(raw)
|
macro_optional_add_subdirectory(raw)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(GETTEXTPO_FOUND)
|
||||||
|
macro_optional_add_subdirectory(po)
|
||||||
|
endif(GETTEXTPO_FOUND)
|
||||||
|
|
||||||
macro_display_feature_log()
|
macro_display_feature_log()
|
22
thumbnailers/cmake/modules/COPYING-CMAKE-SCRIPTS
Normal file
22
thumbnailers/cmake/modules/COPYING-CMAKE-SCRIPTS
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
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.
|
31
thumbnailers/cmake/modules/FindGettextPO.cmake
Normal file
31
thumbnailers/cmake/modules/FindGettextPO.cmake
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# - Try to find GettextPO
|
||||||
|
#
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# GETTEXTPO_FOUND - System has GETTEXTPO
|
||||||
|
# GETTEXTPO_INCLUDE_DIR - The GETTEXTPO include directory
|
||||||
|
# GETTEXTPO_LIBRARY - The library needed to use GETTEXTPO
|
||||||
|
|
||||||
|
# Copyright (c) 2012, Ni Hui <shuizhuyuanluo@126.com>
|
||||||
|
# Based off FindLibXml2.cmake from CMake 2.6.4 by Alexander Neundorf <neundorf@kde.org>
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||||
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
|
|
||||||
|
|
||||||
|
if(GETTEXTPO_INCLUDE_DIR AND GETTEXTPO_LIBRARY)
|
||||||
|
# in cache already
|
||||||
|
set(GETTEXTPO_FIND_QUIETLY TRUE)
|
||||||
|
endif(GETTEXTPO_INCLUDE_DIR AND GETTEXTPO_LIBRARY)
|
||||||
|
|
||||||
|
find_path(GETTEXTPO_INCLUDE_DIR gettext-po.h)
|
||||||
|
|
||||||
|
find_library(GETTEXTPO_LIBRARY NAMES gettextpo)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set GETTEXTPO_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
find_package_handle_standard_args(GettextPO DEFAULT_MSG GETTEXTPO_LIBRARY GETTEXTPO_INCLUDE_DIR)
|
||||||
|
|
||||||
|
mark_as_advanced(GETTEXTPO_INCLUDE_DIR GETTEXTPO_LIBRARY)
|
26
thumbnailers/po/CMakeLists.txt
Normal file
26
thumbnailers/po/CMakeLists.txt
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
project(kde-thumbnailer-po)
|
||||||
|
cmake_minimum_required(VERSION 2.6)
|
||||||
|
|
||||||
|
find_package(KDE4 REQUIRED)
|
||||||
|
find_package(GettextPO REQUIRED)
|
||||||
|
|
||||||
|
include(KDE4Defaults)
|
||||||
|
|
||||||
|
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
||||||
|
include_directories(${QT_INCLUDES} ${KDE4_INCLUDES})
|
||||||
|
|
||||||
|
set(pothumbnail_SRCS pocreator.cpp)
|
||||||
|
|
||||||
|
kde4_add_ui_files(pothumbnail_SRCS pocreatorform.ui)
|
||||||
|
|
||||||
|
kde4_add_kcfg_files(pothumbnail_SRCS pocreatorsettings.kcfgc)
|
||||||
|
|
||||||
|
kde4_add_plugin(pothumbnail ${pothumbnail_SRCS})
|
||||||
|
target_link_libraries(pothumbnail
|
||||||
|
${KDE4_KIO_LIBS}
|
||||||
|
${GETTEXTPO_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS pothumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||||
|
install(FILES pocreatorsettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
|
||||||
|
install(FILES pothumbnail.desktop DESTINATION ${SERVICES_INSTALL_DIR})
|
4
thumbnailers/po/Messages.sh
Normal file
4
thumbnailers/po/Messages.sh
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#! /bin/bash
|
||||||
|
$EXTRACTRC *.ui *.kcfg >> rc.cpp
|
||||||
|
$XGETTEXT *.cpp *.h -o $podir/pothumbnail.pot
|
||||||
|
rm -f rc.cpp
|
196
thumbnailers/po/pocreator.cpp
Normal file
196
thumbnailers/po/pocreator.cpp
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
/*
|
||||||
|
* This file is part of kde-thumbnailer-po
|
||||||
|
* Copyright (C) 2011-2012 Ni Hui <shuizhuyuanluo@126.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License or (at your option) 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 14 of version 3 of the license.
|
||||||
|
*
|
||||||
|
* 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, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "pocreator.h"
|
||||||
|
|
||||||
|
#include <gettext-po.h>
|
||||||
|
#include <QColor>
|
||||||
|
#include <QImage>
|
||||||
|
#include <QLatin1String>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QWidget>
|
||||||
|
#include <kdemacros.h>
|
||||||
|
#include <KLocale>
|
||||||
|
|
||||||
|
#include "pocreatorsettings.h"
|
||||||
|
#include "ui_pocreatorform.h"
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
KDE_EXPORT ThumbCreator* new_creator() {
|
||||||
|
KGlobal::locale()->insertCatalog( QLatin1String( "pothumbnail" ) );
|
||||||
|
return new PoCreator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool readerror = false;
|
||||||
|
|
||||||
|
static void xerror( int severity,
|
||||||
|
po_message_t /*message*/,
|
||||||
|
const char */*filename*/, size_t /*lineno*/, size_t /*column*/,
|
||||||
|
int /*multiline_p*/, const char */*message_text*/ )
|
||||||
|
{
|
||||||
|
if ( severity == PO_SEVERITY_ERROR || severity == PO_SEVERITY_FATAL_ERROR )
|
||||||
|
readerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void xerror2( int severity,
|
||||||
|
po_message_t /*message1*/,
|
||||||
|
const char */*filename1*/, size_t /*lineno1*/, size_t /*column1*/,
|
||||||
|
int /*multiline_p1*/, const char */*message_text1*/,
|
||||||
|
po_message_t /*message2*/,
|
||||||
|
const char */*filename2*/, size_t /*lineno2*/, size_t /*column2*/,
|
||||||
|
int /*multiline_p2*/, const char */*message_text2*/ )
|
||||||
|
{
|
||||||
|
if ( severity == PO_SEVERITY_ERROR || severity == PO_SEVERITY_FATAL_ERROR )
|
||||||
|
readerror = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool get_po_info( const char* filepath, int& translate, int& untranslate, int& fuzzy, int& obsolete )
|
||||||
|
{
|
||||||
|
po_file_t pofile;
|
||||||
|
const struct po_xerror_handler handler = { xerror, xerror2 };
|
||||||
|
|
||||||
|
pofile = po_file_read( filepath, &handler );
|
||||||
|
if ( pofile == NULL || readerror )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
po_message_iterator_t it;
|
||||||
|
it = po_message_iterator( pofile, NULL );
|
||||||
|
po_message_t msg;
|
||||||
|
const char* msgstr;
|
||||||
|
while ( ( msg = po_next_message( it ) ) != NULL ) {
|
||||||
|
if ( po_message_is_obsolete( msg ) )
|
||||||
|
++obsolete;
|
||||||
|
else if ( po_message_is_fuzzy( msg ) )
|
||||||
|
++fuzzy;
|
||||||
|
else {
|
||||||
|
msgstr = po_message_msgstr( msg );
|
||||||
|
if ( msgstr[0] == '\0' )
|
||||||
|
++untranslate;
|
||||||
|
else
|
||||||
|
++translate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
po_message_iterator_free( it );
|
||||||
|
|
||||||
|
/// do not count domain header as translated message
|
||||||
|
const char* header = po_file_domain_header( pofile, NULL );
|
||||||
|
if ( header != NULL )
|
||||||
|
--translate;
|
||||||
|
|
||||||
|
po_file_free( pofile );
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
PoCreator::PoCreator()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
PoCreator::~PoCreator()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PoCreator::create( const QString& path, int width, int height, QImage& img )
|
||||||
|
{
|
||||||
|
int translate = 0;
|
||||||
|
int untranslate = 0;
|
||||||
|
int fuzzy = 0;
|
||||||
|
int obsolete = 0;
|
||||||
|
|
||||||
|
if ( !get_po_info( path.toLocal8Bit(), translate, untranslate, fuzzy, obsolete ) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
int total = translate + untranslate + fuzzy + obsolete;
|
||||||
|
|
||||||
|
int d = ( width < height ) ? width - 2 : height - 2;
|
||||||
|
|
||||||
|
QImage pix( d + 2, d + 2, QImage::Format_ARGB32_Premultiplied );
|
||||||
|
pix.fill( Qt::transparent ); /// transparent background
|
||||||
|
|
||||||
|
int circle = 16 * 360;
|
||||||
|
int untranslateAngle = untranslate * circle / total;
|
||||||
|
int fuzzyAngle = fuzzy * circle / total;
|
||||||
|
int obsoleteAngle = obsolete * circle / total;
|
||||||
|
int translateAngle = circle - untranslateAngle - fuzzyAngle - obsoleteAngle;
|
||||||
|
|
||||||
|
QPainter p( &pix );
|
||||||
|
p.setRenderHint( QPainter::Antialiasing );
|
||||||
|
|
||||||
|
if ( fuzzyAngle > 0 ) {
|
||||||
|
p.setBrush( PoCreatorSettings::self()->fuzzyColor() );
|
||||||
|
if ( fuzzy == total )
|
||||||
|
p.drawEllipse( 1, 1, d, d );
|
||||||
|
else
|
||||||
|
p.drawPie( 1, 1, d, d, 0, -fuzzyAngle );
|
||||||
|
}
|
||||||
|
if ( untranslateAngle > 0 ) {
|
||||||
|
p.setBrush( PoCreatorSettings::self()->untranslatedColor() );
|
||||||
|
if ( untranslate == total )
|
||||||
|
p.drawEllipse( 1, 1, d, d );
|
||||||
|
else
|
||||||
|
p.drawPie( 1, 1, d, d, -fuzzyAngle, -untranslateAngle );
|
||||||
|
}
|
||||||
|
if ( obsoleteAngle > 0 ) {
|
||||||
|
p.setBrush( PoCreatorSettings::self()->obsoletedColor() );
|
||||||
|
if ( obsolete == total )
|
||||||
|
p.drawEllipse( 1, 1, d, d );
|
||||||
|
else
|
||||||
|
p.drawPie( 1, 1, d, d, -fuzzyAngle-untranslateAngle, -obsoleteAngle );
|
||||||
|
}
|
||||||
|
if ( translateAngle > 0 ) {
|
||||||
|
p.setBrush( PoCreatorSettings::self()->translatedColor() );
|
||||||
|
if ( translate == total )
|
||||||
|
p.drawEllipse( 1, 1, d, d );
|
||||||
|
else
|
||||||
|
p.drawPie( 1, 1, d, d, -fuzzyAngle-untranslateAngle-obsoleteAngle, -translateAngle );
|
||||||
|
}
|
||||||
|
|
||||||
|
img = pix;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
class PoCreatorFormWidget : public QWidget, public Ui::PoCreatorForm
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PoCreatorFormWidget() { setupUi( this ); }
|
||||||
|
};
|
||||||
|
|
||||||
|
QWidget* PoCreator::createConfigurationWidget()
|
||||||
|
{
|
||||||
|
PoCreatorFormWidget* cw = new PoCreatorFormWidget;
|
||||||
|
cw->translatedButton->setColor( PoCreatorSettings::self()->translatedColor() );
|
||||||
|
cw->fuzzyButton->setColor( PoCreatorSettings::self()->fuzzyColor() );
|
||||||
|
cw->untranslatedButton->setColor( PoCreatorSettings::self()->untranslatedColor() );
|
||||||
|
cw->obsoletedButton->setColor( PoCreatorSettings::self()->obsoletedColor() );
|
||||||
|
return cw;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PoCreator::writeConfiguration( const QWidget* configurationWidget )
|
||||||
|
{
|
||||||
|
const PoCreatorFormWidget* cw = static_cast<const PoCreatorFormWidget*>(configurationWidget);
|
||||||
|
PoCreatorSettings::self()->setTranslatedColor( cw->translatedButton->color() );
|
||||||
|
PoCreatorSettings::self()->setFuzzyColor( cw->fuzzyButton->color() );
|
||||||
|
PoCreatorSettings::self()->setUntranslatedColor( cw->untranslatedButton->color() );
|
||||||
|
PoCreatorSettings::self()->setObsoletedColor( cw->obsoletedButton->color() );
|
||||||
|
PoCreatorSettings::self()->writeConfig();
|
||||||
|
}
|
42
thumbnailers/po/pocreator.h
Normal file
42
thumbnailers/po/pocreator.h
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* This file is part of kde-thumbnailer-po
|
||||||
|
* Copyright (C) 2011-2012 Ni Hui <shuizhuyuanluo@126.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License or (at your option) 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 14 of version 3 of the license.
|
||||||
|
*
|
||||||
|
* 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, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef POCREATOR_H
|
||||||
|
#define POCREATOR_H
|
||||||
|
|
||||||
|
#include <kdeversion.h>
|
||||||
|
#include <kio/thumbcreator.h>
|
||||||
|
|
||||||
|
#if KDE_IS_VERSION(4,7,0)
|
||||||
|
class PoCreator : public ThumbCreatorV2
|
||||||
|
#else
|
||||||
|
class PoCreator : public ThumbCreator
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit PoCreator();
|
||||||
|
virtual ~PoCreator();
|
||||||
|
virtual bool create( const QString& path, int width, int height, QImage& img );
|
||||||
|
virtual QWidget* createConfigurationWidget();
|
||||||
|
virtual void writeConfiguration( const QWidget* configurationWidget );
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // POCREATOR_H
|
68
thumbnailers/po/pocreatorform.ui
Normal file
68
thumbnailers/po/pocreatorform.ui
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>PoCreatorForm</class>
|
||||||
|
<widget class="QWidget" name="PoCreatorForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>136</width>
|
||||||
|
<height>127</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout">
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Translated: </string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="KColorButton" name="translatedButton"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Fuzzy: </string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="KColorButton" name="fuzzyButton"/>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Untranslated: </string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="KColorButton" name="untranslatedButton"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Obsoleted: </string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="KColorButton" name="obsoletedButton"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>KColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header>kcolorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
21
thumbnailers/po/pocreatorsettings.kcfg
Normal file
21
thumbnailers/po/pocreatorsettings.kcfg
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||||
|
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
|
||||||
|
<kcfgfile name="pocreatorrc"/>
|
||||||
|
<group name="General">
|
||||||
|
<entry name="TranslatedColor" type="Color">
|
||||||
|
<default code="true">Qt::darkGreen</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="FuzzyColor" type="Color">
|
||||||
|
<default code="true">Qt::blue</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="UntranslatedColor" type="Color">
|
||||||
|
<default code="true">Qt::red</default>
|
||||||
|
</entry>
|
||||||
|
<entry name="ObsoletedColor" type="Color">
|
||||||
|
<default code="true">Qt::yellow</default>
|
||||||
|
</entry>
|
||||||
|
</group>
|
||||||
|
</kcfg>
|
4
thumbnailers/po/pocreatorsettings.kcfgc
Normal file
4
thumbnailers/po/pocreatorsettings.kcfgc
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
File=pocreatorsettings.kcfg
|
||||||
|
ClassName=PoCreatorSettings
|
||||||
|
Singleton=true
|
||||||
|
Mutators=true
|
50
thumbnailers/po/pothumbnail.desktop
Normal file
50
thumbnailers/po/pothumbnail.desktop
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Service
|
||||||
|
Name=Gettext Translation
|
||||||
|
Name[bs]=GetText prijevod
|
||||||
|
Name[ca]=Traducció del Gettext
|
||||||
|
Name[ca@valencia]=Traducció del Gettext
|
||||||
|
Name[cs]=Překlad Gettext
|
||||||
|
Name[da]=Gettext-oversættelse
|
||||||
|
Name[de]=Gettext-Übersetzung
|
||||||
|
Name[el]=Μετάφραση με gettext
|
||||||
|
Name[en_GB]=Gettext Translation
|
||||||
|
Name[es]=Traducción de Gettext
|
||||||
|
Name[et]=Gettexti tõlkefail
|
||||||
|
Name[fi]=Gettext-käännös
|
||||||
|
Name[fr]=Traduction de Gettext
|
||||||
|
Name[ga]=Aistriúchán Gettext
|
||||||
|
Name[gl]=Tradución Gettext
|
||||||
|
Name[hu]=Gettext fordítás
|
||||||
|
Name[it]=Traduzioni di Gettext
|
||||||
|
Name[kk]=Gettext аудармасы
|
||||||
|
Name[ko]=Gettext 번역
|
||||||
|
Name[lt]=Gettext vertimas
|
||||||
|
Name[mr]=गेटटेक्स्ट भाषांतर
|
||||||
|
Name[nb]=Gettext-oversetting
|
||||||
|
Name[nds]=Gettext-Översetten
|
||||||
|
Name[nl]=Gettext-vertaling
|
||||||
|
Name[pa]=Gettext ਅਨੁਵਾਦ
|
||||||
|
Name[pl]=Tłumaczenie Gettext
|
||||||
|
Name[pt]=Tradução do Gettext
|
||||||
|
Name[pt_BR]=Tradução gettext
|
||||||
|
Name[ro]=Traducere Gettext
|
||||||
|
Name[ru]=Переводы Gettext
|
||||||
|
Name[sk]=Preklad Gettext
|
||||||
|
Name[sl]=Prevod Gettext
|
||||||
|
Name[sr]=Геттекст превод
|
||||||
|
Name[sr@ijekavian]=Геттекст превод
|
||||||
|
Name[sr@ijekavianlatin]=Gettext prevod
|
||||||
|
Name[sr@latin]=Gettext prevod
|
||||||
|
Name[sv]=Översättning med Gettext
|
||||||
|
Name[tr]=Gettext Çevirisi
|
||||||
|
Name[uk]=Переклад Gettext
|
||||||
|
Name[x-test]=xxGettext Translationxx
|
||||||
|
Name[zh_CN]=Gettext 翻译
|
||||||
|
Name[zh_TW]=Gettext 翻譯
|
||||||
|
X-KDE-ServiceTypes=ThumbCreator
|
||||||
|
MimeType=text/x-gettext-translation;text/x-gettext-translation-template;
|
||||||
|
CacheThumbnail=false
|
||||||
|
IgnoreMaximumSize=true
|
||||||
|
X-KDE-Library=pothumbnail
|
||||||
|
Configurable=true
|
Loading…
Add table
Reference in a new issue