Projects
Kontact:4.13:Development
kdelibs
Log In
Username
Password
File not found: python-icalendar.dsc
×
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 15
View file
_service:set_version:kdelibs.spec
Changed
@@ -39,7 +39,7 @@ %global _changelog_trimtime %(date +%s -d "1 year ago") Summary: KDE Libraries -Version: 4.14.30.git20141230.42bd1a3 +Version: 4.14.30.git20140909.a932980 Release: 0%{?dist} Name: kdelibs
View file
_service
Changed
@@ -4,7 +4,7 @@ <param name="url">https://github.com/kolab-groupware/kdelibs.git</param> <param name="versionformat">4.14.30.git%cd.%h</param> <param name="filename">kdelibs</param> - <param name="revision">kolab/integration/4.14.0</param> + <param name="revision">kolab/integration/4.13.0</param> </service> <service name="recompress"> <param name="file">*.tar</param>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/CMakeLists.txt -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/CMakeLists.txt
Changed
@@ -9,7 +9,7 @@ ################# set KDE specific information ################# set (KDE_VERSION_MAJOR 4) -set (KDE_VERSION_MINOR 14) +set (KDE_VERSION_MINOR 13) set (KDE_VERSION_RELEASE 3) set (KDE_VERSION "${KDE_VERSION_MAJOR}.${KDE_VERSION_MINOR}.${KDE_VERSION_RELEASE}" ) set (KDE_VERSION_STRING "${KDE_VERSION}")
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/README -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/README
Changed
@@ -10,7 +10,7 @@ About kdelibs ------------- -This is version 4.14.3 of the KDE libraries. +This is version 4.13.3 of the KDE libraries. This package includes libraries that are central to the development and execution of a KDE program, as well as internationalization files for these
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindFFmpeg.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindFFmpeg.cmake
Changed
@@ -68,16 +68,16 @@ find_path(${_component}_INCLUDE_DIRS ${_header} HINTS - ${PC_${_component}_INCLUDEDIR} - ${PC_${_component}_INCLUDE_DIRS} + ${PC_LIB${_component}_INCLUDEDIR} + ${PC_LIB${_component}_INCLUDE_DIRS} PATH_SUFFIXES ffmpeg ) find_library(${_component}_LIBRARIES NAMES ${_library} HINTS - ${PC_${_component}_LIBDIR} - ${PC_${_component}_LIBRARY_DIRS} + ${PC_LIB${_component}_LIBDIR} + ${PC_LIB${_component}_LIBRARY_DIRS} ) set(${_component}_DEFINITIONS ${PC_${_component}_CFLAGS_OTHER} CACHE STRING "The ${_component} CFLAGS.")
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindKDE4Internal.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindKDE4Internal.cmake
Changed
@@ -373,11 +373,6 @@ # in this directory over those from CMAKE_MODULE_PATH cmake_policy(SET CMP0017 NEW) -# since cmake 3.0: use of the LOCATION target property is disallowed while it is used in KDE4Macros.cmake -if (POLICY CMP0026) - cmake_policy(SET CMP0026 OLD) -endif (POLICY CMP0026) - # Only do something if it hasn't been found yet if(NOT KDE4_FOUND) @@ -1099,7 +1094,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME STREQUAL GNU) if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE) + set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE) set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") @@ -1114,7 +1109,7 @@ endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile) endif (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") if (CMAKE_C_COMPILER MATCHES "icc") - set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE) + set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE) set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") endif (CMAKE_C_COMPILER MATCHES "icc") @@ -1218,7 +1213,7 @@ # It is kept here nonetheless both for backwards compatibility in case one does not use add_definitions(${KDE4_DEFINITIONS}) # and also because it is/was needed by glibc for snprintf to be available when building C files. # See commit 4a44862b2d178c1d2e1eb4da90010d19a1e4a42c. - add_definitions (-D_DEFAULT_SOURCE -D_BSD_SOURCE) + add_definitions (-D_BSD_SOURCE) endif (CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME STREQUAL GNU) if (CMAKE_SYSTEM_NAME STREQUAL GNU)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindKdcraw.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindKdcraw.cmake
Changed
@@ -14,7 +14,7 @@ # KDCRAW_DEFINITIONS - Compiler switches required for using libkdcraw # KDCRAW_VERSION - Version of libkdcraw which was found # -# Copyright (c) 2008-2014, Gilles Caulier, <caulier.gilles@gmail.com> +# Copyright (c) 2008-2011, Gilles Caulier, <caulier.gilles@gmail.com> # Copyright (c) 2011, Michael G. Hansen, <mike@mghansen.de> # # Redistribution and use is allowed according to the terms of the BSD license. @@ -39,16 +39,16 @@ # Check for a local version of the library. if (KDCRAW_LOCAL_DIR) - find_file(KDCRAW_LOCAL_FOUND libkdcraw/libkdcraw_export.h ${CMAKE_SOURCE_DIR}/${KDCRAW_LOCAL_DIR} NO_DEFAULT_PATH) + find_file(KDCRAW_LOCAL_FOUND libkdcraw/version.h.cmake ${CMAKE_SOURCE_DIR}/${KDCRAW_LOCAL_DIR} NO_DEFAULT_PATH) if (NOT KDCRAW_LOCAL_FOUND) message(WARNING "KDCRAW_LOCAL_DIR specified as \"${KDCRAW_LOCAL_DIR}\" but libkdcraw could not be found there.") endif (NOT KDCRAW_LOCAL_FOUND) else (KDCRAW_LOCAL_DIR) - find_file(KDCRAW_LOCAL_FOUND libkdcraw/libkdcraw_export.h ${CMAKE_SOURCE_DIR}/libkdcraw NO_DEFAULT_PATH) + find_file(KDCRAW_LOCAL_FOUND libkdcraw/version.h.cmake ${CMAKE_SOURCE_DIR}/libkdcraw NO_DEFAULT_PATH) if (KDCRAW_LOCAL_FOUND) set(KDCRAW_LOCAL_DIR libkdcraw) endif (KDCRAW_LOCAL_FOUND) - find_file(KDCRAW_LOCAL_FOUND libkdcraw/libkdcraw_export.h ${CMAKE_SOURCE_DIR}/libs/libkdcraw NO_DEFAULT_PATH) + find_file(KDCRAW_LOCAL_FOUND libkdcraw/version.h.cmake ${CMAKE_SOURCE_DIR}/libs/libkdcraw NO_DEFAULT_PATH) if (KDCRAW_LOCAL_FOUND) set(KDCRAW_LOCAL_DIR libs/libkdcraw) endif (KDCRAW_LOCAL_FOUND)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindKexiv2.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindKexiv2.cmake
Changed
@@ -11,7 +11,7 @@ # KEXIV2_DEFINITIONS - Compiler switches required for using libkexiv2 # -# Copyright (c) 2008-2014, Gilles Caulier, <caulier.gilles@gmail.com> +# Copyright (c) 2008, Gilles Caulier, <caulier.gilles@gmail.com> # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. @@ -32,11 +32,11 @@ if (KEXIV2_LOCAL_DIR) set(KEXIV2_LOCAL_FOUND TRUE) else (KEXIV2_LOCAL_DIR) - find_file(KEXIV2_LOCAL_FOUND libkexiv2/libkexiv2_export.h ${CMAKE_SOURCE_DIR}/libkexiv2 ${CMAKE_SOURCE_DIR}/libs/libkexiv2 NO_DEFAULT_PATH) + find_file(KEXIV2_LOCAL_FOUND libkexiv2/version.h.cmake ${CMAKE_SOURCE_DIR}/libkexiv2 ${CMAKE_SOURCE_DIR}/libs/libkexiv2 NO_DEFAULT_PATH) if (KEXIV2_LOCAL_FOUND) # Was it found in libkexiv2/ or in libs/libkexiv2? - find_file(KEXIV2_LOCAL_FOUND_IN_LIBS libkexiv2/libkexiv2_export.h ${CMAKE_SOURCE_DIR}/libs/libkexiv2 NO_DEFAULT_PATH) + find_file(KEXIV2_LOCAL_FOUND_IN_LIBS libkexiv2/version.h.cmake ${CMAKE_SOURCE_DIR}/libs/libkexiv2 NO_DEFAULT_PATH) if (KEXIV2_LOCAL_FOUND_IN_LIBS) set(KEXIV2_LOCAL_DIR libs/libkexiv2) else (KEXIV2_LOCAL_FOUND_IN_LIBS)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindKipi.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindKipi.cmake
Changed
@@ -16,7 +16,7 @@ # # Copyright (c) 2012, Victor Dodon <dodonvictor at gmail dot com> -# Copyright (c) 2012-2014, Gilles Caulier <caulier dot gilles at gmail dot com> +# Copyright (c) 2012, Gilles Caulier <caulier dot gilles at gmail dot com> # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. @@ -43,17 +43,17 @@ ENDIF(NOT Kipi_FIND_QUIETLY) IF(KIPI_LOCAL_DIR) - FIND_FILE(KIPI_LOCAL_FOUND libkipi/libkipi_export.h ${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR} NO_DEFAULT_PATH) + FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR} NO_DEFAULT_PATH) IF(NOT KIPI_LOCAL_FOUND) MESSAGE(WARNING "KIPI_LOCAL_DIR specified as \"${KIPI_LOCAL_DIR}\" but libkipi could not be found there.") ENDIF(NOT KIPI_LOCAL_FOUND) ELSE(KIPI_LOCAL_DIR) - FIND_FILE(KIPI_LOCAL_FOUND libkipi/libkipi_export.h ${CMAKE_SOURCE_DIR}/libkipi NO_DEFAULT_PATH) + FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}/libkipi NO_DEFAULT_PATH) IF(KIPI_LOCAL_FOUND) SET(KIPI_LOCAL_DIR libkipi) ENDIF(KIPI_LOCAL_FOUND) - FIND_FILE(KIPI_LOCAL_FOUND libkipi/libkipi_export.h ${CMAKE_SOURCE_DIR}/libs/libkipi NO_DEFAULT_PATH) + FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}/libs/libkipi NO_DEFAULT_PATH) IF(KIPI_LOCAL_FOUND) SET(KIPI_LOCAL_DIR libs/libkipi) ENDIF(KIPI_LOCAL_FOUND)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindPyKDE4.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindPyKDE4.cmake
Changed
@@ -25,6 +25,7 @@ STRING(REGEX REPLACE ".*\npykde_version_str:([^\n]+).*$" "\\1" PYKDE4_VERSION_STR ${pykde_config}) STRING(REGEX REPLACE ".*\npykde_kde_sip_flags:([^\n]+).*$" "\\1" PYKDE4_SIP_FLAGS ${pykde_config}) STRING(REGEX REPLACE ".*\npykde_sip_dir:([^\n]+).*$" "\\1" PYKDE4_SIP_DIR ${pykde_config}) + STRING(REGEX REPLACE ".*\npykde_version_tag:([^\n]+).*$" "\\1" PYKDE4_VERSION_TAG ${pykde_config}) MESSAGE(STATUS "Found PyKDE4 version ${PYKDE4_VERSION_STR} ${PYKDE4_SIP_DIR}") SET(PYKDE4_FOUND TRUE)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindPyKDE4.py -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindPyKDE4.py
Changed
@@ -1,22 +1,46 @@ -# Copyright (c) 2014, Raphael Kubo da Costa <rakuco@FreeBSD.org> -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# By Simon Edwards <simon@simonzone.com> +# modified by Paul Giannaros <paul@giannaros.org> to add better PyKDE4 +# sip directory finding +# This file is in the public domain. -import PyKDE4.kdecore +import sys +import os +import PyKDE4.pykdeconfig +import PyQt4.pyqtconfig -if __name__ == '__main__': - try: - import PyKDE4.pykdeconfig - pykdecfg = PyKDE4.pykdeconfig.Configuration() - sip_dir = pykdecfg.pykde_sip_dir - sip_flags = pykdecfg.pykde_kde_sip_flags - except ImportError: - # PyQt4 >= 4.10.0 was built with configure-ng.py instead of - # configure.py, so pyqtconfig.py and pykdeconfig.py are not installed. - sip_dir = PyKDE4.kdecore.PYKDE_CONFIGURATION['sip_dir'] - sip_flags = PyKDE4.kdecore.PYKDE_CONFIGURATION['sip_flags'] +if "_pkg_config" in dir(PyKDE4.pykdeconfig): + _pkg_config = PyKDE4.pykdeconfig._pkg_config - print('pykde_version:%06.x' % PyKDE4.kdecore.version()) - print('pykde_version_str:%s' % PyKDE4.kdecore.versionString()) - print('pykde_sip_dir:%s' % sip_dir) - print('pykde_sip_flags:%s' % sip_flags) + for varname in [ + 'kde_version', + 'kde_version_extra', + 'kdebasedir', + 'kdeincdir', + 'kdelibdir', + 'libdir', + 'pykde_kde_sip_flags', + 'pykde_mod_dir', + 'pykde_modules', + 'pykde_sip_dir', + 'pykde_version', + 'pykde_version_str']: + varvalue = _pkg_config[varname] + if varname == 'pykde_sip_dir': + d = os.path.join(_pkg_config[varname], 'PyKDE4') + if os.path.exists(d): + varvalue = d + print("%s:%s\n" % (varname, varvalue)) + pykde_version_tag = '' + in_t = False + for item in _pkg_config['pykde_kde_sip_flags'].split(): + if item == "-t": + in_t = True + elif in_t: + if item.startswith("KDE_"): + pykde_version_tag = item + else: + in_t = False + print("pykde_version_tag:%s" % pykde_version_tag) + +else: + sys.exit(1)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindPyQt.py -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindPyQt.py
Changed
@@ -1,48 +1,24 @@ # Copyright (c) 2007, Simon Edwards <simon@simonzone.com> -# Copyright (c) 2014, Raphael Kubo da Costa <rakuco@FreeBSD.org> # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -import PyQt4.QtCore -import os -import sys +import PyQt4.pyqtconfig -def get_default_sip_dir(): - # This is based on QScintilla's configure.py, and only works for the - # default case where installation paths have not been changed in PyQt's - # configuration process. - if sys.platform == 'win32': - pyqt_sip_dir = os.path.join(sys.prefix, 'sip', 'PyQt4') - else: - pyqt_sip_dir = os.path.join(sys.prefix, 'share', 'sip', 'PyQt4') - return pyqt_sip_dir - -def get_qt4_tag(sip_flags): - in_t = False - for item in sip_flags.split(' '): - if item == '-t': - in_t = True - elif in_t: - if item.startswith('Qt_4'): - return item - else: - in_t = False - raise ValueError('Cannot find Qt\'s tag in PyQt4\'s SIP flags.') +pyqtcfg = PyQt4.pyqtconfig.Configuration() +print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version) +print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str) -if __name__ == '__main__': - try: - import PyQt4.pyqtconfig - pyqtcfg = PyQt4.pyqtconfig.Configuration() - sip_dir = pyqtcfg.pyqt_sip_dir - sip_flags = pyqtcfg.pyqt_sip_flags - except ImportError: - # PyQt4 >= 4.10.0 was built with configure-ng.py instead of - # configure.py, so pyqtconfig.py is not installed. - sip_dir = get_default_sip_dir() - sip_flags = PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags'] +pyqt_version_tag = "" +in_t = False +for item in pyqtcfg.pyqt_sip_flags.split(' '): + if item=="-t": + in_t = True + elif in_t: + if item.startswith("Qt_4"): + pyqt_version_tag = item + else: + in_t = False +print("pyqt_version_tag:%s" % pyqt_version_tag) - print('pyqt_version:%06.x' % PyQt4.QtCore.PYQT_VERSION) - print('pyqt_version_str:%s' % PyQt4.QtCore.PYQT_VERSION_STR) - print('pyqt_version_tag:%s' % get_qt4_tag(sip_flags)) - print('pyqt_sip_dir:%s' % sip_dir) - print('pyqt_sip_flags:%s' % sip_flags) +print("pyqt_sip_dir:%s" % pyqtcfg.pyqt_sip_dir) +print("pyqt_sip_flags:%s" % pyqtcfg.pyqt_sip_flags)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/FindPyQt4.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/FindPyQt4.cmake
Changed
@@ -9,20 +9,16 @@ # Find the installed version of PyQt4. FindPyQt4 should only be called after # Python has been found. # -# This file defines the following variables, which can also be overriden by -# users: +# This file defines the following variables: # # PYQT4_VERSION - The version of PyQt4 found expressed as a 6 digit hex number # suitable for comparison as a string # # PYQT4_VERSION_STR - The version of PyQt4 as a human readable string. # -# PYQT4_VERSION_TAG - The Qt4 version tag used by PyQt's sip files. +# PYQT4_VERSION_TAG - The PyQt version tag using by PyQt's sip files. # -# PYQT4_SIP_DIR - The directory holding the PyQt4 .sip files. This can be unset -# if PyQt4 was built using its new build system and pyqtconfig.py is not -# present on the system, as in this case its value cannot be determined -# automatically. +# PYQT4_SIP_DIR - The directory holding the PyQt4 .sip files. # # PYQT4_SIP_FLAGS - The SIP flags used to build PyQt. @@ -35,27 +31,13 @@ EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config) IF(pyqt_config) - STRING(REGEX MATCH "^pyqt_version:([^\n]+).*$" _dummy ${pyqt_config}) - SET(PYQT4_VERSION "${CMAKE_MATCH_1}" CACHE STRING "PyQt4's version as a 6-digit hexadecimal number") + STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT4_VERSION ${pyqt_config}) + STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT4_VERSION_STR ${pyqt_config}) + STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT4_VERSION_TAG ${pyqt_config}) + STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT4_SIP_DIR ${pyqt_config}) + STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT4_SIP_FLAGS ${pyqt_config}) - STRING(REGEX MATCH ".*\npyqt_version_str:([^\n]+).*$" _dummy ${pyqt_config}) - SET(PYQT4_VERSION_STR "${CMAKE_MATCH_1}" CACHE STRING "PyQt4's version as a human-readable string") - - STRING(REGEX MATCH ".*\npyqt_version_tag:([^\n]+).*$" _dummy ${pyqt_config}) - SET(PYQT4_VERSION_TAG "${CMAKE_MATCH_1}" CACHE STRING "The Qt4 version tag used by PyQt4's .sip files") - - STRING(REGEX MATCH ".*\npyqt_sip_dir:([^\n]+).*$" _dummy ${pyqt_config}) - SET(PYQT4_SIP_DIR "${CMAKE_MATCH_1}" CACHE PATH "The base directory where PyQt4's .sip files are installed") - - STRING(REGEX MATCH ".*\npyqt_sip_flags:([^\n]+).*$" _dummy ${pyqt_config}) - SET(PYQT4_SIP_FLAGS "${CMAKE_MATCH_1}" CACHE STRING "The SIP flags used to build PyQt4") - - IF(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}") - MESSAGE(WARNING "The base directory where PyQt4's SIP files are installed could not be determined. This usually means PyQt4 was built with its new build system and pyqtconfig.py is not present.\n" - "Please set the PYQT4_SIP_DIR variable manually.") - ELSE(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}") - SET(PYQT4_FOUND TRUE) - ENDIF(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}") + SET(PYQT4_FOUND TRUE) ENDIF(pyqt_config) IF(PYQT4_FOUND)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/KDE4Defaults.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/KDE4Defaults.cmake
Changed
@@ -21,11 +21,11 @@ # define the generic version of the libraries here # this makes it easy to advance it when the next KDE release comes # Use this version number for libraries which are at version n in KDE version n -set(GENERIC_LIB_VERSION "4.14.3") +set(GENERIC_LIB_VERSION "4.13.3") set(GENERIC_LIB_SOVERSION "4") # Use this version number for libraries which are already at version n+1 in KDE version n -set(KDE_NON_GENERIC_LIB_VERSION "5.14.3") +set(KDE_NON_GENERIC_LIB_VERSION "5.13.3") set(KDE_NON_GENERIC_LIB_SOVERSION "5") # windows does not support LD_LIBRARY_PATH or similar
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/cmake/modules/KDE4Macros.cmake -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/cmake/modules/KDE4Macros.cmake
Changed
@@ -1338,7 +1338,7 @@ # the install phase function(KDE4_INSTALL_AUTH_ACTIONS HELPER_ID ACTIONS_FILE) - if(KDE4_AUTH_BACKEND_NAME STREQUAL "APPLE" OR KDE4_AUTH_BACKEND_NAME STREQUAL "OSX") + if(KDE4_AUTH_BACKEND_NAME STREQUAL "APPLE") install(CODE "execute_process(COMMAND ${KDE4_KAUTH_POLICY_GEN_EXECUTABLE} ${ACTIONS_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})") elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "POLKITQT" OR KDE4_AUTH_BACKEND_NAME STREQUAL "POLKITQT-1") set(_output ${CMAKE_CURRENT_BINARY_DIR}/${HELPER_ID}.policy)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/doc/common/Doxyfile.global -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/doc/common/Doxyfile.global
Changed
@@ -1150,6 +1150,18 @@ XML_OUTPUT = xml +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that @@ -1459,7 +1471,7 @@ # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. -DOT_GRAPH_MAX_NODES = 100 +DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/doc/common/kde-docs.css -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/doc/common/kde-docs.css
Changed
@@ -206,7 +206,7 @@ } pre.screen { - border: 2px solid gray; + border 2px solid gray; background: black; color: white;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/interfaces/kspeech/org.kde.KSpeech.xml -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/interfaces/kspeech/org.kde.KSpeech.xml
Changed
@@ -145,11 +145,6 @@ <arg name="voiceType" type="i" direction="in"/> <annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/> </method> - - <method name="setPunctuationType"> - <arg name="punctuation" type="i" direction="in"/> - <annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/> - </method> <method name="setSpeed"> <arg name="speed" type="i" direction="in"/>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/interfaces/ktexteditor/annotationinterface.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/interfaces/ktexteditor/annotationinterface.h
Changed
@@ -57,10 +57,6 @@ virtual ~AnnotationModel() {} - enum { - GroupIdentifierRole = Qt::UserRole - }; - /** * data() is used to retrieve the information needed to present the * annotation information from the annotation model. The provider @@ -71,9 +67,6 @@ * - Qt::TooltipRole - a tooltip information, longer text possible * - Qt::BackgroundRole - a brush to be used to paint the background on the border * - Qt::ForegroundRole - a brush to be used to paint the text on the border - * - AnnotationModel::GroupIdentifierRole - a string which identifies a - * group of items which will be highlighted on mouseover; return the same - * string for all items in a group (KDevelop uses a VCS revision number, for example) * * \param line the line for which the data is to be retrieved * \param role the role to identify which kind of annotation is to be retrieved
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/auth/backends/mac/AuthServicesBackend.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/auth/backends/mac/AuthServicesBackend.cpp
Changed
@@ -1,6 +1,5 @@ /* * Copyright (C) 2008 Nicola Gigante <nicola.gigante@gmail.com> -* Copyright (C) 2014 René Bertin <rjvbertin@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -22,7 +21,6 @@ #include <Security/Security.h> #include <QtCore/qplugin.h> -#include <QtCore/QtCore> namespace KAuth { @@ -40,32 +38,10 @@ return s_authRef; } -static OSStatus GetActionRights(const QString &action, AuthorizationFlags flags, AuthorizationRef auth=NULL) -{ - AuthorizationItem item; - item.name = action.toUtf8(); - item.valueLength = 0; - item.value = NULL; - item.flags = 0; - - AuthorizationRights rights; - rights.count = 1; - rights.items = &item; - - OSStatus result = AuthorizationCopyRights( (auth)? auth : authRef(), - &rights, - kAuthorizationEmptyEnvironment, - flags, NULL); - return result; -} - -// On OS X, the suggestion is to make the helper grant the actual privilege. The app does instead a -// "pre-authorization", that's equivalent to look at isCallerAuthorized() in policykit. -// RJVB: grab the privilege from here, the client. AuthServicesBackend::AuthServicesBackend() : AuthBackend() { - setCapabilities(AuthorizeFromClientCapability | CheckActionExistenceCapability); + setCapabilities(AuthorizeFromHelperCapability | CheckActionExistenceCapability); } void AuthServicesBackend::setupAction(const QString&) @@ -75,24 +51,29 @@ // On OS X, the suggestion is to make the helper grant the actual privilege. The app does instead a // "pre-authorization", that's equivalent to look at isCallerAuthorized() in policykit. -// RJVB: grab the privilege from here, the client. Action::AuthStatus AuthServicesBackend::authorizeAction(const QString &action) { - OSStatus result = GetActionRights( action, kAuthorizationFlagExtendRights | kAuthorizationFlagInteractionAllowed ); -// qWarning() << "AuthServicesBackend::authorizeAction(" << action << ") AuthorizationCopyRights returned" << result; - switch (result) { - case errAuthorizationSuccess: - return Action::Authorized; - case errAuthorizationInteractionNotAllowed: - default: - return Action::Denied; - } + return actionStatus(action); } Action::AuthStatus AuthServicesBackend::actionStatus(const QString &action) { - OSStatus result = GetActionRights( action, kAuthorizationFlagExtendRights | kAuthorizationFlagPreAuthorize ); -// qWarning() << "AuthServicesBackend::actionStatus(" << action << ") AuthorizationCopyRights returned" << result; + AuthorizationItem item; + item.name = action.toUtf8(); + item.valueLength = 0; + item.value = NULL; + item.flags = 0; + + AuthorizationRights rights; + rights.count = 1; + rights.items = &item; + + OSStatus result = AuthorizationCopyRights(authRef(), + &rights, + kAuthorizationEmptyEnvironment, + kAuthorizationFlagExtendRights | kAuthorizationFlagPreAuthorize, + NULL); + switch (result) { case errAuthorizationSuccess: return Action::Authorized; @@ -120,28 +101,35 @@ AuthorizationRef auth; - if (AuthorizationCreateFromExternalForm(&ext, &auth) != noErr){ -// qWarning() << "AuthorizationCreateFromExternalForm(" << action << "," << callerID.constData() << ") failed"; + if (AuthorizationCreateFromExternalForm(&ext, &auth) != noErr) return false; - } - OSStatus result = GetActionRights( action, kAuthorizationFlagExtendRights | kAuthorizationFlagInteractionAllowed, - auth); + AuthorizationItem item; + item.name = action.toUtf8(); + item.valueLength = 0; + item.value = NULL; + item.flags = 0; + + AuthorizationRights rights; + rights.count = 1; + rights.items = &item; + + OSStatus result = AuthorizationCopyRights(auth, + &rights, + kAuthorizationEmptyEnvironment, + kAuthorizationFlagExtendRights | kAuthorizationFlagInteractionAllowed, + NULL); AuthorizationFree(auth, kAuthorizationFlagDefaults); -// qWarning() << "AuthServicesBackend::isCallerAuthorized(" << action << "," << callerID.constData() << ") AuthorizationCopyRights returned" << result; return result == errAuthorizationSuccess; } -// RJVB: OS X doesn't distinguish between "action doesn't exist" and "action not allowed". So the -// best thing we can do is return true and hope that the action will be created if it didn't exist... bool AuthServicesBackend::actionExists(const QString& action) { OSStatus exists = AuthorizationRightGet(action.toUtf8(), NULL); -// qWarning() << "AuthServicesBackend::actionExists(" << action << ") AuthorizationRightGet returned" << exists; - return true;//exists == errAuthorizationSuccess; + return exists == errAuthorizationSuccess; } }; // namespace KAuth
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/auth/kauthaction.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/auth/kauthaction.cpp
Changed
@@ -356,13 +356,6 @@ return executeActions(QList<Action>() << *this, NULL, helperID) ? ActionReply::SuccessReply : ActionReply::AuthorizationDeniedReply; } else { -#if defined(Q_OS_MACX) || defined(__APPLE__) || defined(__MACH__) - if( BackendsManager::authBackend()->capabilities() & KAuth::AuthBackend::AuthorizeFromClientCapability ){ - // RJVB: authorisation through DBus seems to be flaky (at least when using the OSX keychain ... maybe because DBus - // isn't built with Keychain support in MacPorts?) - return ActionReply::SuccessReply; - } -#endif //APPLE if (hasHelper()) { // Perform the pre auth here if (BackendsManager::authBackend()->capabilities() & KAuth::AuthBackend::PreAuthActionCapability) {
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/config/bufferfragment_p.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/config/bufferfragment_p.h
Changed
@@ -141,12 +141,7 @@ { return (other.size() != (int)len || memcmp(d,other.constData(),len) != 0); } - - bool operator==(const BufferFragment& other) const - { - return other.len == len && !memcmp(d, other.d, len); - } - + int indexOf(char c, unsigned int from = 0) const { const char* cursor = d + from - 1; @@ -183,21 +178,4 @@ unsigned int len; }; -uint qHash(const KConfigIniBackend::BufferFragment& fragment) -{ - const uchar *p = reinterpret_cast<const uchar*>(fragment.constData()); - const int len = fragment.length(); - - // This algorithm is copied from qhash.cpp (Qt5 version). - // Sadly this code is not accessible from the outside without going through abstraction - // layers. Even QByteArray::fromRawData would do an allocation internally... - uint h = 0; - - for (int i = 0; i < len; ++i) { - h = 31 * h + p[i]; - } - - return h; -} - #endif
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/config/kconfig.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/config/kconfig.cpp
Changed
@@ -321,22 +321,16 @@ return groups.toList(); } -static bool isGroupOrSubGroupMatch(const QByteArray& potentialGroup, const QByteArray& group) -{ - if (!potentialGroup.startsWith(group)) { - return false; - } - return potentialGroup.length() == group.length() || potentialGroup[group.length()] == '\x1d'; -} - // List all sub groups, including subsubgroups QSet<QByteArray> KConfigPrivate::allSubGroups(const QByteArray& parentGroup) const { QSet<QByteArray> groups; + QByteArray theGroup = parentGroup + '\x1d'; + groups << parentGroup; for (KEntryMap::const_iterator entryMapIt = entryMap.begin(); entryMapIt != entryMap.end(); ++entryMapIt) { const KEntryKey& key = entryMapIt.key(); - if (key.mKey.isNull() && isGroupOrSubGroupMatch(key.mGroup, parentGroup)) { + if (key.mKey.isNull() && key.mGroup.startsWith(theGroup)) { groups << key.mGroup; } } @@ -345,10 +339,12 @@ bool KConfigPrivate::hasNonDeletedEntries(const QByteArray& group) const { - for (KEntryMap::const_iterator it = entryMap.begin(); it != entryMap.end(); ++it) { - const KEntryKey& key = it.key(); + const QSet<QByteArray> allGroups = allSubGroups(group); + + Q_FOREACH(const QByteArray& aGroup, allGroups) { + // Could be optimized, let's use the slow way for now // Check for any non-deleted entry - if (isGroupOrSubGroupMatch(key.mGroup, group) && !key.mKey.isNull() && !it->bDeleted) + if (!keyListImpl(aGroup).isEmpty()) return true; } return false; @@ -367,7 +363,7 @@ QSet<QString> tmp; for (; it != theEnd && it.key().mGroup == theGroup; ++it) { const KEntryKey& key = it.key(); - if (!key.mKey.isNull() && !it->bDeleted) + if (key.mGroup == theGroup && !key.mKey.isNull() && !it->bDeleted) tmp << QString::fromUtf8(key.mKey); } keys = tmp.toList();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/config/kconfigini.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/config/kconfigini.cpp
Changed
@@ -40,15 +40,6 @@ extern bool kde_kiosk_exception; -static QByteArray lookup(const KConfigIniBackend::BufferFragment& fragment, QHash<KConfigIniBackend::BufferFragment, QByteArray>* cache) -{ - QHash<KConfigIniBackend::BufferFragment, QByteArray>::iterator it = cache->find(fragment); - if (it == cache->end()) { - it = cache->insert(fragment, fragment.toByteArray()); - } - return it.value(); -} - QString KConfigIniBackend::warningProlog(const QFile &file, int line) { return QString::fromLatin1("KConfigIni: In file %2, line %1: ") @@ -103,14 +94,6 @@ unsigned int len = contents.length(); unsigned int startOfLine = 0; - // Reduce memory overhead by making use of implicit sharing - // This assumes that config files contain only a small amount of - // different fragments which are repeated often. - // This is often the case, especially sub groups will all have - // the same list of keys and similar values as well. - QHash<BufferFragment, QByteArray> cache; - cache.reserve(4096); - while (startOfLine < len) { BufferFragment line = contents.split('\n', &startOfLine); line.trim(); @@ -262,9 +245,9 @@ rawKey.reserve(aKey.length() + locale.length() + 2); rawKey.append(aKey.toVolatileByteArray()); rawKey.append('[').append(locale.toVolatileByteArray()).append(']'); - entryMap.setEntry(currentGroup, rawKey, lookup(line, &cache), entryOptions); + entryMap.setEntry(currentGroup, rawKey, line.toByteArray(), entryOptions); } else { - entryMap.setEntry(currentGroup, lookup(aKey, &cache), lookup(line, &cache), entryOptions); + entryMap.setEntry(currentGroup, aKey.toByteArray(), line.toByteArray(), entryOptions); } } next_line:
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/config/kconfigini_p.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/config/kconfigini_p.h
Changed
@@ -30,9 +30,10 @@ class KConfigIniBackend : public KConfigBackend { private: + class BufferFragment; + KLockFile::Ptr lockFile; public: - class BufferFragment; KConfigIniBackend(); ~KConfigIniBackend();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/date/TIMEZONES -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/date/TIMEZONES
Changed
@@ -630,9 +630,9 @@ i18n("Moscow+08 - Magadan"); i18n("Asia/Makassar"); // i18n: comment to the previous timezone -i18n("east & south Borneo, Celebes, Bali, Nusa Tenggara, west Timor"); +i18n("east & south Borneo, Celebes, Bali, Nusa Tengarra, west Timor"); // i18n: comment to the previous timezone -i18n("east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tenggara, west Timor"); +i18n("east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tengarra, west Timor"); i18n("Asia/Manila"); i18n("Asia/Muscat"); i18n("Asia/Nicosia"); @@ -685,7 +685,7 @@ i18n("Asia/Tokyo"); i18n("Asia/Ujung_Pandang"); // i18n: comment to the previous timezone -i18n("east & south Borneo, Celebes, Bali, Nusa Tenggara, west Timor"); +i18n("east & south Borneo, Celebes, Bali, Nusa Tengarra, west Timor"); i18n("Asia/Ulaanbaatar"); // i18n: comment to the previous timezone i18n("most locations");
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/io/kdirwatch.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/io/kdirwatch.cpp
Changed
@@ -767,8 +767,7 @@ if (path.isEmpty() #ifndef Q_WS_WIN || path == QLatin1String("/dev") - || (path.startsWith(QLatin1String("/dev/")) && !path.startsWith(QLatin1String("/dev/.")) - && !path.startsWith(QLatin1String("/dev/shm"))) + || (path.startsWith(QLatin1String("/dev/")) && !path.startsWith(QLatin1String("/dev/."))) #endif ) return; // Don't even go there.
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/io/kurl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/io/kurl.cpp
Changed
@@ -1097,8 +1097,7 @@ QString result = scheme(); if (!result.isEmpty()) { - if (!authority().isEmpty() || result == QLatin1String("file") || (path().isEmpty() - && scheme().compare(QLatin1String("mailto"), Qt::CaseInsensitive) != 0)) + if (!authority().isEmpty() || result == QLatin1String("file") || path().isEmpty()) result += QLatin1String("://"); else result += QLatin1Char(':');
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/kernel/kglobal.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/kernel/kglobal.cpp
Changed
@@ -29,7 +29,6 @@ #include "kglobal.h" #include "kglobal_p.h" #include <QThread> -#include <QAtomicInt> #include <config.h> @@ -315,30 +314,27 @@ * e.g. a file copy for a file manager, or 'compacting folders on exit' for a mail client, * the job progress widget with "keep open" checked, etc. */ -static QBasicAtomicInt s_allowQuit = Q_BASIC_ATOMIC_INITIALIZER(false); // this is used a bool -static QBasicAtomicInt s_refCount = Q_BASIC_ATOMIC_INITIALIZER(0); +static int s_refCount = 0; +static bool s_allowQuit = false; void KGlobal::ref() { - s_refCount.fetchAndAddOrdered(1); + ++s_refCount; + //kDebug() << "KGlobal::ref() : refCount = " << s_refCount; } void KGlobal::deref() { - const int prevRefCount = s_refCount.fetchAndAddOrdered(-1); - if (prevRefCount <= 1 && int(s_allowQuit)) { + --s_refCount; + //kDebug() << "KGlobal::deref() : refCount = " << s_refCount; + if (s_refCount <= 0 && s_allowQuit) { QCoreApplication::instance()->quit(); } } void KGlobal::setAllowQuit(bool allowQuit) { - if (QThread::currentThread() == qApp->thread()) { - s_allowQuit.fetchAndStoreOrdered(int(allowQuit)); - } - else { - qWarning() << "KGlobal::setAllowQuit may only be called from the main thread"; - } + s_allowQuit = allowQuit; } #undef PRIVATE_DATA
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/localization/all_languages.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/localization/all_languages.desktop
Changed
@@ -606,7 +606,7 @@ Name[bs]=Asamski Name[ca]=Assamès Name[ca@valencia]=Assamés -Name[cs]=Ásámský +Name[cs]=Asamský Name[csb]=Assamijsczi Name[cy]=Assameg Name[da]=Assamese @@ -680,7 +680,7 @@ Name[tr]=Assamese Name[tt]=Ассам Name[ug]=ئاسسامچە -Name[uk]=Ассамська +Name[uk]=Асамійська Name[uz]=Assamese Name[uz@cyrillic]=Ассамесе Name[vi]=Assam @@ -877,7 +877,7 @@ Name[bs]=Azerbejdžanski Name[ca]=Àzeri Name[ca@valencia]=Àzeri -Name[cs]=Ázerbájdžánský +Name[cs]=Ázerbajdžánský Name[csb]=Azerbejdżańsczi Name[cy]=Azerbaijaneg Name[da]=Azerbaijansk @@ -2139,7 +2139,6 @@ Name[es]=Catalán (Valenciano) Name[et]=Katalaani (valencia) Name[eu]=Katalana (Valentziera) -Name[fa]=کاتالانی (والنسیایی) Name[fi]=Katalaani (Valencia) Name[fr]=Catalan (Valence) Name[ga]=Catalóinis (Vaileinsis) @@ -2513,7 +2512,6 @@ Name[es]=Tártaro de Crimea Name[et]=Krimmitatari Name[eu]=Tatariera -Name[fa]=تاتار کریمهای Name[fi]=Krimin tataari Name[fr]=Tatar de Crimée Name[fy]=Crimean Tatar @@ -2699,7 +2697,6 @@ Name[es]=Casubio Name[et]=Kašuubi Name[eu]=Kaxubiera -Name[fa]=کاشوبیان Name[fi]=Kašubi Name[fr]=Kachoube Name[fy]=Kashubian @@ -4272,7 +4269,7 @@ Name[ia]=Farsi (Perse) Name[id]=Farsi (Persia) Name[is]=Farsi (Persneska) -Name[it]=Persiano +Name[it]=Farsi (Persiano) Name[ja]=ペルシア語 Name[kk]=Фарси Name[km]=ហ្វាស៊ី (ពឺស៊ាន) @@ -4493,7 +4490,7 @@ Name[pa]=ਫਿਜੀਨ Name[pl]=z Fiji Name[ps]=فيجي -Name[pt]=Fijiano +Name[pt]=Fidjiano Name[pt_BR]=Fijiano Name[ro]=Fijiană Name[ru]=Фиджи @@ -5494,7 +5491,7 @@ Name[tr]=Hausa Name[tt]=Хауз Name[ug]=خائۇساچە -Name[uk]=Хауса +Name[uk]=Гауса Name[uz]=Xausa Name[uz@cyrillic]=Хауса Name[vi]=Hausa @@ -5593,7 +5590,7 @@ Name[tr]=İbranice Name[tt]=Иврит Name[ug]=ئىبرانىچە -Name[uk]=Іврит +Name[uk]=Єврейська Name[uz]=Yahudiycha Name[uz@cyrillic]=Яҳудийча Name[vi]=Do Thái @@ -5721,7 +5718,6 @@ Name[es]=Chhattisgarhi Name[et]=Chhattisgarhi Name[eu]=Chhattisgarhi -Name[fa]=چهاتیسگارهی Name[fi]=Chhattisgarhi Name[fr]=Chhattisgarhi Name[fy]=Chhattisgarhi @@ -7762,7 +7758,7 @@ Name[bs]=Kmerski Name[ca]=Khmer Name[ca@valencia]=Khmer -Name[cs]=Khmérské +Name[cs]=Kmérský Name[csb]=Khmersczi Name[cy]=Khmer Name[da]=Khmer @@ -9252,7 +9248,6 @@ Name[es]=Maithili Name[et]=Maithili Name[eu]=Maithiliera -Name[fa]=مایتیلی Name[fi]=Maithili Name[fr]=Maïthili Name[fy]=Maithili @@ -10564,7 +10559,7 @@ Name[pa]=ਨੋਰਵਿਗੀਆਨ ਬੋਕਮਾਲ Name[pl]=Norweski Bokmaal Name[ps]=ناروېجني بوکمل -Name[pt]=Norueguês (Bokmål) +Name[pt]=Norueguês Bokmål Name[pt_BR]=Dano-norueguês Name[ro]=Norvegiană Bokmål Name[ru]=Норвежский (литературный) @@ -11149,7 +11144,7 @@ Name[pa]=ਨੋਰਵਿਗੀਆਨ ਨਯਾਨੋਰਸਕ Name[pl]=Norweski Nynorsk Name[ps]=ناروېجني نېنورسک -Name[pt]=Norueguês (Nynorsk) +Name[pt]=Norueguês Nynorsk Name[pt_BR]=Novo norueguês Name[ro]=Norvegiană Nynorsk Name[ru]=Норвежский (нюнорск) @@ -13047,7 +13042,7 @@ Name[bn_IN]=কিনয়ারুয়ান্ডা Name[br]=Kinyarwanda Name[bs]=Kinjaruanda -Name[ca]=Kinyarwanda +Name[ca]=Ruanda Name[ca@valencia]=Ruanda Name[cs]=Kinyarwanda Name[csb]=Kinyarwanda @@ -16738,7 +16733,7 @@ Name[pa]=ਊਜੇਬਕ Name[pl]=Uzbecki Name[ps]=ازبکي -Name[pt]=Uzbeque +Name[pt]=Usbequistanês Name[pt_BR]=Uzbeque Name[ro]=Uzbecă Name[ru]=Узбекский @@ -16791,7 +16786,6 @@ Name[es]=Uzbeko (Cirílico) Name[et]=Usbeki (kirillitsa) Name[eu]=Uzbekera (Zirilikoa) -Name[fa]=ازبک (سیریلیک) Name[fi]=Uzbekki (kyrillinen) Name[fr]=Ouzbek (Cyrillique) Name[fy]=Uzbeesk (Cyrillysk) @@ -17678,7 +17672,7 @@ Name[pa]=ਯੂਰੋਬਾ Name[pl]=Yoruba Name[ps]=يوروبا -Name[pt]=Ioruba +Name[pt]=Yoruba Name[pt_BR]=Iorubá Name[ro]=Iorubă Name[ru]=Йоруба
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/network/kssld/kssld.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/network/kssld/kssld.desktop
Changed
@@ -19,7 +19,6 @@ Name[es]=Política de certificados SSL Name[et]=SSL sertifikadi reegel Name[eu]=SSL ziurtagiri politika -Name[fa]=سیاست گواهینامهی اساسال Name[fi]=SSL-varmennekäytäntö Name[fr]=Politique de certificats SSL Name[ga]=Polasaí Teastas SSL @@ -48,7 +47,7 @@ Name[nl]=SSL-certificaat-beleid Name[pa]=SSL ਸਰਟੀਫਿਕੇਟ ਪਾਲਸੀ Name[pl]=Polityka certyfikatów SSL -Name[pt]=Política de Certificados de SSL +Name[pt]=Política de Certificados SSL Name[pt_BR]=Política de certificados SSL Name[ro]=Politică de certificate SSL Name[ru]=Политика сертификатов SSL @@ -112,7 +111,7 @@ Comment[nl]=Levert het SSL-certificaat-beleid aan applicaties Comment[pa]=ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ SSL ਸਰਟੀਫਿਕੇਟ ਪਾਲਸੀ ਦਿੰਦਾ ਹੈ Comment[pl]=Udostępnia politykę certyfikatów SSL programom -Comment[pt]=Fornece uma política de certificados de SSL para as aplicações +Comment[pt]=Fornece uma política de certificados SSL às aplicações Comment[pt_BR]=Fornece uma política de certificados SSL aos aplicativos Comment[ro]=Oferă applicațiilor politică de certificate SSL Comment[ru]=Политика сертификатов SSL для приложений
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/sycoca/ksycoca.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/sycoca/ksycoca.cpp
Changed
@@ -55,7 +55,7 @@ * If the existing file is outdated, it will not get read * but instead we'll ask kded to regenerate a new one... */ -#define KSYCOCA_VERSION 242 +#define KSYCOCA_VERSION 239 /** * Sycoca file name, used internally (by kbuildsycoca)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/tests/kmountpointtest.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/tests/kmountpointtest.cpp
Changed
@@ -35,10 +35,7 @@ void KMountPointTest::testCurrentMountPoints() { const KMountPoint::List mountPoints = KMountPoint::currentMountPoints(KMountPoint::NeedRealDeviceName); - if (mountPoints.isEmpty()) { // can happen in chroot jails. TODO: we could parse /proc/self/mountinfo instead.... - QSKIP("mtab is empty", SkipAll); - return; - } + QVERIFY(!mountPoints.isEmpty()); KMountPoint::Ptr mountWithDevice; foreach(KMountPoint::Ptr mountPoint, mountPoints) { kDebug() << "Mount: " << mountPoint->mountedFrom()
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdecore/tests/kurltest.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdecore/tests/kurltest.cpp
Changed
@@ -1784,10 +1784,6 @@ KUrl url183433("mailto:test[at]gmail[dot]com"); QCOMPARE(url183433.prettyUrl(), QString("mailto:test[at]gmail[dot]com")); QCOMPARE(url183433.url(), QString("mailto:test[at]gmail[dot]com")); - - // Make sure prettyUrl() doesn't convert the url to mailto://... - KUrl urlNoPath("mailto:?to=test@example.com"); - QCOMPARE(urlNoPath.prettyUrl(), QString("mailto:?to=test@example.com")); } void KUrlTest::testSmb()
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/CMakeLists.txt -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/CMakeLists.txt
Changed
@@ -309,8 +309,7 @@ if (Q_WS_MAC AND MAC_USE_OSXKEYCHAIN) FIND_LIBRARY(SECURITY_LIBRARY Security) - set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kwallet_mac.cpp util/qosxkeychain.cpp) - add_definitions(-DMAC_USE_OSXKEYCHAIN) + set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kwallet_mac.cpp) else(Q_WS_MAC AND MAC_USE_OSXKEYCHAIN) set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kwallet.cpp) else(Q_WS_MAC AND MAC_USE_OSXKEYCHAIN)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/about/kde_infopage.css -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/about/kde_infopage.css
Changed
@@ -4,7 +4,7 @@ */ img {margin: 0px; padding: 0px} -body {margin: 0px; padding: 0px; background-color: #062A4B; background-image: url(body-background.png); color: #111111; height: 100%; width: 100%;} +body {margin: 0px; padding: 0px; background-color: #062A4B; background-image: url(body-background.png); color: #111111; height="100%"; width="100%"} a { color: #1A2C36; text-decoration: none; font-weight: bold; } a:hover { color: #003B5A;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/itemviews/kidentityproxymodel.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/itemviews/kidentityproxymodel.cpp
Changed
@@ -194,8 +194,11 @@ if (!sourceModel()) return QModelIndex(); Q_ASSERT(parent.isValid() ? parent.model() == this : true); + if (row < 0 || column < 0 || !hasIndex(row, column, parent)) + return QModelIndex(); const QModelIndex sourceParent = mapToSource(parent); const QModelIndex sourceIndex = sourceModel()->index(row, column, sourceParent); + Q_ASSERT(sourceIndex.isValid()); return mapFromSource(sourceIndex); }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/tests/CMakeLists.txt -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/tests/CMakeLists.txt
Changed
@@ -7,7 +7,6 @@ # The alternative (which requires Qt>=4.6) is #include <QTestGui> add_definitions(-DQT_GUI_LIB) -option(MAC_USE_OSXKEYCHAIN "On OS X, use the keychain as backend for kwallet, instead of kwalletd.") MACRO(KDEUI_UNIT_TESTS) FOREACH(_testname ${ARGN}) @@ -31,7 +30,7 @@ MACRO(KDEUI_PROXYMODEL_TESTS) FOREACH(_testname ${ARGN}) kde4_add_unit_test(${_testname} TESTNAME kdeui-${_testname} ${_testname}.cpp ${proxyModelTestSources} ) - target_link_libraries(${_testname} ${KDE4_KDEUI_LIBS} ${QT_QTTEST_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${KDEWIN32_LIBRARIES} proxymodeltestsuite ) + target_link_libraries(${_testname} ${KDE4_KDEUI_LIBS} ${QT_QTTEST_LIBRARY} ${QT_QTXML_LIBRARY} ${KDEWIN32_LIBRARIES} proxymodeltestsuite ) ENDFOREACH(_testname) ENDMACRO(KDEUI_PROXYMODEL_TESTS) @@ -156,11 +155,6 @@ kpixmapsequenceoverlaypaintertest ) -if (Q_WS_MAC AND MAC_USE_OSXKEYCHAIN) - set_source_files_properties(kwallettest.cpp PROPERTIES - COMPILE_FLAGS -DMAC_USE_OSXKEYCHAIN) -endif(Q_WS_MAC AND MAC_USE_OSXKEYCHAIN) - if (NOT KDE_NO_DEPRECATED) KDEUI_EXECUTABLE_TESTS( keditlistboxtest
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/tests/ktoolbar_unittest.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/tests/ktoolbar_unittest.cpp
Changed
@@ -172,14 +172,12 @@ // Save settings kmw.saveMainWindowSettings(group); + QCOMPARE(group.groupList().count(), 2); // two subgroups (one for each toolbar) // was it the default value? - if (iconSize == KIconLoader::global()->currentSize(KIconLoader::MainToolbar)) { - QCOMPARE(group.groupList().count(), 0); // nothing to save yet + if (iconSize == KIconLoader::global()->currentSize(KIconLoader::MainToolbar)) QVERIFY(!group.group("Toolbar mainToolBar").hasKey("IconSize")); - } else { - QCOMPARE(group.groupList().count(), 2); // one per toolbar + else QVERIFY(group.group("Toolbar mainToolBar").hasKey("IconSize")); - } } { @@ -271,13 +269,13 @@ // Save settings kmw.saveMainWindowSettings(group); + QVERIFY(group.groupList().count() >= 6); // one subgroup for each toolbar // was it the default size? (for the main toolbar, we only check that one) const bool usingDefaultSize = iconSize == KIconLoader::global()->currentSize(KIconLoader::MainToolbar); - if (usingDefaultSize) { + if (usingDefaultSize) QVERIFY(!group.group("Toolbar mainToolBar").hasKey("IconSize")); - } else { + else QVERIFY(group.group("Toolbar mainToolBar").hasKey("IconSize")); - } // Now emulate a change of the kde-global setting (#168480#c12) changeGlobalIconSizeSetting(25, 16); @@ -351,13 +349,11 @@ // Save settings kmw.saveMainWindowSettings(group); - if (selectedDefaultForMainToolbar) { - QCOMPARE(group.groupList().count(), 0); // nothing to save yet + QCOMPARE(group.groupList().count(), 2); // two subgroups (one for each toolbar) + if (selectedDefaultForMainToolbar) QVERIFY(!group.group("Toolbar mainToolBar").hasKey("ToolButtonStyle")); - } else { - QCOMPARE(group.groupList().count(), 2); // two subgroups (one for each toolbar) + else QVERIFY(group.group("Toolbar mainToolBar").hasKey("ToolButtonStyle")); - } } {
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/tests/kwallettest.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/tests/kwallettest.cpp
Changed
@@ -32,12 +32,11 @@ void KWalletTest::testWallet() { - QString testWallet = "kwallettestWallet"; + QString testWallet = "kdewallet"; QString testFolder = "wallettestfolder"; QString testKeys[] = { "testKey", "account-302948", "\\", "/abc", "a@b.c" }; QByteArray testValues[] = { "test", "@(!§\"%&", "", ".test", "\\" }; - QMap<QString,QString> pwmap; int numTests = 5; // Start kdeinit4, so that the wallet damon is started in the background @@ -50,24 +49,15 @@ // open Wallet *wallet = Wallet::openWallet( testWallet, w->winId(), Wallet::Synchronous ); - if ( wallet == 0 ){ - kWarning() << "Couldn't open the wallet. Maybe the wallet daemon is not running?"; - } - else{ - kWarning() << "Opened wallet" << wallet->walletName(); - } + if ( wallet == 0 ) + kDebug() << "Couldn't open the wallet. Maybe the wallet daemon is not running?"; QVERIFY( wallet != 0 ); QVERIFY( Wallet::isOpen( testWallet ) ); - kWarning() << "Wallet list:" << Wallet::walletList(); - - // check on a couple of existing items, preferably at least 1 "internet account" and 1 "application password" - // OSXKeychain::readEntry( "existing name", "existing account", &value, NULL, NULL ) // create folder wallet->createFolder( testFolder ); QVERIFY( wallet->hasFolder( testFolder ) ); wallet->setFolder( testFolder ); - kWarning() << "Wallet's folder list:" << wallet->folderList(); QVERIFY( wallet->currentFolder() == testFolder ); QVERIFY( wallet->folderList().contains( testFolder ) ); @@ -80,36 +70,10 @@ QVERIFY( readEntry == testValues[i] ); } - pwmap[QString("Bugzilla_login")] = QString("bugs@kde.org"); - pwmap[QString("Bugzilla_password")] = QString("buggyPassw0rd"); - kWarning() << "pwmap=" << pwmap; - - QMap<QString,QString> v; - QVERIFY( !wallet->writeMap( "https://bugs.kde.org/#", pwmap ) ); - QVERIFY( wallet->hasEntry("https://bugs.kde.org/#") ); - QVERIFY( !wallet->readMap( "https://bugs.kde.org/#", v ) ); - QVERIFY( v == pwmap ); - // do it again - QVERIFY( !wallet->writeMap( "https://bugs.kde.org/#", pwmap ) ); - QVERIFY( wallet->hasEntry("https://bugs.kde.org/#") ); - QVERIFY( !wallet->readMap( "https://bugs.kde.org/#", v ) ); - QVERIFY( v == pwmap ); - - QVERIFY( wallet->entryType( testKeys[0] ) == Wallet::Stream ); - QVERIFY( wallet->entryType( "https://bugs.kde.org/#" ) == Wallet::Map ); - - QVERIFY( !wallet->renameEntry( "https://bugs.kde.org/#", "kdeBugs" ) ); - QVERIFY( wallet->hasEntry("kdeBugs") ); - QVERIFY( !wallet->readMap( "kdeBugs", v ) ); - QVERIFY( v == pwmap ); - // close wallet->sync(); - QStringList l = wallet->entryList(); - kWarning() << "Entry list:" << l; - QVERIFY( l.size() == 6 ); - Wallet::closeWallet( testWallet, true ); - QVERIFY( !Wallet::isOpen( testWallet ) ); + Wallet::closeWallet( "kdewallet", true ); + QVERIFY( !Wallet::isOpen( "kdewallet" ) ); // test for key - closed wallet for ( int i = 0; i < 5; i++ ) { @@ -144,21 +108,13 @@ QVERIFY( readEntry == testValues[i] ); } - // remove those many test keys - for ( int i = 0; i < numTests; i++ ) { - QVERIFY( !wallet->removeEntry( testKeys[i] ) ); - } - -#ifndef MAC_USE_OSXKEYCHAIN // delete folder wallet->removeFolder( testFolder ); QVERIFY( !wallet->hasFolder( testFolder ) ); -#endif // close - Wallet::closeWallet( testWallet, true ); - QVERIFY( !Wallet::isOpen( testWallet ) ); - QVERIFY( !Wallet::deleteWallet( testWallet ) ); + Wallet::closeWallet( "kdewallet", true ); + QVERIFY( !Wallet::isOpen( "kdewallet" ) ); } QTEST_KDEMAIN(KWalletTest, GUI)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/tests/proxymodeltestapp/CMakeLists.txt -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/tests/proxymodeltestapp/CMakeLists.txt
Changed
@@ -33,7 +33,6 @@ target_link_libraries(proxymodeltestapp ${KDE4_KDEUI_LIBS} proxymodeltestsuite - ${QT_QTNETWORK_LIBRARY} ${QT_QTSCRIPT_LIBRARY} )
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/util/kcrash.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/util/kcrash.cpp
Changed
@@ -313,13 +313,7 @@ crashRecursionCounter++; } - // On Apple OS X, closing all FDs now will cause a second (SIGILL) crash, - // ending with "Unable to start Dr. Konqi". This is because the libdispatch - // library, which can manage multi-threading, has some FDs of its own. - // - // Note: KCrash closes FDs unconditionally later on if it forks to Dr Konqi - // and this program's FDs do not matter if kdeinit starts Dr Konqi. -#if !defined(Q_OS_WIN) and !defined(Q_OS_MAC) +#if !defined(Q_OS_WIN) if (!(s_flags & KeepFDs)) closeAllFDs(); # if defined(Q_WS_X11) @@ -526,12 +520,9 @@ // This is done because it is dangerous to use fork() in the crash handler // (there can be functions registered to be performed before fork(), for example handling // of malloc locking, which doesn't work when malloc crashes because of heap corruption). -#ifndef Q_OS_MAC - // Fails on Apple OSX+KDE4, because kdeinit4 is using the wrong socket name. if (!(s_flags & AlwaysDirectly)) { startDirectly = !startProcessInternal(argc, argv, waitAndExit, false); } -#endif // If we can't reach kdeinit, we can still at least try to fork() if (startDirectly) { @@ -814,8 +805,7 @@ server.sun_family = AF_UNIX; strcpy(server.sun_path, sock_file); - // Use stderr, to make the message visible on the Apple OS X Console log. - fprintf(stderr, "KCrash: Connect sock_file=%s\n", sock_file); + printf("sock_file=%s\n", sock_file); socklen = sizeof(server); if(connect(s, (struct sockaddr *)&server, socklen) == -1) {
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/util/kwallet_mac.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/util/kwallet_mac.cpp
Changed
@@ -3,7 +3,6 @@ * Copyright (C) 2002-2004 George Staikos <staikos@kde.org> * Copyright (C) 2008 Michael Leupold <lemma@confuego.org> * Copyright (C) 2010 Frank Osterfeld <osterfeld@kde.org> - * Copyright (C) 2014 René Bertin <rjvbertin@gmail.com> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -37,9 +36,9 @@ #include <cassert> -#include <sys/param.h> - -#include "qosxkeychain.h" +#include <Carbon/Carbon.h> +#include <Security/Security.h> +#include <Security/SecKeychain.h> using namespace KWallet; @@ -50,7 +49,30 @@ typedef QMap<QString, QByteArray> StringByteArrayMap; Q_DECLARE_METATYPE(StringByteArrayMap) -#ifdef OSX_KEYCHAIN_PORT_DISABLED +namespace { + template <typename T> + struct CFReleaser { + explicit CFReleaser( const T& r ) : ref( r ) {} + ~CFReleaser() { CFRelease( ref ); } + T ref; + }; +} + +static QString asQString( CFStringRef sr ) { + return QString::fromLatin1( CFStringGetCStringPtr( sr, NULL ) ); //TODO Latin1 correct? +} + +static QString errorString( OSStatus s ) { + const CFReleaser<CFStringRef> ref( SecCopyErrorMessageString( s, NULL ) ); + return asQString( ref.ref ); +} + +static bool isError( OSStatus s, QString* errMsg ) { + if ( errMsg ) + *errMsg = errorString( s ); + return s != 0; +} + static QString appid() { KComponentData cData = KGlobal::mainComponent(); @@ -63,10 +85,28 @@ } return qApp->applicationName(); } -#endif -/*static*/ const QString Wallet::LocalWallet() -{ +static OSStatus removeEntryImplementation(const QString& walletName, const QString& key) { + const QByteArray serviceName( walletName.toUtf8() ); + const QByteArray accountName( key.toUtf8() ); + SecKeychainItemRef itemRef; + QString errMsg; + OSStatus result = SecKeychainFindGenericPassword( NULL, serviceName.size(), serviceName.constData(), accountName.size(), accountName.constData(), NULL, NULL, &itemRef ); + if ( isError( result, &errMsg ) ) { + qWarning() << "Could not retrieve password:" << qPrintable(errMsg); + return result; + } + const CFReleaser<SecKeychainItemRef> itemReleaser( itemRef ); + result = SecKeychainItemDelete( itemRef ); + if ( isError( result, &errMsg ) ) { + qWarning() << "Could not delete password:" << qPrintable(errMsg); + return result; + } + return result; +} + + +const QString Wallet::LocalWallet() { KConfigGroup cfg(KSharedConfig::openConfig("kwalletrc")->group("Wallet")); if (!cfg.readEntry("Use One Wallet", true)) { QString tmp = cfg.readEntry("Local Wallet", "localwallet"); @@ -83,8 +123,7 @@ return tmp; } -/*static*/ const QString Wallet::NetworkWallet() -{ +const QString Wallet::NetworkWallet() { KConfigGroup cfg(KSharedConfig::openConfig("kwalletrc")->group("Wallet")); QString tmp = cfg.readEntry("Default Wallet", "kdewallet"); @@ -94,157 +133,120 @@ return tmp; } -/*static*/ const QString Wallet::PasswordFolder() -{ +const QString Wallet::PasswordFolder() { return "Passwords"; } -/*static*/ const QString Wallet::FormDataFolder() -{ +const QString Wallet::FormDataFolder() { return "Form Data"; } -#pragma mark ==== Wallet::WalletPrivate ==== -class Wallet::WalletPrivate : public OSXKeychain +class Wallet::WalletPrivate { public: explicit WalletPrivate(const QString &n) - : OSXKeychain(n) - { - isKDEChain = ( n == LocalWallet() || n == NetworkWallet() || n.contains( "wallet", Qt::CaseInsensitive ) ); - } + : name(n) + {} // needed for compilation reasons - void walletServiceUnregistered() - { + void walletServiceUnregistered() { } + + QString name; + QString folder; }; Wallet::Wallet(int handle, const QString& name) - : QObject(0L), d(new WalletPrivate(name)) -{ + : QObject(0L), d(new WalletPrivate(name)) { Q_UNUSED(handle); } -Wallet::~Wallet() -{ +Wallet::~Wallet() { delete d; } -/*static*/ QStringList Wallet::walletList() -{ + +QStringList Wallet::walletList() { #ifdef OSX_KEYCHAIN_PORT_DISABLED return walletLauncher->getInterface().wallets(); #else - // RJVB: Mac OS X's Keychain supports multiple keychains, but they can only be accesses by full path, not - // found by name. That makes it cumbersome to map to multiple wallets when using only the wallet name. - // However, it would be perfectly possible to create OS X Keychains called Wallet::LocalWallet() and - // Wallet::NetworkWallet() in the equivalent of ~/.kde/share/apps/kwallet . - QStringList l; - OSXKeychain::KeychainList(l); - return l; + return QStringList(); #endif } -/*static*/ void Wallet::changePassword(const QString& name, WId w) -{ +void Wallet::changePassword(const QString& name, WId w) { #ifdef OSX_KEYCHAIN_PORT_DISABLED if( w == 0 ) kDebug(285) << "Pass a valid window to KWallet::Wallet::changePassword()."; walletLauncher->getInterface().changePassword(name, (qlonglong)w, appid()); -#else - Q_UNUSED(w); - kWarning() << "Wallet::changePassword unimplemented '" << name << "'"; #endif } -/*static*/ bool Wallet::isEnabled() -{ +bool Wallet::isEnabled() { //PENDING(frank) check return true; } -/*static*/ bool Wallet::isOpen(const QString& name) -{ +bool Wallet::isOpen(const QString& name) { #ifdef OSX_KEYCHAIN_PORT_DISABLED return walletLauncher->getInterface().isOpen(name); // default is false #else - return OSXKeychain::IsOpen(name); -#endif -} - -bool Wallet::isOpen() const -{ -#ifdef OSX_KEYCHAIN_PORT_DISABLED - return d->handle != -1; -#else - return d->isOpen(); + return true; #endif } -/*static*/ int Wallet::closeWallet(const QString& name, bool force) -{ +int Wallet::closeWallet(const QString& name, bool force) { #ifdef OSX_KEYCHAIN_PORT_DISABLED QDBusReply<int> r = walletLauncher->getInterface().close(name, force); return r.isValid() ? r : -1; #else - Q_UNUSED(force); - return OSXKeychain::Lock(name); + return 0; #endif } -/*static*/ int Wallet::deleteWallet(const QString& name) -{ +int Wallet::deleteWallet(const QString& name) { #ifdef OSX_KEYCHAIN_PORT_DISABLED QDBusReply<int> r = walletLauncher->getInterface().deleteWallet(name); return r.isValid() ? r : -1; #else - return OSXKeychain::Destroy(name); + return -1; #endif } -/*static*/ Wallet *Wallet::openWallet(const QString& name, WId w, OpenType ot) -{ +Wallet *Wallet::openWallet(const QString& name, WId w, OpenType ot) { Q_UNUSED(w); Q_UNUSED(ot); Wallet *wallet = new Wallet(-1, name); QMetaObject::invokeMethod( wallet, "emitWalletOpened", Qt::QueuedConnection ); - OSStatus err = wallet->d->unLock(); - kDebug() << "Opened wallet '" << name << "': " << wallet << " error=" << err; return wallet; } -/*static*/ bool Wallet::disconnectApplication(const QString& wallet, const QString& app) -{ +bool Wallet::disconnectApplication(const QString& wallet, const QString& app) { #ifdef OSX_KEYCHAIN_PORT_DISABLED return walletLauncher->getInterface().disconnectApplication(wallet, app); // default is false #else - kWarning() << "Wallet::disconnectApplication unimplemented, '" << app << "' from '" << wallet << "'"; return true; #endif } -/*static*/ QStringList Wallet::users(const QString& name) -{ +QStringList Wallet::users(const QString& name) { #ifdef OSX_KEYCHAIN_PORT_DISABLED return walletLauncher->getInterface().users(name); // default is QStringList() #else - kWarning() << "Wallet::users unimplemented, '" << name << "'"; return QStringList(); #endif } -int Wallet::sync() -{ +int Wallet::sync() { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == -1) { return -1; @@ -256,8 +258,7 @@ } -int Wallet::lockWallet() -{ +int Wallet::lockWallet() { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == -1) { return -1; @@ -270,21 +271,26 @@ if (r.isValid()) { return r; } -#else - d->currentService.clear(); #endif - return d->lock(); + return -1; } -const QString& Wallet::walletName() const -{ +const QString& Wallet::walletName() const { return d->name; } -void Wallet::requestChangePassword(WId w) -{ +bool Wallet::isOpen() const { +#ifdef OSX_KEYCHAIN_PORT_DISABLED + return d->handle != -1; +#else + return true; +#endif +} + + +void Wallet::requestChangePassword(WId w) { #ifdef OSX_KEYCHAIN_PORT_DISABLED if( w == 0 ) kDebug(285) << "Pass a valid window to KWallet::Wallet::requestChangePassword()."; @@ -293,15 +299,11 @@ } walletLauncher->getInterface().changePassword(d->name, (qlonglong)w, appid()); -#else - Q_UNUSED(w); - kWarning() << "Wallet::requestChangePassword unimplemented '" << d->name << "'"; #endif } -void Wallet::slotWalletClosed(int handle) -{ +void Wallet::slotWalletClosed(int handle) { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == handle) { d->handle = -1; @@ -309,16 +311,11 @@ d->name.clear(); emit walletClosed(); } -#else - Q_UNUSED(handle); - kWarning() << "Wallet::slotWalletClosed unimplemented '" << d->name << "'"; - d->currentService.clear(); #endif } -QStringList Wallet::folderList() -{ +QStringList Wallet::folderList() { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == -1) { return QStringList(); @@ -327,13 +324,12 @@ QDBusReply<QStringList> r = walletLauncher->getInterface().folderList(d->handle, appid()); return r; #else - return QStringList(d->folderList()); + return QStringList(); #endif } -QStringList Wallet::entryList() -{ +QStringList Wallet::entryList() { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == -1) { return QStringList(); @@ -342,15 +338,12 @@ QDBusReply<QStringList> r = walletLauncher->getInterface().entryList(d->handle, d->folder, appid()); return r; #else - QStringList r = QStringList(); - d->itemList(r); - return r; + return QStringList(); #endif } -bool Wallet::hasFolder(const QString& f) -{ +bool Wallet::hasFolder(const QString& f) { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == -1) { return false; @@ -359,14 +352,12 @@ QDBusReply<bool> r = walletLauncher->getInterface().hasFolder(d->handle, f, appid()); return r; // default is false #else - d->folderList(); - return d->serviceList.contains(f); + return true; #endif } -bool Wallet::createFolder(const QString& f) -{ +bool Wallet::createFolder(const QString& f) { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == -1) { return false; @@ -379,13 +370,12 @@ return true; // folder already exists #else - return setFolder(f); + return true; #endif } -bool Wallet::setFolder(const QString &f) -{ +bool Wallet::setFolder(const QString& f) { #ifdef OSX_KEYCHAIN_PORT_DISABLED bool rc = false; @@ -407,21 +397,12 @@ return rc; #else - // act as if we just changed folders even if we have no such things; the property - // is stored as the ServiceItemAttr (which shows up as the "Where" field in the Keychain Utility). - if( f.size() == 0 ){ - d->currentService.clear(); - } - else{ - d->currentService = QString(f); - } return true; #endif } -bool Wallet::removeFolder(const QString& f) -{ +bool Wallet::removeFolder(const QString& f) { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle == -1) { return false; @@ -434,34 +415,34 @@ return r; // default is false #else - kWarning() << "Wallet::removeFolder unimplemented (returns true) '" << d->name << "'"; - if( d->currentService == f ){ - d->currentService.clear(); - } return true; #endif } -const QString& Wallet::currentFolder() const -{ -#ifdef OSX_KEYCHAIN_PORT_DISABLED +const QString& Wallet::currentFolder() const { return d->folder; -#else - return d->currentService; -#endif } -int Wallet::readEntry(const QString &key, QByteArray &value) -{ OSStatus err = d->readItem( key, &value, NULL ); - kDebug() << "Wallet::readEntry '" << key << "' from wallet " << d->name << ", error=" << ((err)? -1 : 0); - return (err)? -1 : 0; +int Wallet::readEntry(const QString& key, QByteArray& value) { + const QByteArray serviceName( walletName().toUtf8() ); + const QByteArray accountName( key.toUtf8() ); + UInt32 passwordSize = 0; + void* passwordData = 0; + QString errMsg; + if ( isError( SecKeychainFindGenericPassword( NULL, serviceName.size(), serviceName.constData(), accountName.size(), accountName.constData(), &passwordSize, &passwordData, NULL ), &errMsg ) ) { + qWarning() << "Could not retrieve password:" << qPrintable(errMsg); + return -1; + } + + value = QByteArray( reinterpret_cast<const char*>( passwordData ), passwordSize ); + SecKeychainItemFreeContent( NULL, passwordData ); + return 0; } -int Wallet::readEntryList(const QString& key, QMap<QString, QByteArray>& value) -{ +int Wallet::readEntryList(const QString& key, QMap<QString, QByteArray>& value) { #ifdef OSX_KEYCHAIN_PORT_DISABLED registerTypes(); @@ -483,16 +464,12 @@ return rc; #else - Q_UNUSED(key); - Q_UNUSED(value); - kWarning() << "Wallet::readEntryList unimplemented (returns -1) '" << d->name << "'"; return -1; #endif } -int Wallet::renameEntry(const QString& oldName, const QString& newName) -{ +int Wallet::renameEntry(const QString& oldName, const QString& newName) { #ifdef OSX_KEYCHAIN_PORT_DISABLED int rc = -1; @@ -507,30 +484,25 @@ return rc; #else - return d->renameItem( oldName, newName ); + return -1; #endif } -int Wallet::readMap(const QString &key, QMap<QString,QString> &value) -{ +int Wallet::readMap(const QString& key, QMap<QString,QString>& value) { QByteArray v; - const int ret = (d->readItem( key, &v, NULL ))? -1 : 0; - if( ret != 0 ){ + const int ret = readEntry( key, v ); + if ( ret != 0 ) return ret; - } - if( !v.isEmpty() ){ - QByteArray w = QByteArray::fromBase64(v); - QDataStream ds( &w, QIODevice::ReadOnly ); + if ( !v.isEmpty() ) { + QDataStream ds( &v, QIODevice::ReadOnly ); ds >> value; } - kDebug() << "Wallet::readMap '" << key << "' from wallet " << d->name << ", error=0"; return 0; } -int Wallet::readMapList(const QString& key, QMap<QString, QMap<QString, QString> >& value) -{ +int Wallet::readMapList(const QString& key, QMap<QString, QMap<QString, QString> >& value) { #ifdef OSX_KEYCHAIN_PORT_DISABLED registerTypes(); @@ -558,100 +530,81 @@ return rc; #else - Q_UNUSED(key); - Q_UNUSED(value); - kWarning() << "Wallet::readMapList unimplemented (returns -1) '" << d->name << "'"; return -1; #endif } -int Wallet::readPassword(const QString& key, QString& value) -{ +int Wallet::readPassword(const QString& key, QString& value) { QByteArray ba; - const int ret = (d->readItem( key, &ba, NULL ))? -1 : 0; - if ( ret == 0 ){ + const int ret = readEntry( key, ba ); + if ( ret == 0 ) value = QString::fromUtf8( ba.constData() ); - } - kDebug() << "Wallet::readPassword '" << key << "' from wallet " << d->name << ", error=" << ret; return ret; } -int Wallet::readPasswordList(const QString& key, QMap<QString, QString>& value) -{ - Q_UNUSED(key); - Q_UNUSED(value); - kWarning() << "Wallet::readPasswordList unimplemented (returns -1) '" << d->name << "'"; +int Wallet::readPasswordList(const QString& key, QMap<QString, QString>& value) { return -1; } -int Wallet::writeEntry(const QString& key, const QByteArray& password ) -{ int ret = d->writeItem( key, password ); - kDebug() << "wrote entry '" << key << "' to wallet " << d->name << ", error=" << ret; - return ret; +static OSStatus writeEntryImplementation( const QString& walletName, const QString& key, const QByteArray& value ) { + const QByteArray serviceName( walletName.toUtf8() ); + const QByteArray accountName( key.toUtf8() ); + QString errMsg; + OSStatus err = SecKeychainAddGenericPassword( NULL, serviceName.size(), serviceName.constData(), accountName.size(), accountName.constData(), value.size(), value.constData(), NULL ); + if (err == errSecDuplicateItem) { + err = removeEntryImplementation( walletName, key ); + if ( isError( err, &errMsg ) ) { + kWarning() << "Could not delete old key in keychain for replacing: " << qPrintable(errMsg); + return err; + } + } + if ( isError( err, &errMsg ) ) { + kWarning() << "Could not store password in keychain: " << qPrintable(errMsg); + return err; + } + kDebug() << "Succesfully written out key:" << key; + return err; + } -int Wallet::writeEntry(const QString& key, const QByteArray& password, EntryType entryType) -{ - OSXKeychain::EntryType entryCode; - switch( entryType ){ - case Wallet::Password: - entryCode = OSXKeychain::Password; - break; - case Wallet::Map: - entryCode = OSXKeychain::Map; - break; - case Wallet::Stream: - entryCode = OSXKeychain::Stream; - break; - default: - entryCode = OSXKeychain::Unknown; - break; - } - int ret = d->writeItem( key, password, &entryCode ); - kDebug() << "wrote entry '" << key << "' of type=" << (int) entryType << "to wallet " << d->name << ", error=" << ret; - return ret; +int Wallet::writeEntry(const QString& key, const QByteArray& password, EntryType entryType) { + Q_UNUSED( entryType ) + return writeEntryImplementation( walletName(), key, password ); } -int Wallet::writeMap(const QString& key, const QMap<QString,QString>& value) -{ + +int Wallet::writeEntry(const QString& key, const QByteArray& value) { + return writeEntryImplementation( walletName(), key, value ); +} + + +int Wallet::writeMap(const QString& key, const QMap<QString,QString>& value) { QByteArray mapData; QDataStream ds(&mapData, QIODevice::WriteOnly); ds << value; - OSXKeychain::EntryType etype = OSXKeychain::Map; - int ret = d->writeItem( key, mapData.toBase64(), - "This is a KDE Wallet::Map item. Its password\n" - "cannot be read in the OS X Keychain Utility.\n" - "Use KDE's own kwalletmanager for that.", &etype ); - kDebug() << "wrote map '" << key << "' to wallet " << d->name << ", error=" << ret; - return ret; + return writeEntry( key, mapData ); } -int Wallet::writePassword(const QString &key, const QString& value) -{ OSXKeychain::EntryType etype = OSXKeychain::Password; - int ret = d->writeItem( key, value.toUtf8(), &etype ); - kDebug() << "wrote password '" << key << "' to wallet " << d->name << ", error=" << ret; - return ret; +int Wallet::writePassword(const QString& key, const QString& value) { + return writeEntry( key, value.toUtf8() ); } -bool Wallet::hasEntry(const QString &key) -{ bool ret = d->hasItem( key, NULL ); - kDebug() << "wallet '" << d->name << "'" << ((ret)? " has" : " does not have") << " entry '" << key << "'"; - return ret; +bool Wallet::hasEntry(const QString& key) { + const QByteArray serviceName( walletName().toUtf8() ); + const QByteArray accountName( key.toUtf8() ); + return !isError( SecKeychainFindGenericPassword( NULL, serviceName.size(), serviceName.constData(), accountName.size(), accountName.constData(), NULL, NULL, NULL ), 0 ); } -int Wallet::removeEntry(const QString& key) -{ int ret = d->removeItem( key ); - kDebug() << "removed entry '" << key << "' from wallet " << d->name << ", error=" << ret; - return ret; +int Wallet::removeEntry(const QString& key) { + return removeEntryImplementation( walletName(), key ); } -Wallet::EntryType Wallet::entryType(const QString& key) -{ +Wallet::EntryType Wallet::entryType(const QString& key) { #ifdef OSX_KEYCHAIN_PORT_DISABLED int rc = 0; @@ -666,85 +619,55 @@ return static_cast<EntryType>(rc); #else - // RJVB: a priori, entries are always 'password' on OS X, but since we also do use them for storing - // maps, it may be best to return Wallet::Unknown to leave some uncertainty and not mislead our caller. - OSXKeychain::EntryType etype; - if( !d->itemType( key, &etype ) ){ - switch( etype ){ - case OSXKeychain::Password: - return Wallet::Password; - break; - case OSXKeychain::Map: - return Wallet::Map; - break; - case OSXKeychain::Stream: - return Wallet::Stream; - break; - } - } return Wallet::Unknown; #endif } -void Wallet::slotFolderUpdated(const QString& wallet, const QString& folder) -{ +void Wallet::slotFolderUpdated(const QString& wallet, const QString& folder) { if (d->name == wallet) { emit folderUpdated(folder); } } -void Wallet::slotFolderListUpdated(const QString& wallet) -{ +void Wallet::slotFolderListUpdated(const QString& wallet) { if (d->name == wallet) { emit folderListUpdated(); } } -void Wallet::slotApplicationDisconnected(const QString& wallet, const QString& application) -{ +void Wallet::slotApplicationDisconnected(const QString& wallet, const QString& application) { #ifdef OSX_KEYCHAIN_PORT_DISABLED if (d->handle >= 0 && d->name == wallet && application == appid()) { slotWalletClosed(d->handle); } -#else - Q_UNUSED(wallet); - Q_UNUSED(application); - kWarning() << "Wallet::slotApplicationDisconnected unimplemented '" << d->name << "'"; #endif } -void Wallet::walletAsyncOpened(int tId, int handle) -{ +void Wallet::walletAsyncOpened(int tId, int handle) { #ifdef OSX_KEYCHAIN_PORT_DISABLED // ignore responses to calls other than ours if (d->transactionId != tId || d->handle != -1) { return; } - + // disconnect the async signal disconnect(this, SLOT(walletAsyncOpened(int,int))); - + d->handle = handle; emit walletOpened(handle > 0); -#else - Q_UNUSED(tId); - Q_UNUSED(handle); - kWarning() << "Wallet::walletAsyncOpened unimplemented '" << d->name << "'"; #endif } -void Wallet::emitWalletAsyncOpenError() -{ +void Wallet::emitWalletAsyncOpenError() { emit walletOpened(false); } -void Wallet::emitWalletOpened() -{ +void Wallet::emitWalletOpened() { emit walletOpened(true); } @@ -755,11 +678,7 @@ QDBusReply<bool> r = walletLauncher->getInterface().folderDoesNotExist(wallet, folder); return r; #else - bool ret = true; - if( Wallet::walletList().contains(wallet) ){ - ret = !Wallet(-1, wallet).hasFolder(folder); - } - return ret; + return false; #endif } @@ -770,38 +689,23 @@ QDBusReply<bool> r = walletLauncher->getInterface().keyDoesNotExist(wallet, folder, key); return r; #else - bool ret = true; - if( Wallet::walletList().contains(wallet) ){ - Wallet w(-1, wallet); - if( w.hasFolder(folder) ){ - ret = !w.hasEntry(key); - } - } - return ret; + return false; #endif } void Wallet::slotCollectionStatusChanged(int status) { - Q_UNUSED(status); - kWarning() << "Wallet::slotCollectionStatusChanged unimplemented '" << d->name << "' status=" << status; } void Wallet::slotCollectionDeleted() { -#ifdef OSX_KEYCHAIN_PORT_DISABLED d->folder.clear(); -#else - d->currentService.clear(); -#endif - kDebug() << "Wallet::slotCollectionDeleted: closing private data '" << d->name; - d->close(); + d->name.clear(); emit walletClosed(); } -void Wallet::virtual_hook(int, void*) -{ +void Wallet::virtual_hook(int, void*) { //BASE::virtual_hook( id, data ); }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/widgets/kmainwindow.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/widgets/kmainwindow.h
Changed
@@ -89,7 +89,7 @@ * readProperties(). To save special data about your data, reimplement * saveGlobalProperties(). To warn user that application or * windows have unsaved data on close or logout, reimplement - * queryClose(). + * queryClose() and/or queryExit(). * * You have to implement session restoring also in your main() function. * There are also kRestoreMainWindows convenience functions which @@ -488,6 +488,10 @@ /** * Reimplemented to call the queryClose() and queryExit() handlers. + * + * We recommend that you reimplement the handlers rather than closeEvent(). + * If you do it anyway, ensure to call the base implementation to keep + * queryExit() running. */ virtual void closeEvent ( QCloseEvent *); @@ -528,10 +532,6 @@ @see queryClose() @see KApplication::sessionSaving() - - @deprecated since 4.14 Do not reimplement queryExit. Either reimplement queryClose - (called for every window) or connect QCoreApplication::aboutToQuit() into a slot - of a non-gui object (not a KMainWindow, it will be deleted before that!). */ virtual bool queryExit();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/widgets/kmultitabbar.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/widgets/kmultitabbar.cpp
Changed
@@ -248,9 +248,8 @@ if (shouldDrawText()) opt->text = text(); - opt->state |= QStyle::State_AutoRaise; if (underMouse()) - opt->state |= QStyle::State_MouseOver | QStyle::State_Raised; + opt->state |= QStyle::State_AutoRaise | QStyle::State_MouseOver | QStyle::State_Raised; if (isChecked()) opt->state |= QStyle::State_Sunken | QStyle::State_On;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/widgets/ktoolbar.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdeui/widgets/ktoolbar.cpp
Changed
@@ -829,9 +829,7 @@ { Q_ASSERT(!cg.name().isEmpty()); - if (cg.hasKey("Hidden")) { - cg.deleteEntry("Hidden"); // remove old key to avoid bugs from the compat code in applySettings. KDE5: remove. - } + cg.deleteEntry("Hidden"); // remove old key to avoid bugs from the compat code in applySettings. KDE5: remove. const int currentIconSize = iconSize().width(); //kDebug() << objectName() << currentIconSize << d->iconSizeSettings.toString() << "defaultValue=" << d->iconSizeSettings.defaultValue();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/CMakeLists.txt -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/CMakeLists.txt
Changed
@@ -262,5 +262,3 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/customization/xsl/all-l10n.xml DESTINATION ${DATA_INSTALL_DIR}/ksgmltools2/customization/xsl/ ) - -add_subdirectory(tests)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/de/entities/install-compile.docbook -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/de/entities/install-compile.docbook
Changed
@@ -1,7 +1,7 @@ <para>Ausführliche Anleitungen, um &kde;-Programme auf Ihrem System zu kompilieren und zu installieren, finden Sie unter <ulink url="http://techbase.kde.org/Getting_Started#Building_and_Running_KDE_Software_From_Source"> -KDE aus dem Quelltext installieren</ulink></para> +KDE4 aus dem Quellcode installieren</ulink></para> <para>Da &kde; <command>cmake</command> benutzt, sollte es dabei keine Schwierigkeiten geben. Sollten dennoch Probleme auftauchen, wenden Sie
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/it/entities/install-compile.docbook -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/it/entities/install-compile.docbook
Changed
@@ -1,8 +1,7 @@ <para>Per avere informazioni dettagliate su come compilare e installare le -applicazioni di &kde;, vedi <ulink -url="http://techbase.kde.org/Getting_Started#Building_and_Running_KDE_Software_From_Source"> -Building and Running KDE Software From Source</ulink></para> +applicazioni di &kde;, vedi <ulink url="http://techbase.kde.org/Getting_Started_(it)"> +Generare KDE4 dal codice sorgente</ulink></para> <para>Siccome &kde; usa <command>cmake</command> non dovresti avere problemi a -compilarle. Se invece dovessi incontrarne, segnalali alle liste di +compilarlo. Se invece dovessi incontrarne, per piacere, segnalali alle liste di distribuzione di &kde;.</para>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/nl/user.entities -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/nl/user.entities
Changed
@@ -43,8 +43,7 @@ <!ENTITY Hannie.Lafeber-Dumoleyn '<othercredit role="translator"><firstname>Hannie</firstname><surname>Lafeber-Dumoleyn</surname><affiliation><address><email>hannie@kde.nl</email></address></affiliation><contrib>Vertaler/Nalezer</contrib></othercredit>'> <!ENTITY Ruben.Van.Laerhoven '<othercredit role="translator"><firstname>Ruben</firstname><surname>Van Laerhoven</surname><affiliation><address><email>rubentje1991@gmail.com</email></address></affiliation><contrib>Vertaler/Nalezer</contrib></othercredit>'> <!ENTITY Thom.Castermans '<othercredit role="translator"><firstname>Thom</firstname><surname>Castermans</surname><affiliation><address><email>thomcastermans@kde.nl</email></address></affiliation><contrib>Vertaler/Nalezer</contrib></othercredit>'> -<!ENTITY Ronald.Stroethoff '<othercredit role="translator"><firstname>Ronald</firstname><surname>Stroethoff</surname><affiliation><address><email>stroet43@zonnet.nl</email></address></affiliation><contrib>Vertaler</contrib></othercredit>'> -<!ENTITY Ivo.de.Klerk '<othercredit role="translator"><firstname>Ivo M.</firstname><surname>de Klerk</surname><affiliation><address><email>imklerk@hetnet.nl</email></address></affiliation><contrib>Vertaler</contrib></othercredit>'> +<!ENTITY Ronald.Stroethoff '<othercredit role="translator"><firstname>Ronald</firstname><surname>Stroethoff</surname><affiliation><address><email>stroet43@zonnet.nl</email></address></affiliation><contrib>Vertaler/Nalezer</contrib></othercredit>'> <!ENTITY kde.nl.groep "<email>i18n@kde.nl</email>"> <!-- Tekstschema's --> @@ -88,7 +87,6 @@ <!ENTITY vertaling.ruben "<para>Dit document is vertaald in het Nederlands door &Ruben.Van.Laerhoven;.</para>"> <!ENTITY vertaling.thom "<para>Dit document is vertaald in het Nederlands door &Thom.Castermans;.</para>"> <!ENTITY vertaling.ronald "<para>Dit document is vertaald in het Nederlands door &Ronald.Stroethoff;.</para>"> -<!ENTITY vertaling.ivo "<para>Dit document is vertaald in het Nederlands door &Ivo.de.Klerk;.</para>"> <!-- Gebruiken als template voor nieuwe vertalers/nalezers
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/ro/entities/underLGPL.docbook -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/ro/entities/underLGPL.docbook
Changed
@@ -1,3 +1,3 @@ -<para>Acest program este licenÅ£iat sub termenii <ulink -url="common/lgpl-license.html">LicenÅ£ei Publice Generale Permisive GNU</ulink> +<para>Acest program este licenþiat sub termenii <ulink +url="common/lgpl-license.html">Licenþei Publice Generale Permisive GNU</ulink> (GNU Lesser General Public License).</para>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/tr/entities/underArtisticLicense.docbook -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/tr/entities/underArtisticLicense.docbook
Changed
@@ -1,2 +1,2 @@ -<para>Bu yazýlým <ulink -url="common/artistic-license.html">Sanatsal Lisans</ulink> altýnda daðýtýlmaktadýr.</para> +<para>Bu yazýlým <ulink +url="common/artistic-license.html">Sanatsal Lisans</ulink> altýnda daðýtýlmaktadýr.</para>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/tr/entities/underBSDLicense.docbook -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/tr/entities/underBSDLicense.docbook
Changed
@@ -1,2 +1,2 @@ -<para>Bu yazýlým, <ulink -url="common/bsd-license.html">BSD Lisansý</ulink> altýnda daðýtýlmaktadýr.</para> +<para>Bu yazýlým, <ulink +url="common/bsd-license.html">BSD Lisansý</ulink> altýnda daðýtýlmaktadýr.</para>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/tr/entities/underX11License.docbook -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/tr/entities/underX11License.docbook
Changed
@@ -1,2 +1,2 @@ -<para>Bu yazýlým <ulink -url="common/x11-license.html">X11 Lisansý</ulink> altýnda daðýtýlmaktadýr.</para> +<para>Bu yazýlým <ulink +url="common/x11-license.html">X11 Lisansý</ulink> altýnda daðýtýlmaktadýr.</para>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/tr/entities/update-doc.docbook -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/tr/entities/update-doc.docbook
Changed
@@ -1,4 +1,4 @@ -<!--<para>Kurulumdan sonra bu belgenin güncel sürümleri çýkmýþ olabilir. +<!--<para>Kurulumdan sonra bu belgenin güncel sürümleri çýkmýþ olabilir. <ulink url="http://docs.kde.org/page#&kappname;">http://docs.kde.org/page#&kappname;</ulink> -adresine bakarak daha yeni bir sürümün olup olmadýðýný kontrol edin.</para> --> +adresine bakarak daha yeni bir sürümün olup olmadýðýný kontrol edin.</para> -->
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/customization/zh-CN/user.entities -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/customization/zh-CN/user.entities
Changed
@@ -8,30 +8,30 @@ <!ENTITY Alt "<keycap>Alt</keycap>"> <!ENTITY Backspace "<keycap>Backspace</keycap>"> -<!ENTITY cdrom '<hardware>CD-ROM 驱å¨å¨</hardware>'> +<!ENTITY cdrom '<hardware>CD-ROM Çý¶¯Æ÷</hardware>'> <!ENTITY Ctrl "<keycap>Ctrl</keycap>"> <!ENTITY dpi '<acronym>dpi</acronym>'> -<!ENTITY eg "<abbrev>å¦</abbrev>"> +<!ENTITY eg "<abbrev>Èç</abbrev>"> <!ENTITY Enter "<keycap>Enter</keycap>"> <!ENTITY Esc "<keycap>Esc</keycap>"> -<!ENTITY etc "<abbrev>çç</abbrev>"> -<!ENTITY FAQ '常è§é®é¢è§£ç'> +<!ENTITY etc "<abbrev>µÈµÈ</abbrev>"> +<!ENTITY FAQ '³£¼ûÎÊÌâ½â´ð'> <!ENTITY ie "<abbrev>i.e.</abbrev>"> -<!ENTITY infocenter "<application>ä¿¡æ¯ä¸å¿</application>"> -<!ENTITY kcontrolcenter "<application>&kde; æ§å¶ä¸å¿</application>"> +<!ENTITY infocenter "<application>ÐÅÏ¢ÖÐÐÄ</application>"> +<!ENTITY kcontrolcenter "<application>&kde; ¿ØÖÆÖÐÐÄ</application>"> <!ENTITY kicon "<guiicon> <inlinemediaobject> - <objectinfo><title>&kde; ç K 徿 </title></objectinfo> + <objectinfo><title>&kde; µÄ K ͼ±ê</title></objectinfo> <imageobject><imagedata fileref='common/kmenu.png' format='PNG'/></imageobject> <textobject><phrase>K</phrase></textobject> </inlinemediaobject> </guiicon> icon"><!-- if image is localised, then entityref should be used instead of fileref --> -<!ENTITY kmenu "<guimenu>K</guimenu> èå"> -<!ENTITY LMB "é¼ æ <mousebutton>å·¦</mousebutton>é®"> -<!ENTITY MMB "é¼ æ <mousebutton>ä¸</mousebutton>é®"> -<!ENTITY OS "æä½ç³»ç»"><!-- <acronym>OS</acronym>--> -<!ENTITY RMB "é¼ æ <mousebutton>å³</mousebutton>é®"> +<!ENTITY kmenu "<guimenu>K</guimenu> ²Ëµ¥"> +<!ENTITY LMB "Êó±ê<mousebutton>×ó</mousebutton>¼ü"> +<!ENTITY MMB "Êó±ê<mousebutton>ÖÐ</mousebutton>¼ü"> +<!ENTITY OS "²Ù×÷ϵͳ"><!-- <acronym>OS</acronym>--> +<!ENTITY RMB "Êó±ê<mousebutton>ÓÒ</mousebutton>¼ü"> <!ENTITY Shift "<keycap>Shift</keycap>"> -<!ENTITY systemtray "<application>ç³»ç»æç</application>"> +<!ENTITY systemtray "<application>ϵͳÍÐÅÌ</application>"> <!ENTITY Tab "<keycap>Tab</keycap>">
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/meinproc.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/meinproc.cpp
Changed
@@ -158,6 +158,16 @@ } QVector<const char *> params; +#ifndef Q_WS_WIN + // libxslt parses the path given to outputFile as XPath expression which fails + // see libxslt/xsltEvalUserParams + // this parameter is used only by share/apps/ksgmltools2/docbook/xsl/html/math.xsl + // and is not supported on windows yet + if (args->isSet( "output" ) ) { + params.append( qstrdup( "outputFile" ) ); + params.append( qstrdup( args->getOption( "output" ).toLocal8Bit() ) ); + } +#endif { const QStringList paramList = args->getOptionList( "param" ); QStringList::ConstIterator it = paramList.begin();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/xslt.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kdoctools/xslt.cpp
Changed
@@ -157,26 +157,8 @@ INFO(i18n("Parsing document")); - xmlParserCtxtPtr pctxt; - - pctxt = xmlNewParserCtxt(); - if ( pctxt == NULL ) { - return parsed; - } - - xmlDocPtr doc = xmlCtxtReadFile(pctxt, QFile::encodeName(pat), NULL, - XML_PARSE_NOENT|XML_PARSE_DTDLOAD|XML_PARSE_NONET); - /* Check both the returned doc (for parsing errors) and the context - (for validation errors) */ - if (doc == NULL) { - return parsed; - } else { - if (pctxt->valid == 0) { - xmlFreeDoc(doc); - return parsed; - } - } - + xmlDocPtr doc = xmlReadFile(QFile::encodeName(pat), NULL, + XML_PARSE_NOENT|XML_PARSE_DTDLOAD|XML_PARSE_NONET); xsltTransformContextPtr ctxt; ctxt = xsltNewTransformContext(style_sheet, doc);
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/css_mediaquery.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/css_mediaquery.cpp
Changed
@@ -543,7 +543,7 @@ doc = static_cast<DOM::DocumentImpl*>(part->document().handle()); } int logicalDpiY = doc->logicalDpiY(); - return value->isPrimitiveValue() && compareValue(height, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style, style, logicalDpiY), op); + return value->isPrimitiveValue() && compareValue(height, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style,logicalDpiY), op); } // ({,min-,max-}device-height) // assume if we have a device, assume non-zero @@ -566,7 +566,7 @@ doc = static_cast<DOM::DocumentImpl*>(part->document().handle()); } int logicalDpiY = doc->logicalDpiY(); - return value->isPrimitiveValue() && compareValue(width, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style, style, logicalDpiY), op); + return value->isPrimitiveValue() && compareValue(width, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style,logicalDpiY), op); } // ({,min-,max-}device-width) // assume if we have a device, assume non-zero @@ -593,7 +593,7 @@ } int logicalDpiY = doc->logicalDpiY(); if (value) - return value->isPrimitiveValue() && compareValue(width, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style, style, logicalDpiY), op); + return value->isPrimitiveValue() && compareValue(width, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style, logicalDpiY), op); return width > 0; } @@ -614,7 +614,7 @@ } int logicalDpiY = doc->logicalDpiY(); if (value) - return value->isPrimitiveValue() && compareValue(height, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style, style, logicalDpiY), op); + return value->isPrimitiveValue() && compareValue(height, static_cast<CSSPrimitiveValueImpl*>(value)->computeLength(style, logicalDpiY), op); return height > 0; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/css_renderstyledeclarationimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/css_renderstyledeclarationimpl.cpp
Changed
@@ -39,11 +39,9 @@ CSS_PROP_BACKGROUND_IMAGE, CSS_PROP_BACKGROUND_REPEAT, CSS_PROP_BACKGROUND_ATTACHMENT, - CSS_PROP_BACKGROUND_ORIGIN, CSS_PROP_BACKGROUND_POSITION, CSS_PROP_BACKGROUND_POSITION_X, CSS_PROP_BACKGROUND_POSITION_Y, - CSS_PROP_BACKGROUND_SIZE, CSS_PROP_BORDER_COLLAPSE, CSS_PROP_BORDER_SPACING, CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING, @@ -460,24 +458,22 @@ Q_ASSERT( 0 ); } break; - case CSS_PROP_BACKGROUND_ORIGIN: - switch (style->backgroundLayers()->backgroundOrigin()) { - case BGBORDER: - return new CSSPrimitiveValueImpl(CSS_VAL_BORDER_BOX); - case BGPADDING: - return new CSSPrimitiveValueImpl(CSS_VAL_PADDING_BOX); - case BGCONTENT: - return new CSSPrimitiveValueImpl(CSS_VAL_CONTENT_BOX); - } - Q_ASSERT(0); - break; case CSS_PROP_BACKGROUND_POSITION: { RETURN_NULL_ON_NULL(renderer); - CSSValueListImpl *values = new CSSValueListImpl(CSSValueListImpl::Space); - values->append(valueForLength(style->backgroundXPosition(), renderer->contentWidth())); - values->append(valueForLength(style->backgroundYPosition(), renderer->contentHeight())); - return values; + DOMString string; + Length length(style->backgroundXPosition()); + if (length.isPercent()) + string = QString(QString::number(length.percent()) + "%"); + else + string = QString(QString::number(length.minWidth(renderer->contentWidth())) + "px"); + string += " "; + length = style->backgroundYPosition(); + if (length.isPercent()) + string += QString(QString::number(length.percent()) + "%"); + else + string += QString(QString::number(length.minWidth(renderer->contentWidth())) + "px"); + return new CSSPrimitiveValueImpl(string, CSSPrimitiveValue::CSS_STRING); } case CSS_PROP_BACKGROUND_POSITION_X: RETURN_NULL_ON_NULL(renderer); @@ -485,43 +481,6 @@ case CSS_PROP_BACKGROUND_POSITION_Y: RETURN_NULL_ON_NULL(renderer); return valueForLength(style->backgroundYPosition(), renderer->contentHeight()); - case CSS_PROP_BACKGROUND_SIZE: { - const EBackgroundSizeType backgroundSizeType = style->backgroundLayers()->backgroundSizeType(); - switch (backgroundSizeType) { - case BGSCONTAIN: - return new CSSPrimitiveValueImpl(CSS_VAL_CONTAIN); - case BGSCOVER: - return new CSSPrimitiveValueImpl(CSS_VAL_COVER); - case BGSLENGTH: { - const LengthSize bgLengthSize = style->backgroundLayers()->backgroundSize(); - CSSValueListImpl *values = new CSSValueListImpl(CSSValueListImpl::Space); - switch (bgLengthSize.width.type()) { - case Auto: - values->append(new CSSPrimitiveValueImpl(CSS_VAL_AUTO)); - break; - case Percent: - values->append(new CSSPrimitiveValueImpl(bgLengthSize.width.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)); - break; - default: - values->append(new CSSPrimitiveValueImpl(bgLengthSize.width.value(), CSSPrimitiveValue::CSS_PX)); - } - switch (bgLengthSize.height.type()) { - case Auto: - values->append(new CSSPrimitiveValueImpl(CSS_VAL_AUTO)); - break; - case Percent: - values->append(new CSSPrimitiveValueImpl(bgLengthSize.height.percent(), CSSPrimitiveValue::CSS_PERCENTAGE)); - break; - default: - values->append(new CSSPrimitiveValueImpl(bgLengthSize.height.value(), CSSPrimitiveValue::CSS_PX)); - } - return values; - } - default: - Q_ASSERT(0); - } - break; - } case CSS_PROP_BORDER_COLLAPSE: if (style->borderCollapse()) return new CSSPrimitiveValueImpl(CSS_VAL_COLLAPSE); @@ -529,15 +488,18 @@ return new CSSPrimitiveValueImpl(CSS_VAL_SEPARATE); case CSS_PROP_BORDER_SPACING: { - CSSValueListImpl *values = new CSSValueListImpl(CSSValueListImpl::Space); - values->append(new CSSPrimitiveValueImpl(style->borderHorizontalSpacing(), CSSPrimitiveValue::CSS_PX)); - values->append(new CSSPrimitiveValueImpl(style->borderVerticalSpacing(), CSSPrimitiveValue::CSS_PX)); - return values; + QString string(QString::number(style->borderHorizontalSpacing()) + + "px " + + QString::number(style->borderVerticalSpacing()) + + "px"); + return new CSSPrimitiveValueImpl(DOMString(string), CSSPrimitiveValue::CSS_STRING); } case CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING: - return new CSSPrimitiveValueImpl(style->borderHorizontalSpacing(), CSSPrimitiveValue::CSS_PX); + return new CSSPrimitiveValueImpl(style->borderHorizontalSpacing(), + CSSPrimitiveValue::CSS_PX); case CSS_PROP__KHTML_BORDER_VERTICAL_SPACING: - return new CSSPrimitiveValueImpl(style->borderVerticalSpacing(), CSSPrimitiveValue::CSS_PX); + return new CSSPrimitiveValueImpl(style->borderVerticalSpacing(), + CSSPrimitiveValue::CSS_PX); case CSS_PROP__KHTML_BORDER_TOP_RIGHT_RADIUS: case CSS_PROP_BORDER_TOP_RIGHT_RADIUS: return valueForBorderRadii(style->borderTopRightRadius());
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/css_valueimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/css_valueimpl.cpp
Changed
@@ -37,6 +37,8 @@ #include <xml/dom_stringimpl.h> #include <xml/dom_docimpl.h> +#include <misc/loader.h> + #include <rendering/font.h> #include <rendering/render_style.h> @@ -197,8 +199,7 @@ DOMString CSSStyleDeclarationImpl::getPropertyValue( int propertyID ) const { - if (!m_lstValues || m_lstValues->isEmpty()) return DOMString(); - + if(!m_lstValues) return DOMString(); CSSValueImpl* value = getPropertyCSSValue( propertyID ); if ( value ) return value->cssText(); @@ -428,7 +429,7 @@ CSSValueImpl *CSSStyleDeclarationImpl::getPropertyCSSValue( int propertyID ) const { - if (!m_lstValues || m_lstValues->isEmpty()) return 0; + if(!m_lstValues) return 0; QListIterator<CSSProperty*> lstValuesIt(*m_lstValues); CSSProperty *current; @@ -645,7 +646,7 @@ void CSSStyleDeclarationImpl::removeProperty(int propertyID, DOM::DOMString* old) { - if (!m_lstValues || m_lstValues->isEmpty()) + if(!m_lstValues) return; bool changed = false; @@ -732,7 +733,7 @@ bool CSSStyleDeclarationImpl::getPropertyPriority( int propertyID ) const { - if (m_lstValues && !m_lstValues->isEmpty()) { + if ( m_lstValues) { QListIterator<CSSProperty*> lstValuesIt(*m_lstValues); CSSProperty *current; while (lstValuesIt.hasNext()) { @@ -834,26 +835,24 @@ DOM::DOMString CSSStyleDeclarationImpl::cssText() const { - if (!m_lstValues || m_lstValues->isEmpty()) { - return DOMString(); - } - DOMString result; + const CSSProperty* positionXProp = 0; const CSSProperty* positionYProp = 0; - QListIterator<CSSProperty*> lstValuesIt(*m_lstValues); - while (lstValuesIt.hasNext()) { - const CSSProperty* cur = lstValuesIt.next(); - if (cur->id() == CSS_PROP_BACKGROUND_POSITION_X) - positionXProp = cur; - else if (cur->id() == CSS_PROP_BACKGROUND_POSITION_Y) - positionYProp = cur; - else - result += cur->cssText(); + if ( m_lstValues) { + QListIterator<CSSProperty*> lstValuesIt(*m_lstValues); + while (lstValuesIt.hasNext()) { + const CSSProperty* cur = lstValuesIt.next(); + if (cur->id() == CSS_PROP_BACKGROUND_POSITION_X) + positionXProp = cur; + else if (cur->id() == CSS_PROP_BACKGROUND_POSITION_Y) + positionYProp = cur; + else + result += cur->cssText(); + } } - // FIXME: This is a not-so-nice way to turn x/y positions into single background-position in output. // It is required because background-position-x/y are non-standard properties and generated output // would not work in Firefox @@ -962,17 +961,14 @@ DOM::DOMString CSSValueListImpl::cssText() const { - DOMString separatorString; - if (m_separator == Comma) { - separatorString = DOMString(", "); - } else { // Space - separatorString = DOMString(" "); - } - DOMString result = ""; + for (QListIterator<CSSValueImpl*> iterator(m_values); iterator.hasNext();) { if (!result.isEmpty()) { - result += separatorString; + if (m_separator == Comma) + result += ", "; + else if (m_separator == Space) + result += " "; } result += iterator.next()->cssText(); } @@ -1068,12 +1064,12 @@ m_type = 0; } -int CSSPrimitiveValueImpl::computeLength(khtml::RenderStyle *style, khtml::RenderStyle *rootStyle, int logicalDpiY) +int CSSPrimitiveValueImpl::computeLength( khtml::RenderStyle *style, int logicalDpiY) { - return snapValue( computeLengthFloat(style, rootStyle, logicalDpiY) ); + return snapValue( computeLengthFloat( style, logicalDpiY ) ); } -double CSSPrimitiveValueImpl::computeLengthFloat(khtml::RenderStyle *style, khtml::RenderStyle *rootStyle, int logicalDpiY) +double CSSPrimitiveValueImpl::computeLengthFloat( khtml::RenderStyle *style, int logicalDpiY) { unsigned short type = primitiveType(); @@ -1090,21 +1086,11 @@ factor = style->font().pixelSize(); break; case CSSPrimitiveValue::CSS_EXS: - factor = style->htmlFont().xHeight(); - break; - case CSSPrimitiveValue::CSS_CHS: { - const int zw = style->htmlFont().zeroCharWidth(); - if (zw != -1) { - factor = zw; - } else { - // assume 0.5em - return ((double)0.5 * style->font().pixelSize()); - } - break; - } - case CSSPrimitiveValue::CSS_REMS: - factor = rootStyle->font().pixelSize(); + { + QFontMetrics fm = style->fontMetrics(); + factor = fm.xHeight(); break; + } case CSSPrimitiveValue::CSS_PX: break; case CSSPrimitiveValue::CSS_CM: @@ -1224,12 +1210,6 @@ case CSSPrimitiveValue::CSS_EXS: text = DOMString(QString::number( m_value.num ) + "ex"); break; - case CSSPrimitiveValue::CSS_CHS: - text = DOMString(QString::number( m_value.num ) + "ch"); - break; - case CSSPrimitiveValue::CSS_REMS: - text = DOMString(QString::number( m_value.num ) + "rem"); - break; case CSSPrimitiveValue::CSS_PX: text = DOMString(QString::number( m_value.num ) + "px"); break; @@ -1405,11 +1385,22 @@ : CSSPrimitiveValueImpl(url, CSSPrimitiveValue::CSS_URI) { m_image = 0; - const DOMString imgUrl = url.trimSpaces(); - if (!imgUrl.isEmpty()) { - m_fullImageUrl = KUrl(style->baseURL(), imgUrl.string()).url(); - } else { - m_fullImageUrl.clear(); + if (!url.isEmpty()) { + khtml::DocLoader *docLoader = 0; + const StyleBaseImpl *root = style; + while (root->parent()) { + root = root->parent(); + } + if (root->isCSSStyleSheet()) { + docLoader = static_cast<const CSSStyleSheetImpl*>(root)->docLoader(); + } + if (docLoader) { + KUrl fullURL(style->baseURL(), url.string()); + m_image = docLoader->requestImage(fullURL.url()); + if (m_image) { + m_image->ref(this); + } + } } } @@ -1417,7 +1408,6 @@ : CSSPrimitiveValueImpl(CSS_VAL_NONE) { m_image = 0; - m_fullImageUrl.clear(); } CSSImageValueImpl::~CSSImageValueImpl() @@ -1425,17 +1415,6 @@ if(m_image) m_image->deref(this); } -khtml::CachedImage *CSSImageValueImpl::requestCssImage(DocumentImpl* doc) -{ - if (!m_image && !m_fullImageUrl.isEmpty()) { - m_image = doc->docLoader()->requestImage(m_fullImageUrl); - if (m_image) { - m_image->ref(this); - } - } - return m_image; -} - // ------------------------------------------------------------------------ FontFamilyValueImpl::FontFamilyValueImpl( const QString &string)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/css_valueimpl.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/css_valueimpl.h
Changed
@@ -93,6 +93,8 @@ virtual void setChanged(); + void removeCSSHints(); + protected: DOMString getShortHandValue( const int* properties, int number ) const; DOMString getCommonValue(const int* properties, int number) const; @@ -216,9 +218,9 @@ * this is screen/printer dependent, so we probably need a config option for this, * and some tool to calibrate. */ - int computeLength(khtml::RenderStyle *style, khtml::RenderStyle *rootStyle, int logicalDpiY); + int computeLength( khtml::RenderStyle *style, int logicalDpiY); - double computeLengthFloat(khtml::RenderStyle *style, khtml::RenderStyle *rootStyle, int logicalDpiY); + double computeLengthFloat( khtml::RenderStyle *style, int logicalDpiY); /* * rounds a computer value into integer as appropriate. This takes @@ -363,10 +365,9 @@ CSSImageValueImpl(); virtual ~CSSImageValueImpl(); - khtml::CachedImage *requestCssImage(DocumentImpl*); + khtml::CachedImage *image() { return m_image; } protected: khtml::CachedImage *m_image; - QString m_fullImageUrl; }; class FontFamilyValueImpl : public CSSPrimitiveValueImpl
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/css_webfont.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/css_webfont.cpp
Changed
@@ -84,10 +84,10 @@ return true; } -void CSSFontFaceSource::notifyFinished(khtml::CachedObject *finishedObj) +void CSSFontFaceSource::notifyFinished(khtml::CachedObject */*finishedObj*/) { - // Nothing to do if font already added from other src or failed to load - if (m_face->installed() || finishedObj->hadError()) { + if (m_face->installed()) { + // kWarning() << "Font already added from other src"; return; } @@ -652,16 +652,11 @@ { QHash<DOMString, CSSFontFace*>::const_iterator it = m_locallyInstalledFontFaces.constBegin(); QHash<DOMString, CSSFontFace*>::const_iterator end = m_locallyInstalledFontFaces.constEnd(); - if (it == end) { - return; - } - const DOMString familyNameLower = familyName.lower(); - do { - if (it.key() == familyNameLower) { + for ( ; it != end; ++it) { + if (it.key() == familyName.lower()) { it.value()->refLoaders(); } - ++it; - } while (it != end); + } } void CSSFontSelector::fontLoaded()
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/css_webfont.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/css_webfont.h
Changed
@@ -126,7 +126,7 @@ void setFontFace(CSSFontFace* face) { m_face = face; } - virtual void notifyFinished(khtml::CachedObject * finishedObj); + virtual void notifyFinished(khtml::CachedObject * /*finishedObj*/); void refLoader(); // SimpleFontData* getFontData(const FontDef&, bool syntheticBold, bool syntheticItalic, CSSFontSelector*);
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/cssparser.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/cssparser.cpp
Changed
@@ -38,6 +38,8 @@ #include "css_mediaquery.h" #include "cssproperties.h" #include "cssvalues.h" +#include "csshelper.h" +#include <misc/helper.h> #include <stdlib.h> #include <assert.h> @@ -449,8 +451,6 @@ case Value::Q_EMS: case CSSPrimitiveValue::CSS_EMS: case CSSPrimitiveValue::CSS_EXS: - case CSSPrimitiveValue::CSS_CHS: - case CSSPrimitiveValue::CSS_REMS: case CSSPrimitiveValue::CSS_PX: case CSSPrimitiveValue::CSS_CM: case CSSPrimitiveValue::CSS_MM: @@ -978,7 +978,7 @@ if ( id == CSS_VAL_NORMAL ) valid_primitive = true; else - valid_primitive = ( !id && validUnit( value, FNumber|FLength|FPercent|FNonNeg, strict ) ); + valid_primitive = ( !id && validUnit( value, FNumber|FLength|FPercent, strict ) ); break; case CSS_PROP_COUNTER_INCREMENT: // [ <identifier> <integer>? ]+ | none | inherit if ( id == CSS_VAL_NONE ) @@ -1821,26 +1821,24 @@ return new CSSPrimitiveValueImpl(value->id); if (value->id == CSS_VAL_AUTO) - parsedValue1 = new CSSPrimitiveValueImpl(CSS_VAL_AUTO); + parsedValue1 = new CSSPrimitiveValueImpl(0, CSSPrimitiveValue::CSS_UNKNOWN); else { - if (!validUnit(value, FLength|FPercent|FNonNeg, strict)) + if (!validUnit(value, FLength|FPercent, strict)) return 0; parsedValue1 = new CSSPrimitiveValueImpl(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit); } - CSSPrimitiveValueImpl* parsedValue2; + CSSPrimitiveValueImpl* parsedValue2 = parsedValue1; if ((value = valueList->next())) { if (value->id == CSS_VAL_AUTO) - parsedValue2 = new CSSPrimitiveValueImpl(CSS_VAL_AUTO); + parsedValue2 = new CSSPrimitiveValueImpl(0, CSSPrimitiveValue::CSS_UNKNOWN); else { - if (!validUnit(value, FLength|FPercent|FNonNeg, strict)) { + if (!validUnit(value, FLength|FPercent, strict)) { delete parsedValue1; return 0; } parsedValue2 = new CSSPrimitiveValueImpl(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit); } - } else { - parsedValue2 = new CSSPrimitiveValueImpl(CSS_VAL_AUTO); } PairImpl* pair = new PairImpl(parsedValue1, parsedValue2); @@ -2147,7 +2145,7 @@ goto invalid; if ( value->id == CSS_VAL_NORMAL ) { // default value, nothing to do - } else if ( validUnit( value, FNumber|FLength|FPercent|FNonNeg, strict ) ) { + } else if ( validUnit( value, FNumber|FLength|FPercent, strict ) ) { lineHeight = new CSSPrimitiveValueImpl( value->fValue, (CSSPrimitiveValue::UnitTypes) value->unit ); } else { goto invalid; @@ -2313,8 +2311,9 @@ while ((val = valueList->current())) { CSSFontFaceSrcValueImpl* parsedValue = 0; if (val->unit == CSSPrimitiveValue::CSS_URI && !expectComma && styleElement) { - const DOMString uri = domString(val->string).trimSpaces(); - parsedValue = new CSSFontFaceSrcValueImpl(DOMString(KUrl(styleElement->baseURL(), uri.string()).url()), false /*local*/); + DOMString uri = khtml::parseURL( domString( val->string ) ); + parsedValue = new CSSFontFaceSrcValueImpl( + DOMString(KUrl( styleElement->baseURL(), uri.string()).url()), false /*local*/); uriValue = parsedValue; allowFormat = true; expectComma = true; @@ -2925,13 +2924,11 @@ case RADS: case KHERZ: case DPI: - case REMS: length--; case MSECS: case HERZ: case EMS: case EXS: - case CHS: case PXS: case CMS: case MMS:
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/cssstyleselector.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/cssstyleselector.cpp
Changed
@@ -630,9 +630,6 @@ else parentStyle = style; - const RenderObject *docElementRenderer = e->document()->documentElement()->renderer(); - m_rootStyle = docElementRenderer ? docElementRenderer->style() : m_rootDefaultStyle; - // try to sort out most style rules as early as possible. quint16 cssTagId = localNamePart(element->id()); int smatch = 0; @@ -2255,7 +2252,7 @@ // ------------------------------------------------------------------------------------- // this is mostly boring stuff on how to apply a certain rule to the renderstyle... -static Length convertToLength(CSSPrimitiveValueImpl *primitiveValue, RenderStyle *style, khtml::RenderStyle *rootStyle, int logicalDpiY, bool *ok = 0) +static Length convertToLength( CSSPrimitiveValueImpl *primitiveValue, RenderStyle *style, int logicalDpiY, bool *ok = 0 ) { Length l; if ( !primitiveValue ) { @@ -2264,7 +2261,7 @@ } else { int type = primitiveValue->primitiveType(); if(type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) - l = Length(primitiveValue->computeLength(style, rootStyle, logicalDpiY), Fixed); + l = Length(primitiveValue->computeLength(style, logicalDpiY), Fixed); else if(type == CSSPrimitiveValue::CSS_PERCENTAGE) l = Length(primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); else if(type == CSSPrimitiveValue::CSS_NUMBER) @@ -2278,7 +2275,7 @@ } // Extracts out border radii lengths from a pair -static BorderRadii convertToBorderRadii(CSSPrimitiveValueImpl *value, RenderStyle *style, khtml::RenderStyle *rootStyle, int logicalDpiY) +static BorderRadii convertToBorderRadii(CSSPrimitiveValueImpl *value, RenderStyle *style, int logicalDpiY) { BorderRadii ret; if (!value) @@ -2289,8 +2286,8 @@ return ret; assert(p->first()->isPrimitiveValue() && p->second()->isPrimitiveValue()); - ret.horizontal = static_cast<CSSPrimitiveValueImpl*>(p->first())->computeLength(style, rootStyle, logicalDpiY); - ret.vertical = static_cast<CSSPrimitiveValueImpl*>(p->second())->computeLength(style, rootStyle, logicalDpiY); + ret.horizontal = static_cast<CSSPrimitiveValueImpl*>(p->first())->computeLength(style, logicalDpiY); + ret.vertical = static_cast<CSSPrimitiveValueImpl*>(p->second())->computeLength(style, logicalDpiY); return ret; } @@ -2935,14 +2932,14 @@ case CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING: { HANDLE_INITIAL_AND_INHERIT_ON_NONINHERITED_PROPERTY(borderHorizontalSpacing, BorderHorizontalSpacing) if (!primitiveValue) break; - short spacing = primitiveValue->computeLength(style, m_rootStyle, logicalDpiY); + short spacing = primitiveValue->computeLength(style, logicalDpiY); style->setBorderHorizontalSpacing(spacing); break; } case CSS_PROP__KHTML_BORDER_VERTICAL_SPACING: { HANDLE_INITIAL_AND_INHERIT_ON_NONINHERITED_PROPERTY(borderVerticalSpacing, BorderVerticalSpacing) if (!primitiveValue) break; - short spacing = primitiveValue->computeLength(style, m_rootStyle, logicalDpiY); + short spacing = primitiveValue->computeLength(style, logicalDpiY); style->setBorderVerticalSpacing(spacing); break; } @@ -2950,19 +2947,19 @@ // ### should these handle initial & inherit? case CSS_PROP__KHTML_BORDER_TOP_RIGHT_RADIUS: case CSS_PROP_BORDER_TOP_RIGHT_RADIUS: - style->setBorderTopRightRadius(convertToBorderRadii(primitiveValue, style, m_rootStyle, logicalDpiY)); + style->setBorderTopRightRadius(convertToBorderRadii(primitiveValue, style, logicalDpiY)); break; case CSS_PROP__KHTML_BORDER_TOP_LEFT_RADIUS: case CSS_PROP_BORDER_TOP_LEFT_RADIUS: - style->setBorderTopLeftRadius(convertToBorderRadii(primitiveValue, style, m_rootStyle, logicalDpiY)); + style->setBorderTopLeftRadius(convertToBorderRadii(primitiveValue, style, logicalDpiY)); break; case CSS_PROP__KHTML_BORDER_BOTTOM_RIGHT_RADIUS: case CSS_PROP_BORDER_BOTTOM_RIGHT_RADIUS: - style->setBorderBottomRightRadius(convertToBorderRadii(primitiveValue, style, m_rootStyle, logicalDpiY)); + style->setBorderBottomRightRadius(convertToBorderRadii(primitiveValue, style, logicalDpiY)); break; case CSS_PROP__KHTML_BORDER_BOTTOM_LEFT_RADIUS: case CSS_PROP_BORDER_BOTTOM_LEFT_RADIUS: - style->setBorderBottomLeftRadius(convertToBorderRadii(primitiveValue, style, m_rootStyle, logicalDpiY)); + style->setBorderBottomLeftRadius(convertToBorderRadii(primitiveValue, style, logicalDpiY)); break; case CSS_PROP_CURSOR: @@ -3100,7 +3097,8 @@ { HANDLE_INITIAL_AND_INHERIT_ON_INHERITED_PROPERTY(listStyleImage, ListStyleImage) if (!primitiveValue) return; - style->setListStyleImage(static_cast<CSSImageValueImpl *>(primitiveValue)->requestCssImage(element->document())); + style->setListStyleImage(static_cast<CSSImageValueImpl *>(primitiveValue)->image()); + //kDebug( 6080 ) << "setting image in list to " << image->image(); break; } @@ -3144,7 +3142,7 @@ break; case CSS_VAL_INVALID: { - double widthd = primitiveValue->computeLengthFloat(style, m_rootStyle, logicalDpiY); + double widthd = primitiveValue->computeLengthFloat(style, logicalDpiY); width = CSSPrimitiveValueImpl::snapValue(widthd); // somewhat resemble Mozilla's granularity // this makes border-width: 0.5pt borders visible @@ -3195,7 +3193,7 @@ int width = 0; if (primitiveValue->getIdent() != CSS_VAL_NORMAL) - width = primitiveValue->computeLength(style, m_rootStyle, logicalDpiY); + width = primitiveValue->computeLength(style, logicalDpiY); switch(id) { @@ -3286,7 +3284,8 @@ int type = primitiveValue->primitiveType(); if(type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) // Handle our quirky margin units if we have them. - l = Length(primitiveValue->computeLength(style, m_rootStyle, logicalDpiY), Fixed, primitiveValue->isQuirkValue()); + l = Length(primitiveValue->computeLength(style, logicalDpiY), Fixed, + primitiveValue->isQuirkValue()); else if(type == CSSPrimitiveValue::CSS_PERCENTAGE) l = Length(primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); else if (type == CSSPrimitiveValue::CSS_HTML_RELATIVE) @@ -3363,7 +3362,7 @@ { int type = primitiveValue->primitiveType(); if(type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) - l = Length(primitiveValue->computeLength(style, m_rootStyle, logicalDpiY), Fixed); + l = Length(primitiveValue->computeLength(style, logicalDpiY), Fixed); else if(type == CSSPrimitiveValue::CSS_PERCENTAGE) l = Length(primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); else @@ -3421,7 +3420,7 @@ int type = primitiveValue->primitiveType(); Length l; if(type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) - l = Length(primitiveValue->computeLength(style, m_rootStyle, logicalDpiY), Fixed); + l = Length(primitiveValue->computeLength(style, logicalDpiY), Fixed ); else if(type == CSSPrimitiveValue::CSS_PERCENTAGE) l = Length( primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent ); @@ -3435,8 +3434,6 @@ FontDef fontDef = style->htmlFont().fontDef; int size = 0; - const bool isRootElement = element && (element->document()->documentElement() == element); - if (isInherit ) size = parentStyle->font().pixelSize(); else if (isInitial) @@ -3477,14 +3474,13 @@ } } else { - const int type = primitiveValue->primitiveType(); + int type = primitiveValue->primitiveType(); if (type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) { - // Scale for the font zoom factor only for types other than "em", "ex", "ch", "rem", - // since those are already based on the font size. - if (!khtml::printpainter && !(type >= CSSPrimitiveValue::CSS_EMS && type <= CSSPrimitiveValue::CSS_REMS) && view && view->part()) { - size = qRound(primitiveValue->computeLengthFloat(parentStyle, m_rootStyle, logicalDpiY) * view->part()->fontScaleFactor() / 100.0); + if (!khtml::printpainter && type != CSSPrimitiveValue::CSS_EMS && type != CSSPrimitiveValue::CSS_EXS && + view && view->part()) { + size = qRound(primitiveValue->computeLengthFloat(parentStyle, logicalDpiY) * view->part()->fontScaleFactor() / 100.0); } else { - size = qRound(primitiveValue->computeLengthFloat(parentStyle, isRootElement ? m_rootDefaultStyle : m_rootStyle, logicalDpiY)); + size = qRound(primitiveValue->computeLengthFloat(parentStyle, logicalDpiY)); } } else if (type == CSSPrimitiveValue::CSS_PERCENTAGE) { size = qRound(primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE) * parentStyle->font().pixelSize() / 100.0); @@ -3503,14 +3499,6 @@ fontDef.size = size; fontDirty |= style->setFontDef( fontDef ); - - if (isRootElement) { - // We changed font size of root element, update now our root style reference - // so that root css properties based on 'rem' unit are correctly computed - // TESTCASE: html { font-size: 30px; width: 10rem; border: solid; } - m_rootStyle = style; - } - return; } @@ -3570,17 +3558,18 @@ HANDLE_INITIAL_AND_INHERIT_ON_INHERITED_PROPERTY(lineHeight, LineHeight) if(!primitiveValue) return; Length lineHeight; - const int type = primitiveValue->primitiveType(); + int type = primitiveValue->primitiveType(); if (primitiveValue->getIdent() == CSS_VAL_NORMAL) lineHeight = Length( -100.0, Percent ); else if (type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) { - // Scale for the font zoom factor only for types other than "em", "ex", "ch", "rem", - // since those are already based on the font size. - if (!khtml::printpainter && !(type >= CSSPrimitiveValue::CSS_EMS && type <= CSSPrimitiveValue::CSS_REMS) && view && view->part()) { - lineHeight = Length(primitiveValue->computeLength(style, m_rootStyle, logicalDpiY) * view->part()->fontScaleFactor() / 100, Fixed); - } else { - lineHeight = Length(primitiveValue->computeLength(style, m_rootStyle, logicalDpiY), Fixed); - } + // Scale for the font zoom factor only for types other than "em" and "ex", since those are + // already based on the font size. + if ( !khtml::printpainter && type != CSSPrimitiveValue::CSS_EMS && type != CSSPrimitiveValue::CSS_EXS && + view && view->part()) + lineHeight = Length(primitiveValue->computeLength(style, logicalDpiY) * + view->part()->fontScaleFactor()/100, Fixed ); + else + lineHeight = Length(primitiveValue->computeLength(style, logicalDpiY), Fixed ); } else if (type == CSSPrimitiveValue::CSS_PERCENTAGE) lineHeight = Length( ( style->font().pixelSize() * int(primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE)) ) / 100, Fixed ); else if (type == CSSPrimitiveValue::CSS_NUMBER) @@ -3623,16 +3612,16 @@ hasClip = true; // As a convention, we pass in auto as Length(Auto). See RenderBox::clipRect top = rect->top()->getIdent() == CSS_VAL_AUTO ? Length(Auto) - : convertToLength(rect->top(), style, m_rootStyle, logicalDpiY); + : convertToLength( rect->top(), style, logicalDpiY ); right = rect->right()->getIdent() == CSS_VAL_AUTO ? Length(Auto) - : convertToLength(rect->right(), style, m_rootStyle, logicalDpiY); + : convertToLength( rect->right(), style, logicalDpiY ); bottom = rect->bottom()->getIdent() == CSS_VAL_AUTO ? Length(Auto) - : convertToLength(rect->bottom(), style, m_rootStyle, logicalDpiY); + : convertToLength( rect->bottom(), style, logicalDpiY ); left = rect->left()->getIdent() == CSS_VAL_AUTO ? Length(Auto) - : convertToLength(rect->left(), style, m_rootStyle, logicalDpiY); + : convertToLength( rect->left(), style, logicalDpiY ); } } @@ -3703,7 +3692,7 @@ else if (val->primitiveType()==CSSPrimitiveValue::CSS_URI) { CSSImageValueImpl *image = static_cast<CSSImageValueImpl *>(val); - style->addContent(image->requestCssImage(element->document())); + style->addContent(image->image()); } else if (val->primitiveType()==CSSPrimitiveValue::CSS_COUNTER) { @@ -4115,7 +4104,7 @@ case CSS_PROP_OUTLINE_OFFSET: { HANDLE_INITIAL_AND_INHERIT_ON_NONINHERITED_PROPERTY(outlineOffset, OutlineOffset) - int offset = primitiveValue->computeLength(style, m_rootStyle, logicalDpiY); + int offset = primitiveValue->computeLength(style, logicalDpiY); if (offset < 0) return; style->setOutlineOffset(offset); @@ -4142,9 +4131,9 @@ for (int i = 0; i < len; i++) { ShadowValueImpl *item = static_cast<ShadowValueImpl*>(list->item(i)); - int x = item->x->computeLength(style, m_rootStyle, logicalDpiY); - int y = item->y->computeLength(style, m_rootStyle, logicalDpiY); - int blur = item->blur ? item->blur->computeLength(style, m_rootStyle, logicalDpiY) : 0; + int x = item->x->computeLength(style, logicalDpiY); + int y = item->y->computeLength(style, logicalDpiY); + int blur = item->blur ? item->blur->computeLength(style, logicalDpiY) : 0; QColor col = khtml::transparentColor; if (item->color) { int ident = item->color->getIdent(); @@ -4228,7 +4217,7 @@ } else { bool ok = true; - Length l = convertToLength(primitiveValue, style, m_rootStyle, logicalDpiY, &ok); + Length l = convertToLength(primitiveValue, style, logicalDpiY, &ok); if (ok) style->setMarqueeIncrement(l); } @@ -4390,7 +4379,7 @@ if (!value->isPrimitiveValue()) return; CSSPrimitiveValueImpl* primitiveValue = static_cast<CSSPrimitiveValueImpl*>(value); - layer->setBackgroundImage(static_cast<CSSImageValueImpl *>(primitiveValue)->requestCssImage(element->document())); + layer->setBackgroundImage(static_cast<CSSImageValueImpl *>(primitiveValue)->image()); } void CSSStyleSelector::mapBackgroundRepeat(BackgroundLayer* layer, DOM::CSSValueImpl* value) @@ -4434,13 +4423,9 @@ return; CSSPrimitiveValueImpl* primitiveValue = static_cast<CSSPrimitiveValueImpl*>(value); - const int id = primitiveValue->getIdent(); - if (id == CSS_VAL_CONTAIN) { - layer->setBackgroundSizeType(BGSCONTAIN); - return; - } - if (id == CSS_VAL_COVER) { - layer->setBackgroundSizeType(BGSCOVER); + int id = primitiveValue->getIdent(); + if (id == CSS_VAL_CONTAIN || id == CSS_VAL_COVER) { + layer->setBackgroundSizeType( (id == CSS_VAL_CONTAIN) ? BGSCONTAIN : BGSCOVER ); return; } @@ -4455,32 +4440,26 @@ return; Length firstLength, secondLength; + int firstType = first->primitiveType(); + int secondType = second->primitiveType(); - if (first->getIdent() == CSS_VAL_AUTO) { + if (firstType == CSSPrimitiveValue::CSS_UNKNOWN) firstLength = Length(Auto); - } else { - const int type = first->primitiveType(); - if (type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) { - firstLength = Length(first->computeLength(style, m_rootStyle, logicalDpiY), Fixed); - } else if (type == CSSPrimitiveValue::CSS_PERCENTAGE) { - firstLength = Length(first->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); - } else { - return; - } - } + else if (firstType > CSSPrimitiveValue::CSS_PERCENTAGE && firstType < CSSPrimitiveValue::CSS_DEG) + firstLength = Length(first->computeLength(style, logicalDpiY), Fixed); + else if (firstType == CSSPrimitiveValue::CSS_PERCENTAGE) + firstLength = Length(first->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); + else + return; - if (second->getIdent() == CSS_VAL_AUTO) { + if (secondType == CSSPrimitiveValue::CSS_UNKNOWN) secondLength = Length(Auto); - } else { - const int type = second->primitiveType(); - if (type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) { - secondLength = Length(second->computeLength(style, m_rootStyle, logicalDpiY), Fixed); - } else if (type == CSSPrimitiveValue::CSS_PERCENTAGE) { - secondLength = Length(second->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); - } else { - return; - } - } + else if (secondType > CSSPrimitiveValue::CSS_PERCENTAGE && secondType < CSSPrimitiveValue::CSS_DEG) + secondLength = Length(second->computeLength(style, logicalDpiY), Fixed); + else if (secondType == CSSPrimitiveValue::CSS_PERCENTAGE) + secondLength = Length(second->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); + else + return; b.width = firstLength; b.height = secondLength; @@ -4499,7 +4478,7 @@ Length l; int type = primitiveValue->primitiveType(); if(type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) - l = Length(primitiveValue->computeLength(style, m_rootStyle, logicalDpiY), Fixed); + l = Length(primitiveValue->computeLength(style, logicalDpiY), Fixed); else if(type == CSSPrimitiveValue::CSS_PERCENTAGE) l = Length(primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); else @@ -4519,7 +4498,7 @@ Length l; int type = primitiveValue->primitiveType(); if(type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) - l = Length(primitiveValue->computeLength(style, m_rootStyle, logicalDpiY), Fixed); + l = Length(primitiveValue->computeLength(style, logicalDpiY), Fixed); else if(type == CSSPrimitiveValue::CSS_PERCENTAGE) l = Length(primitiveValue->floatValue(CSSPrimitiveValue::CSS_PERCENTAGE), Percent); else
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/cssstyleselector.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/cssstyleselector.h
Changed
@@ -321,7 +321,6 @@ RenderStyle *style; RenderStyle *parentStyle; - RenderStyle *m_rootStyle; // needed to compute 'rem' lengths DOM::ElementImpl *element; DOM::NodeImpl *parentNode; KHTMLView *view;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/parser.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/parser.cpp
Changed
@@ -248,31 +248,29 @@ QEMS = 286, EMS = 287, EXS = 288, - CHS = 289, - REMS = 290, - PXS = 291, - CMS = 292, - MMS = 293, - INS = 294, - PTS = 295, - PCS = 296, - DEGS = 297, - RADS = 298, - GRADS = 299, - MSECS = 300, - SECS = 301, - HERZ = 302, - KHERZ = 303, - DPI = 304, - DPCM = 305, - DIMEN = 306, - PERCENTAGE = 307, - FLOAT = 308, - INTEGER = 309, - URI = 310, - FUNCTION = 311, - NOTFUNCTION = 312, - UNICODERANGE = 313 + PXS = 289, + CMS = 290, + MMS = 291, + INS = 292, + PTS = 293, + PCS = 294, + DEGS = 295, + RADS = 296, + GRADS = 297, + MSECS = 298, + SECS = 299, + HERZ = 300, + KHERZ = 301, + DPI = 302, + DPCM = 303, + DIMEN = 304, + PERCENTAGE = 305, + FLOAT = 306, + INTEGER = 307, + URI = 308, + FUNCTION = 309, + NOTFUNCTION = 310, + UNICODERANGE = 311 }; #endif @@ -557,20 +555,20 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 19 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 633 +#define YYLAST 619 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 78 +#define YYNTOKENS 76 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 69 /* YYNRULES -- Number of rules. */ -#define YYNRULES 201 +#define YYNRULES 199 /* YYNRULES -- Number of states. */ -#define YYNSTATES 382 +#define YYNSTATES 378 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 313 +#define YYMAXUTOK 311 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -582,15 +580,15 @@ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 68, 69, 19, 66, 70, 73, 17, 76, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 16, 67, - 2, 75, 72, 2, 77, 2, 2, 2, 2, 2, + 66, 67, 19, 64, 68, 71, 17, 74, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 16, 65, + 2, 73, 70, 2, 75, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 18, 2, 74, 2, 2, 2, 2, 2, 2, + 2, 18, 2, 72, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 64, 20, 65, 71, 2, 2, 2, + 2, 2, 2, 62, 20, 63, 69, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -609,7 +607,7 @@ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63 + 60, 61 }; #if YYDEBUG @@ -636,106 +634,103 @@ 533, 535, 538, 541, 544, 547, 550, 553, 555, 557, 560, 563, 566, 569, 572, 575, 578, 581, 584, 587, 590, 593, 596, 599, 602, 605, 608, 611, 614, 617, - 620, 623, 626, 632, 636, 639, 643, 647, 650, 656, - 660, 662 + 620, 626, 630, 633, 637, 641, 644, 650, 654, 656 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 79, 0, -1, 87, 89, 88, 91, 93, 97, -1, - 81, 87, -1, 82, 87, -1, 83, 87, -1, 85, - 87, -1, 84, 87, -1, 117, -1, 92, -1, 94, - -1, 27, 64, 87, 80, 87, 65, -1, 28, 132, - -1, 29, 64, 87, 137, 65, -1, 31, 64, 87, - 118, 65, -1, 30, 4, 87, 107, 65, -1, -1, - 66, -1, -1, 87, 4, -1, -1, 88, 5, -1, - 88, 4, -1, -1, 90, -1, 25, 87, 11, 87, - 67, -1, 25, 1, 145, -1, 25, 1, 67, -1, - -1, 91, 92, 88, -1, 21, 87, 100, 87, 108, - 67, -1, 21, 1, 145, -1, 21, 1, 67, -1, - -1, 93, 95, 88, -1, 26, 87, 96, 100, -1, - 94, 87, 67, -1, 26, 1, 145, -1, 26, 1, - 67, -1, -1, 12, 4, -1, -1, 97, 98, 88, - -1, 117, -1, 110, -1, 113, -1, 114, -1, 144, - -1, 143, -1, 92, 1, -1, 117, -1, 144, -1, - 143, -1, 92, 1, -1, 11, -1, 60, -1, 12, - 87, -1, -1, 16, 87, 137, 87, -1, 68, 87, - 101, 87, 102, 69, 87, -1, 103, -1, 104, 87, - 35, 87, 103, -1, -1, 35, 87, 104, -1, -1, - 33, -1, 34, -1, 104, -1, 106, 87, 112, 105, - -1, -1, 109, -1, 107, -1, 109, 70, 87, 107, - -1, 109, 1, -1, 23, 87, 109, 64, 87, 111, - 65, -1, 23, 87, 64, 87, 111, 65, -1, -1, - 111, 99, 87, -1, 12, 87, -1, 22, 1, 145, - -1, 22, 1, 67, -1, 24, 87, 132, -1, 24, - 1, 145, -1, 24, 1, 67, -1, 66, 87, -1, - 71, 87, -1, 72, 87, -1, 73, -1, 66, -1, - 118, 132, -1, 119, -1, 118, 70, 87, 119, -1, - 118, 1, -1, 121, -1, 119, 4, -1, 119, 4, - 121, -1, 119, 115, 121, -1, 119, 1, -1, 20, - -1, 19, 20, -1, 12, 20, -1, 123, -1, 123, - 124, -1, 124, -1, 120, 123, -1, 120, 123, 124, - -1, 120, 124, -1, 123, -1, 125, -1, 120, 123, - -1, 120, 125, -1, 12, -1, 19, -1, 125, -1, - 124, 125, -1, 124, 1, -1, 14, -1, 126, -1, - 128, -1, 131, -1, 17, 12, -1, 12, 87, -1, - 18, 87, 127, 74, -1, 18, 87, 127, 129, 87, - 130, 87, 74, -1, 18, 87, 120, 127, 74, -1, - 18, 87, 120, 127, 129, 87, 130, 87, 74, -1, - 75, -1, 6, -1, 7, -1, 8, -1, 9, -1, + 77, 0, -1, 85, 87, 86, 89, 91, 95, -1, + 79, 85, -1, 80, 85, -1, 81, 85, -1, 83, + 85, -1, 82, 85, -1, 115, -1, 90, -1, 92, + -1, 27, 62, 85, 78, 85, 63, -1, 28, 130, + -1, 29, 62, 85, 135, 63, -1, 31, 62, 85, + 116, 63, -1, 30, 4, 85, 105, 63, -1, -1, + 64, -1, -1, 85, 4, -1, -1, 86, 5, -1, + 86, 4, -1, -1, 88, -1, 25, 85, 11, 85, + 65, -1, 25, 1, 143, -1, 25, 1, 65, -1, + -1, 89, 90, 86, -1, 21, 85, 98, 85, 106, + 65, -1, 21, 1, 143, -1, 21, 1, 65, -1, + -1, 91, 93, 86, -1, 26, 85, 94, 98, -1, + 92, 85, 65, -1, 26, 1, 143, -1, 26, 1, + 65, -1, -1, 12, 4, -1, -1, 95, 96, 86, + -1, 115, -1, 108, -1, 111, -1, 112, -1, 142, + -1, 141, -1, 90, 1, -1, 115, -1, 142, -1, + 141, -1, 90, 1, -1, 11, -1, 58, -1, 12, + 85, -1, -1, 16, 85, 135, 85, -1, 66, 85, + 99, 85, 100, 67, 85, -1, 101, -1, 102, 85, + 35, 85, 101, -1, -1, 35, 85, 102, -1, -1, + 33, -1, 34, -1, 102, -1, 104, 85, 110, 103, + -1, -1, 107, -1, 105, -1, 107, 68, 85, 105, + -1, 107, 1, -1, 23, 85, 107, 62, 85, 109, + 63, -1, 23, 85, 62, 85, 109, 63, -1, -1, + 109, 97, 85, -1, 12, 85, -1, 22, 1, 143, + -1, 22, 1, 65, -1, 24, 85, 130, -1, 24, + 1, 143, -1, 24, 1, 65, -1, 64, 85, -1, + 69, 85, -1, 70, 85, -1, 71, -1, 64, -1, + 116, 130, -1, 117, -1, 116, 68, 85, 117, -1, + 116, 1, -1, 119, -1, 117, 4, -1, 117, 4, + 119, -1, 117, 113, 119, -1, 117, 1, -1, 20, + -1, 19, 20, -1, 12, 20, -1, 121, -1, 121, + 122, -1, 122, -1, 118, 121, -1, 118, 121, 122, + -1, 118, 122, -1, 121, -1, 123, -1, 118, 121, + -1, 118, 123, -1, 12, -1, 19, -1, 123, -1, + 122, 123, -1, 122, 1, -1, 14, -1, 124, -1, + 126, -1, 129, -1, 17, 12, -1, 12, 85, -1, + 18, 85, 125, 72, -1, 18, 85, 125, 127, 85, + 128, 85, 72, -1, 18, 85, 118, 125, 72, -1, + 18, 85, 118, 125, 127, 85, 128, 85, 72, -1, + 73, -1, 6, -1, 7, -1, 8, -1, 9, -1, 10, -1, 12, -1, 11, -1, 16, 12, -1, 16, - 16, 12, -1, 16, 61, 87, 13, 87, 69, -1, - 16, 61, 87, 86, 59, 87, 69, -1, 16, 61, - 87, 12, 87, 69, -1, 16, 61, 87, 11, 87, - 69, -1, 16, 62, 87, 122, 87, 69, -1, 64, - 87, 134, 65, -1, 64, 87, 1, 65, -1, 64, - 87, 133, 65, -1, 64, 87, 133, 134, 65, -1, - 64, 87, 133, 1, 65, -1, 134, 67, 87, -1, - 1, 67, 87, -1, 133, 134, 67, 87, -1, 133, - 1, 67, 87, -1, 135, 16, 87, 137, 136, -1, - 1, 145, -1, 12, 87, -1, 32, 87, -1, -1, - 139, -1, 137, 138, 139, -1, 76, 87, -1, 70, - 87, -1, -1, 140, -1, 116, 140, -1, 56, 87, - -1, 11, 87, -1, 12, 87, -1, 60, 87, -1, - 63, 87, -1, 142, -1, 141, -1, 59, 87, -1, - 58, 87, -1, 57, 87, -1, 41, 87, -1, 42, - 87, -1, 43, 87, -1, 44, 87, -1, 45, 87, - -1, 46, 87, -1, 47, 87, -1, 48, 87, -1, - 49, 87, -1, 50, 87, -1, 51, 87, -1, 52, - 87, -1, 53, 87, -1, 37, 87, -1, 36, 87, - -1, 38, 87, -1, 39, 87, -1, 40, 87, -1, - 54, 87, -1, 55, 87, -1, 61, 87, 137, 69, - 87, -1, 61, 87, 1, -1, 15, 87, -1, 77, - 1, 145, -1, 77, 1, 67, -1, 1, 145, -1, - 64, 1, 146, 1, 65, -1, 64, 1, 65, -1, - 145, -1, 146, 1, 145, -1 + 16, 12, -1, 16, 59, 85, 13, 85, 67, -1, + 16, 59, 85, 84, 57, 85, 67, -1, 16, 59, + 85, 12, 85, 67, -1, 16, 59, 85, 11, 85, + 67, -1, 16, 60, 85, 120, 85, 67, -1, 62, + 85, 132, 63, -1, 62, 85, 1, 63, -1, 62, + 85, 131, 63, -1, 62, 85, 131, 132, 63, -1, + 62, 85, 131, 1, 63, -1, 132, 65, 85, -1, + 1, 65, 85, -1, 131, 132, 65, 85, -1, 131, + 1, 65, 85, -1, 133, 16, 85, 135, 134, -1, + 1, 143, -1, 12, 85, -1, 32, 85, -1, -1, + 137, -1, 135, 136, 137, -1, 74, 85, -1, 68, + 85, -1, -1, 138, -1, 114, 138, -1, 54, 85, + -1, 11, 85, -1, 12, 85, -1, 58, 85, -1, + 61, 85, -1, 140, -1, 139, -1, 57, 85, -1, + 56, 85, -1, 55, 85, -1, 39, 85, -1, 40, + 85, -1, 41, 85, -1, 42, 85, -1, 43, 85, + -1, 44, 85, -1, 45, 85, -1, 46, 85, -1, + 47, 85, -1, 48, 85, -1, 49, 85, -1, 50, + 85, -1, 51, 85, -1, 37, 85, -1, 36, 85, + -1, 38, 85, -1, 52, 85, -1, 53, 85, -1, + 59, 85, 135, 67, 85, -1, 59, 85, 1, -1, + 15, 85, -1, 75, 1, 143, -1, 75, 1, 65, + -1, 1, 143, -1, 62, 1, 144, 1, 63, -1, + 62, 1, 63, -1, 143, -1, 144, 1, 143, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 314, 314, 315, 316, 317, 318, 319, 323, 324, - 325, 329, 336, 342, 367, 379, 385, 387, 391, 392, - 395, 397, 398, 401, 403, 406, 415, 417, 421, 423, - 434, 444, 447, 453, 454, 458, 468, 476, 477, 481, - 482, 485, 487, 498, 499, 500, 501, 502, 503, 504, - 508, 509, 510, 511, 515, 516, 520, 526, 529, 535, - 541, 545, 552, 555, 561, 564, 567, 573, 576, 582, - 585, 590, 594, 599, 606, 617, 629, 630, 640, 658, - 661, 667, 674, 677, 683, 684, 685, 689, 690, 694, - 716, 729, 747, 757, 760, 763, 777, 791, 798, 799, - 800, 804, 809, 816, 823, 831, 841, 854, 859, 866, - 874, 887, 891, 897, 900, 910, 917, 931, 932, 933, - 937, 954, 961, 967, 974, 983, 996, 999, 1002, 1005, - 1008, 1011, 1017, 1018, 1022, 1028, 1034, 1041, 1048, 1055, - 1062, 1071, 1074, 1077, 1080, 1085, 1091, 1095, 1098, 1103, - 1109, 1131, 1137, 1159, 1160, 1164, 1168, 1184, 1187, 1190, - 1196, 1197, 1199, 1200, 1201, 1207, 1208, 1209, 1211, 1217, - 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, - 1238, 1239, 1244, 1252, 1268, 1275, 1281, 1290, 1316, 1317, - 1321, 1322 + 0, 312, 312, 313, 314, 315, 316, 317, 321, 322, + 323, 327, 334, 340, 365, 377, 383, 385, 389, 390, + 393, 395, 396, 399, 401, 404, 413, 415, 419, 421, + 432, 442, 445, 451, 452, 456, 466, 474, 475, 479, + 480, 483, 485, 496, 497, 498, 499, 500, 501, 502, + 506, 507, 508, 509, 513, 514, 518, 524, 527, 533, + 539, 543, 550, 553, 559, 562, 565, 571, 574, 580, + 583, 588, 592, 597, 604, 615, 627, 628, 638, 656, + 659, 665, 672, 675, 681, 682, 683, 687, 688, 692, + 714, 727, 745, 755, 758, 761, 775, 789, 796, 797, + 798, 802, 807, 814, 821, 829, 839, 852, 857, 864, + 872, 885, 889, 895, 898, 908, 915, 929, 930, 931, + 935, 952, 959, 965, 972, 981, 994, 997, 1000, 1003, + 1006, 1009, 1015, 1016, 1020, 1026, 1032, 1039, 1046, 1053, + 1060, 1069, 1072, 1075, 1078, 1083, 1089, 1093, 1096, 1101, + 1107, 1129, 1135, 1157, 1158, 1162, 1166, 1182, 1185, 1188, + 1194, 1195, 1197, 1198, 1199, 1205, 1206, 1207, 1209, 1215, + 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, + 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, + 1240, 1248, 1264, 1271, 1277, 1286, 1312, 1313, 1317, 1318 }; #endif @@ -750,12 +745,12 @@ "IMPORT_SYM", "PAGE_SYM", "MEDIA_SYM", "FONT_FACE_SYM", "CHARSET_SYM", "NAMESPACE_SYM", "KHTML_RULE_SYM", "KHTML_DECLS_SYM", "KHTML_VALUE_SYM", "KHTML_MEDIAQUERY_SYM", "KHTML_SELECTORS_SYM", "IMPORTANT_SYM", - "MEDIA_ONLY", "MEDIA_NOT", "MEDIA_AND", "QEMS", "EMS", "EXS", "CHS", - "REMS", "PXS", "CMS", "MMS", "INS", "PTS", "PCS", "DEGS", "RADS", - "GRADS", "MSECS", "SECS", "HERZ", "KHERZ", "DPI", "DPCM", "DIMEN", - "PERCENTAGE", "FLOAT", "INTEGER", "URI", "FUNCTION", "NOTFUNCTION", - "UNICODERANGE", "'{'", "'}'", "'+'", "';'", "'('", "')'", "','", "'~'", - "'>'", "'-'", "']'", "'='", "'/'", "'@'", "$accept", "stylesheet", + "MEDIA_ONLY", "MEDIA_NOT", "MEDIA_AND", "QEMS", "EMS", "EXS", "PXS", + "CMS", "MMS", "INS", "PTS", "PCS", "DEGS", "RADS", "GRADS", "MSECS", + "SECS", "HERZ", "KHERZ", "DPI", "DPCM", "DIMEN", "PERCENTAGE", "FLOAT", + "INTEGER", "URI", "FUNCTION", "NOTFUNCTION", "UNICODERANGE", "'{'", + "'}'", "'+'", "';'", "'('", "')'", "','", "'~'", "'>'", "'-'", "']'", + "'='", "'/'", "'@'", "$accept", "stylesheet", "ruleset_or_import_or_namespace", "khtml_rule", "khtml_decls", "khtml_value", "khtml_selectors", "khtml_mediaquery", "maybe_plus", "maybe_space", "maybe_sgml", "maybe_charset", "charset", "import_list", @@ -786,35 +781,34 @@ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 123, 125, 43, 59, 40, 41, - 44, 126, 62, 45, 93, 61, 47, 64 + 310, 311, 123, 125, 43, 59, 40, 41, 44, 126, + 62, 45, 93, 61, 47, 64 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 78, 79, 79, 79, 79, 79, 79, 80, 80, - 80, 81, 82, 83, 84, 85, 86, 86, 87, 87, - 88, 88, 88, 89, 89, 90, 90, 90, 91, 91, - 92, 92, 92, 93, 93, 94, 95, 95, 95, 96, - 96, 97, 97, 98, 98, 98, 98, 98, 98, 98, - 99, 99, 99, 99, 100, 100, 101, 102, 102, 103, - 104, 104, 105, 105, 106, 106, 106, 107, 107, 108, - 108, 109, 109, 109, 110, 110, 111, 111, 112, 113, - 113, 114, 114, 114, 115, 115, 115, 116, 116, 117, - 118, 118, 118, 119, 119, 119, 119, 119, 120, 120, - 120, 121, 121, 121, 121, 121, 121, 122, 122, 122, - 122, 123, 123, 124, 124, 124, 125, 125, 125, 125, - 126, 127, 128, 128, 128, 128, 129, 129, 129, 129, - 129, 129, 130, 130, 131, 131, 131, 131, 131, 131, - 131, 132, 132, 132, 132, 132, 133, 133, 133, 133, - 134, 134, 135, 136, 136, 137, 137, 138, 138, 138, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 141, 141, 142, 143, 143, 144, 145, 145, - 146, 146 + 0, 76, 77, 77, 77, 77, 77, 77, 78, 78, + 78, 79, 80, 81, 82, 83, 84, 84, 85, 85, + 86, 86, 86, 87, 87, 88, 88, 88, 89, 89, + 90, 90, 90, 91, 91, 92, 93, 93, 93, 94, + 94, 95, 95, 96, 96, 96, 96, 96, 96, 96, + 97, 97, 97, 97, 98, 98, 99, 100, 100, 101, + 102, 102, 103, 103, 104, 104, 104, 105, 105, 106, + 106, 107, 107, 107, 108, 108, 109, 109, 110, 111, + 111, 112, 112, 112, 113, 113, 113, 114, 114, 115, + 116, 116, 116, 117, 117, 117, 117, 117, 118, 118, + 118, 119, 119, 119, 119, 119, 119, 120, 120, 120, + 120, 121, 121, 122, 122, 122, 123, 123, 123, 123, + 124, 125, 126, 126, 126, 126, 127, 127, 127, 127, + 127, 127, 128, 128, 129, 129, 129, 129, 129, 129, + 129, 130, 130, 130, 130, 130, 131, 131, 131, 131, + 132, 132, 133, 134, 134, 135, 135, 136, 136, 136, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 139, 139, 140, 141, 141, 142, 143, 143, 144, 144 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -839,8 +833,7 @@ 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 5, 3, 2, 3, 3, 2, 5, 3, - 1, 3 + 5, 3, 2, 3, 3, 2, 5, 3, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -857,106 +850,104 @@ 0, 18, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 88, 87, 0, 159, 155, - 160, 168, 167, 65, 66, 18, 60, 67, 18, 0, - 0, 0, 27, 26, 18, 22, 21, 33, 100, 134, - 0, 18, 18, 120, 0, 99, 0, 0, 39, 0, - 92, 18, 89, 97, 94, 18, 18, 18, 0, 111, - 112, 104, 0, 0, 115, 114, 142, 18, 151, 152, - 0, 143, 0, 141, 18, 18, 163, 164, 194, 186, - 185, 187, 188, 189, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 190, 191, 162, - 171, 170, 169, 165, 0, 166, 161, 13, 18, 18, - 0, 0, 0, 0, 15, 14, 0, 0, 20, 41, - 135, 16, 0, 18, 0, 0, 0, 32, 31, 54, - 55, 18, 0, 0, 11, 0, 95, 84, 85, 86, - 96, 0, 147, 145, 18, 144, 18, 146, 0, 193, - 159, 158, 157, 156, 18, 18, 18, 18, 62, 199, - 200, 0, 25, 29, 0, 18, 20, 0, 18, 18, - 18, 17, 0, 0, 18, 107, 108, 121, 18, 0, - 127, 128, 129, 130, 131, 122, 126, 18, 64, 40, - 35, 0, 149, 148, 159, 18, 56, 57, 0, 78, - 18, 68, 0, 0, 0, 34, 0, 0, 18, 0, - 0, 0, 20, 44, 45, 46, 43, 48, 47, 0, - 0, 0, 18, 109, 110, 0, 124, 18, 0, 71, - 0, 0, 18, 150, 192, 18, 0, 61, 0, 198, - 201, 38, 37, 36, 197, 0, 64, 0, 0, 0, - 49, 42, 139, 138, 136, 0, 140, 0, 133, 132, - 18, 30, 73, 18, 153, 0, 18, 63, 80, 79, - 18, 0, 83, 82, 81, 196, 195, 137, 18, 0, - 64, 159, 59, 76, 18, 0, 123, 72, 58, 0, - 76, 125, 75, 0, 18, 50, 52, 51, 0, 53, - 77, 74 + 18, 18, 18, 88, 87, 0, 159, 155, 160, 168, + 167, 65, 66, 18, 60, 67, 18, 0, 0, 0, + 27, 26, 18, 22, 21, 33, 100, 134, 0, 18, + 18, 120, 0, 99, 0, 0, 39, 0, 92, 18, + 89, 97, 94, 18, 18, 18, 0, 111, 112, 104, + 0, 0, 115, 114, 142, 18, 151, 152, 0, 143, + 0, 141, 18, 18, 163, 164, 192, 186, 185, 187, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 188, 189, 162, 171, 170, 169, 165, + 0, 166, 161, 13, 18, 18, 0, 0, 0, 0, + 15, 14, 0, 0, 20, 41, 135, 16, 0, 18, + 0, 0, 0, 32, 31, 54, 55, 18, 0, 0, + 11, 0, 95, 84, 85, 86, 96, 0, 147, 145, + 18, 144, 18, 146, 0, 191, 159, 158, 157, 156, + 18, 18, 18, 18, 62, 197, 198, 0, 25, 29, + 0, 18, 20, 0, 18, 18, 18, 17, 0, 0, + 18, 107, 108, 121, 18, 0, 127, 128, 129, 130, + 131, 122, 126, 18, 64, 40, 35, 0, 149, 148, + 159, 18, 56, 57, 0, 78, 18, 68, 0, 0, + 0, 34, 0, 0, 18, 0, 0, 0, 20, 44, + 45, 46, 43, 48, 47, 0, 0, 0, 18, 109, + 110, 0, 124, 18, 0, 71, 0, 0, 18, 150, + 190, 18, 0, 61, 0, 196, 199, 38, 37, 36, + 195, 0, 64, 0, 0, 0, 49, 42, 139, 138, + 136, 0, 140, 0, 133, 132, 18, 30, 73, 18, + 153, 0, 18, 63, 80, 79, 18, 0, 83, 82, + 81, 194, 193, 137, 18, 0, 64, 159, 59, 76, + 18, 0, 123, 72, 58, 0, 76, 125, 75, 0, + 18, 50, 52, 51, 0, 53, 77, 74 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 6, 46, 7, 8, 9, 10, 11, 252, 128, - 36, 27, 28, 117, 373, 199, 48, 246, 213, 247, - 292, 374, 211, 235, 316, 106, 107, 281, 108, 309, - 310, 311, 293, 369, 238, 294, 295, 138, 97, 375, - 50, 51, 52, 53, 254, 54, 55, 56, 57, 206, - 58, 267, 340, 59, 15, 62, 63, 64, 313, 98, - 190, 99, 100, 101, 102, 376, 377, 148, 241 + -1, 6, 46, 7, 8, 9, 10, 11, 248, 126, + 36, 27, 28, 115, 369, 195, 48, 242, 209, 243, + 288, 370, 207, 231, 312, 104, 105, 277, 106, 305, + 306, 307, 289, 365, 234, 290, 291, 136, 95, 371, + 50, 51, 52, 53, 250, 54, 55, 56, 57, 202, + 58, 263, 336, 59, 15, 62, 63, 64, 309, 96, + 186, 97, 98, 99, 100, 372, 373, 146, 237 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -194 +#define YYPACT_NINF -189 static const yytype_int16 yypact[] = { - 380, -2, 80, 121, 29, 169, 200, -194, -194, -194, - -194, -194, 24, -194, -194, -194, -194, -194, -194, -194, - 197, 197, 197, 197, 197, -194, 310, -194, -194, 532, - 297, 474, 240, 452, 290, 26, 155, 198, -194, 266, - 235, -194, 222, -194, 302, -194, -194, -194, -194, -194, - 63, 53, 543, -194, 42, 112, -194, -194, -194, -194, - 253, -194, 137, 298, 244, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, - -194, -194, -194, -194, -194, -194, -194, 565, -36, -194, - -194, -194, -194, -194, -194, -194, -194, 17, -194, 220, - 50, 293, -194, -194, -194, -194, -194, 283, -194, -194, - 288, -194, -194, -194, 23, -194, 308, 273, 27, 128, - -194, -194, -194, -194, 613, -194, -194, -194, 613, -194, - -194, 42, 352, 411, -194, -194, -194, -194, -194, 197, - 267, -194, 306, -194, -194, -194, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 197, 197, 340, 197, -194, -194, -194, -194, - 527, 279, 20, 312, -194, -194, 284, 44, -194, 304, - -194, 227, 452, 198, 222, 307, 262, -194, -194, -194, - -194, -194, 301, 230, -194, 452, -194, 197, 197, 197, - -194, 429, 197, -194, -194, -194, -194, 197, 474, -194, - 269, 197, 197, -194, -194, -194, -194, -194, 332, -194, - -194, 322, -194, 155, 275, -194, -194, 151, -194, -194, - -194, -194, 345, 543, -194, -194, -194, 197, -194, 428, - -194, -194, -194, -194, -194, -194, -194, -194, 292, -194, - -194, 144, 197, 197, 387, -194, 197, 34, 157, 197, - -194, -194, 356, 338, 160, 155, 278, 413, -194, 228, - 425, 430, -194, -194, -194, -194, -194, -194, -194, 41, - 43, 135, -194, -194, -194, 136, -194, -194, 130, -194, - 365, 152, -194, -194, 197, -194, 371, -194, 157, -194, - -194, -194, -194, -194, -194, 375, 153, 377, 187, 384, - -194, 155, -194, -194, -194, 154, -194, 130, -194, -194, - -194, -194, -194, -194, 197, 474, -194, 17, -194, -194, - -194, 142, -194, -194, -194, -194, -194, -194, -194, 21, - 240, 28, 197, 197, -194, 32, -194, -194, 197, 178, - 197, -194, -194, 448, -194, -194, -194, -194, 245, -194, - 197, -194 + 469, -29, -11, 1, 182, 95, 201, -189, -189, -189, + -189, -189, 20, -189, -189, -189, -189, -189, -189, -189, + 211, 211, 211, 211, 211, -189, 26, -189, -189, 522, + 52, 466, 209, 444, -5, 290, 326, 216, -189, 343, + 212, -189, 227, -189, 263, -189, -189, -189, -189, -189, + 42, 54, 533, -189, 436, 264, -189, -189, -189, -189, + 135, -189, 124, 100, 245, -189, -189, -189, -189, -189, + -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, + -189, -189, -189, -189, -189, -189, -189, -189, -189, -189, + -189, -189, -189, -189, -189, 553, 255, -189, -189, -189, + -189, -189, -189, -189, -189, 17, -189, 229, 58, 271, + -189, -189, -189, -189, -189, 269, -189, -189, 288, -189, + -189, -189, 285, -189, 257, 262, 30, 151, -189, -189, + -189, -189, 599, -189, -189, -189, 599, -189, -189, 436, + 348, 405, -189, -189, -189, -189, -189, 211, 306, -189, + 223, -189, -189, -189, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 336, 211, -189, -189, -189, -189, 517, 213, 27, 275, + -189, -189, 352, 164, -189, 289, -189, 198, 444, 216, + 227, 305, 131, -189, -189, -189, -189, -189, 320, 181, + -189, 444, -189, 211, 211, 211, -189, 423, 211, -189, + -189, -189, -189, 211, 466, -189, 242, 211, 211, -189, + -189, -189, -189, -189, 309, -189, -189, 349, -189, 326, + 295, -189, -189, 159, -189, -189, -189, -189, 299, 533, + -189, -189, -189, 211, -189, 422, -189, -189, -189, -189, + -189, -189, -189, -189, 204, -189, -189, 126, 211, 211, + 381, -189, 211, 19, 43, 211, -189, -189, 363, 273, + 170, 326, 301, 366, -189, 166, 397, 404, -189, -189, + -189, -189, -189, -189, -189, 32, 44, 46, -189, -189, + -189, 139, -189, -189, 28, -189, 355, 153, -189, -189, + 211, -189, 341, -189, 43, -189, -189, -189, -189, -189, + -189, 296, 279, 334, 165, 339, -189, 326, -189, -189, + -189, 152, -189, 28, -189, -189, -189, -189, -189, -189, + 211, 466, -189, 17, -189, -189, -189, 96, -189, -189, + -189, -189, -189, -189, -189, 21, 209, 34, 211, 211, + -189, 24, -189, -189, 211, 130, 211, -189, -189, 432, + -189, -189, -189, -189, 239, -189, 211, -189 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -194, -194, -194, -194, -194, -194, -194, -194, -194, 0, - -193, -194, -194, -194, -17, -194, 251, -194, -194, -194, - -194, -194, 242, -194, -194, 175, 140, -194, -194, -31, - -194, 133, -194, 90, -194, -194, -194, -194, -194, -27, - 432, 246, -101, 12, -194, -46, -32, -40, -194, 257, - -194, 208, 143, -194, -47, -194, 412, -194, -194, -165, - -194, 289, 376, -194, -194, 237, 241, -30, -194 + -189, -189, -189, -189, -189, -189, -189, -189, -189, 0, + -188, -189, -189, -189, -17, -189, 240, -189, -189, -189, + -189, -189, 225, -189, -189, 162, 128, -189, -189, -31, + -189, 116, -189, 77, -189, -189, -189, -189, -189, -27, + 412, 236, -103, -4, -189, -37, -32, -26, -189, 250, + -189, 202, 132, -189, -47, -189, 409, -189, -189, -175, + -189, 280, 364, -189, -189, 233, 237, -30, -189 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -965,189 +956,184 @@ #define YYTABLE_NINF -155 static const yytype_int16 yytable[] = { - 12, 109, 49, 132, 113, 243, 141, 20, 21, 22, - 23, 24, 47, 29, 30, 145, 31, 32, 33, 230, - 142, -18, 143, 205, 25, 25, 35, 25, 25, 187, - 25, 25, -18, 17, 188, 203, 25, 114, 25, 212, - 189, 124, 204, 43, 127, 25, 129, 25, 25, 26, - 315, 130, -18, 285, 133, 236, 38, 134, 39, 40, - 41, 149, 13, 274, 130, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 366, 208, -18, 188, 331, - 198, 253, 145, 145, 189, 191, 371, 192, 193, 221, - 332, 242, 333, 144, 197, 195, -103, -90, -90, 135, - 131, 201, 202, -90, 136, 137, 38, 14, 39, 40, - 41, 215, 25, 131, 25, 217, 218, 219, 150, 25, - 25, 338, 339, 342, 14, 133, 216, 222, 134, 61, - 220, -2, 286, 342, 227, 228, 255, 25, 25, 115, - 116, 25, 256, 37, 25, 38, 240, 39, 40, 41, - 42, 43, 44, 287, 288, 289, -103, -103, -103, 286, - 361, 145, -103, -103, -103, 16, 103, 104, 231, 232, - 37, 25, 38, 214, 39, 40, 41, 42, 43, 44, - 19, 25, 151, 257, 334, 336, 364, 303, -91, -91, - 135, 268, 343, 304, -91, 136, 137, 350, 118, -70, - 296, 105, 343, 357, 272, 105, 273, 323, 290, 327, - 291, 25, -18, 18, 276, 277, 278, 279, 248, 249, - 250, 209, 125, 372, 25, 284, 286, 123, 299, 300, - 301, 14, 320, 322, 305, 290, 324, 37, 257, 38, - 155, 39, 40, 41, 42, 43, 44, 308, 260, 261, - 262, 263, 264, 103, 104, 314, 283, 25, 119, -18, - 318, 354, 120, 25, 209, 194, -18, -18, 326, 328, - 210, 234, -18, 251, 196, 349, 25, 353, 60, 356, - 200, 25, 335, 126, 44, 269, -18, 337, 105, 61, - 381, 34, 344, -18, -18, 345, 25, 111, 146, 258, - 147, -18, 290, 282, 237, 103, 104, 121, 122, 367, - 244, 111, 223, 210, 224, -18, 265, 266, 275, 188, - 359, 229, 111, 360, 25, 189, 362, 192, 111, 239, - 363, 65, 66, 144, 111, 67, -106, 112, 365, -69, - 105, 368, -18, 153, 370, 154, 38, 280, 39, 40, - 41, 225, 111, 226, 380, 207, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 111, 94, 302, 321, 95, 1, 2, 3, - 4, 5, 144, 96, 325, -102, -106, -106, -106, 312, - 111, 319, -106, -106, -106, 38, 329, 39, 40, 41, - 144, 330, 341, -105, 260, 261, 262, 263, 264, 111, - 346, 111, 348, 38, 352, 39, 40, 41, 111, 379, - 245, 355, -154, 317, -154, 270, 25, 188, 347, 351, - 378, 271, 259, 189, 37, 110, 38, 307, 39, 40, - 41, 42, 43, 186, 152, -102, -102, -102, 25, 233, - 358, -102, -102, -102, 297, 65, 66, 0, 298, 67, - 0, 0, 0, -105, -105, -105, 0, 0, 0, -105, - -105, -105, 306, 266, 0, 0, 0, 0, 0, 0, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 25, 94, 65, 66, - 95, 0, 67, 0, 37, 0, 38, 96, 39, 40, - 41, 42, 43, 44, 0, 139, 0, 38, 45, 39, - 40, 41, 140, 68, 69, 70, 71, 72, 73, 74, + 12, 107, 49, 130, 111, 226, 239, 20, 21, 22, + 23, 24, 47, 29, 30, 139, 31, 32, 33, 201, + 140, -18, 141, 25, 25, 25, 35, 34, 25, 143, + -18, 25, 25, 13, 25, 311, 25, -18, -18, 334, + 335, 122, 208, 128, 125, 26, 127, 25, 25, 270, + 25, 14, -18, 60, 281, 131, 25, 109, 132, 128, + 110, 147, 232, 16, 61, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 362, 204, 249, 367, 338, 194, 328, + 327, -18, 184, 187, 14, 188, 189, 217, 185, 103, + 129, 329, 193, 330, 143, 143, -90, -90, 133, 197, + 198, 191, -90, 134, 135, 148, 129, 131, 212, 211, + 132, 282, 216, 213, 214, 215, 61, 256, 257, 258, + 259, 260, 37, 25, 38, 218, 39, 40, 41, 42, + 43, 44, 223, 224, 338, 25, 25, 18, 360, -2, + 282, 251, 236, 151, 339, 152, 357, 323, 25, 25, + -18, 37, 252, 38, 25, 39, 40, 41, 42, 43, + 44, 283, 284, 285, 227, 228, 17, 149, -91, -91, + 133, 143, 205, 368, -91, 134, 135, 109, 144, 253, + 145, 19, 25, 261, 262, 286, 332, 264, 25, 244, + 245, 246, 299, 25, 210, 25, 292, 25, -70, 353, + 268, 339, 269, 300, 121, 230, 287, 14, -18, 238, + 272, 273, 274, 275, 286, 319, 116, 101, 102, 206, + 282, 280, 101, 102, 295, 296, 297, 123, 316, 318, + 301, 37, 320, 38, 253, 39, 40, 41, 42, 43, + 44, 153, 247, 304, 124, 142, 25, -18, -103, -69, + 103, 310, 192, 205, -18, 103, 314, 350, 38, 25, + 39, 40, 41, 25, 322, 324, 221, 233, 222, 25, + 44, 345, 190, 349, 25, 352, 279, 199, 331, -18, + 196, 112, 377, 333, 200, 43, -18, -18, 340, 271, + 184, 341, 101, 102, 286, 240, 185, 254, 183, 109, + 206, -18, 203, 184, 265, 363, -103, -103, -103, 185, + 113, 114, -103, -103, -103, 109, 355, 225, 317, 356, + 25, 346, 358, 188, 276, 103, 359, 65, 66, 142, + 278, 67, -106, -18, 361, 117, 298, 364, 109, 118, + 366, 344, 38, 109, 39, 40, 41, 321, 109, 219, + 376, 220, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 109, 92, 325, 348, + 93, 109, 119, 120, 351, 326, 142, 94, 342, -102, + -106, -106, -106, 308, 109, 235, -106, -106, -106, 38, + 337, 39, 40, 41, 142, 109, 315, -105, 256, 257, + 258, 259, 260, 375, 266, 241, 313, 38, 347, 39, + 40, 41, 343, 374, -154, 108, -154, 267, 25, 184, + 38, 255, 39, 40, 41, 185, 37, 303, 38, 182, + 39, 40, 41, 42, 43, 354, 229, -102, -102, -102, + 25, 150, 0, -102, -102, -102, 293, 65, 66, 0, + 294, 67, 0, 0, 0, -105, -105, -105, 0, 0, + 0, -105, -105, -105, 302, 262, 1, 2, 3, 4, + 5, 0, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 25, 92, 65, 66, + 93, 0, 67, 0, 37, 0, 38, 94, 39, 40, + 41, 42, 43, 44, 0, 137, 0, 38, 45, 39, + 40, 41, 138, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 0, - 94, 0, 0, 95, 0, 0, 0, 0, 0, 0, - 96, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 0, 89, 90, 91, 37, 0, 38, 0, 39, - 40, 41, 42, 43 + 85, 86, 87, 88, 89, 90, 91, 0, 92, 0, + 0, 93, 0, 0, 0, 0, 0, 0, 94, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 0, 87, 88, + 89, 37, 0, 38, 0, 39, 40, 41, 42, 43 }; #define yypact_value_is_default(yystate) \ - ((yystate) == (-194)) + ((yystate) == (-189)) #define yytable_value_is_error(yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 0, 32, 29, 50, 34, 198, 52, 7, 8, 9, - 10, 11, 29, 13, 14, 55, 16, 17, 18, 184, - 52, 4, 54, 124, 4, 4, 26, 4, 4, 65, - 4, 4, 4, 4, 70, 12, 4, 11, 4, 12, - 76, 41, 19, 20, 44, 4, 46, 4, 4, 25, - 16, 1, 35, 246, 1, 35, 14, 4, 16, 17, - 18, 61, 64, 228, 1, 65, 66, 67, 68, 69, + 0, 32, 29, 50, 34, 180, 194, 7, 8, 9, + 10, 11, 29, 13, 14, 52, 16, 17, 18, 122, + 52, 4, 54, 4, 4, 4, 26, 1, 4, 55, + 4, 4, 4, 62, 4, 16, 4, 11, 4, 11, + 12, 41, 12, 1, 44, 25, 46, 4, 4, 224, + 4, 62, 35, 1, 242, 1, 4, 62, 4, 1, + 65, 61, 35, 62, 12, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 74, 126, 69, 70, 292, - 117, 202, 142, 143, 76, 105, 74, 107, 108, 141, - 69, 67, 69, 1, 114, 65, 4, 64, 65, 66, - 70, 121, 122, 70, 71, 72, 14, 64, 16, 17, - 18, 131, 4, 70, 4, 135, 136, 137, 1, 4, - 4, 11, 12, 1, 64, 1, 134, 147, 4, 12, - 138, 0, 1, 1, 154, 155, 202, 4, 4, 4, - 5, 4, 202, 12, 4, 14, 196, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 64, 65, 66, 1, - 345, 221, 70, 71, 72, 64, 33, 34, 188, 189, - 12, 4, 14, 65, 16, 17, 18, 19, 20, 21, - 0, 4, 65, 203, 69, 69, 64, 253, 64, 65, - 66, 211, 70, 253, 70, 71, 72, 64, 20, 67, - 247, 68, 70, 69, 224, 68, 226, 67, 77, 1, - 247, 4, 4, 64, 234, 235, 236, 237, 11, 12, - 13, 11, 20, 65, 4, 245, 1, 12, 248, 249, - 250, 64, 282, 283, 254, 77, 286, 12, 258, 14, - 16, 16, 17, 18, 19, 20, 21, 267, 6, 7, - 8, 9, 10, 33, 34, 275, 1, 4, 12, 4, - 280, 328, 16, 4, 11, 65, 11, 12, 288, 289, - 60, 12, 64, 66, 1, 325, 4, 327, 1, 329, - 12, 4, 302, 1, 21, 4, 4, 307, 68, 12, - 65, 1, 312, 11, 4, 315, 4, 64, 65, 12, - 67, 11, 77, 1, 12, 33, 34, 61, 62, 360, - 26, 64, 65, 60, 67, 60, 74, 75, 69, 70, - 340, 1, 64, 343, 4, 76, 346, 347, 64, 65, - 350, 11, 12, 1, 64, 15, 4, 67, 358, 67, - 68, 361, 60, 65, 364, 67, 14, 35, 16, 17, - 18, 65, 64, 67, 374, 67, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 64, 63, 59, 67, 66, 27, 28, 29, - 30, 31, 1, 73, 1, 4, 64, 65, 66, 32, - 64, 65, 70, 71, 72, 14, 1, 16, 17, 18, - 1, 1, 67, 4, 6, 7, 8, 9, 10, 64, - 69, 64, 67, 14, 67, 16, 17, 18, 64, 1, - 199, 67, 65, 278, 67, 213, 4, 70, 318, 326, - 370, 215, 205, 76, 12, 33, 14, 259, 16, 17, - 18, 19, 20, 97, 62, 64, 65, 66, 4, 190, - 337, 70, 71, 72, 247, 11, 12, -1, 247, 15, - -1, -1, -1, 64, 65, 66, -1, -1, -1, 70, - 71, 72, 74, 75, -1, -1, -1, -1, -1, -1, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 4, 63, 11, 12, - 66, -1, 15, -1, 12, -1, 14, 73, 16, 17, + 90, 91, 92, 72, 124, 198, 72, 1, 115, 67, + 288, 67, 68, 103, 62, 105, 106, 139, 74, 66, + 68, 67, 112, 67, 140, 141, 62, 63, 64, 119, + 120, 63, 68, 69, 70, 1, 68, 1, 132, 129, + 4, 1, 136, 133, 134, 135, 12, 6, 7, 8, + 9, 10, 12, 4, 14, 145, 16, 17, 18, 19, + 20, 21, 152, 153, 1, 4, 4, 62, 62, 0, + 1, 198, 192, 63, 68, 65, 341, 1, 4, 4, + 4, 12, 198, 14, 4, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 184, 185, 4, 63, 62, 63, + 64, 217, 11, 63, 68, 69, 70, 62, 63, 199, + 65, 0, 4, 72, 73, 75, 67, 207, 4, 11, + 12, 13, 249, 4, 63, 4, 243, 4, 65, 67, + 220, 68, 222, 249, 12, 12, 243, 62, 62, 65, + 230, 231, 232, 233, 75, 65, 20, 33, 34, 58, + 1, 241, 33, 34, 244, 245, 246, 20, 278, 279, + 250, 12, 282, 14, 254, 16, 17, 18, 19, 20, + 21, 16, 64, 263, 1, 1, 4, 4, 4, 65, + 66, 271, 1, 11, 11, 66, 276, 324, 14, 4, + 16, 17, 18, 4, 284, 285, 63, 12, 65, 4, + 21, 321, 63, 323, 4, 325, 1, 12, 298, 4, + 12, 11, 63, 303, 19, 20, 11, 12, 308, 67, + 68, 311, 33, 34, 75, 26, 74, 12, 63, 62, + 58, 58, 65, 68, 4, 356, 62, 63, 64, 74, + 4, 5, 68, 69, 70, 62, 336, 1, 65, 339, + 4, 62, 342, 343, 35, 66, 346, 11, 12, 1, + 1, 15, 4, 58, 354, 12, 57, 357, 62, 16, + 360, 65, 14, 62, 16, 17, 18, 1, 62, 63, + 370, 65, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 62, 61, 1, 65, + 64, 62, 59, 60, 65, 1, 1, 71, 67, 4, + 62, 63, 64, 32, 62, 63, 68, 69, 70, 14, + 65, 16, 17, 18, 1, 62, 63, 4, 6, 7, + 8, 9, 10, 1, 209, 195, 274, 14, 322, 16, + 17, 18, 314, 366, 63, 33, 65, 211, 4, 68, + 14, 201, 16, 17, 18, 74, 12, 255, 14, 95, + 16, 17, 18, 19, 20, 333, 186, 62, 63, 64, + 4, 62, -1, 68, 69, 70, 243, 11, 12, -1, + 243, 15, -1, -1, -1, 62, 63, 64, -1, -1, + -1, 68, 69, 70, 72, 73, 27, 28, 29, 30, + 31, -1, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 4, 61, 11, 12, + 64, -1, 15, -1, 12, -1, 14, 71, 16, 17, 18, 19, 20, 21, -1, 12, -1, 14, 26, 16, 17, 18, 19, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, - 63, -1, -1, 66, -1, -1, -1, -1, -1, -1, - 73, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, -1, 57, 58, 59, 12, -1, 14, -1, 16, - 17, 18, 19, 20 + 53, 54, 55, 56, 57, 58, 59, -1, 61, -1, + -1, 64, -1, -1, -1, -1, -1, -1, 71, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 12, -1, 14, -1, 16, 17, 18, 19, 20 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 27, 28, 29, 30, 31, 79, 81, 82, 83, - 84, 85, 87, 64, 64, 132, 64, 4, 64, 0, - 87, 87, 87, 87, 87, 4, 25, 89, 90, 87, - 87, 87, 87, 87, 1, 87, 88, 12, 14, 16, - 17, 18, 19, 20, 21, 26, 80, 92, 94, 117, - 118, 119, 120, 121, 123, 124, 125, 126, 128, 131, - 1, 12, 133, 134, 135, 11, 12, 15, 36, 37, + 0, 27, 28, 29, 30, 31, 77, 79, 80, 81, + 82, 83, 85, 62, 62, 130, 62, 4, 62, 0, + 85, 85, 85, 85, 85, 4, 25, 87, 88, 85, + 85, 85, 85, 85, 1, 85, 86, 12, 14, 16, + 17, 18, 19, 20, 21, 26, 78, 90, 92, 115, + 116, 117, 118, 119, 121, 122, 123, 124, 126, 129, + 1, 12, 131, 132, 133, 11, 12, 15, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 63, 66, 73, 116, 137, 139, - 140, 141, 142, 33, 34, 68, 103, 104, 106, 107, - 118, 64, 67, 145, 11, 4, 5, 91, 20, 12, - 16, 61, 62, 12, 87, 20, 1, 87, 87, 87, - 1, 70, 132, 1, 4, 66, 71, 72, 115, 12, - 19, 123, 124, 124, 1, 125, 65, 67, 145, 87, - 1, 65, 134, 65, 67, 16, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 140, 65, 70, 76, - 138, 87, 87, 87, 65, 65, 1, 87, 92, 93, - 12, 87, 87, 12, 19, 120, 127, 67, 145, 11, - 60, 100, 12, 96, 65, 87, 121, 87, 87, 87, - 121, 124, 87, 65, 67, 65, 67, 87, 87, 1, - 137, 87, 87, 139, 12, 101, 35, 12, 112, 65, - 145, 146, 67, 88, 26, 94, 95, 97, 11, 12, - 13, 66, 86, 120, 122, 123, 125, 87, 12, 127, - 6, 7, 8, 9, 10, 74, 75, 129, 87, 4, - 100, 119, 87, 87, 137, 69, 87, 87, 87, 87, - 35, 105, 1, 1, 87, 88, 1, 22, 23, 24, - 77, 92, 98, 110, 113, 114, 117, 143, 144, 87, - 87, 87, 59, 123, 125, 87, 74, 129, 87, 107, - 108, 109, 32, 136, 87, 16, 102, 103, 87, 65, - 145, 67, 145, 67, 145, 1, 87, 1, 87, 1, - 1, 88, 69, 69, 69, 87, 69, 87, 11, 12, - 130, 67, 1, 70, 87, 87, 69, 104, 67, 145, - 64, 109, 67, 145, 132, 67, 145, 69, 130, 87, - 87, 137, 87, 87, 64, 87, 74, 107, 87, 111, - 87, 74, 65, 92, 99, 117, 143, 144, 111, 1, - 87, 65 + 58, 59, 61, 64, 71, 114, 135, 137, 138, 139, + 140, 33, 34, 66, 101, 102, 104, 105, 116, 62, + 65, 143, 11, 4, 5, 89, 20, 12, 16, 59, + 60, 12, 85, 20, 1, 85, 85, 85, 1, 68, + 130, 1, 4, 64, 69, 70, 113, 12, 19, 121, + 122, 122, 1, 123, 63, 65, 143, 85, 1, 63, + 132, 63, 65, 16, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 138, 63, 68, 74, 136, 85, 85, 85, + 63, 63, 1, 85, 90, 91, 12, 85, 85, 12, + 19, 118, 125, 65, 143, 11, 58, 98, 12, 94, + 63, 85, 119, 85, 85, 85, 119, 122, 85, 63, + 65, 63, 65, 85, 85, 1, 135, 85, 85, 137, + 12, 99, 35, 12, 110, 63, 143, 144, 65, 86, + 26, 92, 93, 95, 11, 12, 13, 64, 84, 118, + 120, 121, 123, 85, 12, 125, 6, 7, 8, 9, + 10, 72, 73, 127, 85, 4, 98, 117, 85, 85, + 135, 67, 85, 85, 85, 85, 35, 103, 1, 1, + 85, 86, 1, 22, 23, 24, 75, 90, 96, 108, + 111, 112, 115, 141, 142, 85, 85, 85, 57, 121, + 123, 85, 72, 127, 85, 105, 106, 107, 32, 134, + 85, 16, 100, 101, 85, 63, 143, 65, 143, 65, + 143, 1, 85, 1, 85, 1, 1, 86, 67, 67, + 67, 85, 67, 85, 11, 12, 128, 65, 1, 68, + 85, 85, 67, 102, 65, 143, 62, 107, 65, 143, + 130, 65, 143, 67, 128, 85, 85, 135, 85, 85, + 62, 85, 72, 105, 85, 109, 85, 72, 63, 90, + 97, 115, 141, 142, 109, 1, 85, 63 }; #define yyerrok (yyerrstatus = 0) @@ -1686,87 +1672,87 @@ switch (yytype) { - case 102: /* "maybe_media_value" */ + case 100: /* "maybe_media_value" */ { delete (yyvaluep->valueList); (yyvaluep->valueList) = 0; }; break; - case 104: /* "media_query_exp_list" */ + case 102: /* "media_query_exp_list" */ { delete (yyvaluep->mediaQueryExpList); (yyvaluep->mediaQueryExpList) = 0; }; break; - case 105: /* "maybe_and_media_query_exp_list" */ + case 103: /* "maybe_and_media_query_exp_list" */ { delete (yyvaluep->mediaQueryExpList); (yyvaluep->mediaQueryExpList) = 0; }; break; - case 108: /* "maybe_media_list" */ + case 106: /* "maybe_media_list" */ { delete (yyvaluep->mediaList); (yyvaluep->mediaList) = 0; }; break; - case 109: /* "media_list" */ + case 107: /* "media_list" */ { delete (yyvaluep->mediaList); (yyvaluep->mediaList) = 0; }; break; - case 111: /* "ruleset_list" */ + case 109: /* "ruleset_list" */ { delete (yyvaluep->ruleList); (yyvaluep->ruleList) = 0; }; break; - case 118: /* "selector_list" */ + case 116: /* "selector_list" */ { if ((yyvaluep->selectorList)) qDeleteAll(*(yyvaluep->selectorList)); delete (yyvaluep->selectorList); (yyvaluep->selectorList) = 0; }; break; - case 119: /* "selector" */ + case 117: /* "selector" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 121: /* "simple_selector" */ + case 119: /* "simple_selector" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 122: /* "simple_css3_selector" */ + case 120: /* "simple_css3_selector" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 124: /* "specifier_list" */ + case 122: /* "specifier_list" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 125: /* "specifier" */ + case 123: /* "specifier" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 126: /* "class" */ + case 124: /* "class" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 128: /* "attrib" */ + case 126: /* "attrib" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 131: /* "pseudo" */ + case 129: /* "pseudo" */ { delete (yyvaluep->selector); (yyvaluep->selector) = 0; }; break; - case 137: /* "expr" */ + case 135: /* "expr" */ { delete (yyvaluep->valueList); (yyvaluep->valueList) = 0; }; break; - case 141: /* "function" */ + case 139: /* "function" */ { if ((yyvaluep->value).function) delete (yyvaluep->value).function->args; delete (yyvaluep->value).function; (yyvaluep->value).function = 0; }; @@ -3326,25 +3312,15 @@ case 188: - { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].val); (yyval.value).unit = CSSPrimitiveValue::CSS_CHS; } - break; - - case 189: - - { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].val); (yyval.value).unit = CSSPrimitiveValue::CSS_REMS; } - break; - - case 190: - { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].val); (yyval.value).unit = CSSPrimitiveValue::CSS_DPI; } break; - case 191: + case 189: { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].val); (yyval.value).unit = CSSPrimitiveValue::CSS_DPCM; } break; - case 192: + case 190: { Function *f = new Function; @@ -3356,7 +3332,7 @@ } break; - case 193: + case 191: { Function *f = new Function; @@ -3368,12 +3344,12 @@ } break; - case 194: + case 192: { (yyval.string) = (yyvsp[(1) - (2)].string); } break; - case 195: + case 193: { (yyval.rule) = 0; @@ -3383,7 +3359,7 @@ } break; - case 196: + case 194: { (yyval.rule) = 0; @@ -3393,7 +3369,7 @@ } break; - case 197: + case 195: { (yyval.rule) = 0;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/parser.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/parser.h
Changed
@@ -68,31 +68,29 @@ QEMS = 286, EMS = 287, EXS = 288, - CHS = 289, - REMS = 290, - PXS = 291, - CMS = 292, - MMS = 293, - INS = 294, - PTS = 295, - PCS = 296, - DEGS = 297, - RADS = 298, - GRADS = 299, - MSECS = 300, - SECS = 301, - HERZ = 302, - KHERZ = 303, - DPI = 304, - DPCM = 305, - DIMEN = 306, - PERCENTAGE = 307, - FLOAT = 308, - INTEGER = 309, - URI = 310, - FUNCTION = 311, - NOTFUNCTION = 312, - UNICODERANGE = 313 + PXS = 289, + CMS = 290, + MMS = 291, + INS = 292, + PTS = 293, + PCS = 294, + DEGS = 295, + RADS = 296, + GRADS = 297, + MSECS = 298, + SECS = 299, + HERZ = 300, + KHERZ = 301, + DPI = 302, + DPCM = 303, + DIMEN = 304, + PERCENTAGE = 305, + FLOAT = 306, + INTEGER = 307, + URI = 308, + FUNCTION = 309, + NOTFUNCTION = 310, + UNICODERANGE = 311 }; #endif
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/parser.y -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/parser.y
Changed
@@ -108,7 +108,7 @@ #define YYLTYPE_IS_TRIVIAL 1 %} -%expect 41 +%expect 39 %pure_parser @@ -214,8 +214,6 @@ %token <val> QEMS %token <val> EMS %token <val> EXS -%token <val> CHS -%token <val> REMS %token <val> PXS %token <val> CMS %token <val> MMS @@ -1233,8 +1231,6 @@ | EMS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_EMS; } | QEMS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = Value::Q_EMS; } | EXS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_EXS; } - | CHS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_CHS; } - | REMS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_REMS; } | DPI maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_DPI; } | DPCM maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_DPCM; } ;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/tokenizer.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/tokenizer.cpp
Changed
@@ -65,8 +65,8 @@ typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; #endif /* ! C99 */ -#define YY_NUM_RULES 67 -#define YY_END_OF_BUFFER 68 +#define YY_NUM_RULES 65 +#define YY_END_OF_BUFFER 66 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -74,53 +74,53 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[411] = +static yyconst flex_int16_t yy_accept[408] = { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 66, - 2, 2, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 52, 66, 66, 14, 14, 14, 66, 66, - 60, 66, 66, 66, 52, 65, 14, 14, 14, 64, - 62, 61, 66, 63, 2, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 64, + 2, 2, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 50, 64, 64, 14, 14, 14, 64, 64, + 58, 64, 64, 64, 50, 63, 14, 14, 14, 62, + 60, 59, 64, 61, 2, 0, 0, 0, 13, 0, 0, 17, 0, 8, 0, 0, 9, 0, 15, 0, - 14, 14, 0, 53, 0, 51, 0, 0, 52, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 15, 50, - 50, 45, 0, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 57, 14, 0, 0, 0, 14, 14, 0, + 14, 14, 0, 51, 0, 49, 0, 0, 50, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 15, 48, + 48, 43, 0, 48, 0, 0, 0, 0, 0, 0, + 0, 0, 55, 14, 0, 0, 0, 14, 14, 0, - 14, 14, 14, 7, 6, 5, 53, 0, 52, 50, + 14, 14, 14, 7, 6, 5, 51, 0, 50, 48, 14, 14, 14, 0, 17, 0, 0, 0, 13, 0, 0, 17, 0, 17, 17, 0, 0, 13, 0, 0, - 4, 0, 0, 50, 0, 33, 36, 50, 30, 32, - 50, 46, 38, 50, 37, 44, 50, 40, 39, 35, - 50, 50, 50, 50, 50, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 14, 0, 15, 14, 14, 58, - 58, 14, 14, 50, 12, 10, 14, 0, 17, 0, - 0, 0, 17, 17, 17, 0, 0, 0, 1, 50, - 50, 41, 50, 49, 15, 42, 34, 50, 50, 3, - - 0, 0, 0, 0, 0, 0, 0, 14, 54, 0, - 58, 58, 58, 57, 14, 50, 47, 11, 16, 16, - 0, 0, 17, 17, 0, 0, 0, 50, 43, 50, - 50, 0, 0, 0, 0, 0, 0, 19, 14, 59, - 58, 58, 58, 58, 0, 0, 0, 0, 56, 0, - 14, 48, 0, 17, 0, 0, 17, 17, 0, 50, - 50, 31, 0, 0, 0, 0, 20, 0, 14, 59, - 58, 58, 58, 58, 58, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 14, 0, 17, - 0, 0, 17, 17, 0, 50, 50, 0, 0, 0, - - 18, 0, 14, 59, 58, 58, 58, 58, 58, 58, - 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 16, 16, 0, 0, 17, 17, - 0, 50, 50, 0, 22, 0, 0, 14, 59, 58, - 58, 58, 58, 58, 58, 58, 0, 55, 0, 0, - 0, 55, 0, 0, 0, 0, 17, 50, 0, 0, - 0, 0, 0, 0, 0, 59, 0, 0, 0, 29, - 0, 0, 0, 0, 0, 21, 23, 59, 0, 0, + 4, 0, 0, 48, 0, 34, 48, 30, 32, 48, + 44, 36, 48, 35, 42, 48, 38, 37, 33, 48, + 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 14, 14, 0, 15, 14, 14, 56, 56, 14, + 14, 48, 12, 10, 14, 0, 17, 0, 0, 0, + 17, 17, 17, 0, 0, 0, 1, 48, 48, 39, + 48, 47, 15, 40, 48, 48, 3, 0, 0, 0, + + 0, 0, 0, 0, 14, 52, 0, 56, 56, 56, + 55, 14, 48, 45, 11, 16, 16, 0, 0, 17, + 17, 0, 0, 0, 48, 41, 48, 48, 0, 0, + 0, 0, 0, 0, 19, 14, 57, 56, 56, 56, + 56, 0, 0, 0, 0, 54, 0, 14, 46, 0, + 17, 0, 0, 17, 17, 0, 48, 48, 31, 0, + 0, 0, 0, 20, 0, 14, 57, 56, 56, 56, + 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 0, 14, 0, 17, 0, 0, 17, + 17, 0, 48, 48, 0, 0, 0, 18, 0, 14, + + 57, 56, 56, 56, 56, 56, 56, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 24, 0, 0, 0, 0, 25, 0, 0, 26, - - 0, 0, 0, 0, 0, 0, 0, 27, 28, 0 + 14, 16, 16, 0, 0, 17, 17, 0, 48, 48, + 0, 22, 0, 0, 14, 57, 56, 56, 56, 56, + 56, 56, 56, 0, 53, 0, 0, 0, 53, 0, + 0, 0, 0, 17, 48, 0, 0, 0, 0, 0, + 0, 0, 57, 0, 0, 0, 29, 0, 0, 0, + 0, 0, 21, 23, 57, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, + 0, 0, 0, 25, 0, 0, 26, 0, 0, 0, + + 0, 0, 0, 0, 27, 28, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -168,113 +168,111 @@ 4, 4, 10 } ; -static yyconst flex_int16_t yy_base[444] = +static yyconst flex_int16_t yy_base[441] = { 0, - 0, 0, 65, 69, 63, 67, 83, 86, 1316, 2828, - 96, 110, 124, 86, 78, 1240, 90, 1239, 83, 99, - 1213, 1217, 177, 1222, 243, 94, 260, 254, 259, 1198, - 2828, 1168, 1167, 1169, 132, 2828, 104, 318, 108, 2828, - 2828, 2828, 369, 2828, 174, 291, 69, 115, 2828, 428, - 101, 1136, 309, 2828, 121, 487, 2828, 117, 341, 1134, - 141, 371, 351, 329, 1130, 2828, 1087, 1117, 0, 1047, - 381, 138, 232, 128, 300, 350, 384, 398, 507, 422, - 386, 1046, 473, 130, 1052, 118, 124, 189, 235, 272, - 113, 144, 2828, 341, 506, 550, 567, 572, 401, 1043, - - 543, 342, 624, 2828, 2828, 2828, 564, 1026, 560, 580, - 409, 537, 593, 638, 678, 407, 470, 261, 273, 737, - 796, 986, 657, 957, 855, 545, 298, 351, 914, 973, - 2828, 952, 173, 895, 691, 885, 884, 359, 881, 848, - 427, 846, 781, 444, 780, 779, 598, 778, 767, 763, - 410, 571, 760, 1032, 536, 759, 299, 277, 520, 551, - 435, 569, 465, 468, 1091, 658, 751, 620, 583, 241, - 737, 651, 697, 749, 679, 691, 738, 809, 815, 572, - 506, 849, 650, 1150, 900, 400, 933, 686, 2828, 639, - 1209, 638, 590, 619, 594, 560, 546, 986, 727, 2828, - - 569, 605, 627, 633, 581, 701, 714, 992, 2828, 1045, - 331, 566, 502, 887, 1051, 721, 454, 750, 1085, 1104, - 717, 1137, 1195, 1215, 1228, 461, 755, 1249, 418, 1262, - 752, 741, 736, 447, 738, 794, 738, 2828, 1268, 1282, - 523, 409, 380, 379, 1341, 1355, 768, 798, 2828, 1407, - 1343, 339, 1413, 1426, 849, 1447, 1460, 1466, 1480, 1500, - 1513, 310, 858, 803, 865, 863, 2828, 881, 1533, 1546, - 524, 336, 303, 244, 232, 993, 770, 1052, 1605, 850, - 1664, 1376, 1617, 1637, 1676, 1728, 1787, 1747, 1793, 1806, - 913, 1827, 1840, 1846, 1860, 1880, 1893, 238, 879, 923, - - 2828, 925, 1913, 1926, 962, 178, 177, 176, 175, 166, - 1124, 2828, 811, 886, 1697, 1985, 2044, 1352, 974, 1997, - 2103, 2162, 2221, 1998, 2828, 2004, 942, 2061, 2120, 1170, - 2181, 2227, 2240, 2261, 2828, 925, 954, 1182, 2283, 87, - 2828, 2828, 2828, 2828, 2828, 2828, 2320, 896, 1033, 2323, - 2344, 987, 1015, 2356, 2370, 1084, 1196, 1215, 953, 1039, - 1129, 1172, 1031, 1173, 1203, 2389, 2403, 2422, 2436, 2828, - 1272, 1273, 1211, 1297, 1312, 2828, 2828, 2828, 2455, 2469, - 2488, 1327, 1287, 1337, 1355, 1319, 2502, 2521, 2535, 1344, - 1367, 2828, 1367, 1366, 1545, 1760, 2828, 1360, 1359, 2828, - - 1359, 1384, 1468, 1382, 1403, 1509, 1517, 2828, 2828, 2828, - 2594, 2599, 2608, 2613, 2619, 2626, 2635, 2640, 2647, 2656, - 2666, 2668, 2673, 2680, 2687, 2691, 2697, 2707, 2714, 2719, - 2728, 2733, 2741, 2751, 2756, 2764, 2773, 2782, 2787, 2795, - 2804, 2809, 2817 + 0, 0, 65, 69, 63, 67, 83, 86, 1201, 2820, + 96, 110, 124, 86, 78, 1176, 90, 1145, 83, 99, + 1134, 1138, 177, 1146, 243, 94, 260, 254, 259, 1115, + 2820, 1096, 1095, 1097, 132, 2820, 104, 318, 108, 2820, + 2820, 2820, 369, 2820, 174, 291, 69, 115, 2820, 428, + 101, 1056, 309, 2820, 121, 487, 2820, 117, 341, 1083, + 141, 371, 351, 329, 1062, 2820, 955, 986, 0, 936, + 116, 138, 232, 128, 300, 350, 359, 397, 449, 448, + 203, 866, 501, 130, 900, 237, 124, 263, 289, 302, + 144, 336, 2820, 342, 520, 508, 533, 560, 391, 882, + + 409, 392, 612, 2820, 2820, 2820, 552, 885, 449, 440, + 541, 554, 556, 618, 658, 350, 412, 261, 273, 717, + 776, 819, 671, 817, 835, 572, 298, 422, 894, 953, + 2820, 844, 173, 806, 677, 805, 443, 804, 802, 386, + 750, 714, 534, 700, 691, 632, 690, 659, 643, 538, + 642, 1012, 453, 665, 378, 390, 406, 513, 445, 557, + 550, 514, 1071, 652, 661, 608, 575, 331, 655, 578, + 730, 762, 606, 610, 718, 821, 854, 562, 426, 911, + 611, 1130, 966, 671, 972, 646, 2820, 607, 1189, 555, + 741, 552, 579, 550, 1025, 732, 2820, 620, 668, 679, + + 698, 705, 723, 724, 1031, 2820, 1065, 572, 562, 516, + 808, 1084, 777, 441, 740, 1117, 1175, 751, 1195, 1208, + 1229, 1242, 455, 586, 1248, 388, 1262, 778, 760, 755, + 398, 757, 624, 774, 2820, 1282, 1295, 739, 378, 337, + 336, 1354, 1368, 474, 835, 2820, 1420, 1356, 280, 1426, + 1439, 798, 1460, 1473, 1479, 1493, 1513, 1526, 251, 808, + 830, 841, 829, 2820, 847, 1546, 1559, 891, 244, 241, + 232, 231, 931, 689, 957, 1618, 892, 1677, 1389, 1630, + 1650, 1689, 1741, 1800, 1760, 1806, 1819, 638, 1840, 1853, + 1859, 1873, 1893, 1906, 186, 856, 892, 2820, 893, 1926, + + 1939, 912, 177, 176, 175, 166, 115, 973, 2820, 1103, + 816, 1329, 1998, 2057, 1365, 967, 1710, 2116, 2175, 2234, + 1984, 2820, 2017, 923, 2074, 2133, 1032, 2194, 2240, 2253, + 2274, 2820, 874, 935, 1045, 2296, 87, 2820, 2820, 2820, + 2820, 2820, 2820, 1972, 920, 1013, 2329, 2361, 1014, 1026, + 2349, 2362, 1079, 1162, 1176, 1048, 1078, 1109, 1138, 963, + 1139, 1140, 2395, 2408, 2414, 2428, 2820, 1154, 1154, 1191, + 1278, 1310, 2820, 2820, 2820, 2448, 2461, 2481, 1325, 1179, + 1250, 1304, 1331, 2494, 2514, 2527, 1334, 1371, 2820, 1373, + 1377, 1558, 1715, 2820, 1367, 1370, 2820, 1371, 1378, 1406, + + 1395, 1416, 1522, 1530, 2820, 2820, 2820, 2586, 2591, 2600, + 2605, 2611, 2618, 2627, 2632, 2639, 2648, 2658, 2660, 2665, + 2672, 2679, 2683, 2689, 2699, 2706, 2711, 2720, 2725, 2733, + 2743, 2748, 2756, 2765, 2774, 2779, 2787, 2796, 2801, 2809 } ; -static yyconst flex_int16_t yy_def[444] = +static yyconst flex_int16_t yy_def[441] = { 0, - 410, 1, 1, 1, 1, 1, 1, 1, 410, 410, - 410, 410, 410, 411, 412, 410, 413, 410, 410, 414, - 410, 410, 410, 410, 410, 415, 415, 415, 416, 410, - 410, 410, 410, 410, 23, 410, 415, 415, 415, 410, - 410, 410, 412, 410, 410, 410, 410, 411, 410, 417, - 412, 418, 419, 410, 413, 420, 410, 410, 410, 410, - 415, 415, 416, 23, 421, 410, 422, 410, 23, 423, - 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, - 423, 423, 424, 423, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 415, 425, 410, 410, 415, 415, 426, - - 415, 415, 415, 410, 410, 410, 23, 410, 23, 423, - 415, 415, 415, 410, 418, 410, 411, 411, 411, 411, - 417, 418, 427, 418, 115, 413, 413, 413, 413, 420, - 410, 421, 428, 423, 429, 423, 423, 423, 423, 423, - 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, - 423, 423, 423, 423, 423, 410, 410, 410, 410, 410, - 410, 410, 410, 415, 103, 410, 410, 415, 415, 430, - 410, 415, 103, 423, 415, 415, 415, 410, 115, 410, - 411, 120, 418, 115, 125, 413, 129, 431, 410, 423, - 154, 423, 423, 423, 423, 423, 423, 154, 423, 410, - - 410, 410, 410, 410, 410, 410, 410, 165, 410, 410, - 432, 410, 410, 433, 103, 423, 423, 415, 410, 115, - 410, 120, 184, 125, 129, 431, 434, 191, 423, 154, - 423, 410, 410, 410, 410, 410, 410, 410, 165, 410, - 435, 410, 410, 410, 433, 433, 436, 437, 410, 438, - 103, 423, 410, 115, 410, 120, 184, 125, 129, 191, - 154, 423, 410, 410, 410, 410, 410, 410, 165, 410, - 439, 410, 410, 410, 410, 410, 436, 410, 440, 437, - 441, 433, 433, 433, 433, 433, 438, 251, 410, 115, - 410, 120, 184, 125, 129, 191, 154, 410, 410, 410, - - 410, 410, 165, 410, 442, 410, 410, 410, 410, 410, - 410, 410, 436, 436, 436, 436, 440, 437, 437, 437, - 437, 443, 433, 288, 410, 115, 410, 120, 184, 326, - 129, 191, 154, 410, 410, 410, 410, 324, 410, 410, - 410, 410, 410, 410, 410, 410, 436, 436, 436, 316, - 437, 437, 437, 321, 323, 410, 326, 333, 410, 410, - 410, 410, 410, 410, 410, 410, 316, 321, 323, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 316, 321, - 323, 410, 410, 410, 410, 410, 316, 321, 323, 410, - 410, 410, 410, 410, 436, 437, 410, 410, 410, 410, - - 410, 410, 410, 410, 410, 410, 410, 410, 410, 0, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410 + 407, 1, 1, 1, 1, 1, 1, 1, 407, 407, + 407, 407, 407, 408, 409, 407, 410, 407, 407, 411, + 407, 407, 407, 407, 407, 412, 412, 412, 413, 407, + 407, 407, 407, 407, 23, 407, 412, 412, 412, 407, + 407, 407, 409, 407, 407, 407, 407, 408, 407, 414, + 409, 415, 416, 407, 410, 417, 407, 407, 407, 407, + 412, 412, 413, 23, 418, 407, 419, 407, 23, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 421, 420, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 412, 422, 407, 407, 412, 412, 423, + + 412, 412, 412, 407, 407, 407, 23, 407, 23, 420, + 412, 412, 412, 407, 415, 407, 408, 408, 408, 408, + 414, 415, 424, 415, 115, 410, 410, 410, 410, 417, + 407, 418, 425, 420, 426, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 407, 407, 407, 407, 407, 407, 407, + 407, 412, 103, 407, 407, 412, 412, 427, 407, 412, + 103, 420, 412, 412, 412, 407, 115, 407, 408, 120, + 415, 115, 125, 410, 129, 428, 407, 420, 152, 420, + 420, 420, 420, 420, 152, 420, 407, 407, 407, 407, + + 407, 407, 407, 407, 163, 407, 407, 429, 407, 407, + 430, 103, 420, 420, 412, 407, 115, 407, 120, 182, + 125, 129, 428, 431, 189, 420, 152, 420, 407, 407, + 407, 407, 407, 407, 407, 163, 407, 432, 407, 407, + 407, 430, 430, 433, 434, 407, 435, 103, 420, 407, + 115, 407, 120, 182, 125, 129, 189, 152, 420, 407, + 407, 407, 407, 407, 407, 163, 407, 436, 407, 407, + 407, 407, 407, 433, 407, 437, 434, 438, 430, 430, + 430, 430, 430, 435, 248, 407, 115, 407, 120, 182, + 125, 129, 189, 152, 407, 407, 407, 407, 407, 163, + + 407, 439, 407, 407, 407, 407, 407, 407, 407, 433, + 433, 433, 433, 437, 434, 434, 434, 434, 440, 430, + 285, 407, 115, 407, 120, 182, 323, 129, 189, 152, + 407, 407, 407, 407, 321, 407, 407, 407, 407, 407, + 407, 407, 407, 433, 433, 433, 313, 434, 434, 434, + 318, 320, 407, 323, 330, 407, 407, 407, 407, 407, + 407, 407, 407, 313, 318, 320, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 313, 318, 320, 407, 407, + 407, 407, 407, 313, 318, 320, 407, 407, 407, 407, + 407, 433, 434, 407, 407, 407, 407, 407, 407, 407, + + 407, 407, 407, 407, 407, 407, 0, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407 } ; -static yyconst flex_int16_t yy_nxt[2912] = +static yyconst flex_int16_t yy_nxt[2904] = { 0, 10, 11, 12, 11, 11, 11, 13, 14, 15, 16, 10, 10, 17, 10, 10, 18, 19, 20, 21, 22, @@ -287,319 +285,318 @@ 10, 33, 26, 34, 41, 35, 36, 34, 41, 35, 36, 43, 37, 49, 43, 51, 37, 45, 45, 45, - 45, 45, 49, 58, 210, 38, 39, 93, 116, 38, - 39, 45, 45, 45, 45, 45, 60, 93, 410, 58, + 45, 45, 49, 58, 207, 38, 39, 93, 116, 38, + 39, 45, 45, 45, 45, 45, 60, 93, 407, 58, 37, 93, 49, 59, 37, 46, 46, 46, 46, 46, 53, 38, 39, 49, 116, 38, 39, 58, 50, 62, - 162, 42, 56, 40, 111, 42, 95, 40, 113, 59, - 108, 63, 109, 53, 93, 157, 95, 59, 158, 47, - 95, 10, 110, 44, 10, 62, 44, 50, 162, 138, - 111, 163, 141, 56, 113, 45, 45, 45, 45, 45, - 135, 157, 135, 59, 155, 158, 47, 66, 133, 110, - 135, 346, 189, 95, 67, 68, 138, 69, 141, 163, - - 345, 344, 343, 342, 70, 70, 71, 72, 73, 70, + 343, 42, 56, 40, 111, 42, 95, 40, 113, 59, + 108, 63, 109, 53, 93, 136, 95, 59, 156, 47, + 95, 10, 110, 44, 10, 62, 44, 50, 135, 137, + 111, 160, 140, 56, 113, 45, 45, 45, 45, 45, + 135, 136, 135, 59, 153, 156, 47, 66, 133, 110, + 135, 342, 187, 95, 67, 68, 137, 69, 140, 160, + + 341, 340, 339, 331, 70, 70, 71, 72, 73, 70, 74, 75, 76, 70, 77, 70, 78, 79, 70, 80, 70, 81, 82, 70, 70, 70, 70, 70, 70, 83, - 159, 84, 70, 71, 72, 73, 70, 74, 75, 76, + 150, 84, 70, 71, 72, 73, 70, 74, 75, 76, 77, 70, 78, 79, 70, 80, 70, 81, 82, 70, - 70, 70, 70, 70, 70, 334, 159, 310, 210, 70, - 86, 96, 96, 96, 96, 96, 212, 93, 49, 309, - 100, 139, 87, 93, 160, 88, 97, 98, 89, 103, - 49, 140, 90, 91, 135, 92, 103, 103, 103, 103, - 103, 103, 46, 46, 46, 46, 46, 139, 101, 87, + 70, 70, 70, 70, 70, 135, 307, 306, 150, 70, + 86, 96, 96, 96, 96, 96, 305, 93, 49, 304, + 100, 138, 87, 93, 155, 88, 97, 98, 89, 103, + 49, 139, 90, 91, 135, 92, 103, 103, 103, 103, + 103, 103, 46, 46, 46, 46, 46, 138, 101, 87, - 160, 99, 88, 161, 202, 89, 95, 140, 90, 91, + 155, 99, 88, 135, 157, 89, 95, 139, 90, 91, 49, 92, 95, 50, 103, 103, 103, 103, 103, 96, - 96, 96, 96, 96, 101, 50, 47, 99, 308, 125, - 161, 93, 202, 201, 97, 98, 125, 125, 125, 125, - 125, 125, 96, 96, 96, 96, 96, 410, 210, 64, - 56, 142, 135, 47, 93, 93, 242, 97, 97, 112, - 201, 307, 135, 49, 125, 125, 125, 125, 125, 70, - 95, 103, 96, 96, 96, 96, 96, 142, 103, 103, + 96, 96, 96, 96, 101, 50, 47, 99, 158, 125, + 157, 93, 135, 159, 97, 98, 125, 125, 125, 125, + 125, 125, 96, 96, 96, 96, 96, 407, 207, 64, + 56, 141, 135, 47, 158, 93, 209, 97, 97, 112, + 159, 272, 271, 161, 125, 125, 125, 125, 125, 70, + 95, 103, 96, 96, 96, 96, 96, 141, 103, 103, 103, 103, 103, 103, 93, 112, 51, 97, 98, 114, - 143, 135, 192, 95, 95, 70, 115, 115, 115, 115, - - 115, 115, 135, 56, 275, 274, 103, 103, 103, 103, - 103, 135, 49, 151, 93, 136, 143, 152, 144, 192, - 137, 53, 93, 95, 115, 115, 115, 115, 115, 48, - 48, 48, 117, 135, 273, 119, 135, 145, 135, 175, - 196, 151, 136, 146, 152, 144, 137, 169, 120, 180, - 135, 148, 56, 95, 193, 120, 120, 120, 120, 120, - 120, 95, 135, 145, 265, 205, 175, 196, 149, 146, - 135, 150, 48, 169, 135, 180, 227, 49, 148, 135, - 121, 93, 193, 120, 120, 120, 120, 120, 55, 55, - 55, 126, 205, 154, 149, 194, 135, 150, 207, 128, - - 154, 154, 154, 154, 154, 154, 135, 129, 96, 96, - 96, 96, 96, 49, 129, 129, 129, 129, 129, 129, - 95, 194, 50, 97, 147, 207, 165, 244, 154, 154, - 154, 154, 154, 165, 165, 165, 165, 165, 165, 130, - 210, 210, 129, 129, 129, 129, 129, 55, 272, 306, - 93, 96, 96, 96, 96, 96, 93, 49, 50, 135, - 203, 165, 165, 165, 165, 165, 97, 97, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 108, 199, - 109, 172, 410, 176, 107, 93, 203, 167, 135, 95, - 110, 243, 168, 204, 110, 95, 209, 56, 135, 166, - - 166, 166, 166, 166, 70, 199, 93, 172, 206, 176, - 197, 138, 135, 221, 195, 232, 236, 110, 195, 204, - 229, 110, 174, 135, 95, 102, 102, 102, 102, 102, - 70, 177, 135, 93, 206, 95, 197, 93, 138, 221, - 168, 232, 135, 236, 173, 95, 135, 229, 174, 233, - 135, 173, 173, 173, 173, 173, 173, 177, 178, 166, - 166, 166, 166, 166, 214, 178, 178, 178, 178, 178, - 178, 135, 95, 234, 235, 233, 95, 184, 167, 173, - 173, 173, 173, 173, 184, 184, 184, 184, 184, 184, - 135, 135, 93, 178, 178, 178, 178, 178, 179, 234, - - 235, 227, 123, 95, 209, 179, 179, 179, 179, 179, - 179, 191, 184, 184, 184, 184, 184, 215, 191, 191, - 191, 191, 191, 191, 215, 215, 215, 215, 215, 215, - 123, 95, 237, 179, 179, 179, 179, 179, 118, 181, - 181, 181, 118, 95, 49, 238, 191, 191, 191, 191, - 191, 93, 215, 215, 215, 215, 215, 182, 231, 237, - 252, 255, 213, 93, 182, 182, 182, 182, 182, 182, - 227, 167, 238, 135, 189, 278, 200, 278, 216, 135, - 263, 264, 266, 268, 217, 231, 252, 255, 218, 50, - 95, 262, 182, 182, 182, 182, 182, 48, 48, 48, - - 117, 135, 95, 119, 135, 216, 263, 264, 266, 268, - 278, 217, 135, 277, 218, 135, 120, 262, 278, 135, - 279, 267, 279, 120, 120, 120, 120, 120, 120, 219, - 135, 135, 135, 135, 299, 220, 219, 219, 219, 219, - 219, 219, 220, 220, 220, 220, 220, 220, 121, 267, - 281, 120, 120, 120, 120, 120, 124, 124, 124, 124, - 124, 299, 278, 279, 219, 219, 219, 219, 219, 222, - 220, 220, 220, 220, 220, 185, 222, 222, 222, 222, - 222, 222, 185, 185, 185, 185, 185, 185, 245, 245, - 245, 245, 245, 278, 247, 291, 298, 300, 135, 248, - - 135, 249, 281, 278, 222, 222, 222, 222, 222, 301, - 185, 185, 185, 185, 185, 127, 186, 186, 186, 127, - 224, 291, 298, 302, 300, 335, 49, 224, 224, 224, - 224, 224, 224, 135, 187, 301, 135, 135, 279, 250, - 327, 187, 187, 187, 187, 187, 187, 135, 279, 302, - 336, 335, 337, 225, 364, 224, 224, 224, 224, 224, - 225, 225, 225, 225, 225, 225, 56, 133, 327, 187, - 187, 187, 187, 187, 55, 55, 55, 126, 336, 210, - 337, 364, 356, 365, 371, 128, 278, 341, 225, 225, - 225, 225, 225, 129, 276, 276, 276, 276, 276, 278, - - 129, 129, 129, 129, 129, 129, 230, 249, 356, 123, - 365, 371, 239, 230, 230, 230, 230, 230, 230, 239, - 239, 239, 239, 239, 239, 130, 281, 278, 129, 129, - 129, 129, 129, 153, 153, 153, 153, 153, 123, 281, - 278, 230, 230, 230, 230, 230, 107, 239, 239, 239, - 239, 239, 198, 311, 311, 311, 311, 311, 375, 198, - 198, 198, 198, 198, 198, 240, 312, 281, 171, 156, - 372, 251, 240, 240, 240, 240, 240, 240, 251, 251, - 251, 251, 251, 251, 135, 279, 375, 198, 198, 198, - 198, 198, 164, 164, 164, 164, 164, 372, 135, 135, - - 240, 240, 240, 240, 240, 253, 251, 251, 251, 251, - 251, 208, 253, 253, 253, 253, 253, 253, 208, 208, - 208, 208, 208, 208, 254, 311, 311, 311, 311, 311, - 370, 254, 254, 254, 254, 254, 254, 64, 312, 83, - 253, 253, 253, 253, 253, 133, 208, 208, 208, 208, - 208, 183, 183, 183, 183, 183, 370, 256, 131, 254, - 254, 254, 254, 254, 256, 256, 256, 256, 256, 256, - 223, 124, 124, 124, 124, 124, 373, 223, 223, 223, - 223, 223, 223, 164, 164, 164, 164, 164, 123, 107, - 106, 105, 256, 256, 256, 256, 256, 183, 183, 183, - - 183, 183, 373, 374, 376, 223, 223, 223, 223, 223, - 190, 190, 190, 190, 190, 257, 190, 190, 190, 190, - 190, 104, 257, 257, 257, 257, 257, 257, 85, 228, - 374, 376, 65, 64, 377, 258, 228, 228, 228, 228, - 228, 228, 258, 258, 258, 258, 258, 258, 259, 384, - 257, 257, 257, 257, 257, 259, 259, 259, 259, 259, - 259, 377, 57, 54, 228, 228, 228, 228, 228, 260, - 258, 258, 258, 258, 258, 384, 260, 260, 260, 260, - 260, 260, 261, 259, 259, 259, 259, 259, 269, 261, - 261, 261, 261, 261, 261, 269, 269, 269, 269, 269, - - 269, 382, 270, 383, 260, 260, 260, 260, 260, 270, - 270, 270, 270, 270, 270, 410, 410, 261, 261, 261, - 261, 261, 391, 269, 269, 269, 269, 269, 382, 410, - 383, 410, 410, 410, 410, 385, 410, 270, 270, 270, - 270, 270, 245, 245, 245, 245, 245, 410, 247, 391, - 386, 410, 410, 248, 280, 249, 276, 276, 276, 276, - 276, 385, 410, 288, 278, 390, 394, 410, 392, 249, - 288, 288, 288, 288, 288, 288, 386, 276, 276, 276, - 276, 276, 410, 410, 410, 410, 393, 410, 410, 397, - 249, 390, 394, 250, 398, 392, 399, 400, 288, 288, - - 288, 288, 288, 401, 281, 402, 403, 250, 276, 276, - 276, 276, 282, 393, 284, 397, 410, 410, 410, 284, - 284, 285, 398, 399, 400, 404, 406, 286, 250, 401, - 410, 402, 403, 289, 286, 286, 286, 286, 286, 286, - 289, 289, 289, 289, 289, 289, 290, 407, 410, 410, - 410, 404, 406, 290, 290, 290, 290, 290, 290, 287, - 410, 410, 286, 286, 286, 286, 286, 292, 289, 289, - 289, 289, 289, 407, 292, 292, 292, 292, 292, 292, - 293, 290, 290, 290, 290, 290, 294, 293, 293, 293, - 293, 293, 293, 294, 294, 294, 294, 294, 294, 405, - - 295, 410, 292, 292, 292, 292, 292, 295, 295, 295, - 295, 295, 295, 410, 410, 293, 293, 293, 293, 293, - 296, 294, 294, 294, 294, 294, 405, 296, 296, 296, - 296, 296, 296, 297, 410, 295, 295, 295, 295, 295, - 297, 297, 297, 297, 297, 297, 314, 349, 349, 349, - 314, 410, 278, 303, 408, 296, 296, 296, 296, 296, - 303, 303, 303, 303, 303, 303, 304, 409, 297, 297, - 297, 297, 297, 304, 304, 304, 304, 304, 304, 410, - 408, 410, 410, 410, 410, 410, 410, 410, 303, 303, - 303, 303, 303, 409, 410, 410, 410, 279, 410, 410, - - 410, 304, 304, 304, 304, 304, 277, 277, 277, 313, - 410, 410, 315, 410, 410, 410, 410, 410, 276, 276, - 276, 276, 276, 410, 410, 316, 410, 410, 410, 410, - 410, 249, 316, 316, 316, 316, 316, 316, 276, 276, - 276, 276, 276, 410, 410, 410, 410, 410, 410, 410, - 410, 249, 410, 410, 410, 410, 410, 317, 410, 410, - 316, 316, 316, 316, 316, 280, 280, 280, 318, 250, - 410, 410, 410, 410, 410, 410, 320, 276, 276, 276, - 276, 276, 410, 410, 321, 410, 410, 410, 410, 250, - 249, 321, 321, 321, 321, 321, 321, 410, 347, 311, - - 311, 311, 347, 410, 278, 410, 410, 410, 410, 410, - 410, 348, 410, 410, 410, 410, 322, 410, 410, 321, - 321, 321, 321, 321, 410, 410, 410, 410, 250, 282, - 282, 282, 282, 282, 410, 410, 410, 410, 410, 410, - 410, 410, 249, 410, 410, 410, 410, 410, 323, 279, - 410, 410, 410, 410, 410, 323, 323, 323, 323, 323, - 323, 319, 353, 353, 353, 319, 410, 324, 410, 410, - 410, 410, 278, 410, 324, 324, 324, 324, 324, 324, - 250, 410, 410, 323, 323, 323, 323, 323, 276, 276, - 276, 276, 282, 410, 284, 410, 410, 410, 410, 284, - - 284, 285, 324, 324, 324, 324, 324, 286, 410, 410, - 410, 410, 281, 325, 286, 286, 286, 286, 286, 286, - 325, 325, 325, 325, 325, 325, 326, 410, 410, 410, - 410, 410, 410, 326, 326, 326, 326, 326, 326, 287, - 410, 410, 286, 286, 286, 286, 286, 328, 325, 325, - 325, 325, 325, 410, 328, 328, 328, 328, 328, 328, - 329, 326, 326, 326, 326, 326, 330, 329, 329, 329, - 329, 329, 329, 330, 330, 330, 330, 330, 330, 410, - 331, 410, 328, 328, 328, 328, 328, 331, 331, 331, - 331, 331, 331, 410, 410, 329, 329, 329, 329, 329, - - 332, 330, 330, 330, 330, 330, 410, 332, 332, 332, - 332, 332, 332, 333, 410, 331, 331, 331, 331, 331, - 333, 333, 333, 333, 333, 333, 410, 410, 410, 410, - 410, 410, 410, 338, 410, 332, 332, 332, 332, 332, - 338, 338, 338, 338, 338, 338, 339, 410, 333, 333, - 333, 333, 333, 339, 339, 339, 339, 339, 339, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 338, 338, - 338, 338, 338, 410, 410, 410, 410, 410, 410, 410, - 410, 339, 339, 339, 339, 339, 314, 349, 349, 349, - 314, 410, 278, 410, 410, 410, 410, 410, 351, 311, - - 311, 311, 351, 410, 410, 350, 410, 410, 410, 278, - 410, 352, 350, 350, 350, 350, 350, 350, 94, 410, - 410, 410, 410, 410, 122, 94, 94, 94, 94, 94, - 94, 122, 122, 122, 122, 122, 122, 279, 410, 410, - 350, 350, 350, 350, 350, 277, 277, 277, 313, 281, - 410, 315, 410, 94, 94, 94, 94, 94, 410, 122, - 122, 122, 122, 122, 316, 410, 410, 410, 410, 410, - 410, 316, 316, 316, 316, 316, 316, 410, 410, 410, - 410, 48, 410, 410, 410, 410, 410, 410, 48, 48, - 48, 48, 48, 48, 410, 410, 317, 410, 410, 316, - - 316, 316, 316, 316, 319, 353, 353, 353, 319, 410, - 410, 410, 410, 410, 410, 278, 48, 48, 48, 48, - 48, 410, 410, 354, 410, 410, 410, 410, 410, 410, - 354, 354, 354, 354, 354, 354, 410, 410, 410, 410, - 357, 410, 410, 410, 410, 410, 410, 357, 357, 357, - 357, 357, 357, 410, 410, 281, 410, 410, 354, 354, - 354, 354, 354, 280, 280, 280, 318, 410, 410, 410, - 410, 410, 410, 410, 320, 357, 357, 357, 357, 357, - 410, 410, 321, 410, 410, 410, 410, 410, 410, 321, - 321, 321, 321, 321, 321, 410, 410, 410, 410, 410, - - 410, 55, 410, 410, 410, 410, 410, 410, 55, 55, - 55, 55, 55, 55, 322, 410, 410, 321, 321, 321, - 321, 321, 282, 282, 282, 282, 282, 410, 410, 410, - 410, 410, 410, 410, 410, 249, 55, 55, 55, 55, - 55, 355, 410, 410, 410, 410, 410, 358, 355, 355, - 355, 355, 355, 355, 358, 358, 358, 358, 358, 358, - 134, 410, 410, 410, 410, 410, 410, 134, 134, 134, - 134, 134, 134, 250, 410, 410, 355, 355, 355, 355, - 355, 410, 358, 358, 358, 358, 358, 410, 410, 410, - 410, 359, 410, 410, 410, 134, 134, 134, 134, 134, - - 360, 410, 410, 366, 410, 361, 362, 410, 410, 363, - 366, 366, 366, 366, 366, 366, 410, 410, 359, 410, - 410, 347, 311, 311, 311, 347, 360, 278, 410, 410, - 410, 361, 362, 410, 348, 363, 410, 410, 366, 366, - 366, 366, 366, 367, 410, 351, 311, 311, 311, 351, - 367, 367, 367, 367, 367, 367, 278, 410, 352, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 279, 410, 410, 410, 368, 410, 367, 367, - 367, 367, 367, 368, 368, 368, 368, 368, 368, 410, - 369, 410, 410, 410, 410, 410, 281, 369, 369, 369, - - 369, 369, 369, 410, 410, 410, 410, 410, 410, 378, - 410, 368, 368, 368, 368, 368, 378, 378, 378, 378, - 378, 378, 410, 379, 410, 369, 369, 369, 369, 369, - 379, 379, 379, 379, 379, 379, 410, 410, 410, 410, - 410, 410, 380, 410, 378, 378, 378, 378, 378, 380, - 380, 380, 380, 380, 380, 410, 381, 410, 379, 379, - 379, 379, 379, 381, 381, 381, 381, 381, 381, 410, - 410, 410, 410, 410, 410, 387, 410, 380, 380, 380, - 380, 380, 387, 387, 387, 387, 387, 387, 410, 388, - 410, 381, 381, 381, 381, 381, 388, 388, 388, 388, - - 388, 388, 410, 410, 410, 410, 410, 410, 389, 410, - 387, 387, 387, 387, 387, 389, 389, 389, 389, 389, - 389, 410, 395, 410, 388, 388, 388, 388, 388, 395, - 395, 395, 395, 395, 395, 410, 410, 410, 410, 410, - 410, 396, 410, 389, 389, 389, 389, 389, 396, 396, - 396, 396, 396, 396, 410, 246, 410, 395, 395, 395, - 395, 395, 246, 246, 246, 246, 246, 246, 410, 410, - 410, 410, 410, 410, 410, 410, 396, 396, 396, 396, - 396, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 246, 246, 246, 246, 246, 48, 410, 48, 48, 48, - - 48, 48, 48, 48, 52, 410, 410, 52, 52, 55, - 410, 55, 55, 55, 55, 55, 55, 55, 61, 61, - 410, 61, 61, 94, 94, 94, 410, 94, 94, 102, - 102, 102, 102, 102, 102, 102, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 122, 122, 410, 122, 122, - 124, 124, 124, 124, 124, 124, 124, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 70, 70, 134, 134, - 410, 134, 134, 153, 153, 153, 153, 153, 153, 153, - 164, 164, 164, 164, 164, 164, 164, 170, 170, 170, - - 183, 183, 183, 183, 183, 183, 183, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 190, 190, 190, - 190, 190, 190, 190, 211, 211, 211, 211, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 241, 241, - 241, 241, 246, 246, 246, 410, 246, 246, 246, 246, - 246, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 271, 271, 271, 271, 277, 410, 277, 277, 277, - 277, 277, 277, 277, 280, 410, 280, 280, 280, 280, - 280, 280, 280, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 305, 305, 305, 305, 314, 314, 314, 314, - - 314, 314, 314, 314, 314, 319, 319, 319, 319, 319, - 319, 319, 319, 319, 340, 340, 340, 340, 319, 319, - 319, 319, 319, 319, 319, 319, 319, 9, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410 + 142, 161, 178, 143, 95, 70, 115, 115, 115, 115, + + 115, 115, 135, 270, 93, 93, 103, 103, 103, 103, + 103, 135, 198, 191, 48, 262, 142, 199, 178, 49, + 143, 53, 93, 95, 115, 115, 115, 115, 115, 48, + 48, 48, 117, 49, 49, 119, 144, 167, 135, 198, + 135, 191, 145, 95, 95, 199, 200, 170, 120, 135, + 96, 96, 96, 96, 96, 120, 120, 120, 120, 120, + 120, 95, 144, 167, 50, 97, 146, 108, 145, 109, + 224, 137, 200, 170, 56, 202, 190, 147, 50, 110, + 121, 275, 172, 120, 120, 120, 120, 120, 55, 55, + 55, 126, 135, 135, 148, 135, 196, 149, 137, 128, + + 135, 135, 202, 190, 147, 135, 110, 129, 172, 96, + 96, 96, 96, 96, 129, 129, 129, 129, 129, 129, + 148, 152, 196, 149, 97, 97, 276, 93, 152, 152, + 152, 152, 152, 152, 164, 164, 164, 164, 164, 130, + 163, 241, 129, 129, 129, 129, 129, 163, 163, 163, + 163, 163, 163, 165, 93, 201, 152, 152, 152, 152, + 152, 164, 164, 164, 164, 164, 95, 93, 194, 93, + 407, 173, 107, 93, 55, 163, 163, 163, 163, 163, + 166, 201, 110, 204, 49, 192, 135, 240, 206, 207, + 135, 211, 70, 95, 175, 194, 203, 239, 173, 193, + + 174, 224, 135, 218, 135, 187, 95, 135, 95, 110, + 204, 192, 95, 102, 102, 102, 102, 102, 70, 93, + 175, 93, 203, 206, 56, 93, 174, 95, 166, 218, + 95, 135, 171, 164, 164, 164, 164, 164, 176, 171, + 171, 171, 171, 171, 171, 176, 176, 176, 176, 176, + 176, 264, 193, 164, 164, 164, 164, 164, 95, 135, + 95, 224, 95, 123, 95, 324, 229, 171, 171, 171, + 171, 171, 165, 176, 176, 176, 176, 176, 177, 264, + 210, 165, 197, 49, 135, 177, 177, 177, 177, 177, + 177, 182, 229, 324, 135, 135, 275, 189, 182, 182, + + 182, 182, 182, 182, 189, 189, 189, 189, 189, 189, + 123, 135, 230, 177, 177, 177, 177, 177, 118, 179, + 179, 179, 118, 56, 49, 231, 182, 182, 182, 182, + 182, 93, 189, 189, 189, 189, 189, 180, 230, 232, + 233, 276, 135, 135, 180, 180, 180, 180, 180, 180, + 212, 231, 135, 93, 234, 235, 207, 212, 212, 212, + 212, 212, 212, 228, 269, 232, 135, 233, 215, 50, + 95, 226, 180, 180, 180, 180, 180, 48, 48, 48, + 117, 234, 235, 119, 135, 212, 212, 212, 212, 212, + 228, 213, 95, 135, 215, 252, 120, 214, 226, 260, + + 261, 263, 135, 120, 120, 120, 120, 120, 120, 242, + 242, 242, 242, 242, 135, 244, 249, 259, 213, 265, + 245, 252, 246, 275, 214, 260, 261, 263, 121, 135, + 135, 120, 120, 120, 120, 120, 124, 124, 124, 124, + 124, 216, 249, 259, 288, 265, 295, 275, 216, 216, + 216, 216, 216, 216, 135, 183, 135, 135, 135, 133, + 247, 296, 183, 183, 183, 183, 183, 183, 276, 123, + 288, 123, 295, 297, 217, 298, 216, 216, 216, 216, + 216, 217, 217, 217, 217, 217, 217, 278, 296, 299, + 183, 183, 183, 183, 183, 127, 184, 184, 184, 127, + + 297, 298, 332, 361, 275, 107, 49, 169, 207, 217, + 217, 217, 217, 217, 185, 299, 303, 154, 135, 333, + 334, 185, 185, 185, 185, 185, 185, 275, 332, 207, + 361, 219, 273, 273, 273, 273, 273, 338, 219, 219, + 219, 219, 219, 219, 278, 246, 56, 333, 334, 185, + 185, 185, 185, 185, 55, 55, 55, 126, 308, 308, + 308, 308, 308, 353, 362, 128, 219, 219, 219, 219, + 219, 309, 276, 129, 308, 308, 308, 308, 308, 275, + 129, 129, 129, 129, 129, 129, 221, 309, 135, 353, + 372, 362, 222, 221, 221, 221, 221, 221, 221, 222, + + 222, 222, 222, 222, 222, 130, 64, 83, 129, 129, + 129, 129, 129, 151, 151, 151, 151, 151, 372, 278, + 275, 221, 221, 221, 221, 221, 275, 222, 222, 222, + 222, 222, 195, 124, 124, 124, 124, 124, 275, 195, + 195, 195, 195, 195, 195, 227, 162, 162, 162, 162, + 162, 236, 227, 227, 227, 227, 227, 227, 236, 236, + 236, 236, 236, 236, 135, 276, 278, 195, 195, 195, + 195, 195, 162, 162, 162, 162, 162, 133, 278, 368, + 227, 227, 227, 227, 227, 237, 236, 236, 236, 236, + 236, 205, 237, 237, 237, 237, 237, 237, 205, 205, + + 205, 205, 205, 205, 248, 274, 368, 131, 123, 369, + 275, 248, 248, 248, 248, 248, 248, 107, 106, 105, + 237, 237, 237, 237, 237, 367, 205, 205, 205, 205, + 205, 181, 181, 181, 181, 181, 369, 250, 104, 248, + 248, 248, 248, 248, 250, 250, 250, 250, 250, 250, + 220, 367, 85, 65, 64, 276, 370, 220, 220, 220, + 220, 220, 220, 181, 181, 181, 181, 181, 57, 371, + 373, 374, 250, 250, 250, 250, 250, 188, 188, 188, + 188, 188, 370, 379, 380, 220, 220, 220, 220, 220, + 188, 188, 188, 188, 188, 251, 371, 373, 374, 54, + + 407, 407, 251, 251, 251, 251, 251, 251, 407, 225, + 379, 380, 407, 407, 388, 253, 225, 225, 225, 225, + 225, 225, 253, 253, 253, 253, 253, 253, 254, 381, + 251, 251, 251, 251, 251, 254, 254, 254, 254, 254, + 254, 388, 407, 407, 225, 225, 225, 225, 225, 255, + 253, 253, 253, 253, 253, 381, 255, 255, 255, 255, + 255, 255, 256, 254, 254, 254, 254, 254, 257, 256, + 256, 256, 256, 256, 256, 257, 257, 257, 257, 257, + 257, 389, 258, 407, 255, 255, 255, 255, 255, 258, + 258, 258, 258, 258, 258, 407, 407, 256, 256, 256, + + 256, 256, 266, 257, 257, 257, 257, 257, 389, 266, + 266, 266, 266, 266, 266, 267, 382, 258, 258, 258, + 258, 258, 267, 267, 267, 267, 267, 267, 407, 407, + 344, 308, 308, 308, 344, 390, 275, 266, 266, 266, + 266, 266, 382, 345, 407, 407, 407, 407, 383, 407, + 267, 267, 267, 267, 267, 242, 242, 242, 242, 242, + 407, 244, 390, 387, 407, 407, 245, 277, 246, 273, + 273, 273, 273, 273, 383, 407, 285, 275, 391, 394, + 407, 276, 246, 285, 285, 285, 285, 285, 285, 387, + 273, 273, 273, 273, 273, 407, 407, 407, 395, 407, + + 407, 407, 396, 246, 391, 394, 247, 407, 397, 407, + 398, 285, 285, 285, 285, 285, 399, 278, 400, 401, + 247, 273, 273, 273, 273, 279, 395, 281, 407, 396, + 407, 407, 281, 281, 282, 397, 398, 402, 407, 403, + 283, 247, 399, 407, 400, 401, 286, 283, 283, 283, + 283, 283, 283, 286, 286, 286, 286, 286, 286, 287, + 404, 407, 407, 407, 402, 403, 287, 287, 287, 287, + 287, 287, 284, 407, 407, 283, 283, 283, 283, 283, + 289, 286, 286, 286, 286, 286, 404, 289, 289, 289, + 289, 289, 289, 290, 287, 287, 287, 287, 287, 291, + + 290, 290, 290, 290, 290, 290, 291, 291, 291, 291, + 291, 291, 407, 292, 407, 289, 289, 289, 289, 289, + 292, 292, 292, 292, 292, 292, 407, 407, 290, 290, + 290, 290, 290, 293, 291, 291, 291, 291, 291, 407, + 293, 293, 293, 293, 293, 293, 294, 407, 292, 292, + 292, 292, 292, 294, 294, 294, 294, 294, 294, 311, + 346, 346, 346, 311, 407, 275, 300, 405, 293, 293, + 293, 293, 293, 300, 300, 300, 300, 300, 300, 301, + 406, 294, 294, 294, 294, 294, 301, 301, 301, 301, + 301, 301, 407, 405, 407, 407, 407, 407, 407, 407, + + 407, 300, 300, 300, 300, 300, 406, 407, 407, 407, + 276, 407, 407, 407, 301, 301, 301, 301, 301, 274, + 274, 274, 310, 407, 407, 312, 407, 407, 407, 407, + 407, 273, 273, 273, 273, 273, 407, 407, 313, 407, + 407, 407, 407, 407, 246, 313, 313, 313, 313, 313, + 313, 273, 273, 273, 273, 273, 407, 407, 407, 407, + 407, 407, 407, 407, 246, 407, 407, 407, 407, 407, + 314, 407, 407, 313, 313, 313, 313, 313, 277, 277, + 277, 315, 247, 407, 407, 407, 407, 407, 407, 317, + 273, 273, 273, 273, 273, 407, 407, 318, 407, 407, + + 407, 407, 247, 246, 318, 318, 318, 318, 318, 318, + 407, 348, 308, 308, 308, 348, 316, 350, 350, 350, + 316, 407, 275, 407, 349, 407, 407, 275, 407, 319, + 407, 407, 318, 318, 318, 318, 318, 407, 407, 407, + 407, 247, 279, 279, 279, 279, 279, 407, 407, 407, + 407, 407, 407, 407, 407, 246, 407, 407, 407, 407, + 407, 320, 278, 407, 407, 407, 407, 278, 320, 320, + 320, 320, 320, 320, 407, 407, 407, 407, 407, 407, + 321, 407, 407, 407, 407, 407, 407, 321, 321, 321, + 321, 321, 321, 247, 407, 407, 320, 320, 320, 320, + + 320, 273, 273, 273, 273, 279, 407, 281, 407, 407, + 407, 407, 281, 281, 282, 321, 321, 321, 321, 321, + 283, 407, 407, 407, 407, 407, 322, 283, 283, 283, + 283, 283, 283, 322, 322, 322, 322, 322, 322, 323, + 407, 407, 407, 407, 407, 407, 323, 323, 323, 323, + 323, 323, 284, 407, 407, 283, 283, 283, 283, 283, + 325, 322, 322, 322, 322, 322, 407, 325, 325, 325, + 325, 325, 325, 326, 323, 323, 323, 323, 323, 327, + 326, 326, 326, 326, 326, 326, 327, 327, 327, 327, + 327, 327, 407, 328, 407, 325, 325, 325, 325, 325, + + 328, 328, 328, 328, 328, 328, 407, 407, 326, 326, + 326, 326, 326, 329, 327, 327, 327, 327, 327, 407, + 329, 329, 329, 329, 329, 329, 330, 407, 328, 328, + 328, 328, 328, 330, 330, 330, 330, 330, 330, 407, + 407, 407, 407, 407, 407, 407, 335, 407, 329, 329, + 329, 329, 329, 335, 335, 335, 335, 335, 335, 336, + 407, 330, 330, 330, 330, 330, 336, 336, 336, 336, + 336, 336, 407, 344, 308, 308, 308, 344, 407, 275, + 407, 335, 335, 335, 335, 335, 345, 407, 407, 407, + 407, 407, 407, 407, 336, 336, 336, 336, 336, 311, + + 346, 346, 346, 311, 94, 275, 407, 407, 407, 407, + 407, 94, 94, 94, 94, 94, 94, 407, 347, 407, + 407, 407, 407, 407, 276, 347, 347, 347, 347, 347, + 347, 407, 407, 407, 407, 407, 407, 122, 407, 94, + 94, 94, 94, 94, 122, 122, 122, 122, 122, 122, + 276, 407, 407, 347, 347, 347, 347, 347, 274, 274, + 274, 310, 407, 407, 312, 407, 407, 407, 407, 407, + 407, 407, 122, 122, 122, 122, 122, 313, 407, 407, + 407, 407, 407, 407, 313, 313, 313, 313, 313, 313, + 407, 407, 407, 407, 48, 407, 407, 407, 407, 407, + + 407, 48, 48, 48, 48, 48, 48, 407, 407, 314, + 407, 407, 313, 313, 313, 313, 313, 316, 350, 350, + 350, 316, 407, 407, 407, 407, 407, 407, 275, 48, + 48, 48, 48, 48, 407, 407, 351, 407, 407, 407, + 407, 407, 407, 351, 351, 351, 351, 351, 351, 407, + 407, 407, 407, 354, 407, 407, 407, 407, 407, 407, + 354, 354, 354, 354, 354, 354, 407, 407, 278, 407, + 407, 351, 351, 351, 351, 351, 277, 277, 277, 315, + 407, 407, 407, 407, 407, 407, 407, 317, 354, 354, + 354, 354, 354, 407, 407, 318, 407, 407, 407, 407, + + 407, 407, 318, 318, 318, 318, 318, 318, 407, 407, + 407, 407, 407, 407, 55, 407, 407, 407, 407, 407, + 407, 55, 55, 55, 55, 55, 55, 319, 407, 407, + 318, 318, 318, 318, 318, 279, 279, 279, 279, 279, + 407, 407, 407, 407, 407, 407, 407, 407, 246, 55, + 55, 55, 55, 55, 352, 407, 407, 407, 407, 407, + 355, 352, 352, 352, 352, 352, 352, 355, 355, 355, + 355, 355, 355, 134, 407, 407, 407, 407, 407, 407, + 134, 134, 134, 134, 134, 134, 247, 407, 407, 352, + 352, 352, 352, 352, 407, 355, 355, 355, 355, 355, + + 407, 407, 407, 407, 356, 407, 407, 407, 134, 134, + 134, 134, 134, 357, 407, 407, 363, 407, 358, 359, + 407, 407, 360, 363, 363, 363, 363, 363, 363, 407, + 407, 356, 407, 407, 407, 407, 407, 407, 407, 357, + 407, 407, 407, 407, 358, 359, 407, 407, 360, 364, + 407, 363, 363, 363, 363, 363, 364, 364, 364, 364, + 364, 364, 348, 308, 308, 308, 348, 407, 407, 365, + 407, 407, 407, 275, 407, 349, 365, 365, 365, 365, + 365, 365, 366, 407, 364, 364, 364, 364, 364, 366, + 366, 366, 366, 366, 366, 407, 407, 407, 407, 407, + + 407, 407, 407, 407, 365, 365, 365, 365, 365, 407, + 407, 407, 407, 278, 407, 375, 407, 366, 366, 366, + 366, 366, 375, 375, 375, 375, 375, 375, 376, 407, + 407, 407, 407, 407, 377, 376, 376, 376, 376, 376, + 376, 377, 377, 377, 377, 377, 377, 407, 378, 407, + 375, 375, 375, 375, 375, 378, 378, 378, 378, 378, + 378, 407, 407, 376, 376, 376, 376, 376, 384, 377, + 377, 377, 377, 377, 407, 384, 384, 384, 384, 384, + 384, 385, 407, 378, 378, 378, 378, 378, 385, 385, + 385, 385, 385, 385, 407, 407, 407, 407, 407, 407, + + 407, 386, 407, 384, 384, 384, 384, 384, 386, 386, + 386, 386, 386, 386, 392, 407, 385, 385, 385, 385, + 385, 392, 392, 392, 392, 392, 392, 407, 407, 407, + 407, 407, 407, 407, 393, 407, 386, 386, 386, 386, + 386, 393, 393, 393, 393, 393, 393, 243, 407, 392, + 392, 392, 392, 392, 243, 243, 243, 243, 243, 243, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 393, + 393, 393, 393, 393, 407, 407, 407, 407, 407, 407, + 407, 407, 243, 243, 243, 243, 243, 48, 407, 48, + 48, 48, 48, 48, 48, 48, 52, 407, 407, 52, + + 52, 55, 407, 55, 55, 55, 55, 55, 55, 55, + 61, 61, 407, 61, 61, 94, 94, 94, 407, 94, + 94, 102, 102, 102, 102, 102, 102, 102, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 122, 122, 407, + 122, 122, 124, 124, 124, 124, 124, 124, 124, 127, + 127, 127, 127, 127, 127, 127, 127, 127, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, 70, 70, + 134, 134, 407, 134, 134, 151, 151, 151, 151, 151, + 151, 151, 162, 162, 162, 162, 162, 162, 162, 168, + 168, 168, 181, 181, 181, 181, 181, 181, 181, 186, + + 186, 186, 186, 186, 186, 186, 186, 186, 186, 188, + 188, 188, 188, 188, 188, 188, 208, 208, 208, 208, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, + 238, 238, 238, 238, 243, 243, 243, 407, 243, 243, + 243, 243, 243, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 186, 268, 268, 268, 268, 274, 407, 274, + 274, 274, 274, 274, 274, 274, 277, 407, 277, 277, + 277, 277, 277, 277, 277, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 302, 302, 302, 302, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 316, 316, 316, + + 316, 316, 316, 316, 316, 316, 337, 337, 337, 337, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 9, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + + 407, 407, 407 } ; -static yyconst flex_int16_t yy_chk[2912] = +static yyconst flex_int16_t yy_chk[2904] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -612,316 +609,315 @@ 1, 1, 1, 3, 5, 3, 3, 4, 6, 4, 4, 7, 3, 14, 8, 15, 4, 11, 11, 11, - 11, 11, 17, 19, 340, 3, 3, 26, 47, 4, + 11, 11, 17, 19, 337, 3, 3, 26, 47, 4, 4, 12, 12, 12, 12, 12, 20, 37, 51, 20, 3, 39, 48, 19, 4, 13, 13, 13, 13, 13, 15, 3, 3, 55, 47, 4, 4, 58, 14, 20, - 91, 5, 17, 3, 37, 6, 26, 4, 39, 19, - 35, 20, 35, 51, 61, 86, 37, 58, 87, 13, - 39, 7, 35, 7, 8, 20, 8, 48, 91, 72, - 37, 92, 74, 55, 39, 45, 45, 45, 45, 45, - 74, 86, 84, 58, 84, 87, 13, 23, 133, 35, - 72, 310, 133, 61, 23, 23, 72, 23, 74, 92, - - 309, 308, 307, 306, 23, 23, 23, 23, 23, 23, + 307, 5, 17, 3, 37, 6, 26, 4, 39, 19, + 35, 20, 35, 51, 61, 71, 37, 58, 87, 13, + 39, 7, 35, 7, 8, 20, 8, 48, 71, 72, + 37, 91, 74, 55, 39, 45, 45, 45, 45, 45, + 74, 71, 84, 58, 84, 87, 13, 23, 133, 35, + 72, 306, 133, 61, 23, 23, 72, 23, 74, 91, + + 305, 304, 303, 295, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 88, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 81, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 298, 88, 275, 170, 23, - 25, 27, 27, 27, 27, 27, 170, 28, 118, 274, - 28, 73, 25, 27, 89, 25, 27, 27, 25, 29, + 23, 23, 23, 23, 23, 81, 272, 271, 81, 23, + 25, 27, 27, 27, 27, 27, 270, 28, 118, 269, + 28, 73, 25, 27, 86, 25, 27, 27, 25, 29, 119, 73, 25, 25, 73, 25, 29, 29, 29, 29, 29, 29, 46, 46, 46, 46, 46, 73, 28, 25, - 89, 27, 25, 90, 158, 25, 28, 73, 25, 25, + 86, 27, 25, 259, 88, 25, 28, 73, 25, 25, 127, 25, 27, 118, 29, 29, 29, 29, 29, 38, - 38, 38, 38, 38, 28, 119, 46, 27, 273, 53, - 90, 38, 158, 157, 38, 38, 53, 53, 53, 53, - 53, 53, 59, 59, 59, 59, 59, 64, 211, 64, - 127, 75, 75, 46, 94, 102, 211, 59, 59, 38, - 157, 272, 262, 128, 53, 53, 53, 53, 53, 64, + 38, 38, 38, 38, 28, 119, 46, 27, 89, 53, + 88, 38, 249, 90, 38, 38, 53, 53, 53, 53, + 53, 53, 59, 59, 59, 59, 59, 64, 168, 64, + 127, 75, 75, 46, 89, 94, 168, 59, 59, 38, + 90, 241, 240, 92, 53, 53, 53, 53, 53, 64, 38, 63, 62, 62, 62, 62, 62, 75, 63, 63, 63, 63, 63, 63, 62, 38, 43, 62, 62, 43, - 76, 252, 138, 94, 102, 64, 43, 43, 43, 43, - - 43, 43, 76, 128, 244, 243, 63, 63, 63, 63, - 63, 138, 186, 81, 99, 71, 76, 81, 77, 138, - 71, 43, 111, 62, 43, 43, 43, 43, 43, 50, - 50, 50, 50, 71, 242, 50, 77, 78, 81, 111, - 151, 81, 71, 78, 81, 77, 71, 99, 50, 116, - 78, 80, 186, 99, 141, 50, 50, 50, 50, 50, - 50, 111, 151, 78, 234, 161, 111, 151, 80, 78, - 229, 80, 117, 99, 80, 116, 226, 117, 80, 141, - 50, 164, 141, 50, 50, 50, 50, 50, 56, 56, - 56, 56, 161, 83, 80, 144, 144, 80, 163, 56, - - 83, 83, 83, 83, 83, 83, 217, 56, 79, 79, - 79, 79, 79, 181, 56, 56, 56, 56, 56, 56, - 164, 144, 117, 79, 79, 163, 95, 213, 83, 83, - 83, 83, 83, 95, 95, 95, 95, 95, 95, 56, - 241, 271, 56, 56, 56, 56, 56, 126, 241, 271, - 112, 96, 96, 96, 96, 96, 101, 126, 181, 79, - 159, 95, 95, 95, 95, 95, 96, 96, 97, 97, - 97, 97, 97, 98, 98, 98, 98, 98, 109, 155, - 109, 101, 107, 112, 107, 98, 159, 97, 155, 112, - 109, 212, 98, 160, 107, 101, 169, 126, 197, 147, - - 147, 147, 147, 147, 107, 155, 113, 101, 162, 112, - 152, 110, 196, 180, 195, 201, 205, 109, 147, 160, - 193, 107, 110, 152, 98, 103, 103, 103, 103, 103, - 107, 113, 110, 168, 162, 169, 152, 103, 110, 180, - 168, 201, 193, 205, 103, 113, 195, 193, 110, 202, - 147, 103, 103, 103, 103, 103, 103, 113, 114, 166, - 166, 166, 166, 166, 172, 114, 114, 114, 114, 114, - 114, 194, 168, 203, 204, 202, 103, 123, 166, 103, - 103, 103, 103, 103, 123, 123, 123, 123, 123, 123, - 192, 190, 175, 114, 114, 114, 114, 114, 115, 203, - - 204, 188, 183, 172, 176, 115, 115, 115, 115, 115, - 115, 135, 123, 123, 123, 123, 123, 173, 135, 135, - 135, 135, 135, 135, 173, 173, 173, 173, 173, 173, - 115, 175, 206, 115, 115, 115, 115, 115, 120, 120, - 120, 120, 120, 176, 120, 207, 135, 135, 135, 135, - 135, 177, 173, 173, 173, 173, 173, 120, 199, 206, - 216, 221, 171, 218, 120, 120, 120, 120, 120, 120, - 227, 167, 207, 216, 227, 247, 156, 277, 174, 199, - 232, 233, 235, 237, 174, 199, 216, 221, 177, 120, - 177, 231, 120, 120, 120, 120, 120, 121, 121, 121, - - 121, 174, 218, 121, 231, 174, 232, 233, 235, 237, - 248, 174, 153, 313, 177, 150, 121, 231, 313, 149, - 247, 236, 277, 121, 121, 121, 121, 121, 121, 178, - 148, 146, 145, 143, 264, 179, 178, 178, 178, 178, - 178, 178, 179, 179, 179, 179, 179, 179, 121, 236, - 248, 121, 121, 121, 121, 121, 125, 125, 125, 125, - 125, 264, 280, 313, 178, 178, 178, 178, 178, 182, - 179, 179, 179, 179, 179, 125, 182, 182, 182, 182, - 182, 182, 125, 125, 125, 125, 125, 125, 214, 214, - 214, 214, 214, 314, 214, 255, 263, 265, 142, 214, - - 140, 214, 280, 348, 182, 182, 182, 182, 182, 266, + 76, 92, 116, 77, 94, 64, 43, 43, 43, 43, + + 43, 43, 76, 239, 99, 102, 63, 63, 63, 63, + 63, 77, 155, 140, 117, 231, 76, 156, 116, 117, + 77, 43, 101, 62, 43, 43, 43, 43, 43, 50, + 50, 50, 50, 179, 128, 50, 78, 99, 140, 155, + 226, 140, 78, 99, 102, 156, 157, 101, 50, 78, + 79, 79, 79, 79, 79, 50, 50, 50, 50, 50, + 50, 101, 78, 99, 117, 79, 79, 109, 78, 109, + 223, 110, 157, 101, 128, 159, 137, 80, 179, 109, + 50, 244, 110, 50, 50, 50, 50, 50, 56, 56, + 56, 56, 110, 214, 80, 137, 153, 80, 110, 56, + + 80, 79, 159, 137, 80, 153, 109, 56, 110, 96, + 96, 96, 96, 96, 56, 56, 56, 56, 56, 56, + 80, 83, 153, 80, 96, 96, 244, 162, 83, 83, + 83, 83, 83, 83, 97, 97, 97, 97, 97, 56, + 95, 210, 56, 56, 56, 56, 56, 95, 95, 95, + 95, 95, 95, 97, 111, 158, 83, 83, 83, 83, + 83, 98, 98, 98, 98, 98, 162, 112, 150, 113, + 107, 111, 107, 98, 126, 95, 95, 95, 95, 95, + 98, 158, 107, 161, 126, 143, 143, 209, 167, 208, + 150, 170, 107, 111, 113, 150, 160, 208, 111, 193, + + 112, 224, 194, 178, 192, 224, 112, 190, 113, 107, + 161, 143, 98, 103, 103, 103, 103, 103, 107, 173, + 113, 166, 160, 174, 126, 103, 112, 167, 166, 178, + 170, 193, 103, 146, 146, 146, 146, 146, 114, 103, + 103, 103, 103, 103, 103, 114, 114, 114, 114, 114, + 114, 233, 146, 164, 164, 164, 164, 164, 173, 188, + 166, 186, 174, 181, 103, 288, 198, 103, 103, 103, + 103, 103, 164, 114, 114, 114, 114, 114, 115, 233, + 169, 165, 154, 184, 146, 115, 115, 115, 115, 115, + 115, 123, 198, 288, 151, 149, 274, 135, 123, 123, + + 123, 123, 123, 123, 135, 135, 135, 135, 135, 135, + 115, 148, 199, 115, 115, 115, 115, 115, 120, 120, + 120, 120, 120, 184, 120, 200, 123, 123, 123, 123, + 123, 175, 135, 135, 135, 135, 135, 120, 199, 201, + 202, 274, 147, 145, 120, 120, 120, 120, 120, 120, + 171, 200, 144, 215, 203, 204, 238, 171, 171, 171, + 171, 171, 171, 196, 238, 201, 142, 202, 175, 120, + 175, 191, 120, 120, 120, 120, 120, 121, 121, 121, + 121, 203, 204, 121, 196, 171, 171, 171, 171, 171, + 196, 172, 215, 191, 175, 218, 121, 172, 191, 229, + + 230, 232, 141, 121, 121, 121, 121, 121, 121, 211, + 211, 211, 211, 211, 172, 211, 213, 228, 172, 234, + 211, 218, 211, 311, 172, 229, 230, 232, 121, 213, + 228, 121, 121, 121, 121, 121, 125, 125, 125, 125, + 125, 176, 213, 228, 252, 234, 260, 245, 176, 176, + 176, 176, 176, 176, 139, 125, 138, 136, 134, 132, + 211, 261, 125, 125, 125, 125, 125, 125, 311, 124, + 252, 122, 260, 262, 177, 263, 176, 176, 176, 176, + 176, 177, 177, 177, 177, 177, 177, 245, 261, 265, 125, 125, 125, 125, 125, 129, 129, 129, 129, 129, - 185, 255, 263, 268, 265, 299, 129, 185, 185, 185, - 185, 185, 185, 139, 129, 266, 137, 136, 314, 214, - 291, 129, 129, 129, 129, 129, 129, 134, 348, 268, - 300, 299, 302, 187, 336, 185, 185, 185, 185, 185, - 187, 187, 187, 187, 187, 187, 129, 132, 291, 129, - 129, 129, 129, 129, 130, 130, 130, 130, 300, 305, - 302, 336, 327, 337, 359, 130, 319, 305, 187, 187, - 187, 187, 187, 130, 276, 276, 276, 276, 276, 352, - - 130, 130, 130, 130, 130, 130, 198, 276, 327, 124, - 337, 359, 208, 198, 198, 198, 198, 198, 198, 208, - 208, 208, 208, 208, 208, 130, 319, 353, 130, 130, - 130, 130, 130, 154, 154, 154, 154, 154, 122, 352, - 349, 198, 198, 198, 198, 198, 108, 208, 208, 208, - 208, 208, 154, 278, 278, 278, 278, 278, 363, 154, - 154, 154, 154, 154, 154, 210, 278, 353, 100, 85, - 360, 215, 210, 210, 210, 210, 210, 210, 215, 215, - 215, 215, 215, 215, 154, 349, 363, 154, 154, 154, - 154, 154, 165, 165, 165, 165, 165, 360, 82, 70, - - 210, 210, 210, 210, 210, 219, 215, 215, 215, 215, - 215, 165, 219, 219, 219, 219, 219, 219, 165, 165, - 165, 165, 165, 165, 220, 311, 311, 311, 311, 311, - 356, 220, 220, 220, 220, 220, 220, 68, 311, 67, - 219, 219, 219, 219, 219, 65, 165, 165, 165, 165, - 165, 184, 184, 184, 184, 184, 356, 222, 60, 220, - 220, 220, 220, 220, 222, 222, 222, 222, 222, 222, - 184, 330, 330, 330, 330, 330, 361, 184, 184, 184, - 184, 184, 184, 338, 338, 338, 338, 338, 52, 34, - 33, 32, 222, 222, 222, 222, 222, 357, 357, 357, - - 357, 357, 361, 362, 364, 184, 184, 184, 184, 184, - 191, 191, 191, 191, 191, 223, 358, 358, 358, 358, - 358, 30, 223, 223, 223, 223, 223, 223, 24, 191, - 362, 364, 22, 21, 365, 224, 191, 191, 191, 191, - 191, 191, 224, 224, 224, 224, 224, 224, 225, 373, - 223, 223, 223, 223, 223, 225, 225, 225, 225, 225, - 225, 365, 18, 16, 191, 191, 191, 191, 191, 228, - 224, 224, 224, 224, 224, 373, 228, 228, 228, 228, - 228, 228, 230, 225, 225, 225, 225, 225, 239, 230, - 230, 230, 230, 230, 230, 239, 239, 239, 239, 239, - - 239, 371, 240, 372, 228, 228, 228, 228, 228, 240, - 240, 240, 240, 240, 240, 9, 0, 230, 230, 230, - 230, 230, 383, 239, 239, 239, 239, 239, 371, 0, - 372, 0, 0, 0, 0, 374, 0, 240, 240, 240, - 240, 240, 245, 245, 245, 245, 245, 0, 245, 383, - 375, 0, 0, 245, 318, 245, 246, 246, 246, 246, - 246, 374, 246, 251, 318, 382, 386, 246, 384, 246, - 251, 251, 251, 251, 251, 251, 375, 282, 282, 282, - 282, 282, 0, 282, 0, 0, 385, 0, 282, 390, - 282, 382, 386, 245, 391, 384, 393, 394, 251, 251, - - 251, 251, 251, 398, 318, 399, 401, 246, 250, 250, - 250, 250, 250, 385, 250, 390, 0, 0, 0, 250, - 250, 250, 391, 393, 394, 402, 404, 250, 282, 398, - 0, 399, 401, 253, 250, 250, 250, 250, 250, 250, - 253, 253, 253, 253, 253, 253, 254, 405, 0, 0, - 0, 402, 404, 254, 254, 254, 254, 254, 254, 250, - 0, 0, 250, 250, 250, 250, 250, 256, 253, 253, - 253, 253, 253, 405, 256, 256, 256, 256, 256, 256, - 257, 254, 254, 254, 254, 254, 258, 257, 257, 257, - 257, 257, 257, 258, 258, 258, 258, 258, 258, 403, - - 259, 0, 256, 256, 256, 256, 256, 259, 259, 259, - 259, 259, 259, 0, 0, 257, 257, 257, 257, 257, - 260, 258, 258, 258, 258, 258, 403, 260, 260, 260, - 260, 260, 260, 261, 0, 259, 259, 259, 259, 259, - 261, 261, 261, 261, 261, 261, 395, 395, 395, 395, - 395, 0, 395, 269, 406, 260, 260, 260, 260, 260, - 269, 269, 269, 269, 269, 269, 270, 407, 261, 261, - 261, 261, 261, 270, 270, 270, 270, 270, 270, 0, - 406, 0, 0, 0, 0, 0, 0, 0, 269, 269, - 269, 269, 269, 407, 0, 0, 0, 395, 0, 0, - - 0, 270, 270, 270, 270, 270, 279, 279, 279, 279, - 0, 0, 279, 0, 0, 0, 0, 0, 283, 283, - 283, 283, 283, 0, 283, 279, 0, 0, 0, 283, - 0, 283, 279, 279, 279, 279, 279, 279, 284, 284, - 284, 284, 284, 0, 284, 0, 0, 0, 0, 284, - 0, 284, 0, 0, 0, 0, 0, 279, 0, 0, - 279, 279, 279, 279, 279, 281, 281, 281, 281, 283, - 0, 0, 0, 0, 0, 0, 281, 285, 285, 285, - 285, 285, 0, 285, 281, 0, 0, 0, 285, 284, - 285, 281, 281, 281, 281, 281, 281, 0, 315, 315, - - 315, 315, 315, 0, 315, 0, 0, 0, 0, 0, - 0, 315, 0, 0, 0, 0, 281, 0, 0, 281, - 281, 281, 281, 281, 0, 0, 0, 0, 285, 286, - 286, 286, 286, 286, 0, 286, 0, 0, 0, 0, - 286, 0, 286, 0, 0, 0, 0, 0, 286, 315, - 0, 0, 0, 0, 0, 286, 286, 286, 286, 286, - 286, 396, 396, 396, 396, 396, 0, 288, 0, 0, - 0, 0, 396, 0, 288, 288, 288, 288, 288, 288, - 286, 0, 0, 286, 286, 286, 286, 286, 287, 287, - 287, 287, 287, 0, 287, 0, 0, 0, 0, 287, - - 287, 287, 288, 288, 288, 288, 288, 287, 0, 0, - 0, 0, 396, 289, 287, 287, 287, 287, 287, 287, - 289, 289, 289, 289, 289, 289, 290, 0, 0, 0, - 0, 0, 0, 290, 290, 290, 290, 290, 290, 287, - 0, 0, 287, 287, 287, 287, 287, 292, 289, 289, - 289, 289, 289, 0, 292, 292, 292, 292, 292, 292, - 293, 290, 290, 290, 290, 290, 294, 293, 293, 293, - 293, 293, 293, 294, 294, 294, 294, 294, 294, 0, - 295, 0, 292, 292, 292, 292, 292, 295, 295, 295, - 295, 295, 295, 0, 0, 293, 293, 293, 293, 293, - - 296, 294, 294, 294, 294, 294, 0, 296, 296, 296, - 296, 296, 296, 297, 0, 295, 295, 295, 295, 295, - 297, 297, 297, 297, 297, 297, 0, 0, 0, 0, - 0, 0, 0, 303, 0, 296, 296, 296, 296, 296, - 303, 303, 303, 303, 303, 303, 304, 0, 297, 297, - 297, 297, 297, 304, 304, 304, 304, 304, 304, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, - 303, 303, 303, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 304, 304, 304, 304, 316, 316, 316, 316, - 316, 0, 316, 0, 0, 0, 0, 0, 320, 320, - - 320, 320, 320, 0, 0, 316, 0, 0, 0, 320, - 0, 320, 316, 316, 316, 316, 316, 316, 324, 0, - 0, 0, 0, 0, 326, 324, 324, 324, 324, 324, - 324, 326, 326, 326, 326, 326, 326, 316, 0, 0, - 316, 316, 316, 316, 316, 317, 317, 317, 317, 320, - 0, 317, 0, 324, 324, 324, 324, 324, 0, 326, - 326, 326, 326, 326, 317, 0, 0, 0, 0, 0, - 0, 317, 317, 317, 317, 317, 317, 0, 0, 0, - 0, 328, 0, 0, 0, 0, 0, 0, 328, 328, - 328, 328, 328, 328, 0, 0, 317, 0, 0, 317, - - 317, 317, 317, 317, 321, 321, 321, 321, 321, 0, - 0, 0, 0, 0, 0, 321, 328, 328, 328, 328, - 328, 0, 0, 321, 0, 0, 0, 0, 0, 0, - 321, 321, 321, 321, 321, 321, 0, 0, 0, 0, - 329, 0, 0, 0, 0, 0, 0, 329, 329, 329, - 329, 329, 329, 0, 0, 321, 0, 0, 321, 321, - 321, 321, 321, 322, 322, 322, 322, 0, 0, 0, - 0, 0, 0, 0, 322, 329, 329, 329, 329, 329, - 0, 0, 322, 0, 0, 0, 0, 0, 0, 322, - 322, 322, 322, 322, 322, 0, 0, 0, 0, 0, - - 0, 331, 0, 0, 0, 0, 0, 0, 331, 331, - 331, 331, 331, 331, 322, 0, 0, 322, 322, 322, - 322, 322, 323, 323, 323, 323, 323, 0, 323, 0, - 0, 0, 0, 323, 0, 323, 331, 331, 331, 331, - 331, 323, 0, 0, 0, 0, 0, 332, 323, 323, - 323, 323, 323, 323, 332, 332, 332, 332, 332, 332, - 333, 0, 0, 0, 0, 0, 0, 333, 333, 333, - 333, 333, 333, 323, 0, 0, 323, 323, 323, 323, - 323, 0, 332, 332, 332, 332, 332, 0, 0, 0, - 0, 334, 0, 0, 0, 333, 333, 333, 333, 333, - - 334, 0, 0, 339, 0, 334, 334, 0, 0, 334, - 339, 339, 339, 339, 339, 339, 0, 0, 334, 0, - 0, 347, 347, 347, 347, 347, 334, 347, 0, 0, - 0, 334, 334, 0, 347, 334, 0, 0, 339, 339, - 339, 339, 339, 350, 0, 351, 351, 351, 351, 351, - 350, 350, 350, 350, 350, 350, 351, 0, 351, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 347, 0, 0, 0, 354, 0, 350, 350, - 350, 350, 350, 354, 354, 354, 354, 354, 354, 0, - 355, 0, 0, 0, 0, 0, 351, 355, 355, 355, - - 355, 355, 355, 0, 0, 0, 0, 0, 0, 366, - 0, 354, 354, 354, 354, 354, 366, 366, 366, 366, - 366, 366, 0, 367, 0, 355, 355, 355, 355, 355, - 367, 367, 367, 367, 367, 367, 0, 0, 0, 0, - 0, 0, 368, 0, 366, 366, 366, 366, 366, 368, - 368, 368, 368, 368, 368, 0, 369, 0, 367, 367, - 367, 367, 367, 369, 369, 369, 369, 369, 369, 0, - 0, 0, 0, 0, 0, 379, 0, 368, 368, 368, - 368, 368, 379, 379, 379, 379, 379, 379, 0, 380, - 0, 369, 369, 369, 369, 369, 380, 380, 380, 380, - - 380, 380, 0, 0, 0, 0, 0, 0, 381, 0, - 379, 379, 379, 379, 379, 381, 381, 381, 381, 381, - 381, 0, 387, 0, 380, 380, 380, 380, 380, 387, - 387, 387, 387, 387, 387, 0, 0, 0, 0, 0, - 0, 388, 0, 381, 381, 381, 381, 381, 388, 388, - 388, 388, 388, 388, 0, 389, 0, 387, 387, 387, - 387, 387, 389, 389, 389, 389, 389, 389, 0, 0, - 0, 0, 0, 0, 0, 0, 388, 388, 388, 388, - 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 389, 389, 389, 389, 389, 411, 0, 411, 411, 411, - - 411, 411, 411, 411, 412, 0, 0, 412, 412, 413, - 0, 413, 413, 413, 413, 413, 413, 413, 414, 414, - 0, 414, 414, 415, 415, 415, 0, 415, 415, 416, - 416, 416, 416, 416, 416, 416, 417, 417, 417, 417, - 417, 417, 417, 417, 417, 418, 418, 0, 418, 418, - 419, 419, 419, 419, 419, 419, 419, 420, 420, 420, - 420, 420, 420, 420, 420, 420, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 422, 422, 423, 423, - 0, 423, 423, 424, 424, 424, 424, 424, 424, 424, - 425, 425, 425, 425, 425, 425, 425, 426, 426, 426, - - 427, 427, 427, 427, 427, 427, 427, 428, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 429, 429, 429, - 429, 429, 429, 429, 430, 430, 430, 430, 431, 431, - 431, 431, 431, 431, 431, 431, 431, 431, 432, 432, - 432, 432, 433, 433, 433, 0, 433, 433, 433, 433, - 433, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 435, 435, 435, 435, 436, 0, 436, 436, 436, - 436, 436, 436, 436, 437, 0, 437, 437, 437, 437, - 437, 437, 437, 438, 438, 438, 438, 438, 438, 438, - 438, 438, 439, 439, 439, 439, 440, 440, 440, 440, - - 440, 440, 440, 440, 440, 441, 441, 441, 441, 441, - 441, 441, 441, 441, 442, 442, 442, 442, 443, 443, - 443, 443, 443, 443, 443, 443, 443, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410 + + 262, 263, 296, 333, 277, 108, 129, 100, 268, 177, + 177, 177, 177, 177, 129, 265, 268, 85, 82, 297, + 299, 129, 129, 129, 129, 129, 129, 345, 296, 302, + 333, 180, 273, 273, 273, 273, 273, 302, 180, 180, + 180, 180, 180, 180, 277, 273, 129, 297, 299, 129, + 129, 129, 129, 129, 130, 130, 130, 130, 275, 275, + 275, 275, 275, 324, 334, 130, 180, 180, 180, 180, + 180, 275, 345, 130, 308, 308, 308, 308, 308, 316, + 130, 130, 130, 130, 130, 130, 183, 308, 70, 324, + 360, 334, 185, 183, 183, 183, 183, 183, 183, 185, + + 185, 185, 185, 185, 185, 130, 68, 67, 130, 130, + 130, 130, 130, 152, 152, 152, 152, 152, 360, 316, + 346, 183, 183, 183, 183, 183, 349, 185, 185, 185, + 185, 185, 152, 327, 327, 327, 327, 327, 350, 152, + 152, 152, 152, 152, 152, 195, 335, 335, 335, 335, + 335, 205, 195, 195, 195, 195, 195, 195, 205, 205, + 205, 205, 205, 205, 152, 346, 349, 152, 152, 152, + 152, 152, 163, 163, 163, 163, 163, 65, 350, 356, + 195, 195, 195, 195, 195, 207, 205, 205, 205, 205, + 205, 163, 207, 207, 207, 207, 207, 207, 163, 163, + + 163, 163, 163, 163, 212, 310, 356, 60, 52, 357, + 310, 212, 212, 212, 212, 212, 212, 34, 33, 32, + 207, 207, 207, 207, 207, 353, 163, 163, 163, 163, + 163, 182, 182, 182, 182, 182, 357, 216, 30, 212, + 212, 212, 212, 212, 216, 216, 216, 216, 216, 216, + 182, 353, 24, 22, 21, 310, 358, 182, 182, 182, + 182, 182, 182, 354, 354, 354, 354, 354, 18, 359, + 361, 362, 216, 216, 216, 216, 216, 355, 355, 355, + 355, 355, 358, 368, 369, 182, 182, 182, 182, 182, + 189, 189, 189, 189, 189, 217, 359, 361, 362, 16, + + 9, 0, 217, 217, 217, 217, 217, 217, 0, 189, + 368, 369, 0, 0, 380, 219, 189, 189, 189, 189, + 189, 189, 219, 219, 219, 219, 219, 219, 220, 370, + 217, 217, 217, 217, 217, 220, 220, 220, 220, 220, + 220, 380, 0, 0, 189, 189, 189, 189, 189, 221, + 219, 219, 219, 219, 219, 370, 221, 221, 221, 221, + 221, 221, 222, 220, 220, 220, 220, 220, 225, 222, + 222, 222, 222, 222, 222, 225, 225, 225, 225, 225, + 225, 381, 227, 0, 221, 221, 221, 221, 221, 227, + 227, 227, 227, 227, 227, 0, 0, 222, 222, 222, + + 222, 222, 236, 225, 225, 225, 225, 225, 381, 236, + 236, 236, 236, 236, 236, 237, 371, 227, 227, 227, + 227, 227, 237, 237, 237, 237, 237, 237, 0, 0, + 312, 312, 312, 312, 312, 382, 312, 236, 236, 236, + 236, 236, 371, 312, 0, 0, 0, 0, 372, 0, + 237, 237, 237, 237, 237, 242, 242, 242, 242, 242, + 0, 242, 382, 379, 0, 0, 242, 315, 242, 243, + 243, 243, 243, 243, 372, 243, 248, 315, 383, 387, + 243, 312, 243, 248, 248, 248, 248, 248, 248, 379, + 279, 279, 279, 279, 279, 0, 279, 0, 388, 0, + + 0, 279, 390, 279, 383, 387, 242, 0, 391, 0, + 395, 248, 248, 248, 248, 248, 396, 315, 398, 399, + 243, 247, 247, 247, 247, 247, 388, 247, 0, 390, + 0, 0, 247, 247, 247, 391, 395, 400, 0, 401, + 247, 279, 396, 0, 398, 399, 250, 247, 247, 247, + 247, 247, 247, 250, 250, 250, 250, 250, 250, 251, + 402, 0, 0, 0, 400, 401, 251, 251, 251, 251, + 251, 251, 247, 0, 0, 247, 247, 247, 247, 247, + 253, 250, 250, 250, 250, 250, 402, 253, 253, 253, + 253, 253, 253, 254, 251, 251, 251, 251, 251, 255, + + 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, + 255, 255, 0, 256, 0, 253, 253, 253, 253, 253, + 256, 256, 256, 256, 256, 256, 0, 0, 254, 254, + 254, 254, 254, 257, 255, 255, 255, 255, 255, 0, + 257, 257, 257, 257, 257, 257, 258, 0, 256, 256, + 256, 256, 256, 258, 258, 258, 258, 258, 258, 392, + 392, 392, 392, 392, 0, 392, 266, 403, 257, 257, + 257, 257, 257, 266, 266, 266, 266, 266, 266, 267, + 404, 258, 258, 258, 258, 258, 267, 267, 267, 267, + 267, 267, 0, 403, 0, 0, 0, 0, 0, 0, + + 0, 266, 266, 266, 266, 266, 404, 0, 0, 0, + 392, 0, 0, 0, 267, 267, 267, 267, 267, 276, + 276, 276, 276, 0, 0, 276, 0, 0, 0, 0, + 0, 280, 280, 280, 280, 280, 0, 280, 276, 0, + 0, 0, 280, 0, 280, 276, 276, 276, 276, 276, + 276, 281, 281, 281, 281, 281, 0, 281, 0, 0, + 0, 0, 281, 0, 281, 0, 0, 0, 0, 0, + 276, 0, 0, 276, 276, 276, 276, 276, 278, 278, + 278, 278, 280, 0, 0, 0, 0, 0, 0, 278, + 282, 282, 282, 282, 282, 0, 282, 278, 0, 0, + + 0, 282, 281, 282, 278, 278, 278, 278, 278, 278, + 0, 317, 317, 317, 317, 317, 393, 393, 393, 393, + 393, 0, 317, 0, 317, 0, 0, 393, 0, 278, + 0, 0, 278, 278, 278, 278, 278, 0, 0, 0, + 0, 282, 283, 283, 283, 283, 283, 0, 283, 0, + 0, 0, 0, 283, 0, 283, 0, 0, 0, 0, + 0, 283, 317, 0, 0, 0, 0, 393, 283, 283, + 283, 283, 283, 283, 0, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 0, 0, 0, 285, 285, 285, + 285, 285, 285, 283, 0, 0, 283, 283, 283, 283, + + 283, 284, 284, 284, 284, 284, 0, 284, 0, 0, + 0, 0, 284, 284, 284, 285, 285, 285, 285, 285, + 284, 0, 0, 0, 0, 0, 286, 284, 284, 284, + 284, 284, 284, 286, 286, 286, 286, 286, 286, 287, + 0, 0, 0, 0, 0, 0, 287, 287, 287, 287, + 287, 287, 284, 0, 0, 284, 284, 284, 284, 284, + 289, 286, 286, 286, 286, 286, 0, 289, 289, 289, + 289, 289, 289, 290, 287, 287, 287, 287, 287, 291, + 290, 290, 290, 290, 290, 290, 291, 291, 291, 291, + 291, 291, 0, 292, 0, 289, 289, 289, 289, 289, + + 292, 292, 292, 292, 292, 292, 0, 0, 290, 290, + 290, 290, 290, 293, 291, 291, 291, 291, 291, 0, + 293, 293, 293, 293, 293, 293, 294, 0, 292, 292, + 292, 292, 292, 294, 294, 294, 294, 294, 294, 0, + 0, 0, 0, 0, 0, 0, 300, 0, 293, 293, + 293, 293, 293, 300, 300, 300, 300, 300, 300, 301, + 0, 294, 294, 294, 294, 294, 301, 301, 301, 301, + 301, 301, 0, 344, 344, 344, 344, 344, 0, 344, + 0, 300, 300, 300, 300, 300, 344, 0, 0, 0, + 0, 0, 0, 0, 301, 301, 301, 301, 301, 313, + + 313, 313, 313, 313, 321, 313, 0, 0, 0, 0, + 0, 321, 321, 321, 321, 321, 321, 0, 313, 0, + 0, 0, 0, 0, 344, 313, 313, 313, 313, 313, + 313, 0, 0, 0, 0, 0, 0, 323, 0, 321, + 321, 321, 321, 321, 323, 323, 323, 323, 323, 323, + 313, 0, 0, 313, 313, 313, 313, 313, 314, 314, + 314, 314, 0, 0, 314, 0, 0, 0, 0, 0, + 0, 0, 323, 323, 323, 323, 323, 314, 0, 0, + 0, 0, 0, 0, 314, 314, 314, 314, 314, 314, + 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, + + 0, 325, 325, 325, 325, 325, 325, 0, 0, 314, + 0, 0, 314, 314, 314, 314, 314, 318, 318, 318, + 318, 318, 0, 0, 0, 0, 0, 0, 318, 325, + 325, 325, 325, 325, 0, 0, 318, 0, 0, 0, + 0, 0, 0, 318, 318, 318, 318, 318, 318, 0, + 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, + 326, 326, 326, 326, 326, 326, 0, 0, 318, 0, + 0, 318, 318, 318, 318, 318, 319, 319, 319, 319, + 0, 0, 0, 0, 0, 0, 0, 319, 326, 326, + 326, 326, 326, 0, 0, 319, 0, 0, 0, 0, + + 0, 0, 319, 319, 319, 319, 319, 319, 0, 0, + 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, + 0, 328, 328, 328, 328, 328, 328, 319, 0, 0, + 319, 319, 319, 319, 319, 320, 320, 320, 320, 320, + 0, 320, 0, 0, 0, 0, 320, 0, 320, 328, + 328, 328, 328, 328, 320, 0, 0, 0, 0, 0, + 329, 320, 320, 320, 320, 320, 320, 329, 329, 329, + 329, 329, 329, 330, 0, 0, 0, 0, 0, 0, + 330, 330, 330, 330, 330, 330, 320, 0, 0, 320, + 320, 320, 320, 320, 0, 329, 329, 329, 329, 329, + + 0, 0, 0, 0, 331, 0, 0, 0, 330, 330, + 330, 330, 330, 331, 0, 0, 336, 0, 331, 331, + 0, 0, 331, 336, 336, 336, 336, 336, 336, 0, + 0, 331, 0, 0, 0, 0, 0, 0, 0, 331, + 0, 0, 0, 0, 331, 331, 0, 0, 331, 347, + 0, 336, 336, 336, 336, 336, 347, 347, 347, 347, + 347, 347, 348, 348, 348, 348, 348, 0, 0, 351, + 0, 0, 0, 348, 0, 348, 351, 351, 351, 351, + 351, 351, 352, 0, 347, 347, 347, 347, 347, 352, + 352, 352, 352, 352, 352, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 351, 351, 351, 351, 351, 0, + 0, 0, 0, 348, 0, 363, 0, 352, 352, 352, + 352, 352, 363, 363, 363, 363, 363, 363, 364, 0, + 0, 0, 0, 0, 365, 364, 364, 364, 364, 364, + 364, 365, 365, 365, 365, 365, 365, 0, 366, 0, + 363, 363, 363, 363, 363, 366, 366, 366, 366, 366, + 366, 0, 0, 364, 364, 364, 364, 364, 376, 365, + 365, 365, 365, 365, 0, 376, 376, 376, 376, 376, + 376, 377, 0, 366, 366, 366, 366, 366, 377, 377, + 377, 377, 377, 377, 0, 0, 0, 0, 0, 0, + + 0, 378, 0, 376, 376, 376, 376, 376, 378, 378, + 378, 378, 378, 378, 384, 0, 377, 377, 377, 377, + 377, 384, 384, 384, 384, 384, 384, 0, 0, 0, + 0, 0, 0, 0, 385, 0, 378, 378, 378, 378, + 378, 385, 385, 385, 385, 385, 385, 386, 0, 384, + 384, 384, 384, 384, 386, 386, 386, 386, 386, 386, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, + 385, 385, 385, 385, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 386, 386, 386, 386, 408, 0, 408, + 408, 408, 408, 408, 408, 408, 409, 0, 0, 409, + + 409, 410, 0, 410, 410, 410, 410, 410, 410, 410, + 411, 411, 0, 411, 411, 412, 412, 412, 0, 412, + 412, 413, 413, 413, 413, 413, 413, 413, 414, 414, + 414, 414, 414, 414, 414, 414, 414, 415, 415, 0, + 415, 415, 416, 416, 416, 416, 416, 416, 416, 417, + 417, 417, 417, 417, 417, 417, 417, 417, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 419, 419, + 420, 420, 0, 420, 420, 421, 421, 421, 421, 421, + 421, 421, 422, 422, 422, 422, 422, 422, 422, 423, + 423, 423, 424, 424, 424, 424, 424, 424, 424, 425, + + 425, 425, 425, 425, 425, 425, 425, 425, 425, 426, + 426, 426, 426, 426, 426, 426, 427, 427, 427, 427, + 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, + 429, 429, 429, 429, 430, 430, 430, 0, 430, 430, + 430, 430, 430, 431, 431, 431, 431, 431, 431, 431, + 431, 431, 431, 432, 432, 432, 432, 433, 0, 433, + 433, 433, 433, 433, 433, 433, 434, 0, 434, 434, + 434, 434, 434, 434, 434, 435, 435, 435, 435, 435, + 435, 435, 435, 435, 436, 436, 436, 436, 437, 437, + 437, 437, 437, 437, 437, 437, 437, 438, 438, 438, + + 438, 438, 438, 438, 438, 438, 439, 439, 439, 439, + 440, 440, 440, 440, 440, 440, 440, 440, 440, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + + 407, 407, 407 } ; YY_DECL @@ -953,13 +949,13 @@ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 411 ) + if ( yy_current_state >= 408 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 2828 ); + while ( yy_base[yy_current_state] != 2820 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1153,171 +1149,161 @@ case 33: YY_RULE_SETUP #line 70 "tokenizer.flex" -{yyTok = CHS; return yyTok;} +{yyTok = PXS; return yyTok;} YY_BREAK case 34: YY_RULE_SETUP #line 71 "tokenizer.flex" -{yyTok = REMS; return yyTok;} +{yyTok = CMS; return yyTok;} YY_BREAK case 35: YY_RULE_SETUP #line 72 "tokenizer.flex" -{yyTok = PXS; return yyTok;} +{yyTok = MMS; return yyTok;} YY_BREAK case 36: YY_RULE_SETUP #line 73 "tokenizer.flex" -{yyTok = CMS; return yyTok;} +{yyTok = INS; return yyTok;} YY_BREAK case 37: YY_RULE_SETUP #line 74 "tokenizer.flex" -{yyTok = MMS; return yyTok;} +{yyTok = PTS; return yyTok;} YY_BREAK case 38: YY_RULE_SETUP #line 75 "tokenizer.flex" -{yyTok = INS; return yyTok;} +{yyTok = PCS; return yyTok;} YY_BREAK case 39: YY_RULE_SETUP #line 76 "tokenizer.flex" -{yyTok = PTS; return yyTok;} +{yyTok = DEGS; return yyTok;} YY_BREAK case 40: YY_RULE_SETUP #line 77 "tokenizer.flex" -{yyTok = PCS; return yyTok;} +{yyTok = RADS; return yyTok;} YY_BREAK case 41: YY_RULE_SETUP #line 78 "tokenizer.flex" -{yyTok = DEGS; return yyTok;} +{yyTok = GRADS; return yyTok;} YY_BREAK case 42: YY_RULE_SETUP #line 79 "tokenizer.flex" -{yyTok = RADS; return yyTok;} +{yyTok = MSECS; return yyTok;} YY_BREAK case 43: YY_RULE_SETUP #line 80 "tokenizer.flex" -{yyTok = GRADS; return yyTok;} +{yyTok = SECS; return yyTok;} YY_BREAK case 44: YY_RULE_SETUP #line 81 "tokenizer.flex" -{yyTok = MSECS; return yyTok;} +{yyTok = HERZ; return yyTok;} YY_BREAK case 45: YY_RULE_SETUP #line 82 "tokenizer.flex" -{yyTok = SECS; return yyTok;} +{yyTok = DPI; return yyTok;} YY_BREAK case 46: YY_RULE_SETUP #line 83 "tokenizer.flex" -{yyTok = HERZ; return yyTok;} +{yyTok = DPCM; return yyTok;} YY_BREAK case 47: YY_RULE_SETUP #line 84 "tokenizer.flex" -{yyTok = DPI; return yyTok;} +{yyTok = KHERZ; return yyTok;} YY_BREAK case 48: +/* rule 48 can match eol */ YY_RULE_SETUP #line 85 "tokenizer.flex" -{yyTok = DPCM; return yyTok;} +{yyTok = DIMEN; return yyTok;} YY_BREAK case 49: YY_RULE_SETUP #line 86 "tokenizer.flex" -{yyTok = KHERZ; return yyTok;} +{yyTok = PERCENTAGE; return yyTok;} YY_BREAK case 50: -/* rule 50 can match eol */ YY_RULE_SETUP #line 87 "tokenizer.flex" -{yyTok = DIMEN; return yyTok;} +{yyTok = INTEGER; return yyTok;} YY_BREAK case 51: YY_RULE_SETUP #line 88 "tokenizer.flex" -{yyTok = PERCENTAGE; return yyTok;} +{yyTok = FLOAT; return yyTok;} YY_BREAK case 52: YY_RULE_SETUP -#line 89 "tokenizer.flex" -{yyTok = INTEGER; return yyTok;} +#line 91 "tokenizer.flex" +{yyTok = NOTFUNCTION; return yyTok;} YY_BREAK case 53: +/* rule 53 can match eol */ YY_RULE_SETUP -#line 90 "tokenizer.flex" -{yyTok = FLOAT; return yyTok;} +#line 92 "tokenizer.flex" +{yyTok = URI; return yyTok;} YY_BREAK case 54: +/* rule 54 can match eol */ YY_RULE_SETUP #line 93 "tokenizer.flex" -{yyTok = NOTFUNCTION; return yyTok;} +{yyTok = URI; return yyTok;} YY_BREAK case 55: /* rule 55 can match eol */ YY_RULE_SETUP #line 94 "tokenizer.flex" -{yyTok = URI; return yyTok;} +{yyTok = FUNCTION; return yyTok;} YY_BREAK case 56: -/* rule 56 can match eol */ -YY_RULE_SETUP -#line 95 "tokenizer.flex" -{yyTok = URI; return yyTok;} - YY_BREAK -case 57: -/* rule 57 can match eol */ YY_RULE_SETUP #line 96 "tokenizer.flex" -{yyTok = FUNCTION; return yyTok;} - YY_BREAK -case 58: -YY_RULE_SETUP -#line 98 "tokenizer.flex" {yyTok = UNICODERANGE; return yyTok;} YY_BREAK -case 59: +case 57: YY_RULE_SETUP -#line 99 "tokenizer.flex" +#line 97 "tokenizer.flex" {yyTok = UNICODERANGE; return yyTok;} YY_BREAK -case 60: +case 58: YY_RULE_SETUP -#line 101 "tokenizer.flex" +#line 99 "tokenizer.flex" {BEGIN(block); yyTok = *yytext; return yyTok;} YY_BREAK +case 59: +#line 101 "tokenizer.flex" +case 60: +#line 102 "tokenizer.flex" case 61: #line 103 "tokenizer.flex" case 62: #line 104 "tokenizer.flex" case 63: -#line 105 "tokenizer.flex" -case 64: -#line 106 "tokenizer.flex" -case 65: YY_RULE_SETUP -#line 106 "tokenizer.flex" +#line 104 "tokenizer.flex" {BEGIN(INITIAL); yyTok = *yytext; return yyTok; } YY_BREAK -case 66: +case 64: YY_RULE_SETUP -#line 107 "tokenizer.flex" +#line 105 "tokenizer.flex" {yyTok = *yytext; return yyTok;} YY_BREAK -case 67: +case 65: YY_RULE_SETUP -#line 109 "tokenizer.flex" +#line 107 "tokenizer.flex" ECHO; YY_BREAK -#line 1871 "<stdout>" +#line 1843 "<stdout>" case YY_STATE_EOF(INITIAL): case YY_END_OF_BUFFER: case YY_STATE_EOF(mediaquery):
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/css/tokenizer.flex -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/css/tokenizer.flex
Changed
@@ -67,8 +67,6 @@ {num}em {yyTok = EMS; return yyTok;} {num}__qem {yyTok = QEMS; return yyTok;} /* quirky ems */ {num}ex {yyTok = EXS; return yyTok;} -{num}ch {yyTok = CHS; return yyTok;} -{num}rem {yyTok = REMS; return yyTok;} {num}px {yyTok = PXS; return yyTok;} {num}cm {yyTok = CMS; return yyTok;} {num}mm {yyTok = MMS; return yyTok;}
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/css_value.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/css_value.cpp
Changed
@@ -99,10 +99,6 @@ void CSSStyleDeclaration::setProperty( const DOMString &propName, const DOMString &value, const DOMString &priority ) { if(!impl) return; - if (value.isEmpty()) { - static_cast<CSSStyleDeclarationImpl *>(impl)->removeProperty(propName); - return; - } static_cast<CSSStyleDeclarationImpl *>(impl)->setProperty( propName, value, priority ); }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/css_value.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/css_value.h
Changed
@@ -392,31 +392,29 @@ CSS_PERCENTAGE = 2, CSS_EMS = 3, CSS_EXS = 4, - CSS_CHS = 5, - CSS_REMS = 6, - CSS_PX = 7, - CSS_CM = 8, - CSS_MM = 9, - CSS_IN = 10, - CSS_PT = 11, - CSS_PC = 12, - CSS_DEG = 13, - CSS_RAD = 14, - CSS_GRAD = 15, - CSS_MS = 16, - CSS_S = 17, - CSS_HZ = 18, - CSS_KHZ = 19, - CSS_DIMENSION = 20, - CSS_STRING = 21, - CSS_URI = 22, - CSS_IDENT = 23, - CSS_ATTR = 24, - CSS_COUNTER = 25, - CSS_RECT = 26, - CSS_RGBCOLOR = 27, - CSS_DPI = 28, - CSS_DPCM = 29, + CSS_PX = 5, + CSS_CM = 6, + CSS_MM = 7, + CSS_IN = 8, + CSS_PT = 9, + CSS_PC = 10, + CSS_DEG = 11, + CSS_RAD = 12, + CSS_GRAD = 13, + CSS_MS = 14, + CSS_S = 15, + CSS_HZ = 16, + CSS_KHZ = 17, + CSS_DIMENSION = 18, + CSS_STRING = 19, + CSS_URI = 20, + CSS_IDENT = 21, + CSS_ATTR = 22, + CSS_COUNTER = 23, + CSS_RECT = 24, + CSS_RGBCOLOR = 25, + CSS_DPI = 26, + CSS_DPCM = 27, CSS_PAIR = 100, // We envision this being exposed as a means of getting computed style values for pairs CSS_HTML_RELATIVE = 255 };
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/dom_string.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/dom_string.cpp
Changed
@@ -290,38 +290,6 @@ return impl->startsWith(str.implementation()); } -static inline bool isSpaceCharacter(const ushort &c) -{ - // http://dev.w3.org/html5/spec-LC/common-microsyntaxes.html#space-character - return ((c < 0x0021) && - (c == 0x0020 || c == 0x0009 || c == 0x000A || c == 0x000C || c == 0x000D)); -} - -DOMString DOMString::trimSpaces() const -{ - if (!impl || !impl->l) { - return *this; - } - - const QChar *s = impl->s; - unsigned int start = 0; - unsigned int end = impl->l - 1; - - while ((start <= end) && isSpaceCharacter(s[start].unicode())) { - ++start; - } - - if (start > end) { - return DOMString(""); - } - - while (end && isSpaceCharacter(s[end].unicode())) { - --end; - } - - return new DOMStringImpl(s + start, end - start + 1); -} - // ------------------------------------------------------------------------ bool DOM::strcasecmp( const DOMString &as, const DOMString &bs )
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/dom_string.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/dom_string.h
Changed
@@ -125,13 +125,6 @@ bool startsWith(const DOMString& str) const; /** - * Returns a string with Space Characters removed from the start and the end. - * Space Characters as defined in - * http://dev.w3.org/html5/spec-LC/common-microsyntaxes.html#space-character - */ - DOMString trimSpaces() const; - - /** * @internal get a handle to the imlementation of the DOMString * Use at own risk!!! */
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/html_base.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/html_base.cpp
Changed
@@ -231,8 +231,7 @@ DOMString HTMLFrameElement::src() const { if(!impl) return DOMString(); - const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); - return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + return ((ElementImpl *)impl)->getAttribute(ATTR_SRC); } void HTMLFrameElement::setSrc( const DOMString &value ) @@ -367,8 +366,8 @@ DOMString HTMLIFrameElement::src() const { if(!impl) return DOMString(); - const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); - return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC); + return !s.isNull() ? impl->document()->completeURL( s.string() ) : s; } void HTMLIFrameElement::setSrc( const DOMString &value )
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/html_document.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/html_document.cpp
Changed
@@ -22,6 +22,7 @@ // -------------------------------------------------------------------------- #include "html_document.h" +#include "css/csshelper.h" #include "dom/html_misc.h" #include "dom/dom_exception.h" #include "xml/dom_textimpl.h" @@ -100,7 +101,8 @@ DOMString HTMLDocument::completeURL(const DOMString& str) const { if(!impl) return str; - return ((HTMLDocumentImpl *)impl)->completeURL(str.trimSpaces().string()); + DOMString parsed = khtml::parseURL(str); + return ((HTMLDocumentImpl *)impl)->completeURL(parsed.string()); } DOMString HTMLDocument::domain() const
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/html_form.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/html_form.cpp
Changed
@@ -504,8 +504,8 @@ DOMString HTMLInputElement::src() const { if(!impl) return DOMString(); - const DOMString s = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_SRC).trimSpaces(); - return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + DOMString s = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_SRC); + return !s.isNull() ? impl->document()->completeURL( s.string() ) : s; } void HTMLInputElement::setSrc( const DOMString &value )
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/html_head.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/html_head.cpp
Changed
@@ -58,7 +58,7 @@ DOMString HTMLBaseElement::href() const { if(!impl) return DOMString(); - const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); + DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF); return !href.isNull() ? impl->document()->completeURL(href.string()) : href; } @@ -134,7 +134,7 @@ DOMString HTMLLinkElement::href() const { if(!impl) return DOMString(); - const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); + DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF); return !href.isNull() ? impl->document()->completeURL(href.string()) : href; } @@ -379,7 +379,7 @@ DOMString HTMLScriptElement::src() const { if(!impl) return DOMString(); - const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); + DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC); return !s.isNull() ? impl->document()->completeURL(s.string()) : s; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/html_image.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/html_image.cpp
Changed
@@ -95,7 +95,7 @@ DOMString HTMLAreaElement::href() const { if(!impl) return DOMString(); - const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); + DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF); return !href.isNull() ? impl->document()->completeURL(href.string()) : href; } @@ -302,8 +302,8 @@ DOMString HTMLImageElement::src() const { if(!impl) return DOMString(); - const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); - return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC); + return !s.isNull() ? impl->document()->completeURL( s.string() ) : s; } void HTMLImageElement::setSrc( const DOMString &value )
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/dom/html_inline.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/dom/html_inline.cpp
Changed
@@ -95,7 +95,7 @@ DOMString HTMLAnchorElement::href() const { if(!impl) return DOMString(); - const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); + DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF); return !href.isNull() ? impl->document()->completeURL(href.string()) : href; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/ecma/kjs_css.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/ecma/kjs_css.cpp
Changed
@@ -274,26 +274,22 @@ KJS_CHECK_THIS( KJS::DOMCSSStyleDeclaration, thisObj ); CSSStyleDeclarationImpl& styleDecl = *static_cast<DOMCSSStyleDeclaration*>(thisObj)->impl(); - const DOM::DOMString cssProp = args[0]->toString(exec).domString(); + DOM::DOMString s = args[0]->toString(exec).domString(); switch (id) { case DOMCSSStyleDeclaration::GetPropertyValue: - return jsString(styleDecl.getPropertyValue(cssProp)); + return jsString(styleDecl.getPropertyValue(s)); case DOMCSSStyleDeclaration::GetPropertyCSSValue: - return getDOMCSSValue(exec,styleDecl.getPropertyCSSValue(cssProp)); + return getDOMCSSValue(exec,styleDecl.getPropertyCSSValue(s)); case DOMCSSStyleDeclaration::RemoveProperty: - return jsString(styleDecl.removeProperty(cssProp)); + return jsString(styleDecl.removeProperty(s)); case DOMCSSStyleDeclaration::GetPropertyPriority: - return jsString(styleDecl.getPropertyPriority(cssProp)); - case DOMCSSStyleDeclaration::SetProperty: { - const DOM::DOMString cssVal = args[1]->toString(exec).domString(); - if (cssVal.isEmpty()) { - styleDecl.removeProperty(cssProp); - } else { - styleDecl.setProperty(cssProp, cssVal, args[2]->toString(exec).domString()); - } + return jsString(styleDecl.getPropertyPriority(s)); + case DOMCSSStyleDeclaration::SetProperty: + styleDecl.setProperty(args[0]->toString(exec).domString(), + args[1]->toString(exec).domString(), + args[2]->toString(exec).domString()); return jsUndefined(); - } case DOMCSSStyleDeclaration::Item: return jsString(styleDecl.item(args[0]->toInteger(exec))); default: @@ -1206,14 +1202,12 @@ const ClassInfo CSSPrimitiveValueConstructor::info = { "CSSPrimitiveValueConstructor", 0, &CSSPrimitiveValueConstructorTable, 0 }; /* -@begin CSSPrimitiveValueConstructorTable 28 +@begin CSSPrimitiveValueConstructorTable 27 CSS_UNKNOWN DOM::CSSPrimitiveValue::CSS_UNKNOWN DontDelete|ReadOnly CSS_NUMBER DOM::CSSPrimitiveValue::CSS_NUMBER DontDelete|ReadOnly CSS_PERCENTAGE DOM::CSSPrimitiveValue::CSS_PERCENTAGE DontDelete|ReadOnly CSS_EMS DOM::CSSPrimitiveValue::CSS_EMS DontDelete|ReadOnly CSS_EXS DOM::CSSPrimitiveValue::CSS_EXS DontDelete|ReadOnly - CSS_CHS DOM::CSSPrimitiveValue::CSS_CHS DontDelete|ReadOnly - CSS_REMS DOM::CSSPrimitiveValue::CSS_REMS DontDelete|ReadOnly CSS_PX DOM::CSSPrimitiveValue::CSS_PX DontDelete|ReadOnly CSS_CM DOM::CSSPrimitiveValue::CSS_CM DontDelete|ReadOnly CSS_MM DOM::CSSPrimitiveValue::CSS_MM DontDelete|ReadOnly
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/ecma/kjs_html.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/ecma/kjs_html.cpp
Changed
@@ -35,6 +35,8 @@ #include <html/html_canvasimpl.h> #include <dom/dom_exception.h> +#include <css/csshelper.h> // for parseUrl + #include <html/html_baseimpl.h> #include <html/html_documentimpl.h> #include <html/html_formimpl.h> @@ -455,7 +457,7 @@ { KHTMLPart *part = doc.part(); if ( part ) - Window::retrieveWindow(part)->goURL(exec, value->toString(exec).qstring()); + Window::retrieveWindow(part)->goURL(exec, value->toString(exec).qstring(), false /*don't lock history*/); return; } case DesignMode: @@ -1551,7 +1553,7 @@ {ID_FRAME, FrameName, T_String, ATTR_NAME}, {ID_FRAME, FrameNoResize, T_Bool, ATTR_NORESIZE}, {ID_FRAME, FrameScrolling, T_String, ATTR_SCROLLING}, - {ID_FRAME, FrameSrc, T_URL, ATTR_SRC}, + {ID_FRAME, FrameSrc, T_String, ATTR_SRC}, //### not URL? {ID_FRAME, FrameLocation, BoundPropType(T_String | T_ReadOnly), ATTR_SRC}, {ID_IFRAME, IFrameFrameBorder, T_String, ATTR_FRAMEBORDER}, {ID_IFRAME, IFrameLongDesc, T_String, ATTR_LONGDESC}, @@ -1587,7 +1589,7 @@ QString KJS::HTMLElement::getURLArg(unsigned id) const { - const DOMString rel = impl()->getAttribute(id).trimSpaces(); + DOMString rel = khtml::parseURL(impl()->getAttribute(id)); return !rel.isNull() ? impl()->document()->completeURL(rel.string()) : QString(); } @@ -2666,7 +2668,7 @@ switch (token) { // read-only: FrameContentDocument: case FrameLocation: { - frameElement.setLocation(str.string()); + frameElement.setLocation(str); return; } }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/ecma/kjs_window.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/ecma/kjs_window.cpp
Changed
@@ -1349,16 +1349,18 @@ } const HashEntry* entry = Lookup::findEntry(&WindowTable, propertyName); - if (entry) + if (entry && !m_frame.isNull() && !m_frame->m_part.isNull()) { #ifdef KJS_VERBOSE kDebug(6070) << "Window("<<this<<")::put " << propertyName.qstring(); #endif - if (entry->value == _Location) { - goURL(exec, value->toString(exec).qstring()); - return; + switch( entry->value) { + case _Location: + goURL(exec, value->toString(exec).qstring(), false /*don't lock history*/); + return; + default: + break; } - KHTMLPart *part = qobject_cast<KHTMLPart*>(m_frame->m_part); if (part) { switch( entry->value ) { @@ -1727,7 +1729,9 @@ // check if we're allowed to inject javascript if ( !KHTMLPartPrivate::isJavaScriptURL(dstUrl) || isSafeScript(exec) ) - part->scheduleRedirection(-1, dstUrl, lockHistory); + part->scheduleRedirection(-1, + dstUrl, + lockHistory); } else if (!part && m_frame->m_partContainerElement) { KParts::BrowserExtension *b = KParts::BrowserExtension::childObject(m_frame->m_part); if (b) @@ -1989,24 +1993,24 @@ { while ( p->parentPart() ) p = p->parentPart(); - Window::retrieveWindow(p)->goURL(exec, url.url()); + Window::retrieveWindow(p)->goURL(exec, url.url(), false /*don't lock history*/); return Window::retrieve(p); } if ( browserArgs.frameName.toLower() == "_parent" ) { if ( p->parentPart() ) p = p->parentPart(); - Window::retrieveWindow(p)->goURL(exec, url.url()); + Window::retrieveWindow(p)->goURL(exec, url.url(), false /*don't lock history*/); return Window::retrieve(p); } if ( browserArgs.frameName.toLower() == "_self") { - Window::retrieveWindow(p)->goURL(exec, url.url()); + Window::retrieveWindow(p)->goURL(exec, url.url(), false /*don't lock history*/); return Window::retrieve(p); } if ( browserArgs.frameName.toLower() == "replace" ) { - Window::retrieveWindow(p)->goURL(exec, url.url(), true/*lock history*/); + Window::retrieveWindow(p)->goURL(exec, url.url(), true /*lock history*/); return Window::retrieve(p); } args.setMimeType("text/html"); @@ -2105,7 +2109,7 @@ part->xmlDocImpl()->updateRendering(); if ( part ) emit part->browserExtension()->requestFocus(part); - KMessageBox::error(widget, Qt::convertFromPlainText(str), caption); + KMessageBox::error(widget, Qt::convertFromPlainText(str, Qt::WhiteSpaceNormal), caption); return jsUndefined(); } case Window::Confirm: { @@ -2220,7 +2224,7 @@ return new KJS::DOMSelection(exec, part->xmlDocImpl()); case Window::Navigate: - window->goURL(exec, args[0]->toString(exec).qstring()); + window->goURL(exec, args[0]->toString(exec).qstring(), false /*don't lock history*/); return jsUndefined(); case Window::Focus: { KHTMLSettings::KJSWindowFocusPolicy policy = @@ -2915,7 +2919,7 @@ if (m_frame.isNull() || m_frame->m_part.isNull()) return; - Window* window = Window::retrieveWindow( m_frame->m_part ); + const Window* window = Window::retrieveWindow( m_frame->m_part ); if ( !window ) return; @@ -2947,12 +2951,12 @@ // Note that we want to do gotoAnchor even when the hash is already set, so we // scroll the destination into view. - // Setting this must always provide a ref, even if just # see + // Setting this must always provide a ref, even if just ; see // HTML5 2.6. if (str.isEmpty()) { url.setHTMLRef(""); } else { - url.setHTMLRef(KUrl::fromPercentEncoding(str.toUtf8())); + url.setRef(str); } break; case Host: { @@ -2983,7 +2987,7 @@ return; } - window->goURL(exec, url.url()); + Window::retrieveWindow(m_frame->m_part)->goURL(exec, url.url(), false /* don't lock history*/ ); } JSValue *Location::toPrimitive(ExecState *exec, JSType) const @@ -3029,10 +3033,9 @@ switch (id) { case Location::Assign: - window->goURL(exec, args[0]->toString(exec).qstring()); - break; case Location::Replace: - window->goURL(exec, args[0]->toString(exec).qstring(), true/*lock history*/); + Window::retrieveWindow(part)->goURL(exec, args[0]->toString(exec).qstring(), + id == Location::Replace); break; case Location::Reload: { KHTMLPart *khtmlpart = qobject_cast<KHTMLPart*>(part);
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/ecma/kjs_window.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/ecma/kjs_window.h
Changed
@@ -137,7 +137,7 @@ void closeNow(); void delayedGoHistory(int steps); void goHistory(int steps); - void goURL(ExecState* exec, const QString& url, bool lockHistory = false); + void goURL(ExecState* exec, const QString& url, bool lockHistory); static bool targetIsExistingWindow(KHTMLPart* part, const QString& frameName); JSValue* openWindow(ExecState *exec, const List &args);
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/ecma/xmlhttprequest.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/ecma/xmlhttprequest.cpp
Changed
@@ -906,8 +906,7 @@ return throwError(exec, SyntaxError, "Not enough arguments"); QString method = args[0]->toString(exec).qstring(); - DOMString urlArg = args[1]->toString(exec).domString().trimSpaces(); - KUrl url = KUrl(request->doc->completeURL(urlArg.string())); + KUrl url = KUrl(request->doc->completeURL(args[1]->toString(exec).qstring())); bool async = true; if (args.size() >= 3) {
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_baseimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_baseimpl.cpp
Changed
@@ -36,6 +36,7 @@ #include "css/css_stylesheetimpl.h" #include "css/cssproperties.h" #include "css/cssvalues.h" +#include "css/csshelper.h" #include "misc/loader.h" #include "dom/dom_string.h" #include "dom/dom_doc.h" @@ -71,7 +72,7 @@ case ATTR_BACKGROUND: { - QString url = attr->value().trimSpaces().string(); + QString url = khtml::parseURL( attr->value() ).string(); if (!url.isEmpty()) { url = document()->completeURL( url ); addCSSProperty(CSS_PROP_BACKGROUND_IMAGE, DOMString("url('"+url+"')") ); @@ -253,7 +254,7 @@ marginHeight = -1; scrolling = Qt::ScrollBarAsNeeded; noresize = false; - url = QLatin1String("about:blank");; + url = "about:blank"; } HTMLFrameElementImpl::~HTMLFrameElementImpl() @@ -325,7 +326,7 @@ switch(attr->id()) { case ATTR_SRC: - setLocation(attr->value().trimSpaces().string()); + setLocation(khtml::parseURL(attr->val())); break; case ATTR_FRAMEBORDER: { @@ -390,7 +391,7 @@ } if (parentNode()->renderer() && parentNode()->renderer()->childAllowed() - && document()->isURLAllowed(url)) { + && document()->isURLAllowed(url.string())) { RenderStyle* _style = document()->styleSelector()->styleForElement(this); _style->ref(); if ( _style->display() != NONE ) { @@ -422,7 +423,7 @@ return; // Bail out on any disallowed URLs - if( !document()->isURLAllowed(url) ) + if( !document()->isURLAllowed(url.string()) ) return; // If we have a part already, make sure it's in the right spot... @@ -437,20 +438,20 @@ // Go ahead and load a part... We don't need to clear the widget here, // since the -frames- have their lifetime managed, using the name uniqueness. - parentPart->loadFrameElement( this, url, name.string() ); + parentPart->loadFrameElement( this, url.string(), name.string() ); } -void HTMLFrameElementImpl::setLocation( const QString& str ) +void HTMLFrameElementImpl::setLocation( const DOMString& str ) { url = str; - if( !document()->isURLAllowed(url) ) + if( !document()->isURLAllowed(url.string()) ) return; // if we already have a child part, ask it to go there.. KHTMLPart* childPart = contentPart(); if ( childPart ) - childPart->openUrl( KUrl( document()->completeURL( url ) ) ); + childPart->openUrl( KUrl( document()->completeURL( url.string() ) ) ); else setNeedComputeContent(); // otherwise, request it.. } @@ -755,7 +756,7 @@ addHTMLAlignment( attr->value() ); break; case ATTR_SRC: - url = attr->value().trimSpaces().string(); + url = khtml::parseURL(attr->val()); setNeedComputeContent(); // ### synchronously start the process? break; @@ -805,7 +806,7 @@ RenderStyle* style = document()->styleSelector()->styleForElement(this); style->ref(); - if (document()->isURLAllowed(url) && parentNode()->renderer() + if (document()->isURLAllowed(url.string()) && parentNode()->renderer() && parentNode()->renderer()->childAllowed() && style->display() != NONE) { m_render = new (document()->renderArena()) RenderPartObject(this); m_render->setStyle(style); @@ -826,7 +827,7 @@ if (!parentPart) return; - if (!document()->isURLAllowed(url)) + if (!document()->isURLAllowed(url.string())) return; if (!inDocument()) { @@ -838,9 +839,10 @@ ensureUniqueName(); // make sure "" is handled as about: blank - QString effectiveURL = url; + const QString aboutBlank = QLatin1String("about:blank"); + QString effectiveURL = url.string(); if (effectiveURL.isEmpty()) - effectiveURL = QLatin1String("about:blank"); + effectiveURL = aboutBlank; kDebug(6031) << "-> requesting:" << name.string() << effectiveURL << contentPart();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_baseimpl.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_baseimpl.h
Changed
@@ -100,7 +100,7 @@ virtual void defaultEventHandler(EventImpl *evt); bool noResize() { return noresize; } - void setLocation( const QString& str ); + void setLocation( const DOMString& str ); virtual bool isFocusableImpl(FocusType ft) const; virtual void setFocus(bool); @@ -108,7 +108,7 @@ DocumentImpl* contentDocument() const; KHTMLPart* contentPart() const; - QString url; + DOMString url; DOMString name; //Computed name for the frame map int marginWidth;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_documentimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_documentimpl.cpp
Changed
@@ -237,7 +237,7 @@ document()->dispatchWindowEvent(EventImpl::LOAD_EVENT, false, false); // don't update rendering if we're going to redirect anyway - if ( part() && (part()->d->m_redirectURL.isEmpty() || + if ( part() && (part()->d->m_redirectURL.isNull() || part()->d->m_delayRedirect > 1) ) updateRendering(); }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_formimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_formimpl.cpp
Changed
@@ -36,6 +36,7 @@ #include "css/cssstyleselector.h" #include "css/cssproperties.h" #include "css/cssvalues.h" +#include "css/csshelper.h" #include "xml/dom_textimpl.h" #include "xml/dom_docimpl.h" #include "xml/dom2_eventsimpl.h" @@ -679,18 +680,19 @@ } #endif // KHTML_NO_WALLET - QString url = getAttribute(ATTR_ACTION).trimSpaces().string(); + DOMString value = getAttribute(ATTR_ACTION); + DOMString url = khtml::parseURL(value); // ignore base url if 'action' attribute is empty. - if (url.isEmpty()) + if (value.isEmpty()) url = formUrl.url(); if(m_post) { - view->part()->submitForm( "post", url, form_data, + view->part()->submitForm( "post", url.string(), form_data, m_target.string(), enctype().string(), m_boundary ); } else { - view->part()->submitForm( "get", url, form_data, + view->part()->submitForm( "get", url.string(), form_data, m_target.string() ); } } @@ -2447,11 +2449,11 @@ switch(attr->id()) { case ATTR_SIZE: - m_size = qMax(attr->value().toInt(), 1); + m_size = qMax( attr->val()->toInt(), 1 ); setChanged(); break; case ATTR_WIDTH: - m_minwidth = qMax(attr->value().toInt(), 0); + m_minwidth = qMax( attr->val()->toInt(), 0 ); break; case ATTR_MULTIPLE: m_multiple = (attr->val() != 0); @@ -2518,7 +2520,10 @@ (items[0]->id() == ID_OPTION && !items[0]->disabled()) ) { HTMLOptionElementImpl* const option = static_cast<HTMLOptionElementImpl*>(items[0]); encoded_values += enc_name; - encoded_values += fixUpfromUnicode(codec, option->value().string()); + if (option->value().isNull()) + encoded_values += fixUpfromUnicode(codec, option->text().string()); + else + encoded_values += fixUpfromUnicode(codec, option->value().string()); successful = true; } @@ -2798,7 +2803,7 @@ if ( !m_value.isNull() ) return m_value; // Use the text if the value wasn't set. - return text(); + return text().string(); } void HTMLOptionElementImpl::setValue(DOMStringImpl* value)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_headimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_headimpl.cpp
Changed
@@ -32,9 +32,11 @@ #include "khtml_part.h" #include "misc/loader.h" +#include "misc/helper.h" #include "css/cssstyleselector.h" #include "css/css_stylesheetimpl.h" +#include "css/csshelper.h" #include "css/css_mediaquery.h" #include "ecma/kjs_proxy.h" @@ -55,7 +57,7 @@ switch(attr->id()) { case ATTR_HREF: - m_href = attr->value().trimSpaces().string(); + m_href = khtml::parseURL(attr->value()); process(); break; case ATTR_TARGET: @@ -89,7 +91,7 @@ return; if(!m_href.isEmpty() && document()->part()) - document()->setBaseURL( KUrl( document()->part()->url(), m_href ) ); + document()->setBaseURL( KUrl( document()->part()->url(), m_href.string() ) ); if(!m_target.isEmpty()) document()->setBaseTarget( m_target.string() ); @@ -115,14 +117,10 @@ { switch (attr->id()) { - case ATTR_HREF: { - const DOMString hrefUrl = attr->value().trimSpaces(); - if (!hrefUrl.isEmpty()) { - m_url = document()->completeURL(hrefUrl.string()); - } - process(); + case ATTR_HREF: + m_url = document()->completeURL( khtml::parseURL(attr->value()).string() ); + process(); break; - } case ATTR_REL: case ATTR_TYPE: process(); @@ -185,10 +183,11 @@ // IE extension: location of small icon for locationbar / bookmarks // Uses both "shortcut icon" and "icon" - if (rel.contains("icon") && !m_url.isEmpty() && part && !part->parentPart()) { + if ( part && rel.contains("icon") && !m_url.isEmpty() && !part->parentPart()) part->browserExtension()->setIconUrl( KUrl(m_url.string()) ); - } // Stylesheet - else if (rel.contains("stylesheet") && !m_url.isEmpty() && !m_isDisabled) { + + // Stylesheet + else if (!m_isDisabled && rel.contains("stylesheet")) { // no need to load style sheets which aren't for the screen output // ### there may be in some situations e.g. for an editor or script to manipulate khtml::MediaQueryEvaluator allEval(true); @@ -385,7 +384,7 @@ // we'll only start doing things once we get insertedIntoDocument() if (m_evaluated || m_cachedScript || m_createdByParser || !inDocument()) return; - const DOMString url = attr->value().trimSpaces(); + DOMString url = attr->value(); if (!url.isEmpty()) loadFromUrl(url); break; @@ -490,7 +489,7 @@ if (m_createdByParser) return; - const DOMString url = getAttribute(ATTR_SRC).trimSpaces(); + DOMString url = getAttribute(ATTR_SRC).string(); if (!url.isEmpty()) { loadFromUrl(url); return; @@ -622,7 +621,7 @@ DOMString HTMLScriptElementImpl::src() const { - return document()->completeURL(getAttribute(ATTR_SRC).trimSpaces().string()); + return document()->completeURL(getAttribute(ATTR_SRC).string()); } void HTMLScriptElementImpl::setSrc(const DOMString &value)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_headimpl.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_headimpl.h
Changed
@@ -47,7 +47,7 @@ HTMLBaseElementImpl(DocumentImpl *doc) : HTMLElementImpl(doc) {} - DOMString href() const { return DOMString(m_href); } + DOMString href() const { return m_href; } DOMString target() const { return m_target; } virtual Id id() const; @@ -58,7 +58,7 @@ void process(); protected: - QString m_href; + DOMString m_href; DOMString m_target; };
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_imageimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_imageimpl.cpp
Changed
@@ -84,7 +84,7 @@ setChanged(); //Start loading the image already, to generate events - const DOMString imgSrcUrl = attr->value().trimSpaces(); + DOMString imgSrcUrl = attr->value(); if (!imgSrcUrl.isEmpty()) { //### why do we not hide or something when setting this? CachedImage* newImage = document()->docLoader()->requestImage(imgSrcUrl); if (newImage && newImage != m_image) { @@ -151,7 +151,7 @@ if ( attr->value()[0] == '#' ) usemap = attr->value().lower(); else { - QString url = document()->completeURL(attr->value().trimSpaces().string()); + QString url = document()->completeURL(attr->value().string()); // ### we remove the part before the anchor and hope // the map is on the same html page.... usemap = url; @@ -438,7 +438,7 @@ } else { // add name with full url: - const QString url = document()->completeURL(attr->value().trimSpaces().string()); + QString url = document()->completeURL(attr->value().string()); if(document()->isHTMLDocument()) static_cast<HTMLDocumentImpl*>(document())->mapMap[url] = this; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_inlineimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_inlineimpl.cpp
Changed
@@ -30,6 +30,7 @@ #include "khtmlview.h" #include "khtml_part.h" +#include "css/csshelper.h" #include "css/cssproperties.h" #include "css/cssvalues.h" #include "css/cssstyleselector.h" @@ -66,6 +67,8 @@ if (keydown) k = static_cast<KeyEventBaseImpl *>( evt ); + QString utarget; + QString url; if ( e && e->button() == 2 ) { HTMLElementImpl::defaultEventHandler(evt); return; @@ -81,8 +84,9 @@ if (k->qKeyEvent()) k->qKeyEvent()->accept(); } - QString url = getAttribute(ATTR_HREF).trimSpaces().string(); - QString utarget = getAttribute(ATTR_TARGET).string(); + url = khtml::parseURL(getAttribute(ATTR_HREF)).string(); + + utarget = getAttribute(ATTR_TARGET).string(); if ( e && e->button() == 1 ) utarget = "_blank";
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_miscimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_miscimpl.cpp
Changed
@@ -268,10 +268,6 @@ NodeImpl *HTMLCollectionImpl::namedItem( const DOMString &name ) const { - if (name.isEmpty()) { - return 0; - } - //Reset the position. The invariant is that nextNamedItem will start looking //from the current position. firstItem(); @@ -281,17 +277,13 @@ NodeImpl *HTMLCollectionImpl::nextNamedItem( const DOMString &name ) const { - if (name.isEmpty()) { - return 0; - } - - while (NodeImpl* candidate = m_cache->current.node) { + while (NodeImpl* candidate = m_cache->current.node) + { //Always advance, for next call nextItem(); if (checkForNameMatch(candidate, name)) return candidate; } - return 0; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_objectimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_objectimpl.cpp
Changed
@@ -40,6 +40,7 @@ #include "xml/dom_docimpl.h" #include "css/cssstyleselector.h" +#include "css/csshelper.h" #include "css/cssproperties.h" #include "css/cssvalues.h" #include "rendering/render_frames.h" @@ -695,7 +696,7 @@ { case ATTR_CODE: case ATTR_SRC: - url = attr->value().trimSpaces().string(); + url = khtml::parseURL(attr->val()).string(); setNeedComputeContent(); break; case ATTR_BORDER: @@ -775,7 +776,7 @@ switch ( attr->id() ) { case ATTR_DATA: - url = attr->value().trimSpaces().string(); + url = khtml::parseURL( attr->val() ).string(); setNeedComputeContent(); break; case ATTR_CLASSID:
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/html_tableimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/html_tableimpl.cpp
Changed
@@ -38,6 +38,7 @@ #include <css/cssstyleselector.h> #include <css/cssproperties.h> #include <css/cssvalues.h> +#include <css/csshelper.h> #include <rendering/render_table.h> @@ -495,8 +496,8 @@ break; case ATTR_BACKGROUND: { - QString url = attr->value().trimSpaces().string(); - if (!url.isEmpty()) { + if (!attr->value().isEmpty()) { + QString url = khtml::parseURL( attr->value() ).string(); url = document()->completeURL( url ); addCSSProperty(CSS_PROP_BACKGROUND_IMAGE, DOMString("url('"+url+"')") ); } @@ -638,8 +639,8 @@ break; case ATTR_BACKGROUND: { - QString url = attr->value().trimSpaces().string(); - if (!url.isEmpty()) { + if (attr->val()) { + QString url = khtml::parseURL( attr->value() ).string(); url = document()->completeURL( url ); addCSSProperty(CSS_PROP_BACKGROUND_IMAGE, DOMString("url('"+url+"')") ); }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/htmlparser.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/htmlparser.cpp
Changed
@@ -55,6 +55,7 @@ #include <khtml_global.h> #include <css/cssproperties.h> #include <css/cssvalues.h> +#include <css/csshelper.h> #include <rendering/render_object.h> @@ -974,8 +975,7 @@ KHTMLGlobal::defaultHTMLSettings()->isHideAdsEnabled() && !strcasecmp( t->attrs->getValue( ATTR_TYPE ), "image" ) ) { - const QString url = doc()->completeURL(DOMString(t->attrs->getValue(ATTR_SRC)).trimSpaces().string()); - if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered(url)) + if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered( doc()->completeURL( khtml::parseURL(t->attrs->getValue(ATTR_SRC)).string() ) )) return 0; } n = new HTMLInputElementImpl(document, form); @@ -1104,7 +1104,7 @@ KHTMLGlobal::defaultHTMLSettings()->isAdFilterEnabled()&& KHTMLGlobal::defaultHTMLSettings()->isHideAdsEnabled()) { - const QString url = doc()->completeURL(DOMString(t->attrs->getValue(ATTR_SRC)).trimSpaces().string()); + QString url = doc()->completeURL( khtml::parseURL(t->attrs->getValue(ATTR_SRC)).string() ); if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered(url)) return 0; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/htmlprospectivetokenizer.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/htmlprospectivetokenizer.cpp
Changed
@@ -706,7 +706,7 @@ LocalName attrLocal = LocalName::fromString(&attrDS, IDS_NormalizeLower); uint attribute = attrLocal.id(); if (attribute == localNamePart(ATTR_SRC) && m_urlToLoad.isEmpty()) - m_urlToLoad = DOMString(m_attributeValue.data(), m_attributeValue.size()).trimSpaces(); + m_urlToLoad = parseURL(DOMString(m_attributeValue.data(), m_attributeValue.size())); break; } case ID_LINK: @@ -715,7 +715,7 @@ LocalName attrLocal = LocalName::fromString(&attrDS, IDS_NormalizeLower); uint attribute = attrLocal.id(); if (attribute == localNamePart(ATTR_HREF) && m_urlToLoad.isEmpty()) - m_urlToLoad = DOMString(m_attributeValue.data(), m_attributeValue.size()).trimSpaces(); + m_urlToLoad = parseURL(DOMString(m_attributeValue.data(), m_attributeValue.size())); else if (attribute == localNamePart(ATTR_REL)) { DOMStringImpl* lowerAttribute = DOMStringImpl(DOMStringImpl::ShallowCopy, m_attributeValue.data(), m_attributeValue.size()).lower(); QString val = lowerAttribute->string();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/html/htmltokenizer.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/html/htmltokenizer.cpp
Changed
@@ -30,7 +30,7 @@ // KDE HTML Widget - Tokenizers // #define TOKEN_DEBUG 1 -// #define TOKEN_DEBUG 2 +//#define TOKEN_DEBUG 2 #include "htmltokenizer.h" #include "html_documentimpl.h" @@ -1084,9 +1084,10 @@ checkBuffer(); #if defined(TOKEN_DEBUG) && TOKEN_DEBUG > 1 uint l = 0; - while(l < src.length() && (src.toString()[l]).toLatin1() != '>') + while(l < src.length() && (src.toString()[l]).toLatin1().constData() != '>') l++; - qDebug("src is now: *%s*, tquote: %d", src.toString().left(l).toLatin1().constData(), tquote); + qDebug("src is now: *%s*, tquote: %d", + src.toString().left(l).toLatin1().constData(), tquote); #endif switch(tag) { case NoTag:
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/khtml_part.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/khtml_part.cpp
Changed
@@ -57,6 +57,7 @@ #include "xml/dom2_rangeimpl.h" #include "xml/xml_tokenizer.h" #include "css/cssstyleselector.h" +#include "css/csshelper.h" using namespace DOM; #include "khtmlview.h" @@ -630,18 +631,14 @@ void KHTMLPartPrivate::executeAnchorJump( const KUrl& url, bool lockHistory ) { + // Note: we want to emit openUrlNotify first thing, to make the history capture the old state. + if (!lockHistory) + emit m_extension->openUrlNotify(); + DOM::HashChangeEventImpl *hashChangeEvImpl = 0; const QString &oldRef = q->url().ref(); const QString &newRef = url.ref(); - const bool hashChanged = (oldRef != newRef) || (oldRef.isNull() && newRef.isEmpty()); - - if (hashChanged) { - // Note: we want to emit openUrlNotify first thing to make the history capture the old state, - // however do not update history if a lock was explicitly requested, e.g. Location.replace() - if (!lockHistory) { - emit m_extension->openUrlNotify(); - } - // Create hashchange event + if ((oldRef != newRef) || (oldRef.isNull() && newRef.isEmpty())) { hashChangeEvImpl = new DOM::HashChangeEventImpl(); hashChangeEvImpl->initHashChangeEvent("hashchange", true, //bubble @@ -651,8 +648,8 @@ ); } - if (!q->gotoAnchor(newRef)) // encoded fragment - q->gotoAnchor(url.htmlRef()); // not encoded fragment + if ( !q->gotoAnchor( url.encodedHtmlRef()) ) + q->gotoAnchor( url.htmlRef() ); q->setUrl(url); emit m_extension->setLocationBarUrl( url.prettyUrl() ); @@ -2710,7 +2707,8 @@ if (!d->m_doc) return false; - HTMLCollectionImpl *anchors = new HTMLCollectionImpl(d->m_doc, HTMLCollectionImpl::DOC_ANCHORS); + HTMLCollectionImpl *anchors = + new HTMLCollectionImpl( d->m_doc, HTMLCollectionImpl::DOC_ANCHORS); anchors->ref(); NodeImpl *n = anchors->namedItem(name); anchors->deref(); @@ -2721,10 +2719,10 @@ d->m_doc->setCSSTarget(n); // Setting to null will clear the current target. - // Implement the rule that "" and "top" both mean top of page. - bool top = !n && (name.isEmpty() || name.toLower() == "top"); + // Implement the rule that "" and "top" both mean top of page as in other browsers. + bool quirkyName = !n && !d->m_doc->inStrictMode() && (name.isEmpty() || name.toLower() == "top"); - if (top) { + if (quirkyName) { d->m_view->setContentsPos( d->m_view->contentsX(), 0); return true; } else if (!n) { @@ -6404,13 +6402,14 @@ if (!dndEnabled()) return false; + DOM::Node innerNode = event->innerNode(); + if( (d->m_bMousePressed && ( (!d->m_strSelectedURL.isEmpty() && !isEditable()) || (!d->m_mousePressNode.isNull() && d->m_mousePressNode.elementId() == ID_IMG) ) ) && ( d->m_dragStartPos - QPoint(event->x(), event->y()) ).manhattanLength() > KGlobalSettings::dndEventDelay() ) { - const DOM::DOMString url = event->url(); - DOM::NodeImpl* innerNodeImpl = event->innerNode().handle(); + DOM::DOMString url = event->url(); QPixmap pix; HTMLImageElementImpl *img = 0L; @@ -6420,10 +6419,10 @@ // qDebug("****************** Event Target: %s", target.string().toLatin1().constData()); // Normal image... - if (url.isEmpty() && innerNodeImpl && innerNodeImpl->id() == ID_IMG) + if ( url.length() == 0 && innerNode.handle() && innerNode.handle()->id() == ID_IMG ) { - img = static_cast<HTMLImageElementImpl *>(innerNodeImpl); - u = completeURL(img->getAttribute(ATTR_SRC).trimSpaces().string()); + img = static_cast<HTMLImageElementImpl *>(innerNode.handle()); + u = KUrl( completeURL( khtml::parseURL(img->getAttribute(ATTR_SRC)).string() ) ); pix = KIconLoader::global()->loadIcon("image-x-generic", KIconLoader::Desktop); } else @@ -6722,7 +6721,7 @@ node->id() == ID_IFRAME || (node->id() == ID_INPUT && static_cast<HTMLInputElementImpl *>(node)->inputType() == HTMLInputElementImpl::IMAGE )) { - if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered(d->m_doc->completeURL(static_cast<ElementImpl *>(node)->getAttribute(ATTR_SRC).trimSpaces().string()))) + if ( KHTMLGlobal::defaultHTMLSettings()->isAdFiltered( d->m_doc->completeURL( static_cast<ElementImpl *>(node)->getAttribute(ATTR_SRC).string() ) ) ) { // Since any kids of node will be deleted, too, fastforward nextNode // until we get outside of node.
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/khtmlimage.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/khtmlimage.desktop
Changed
@@ -160,7 +160,7 @@ Name[nn]=Innebyggbar biletvisar Name[or]=ସନ୍ନିବେଶଯୋଗ୍ୟ ପ୍ରତିଛବି ପ୍ରଦର୍ଶକ Name[pa]=ਸ਼ਾਮਿਲ ਚਿੱਤਰ ਦਰਸ਼ਕ -Name[pl]=Wbudowana przeglądarka obrazów +Name[pl]=Wbudowana przeglądarka obrazków Name[ps]=راتاوېدونکی انځور ليدانی Name[pt]=Visualizador de Imagens Incorporado Name[pt_BR]=Visualizador de imagens integrado
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/khtmlview.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/khtmlview.cpp
Changed
@@ -55,6 +55,8 @@ #undef protected #include "xml/dom2_eventsimpl.h" #include "css/cssstyleselector.h" +#include "css/csshelper.h" +#include "misc/helper.h" #include "misc/loader.h" #include "khtml_settings.h" #include "khtml_printsettings.h" @@ -500,7 +502,7 @@ viewportToContents(QPoint(0, 0)), p, r, s); } if (!found) { - s = e->getAttribute(ATTR_TITLE).string().trimmed(); + s = e->getAttribute( ATTR_TITLE ).string(); r = node->getRect(); } region |= QRect( contentsToViewport( r.topLeft() ), r.size() ); @@ -2780,7 +2782,7 @@ bool text_before = false; switch( element->id()) { case ID_A: - url = element->getAttribute(ATTR_HREF).trimSpaces().string(); + url = khtml::parseURL(element->getAttribute(ATTR_HREF)).string(); if( url.isEmpty()) // doesn't have href, it's only an anchor continue; text = static_cast< HTMLElementImpl* >( element )->innerText().string().simplified();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/rendering/font.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/rendering/font.cpp
Changed
@@ -580,14 +580,6 @@ descent = fm.descent(); height = fm.height(); lineSpacing = fm.lineSpacing(); - xHeight = fm.xHeight(); - - const QChar zeroChar((ushort)48); - if (!fm.inFont(zeroChar)) { - m_zeroCharWidth = -1; - } else { - m_zeroCharWidth = (int)cachedCharWidth(zeroChar); - } } void CachedFontInstance::invalidate() @@ -610,14 +602,6 @@ descent = fm.descent(); height = fm.height(); lineSpacing = fm.lineSpacing(); - xHeight = fm.xHeight(); - - const QChar zeroChar((ushort)48); - if (!fm.inFont(zeroChar)) { - m_zeroCharWidth = -1; - } else { - m_zeroCharWidth = (int)cachedCharWidth(zeroChar); - } } CachedFontInstance::~CachedFontInstance() @@ -708,7 +692,7 @@ // ### this may cache an instance we don't need though; but font family // is extremely likely to be used Font f; - f.fontDef.size = 16; + f.fontDef.size = 10; f.update(96); defaultCFI = f.cfi.get();
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/rendering/font.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/rendering/font.h
Changed
@@ -82,8 +82,6 @@ int descent; int height; int lineSpacing; - int xHeight; - int m_zeroCharWidth; mutable bool invalidated; ~CachedFontInstance(); @@ -242,10 +240,7 @@ int descent() const { return cfi->descent; } int height() const { return cfi->height; } int lineSpacing() const { return cfi->lineSpacing; } - int xHeight() const { return cfi->xHeight; } - - // return -1 if '0' char glyph not in font - int zeroCharWidth() const { return cfi->m_zeroCharWidth; } + float xHeight() const { return cfi->fm.xHeight(); } //FIXME: IMPLEMENT ME unsigned unitsPerEm() const { return 0; } int spaceWidth() const { return 0; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/rendering/render_box.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/rendering/render_box.cpp
Changed
@@ -1104,7 +1104,7 @@ tx -= style()->right().width(containingBlockWidth()); if(!style()->top().isAuto()) { if (style()->top().isPercent()) { - double p = style()->top().percent(); + float p = style()->top().percent(); bool neg = p < 0.0; int ph = calcPercentageHeight(Length((neg?-p:p), Percent)); if (ph != -1) @@ -1115,7 +1115,7 @@ } else if(!style()->bottom().isAuto()) { if (style()->bottom().isPercent()) { - double p = style()->bottom().percent(); + float p = style()->bottom().percent(); bool neg = p < 0.0; int ph = calcPercentageHeight(Length((neg?-p:p), Percent)); if (ph != -1)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/rendering/render_form.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/rendering/render_form.cpp
Changed
@@ -1856,7 +1856,7 @@ // Prefer label if set DOMString label = optElem->getAttribute(ATTR_LABEL); if (!label.isEmpty()) - domText = label; + domText = label.string(); domText = domText.implementation()->collapseWhiteSpace(false, false); QString text;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/rendering/render_image.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/rendering/render_image.cpp
Changed
@@ -34,6 +34,8 @@ #include <kdebug.h> #include <kglobalsettings.h> +#include "css/csshelper.h" +#include "misc/helper.h" #include "misc/loader.h" #include "html/html_formimpl.h" #include "html/html_imageimpl.h" @@ -427,20 +429,16 @@ else if (element()->id() == ID_IMG) alt = static_cast<HTMLImageElementImpl*>(element())->altText(); - const DOMString u = element()->id() == ID_OBJECT ? - element()->getAttribute(ATTR_DATA).trimSpaces() : element()->getAttribute(ATTR_SRC).trimSpaces(); - - if (!u.isEmpty()) { - // Need to compute completeURL, as 'u' can be relative - // while m_cachedImage->url() is always full url - DocumentImpl *docImpl = element()->document(); - const QString fullUrl = docImpl->completeURL(u.string()); - if (!m_cachedImage || m_cachedImage->url() != fullUrl) { - CachedImage *new_image = docImpl->docLoader()->requestImage(DOMString(fullUrl)); - if (new_image && new_image != m_cachedImage) { - updateImage(new_image); - } - } + DOMString u = element()->id() == ID_OBJECT ? + element()->getAttribute(ATTR_DATA) : element()->getAttribute(ATTR_SRC); + + if (!u.isEmpty() && + ( !m_cachedImage || m_cachedImage->url() != u ) ) { + CachedImage *new_image = element()->document()->docLoader()-> + requestImage(khtml::parseURL(u)); + + if(new_image && new_image != m_cachedImage) + updateImage( new_image ); } }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/rendering/render_style.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/rendering/render_style.cpp
Changed
@@ -107,8 +107,6 @@ BackgroundLayer::BackgroundLayer() :m_image(RenderStyle::initialBackgroundImage()), - m_xPosition(RenderStyle::initialBackgroundXPosition()), - m_yPosition(RenderStyle::initialBackgroundYPosition()), m_bgAttachment(RenderStyle::initialBackgroundAttachment()), m_bgClip(RenderStyle::initialBackgroundClip()), m_bgOrigin(RenderStyle::initialBackgroundOrigin()),
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/rendering/render_style.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/rendering/render_style.h
Changed
@@ -1464,8 +1464,8 @@ static ETextTransform initialTextTransform() { return TTNONE; } static EVisibility initialVisibility() { return VISIBLE; } static EWhiteSpace initialWhiteSpace() { return NORMAL; } - static Length initialBackgroundXPosition() { return Length(0.0, Percent); } - static Length initialBackgroundYPosition() { return Length(0.0, Percent); } + static Length initialBackgroundXPosition() { return Length(); } + static Length initialBackgroundYPosition() { return Length(); } static short initialBorderHorizontalSpacing() { return 0; } static short initialBorderVerticalSpacing() { return 0; } static ECursor initialCursor() { return CURSOR_AUTO; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/khtml/xml/dom_docimpl.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/khtml/xml/dom_docimpl.cpp
Changed
@@ -37,8 +37,10 @@ #include <html/htmltokenizer.h> #include "dom_restyler.h" +#include <css/csshelper.h> #include <css/cssstyleselector.h> #include <css/css_stylesheetimpl.h> +#include <misc/helper.h> #include <misc/seed.h> #include <misc/loader.h> #include <ecma/kjs_proxy.h> @@ -1696,18 +1698,6 @@ QString DocumentImpl::completeURL(const QString& url) const { - if (url.startsWith(QLatin1Char('#'))) { - const QString ref = KUrl::fromPercentEncoding(url.mid(1).toUtf8()); - KUrl u = baseURL(); - if (ref.isEmpty()) { - u.setHTMLRef(""); - } - else { - u.setHTMLRef(ref); - } - return u.url(); - } - return KUrl(baseURL(),url /*,m_decoderMibEnum*/).url(); } @@ -1991,16 +1981,16 @@ v->part()->scheduleRedirection(delay, v->part()->url().url() ); } else { pos++; - while(pos < str.length() && str[pos].isSpace()) pos++; + while(pos < (int)str.length() && str[pos].isSpace()) pos++; str = str.mid(pos); if(str.indexOf("url", 0, Qt::CaseInsensitive ) == 0) str = str.mid(3); str = str.trimmed(); if ( str.length() && str[0] == '=' ) str = str.mid( 1 ).trimmed(); - while (str.length() && (str[str.length()-1] == ';' || str[str.length()-1] == ',')) { + while(str.length() && + (str[str.length()-1] == ';' || str[str.length()-1] == ',')) str.resize(str.length()-1); - } - str = DOMString(str).trimSpaces().string(); - QString newURL = document()->completeURL(str); + str = parseURL( DOMString(str) ).string(); + QString newURL = document()->completeURL( str ); if ( ok ) v->part()->scheduleRedirection(delay, newURL, delay < 2 || newURL == URL().url()); } @@ -2060,8 +2050,8 @@ //qDebug("urlnode: %s (%d)", getTagName(renderInfo.URLElement()->id()).string().toLatin1().constData(), renderInfo.URLElement()->id()); ElementImpl* e = static_cast<ElementImpl*>(renderInfo.URLElement()); - const DOMString href = e->getAttribute(ATTR_HREF).trimSpaces(); - const DOMString target = e->getAttribute(ATTR_TARGET); + DOMString href = khtml::parseURL(e->getAttribute(ATTR_HREF)); + DOMString target = e->getAttribute(ATTR_TARGET); if (!target.isNull() && !href.isNull()) { ev->target = target;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kinit/lnusertemp.c -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kinit/lnusertemp.c
Changed
@@ -256,7 +256,6 @@ int main(int argc, char **argv) { const char *tmp = 0; - const char *xdg_runtime_dir = 0; char *tmp_prefix = 0; const char *kde_prefix = 0; int res = 0; @@ -286,10 +285,6 @@ } else if (strcmp(argv[1], "socket") == 0) { - xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"); - if (xdg_runtime_dir && xdg_runtime_dir[0]) - tmp = xdg_runtime_dir; - tmp_prefix = (char *)malloc(strlen(tmp)+strlen("/ksocket-")+1); strcpy(tmp_prefix, tmp ); strcat(tmp_prefix, "/ksocket-" );
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/data.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/data.protocol
Changed
@@ -68,7 +68,7 @@ Description[or]=ତଥ୍ୟ URI ଗୁଡିକ ପାଇଁ ଗୋଟିଏ kioslave (rfc2397) Description[pa]=ਡਾਟਾ URI ਲਈ kioslave(rfc2397) Description[pl]=Wtyczka protokołu URI danych (rfc2397) -Description[pt]=Um 'kioslave' para os URI's de dados (RFC2397) +Description[pt]=Um 'kioslave' para URIs data (rfc2397) Description[pt_BR]=Um kioslave para URIs de dados (rfc2397) Description[ro]=Un dispozitiv de I/E pentru URI-urile de date (rfc2397) Description[ru]=Открытие URI по rfc2397
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kcmodule.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kcmodule.desktop
Changed
@@ -62,7 +62,7 @@ Name[nn]=KDE-oppsettsmodul Name[or]=KDE ବିନ୍ୟାସ ଏକକାଂଶ Name[pa]=KDE ਸੰਰਚਨਾ ਮੋਡੀਊਲ -Name[pl]=Moduł ustawień KDE +Name[pl]=Moduł konfiguracji KDE Name[ps]=کډي سازونې بېلګه Name[pt]=Módulo de Configuração do KDE Name[pt_BR]=Módulo de configuração do KDE
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kcmoduleinit.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kcmoduleinit.desktop
Changed
@@ -59,7 +59,7 @@ Name[nn]=KDE-oppsettsklargjering Name[or]=KDE ବିନ୍ୟାସ ପ୍ରାରମ୍ଭିକରଣ Name[pa]=KDE ਸੰਰਚਨਾ ਸ਼ੁਰੂਆਤ -Name[pl]=Inicjacja ustawień KDE +Name[pl]=Inicjacja konfiguracji KDE Name[ps]=کډي سازونې پېلونه Name[pt]=Inicialização da Configuração do KDE Name[pt_BR]=Inicialização da configuração do KDE
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kfile/kiofilemodule.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kfile/kiofilemodule.desktop
Changed
@@ -17,7 +17,6 @@ Name[es]=filemodule Name[et]=Failimoodul Name[eu]=fitxategi modulua -Name[fa]=ماژول پرونده Name[fi]=filemodule Name[fr]=module de fichiers Name[ga]=filemodule
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kfile/kpropertiesdialogplugin.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kfile/kpropertiesdialogplugin.desktop
Changed
@@ -67,10 +67,10 @@ Comment[pa]=ਵਿਸ਼ੇਸ਼ਤਾ ਡਾਈਲਾਗ ਲਈ ਪਲੱਗਇਨ Comment[pl]=Wtyczka do okna dialogowego Właściwości Comment[ps]=د ځانتياوې کړکۍ لپاره لګون -Comment[pt]='Plugin' da Janela de Propriedades +Comment[pt]='Plugin' para a Janela de Propriedades Comment[pt_BR]=Plugin para a janela de propriedades Comment[ro]=Modul pentru dialogul de proprietăți -Comment[ru]=Расширение диалога свойств +Comment[ru]=Расширение диалога настройки Comment[se]=Lassemoduvla iešvuođahtaláseža várás Comment[si]=වත්කම් සංවාද කොටුව සඳහා ප්ලගීනය Comment[sk]=Modul pre dialóg vlastností
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kfile/kurlrequester.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kfile/kurlrequester.cpp
Changed
@@ -33,7 +33,6 @@ #include <QMimeData> #include <QAction> #include <QApplication> -#include <QDir> class KUrlDragPushButton : public KPushButton { @@ -145,19 +144,12 @@ edit->setCompletionObject( comp ); } - void updateCompletionStartDir( const KUrl &newStartDir ) - { - if ( newStartDir.isLocalFile() ) - myCompletion->setDir(newStartDir.toLocalFile()); - } - QString text() const { return combo ? combo->currentText() : edit->text(); } /** * replaces ~user or $FOO, if necessary - * if text() is a relative path, make it absolute using startDir() */ KUrl url() const { const QString txt = text(); @@ -167,19 +159,10 @@ else comp = qobject_cast<KUrlCompletion*>(edit->completionObject()); - KUrl enteredPath; - KUrl baseDir(m_startDir); if ( comp ) - enteredPath = KUrl( comp->replacedPath( txt ) ); + return KUrl( comp->replacedPath( txt ) ); else - enteredPath = KUrl( txt ); - - if ( enteredPath.isRelative() && !txt.isEmpty() ) { - baseDir.addPath(enteredPath.path()); - return baseDir; - } else { - return enteredPath; - } + return KUrl( txt ); } // slots @@ -188,7 +171,6 @@ void _k_slotFileDialogFinished(); KUrl m_startDir; - bool m_startDirCustomized; KUrlRequester *m_parent; KLineEdit *edit; KComboBox *combo; @@ -272,11 +254,7 @@ connectSignals( m_parent ); m_parent->connect(myButton, SIGNAL(clicked()), m_parent, SLOT(_k_slotOpenDialog())); - m_startDir = KUrl::fromPath(QDir::currentPath()); - m_startDirCustomized = false; - myCompletion = new KUrlCompletion(); - updateCompletionStartDir(m_startDir); setCompletionObject( myCompletion ); QAction* openAction = new QAction(m_parent); @@ -304,8 +282,8 @@ void KUrlRequester::setStartDir(const KUrl& startDir) { d->m_startDir = startDir; - d->m_startDirCustomized = true; - d->updateCompletionStartDir(startDir); + if (startDir.isLocalFile()) + d->myCompletion->setDir(startDir.toLocalFile()); } void KUrlRequester::changeEvent(QEvent *e) @@ -407,12 +385,6 @@ { m_parent->setUrl( newUrl ); emit m_parent->urlSelected( url() ); - // remember url as defaultStartDir and update startdir for autocompletion - if ( newUrl.isLocalFile() && !m_startDirCustomized ) { - m_startDir = newUrl; - m_startDir.setPath(m_startDir.directory()); - updateCompletionStartDir(m_startDir); - } } } }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kfile/kurlrequester.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kfile/kurlrequester.h
Changed
@@ -48,7 +48,7 @@ * the current working directory, or the last directory where a file has been * selected. * - * You can change this behavior by using setMode(), setFilter() and setStartDir(). + * You can change this behavior by using setMode() or setFilter(). * * The default window modality for the file dialog is Qt::ApplicationModal * @@ -92,8 +92,8 @@ /** * @returns the current url in the lineedit. May be malformed, if the user - * entered something weird. For local files, ~user or environment variables - * are substituted, relative paths will be resolved against startDir() + * entered something weird. ~user or environment variables are substituted + * for local files. */ KUrl url() const;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kio/copyjob.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kio/copyjob.cpp
Changed
@@ -53,6 +53,7 @@ #include "job_p.h" #include <kdiskfreespaceinfo.h> +#include <kfilesystemtype_p.h> using namespace KIO; @@ -338,19 +339,16 @@ if ( destinationState == DEST_NOT_STATED ) { if ( m_dest.isLocalFile() ) { //works for dirs as well - QString path(m_dest.toLocalFile()); - QFileInfo fileInfo(path); - if (m_asMethod || !fileInfo.exists()) { + QString path = m_dest.toLocalFile(); + if (m_asMethod) { // In copy-as mode, we want to check the directory to which we're // copying. The target file or directory does not exist yet, which // might confuse KDiskFreeSpaceInfo. - path = fileInfo.absolutePath(); + path = QFileInfo(path).absolutePath(); } - KDiskFreeSpaceInfo freeSpaceInfo = KDiskFreeSpaceInfo::freeSpaceInfo(path); - if (freeSpaceInfo.isValid()) { - m_freeSpace = freeSpaceInfo.available(); - } else { - kDebug(7007) << "Couldn't determine free space information for" << path; + KFileSystemType::Type fsType = KFileSystemType::fileSystemType( path ); + if ( fsType != KFileSystemType::Nfs && fsType != KFileSystemType::Smb && fsType != KFileSystemType::Ramfs ) { + m_freeSpace = KDiskFreeSpaceInfo::freeSpaceInfo( path ).available(); } //TODO actually preliminary check is even more valuable for slow NFS/SMB mounts, //but we need to find a way to report connection errors to user
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kio/global.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kio/global.h
Changed
@@ -26,7 +26,7 @@ #include <QtCore/QMap> #include <QtCore/QList> #include <QtCore/QVariant> -#include <QtCore/QFile> // for QFile::Permissions +#include <QFile> // for QFile::Permissions #include <kiconloader.h> #include <QtGui/QPixmap> // for pixmapForUrl
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kio/kdbusservicestarter.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kio/kdbusservicestarter.h
Changed
@@ -57,7 +57,7 @@ * will be ignored * @param flags for future extensions (currently unused) * - * @return an error code indicating success (== 0) or failure (< 0). + * @return an error code indicating success (== 0) or failure (> 0). */ int findServiceFor( const QString& serviceType, const QString& constraint = QString(),
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kio/kfileitem.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kio/kfileitem.cpp
Changed
@@ -959,7 +959,8 @@ names.append("emblem-symbolic-link"); } - if (!isReadable()) { + if ( !S_ISDIR( d->m_fileMode ) // Locked dirs have a special icon, use the overlay for files only + && !isReadable()) { names.append("object-locked"); } @@ -999,6 +1000,11 @@ } #endif // Q_OS_WIN + if ( d->m_pMimeType && d->m_url.fileName().endsWith( QLatin1String( ".gz" ) ) && + d->m_pMimeType->is("application/x-gzip") ) { + names.append("application-zip"); + } + return names; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kio/kfileitemactionplugin.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kio/kfileitemactionplugin.desktop
Changed
@@ -38,7 +38,7 @@ Comment[nl]=Plugin voor het contextmenu van het KIO-bestandsitem Comment[pa]=KIO ਫਾਇਲ ਆਈਟਮ ਸਮੱਗਰੀ ਮੇਨੂ ਲਈ ਪਲੱਗਇਨ Comment[pl]=Wtyczka do menu kontekstowego elementu pliku KIO -Comment[pt]='Plugin' do menu de contexto dos itens de ficheiros do KIO +Comment[pt]='Plugin' para o menu de contexto do item de ficheiros do KIO Comment[pt_BR]=Plugin para o menu de contexto do item de arquivos do KIO Comment[ro]=Modul pentru meniul contextual al fișierelor KIO Comment[ru]=Расширение контекстного меню файла KIO
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kio/kfilemetainfo.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kio/kfilemetainfo.cpp
Changed
@@ -421,10 +421,9 @@ { } -KFileMetaInfo& KFileMetaInfo::operator= ( KFileMetaInfo const & kfmi ) +const KFileMetaInfo& KFileMetaInfo::operator= ( KFileMetaInfo const & kfmi ) { - d = kfmi.d; - return *this; + return kfmi; } KFileMetaInfo::~KFileMetaInfo()
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kio/tcpslavebase.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kio/tcpslavebase.cpp
Changed
@@ -815,51 +815,45 @@ message = message.trimmed(); int msgResult; - QDateTime ruleExpiry = QDateTime::currentDateTime(); do { msgResult = messageBox(WarningYesNoCancel, message, i18n("Server Authentication"), i18n("&Details"), i18n("Co&ntinue")); - switch (msgResult) { - case KMessageBox::Yes: + if (msgResult == KMessageBox::Yes) { //Details was chosen- show the certificate and error details messageBox(SSLMessageBox /*the SSL info dialog*/, d->host); - break; - case KMessageBox::No: { - //fall through on KMessageBox::No - const int result = messageBox(WarningYesNoCancel, - i18n("Would you like to accept this " - "certificate forever without " - "being prompted?"), - i18n("Server Authentication"), - i18n("&Forever"), - i18n("&Current Session only")); - if (result == KMessageBox::Yes) { - //accept forever ("for a very long time") - ruleExpiry = ruleExpiry.addYears(1000); - } else if (result == KMessageBox::No) { - //accept "for a short time", half an hour. - ruleExpiry = ruleExpiry.addSecs(30*60); - } else { - msgResult = KMessageBox::Yes; - } - break; - } - case KMessageBox::Cancel: - return ResultFailed; - default: + } else if (msgResult == KMessageBox::Cancel) { + return ResultFailed; + } else if (msgResult != KMessageBox::No) { kWarning() << "Unexpected MessageBox response received:" << msgResult; return ResultFailed; } + //fall through on KMessageBox::No } while (msgResult == KMessageBox::Yes); + //Save the user's choice to ignore the SSL errors. + + msgResult = messageBox(WarningYesNo, + i18n("Would you like to accept this " + "certificate forever without " + "being prompted?"), + i18n("Server Authentication"), + i18n("&Forever"), + i18n("&Current Session only")); + QDateTime ruleExpiry = QDateTime::currentDateTime(); + if (msgResult == KMessageBox::Yes) { + //accept forever ("for a very long time") + ruleExpiry = ruleExpiry.addYears(1000); + } else { + //accept "for a short time", half an hour. + ruleExpiry = ruleExpiry.addSecs(30*60); + } + //TODO special cases for wildcard domain name in the certificate! //rule = KSslCertificateRule(d->socket.peerCertificateChain().first(), whatever); rule.setExpiryDateTime(ruleExpiry); rule.setIgnoredErrors(d->sslErrors); - - //Save the user's choice to ignore the SSL errors. cm->setRule(rule); return ResultOk | ResultOverridden;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kssl/kcm/cacertificatespage.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kssl/kcm/cacertificatespage.cpp
Changed
@@ -298,13 +298,9 @@ foreach (const QString &certFile, certFiles) { // trying both formats is easiest to program and most user-friendly if somewhat sloppy const int prevCertCount = certs.count(); - QFile file (certFile); - if (file.open(QIODevice::ReadOnly)) { - certs += QSslCertificate::fromDevice(&file, QSsl::Pem); - if (prevCertCount == certs.count()) { - file.reset(); - certs += QSslCertificate::fromDevice(&file, QSsl::Der); - } + certs += QSslCertificate::fromPath(certFile, QSsl::Pem); + if (prevCertCount == certs.count()) { + certs += QSslCertificate::fromPath(certFile, QSsl::Der); } if (prevCertCount == certs.count()) { kDebug(7029) << "failed to load certificate file" << certFile;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/kssl/kcm/kcm_ssl.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/kssl/kcm/kcm_ssl.desktop
Changed
@@ -23,8 +23,7 @@ Name[es]=Preferencias de SSL Name[et]=SSL-i seadistused Name[eu]=SSL hobespenak -Name[fa]=ترجیحات اساسال -Name[fi]=SSL-asetukset +Name[fi]=SSL:n asetukset Name[fr]=Préférences SSL Name[ga]=Sainroghanna SSL Name[gl]=Preferencias de SSL @@ -87,7 +86,6 @@ Comment[es]=Versiones y certificados SSL Comment[et]=SSL-i versioonid ja sertifikaadid Comment[eu]=SSL bertsioak eta ziurtagiriak -Comment[fa]=نسخهها و ترجیحات اساسال Comment[fi]=SSL-versioiden ja varmenteiden asetukset Comment[fr]=Certificats et versions SSL Comment[ga]=Leaganacha agus Teastais SSL
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/kpac/proxyscout.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/kpac/proxyscout.desktop
Changed
@@ -41,7 +41,7 @@ Name[nds]=Nettwark-Proxy instellen Name[nl]=Configuratie voor netwerk-proxy Name[pa]=ਨੈੱਟਵਰਕ ਪਰਾਕਸੀ ਸੰਰਚਨਾ -Name[pl]=Ustawienia pośrednika sieciowego +Name[pl]=Konfiguracja pośrednika sieciowego Name[pt]=Configuração do 'Proxy' de Rede Name[pt_BR]=Configuração do proxy de rede Name[ro]=Configurare proxy rețea @@ -131,7 +131,7 @@ Comment[nn]=Automatisk mellomtenaroppsett Comment[or]=ସ୍ୱୟଂଚାଳିତ ଛାୟା ବିନ୍ୟାସ Comment[pa]=ਆਟੋਮੈਟਿਕ ਪਰਾਕਸੀ ਸੰਰਚਨਾ -Comment[pl]=Autoustawienia pośrednika +Comment[pl]=Autokonfiguracja pośrednika Comment[ps]=خپلکارې ګوډاګي سازونه Comment[pt]=Configuração automática do 'proxy' Comment[pt_BR]=Configuração automática do proxy
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/kpac/proxyscout.notifyrc -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/kpac/proxyscout.notifyrc
Changed
@@ -41,7 +41,7 @@ Comment[nds]=Nettwark-Proxy instellen Comment[nl]=Configuratie voor netwerk-proxy Comment[pa]=ਆਟੋਮੈਟਿਕ ਪਰਾਕਸੀ ਸੰਰਚਨਾ -Comment[pl]=Ustawienia pośrednika sieciowego +Comment[pl]=Konfiguracja pośrednika sieciowego Comment[pt]=Configuração do 'Proxy' de Rede Comment[pt_BR]=Configuração do proxy de rede Comment[ro]=Configurare proxy rețea @@ -219,9 +219,9 @@ Comment[nn]=Det nedlasta skriptet for automatisk mellomtenaroppsett er ugyldig Comment[or]=ଆହରଣ କୃତ ଛାୟା ବିନ୍ୟାସ ସ୍କ୍ରିପ୍ଟ ଟି ଅବୈଧ Comment[pa]=ਡਾਊਨਲੋਡ ਕੀਤੀ ਪਰਾਕਸੀ ਸੰਰਚਨਾ ਸਕ੍ਰਿਪਟ ਗਲਤ ਹੈ -Comment[pl]=Pobrany skrypt ustawień pośrednika jest nieprawidłowy +Comment[pl]=Pobrany skrypt konfiguracji pośrednika jest nieprawidłowy Comment[ps]=رالېښل شوی ګوډاګي سازونې سکرېپټ ناسم دی -Comment[pt]=O programa de configuração do 'proxy' transferido é inválido +Comment[pt]=O programa obtido de configuração do 'proxy' é inválido Comment[pt_BR]=O script de configuração do proxy obtido é inválido Comment[ro]=Scriptul de configurare proxy este eronat Comment[ru]=Загруженный сценарий настройки прокси-сервера содержит ошибки @@ -404,9 +404,9 @@ Comment[nn]=Klarte ikkje lasta ned skript for automatisk mellomtenaroppsett Comment[or]=ଛାୟା ବିନ୍ୟାସ ସ୍କ୍ରିପ୍ଟ ଆହରଣ କରିହେଲା ନାହିଁ Comment[pa]=ਪਰਾਕਸੀ ਸੰਰਚਨਾ ਸਕ੍ਰਿਪਟ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ -Comment[pl]=Nie można pobrać skryptu ustawień pośrednika +Comment[pl]=Nie można pobrać skryptu konfiguracji pośrednika Comment[ps]=د ګوډاګي د سازونې سکرېپټ رالېښل کېدی نه شي -Comment[pt]=Não foi possível transferir o programa de configuração do 'proxy' +Comment[pt]=O programa de configuração do 'proxy' não pôde ser transferido Comment[pt_BR]=O script de configuração do proxy não pôde ser baixado Comment[ro]=Nu am putut descărca scriptul de configurare proxy Comment[ru]=Невозможно загрузить сценарий настройки прокси-сервера @@ -501,7 +501,7 @@ Name[pt]=Erro de Avaliação do Programa Name[pt_BR]=Erro de avaliação do script Name[ro]=Eroare de evaluare a scriptului -Name[ru]=Ошибка выполнения сценария +Name[ru]=Ошибка выполнения скрипта Name[se]=Skriptadulkonmeattáhus Name[sk]=Chyba vykonávania skriptu Name[sl]=Napaka med ovrednotenjem skripta @@ -587,9 +587,9 @@ Comment[nn]=Det oppstod ein feil ved køyring av skriptet for automatisk mellomtenaroppsett Comment[or]=ଛାୟା ବିନ୍ୟାସ ସ୍କ୍ରିପ୍ଟ ନିଷ୍ପାଦନ କରିବା ସମୟରେ ତ୍ରୁଟି Comment[pa]=ਪਰਾਕਸੀ ਸੰਰਚਨਾ ਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਦੌਰਾਨ ਗਲਤੀ ਹੈ -Comment[pl]=Wystąpił błąd w czasie wykonywania skryptu ustawień pośrednika +Comment[pl]=Wystąpił błąd w czasie wykonywania skryptu konfiguracji pośrednika Comment[ps]=د ګوډاګي سازونې سکرېپټ په چلولو کې ستونزه رامنځته شوه -Comment[pt]=Ocorreu um erro ao executar o programa de configuração do 'proxy' +Comment[pt]=Ocorreu um problema ao executar o programa de configuração do 'proxy' Comment[pt_BR]=Houve um erro ao executar o script de configuração do proxy Comment[ro]=A apărut o eroare la execuția scriptului de configurare proxy Comment[ru]=Ошибка при выполнении сценария настройки прокси-сервера
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/mms.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/mms.protocol
Changed
@@ -1,6 +1,7 @@ [Protocol] helper=true exec= +defaultMimetype=uri/mms protocol=mms input=none output=none @@ -70,7 +71,7 @@ Description[or]=Microsoft ସଞ୍ଚାରମାଧ୍ୟମ ସର୍ଭର ପ୍ରୋଟୋକଲ Description[pa]=Microsoft Media ਸਰਵਰ ਪ੍ਰੋਟੋਕਾਲ Description[pl]=Protokół Microsoft Media Server -Description[pt]=Protocolo de Servidores Multimédia da Microsoft +Description[pt]=Protocolo do Microsoft Media Server Description[pt_BR]=Protocolo do Microsoft Media Server Description[ro]=Protocol Microsoft Media Server Description[ru]=Протокол Microsoft Media Server
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/mmst.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/mmst.protocol
Changed
@@ -1,4 +1,5 @@ [Protocol] +defaultMimetype=uri/mmst exec= protocol=mmst input=none
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/mmsu.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/mmsu.protocol
Changed
@@ -1,4 +1,5 @@ [Protocol] +defaultMimetype=uri/mmsu exec= protocol=mmsu input=none
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/pnm.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/pnm.protocol
Changed
@@ -1,4 +1,5 @@ [Protocol] +defaultMimetype=uri/pnm exec= protocol=pnm input=none
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/rtspt.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/rtspt.protocol
Changed
@@ -1,4 +1,5 @@ [Protocol] +defaultMimetype=uri/rtspt exec= protocol=rtspt input=none
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kio/misc/rtspu.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kio/misc/rtspu.protocol
Changed
@@ -1,4 +1,5 @@ [Protocol] +defaultMimetype=uri/rtspu exec= protocol=rtspu input=none
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kioslave/file/file_unix.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kioslave/file/file_unix.cpp
Changed
@@ -110,18 +110,18 @@ bool dest_exists = ( KDE_lstat( _dest.data(), &buff_dest ) != -1 ); if ( dest_exists ) { - if ( same_inode( buff_dest, buff_src) ) - { - error(KIO::ERR_IDENTICAL_FILES, dest); - return; - } - if (S_ISDIR(buff_dest.st_mode)) { error(KIO::ERR_DIR_ALREADY_EXIST, dest); return; } + if ( same_inode( buff_dest, buff_src) ) + { + error(KIO::ERR_IDENTICAL_FILES, dest); + return; + } + if (!(_flags & KIO::Overwrite)) { error(KIO::ERR_FILE_ALREADY_EXIST, dest); @@ -439,18 +439,18 @@ bool dest_exists = ( KDE_lstat( _dest.data(), &buff_dest ) != -1 ); if ( dest_exists ) { - if ( same_inode( buff_dest, buff_src) ) - { - error(KIO::ERR_IDENTICAL_FILES, dest); - return; - } - if (S_ISDIR(buff_dest.st_mode)) { error(KIO::ERR_DIR_ALREADY_EXIST, dest); return; } + if ( same_inode( buff_dest, buff_src) ) + { + error(KIO::ERR_IDENTICAL_FILES, dest); + return; + } + if (!(_flags & KIO::Overwrite)) { error(KIO::ERR_FILE_ALREADY_EXIST, dest);
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kioslave/ftp/ftp.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kioslave/ftp/ftp.cpp
Changed
@@ -868,7 +868,7 @@ // Check that we can do PASV QHostAddress address = m_control->peerAddress(); - if (address.protocol() != QAbstractSocket::IPv4Protocol && !isSocksProxy()) + if (address.protocol() != QAbstractSocket::IPv4Protocol) return ERR_INTERNAL; // no PASV for non-PF_INET connections if (m_extControl & pasvUnknown) @@ -2376,40 +2376,33 @@ bool bDestLocal = dest.isLocalFile(); QString sCopyFile; - if(bSrcLocal && !bDestLocal) { // File -> Ftp + if(bSrcLocal && !bDestLocal) // File -> Ftp + { sCopyFile = src.toLocalFile(); kDebug(7102) << "local file" << sCopyFile << "-> ftp" << dest.path(); cs = ftpCopyPut(iError, iCopyFile, sCopyFile, dest, permissions, flags); - if(cs == statusServerError) { - sCopyFile = dest.url(); - } - } else if(!bSrcLocal && bDestLocal) { // Ftp -> File + if( cs == statusServerError) sCopyFile = dest.url(); + } + else if(!bSrcLocal && bDestLocal) // Ftp -> File + { sCopyFile = dest.toLocalFile(); kDebug(7102) << "ftp" << src.path() << "-> local file" << sCopyFile; cs = ftpCopyGet(iError, iCopyFile, sCopyFile, src, permissions, flags); - if(cs == statusServerError) { - sCopyFile = src.url(); - } - } else { - error(ERR_UNSUPPORTED_ACTION, QString()); + if( cs == statusServerError ) sCopyFile = src.url(); + } + else { + error( ERR_UNSUPPORTED_ACTION, QString() ); return; } // perform clean-ups and report error (if any) - if(iCopyFile != -1) { + if(iCopyFile != -1) ::close(iCopyFile); - } - ftpCloseCommand(); // must close command! - - if (cs == statusSuccess) { - finished(); - return; - } - - if(iError) { + if(iError) error(iError, sCopyFile); - } + else + finished(); }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kioslave/http/http.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kioslave/http/http.cpp
Changed
@@ -340,16 +340,6 @@ } } -static void changeProtocolToHttp(KUrl* url) -{ - const QString protocol(url->protocol()); - if (protocol == QLatin1String("webdavs")) { - url->setProtocol(QLatin1String("https")); - } else if (protocol == QLatin1String("webdav")) { - url->setProtocol(QLatin1String("http")); - } -} - /************************************************************************************************************************/ @@ -727,7 +717,6 @@ // Also, if we've just loaded an error page there is nothing more to do. // In that case we abort to avoid loops; some webservers manage to send 401 and // no authentication request. Or an auth request we don't understand. - setMetaData(QLatin1String("responsecode"), QString::number(m_request.responseCode)); return false; } @@ -1311,7 +1300,7 @@ m_request.url.setQuery(QString()); m_request.cacheTag.policy = CC_Reload; - proceedUntilResponseContent(true); + proceedUntilResponseHeader(); if ( m_request.responseCode == 201 ) davFinished(); @@ -1350,10 +1339,37 @@ if (!davHostOk()) return; - // Checks if the destination exists and return an error if it does. - if (!davStatDestination()) { + const QByteArray request ("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + "<D:propfind xmlns:D=\"DAV:\"><D:prop>" + "<D:creationdate/>" + "<D:getcontentlength/>" + "<D:displayname/>" + "<D:resourcetype/>" + "</D:prop></D:propfind>"); + + davSetRequest( request ); + + // WebDAV Stat or List... + m_request.method = DAV_PROPFIND; + m_request.url.setQuery(QString()); + m_request.cacheTag.policy = CC_Reload; + m_request.davData.depth = 0; + + proceedUntilResponseContent(true); + + if (!m_request.isKeepAlive) { + httpCloseConnection(); // close connection if server requested it. + m_request.isKeepAlive = true; // reset the keep alive flag. + } + + if (m_request.responseCode == 207) { + error(ERR_FILE_ALREADY_EXIST, QString()); return; } + + // force re-authentication... + delete m_wwwAuth; + m_wwwAuth = 0; } } @@ -1365,39 +1381,32 @@ void HTTPProtocol::copy( const KUrl& src, const KUrl& dest, int, KIO::JobFlags flags ) { - kDebug(7113) << src << "->" << dest; + kDebug(7113) << src << "->" << dest; - const bool isSourceLocal = src.isLocalFile(); - const bool isDestinationLocal = dest.isLocalFile(); + if (!maybeSetRequestUrl(dest) || !maybeSetRequestUrl(src)) + return; + resetSessionSettings(); - if (isSourceLocal && !isDestinationLocal) { - copyPut(src, dest, flags); - } else { - if (!maybeSetRequestUrl(dest) || !maybeSetRequestUrl(src)) { - return; - } + // destination has to be "http(s)://..." + KUrl newDest = dest; + if (newDest.protocol() == QLatin1String("webdavs")) + newDest.setProtocol(QLatin1String("https")); + else if (newDest.protocol() == QLatin1String("webdav")) + newDest.setProtocol(QLatin1String("http")); - resetSessionSettings(); + m_request.method = DAV_COPY; + m_request.davData.desturl = newDest.url(); + m_request.davData.overwrite = (flags & KIO::Overwrite); + m_request.url.setQuery(QString()); + m_request.cacheTag.policy = CC_Reload; - // destination has to be "http(s)://..." - KUrl newDest (dest); - changeProtocolToHttp(&newDest); - - m_request.method = DAV_COPY; - m_request.davData.desturl = newDest.url(); - m_request.davData.overwrite = (flags & KIO::Overwrite); - m_request.url.setQuery(QString()); - m_request.cacheTag.policy = CC_Reload; - - proceedUntilResponseHeader(); - - // The server returns a HTTP/1.1 201 Created or 204 No Content on successful completion - if (m_request.responseCode == 201 || m_request.responseCode == 204) { - davFinished(); - } else { - davError(); - } - } + proceedUntilResponseHeader(); + + // The server returns a HTTP/1.1 201 Created or 204 No Content on successful completion + if ( m_request.responseCode == 201 || m_request.responseCode == 204 ) + davFinished(); + else + davError(); } void HTTPProtocol::rename( const KUrl& src, const KUrl& dest, KIO::JobFlags flags ) @@ -1409,8 +1418,11 @@ resetSessionSettings(); // destination has to be "http://..." - KUrl newDest(dest); - changeProtocolToHttp(&newDest); + KUrl newDest = dest; + if (newDest.protocol() == QLatin1String("webdavs")) + newDest.setProtocol(QLatin1String("https")); + else if (newDest.protocol() == QLatin1String("webdav")) + newDest.setProtocol(QLatin1String("http")); m_request.method = DAV_MOVE; m_request.davData.desturl = newDest.url(); @@ -3852,12 +3864,11 @@ { infoMessage(i18n("Sending data to %1" , m_request.url.host())); - const qint64 size = m_POSTbuf->size(); QByteArray cLength ("Content-Length: "); - cLength += QByteArray::number(size); + cLength += QByteArray::number(m_POSTbuf->size()); cLength += "\r\n\r\n"; - kDebug(7113) << "sending cached data (size=" << size << ")"; + kDebug(7113) << "sending cached data (size=" << m_POSTbuf->size() << ")"; // Send the content length... bool sendOk = (write(cLength.data(), cLength.size()) == (ssize_t) cLength.size()); @@ -3868,24 +3879,19 @@ return false; } - totalSize(size); // Make sure the read head is at the beginning... m_POSTbuf->reset(); - KIO::filesize_t totalBytesSent = 0; // Send the data... while (!m_POSTbuf->atEnd()) { - const QByteArray buffer = m_POSTbuf->read(65536); - const ssize_t bytesSent = write(buffer.data(), buffer.size()); - if (bytesSent != static_cast<ssize_t>(buffer.size())) { + const QByteArray buffer = m_POSTbuf->read(s_MaxInMemPostBufSize); + sendOk = (write(buffer.data(), buffer.size()) == (ssize_t) buffer.size()); + if (!sendOk) { kDebug(7113) << "Connection broken when sending message body: (" << m_request.url.host() << ")"; error( ERR_CONNECTION_BROKEN, m_request.url.host() ); return false; } - - totalBytesSent += bytesSent; - processedSize(totalBytesSent); } return true; @@ -5517,74 +5523,5 @@ return authRequiresAnotherRoundtrip; } -void HTTPProtocol::copyPut(const KUrl& src, const KUrl& dest, JobFlags flags) -{ - kDebug(7113) << src << "->" << dest; - - if (!maybeSetRequestUrl(dest)) { - return; - } - - resetSessionSettings(); - - if (!(flags & KIO::Overwrite)) { - // check to make sure this host supports WebDAV - if (!davHostOk()) { - return; - } - - // Checks if the destination exists and return an error if it does. - if (!davStatDestination()) { - return; - } - } - - m_POSTbuf = new QFile (src.toLocalFile()); - if (!m_POSTbuf->open(QFile::ReadOnly)) { - error(KIO::ERR_CANNOT_OPEN_FOR_READING, QString()); - return; - } - - m_request.method = HTTP_PUT; - m_request.cacheTag.policy = CC_Reload; - - proceedUntilResponseContent(); -} - -bool HTTPProtocol::davStatDestination() -{ - const QByteArray request ("<?xml version=\"1.0\" encoding=\"utf-8\" ?>" - "<D:propfind xmlns:D=\"DAV:\"><D:prop>" - "<D:creationdate/>" - "<D:getcontentlength/>" - "<D:displayname/>" - "<D:resourcetype/>" - "</D:prop></D:propfind>"); - davSetRequest(request); - - // WebDAV Stat or List... - m_request.method = DAV_PROPFIND; - m_request.url.setQuery(QString()); - m_request.cacheTag.policy = CC_Reload; - m_request.davData.depth = 0; - - proceedUntilResponseContent(true); - - if (!m_request.isKeepAlive) { - httpCloseConnection(); // close connection if server requested it. - m_request.isKeepAlive = true; // reset the keep alive flag. - } - - if (m_request.responseCode == 207) { - error(ERR_FILE_ALREADY_EXIST, QString()); - return false; - } - - // force re-authentication... - delete m_wwwAuth; - m_wwwAuth = 0; - - return true; -} #include "http.moc"
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kioslave/http/http.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kioslave/http/http.h
Changed
@@ -509,16 +509,6 @@ */ bool handleAuthenticationHeader(const HeaderTokenizer* tokenizer); - /** - * Handles file -> webdav put requests. - */ - void copyPut(const KUrl& src, const KUrl& dest, KIO::JobFlags flags); - - /** - * Stats a remote DAV file and returns true if it exists. - */ - bool davStatDestination(); - protected: HTTPServerState m_server; HTTPRequest m_request;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kioslave/http/http_cache_cleaner.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kioslave/http/http_cache_cleaner.desktop
Changed
@@ -66,7 +66,7 @@ Name[pa]=HTTP ਕੈਸ਼ ਸਾਫ਼ ਕਰੋ Name[pl]=Czyszczenie bufora HTTP Name[ps]=پټياد پاکوونکی HTTP -Name[pt]=Limpeza da 'Cache' de HTTP +Name[pt]=Limpeza da Cache de HTTP Name[pt_BR]=Limpador de cache HTTP Name[ro]=Curățător cache HTTP Name[ru]=Очистка кэша HTTP @@ -163,7 +163,7 @@ Comment[pa]=HTTP ਕੈਸ਼ ਤੋਂ ਪੁਰਾਣੀਆਂ ਐਂਟਰੀਆਂ ਸਾਫ਼ ਕਰੋ Comment[pl]=Usuwa stare wpisy z bufora HTTP Comment[ps]=پټياد څخه زړې ننوتنې پاکوي HTTP د -Comment[pt]=Limpa os itens antigos da 'cache' de HTTP +Comment[pt]=Limpa o conteúdo desactualizado da cache do HTTP Comment[pt_BR]=Limpa itens antigos do cache HTTP Comment[ro]=Elimină înregistrările vechi din cache-ul HTTP Comment[ru]=Удаление устаревших элементов из кэша HTTP
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kioslave/http/webdav.protocol -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kioslave/http/webdav.protocol
Changed
@@ -10,7 +10,6 @@ deleting=true moving=true deleteRecursive=true -copyFromFile=true defaultMimetype=application/octet-stream determineMimetypeFromExtension=false Icon=folder-remote
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kjs/jsonlexer.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/kjs/jsonlexer.cpp
Changed
@@ -514,6 +514,11 @@ } UChar next = Lexer::convertUnicode(m_code[m_pos+1].uc, m_code[m_pos+2].uc, m_code[m_pos+3].uc, m_code[m_pos+4].uc); + if (next.uc <= InvalidJSONUnicode) + { + *error = true; + return UChar(' '); + } *error = false; m_pos += 5;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/mimetypes/kde.xml -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/mimetypes/kde.xml
Changed
@@ -16,413 +16,31 @@ <mime-type type="application/metalink+xml"> <sub-class-of type="application/xml"/> <comment>Metalink download</comment> - <comment xml:lang="ar">تنزيل Metalink</comment> - <comment xml:lang="ast">Descarga Metalink</comment> - <comment xml:lang="bs">metalink preuzimanje</comment> - <comment xml:lang="ca">Baixada de «Metalink»</comment> - <comment xml:lang="ca@valencia">Baixada de «Metalink»</comment> - <comment xml:lang="cs">Stahování Metalink</comment> - <comment xml:lang="da">Metalink-download</comment> - <comment xml:lang="de">Metalink-Download</comment> - <comment xml:lang="el">Λήψη Metalink</comment> - <comment xml:lang="en_GB">Metalink download</comment> - <comment xml:lang="es">Descarga Metalink</comment> - <comment xml:lang="et">Metalinki allalaadimine</comment> - <comment xml:lang="eu">Metalik deskarga</comment> - <comment xml:lang="fi">Metalink-lataus</comment> - <comment xml:lang="fr">Téléchargement par méta-liens</comment> - <comment xml:lang="ga">Íosluchtú Metalink</comment> - <comment xml:lang="gl">Descarga de Metalink</comment> - <comment xml:lang="hr">Metalink preuzimanje</comment> - <comment xml:lang="hu">Metalinkletöltés</comment> - <comment xml:lang="ia">Discargamento de Metalink</comment> - <comment xml:lang="is">Metalink niðurhal</comment> - <comment xml:lang="it">scaricamento Metalink</comment> - <comment xml:lang="ja">Metalink ダウンロード</comment> - <comment xml:lang="kk">Метасілтеме</comment> - <comment xml:lang="km">ទាញយកតំណមេតា</comment> - <comment xml:lang="ko">Metalink 다운로드</comment> - <comment xml:lang="lt">Metalink atsiuntimas</comment> - <comment xml:lang="lv">Metalink lejupielāde</comment> - <comment xml:lang="ml">മെറ്റാ-കണ്ണി ഡൌണ്ലോഡ്</comment> - <comment xml:lang="mr">मेटालिंक डाउनलोड</comment> - <comment xml:lang="nb">Metalink nedlasting</comment> - <comment xml:lang="nds">Metalink-Daalladen</comment> - <comment xml:lang="nl">Download van metalink</comment> - <comment xml:lang="nn">Metalink-nedlasting</comment> - <comment xml:lang="pa">ਮੇਟਾਲਿੰਕ ਡਾਊਨਲੋਡ</comment> - <comment xml:lang="pl">Pobieranie Metalink</comment> - <comment xml:lang="pt">Transferência do Metalink</comment> - <comment xml:lang="pt_BR">Transferência do Metalink</comment> - <comment xml:lang="ro">Descărcare Metalink</comment> - <comment xml:lang="ru">метассылка</comment> - <comment xml:lang="se">Metalink-viežžan</comment> - <comment xml:lang="sk">Sťahovanie Metalink</comment> - <comment xml:lang="sl">Prejem Metalink</comment> - <comment xml:lang="sr">металинк преузимање</comment> - <comment xml:lang="sr@ijekavian">металинк преузимање</comment> - <comment xml:lang="sr@ijekavianlatin">metalink preuzimanje</comment> - <comment xml:lang="sr@latin">metalink preuzimanje</comment> - <comment xml:lang="sv">Metalink-nerladdning</comment> - <comment xml:lang="tr">Metalink indirmesi</comment> - <comment xml:lang="ug">Metalink چۈشۈرۈش</comment> - <comment xml:lang="uk">метапосилання звантаження</comment> - <comment xml:lang="zh_CN">Metalink 下载</comment> - <comment xml:lang="zh_TW">Metalink 下載</comment> <glob pattern="*.metalink"/> </mime-type> <mime-type type="application/relaxng"> <sub-class-of type="application/xml"/> <comment>RELAX NG</comment> - <comment xml:lang="ar">RELAX NG</comment> - <comment xml:lang="ast">RELAX NG</comment> - <comment xml:lang="bs">Relax NG</comment> - <comment xml:lang="ca">RELAX NG</comment> - <comment xml:lang="ca@valencia">RELAX NG</comment> - <comment xml:lang="cs">RELAX NG</comment> - <comment xml:lang="da">RELAX NG</comment> - <comment xml:lang="de">RELAX NG</comment> - <comment xml:lang="el">RELAX NG</comment> - <comment xml:lang="en_GB">RELAX NG</comment> - <comment xml:lang="eo">RELAX NG</comment> - <comment xml:lang="es">RELAX NG</comment> - <comment xml:lang="et">RELAX NG</comment> - <comment xml:lang="eu">RELAX NG</comment> - <comment xml:lang="fi">RELAX NG</comment> - <comment xml:lang="fr">RELAX NG</comment> - <comment xml:lang="ga">RELAX NG</comment> - <comment xml:lang="gl">RELAX NG</comment> - <comment xml:lang="hr">RELAX NG</comment> - <comment xml:lang="hu">RELAX NG</comment> - <comment xml:lang="ia">RELAX NG</comment> - <comment xml:lang="is">RELAX NG</comment> - <comment xml:lang="it">RELAX NG</comment> - <comment xml:lang="ja">RELAX NG</comment> - <comment xml:lang="kk">RELAX NG</comment> - <comment xml:lang="km">RELAX NG</comment> - <comment xml:lang="ko">RELAX NG</comment> - <comment xml:lang="lt">RELAX NG</comment> - <comment xml:lang="lv">RELAX NG</comment> - <comment xml:lang="ml">റിലാക്സ് എന് ജി</comment> - <comment xml:lang="mr">RELAX NG</comment> - <comment xml:lang="nb">RELAX NG</comment> - <comment xml:lang="nds">RELAX NG</comment> - <comment xml:lang="nl">RELAX NG</comment> - <comment xml:lang="nn">RELAX NG</comment> - <comment xml:lang="pa">RELAX NG</comment> - <comment xml:lang="pl">RELAX NG</comment> - <comment xml:lang="pt">RELAX NG</comment> - <comment xml:lang="pt_BR">RELAX NG</comment> - <comment xml:lang="ro">RELAX NG</comment> - <comment xml:lang="ru">документ RELAX NG</comment> - <comment xml:lang="se">RELAX NG</comment> - <comment xml:lang="sk">RELAX NG</comment> - <comment xml:lang="sl">RELAX NG</comment> - <comment xml:lang="sq">RELAX NG</comment> - <comment xml:lang="sr">релакс НГ</comment> - <comment xml:lang="sr@ijekavian">релакс НГ</comment> - <comment xml:lang="sr@ijekavianlatin">Relax NG</comment> - <comment xml:lang="sr@latin">Relax NG</comment> - <comment xml:lang="sv">RELAX NG</comment> - <comment xml:lang="tr">RELAX NG</comment> - <comment xml:lang="ug">RELAX NG</comment> - <comment xml:lang="uk">RELAX NG</comment> - <comment xml:lang="zh_CN">RELAX NG</comment> - <comment xml:lang="zh_TW">RELAX NG</comment> <glob pattern="*.rng"/> </mime-type> <mime-type type="application/x-cda"> <comment>CD audio</comment> - <comment xml:lang="ar">صوت CD</comment> - <comment xml:lang="ast">Audio CD</comment> - <comment xml:lang="bs">CD audio</comment> - <comment xml:lang="ca">CD àudio</comment> - <comment xml:lang="ca@valencia">CD àudio</comment> - <comment xml:lang="cs">Audio CD</comment> - <comment xml:lang="da">Cd-lyd</comment> - <comment xml:lang="de">CD-Audio</comment> - <comment xml:lang="el">Ήχος CD</comment> - <comment xml:lang="en_GB">CD audio</comment> - <comment xml:lang="es">Audio CD</comment> - <comment xml:lang="et">CD audio</comment> - <comment xml:lang="eu">Audio CDa</comment> - <comment xml:lang="fi">CD-ääni</comment> - <comment xml:lang="fr">CD audio</comment> - <comment xml:lang="ga">Fuaim dhlúthdhiosca</comment> - <comment xml:lang="gl">CD de son</comment> - <comment xml:lang="hr">CD audio</comment> - <comment xml:lang="hu">CD-hang</comment> - <comment xml:lang="ia">Audio CD</comment> - <comment xml:lang="is">CD hljóð</comment> - <comment xml:lang="it">audio CD</comment> - <comment xml:lang="ja">CD オーディオ</comment> - <comment xml:lang="kk">аудио CD</comment> - <comment xml:lang="km">ស៊ីឌីអូឌីយ៉ូ</comment> - <comment xml:lang="ko">CD 오디오</comment> - <comment xml:lang="lt">CD audio</comment> - <comment xml:lang="lv">CD audio</comment> - <comment xml:lang="ml">സിഡി ശബ്ദം</comment> - <comment xml:lang="mr">CD ऑडिओ</comment> - <comment xml:lang="ms">Audio CD</comment> - <comment xml:lang="nb">CD-lyd</comment> - <comment xml:lang="nds">Klang-CD</comment> - <comment xml:lang="nl">CD-audio</comment> - <comment xml:lang="nn">CD-lyd</comment> - <comment xml:lang="pa">CD ਆਡੀਓ</comment> - <comment xml:lang="pl">Audio CD</comment> - <comment xml:lang="pt">Áudio de CD</comment> - <comment xml:lang="pt_BR">Áudio de CD</comment> - <comment xml:lang="ro">CD audio</comment> - <comment xml:lang="ru">дорожка на Audio CD</comment> - <comment xml:lang="se">CD-jietna</comment> - <comment xml:lang="sk">Audio CD</comment> - <comment xml:lang="sl">Zvočni CD</comment> - <comment xml:lang="sq">CD audio</comment> - <comment xml:lang="sr">ЦД аудио</comment> - <comment xml:lang="sr@ijekavian">ЦД аудио</comment> - <comment xml:lang="sr@ijekavianlatin">CD audio</comment> - <comment xml:lang="sr@latin">CD audio</comment> - <comment xml:lang="sv">Cd-ljud</comment> - <comment xml:lang="th">แผ่นซีดีเสียง</comment> - <comment xml:lang="tr">CD sesi</comment> - <comment xml:lang="ug">ئۈن CD</comment> - <comment xml:lang="uk">звуковий КД</comment> - <comment xml:lang="zh_CN">CD 音频</comment> - <comment xml:lang="zh_TW">CD 音效</comment> <glob pattern="*.cda"/> </mime-type> <mime-type type="application/x-font-snf"> <comment>SNF bitmap font</comment> - <comment xml:lang="ar">خط SNF bitmap</comment> - <comment xml:lang="ast">Triba de lletra de mapa de bits SNF</comment> - <comment xml:lang="bs">SNF bitmapski font</comment> - <comment xml:lang="ca">tipus de lletra de mapa de bits SNF</comment> - <comment xml:lang="ca@valencia">tipus de lletra de mapa de bits SNF</comment> - <comment xml:lang="cs">Bitmapový font SNF</comment> - <comment xml:lang="da">SNF bitmap-skrifttype</comment> - <comment xml:lang="de">SNF-Bitmap-Schriftart</comment> - <comment xml:lang="el">Γραμματοσειρά bitmap SNF</comment> - <comment xml:lang="en_GB">SNF bitmap font</comment> - <comment xml:lang="es">Tipo de letra de mapa de bits SNF</comment> - <comment xml:lang="et">SNF bittrasterfont</comment> - <comment xml:lang="eu">SNF bitmap letra tipoa</comment> - <comment xml:lang="fi">SNF-bittikarttafontti</comment> - <comment xml:lang="fr">Police bitmap SNF</comment> - <comment xml:lang="ga">Cló Giotánmhapach SNF</comment> - <comment xml:lang="gl">Tipo de letra SNF bitmap</comment> - <comment xml:lang="hr">SNF bitmap pismo</comment> - <comment xml:lang="hu">SNF-betűtípus</comment> - <comment xml:lang="ia">font de bitmap SNF</comment> - <comment xml:lang="is">SNF bitamyndaletur</comment> - <comment xml:lang="it">carattere bitmap SNF</comment> - <comment xml:lang="ja">SNF ビットマップフォント</comment> - <comment xml:lang="kk">SNF нүктелік қаріпі</comment> - <comment xml:lang="km">ពុម្ពអក្សរផែនទីរូបភាពរបស់ SNF</comment> - <comment xml:lang="ko">SNF 비트맵 글꼴</comment> - <comment xml:lang="lt">SNF rastrinis šriftas</comment> - <comment xml:lang="lv">SNF bitkartes fonts</comment> - <comment xml:lang="ml">എസ് എന് എഫ് ബിറ്റ്മാപ്പ് അക്ഷരസഞ്ചയം</comment> - <comment xml:lang="mr">SNF बिटमॅप फॉन्ट</comment> - <comment xml:lang="nb">SNF bitmapskrift</comment> - <comment xml:lang="nds">SNF-Pixelbild-Schriftoort</comment> - <comment xml:lang="nl">SNF-bitmap-lettertype</comment> - <comment xml:lang="nn">SNF-punktskrift</comment> - <comment xml:lang="pa">SNF ਬਿੱਟਮੈਪ ਫੋਂਟ</comment> - <comment xml:lang="pl">Czcionka bitmapowa SNF</comment> - <comment xml:lang="pt">Tipo de letra por imagens SNF</comment> - <comment xml:lang="pt_BR">Fonte bitmap SNF</comment> - <comment xml:lang="ro">Font SNF hartă de biți</comment> - <comment xml:lang="ru">растровый шрифт SNF</comment> - <comment xml:lang="se">SNF-fonta</comment> - <comment xml:lang="sk">Bitmapové písmo SNF</comment> - <comment xml:lang="sl">Bitna pisava SNF</comment> - <comment xml:lang="sr">СНФ битмапски фонт</comment> - <comment xml:lang="sr@ijekavian">СНФ битмапски фонт</comment> - <comment xml:lang="sr@ijekavianlatin">SNF bitmapski font</comment> - <comment xml:lang="sr@latin">SNF bitmapski font</comment> - <comment xml:lang="sv">SNF punktavbildat teckensnitt</comment> - <comment xml:lang="th">แบบอักษรบิตแมปรูปแบบ SNF</comment> - <comment xml:lang="tr">SNF bitmap yazı tipi</comment> - <comment xml:lang="ug">SNF بىت سۈرەت خەت نۇسخىسى</comment> - <comment xml:lang="uk">растровий файл SNF</comment> - <comment xml:lang="zh_CN">SNF 点阵字体</comment> - <comment xml:lang="zh_TW">SNF Bitmap 字型</comment> <glob pattern="*.snf"/> <glob pattern="*.snf.Z"/> <glob pattern="*.snf.gz"/> </mime-type> <mime-type type="application/x-java-applet"> <comment>Java applet</comment> - <comment xml:lang="ar">بريمج جافا</comment> - <comment xml:lang="ast">Miniaplicación Java</comment> - <comment xml:lang="bg">Аплет на Java</comment> - <comment xml:lang="bs">JAVA aplet</comment> - <comment xml:lang="ca">miniaplicació Java</comment> - <comment xml:lang="ca@valencia">miniaplicació Java</comment> - <comment xml:lang="cs">Java applet</comment> - <comment xml:lang="da">Java applet</comment> - <comment xml:lang="de">Java-Miniprogramm</comment> - <comment xml:lang="el">Μικροεφαρμογή Java</comment> - <comment xml:lang="en_GB">Java applet</comment> - <comment xml:lang="es">Miniaplicación Java</comment> - <comment xml:lang="et">Java aplett</comment> - <comment xml:lang="eu">Java appleta</comment> - <comment xml:lang="fi">Java-sovelma</comment> - <comment xml:lang="fr">Applet Java</comment> - <comment xml:lang="ga">Feidhmchláirín Java</comment> - <comment xml:lang="gl">Applet de Java</comment> - <comment xml:lang="hr">Java applet</comment> - <comment xml:lang="hu">Java-kisalkalmazás</comment> - <comment xml:lang="ia">Applet Java</comment> - <comment xml:lang="is">Java forritlingur</comment> - <comment xml:lang="it">applet Java</comment> - <comment xml:lang="ja">Java アプレット</comment> - <comment xml:lang="kk">Java апплеті</comment> - <comment xml:lang="km">អាប់ភ្លេត Java</comment> - <comment xml:lang="ko">자바 애플릿</comment> - <comment xml:lang="lt">Java įskiepis</comment> - <comment xml:lang="lv">Java sīklietotne</comment> - <comment xml:lang="ml">ജാവ ആപ്പ്ലെറ്റ്</comment> - <comment xml:lang="mr">जावा एप्लेट</comment> - <comment xml:lang="nb">Java applet</comment> - <comment xml:lang="nds">Java-Lüttprogramm</comment> - <comment xml:lang="nl">Java-applet</comment> - <comment xml:lang="nn">Java-applett</comment> - <comment xml:lang="pa">ਜਾਵਾ ਐਪਲਿਟ</comment> - <comment xml:lang="pl">Aplet Javy</comment> - <comment xml:lang="pt">'Applet' de Java</comment> - <comment xml:lang="pt_BR">Miniaplicativo Java</comment> - <comment xml:lang="ro">Miniaplicație Java</comment> - <comment xml:lang="ru">Java-апплет</comment> - <comment xml:lang="se">Javaprográmmaš</comment> - <comment xml:lang="sk">Java applet</comment> - <comment xml:lang="sl">Aplet Java</comment> - <comment xml:lang="sq">Miniapliaktiv Java</comment> - <comment xml:lang="sr">јавански аплет</comment> - <comment xml:lang="sr@ijekavian">јавански аплет</comment> - <comment xml:lang="sr@ijekavianlatin">javanski aplet</comment> - <comment xml:lang="sr@latin">javanski aplet</comment> - <comment xml:lang="sv">Java-miniprogram</comment> - <comment xml:lang="th">จาวาแอพเพล็ต</comment> - <comment xml:lang="tr">Java programcığı</comment> - <comment xml:lang="ug">Java قوللانچاق</comment> - <comment xml:lang="uk">аплет Java</comment> - <comment xml:lang="zh_CN">Java 小程序</comment> - <comment xml:lang="zh_TW">Java applet</comment> </mime-type> <mime-type type="application/x-khtml-adaptor"> <comment>KHTML Extension Adaptor</comment> - <comment xml:lang="ar">مكيف الامتدادات KHTML</comment> - <comment xml:lang="ast">Adautador d'estensión de KHTML</comment> - <comment xml:lang="bs">KHTML‑ov adapter proširenja</comment> - <comment xml:lang="ca">Adaptador de l'extensió KHTML</comment> - <comment xml:lang="ca@valencia">adaptador d'extensió KHTML</comment> - <comment xml:lang="cs">Adaptér pro KHTML rozšíření</comment> - <comment xml:lang="da">KHTML udvidelsesadapter</comment> - <comment xml:lang="de">Adapter für KHTML-Erweiterungen</comment> - <comment xml:lang="el">Προσαρμογέας επέκτασης KHTML</comment> - <comment xml:lang="en_GB">KHTML Extension Adaptor</comment> - <comment xml:lang="es">Adaptador de extensión de KHTML</comment> - <comment xml:lang="et">KHTML-i laiendi adapter</comment> - <comment xml:lang="eu">KHTML hedapen adaptadorea</comment> - <comment xml:lang="fi">KHTML-laajennussovitin</comment> - <comment xml:lang="fr">Adaptateur d'extension KHTML</comment> - <comment xml:lang="ga">Cuibheoir Eisínteacht KHTML</comment> - <comment xml:lang="gl">Adaptador de extensión de KHTML</comment> - <comment xml:lang="hr">KHTML adapter proširenja</comment> - <comment xml:lang="hu">KHTML-es kiterjesztéskezelő</comment> - <comment xml:lang="ia">Adaptator pro KHTML Extension</comment> - <comment xml:lang="is">Aðlögun KHTML-endinga</comment> - <comment xml:lang="it">adattatore di estensioni di KHTML</comment> - <comment xml:lang="ja">KHTML エクステンションアダプタ</comment> - <comment xml:lang="kk">KHTML кеңейтулер адаптері</comment> - <comment xml:lang="km">អាដាប់ទ័រផ្នែកបន្ថែមរបស់ KHTML</comment> - <comment xml:lang="ko">KHTML 확장 기능 어댑터</comment> - <comment xml:lang="lt">KHTML praplėtimų adapteris</comment> - <comment xml:lang="lv">KHTML paplašinājumu adapteris</comment> - <comment xml:lang="ml">കെഎച്ച്ടിഎംഎല് എക്സ്റ്റന്ഷന് അഡാപ്റ്റര്</comment> - <comment xml:lang="mr">KHTML एक्सटेंशन एडॅप्टर</comment> - <comment xml:lang="nb">KHTML-filutvidelsesadapter</comment> - <comment xml:lang="nds">Koppelsteed för KHTML-Verwiedern</comment> - <comment xml:lang="nl">KHTML-extensie aanpassen</comment> - <comment xml:lang="nn">KHTML-utvidingstilpassar</comment> - <comment xml:lang="pa">KHTML ਇਕਸਟੈਨਸ਼ਨ ਅਡੋਪਟਰ</comment> - <comment xml:lang="pl">Adapter rozszerzeń KHTML</comment> - <comment xml:lang="pt">Adaptador de Extensões do KHTML</comment> - <comment xml:lang="pt_BR">Adaptador de extensões do KHTML</comment> - <comment xml:lang="ro">Adaptor de extensii KHTML</comment> - <comment xml:lang="ru">адаптер расширений KHTML</comment> - <comment xml:lang="se">KHTML-viiddádusheiveheaddji</comment> - <comment xml:lang="sk">KHTML adaptér prípon</comment> - <comment xml:lang="sl">Prilagodilnik razširitve KHTML</comment> - <comment xml:lang="sr">КХТМЛ‑ов адаптер проширења</comment> - <comment xml:lang="sr@ijekavian">КХТМЛ‑ов адаптер проширења</comment> - <comment xml:lang="sr@ijekavianlatin">KHTML‑ov adapter proširenja</comment> - <comment xml:lang="sr@latin">KHTML‑ov adapter proširenja</comment> - <comment xml:lang="sv">KHTML-utökningsanpassning</comment> - <comment xml:lang="tr">KHTML Eklenti Bağdaştırıcısı</comment> - <comment xml:lang="ug">KHTML كېڭەيتىلمە ماسلاشتۇرغۇچ</comment> - <comment xml:lang="uk">адаптер розширень KHTML</comment> - <comment xml:lang="zh_CN">KHTML 扩展适配器</comment> - <comment xml:lang="zh_TW">KHTML 延伸裝置</comment> </mime-type> <mime-type type="application/x-kcsrc"> <comment>KDE color scheme</comment> - <comment xml:lang="ar">مخطط ألوان كدي</comment> - <comment xml:lang="ast">Esquema de color de KDE</comment> - <comment xml:lang="bg">Цветова схема за KDE</comment> - <comment xml:lang="bs">KDE šema boja</comment> - <comment xml:lang="ca">esquema de color del KDE</comment> - <comment xml:lang="ca@valencia">esquema de color del KDE</comment> - <comment xml:lang="cs">Barevné schéma KDE</comment> - <comment xml:lang="da">KDE farvetema</comment> - <comment xml:lang="de">KDE-Farbschema</comment> - <comment xml:lang="el">Θέμα χρωμάτων KDE</comment> - <comment xml:lang="en_GB">KDE colour scheme</comment> - <comment xml:lang="es">Esquema de color de KDE</comment> - <comment xml:lang="et">KDE värviskeem</comment> - <comment xml:lang="eu">KDE kolore eskema</comment> - <comment xml:lang="fi">KDE-värimalli</comment> - <comment xml:lang="fr">Schéma de couleurs KDE</comment> - <comment xml:lang="ga">Téama dathanna de chuid KDE</comment> - <comment xml:lang="gl">Esquema de cores de KDE</comment> - <comment xml:lang="hr">KDE-ova paleta boja</comment> - <comment xml:lang="hu">KDE-színséma</comment> - <comment xml:lang="ia">Schema de color KDE</comment> - <comment xml:lang="is">KDE litastef</comment> - <comment xml:lang="it">schema di colori di KDE</comment> - <comment xml:lang="ja">KDE 色スキーム</comment> - <comment xml:lang="kk">KDE түстер сұлбасы</comment> - <comment xml:lang="km">គ្រោងពណ៌របស់ KDE</comment> - <comment xml:lang="ko">KDE 색 배열</comment> - <comment xml:lang="lt">KDE spalvų schema</comment> - <comment xml:lang="lv">KDE krāsu shēma</comment> - <comment xml:lang="ml">കെഡിഇ നിറക്കൂട്ട്</comment> - <comment xml:lang="mr">केडीई रंग सुत्रयोजना</comment> - <comment xml:lang="nb">KDE fargeskjema</comment> - <comment xml:lang="nds">KDE-Klöörschema</comment> - <comment xml:lang="nl">KDE-kleurenschema</comment> - <comment xml:lang="nn">KDE-fargeoppsett</comment> - <comment xml:lang="pa">KDE ਰੰਗ ਸਕੀਮ</comment> - <comment xml:lang="pl">Zestaw kolorów KDE</comment> - <comment xml:lang="pt">Esquema de cores do KDE</comment> - <comment xml:lang="pt_BR">Esquema de cores do KDE</comment> - <comment xml:lang="ro">Schemă de culori KDE</comment> - <comment xml:lang="ru">цветовая схема KDE</comment> - <comment xml:lang="se">KDE-ivdnečoahkkádus</comment> - <comment xml:lang="sk">Farebná schéma KDE</comment> - <comment xml:lang="sl">Barvna shema KDE</comment> - <comment xml:lang="sr">КДЕ шема боја</comment> - <comment xml:lang="sr@ijekavian">КДЕ шема боја</comment> - <comment xml:lang="sr@ijekavianlatin">KDE šema boja</comment> - <comment xml:lang="sr@latin">KDE šema boja</comment> - <comment xml:lang="sv">KDE-färgschema</comment> - <comment xml:lang="th">ชุดสีของ KDE</comment> - <comment xml:lang="tr">KDE renk şeması</comment> - <comment xml:lang="ug">KDE رەڭ لايىھىسى</comment> - <comment xml:lang="uk">схема кольорів KDE</comment> - <comment xml:lang="zh_CN">KDE 配色方案</comment> - <comment xml:lang="zh_TW">KDE 顏色機制</comment> <acronym>KDE</acronym> <expanded-acronym>K Desktop Environment</expanded-acronym> <glob pattern="*.kcsrc"/> @@ -430,119 +48,10 @@ <mime-type type="application/x-kns"> <sub-class-of type="application/zip"/> <comment>KNewStuff package</comment> - <comment xml:lang="ar">حزمة KNewStuff</comment> - <comment xml:lang="ast">Paquete de KNewStuff</comment> - <comment xml:lang="bs">paket K‑svežih-novotarija</comment> - <comment xml:lang="ca">paquet del KNewStuff</comment> - <comment xml:lang="ca@valencia">paquet del KNewStuff</comment> - <comment xml:lang="cs">Balíček KNewStuff</comment> - <comment xml:lang="da">KNewStuff-pakke</comment> - <comment xml:lang="de">KNewStuff-Paket</comment> - <comment xml:lang="el">Πακέτο KNewStuff</comment> - <comment xml:lang="en_GB">KNewStuff package</comment> - <comment xml:lang="es">Paquete de KNewStuff</comment> - <comment xml:lang="et">KNewStuffi pakett</comment> - <comment xml:lang="eu">KNewStuff paketea</comment> - <comment xml:lang="fi">KNewStuff-paketti</comment> - <comment xml:lang="fr">Paquet « KNewStuff »</comment> - <comment xml:lang="ga">Pacáiste KNewStuff</comment> - <comment xml:lang="gl">Paquete de KNewStuff</comment> - <comment xml:lang="hr">KNewStuff paket</comment> - <comment xml:lang="hu">KNewStuff-csomag</comment> - <comment xml:lang="ia">KNewStuff: Pacchetto</comment> - <comment xml:lang="is">KNewStuff pakki</comment> - <comment xml:lang="it">pacchetto di KNewStuff</comment> - <comment xml:lang="ja">KNewStuff パッケージ</comment> - <comment xml:lang="kk">KNewStuff дестесі</comment> - <comment xml:lang="km">កញ្ចប់ KNewStuff</comment> - <comment xml:lang="ko">KNewStuff 패키지</comment> - <comment xml:lang="lt">KNewStuff paketas</comment> - <comment xml:lang="lv">KNewStuff pakotne</comment> - <comment xml:lang="ml">കെന്യൂസ്റ്റഫ് പാക്കേജ്</comment> - <comment xml:lang="mr">के-न्यु-स्टफ पॅकेज</comment> - <comment xml:lang="nb">KNewStuff-pakke</comment> - <comment xml:lang="nds">KNewStuff-Paket</comment> - <comment xml:lang="nl">KNewStuff-pakket</comment> - <comment xml:lang="nn">KNewStuff-pakke</comment> - <comment xml:lang="pa">KNewStuff ਪੈਕੇਜ</comment> - <comment xml:lang="pl">Pakiet KNewStuff</comment> - <comment xml:lang="pt">Pacote do KNewStuff</comment> - <comment xml:lang="pt_BR">Pacote do KNewStuff</comment> - <comment xml:lang="ro">pachet KNewStuff</comment> - <comment xml:lang="ru">пакет KNewStuff</comment> - <comment xml:lang="se">KNewStuff páhkka</comment> - <comment xml:lang="sk">Balíček KNewStuff</comment> - <comment xml:lang="sl">Paket KNewStuff</comment> - <comment xml:lang="sr">пакет К‑свежих-новотарија</comment> - <comment xml:lang="sr@ijekavian">пакет К‑свежих-новотарија</comment> - <comment xml:lang="sr@ijekavianlatin">paket K‑svežih-novotarija</comment> - <comment xml:lang="sr@latin">paket K‑svežih-novotarija</comment> - <comment xml:lang="sv">Heta nyheter-paket</comment> - <comment xml:lang="th">แพกเกจ KNewStuff</comment> - <comment xml:lang="tr">KNewStuff paketi</comment> - <comment xml:lang="ug">KNewStuff بوغچا</comment> - <comment xml:lang="uk">пакунок KNewStuff</comment> - <comment xml:lang="zh_CN">KNewStuff 包</comment> - <comment xml:lang="zh_TW">KNewStuff 套件</comment> <glob pattern="*.kns"/> </mime-type> <mime-type type="application/x-kwallet"> <!-- fdo #6326 rejected, will stay KDE-specific --> <comment>KWallet wallet</comment> - <comment xml:lang="ar">حافظة KWallet</comment> - <comment xml:lang="ast">Cartera de KWallet</comment> - <comment xml:lang="bg">Портфейл KWallet</comment> - <comment xml:lang="bs">K‑novčanikov novčanik</comment> - <comment xml:lang="ca">cartera del KWallet</comment> - <comment xml:lang="ca@valencia">cartera del KWallet</comment> - <comment xml:lang="cs">Schránka KWallet</comment> - <comment xml:lang="da">Tegnebog til KWallet</comment> - <comment xml:lang="de">KWallet-Passwortspeicher</comment> - <comment xml:lang="el">Πορτοφόλι KWallet</comment> - <comment xml:lang="en_GB">KWallet wallet</comment> - <comment xml:lang="es">Cartera de KWallet</comment> - <comment xml:lang="et">KWalleti turvalaegas</comment> - <comment xml:lang="eu">KWallet zorroa</comment> - <comment xml:lang="fi">KWallet-lompakko</comment> - <comment xml:lang="fr">Portefeuille KWallet</comment> - <comment xml:lang="ga">Sparán KWallet</comment> - <comment xml:lang="gl">Carteira de KWallet</comment> - <comment xml:lang="hr">KWallet lisnica</comment> - <comment xml:lang="hu">KWallet-jelszófájl</comment> - <comment xml:lang="ia">Kwallet :portafolio</comment> - <comment xml:lang="is">KWallet veski</comment> - <comment xml:lang="it">Portafogli di KDE</comment> - <comment xml:lang="ja">KWallet ウォレット</comment> - <comment xml:lang="kk">KWallet әмияны</comment> - <comment xml:lang="km">កាបូបរបស់ KWallet</comment> - <comment xml:lang="ko">KWallet 지갑</comment> - <comment xml:lang="lt">KWallet piniginė</comment> - <comment xml:lang="lv">KWallet maks</comment> - <comment xml:lang="ml">കെവാലറ്റ് മടിശ്ശീല</comment> - <comment xml:lang="mr">के-वॉलेट पाकीट</comment> - <comment xml:lang="nb">KWallet lommebok</comment> - <comment xml:lang="nds">KWallet-Knipp</comment> - <comment xml:lang="nl">KWallet-portefeuille</comment> - <comment xml:lang="nn">KWallet-lommebok</comment> - <comment xml:lang="pa">KWallet ਵਾਲਿਟ</comment> - <comment xml:lang="pl">Portfel KDE</comment> - <comment xml:lang="pt">Carteira da KWallet</comment> - <comment xml:lang="pt_BR">Carteira do KWallet</comment> - <comment xml:lang="ro">Portofel KWallet</comment> - <comment xml:lang="ru">бумажник KWallet</comment> - <comment xml:lang="se">KWallet bursa</comment> - <comment xml:lang="sk">KWallet wallet</comment> - <comment xml:lang="sl">Listnica za KDE</comment> - <comment xml:lang="sr">К‑новчаников новчаник</comment> - <comment xml:lang="sr@ijekavian">К‑новчаников новчаник</comment> - <comment xml:lang="sr@ijekavianlatin">K‑novčanikov novčanik</comment> - <comment xml:lang="sr@latin">K‑novčanikov novčanik</comment> - <comment xml:lang="sv">Kwallet-plånbok</comment> - <comment xml:lang="th">กระเป๋าของ 'กระเป๋าคุมข้อมูล-K'</comment> - <comment xml:lang="tr">KWallet cüzdanı</comment> - <comment xml:lang="ug">KWallet ھەميانى</comment> - <comment xml:lang="uk">торбинка KWallet</comment> - <comment xml:lang="zh_CN">KWallet 钱包</comment> - <comment xml:lang="zh_TW">KWallet 錢包</comment> <magic priority="80"> <match type="string" value="KWALLET" offset="0"/> </magic> @@ -550,172 +59,15 @@ </mime-type> <mime-type type="application/x-kudesigner"> <comment>Kugar report template</comment> - <comment xml:lang="ar">قالب تقرير Kugar</comment> - <comment xml:lang="ast">Plantía d'informe de Kugar</comment> - <comment xml:lang="bs">Kugarov šablon izvještaja</comment> - <comment xml:lang="ca">plantilla d'informe del Kugar</comment> - <comment xml:lang="ca@valencia">plantilla d'informe del Kugar</comment> - <comment xml:lang="cs">Šablona hlášení Kugar</comment> - <comment xml:lang="da">Kugar rapportskabelon</comment> - <comment xml:lang="de">Kugar-Berichtsvorlage</comment> - <comment xml:lang="el">Πρότυπο αναφοράς Kugar</comment> - <comment xml:lang="en_GB">Kugar report template</comment> - <comment xml:lang="es">Plantilla de informe de Kugar</comment> - <comment xml:lang="et">Kugari aruandemall</comment> - <comment xml:lang="eu">Kugar txosten-txantiloia</comment> - <comment xml:lang="fi">Kugar-raporttipohja</comment> - <comment xml:lang="fr">Modèle de rapport Kugar</comment> - <comment xml:lang="ga">Teimpléad tuarascála Kugar</comment> - <comment xml:lang="gl">Modelo de informe de Kugar</comment> - <comment xml:lang="hr">Kugar predložak izvještaja</comment> - <comment xml:lang="hu">Kugar-jelentéssablon</comment> - <comment xml:lang="ia">Kugar : patrono de reporto</comment> - <comment xml:lang="is">Kugar skýrslugerðarforsnið</comment> - <comment xml:lang="it">modello di rapporto di Kugar</comment> - <comment xml:lang="ja">Kugar レポートテンプレート</comment> - <comment xml:lang="kk">Kugar есеп беру үлгісі</comment> - <comment xml:lang="km">ពុម្ពរបាយការណ៍របស់ Kugar</comment> - <comment xml:lang="ko">Kugar 보고서 템플릿</comment> - <comment xml:lang="lt">Kugar ataskaitos šablonas</comment> - <comment xml:lang="lv">Kugar atskaites sagatave</comment> - <comment xml:lang="ml">കുഗാര് അറിയിപ്പ് ഫലകം</comment> - <comment xml:lang="mr">कुगर रिपोर्ट नमूना</comment> - <comment xml:lang="nb">Kugar rapportmal</comment> - <comment xml:lang="nds">Kugar-Berichtvörlaag</comment> - <comment xml:lang="nl">Kugar-rapportsjabloon</comment> - <comment xml:lang="nn">Rapportmal for Kugar</comment> - <comment xml:lang="pa">Kugar ਰਿਪੋਰਟ ਟੈਪਲੇਟ</comment> - <comment xml:lang="pl">Szablon raportu Kugara</comment> - <comment xml:lang="pt">Modelo de relatórios do Kugar</comment> - <comment xml:lang="pt_BR">Modelo de relatório do Kugar</comment> - <comment xml:lang="ro">șablon de raport Kugar</comment> - <comment xml:lang="ru">шаблон отчёта Kugar</comment> - <comment xml:lang="se">Kugar raportamálle</comment> - <comment xml:lang="sk">Reportovacia šablóna Kugar</comment> - <comment xml:lang="sl">Predloga za poročila Kugar</comment> - <comment xml:lang="sr">Кугаров шаблон извештаја</comment> - <comment xml:lang="sr@ijekavian">Кугаров шаблон извештаја</comment> - <comment xml:lang="sr@ijekavianlatin">Kugarov šablon izveštaja</comment> - <comment xml:lang="sr@latin">Kugarov šablon izveštaja</comment> - <comment xml:lang="sv">Kugar-rapportmall</comment> - <comment xml:lang="th">แม่แบบรายงานของ Kugar</comment> - <comment xml:lang="tr">Kugar rapor şablonu</comment> - <comment xml:lang="ug">Kugar دوكلات قېلىپى</comment> - <comment xml:lang="uk">шаблон звіту Kugar</comment> - <comment xml:lang="zh_CN">Kugar 报表模板</comment> - <comment xml:lang="zh_TW">Kugar 報告樣本</comment> <glob pattern="*.kut"/> </mime-type> <mime-type type="application/x-mimearchive"> <comment>mime encapsulated web archive</comment> - <comment xml:lang="ar">نوع ملفات يغلف أرشف ويب</comment> - <comment xml:lang="ast">ficheru web encapsuláu mime</comment> - <comment xml:lang="bs">MIME učaurena veb arhiva</comment> - <comment xml:lang="ca">arxiu web encapsulat en MIME</comment> - <comment xml:lang="ca@valencia">arxiu web encapsulat en MIME</comment> - <comment xml:lang="cs">web archív zapouzdřený v MIME</comment> - <comment xml:lang="da">MIME-indkapslet webarkiv</comment> - <comment xml:lang="de">MIME-ummanteltes Web-Archiv</comment> - <comment xml:lang="el">εσωκλειόμενο μήνυμα mime αρχειοθήκης ιστοσελίδας</comment> - <comment xml:lang="en_GB">mime encapsulated web archive</comment> - <comment xml:lang="es">archivo web encapsulado mime</comment> - <comment xml:lang="et">MIME kapselduses veebiarhiiv</comment> - <comment xml:lang="eu">mime kaptsulatutako web artxiboa</comment> - <comment xml:lang="fi">MIME-kapseloitu web-arkisto</comment> - <comment xml:lang="fr">Archive Web encapsulée MIME</comment> - <comment xml:lang="ga">cartlann Ghréasáin cuachta mar MIME</comment> - <comment xml:lang="gl">arquivo web mime encapsulado</comment> - <comment xml:lang="hr">mime enkapsulirana mrežna arhiva</comment> - <comment xml:lang="hu">MIME formátumú webes archívum</comment> - <comment xml:lang="ia">mime : archivo web encapsulate</comment> - <comment xml:lang="is">MIME-formað vefskráasafn</comment> - <comment xml:lang="it">archivio Web incapsulato in MIME</comment> - <comment xml:lang="ja">mime カプセル化された web アーカイブ</comment> - <comment xml:lang="kk">MIME инкапсуляцияланған веб-архиві</comment> - <comment xml:lang="km">ប័ណ្ណសារបណ្ដាញដែលបានស្រោបរបស់ mime</comment> - <comment xml:lang="ko">MIME 캡슐화된 웹 압축 파일</comment> - <comment xml:lang="lt">į mime įdėtas žiniatinklio archyvas</comment> - <comment xml:lang="lv">mime iekapsilēts tīmekļa arhīvs</comment> - <comment xml:lang="ml">സംക്ഷേപിച്ച മൈം വെബ് ശേഖരം</comment> - <comment xml:lang="mr">mime असलेला वेब संग्रह</comment> - <comment xml:lang="nb">mime-innkapslet nettarkiv</comment> - <comment xml:lang="nds">MIME-inkapselt Nettarchiev</comment> - <comment xml:lang="nl">mime-ingekapseld webarchief</comment> - <comment xml:lang="nn">MIME-innkapsla vevarkiv</comment> - <comment xml:lang="pl">archiwum WWW w kodowaniu MIME</comment> - <comment xml:lang="pt">pacote Web encapsulado em MIME</comment> - <comment xml:lang="pt_BR">Arquivo web encapsulado em MIME</comment> - <comment xml:lang="ro">arhivă web încapsulată mime</comment> - <comment xml:lang="ru">веб-архив</comment> - <comment xml:lang="sk">web archív zapuzdrený v MIME</comment> - <comment xml:lang="sl">spletni arhiv vložen po MIME</comment> - <comment xml:lang="sr">МИМЕ учаурена веб архива</comment> - <comment xml:lang="sr@ijekavian">МИМЕ учаурена веб архива</comment> - <comment xml:lang="sr@ijekavianlatin">MIME učaurena veb arhiva</comment> - <comment xml:lang="sr@latin">MIME učaurena veb arhiva</comment> - <comment xml:lang="sv">MIME-inkapslat webbarkiv</comment> - <comment xml:lang="tr">kapsüllenmiş web arşivi</comment> - <comment xml:lang="ug">كاپسۇللانغان mime تور بەت ئارخىپى</comment> - <comment xml:lang="uk">інкапсульований вебархів MIME</comment> - <comment xml:lang="zh_CN">封装 MIME 的网页归档</comment> - <comment xml:lang="zh_TW">MIME 封裝網頁歸檔</comment> <glob pattern="*.mhtml"/> <glob pattern="*.mht"/> </mime-type> <mime-type type="application/x-nzb"> <!-- fdo #10029 --> <comment>NewzBin usenet index</comment> - <comment xml:lang="ar">فهرس يوزنت NewzBin</comment> - <comment xml:lang="ast">Índiz usenet de NewzBin</comment> - <comment xml:lang="bs">NewzBinov indeks Useneta</comment> - <comment xml:lang="ca">índex usenet NewzBin</comment> - <comment xml:lang="ca@valencia">índex usenet NewzBin</comment> - <comment xml:lang="cs">Index NewzBin usenet</comment> - <comment xml:lang="da">NewzBin usenet-indeks</comment> - <comment xml:lang="de">NewzBin-Usenet-Index</comment> - <comment xml:lang="el">Ευρετήριο νέων NewzBin</comment> - <comment xml:lang="en_GB">NewzBin usenet index</comment> - <comment xml:lang="es">Índice usenet de NewzBin</comment> - <comment xml:lang="et">NewzBini useneti indeks</comment> - <comment xml:lang="eu">NewzBin usenet indizea</comment> - <comment xml:lang="fi">NewzBin-keskusteluryhmäindeksi</comment> - <comment xml:lang="fr">Index Usenet de NewzBin</comment> - <comment xml:lang="ga">Innéacs usenet NewzBin</comment> - <comment xml:lang="gl">Índice da usenet de NewsBin</comment> - <comment xml:lang="hr">NewzBin usenet indeks</comment> - <comment xml:lang="hu">NewzBin Usenet-index</comment> - <comment xml:lang="ia">Indice usenet de NewzBiz</comment> - <comment xml:lang="is">NewzBin usenet yfirlit</comment> - <comment xml:lang="it">indice Usenet di NewzBin</comment> - <comment xml:lang="ja">NewzBin usenet インデックス</comment> - <comment xml:lang="kk">NewzBin usenet индексі</comment> - <comment xml:lang="km">លិបិក្រមបណ្ដាញប្រើរបស់ NewzBin</comment> - <comment xml:lang="ko">NewzBin 유즈넷 인덱스</comment> - <comment xml:lang="lt">NewzBin usenet indeksas</comment> - <comment xml:lang="lv">NewzBin usenet indekss</comment> - <comment xml:lang="ml">ന്യൂസ്ബിന് യൂസ്നെറ്റ് സൂചിക</comment> - <comment xml:lang="mr">न्युझबिन युजनेट अनुक्रमणिका </comment> - <comment xml:lang="nb">NewzBin usenet index</comment> - <comment xml:lang="nds">NewzBin-Usenet-Index</comment> - <comment xml:lang="nl">NewzBin-usenet-index</comment> - <comment xml:lang="nn">NewzBin-temagruppeindeks</comment> - <comment xml:lang="pl">Indeks grup dyskusyjnych NewzBin</comment> - <comment xml:lang="pt">Índice de notícias do NewzBin</comment> - <comment xml:lang="pt_BR">Índice de notícias do NewzBin</comment> - <comment xml:lang="ro">index usenet NewzBin</comment> - <comment xml:lang="ru">индекс Usenet для NewzBin</comment> - <comment xml:lang="se">NewzBin usenetindeaksa</comment> - <comment xml:lang="sk">NewzBin usenet index</comment> - <comment xml:lang="sl">Kazalo novičarskih skupin NewzBin</comment> - <comment xml:lang="sr">Њузбинов индекс јузнета</comment> - <comment xml:lang="sr@ijekavian">Њузбинов индекс јузнета</comment> - <comment xml:lang="sr@ijekavianlatin">NewzBinov indeks Useneta</comment> - <comment xml:lang="sr@latin">NewzBinov indeks Useneta</comment> - <comment xml:lang="sv">Newzbin-diskussionsgruppindex</comment> - <comment xml:lang="tr">NewzBin usenet dizini</comment> - <comment xml:lang="ug">NewzBin usenet ئىندېكس</comment> - <comment xml:lang="uk">покажчик usenet NewzBin</comment> - <comment xml:lang="zh_CN">NewzBin usenet 索引</comment> - <comment xml:lang="zh_TW">NewzBin usenet 索引</comment> <sub-class-of type="application/xml"/> <magic priority="80"> <match type="string" value="<nzb" offset="0:256"/> @@ -725,752 +77,57 @@ <mime-type type="application/x-plasma"> <sub-class-of type="application/zip"/> <comment>plasmoid</comment> - <comment xml:lang="ar">بلازمود</comment> - <comment xml:lang="ast">plasmoide</comment> - <comment xml:lang="bs">plazmoid</comment> - <comment xml:lang="ca">plasmoide</comment> - <comment xml:lang="ca@valencia">plasmoide</comment> - <comment xml:lang="cs">plasmoid</comment> - <comment xml:lang="da">plasmoid</comment> - <comment xml:lang="de">Plasmoid</comment> - <comment xml:lang="el">πλασμοειδές</comment> - <comment xml:lang="en_GB">plasmoid</comment> - <comment xml:lang="es">plasmoide</comment> - <comment xml:lang="et">plasmoid</comment> - <comment xml:lang="eu">plasmoid-a</comment> - <comment xml:lang="fi">plasmoidi</comment> - <comment xml:lang="fr">composant graphique</comment> - <comment xml:lang="ga">plasmóid</comment> - <comment xml:lang="gl">plasmoide</comment> - <comment xml:lang="hr">plasmoid</comment> - <comment xml:lang="hu">plazmoid</comment> - <comment xml:lang="ia">plasmoid</comment> - <comment xml:lang="is">plasmíð</comment> - <comment xml:lang="it">plasmoide</comment> - <comment xml:lang="ja">plasmoid</comment> - <comment xml:lang="kk">-лері</comment> - <comment xml:lang="km">plasmoid</comment> - <comment xml:lang="ko">plasmoid</comment> - <comment xml:lang="lt">plazmoidas</comment> - <comment xml:lang="lv">plazmoīds</comment> - <comment xml:lang="ml">പ്ലാസ്മോയിഡ്</comment> - <comment xml:lang="mr">प्लाज्मोइड</comment> - <comment xml:lang="nb">plasmoid</comment> - <comment xml:lang="nds">Plasma-Lüttprogramm</comment> - <comment xml:lang="nl">plasmoid</comment> - <comment xml:lang="nn">plasmoide</comment> - <comment xml:lang="pa">ਪਲਾਜ਼ਮੋਡ</comment> - <comment xml:lang="pl">plazmoid</comment> - <comment xml:lang="pt">plasmóide</comment> - <comment xml:lang="pt_BR">plasmoide</comment> - <comment xml:lang="ro">plasmoid</comment> - <comment xml:lang="ru">виджет</comment> - <comment xml:lang="se">plasmoida</comment> - <comment xml:lang="sk">plasmoid</comment> - <comment xml:lang="sl">plasmoid</comment> - <comment xml:lang="sq">plasmoid</comment> - <comment xml:lang="sr">плазмоид</comment> - <comment xml:lang="sr@ijekavian">плазмоид</comment> - <comment xml:lang="sr@ijekavianlatin">plazmoid</comment> - <comment xml:lang="sr@latin">plazmoid</comment> - <comment xml:lang="sv">plasmoid</comment> - <comment xml:lang="th">พลาสมอยด์</comment> - <comment xml:lang="tr">plasma programcığı</comment> - <comment xml:lang="ug">plasmoid</comment> - <comment xml:lang="uk">плазмоїд</comment> - <comment xml:lang="zh_CN">plasmoid</comment> - <comment xml:lang="zh_TW">Plasma 小程式</comment> <glob pattern="*.plasmoid"/> </mime-type> <mime-type type="application/x-superkaramba"> <sub-class-of type="application/zip"/> <comment>SuperKaramba theme</comment> - <comment xml:lang="ar">سمة SuperKaramba</comment> - <comment xml:lang="ast">Tema de SuperKaramba</comment> - <comment xml:lang="bg">Тема за SuperKaramba</comment> - <comment xml:lang="bs">superkaramba tema</comment> - <comment xml:lang="ca">tema del SuperKaramba</comment> - <comment xml:lang="ca@valencia">tema del SuperKaramba</comment> - <comment xml:lang="cs">Motiv Superkaramba</comment> - <comment xml:lang="da">SuperKaramba-tema</comment> - <comment xml:lang="de">SuperKaramba-Design</comment> - <comment xml:lang="el">Θέμα SuperKaramba</comment> - <comment xml:lang="en_GB">SuperKaramba theme</comment> - <comment xml:lang="es">Tema de SuperKaramba</comment> - <comment xml:lang="et">SuperKaramba teema</comment> - <comment xml:lang="eu">SuperKaramba tema</comment> - <comment xml:lang="fi">SuperKaramba-teema</comment> - <comment xml:lang="fr">Thème SuperKaramba</comment> - <comment xml:lang="ga">Téama SuperKaramba</comment> - <comment xml:lang="gl">Tema de SuperKaramba</comment> - <comment xml:lang="hr">tema za SuperKarambu</comment> - <comment xml:lang="hu">SuperKaramba-téma</comment> - <comment xml:lang="ia">Thema de SuperKaramba</comment> - <comment xml:lang="is">SuperKaramba þema</comment> - <comment xml:lang="it">tema di SuperKaramba</comment> - <comment xml:lang="ja">SuperKaramba テーマ</comment> - <comment xml:lang="kk">SuperKaramba нақышы</comment> - <comment xml:lang="km">ស្បែករបស់ SuperKaramba</comment> - <comment xml:lang="ko">SuperKaramba 테마</comment> - <comment xml:lang="lt">SuperKaramba tema</comment> - <comment xml:lang="lv">SuperKaramba tēma</comment> - <comment xml:lang="ml">സൂപ്പര്കരാംബ പ്രമേയം</comment> - <comment xml:lang="mr">सुपरकरंबा शैली</comment> - <comment xml:lang="nb">SuperKaramba tema</comment> - <comment xml:lang="nds">SuperKaramba-Muster</comment> - <comment xml:lang="nl">SuperKaramba-thema</comment> - <comment xml:lang="nn">SuperKaramba-tema</comment> - <comment xml:lang="pa">ਸੁਪਰਕਰਾਮਬਾ ਥੀਮ</comment> - <comment xml:lang="pl">Motyw SuperKaramby</comment> - <comment xml:lang="pt">Tema do SuperKaramba</comment> - <comment xml:lang="pt_BR">Tema do SuperKaramba</comment> - <comment xml:lang="ro">Temă SuperKaramba</comment> - <comment xml:lang="ru">виджет SuperKaramba</comment> - <comment xml:lang="se">SuperKaramba-fáddá</comment> - <comment xml:lang="sk">Téma SuperKaramba</comment> - <comment xml:lang="sl">Tema za SuperKarambo</comment> - <comment xml:lang="sr">суперкарамба тема</comment> - <comment xml:lang="sr@ijekavian">суперкарамба тема</comment> - <comment xml:lang="sr@ijekavianlatin">superkaramba tema</comment> - <comment xml:lang="sr@latin">superkaramba tema</comment> - <comment xml:lang="sv">Superkaramba-tema</comment> - <comment xml:lang="th">ชุดตกแต่งของ SuperKaramba</comment> - <comment xml:lang="tr">SuperKaramba teması</comment> - <comment xml:lang="ug">SuperKaramba ئۆرنىكى</comment> - <comment xml:lang="uk">тема SuperKaramba</comment> - <comment xml:lang="zh_CN">SuperKaramba 主题</comment> - <comment xml:lang="zh_TW">SuperKaramba 主題</comment> <glob pattern="*.skz"/> </mime-type> <mime-type type="application/x-vnd.kde.plan"> <comment>Calligra Plan project management document</comment> - <comment xml:lang="ar">وثيقة إدارة مشاريع Calligra Plan</comment> - <comment xml:lang="bs">Calligra Plan dokument upravljanja projektima</comment> - <comment xml:lang="ca">document de gestió de projecte del Calligra Plan</comment> - <comment xml:lang="ca@valencia">document de gestió de projecte del Calligra Plan</comment> - <comment xml:lang="da">Calligra Plan projekthåndteringsdokument</comment> - <comment xml:lang="de">Calligra-Plan-Projektverwaltungdokument</comment> - <comment xml:lang="el">Έγγραφο διαχείρισης έργων Calligra Plan</comment> - <comment xml:lang="en_GB">Calligra Plan project management document</comment> - <comment xml:lang="es">Documento de gestión de proyecto de Calligra Plan</comment> - <comment xml:lang="et">Calligra Plani projektihalduse dokument</comment> - <comment xml:lang="eu">Calligra Plan proiektua kudeatzeko dokumentua</comment> - <comment xml:lang="fi">Calligra Plan -projektinhallintatiedosto</comment> - <comment xml:lang="fr">Document de gestion de projets « Calligra Plan »</comment> - <comment xml:lang="ga">Cáipéis Bhainisteoireachta Tionscadail Calligra Plan</comment> - <comment xml:lang="gl">Proxecto do Calligra Plan</comment> - <comment xml:lang="hr">Calligra Plan, dokument za upravljanje projektom</comment> - <comment xml:lang="hu">Calligra Plan projektkezelő dokumentum</comment> - <comment xml:lang="ia">Calligra Plan: Documento de gestion de projecto</comment> - <comment xml:lang="is">Calligra Plan verkstjórnunarskjal</comment> - <comment xml:lang="it">documento di gestione dei progetti di Calligra Plan</comment> - <comment xml:lang="ja">Calligra Plan プロジェクト管理文書</comment> - <comment xml:lang="kk">Calligra Plan жоба басқару құжаты</comment> - <comment xml:lang="km">ឯកសារគ្រប់គ្រងគម្រោងរបស់ Calligra</comment> - <comment xml:lang="ko">Caligra Plan 프로젝트 관리 문서</comment> - <comment xml:lang="lt">Calligra Plan projektų valdymo dokumentas</comment> - <comment xml:lang="lv">Calligra Plan projektu pārvaldības dokuments</comment> - <comment xml:lang="ml">കാലിഗ്ര രൂപരേഖ പദ്ധതി നടത്തിയിപ്പ് രേഖ</comment> - <comment xml:lang="mr">कॅलिग्रा प्लान परियोजना व्यवस्थापन दस्तऐवज</comment> - <comment xml:lang="nb">Calligra Plan prosjekstyringsdokument</comment> - <comment xml:lang="nds">Projektpleeg-Dokment för Calligra-Plan</comment> - <comment xml:lang="nl">Calligra-plan projectbeheer-document</comment> - <comment xml:lang="pa">Calligra ਸਕੀਮ ਪ੍ਰੋਜੈਕਟ ਪਰਬੰਧ ਡੌਕੂਮੈਂਟ</comment> - <comment xml:lang="pl">Dokument zarządzania projektami w Calligra Plan</comment> - <comment xml:lang="pt">Documento de gestão de projectos do Plan para o Calligra</comment> - <comment xml:lang="pt_BR">Documento de gerenciamento de projetos do Calligra Plan</comment> - <comment xml:lang="ro">document management de proiect Calligra Plan</comment> - <comment xml:lang="ru">проект Calligra Plan</comment> - <comment xml:lang="se">Calligra Plan-prošeaktahálddašandokumeanta</comment> - <comment xml:lang="sk">Dokument riadenia projektov Calligra Plan</comment> - <comment xml:lang="sl">Dokument za upravljanje projektov Calligra Plan</comment> - <comment xml:lang="sr">документ управљања пројектом Калигриног Плана</comment> - <comment xml:lang="sr@ijekavian">документ управљања пројектом Калигриног Плана</comment> - <comment xml:lang="sr@ijekavianlatin">dokument upravljanja projektom Calligrinog Plana</comment> - <comment xml:lang="sr@latin">dokument upravljanja projektom Calligrinog Plana</comment> - <comment xml:lang="sv">Calligra Plan-projekthanteringsdokument</comment> - <comment xml:lang="tr">Calligra Plan proje yönetimi belgesi</comment> - <comment xml:lang="ug">Calligra Plan قۇرۇلۇش باشقۇرۇش پۈتۈكى</comment> - <comment xml:lang="uk">документ керування роботами Plan зі складу Calligra</comment> - <comment xml:lang="zh_CN">Calligra Plan 项目管理文档</comment> - <comment xml:lang="zh_TW">Calligra Plan 專案管理文件</comment> <glob pattern="*.plan"/> </mime-type> <mime-type type="application/x-vnd.kde.plan.work"> <comment>Calligra Plan work package document</comment> - <comment xml:lang="ar">وثيقة حزمة عمل Calligra Plan</comment> - <comment xml:lang="bs">Calligra Plan dokument radnog paketa</comment> - <comment xml:lang="ca">document de paquet de treball del Calligra Plan</comment> - <comment xml:lang="ca@valencia">document de paquet de treball del Calligra Plan</comment> - <comment xml:lang="da">Calligra Plan Work Package-dokument</comment> - <comment xml:lang="de">Calligra-Plan-Arbeitspaketdokument</comment> - <comment xml:lang="el">Έγγραφο πακέτου εργασίας Calligra Plan</comment> - <comment xml:lang="en_GB">Calligra Plan work package document</comment> - <comment xml:lang="es">Documento de paquete de trabajo de Calligra Plan</comment> - <comment xml:lang="et">Calligra Plani töösuuna dokument</comment> - <comment xml:lang="eu">Calligra Plan lanerako pakete dokumentua</comment> - <comment xml:lang="fi">Calligra Plan -työpakettitiedosto</comment> - <comment xml:lang="fr">Document de lots de travaux pour « Calligra Plan »</comment> - <comment xml:lang="ga">Cáipéis phacáiste oibre Calligra Plan</comment> - <comment xml:lang="gl">Paquete de traballo do Calligra Plan</comment> - <comment xml:lang="hr">Calligra Plan, dokument za radni paket</comment> - <comment xml:lang="hu">Calligra Plan munkacsomag dokumentum</comment> - <comment xml:lang="ia">Documento de pacchetto de labor de Calligra Plan</comment> - <comment xml:lang="is">Calligra Plan verkpakkaskjal</comment> - <comment xml:lang="it">documento dei pacchetti di lavoro di Calligra Plan</comment> - <comment xml:lang="kk">Calligra Plan жұмыс дестесі</comment> - <comment xml:lang="km">ឯកសារកញ្ចប់ការងារផែនការរបស់ Calligra</comment> - <comment xml:lang="ko">Caligra Plan 작업 패키지 문서</comment> - <comment xml:lang="lt">Calligra Plan darbo paketo dokumentas</comment> - <comment xml:lang="lv">Calligra Plan darba pakotnes dokuments</comment> - <comment xml:lang="ml">കാലിഗ്ര രൂപരേഖ പാക്കേജ് രേഖ</comment> - <comment xml:lang="mr">कॅलिग्रा प्लान कार्य पॅकेज दस्तऐवज</comment> - <comment xml:lang="nb">Calligra Plan arbeidspakkedokument</comment> - <comment xml:lang="nds">Arbeitpaket-Dokment för Calligra-Plan</comment> - <comment xml:lang="nl">Calligra-plan werkpakket document</comment> - <comment xml:lang="pl">Dokument zawierający pakiet zadań Calligra Plan</comment> - <comment xml:lang="pt">Documento de pacote de trabalho do Plan para o Calligra</comment> - <comment xml:lang="pt_BR">Documento do pacote de trabalho do Calligra Plan</comment> - <comment xml:lang="ro">sarcină de lucru management de proiect Calligra Plan</comment> - <comment xml:lang="ru">пакет работ Calligra Plan</comment> - <comment xml:lang="se">Calligra Plan-bargopáhkkendokumeanta</comment> - <comment xml:lang="sk">Dokument riadenia pracovných balíkov Calligra Plan</comment> - <comment xml:lang="sl">Dokument delovnega paketa Calligra Plan</comment> - <comment xml:lang="sr">документ радног пакета Калигриног Плана</comment> - <comment xml:lang="sr@ijekavian">документ радног пакета Калигриног Плана</comment> - <comment xml:lang="sr@ijekavianlatin">dokument radnog paketa Calligrinog Plana</comment> - <comment xml:lang="sr@latin">dokument radnog paketa Calligrinog Plana</comment> - <comment xml:lang="sv">Calligra Plan-arbetspaketsdokument</comment> - <comment xml:lang="tr">Calligra Plan iş paketi belgesi</comment> - <comment xml:lang="ug">Calligra Plan خىزمەت بوغچا پۈتۈكى</comment> - <comment xml:lang="uk">пакунок роботи Plan зі складу Calligra</comment> - <comment xml:lang="zh_CN">Calligra Plan 工作包文档</comment> - <comment xml:lang="zh_TW">Calligra Plan 工作套件文件</comment> <glob pattern="*.planwork"/> </mime-type> <mime-type type="application/x-vnd.kde.kplato"> <comment>KPlato project management document</comment> - <comment xml:lang="ar">وثيقة إدارة مشاريع KPlato</comment> - <comment xml:lang="ast">Documentu de xestión de proyeutu de KPlato</comment> - <comment xml:lang="bs">KPlatoov dokument upravljanja projektom</comment> - <comment xml:lang="ca">document de gestió de projecte del KPlato</comment> - <comment xml:lang="ca@valencia">document de gestió de projecte del KPlato</comment> - <comment xml:lang="cs">Dokument řízení projektů v KPlato</comment> - <comment xml:lang="da">KPlato projekthåndteringsdokument</comment> - <comment xml:lang="de">KPlato-Projektverwaltungs-Dokument</comment> - <comment xml:lang="el">Έγγραφα διαχείρισης έργων KPlato</comment> - <comment xml:lang="en_GB">KPlato project management document</comment> - <comment xml:lang="es">Documento de gestión de proyecto de KPlato</comment> - <comment xml:lang="et">KPlato projektihalduse dokument</comment> - <comment xml:lang="eu">KPlato proiektu kudeaketa dokumentua</comment> - <comment xml:lang="fi">KPLato-projektinhallintatiedosto</comment> - <comment xml:lang="fr">Document de gestion de projets KPlato</comment> - <comment xml:lang="ga">Cáipéis Bhainisteoireachta Tionscadail KPlato</comment> - <comment xml:lang="gl">Proxecto de KPlato</comment> - <comment xml:lang="hr">KPlato dokument upravljanja projektom</comment> - <comment xml:lang="hu">KPlato projektkezelő dokumentum</comment> - <comment xml:lang="ia">KPlato: Documento de gestion de projecto</comment> - <comment xml:lang="is">KPlato verkstjórnunarskjal</comment> - <comment xml:lang="it">documento di gestione dei progetti di KPlato</comment> - <comment xml:lang="ja">KPlato プロジェクト管理文書</comment> - <comment xml:lang="kk">KPlato жоба басқару құжаты</comment> - <comment xml:lang="km">ឯកសារគ្រប់គ្រងគម្រោងរបស់ KPlato</comment> - <comment xml:lang="ko">KPlato 프로젝트 관리 문서</comment> - <comment xml:lang="lt">KPlato projektų valdymo dokumentas</comment> - <comment xml:lang="lv">KPlato projektu pārvaldības dokuments</comment> - <comment xml:lang="ml">കെപ്ലേറ്റോ പദ്ധതി നടത്തിയിപ്പ് രേഖ</comment> - <comment xml:lang="mr">के-प्लेटो परियोजना व्यवस्थापन दस्तऐवज</comment> - <comment xml:lang="nb">KPlato prosjekstyringsdokument</comment> - <comment xml:lang="nds">Projektpleeg-Dokment för KPlato</comment> - <comment xml:lang="nl">KPlato projectbeheer-document</comment> - <comment xml:lang="nn">KPlato-prosjekthandsamingsdokument</comment> - <comment xml:lang="pa">KPlato ਪਰੋਜੈਕਟ ਪਰਬੰਧ ਡੌਕੂਮੈਂਟ</comment> - <comment xml:lang="pl">Dokument zarządzania projektami w KPlato</comment> - <comment xml:lang="pt">Documento de gestão de projectos do KPlato</comment> - <comment xml:lang="pt_BR">Documento de gerenciamento de projetos do KPlato</comment> - <comment xml:lang="ro">document management de proiect KPlato</comment> - <comment xml:lang="ru">проект KPlato</comment> - <comment xml:lang="se">KPlato prošeaktahálddašandokumeanta</comment> - <comment xml:lang="sk">Dokument riadenia projektov v KPlato</comment> - <comment xml:lang="sl">Dokument za upravljanje projektov KPlato</comment> - <comment xml:lang="sr">К‑платоов документ управљања пројектом</comment> - <comment xml:lang="sr@ijekavian">К‑платоов документ управљања пројектом</comment> - <comment xml:lang="sr@ijekavianlatin">KPlatoov dokument upravljanja projektom</comment> - <comment xml:lang="sr@latin">KPlatoov dokument upravljanja projektom</comment> - <comment xml:lang="sv">Kplato-projekthantering dokument</comment> - <comment xml:lang="tr">KPlato proje yönetimi belgesi</comment> - <comment xml:lang="ug">KPlato قۇرۇلۇش باشقۇرۇش پۈتۈكى</comment> - <comment xml:lang="uk">документ керування роботами KPlato</comment> - <comment xml:lang="zh_CN">KPlato 项目管理文档</comment> - <comment xml:lang="zh_TW">KPlato 專案管理文件</comment> <glob pattern="*.kplato"/> </mime-type> <mime-type type="application/x-vnd.kde.kplato.work"> <comment>KPlato project management work package</comment> - <comment xml:lang="ar">حزمة عمل إدارة مشاريع KPlato</comment> - <comment xml:lang="ast">Paquete de trabayu de xestión de proyeutu de KPlato</comment> - <comment xml:lang="bs">KPlatoov radni paket upravljanja projektom</comment> - <comment xml:lang="ca">paquet de treball de gestió de projecte del KPlato</comment> - <comment xml:lang="ca@valencia">paquet de treball de gestió de projecte del KPlato</comment> - <comment xml:lang="cs">Pracovní balíček řízení projektů v KPlato</comment> - <comment xml:lang="da">KPlato work-pakke til projekthåndtering</comment> - <comment xml:lang="de">KPlato-Projektverwaltungs-Arbeitspaket</comment> - <comment xml:lang="el">Πακέτο εργασιών διαχείρισης έργων KPlato</comment> - <comment xml:lang="en_GB">KPlato project management work package</comment> - <comment xml:lang="es">Paquete de trabajo de gestión de proyecto de KPlato</comment> - <comment xml:lang="et">KPlato projektihalduse tööpakett</comment> - <comment xml:lang="eu">KPlato proiektu kudeaketa lan paketea</comment> - <comment xml:lang="fi">KPlato-projektinhallinnan työpaketti</comment> - <comment xml:lang="fr">Lots de travaux pour le logiciel de gestion de projets KPlato</comment> - <comment xml:lang="ga">Pacáiste oibre bainisteoireachta tionscadail KPlato</comment> - <comment xml:lang="gl">Paquete de traballo de KPlato</comment> - <comment xml:lang="hr">KPlato radni paket upravljanja projektom</comment> - <comment xml:lang="hu">KPlato projektkezelő munkacsomag</comment> - <comment xml:lang="ia">KPlato: Pacchetto de travalio de gestion de projecto</comment> - <comment xml:lang="is">KPlato verkstjórnunar vinnupakki</comment> - <comment xml:lang="it">pacchetto di lavoro di gestione dei progetti di KPlato</comment> - <comment xml:lang="ja">KPlato プロジェクト管理作業パッケージ</comment> - <comment xml:lang="kk">KPlato жоба басқару жұмыс дестесі</comment> - <comment xml:lang="km">កញ្ចប់ការងារគ្រប់គ្រងគម្រោង KPlato</comment> - <comment xml:lang="ko">KPlato 프로젝트 관리 작업 패키지</comment> - <comment xml:lang="lt">KPlato projektų valdymo darbo paketas</comment> - <comment xml:lang="lv">KPlato projektu pārvaldības darba pakotne</comment> - <comment xml:lang="ml">കെപ്ലേറ്റോ പദ്ധതി നടത്തിയിപ്പ് ജോലി രേഖ</comment> - <comment xml:lang="mr">के-प्लेटो परियोजना व्यवस्थापन कार्य पॅकेज</comment> - <comment xml:lang="nb">KPlato arbeidspakke for prosjektstyring</comment> - <comment xml:lang="nds">Projektpleeg-Arbeitpaket för KPlato</comment> - <comment xml:lang="nl">KPlato projectbeheer-werkpakket</comment> - <comment xml:lang="nn">KPlato-prosjekthandsamingsarbeidspakke</comment> - <comment xml:lang="pa">KPlato ਪਰੋਜੈਕਟ ਮੈਨੇਜਮੈਂਟ ਵਰਕ ਪੈਕੇਜ</comment> - <comment xml:lang="pl">Pakiet pracy dot. zarządzania projektami KPlato</comment> - <comment xml:lang="pt">Pacote de trabalho de gestão de projectos do KPlato</comment> - <comment xml:lang="pt_BR">Pacote de trabalho de gerenciamento de projetos do KPlato</comment> - <comment xml:lang="ro">sarcină de lucru management de proiect KPlato</comment> - <comment xml:lang="ru">пакет работ KPlato</comment> - <comment xml:lang="se">KPlato-prošeaktahálddašan bargopáhkka</comment> - <comment xml:lang="sk">Pracovný balíček riadenia projektov v KPlato</comment> - <comment xml:lang="sl">Delovni paket projektnega vodenja KPlato</comment> - <comment xml:lang="sr">К‑платоов радни пакет управљања пројектом</comment> - <comment xml:lang="sr@ijekavian">К‑платоов радни пакет управљања пројектом</comment> - <comment xml:lang="sr@ijekavianlatin">KPlatoov radni paket upravljanja projektom</comment> - <comment xml:lang="sr@latin">KPlatoov radni paket upravljanja projektom</comment> - <comment xml:lang="sv">Kplato-projekthantering arbetspaket</comment> - <comment xml:lang="tr">KPlato proje yönetimi çalışma paketi</comment> - <comment xml:lang="ug">KPlato قۇرۇلۇش باشقۇرۇش خىزمەت بوغچىسى</comment> - <comment xml:lang="uk">пакунок проекту керування роботами KPlato</comment> - <comment xml:lang="zh_CN">KPlato 项目管理工作包</comment> - <comment xml:lang="zh_TW">KPlato 專案管理工作套件</comment> <glob pattern="*.kplatowork"/> </mime-type> <mime-type type="application/x-vnd.kde.kugar.mixed"> <comment>Kugar archive</comment> - <comment xml:lang="ar">أرشيف Kugar</comment> - <comment xml:lang="ast">Ficheru de Kugar</comment> - <comment xml:lang="bs">Kugarova arhiva</comment> - <comment xml:lang="ca">arxiu del Kugar</comment> - <comment xml:lang="ca@valencia">arxiu del Kugar</comment> - <comment xml:lang="cs">Archiv Kugar</comment> - <comment xml:lang="da">Kugar-arkiv</comment> - <comment xml:lang="de">Kugar-Archiv</comment> - <comment xml:lang="el">Αρχειοθήκη Kugar</comment> - <comment xml:lang="en_GB">Kugar archive</comment> - <comment xml:lang="es">Archivo de Kugar</comment> - <comment xml:lang="et">Kugari arhiiv</comment> - <comment xml:lang="eu">Kugar artxiboa</comment> - <comment xml:lang="fi">Kugar-arkisto</comment> - <comment xml:lang="fr">Archive Kugar</comment> - <comment xml:lang="ga">Cartlann Kugar</comment> - <comment xml:lang="gl">Arquivo de Kugar</comment> - <comment xml:lang="hr">Kugar arhiva</comment> - <comment xml:lang="hu">Kugar-archívum</comment> - <comment xml:lang="ia">Kugar : archivo</comment> - <comment xml:lang="is">Kugar safnskrá</comment> - <comment xml:lang="it">archivio di Kugar</comment> - <comment xml:lang="ja">Kugar アーカイブ</comment> - <comment xml:lang="kk">Kugar архиві</comment> - <comment xml:lang="km">ប័ណ្ណសារ Kugar</comment> - <comment xml:lang="ko">Kugar 압축 파일</comment> - <comment xml:lang="lt">Kugar archyvas</comment> - <comment xml:lang="lv">Kugar arhīvs</comment> - <comment xml:lang="ml">കുഗര് ശേഖരം</comment> - <comment xml:lang="mr">कुगर संग्रह</comment> - <comment xml:lang="nb">Kugar-arkiv</comment> - <comment xml:lang="nds">Kugar-Archiev</comment> - <comment xml:lang="nl">Kugar-archief</comment> - <comment xml:lang="nn">Kugar-arkiv</comment> - <comment xml:lang="pa">Kugar ਅਕਾਇਵ</comment> - <comment xml:lang="pl">Archiwum Kugara</comment> - <comment xml:lang="pt">Pacote do Kugar</comment> - <comment xml:lang="pt_BR">Arquivo do Kugar</comment> - <comment xml:lang="ro">Arhivă Kugar</comment> - <comment xml:lang="ru">архив Kugar</comment> - <comment xml:lang="se">Kugararkiiva</comment> - <comment xml:lang="sk">Archív Kugar</comment> - <comment xml:lang="sl">Arhiv Kugarja</comment> - <comment xml:lang="sr">Кугарова архива</comment> - <comment xml:lang="sr@ijekavian">Кугарова архива</comment> - <comment xml:lang="sr@ijekavianlatin">Kugarova arhiva</comment> - <comment xml:lang="sr@latin">Kugarova arhiva</comment> - <comment xml:lang="sv">Kugar-arkiv</comment> - <comment xml:lang="tr">Kugar arşivi</comment> - <comment xml:lang="ug">Kugar ئارخىپى</comment> - <comment xml:lang="uk">архів Kugar</comment> - <comment xml:lang="zh_CN">Kugar 归档</comment> - <comment xml:lang="zh_TW">Kugar 歸檔</comment> <glob pattern="*.kug"/> </mime-type> <mime-type type="application/x-webarchive"> <sub-class-of type="application/x-compressed-tar"/> <sub-class-of type="application/x-gzip"/> <!-- only necessary because x-compressed-tar is not specifying this sub-class-of (shared-mime-info 0.8) --> <comment>web archive</comment> - <comment xml:lang="ar">أرشيف ويب</comment> - <comment xml:lang="ast">ficheru web</comment> - <comment xml:lang="bs">veb arhiva</comment> - <comment xml:lang="ca">arxiu web</comment> - <comment xml:lang="ca@valencia">arxiu web</comment> - <comment xml:lang="cs">webový archiv</comment> - <comment xml:lang="da">Webarkiv</comment> - <comment xml:lang="de">Web-Archiv</comment> - <comment xml:lang="el">Ιστοσελίδας αρχειοθήκη</comment> - <comment xml:lang="en_GB">web archive</comment> - <comment xml:lang="es">archivo web</comment> - <comment xml:lang="et">veebiarhiiv</comment> - <comment xml:lang="eu">web artxiboa</comment> - <comment xml:lang="fi">web-arkisto</comment> - <comment xml:lang="fr">Archive Web</comment> - <comment xml:lang="ga">cartlann ghréasáin</comment> - <comment xml:lang="gl">arquivo web</comment> - <comment xml:lang="hr">web arhiva</comment> - <comment xml:lang="hu">webes archívum</comment> - <comment xml:lang="ia">archivo web</comment> - <comment xml:lang="is">vefsafnskrá</comment> - <comment xml:lang="it">archivio Web</comment> - <comment xml:lang="ja">ウェブアーカイブ</comment> - <comment xml:lang="kk">веб архиві</comment> - <comment xml:lang="km">ប័ណ្ណសារបណ្ដាញ</comment> - <comment xml:lang="ko">웹 압축 파일</comment> - <comment xml:lang="lt">žiniatinklio archyvas</comment> - <comment xml:lang="lv">tīmekļa arhīvs</comment> - <comment xml:lang="ml">വെബ് ശേഖരണം</comment> - <comment xml:lang="mr">वेब संग्रह</comment> - <comment xml:lang="nb">nettarkiv</comment> - <comment xml:lang="nds">Nettarchiev</comment> - <comment xml:lang="nl">webarchief</comment> - <comment xml:lang="nn">vevarkiv</comment> - <comment xml:lang="pa">ਵੈੱਬ ਅਕਾਇਵ</comment> - <comment xml:lang="pl">archiwum WWW</comment> - <comment xml:lang="pt">pacote Web</comment> - <comment xml:lang="pt_BR">Arquivo Web</comment> - <comment xml:lang="ro">arhivă web</comment> - <comment xml:lang="ru">веб-архив</comment> - <comment xml:lang="se">fierbmearkiiva</comment> - <comment xml:lang="sk">webový archív</comment> - <comment xml:lang="sl">spletni arhiv</comment> - <comment xml:lang="sr">веб архива</comment> - <comment xml:lang="sr@ijekavian">веб архива</comment> - <comment xml:lang="sr@ijekavianlatin">veb arhiva</comment> - <comment xml:lang="sr@latin">veb arhiva</comment> - <comment xml:lang="sv">webbarkiv</comment> - <comment xml:lang="th">แฟ้มจัดเก็บของหน้าเว็บ</comment> - <comment xml:lang="tr">web arşivi</comment> - <comment xml:lang="ug">تور بەت ئارخىپى</comment> - <comment xml:lang="uk">вебархів</comment> - <comment xml:lang="zh_CN">网页归档</comment> - <comment xml:lang="zh_TW">網頁歸檔</comment> <glob pattern="*.war"/> </mime-type> <mime-type type="application/xsd"> <sub-class-of type="application/xml"/> <comment>W3C XML schema</comment> - <comment xml:lang="ar">مخطط W3C XML</comment> - <comment xml:lang="ast">Esquema XML del W3C</comment> - <comment xml:lang="bs">W3C‑ova XML šema</comment> - <comment xml:lang="ca">esquema XML W3C</comment> - <comment xml:lang="ca@valencia">esquema XML W3C</comment> - <comment xml:lang="cs">W3C XML schéma</comment> - <comment xml:lang="da">W3C XML-skema</comment> - <comment xml:lang="de">W3C-XML-Schema</comment> - <comment xml:lang="el">Σχήμα W3C XML</comment> - <comment xml:lang="en_GB">W3C XML schema</comment> - <comment xml:lang="es">Esquema XML del W3C</comment> - <comment xml:lang="et">W3C XML-skeem</comment> - <comment xml:lang="eu">W3C XML eskema</comment> - <comment xml:lang="fi">W3C XML -skeema</comment> - <comment xml:lang="fr">Schéma XML W3C</comment> - <comment xml:lang="ga">Scéimre XML W3C</comment> - <comment xml:lang="gl">Esquema XML do W3C</comment> - <comment xml:lang="hr">W3C XML shema</comment> - <comment xml:lang="hu">W3C XML-séma</comment> - <comment xml:lang="ia">schema XML de W3C</comment> - <comment xml:lang="is">W3C XML skema</comment> - <comment xml:lang="it">Schema XML del W3C</comment> - <comment xml:lang="ja">W3C XML スキーマ</comment> - <comment xml:lang="kk">W3C XML сұлбасы</comment> - <comment xml:lang="km">គ្រោងការណ៍របស់ W3C XML</comment> - <comment xml:lang="ko">W3C XML 스키마</comment> - <comment xml:lang="lt">W3C XML schema</comment> - <comment xml:lang="lv">W3C XML shēma</comment> - <comment xml:lang="ml">ഡബ്ള്യു 3 സി എക്സ് എം എല് രേഖ</comment> - <comment xml:lang="mr">W3C XML स्कीमा</comment> - <comment xml:lang="nb">W3C XML-skjema</comment> - <comment xml:lang="nds">W3C XML-Schema</comment> - <comment xml:lang="nl">W3C XML-schema</comment> - <comment xml:lang="nn">W3C XML-skjema</comment> - <comment xml:lang="pa">W3C XML ਸਕੀਮਾ</comment> - <comment xml:lang="pl">Schemat W3C XML</comment> - <comment xml:lang="pt">Esquema XML da W3C</comment> - <comment xml:lang="pt_BR">Esquema XML da W3C</comment> - <comment xml:lang="ro">Schemă XML W3C</comment> - <comment xml:lang="ru">структура XML Schema</comment> - <comment xml:lang="se">W3C XML-čoahkkádus</comment> - <comment xml:lang="sk">Schéma W3C XML</comment> - <comment xml:lang="sl">Shema W3C XML</comment> - <comment xml:lang="sr">В3Ц‑ова ИксМЛ шема</comment> - <comment xml:lang="sr@ijekavian">В3Ц‑ова ИксМЛ шема</comment> - <comment xml:lang="sr@ijekavianlatin">W3C‑ova XML šema</comment> - <comment xml:lang="sr@latin">W3C‑ova XML šema</comment> - <comment xml:lang="sv">W3C XML-schema</comment> - <comment xml:lang="tr">W3C XML şeması</comment> - <comment xml:lang="ug">W3C XML لايىھە</comment> - <comment xml:lang="uk">схема XML W3C</comment> - <comment xml:lang="zh_CN">W3C XML 结构定义</comment> - <comment xml:lang="zh_TW">W3C XML 機制</comment> <glob pattern="*.xsd"/> </mime-type> <mime-type type="audio/aac"> <comment>AAC sound</comment> - <comment xml:lang="ar">صوت AAC</comment> - <comment xml:lang="ast">Soníu AAC</comment> - <comment xml:lang="bs">AAC zvuk</comment> - <comment xml:lang="ca">so AAC</comment> - <comment xml:lang="ca@valencia">so AAC</comment> - <comment xml:lang="cs">Zvuk AAC</comment> - <comment xml:lang="da">AAC-lyd</comment> - <comment xml:lang="de">AAC-Audio</comment> - <comment xml:lang="el">Ήχος ACC</comment> - <comment xml:lang="en_GB">AAC sound</comment> - <comment xml:lang="es">Sonido AAC</comment> - <comment xml:lang="et">AAC helifail</comment> - <comment xml:lang="eu">AAC soinua</comment> - <comment xml:lang="fi">AAC-ääni</comment> - <comment xml:lang="fr">Son AAC</comment> - <comment xml:lang="ga">Fuaim AAC</comment> - <comment xml:lang="gl">Son AAC</comment> - <comment xml:lang="hr">AAC zvuk</comment> - <comment xml:lang="hu">AAC-hang</comment> - <comment xml:lang="ia">Sono AAC</comment> - <comment xml:lang="is">AAC hljóð</comment> - <comment xml:lang="it">suono AAC</comment> - <comment xml:lang="ja">AAC サウンド</comment> - <comment xml:lang="kk">AAC дыбысы</comment> - <comment xml:lang="km">សំឡេង AAC</comment> - <comment xml:lang="ko">AAC 소리</comment> - <comment xml:lang="lt">AAC garsas</comment> - <comment xml:lang="lv">AAC skaņa</comment> - <comment xml:lang="ml">എഎസി ശബ്ദം</comment> - <comment xml:lang="mr">AAC आवाज</comment> - <comment xml:lang="ms">Bunyi AAC </comment> - <comment xml:lang="nb">AAC-lyd</comment> - <comment xml:lang="nds">AAC-Kläng</comment> - <comment xml:lang="nl">AAC-geluid</comment> - <comment xml:lang="nn">AAC-lyd</comment> - <comment xml:lang="pa">AAC ਸਾਊਂਡ</comment> - <comment xml:lang="pl">Dźwięk AAC</comment> - <comment xml:lang="pt">Som AAC</comment> - <comment xml:lang="pt_BR">Som AAC</comment> - <comment xml:lang="ro">Sunet AAC</comment> - <comment xml:lang="ru">аудио AAC</comment> - <comment xml:lang="se">AAC-jietna</comment> - <comment xml:lang="sk">Zvuk AAC</comment> - <comment xml:lang="sl">Zvok AAC</comment> - <comment xml:lang="sq">AAC sound</comment> - <comment xml:lang="sr">ААЦ звук</comment> - <comment xml:lang="sr@ijekavian">ААЦ звук</comment> - <comment xml:lang="sr@ijekavianlatin">AAC zvuk</comment> - <comment xml:lang="sr@latin">AAC zvuk</comment> - <comment xml:lang="sv">AAC-ljud</comment> - <comment xml:lang="th">เสียงรูปแบบ AAC</comment> - <comment xml:lang="tr">AAC sesi</comment> - <comment xml:lang="ug">AAC ئاۋاز</comment> - <comment xml:lang="uk">звук у форматі AAC</comment> - <comment xml:lang="zh_CN">AAC 声音</comment> - <comment xml:lang="zh_TW">AAC 音效</comment> <glob pattern="*.aac"/> </mime-type> <mime-type type="audio/x-pn-realaudio-plugin"> <!-- Not a type of file, so will not go to shared-mime-info --> <comment>RealAudio plugin file</comment> - <comment xml:lang="ar">ملف ملحق RealAudio</comment> - <comment xml:lang="ast">Ficheru de complementu RealAudio</comment> - <comment xml:lang="bs">RealAudio priključak</comment> - <comment xml:lang="ca">fitxer del connector RealAudio</comment> - <comment xml:lang="ca@valencia">fitxer del connector RealAudio</comment> - <comment xml:lang="cs">Soubor modulu RealAudio</comment> - <comment xml:lang="da">RealAudio plugin-fil</comment> - <comment xml:lang="de">RealAudio-Moduldatei</comment> - <comment xml:lang="el">Πρόσθετο αρχείο RealAudio</comment> - <comment xml:lang="en_GB">RealAudio plugin file</comment> - <comment xml:lang="es">Archivo de complemento RealAudio</comment> - <comment xml:lang="et">RealAudio plugina fail</comment> - <comment xml:lang="eu">RealAudio plugin fitxategia</comment> - <comment xml:lang="fi">RealAudio-liitännäistiedosto</comment> - <comment xml:lang="fr">Fichier de module externe « Real-Audio »</comment> - <comment xml:lang="ga">Comhad breiseáin RealAudio</comment> - <comment xml:lang="gl">Ficheiro de complemento de RealAudio</comment> - <comment xml:lang="hr">priključna datoteka za RealAudio</comment> - <comment xml:lang="hu">RealAudio-bővítményfájl</comment> - <comment xml:lang="ia">RealAudio: File de plugin</comment> - <comment xml:lang="is">RealAudio plugin skrá</comment> - <comment xml:lang="it">file di estensioni RealAudio</comment> - <comment xml:lang="ja">RealAudio プラグインファイル</comment> - <comment xml:lang="kk">RealAudio плагин файлы</comment> - <comment xml:lang="km">ឯកសារកម្មវិធីជំនួយ RealAudio</comment> - <comment xml:lang="ko">RealAudio 플러그인 파일</comment> - <comment xml:lang="lt">RealAudio priedo failas</comment> - <comment xml:lang="lv">RealAudio spraudņa fails</comment> - <comment xml:lang="ml">റിയല് ശബ്ദ സംയോജക ഫയല്</comment> - <comment xml:lang="mr">रियल ऑडिओ प्लगइन फाईल</comment> - <comment xml:lang="nb">RealAudio programtilleggsfil</comment> - <comment xml:lang="nds">RealAudio-Moduuldatei</comment> - <comment xml:lang="nl">RealAudio-bestand</comment> - <comment xml:lang="nn">RealAudio-programtilleggfil</comment> - <comment xml:lang="pa">RealAudio ਪਲੱਗਇਨ ਫਾਇਲ</comment> - <comment xml:lang="pl">Plik wtyczki RealAudio</comment> - <comment xml:lang="pt">Ficheiro de 'plugin' do RealAudio</comment> - <comment xml:lang="pt_BR">Arquivo de plugin do RealAudio</comment> - <comment xml:lang="ro">Fișier modul RealAudio</comment> - <comment xml:lang="ru">файл расширения RealAudio</comment> - <comment xml:lang="se">RealAudio-lassemodulafiila</comment> - <comment xml:lang="sk">Súbor modulu RealAudio</comment> - <comment xml:lang="sl">Datoteka vstavka RealAudio</comment> - <comment xml:lang="sr">Реалаудио прикључак</comment> - <comment xml:lang="sr@ijekavian">Реалаудио прикључак</comment> - <comment xml:lang="sr@ijekavianlatin">RealAudio priključak</comment> - <comment xml:lang="sr@latin">RealAudio priključak</comment> - <comment xml:lang="sv">Realaudio-insticksprogramfil</comment> - <comment xml:lang="th">แฟ้มส่วนเสริม RealAudio</comment> - <comment xml:lang="tr">RealAudio eklenti dosyası</comment> - <comment xml:lang="ug">RealAudio قىستۇرما ھۆججەت</comment> - <comment xml:lang="uk">файл додатка RealAudio</comment> - <comment xml:lang="zh_CN">RealAudio 插件文件</comment> - <comment xml:lang="zh_TW">RealAudio 外掛程式檔案</comment> </mime-type> <mime-type type="application/vnd.kde.kphotoalbum-import"> <!-- fdo #12732 rejected, will stay KDE-specific --> <comment>KPhotoAlbum import</comment> - <comment xml:lang="ar">استيراد KPhotoAlbum</comment> - <comment xml:lang="ast">Importación de KPhotoAlbum</comment> - <comment xml:lang="bs">KPhotoAlbumov uvoz</comment> - <comment xml:lang="ca">importació del KPhotoAlbum</comment> - <comment xml:lang="ca@valencia">importació del KPhotoAlbum</comment> - <comment xml:lang="cs">Import KPhotoAlbum</comment> - <comment xml:lang="da">KPhotoAlbum import</comment> - <comment xml:lang="de">KPhotoAlbum-Import</comment> - <comment xml:lang="el">Εισαγωγή KPhotoAlbum</comment> - <comment xml:lang="en_GB">KPhotoAlbum import</comment> - <comment xml:lang="es">Importación de KPhotoAlbum</comment> - <comment xml:lang="et">KPhotoAlbumi import</comment> - <comment xml:lang="eu">KPhotoAlbum inportazioa</comment> - <comment xml:lang="fi">KPhotoAlbum-tuonti</comment> - <comment xml:lang="fr">Importation de KPhotoAlbum</comment> - <comment xml:lang="ga">Iompórtáil KPhotoAlbum</comment> - <comment xml:lang="gl">Importación de KPhotoAlbum</comment> - <comment xml:lang="hr">KPhotoAlbum uvoz</comment> - <comment xml:lang="hu">KPhotoAlbum-import</comment> - <comment xml:lang="ia">Importation de KPhotoAlbum</comment> - <comment xml:lang="is">KPhotoAlbum innflutningur</comment> - <comment xml:lang="it">importazione di KPhotoAlbum</comment> - <comment xml:lang="ja">KPhotoAlbum インポート</comment> - <comment xml:lang="kk">KPhotoAlbum импорт еткені</comment> - <comment xml:lang="km">នាំចូល KPhotoAlbum</comment> - <comment xml:lang="ko">KPhotoAlbum 가져오기</comment> - <comment xml:lang="lt">KPhotoAlbum importas</comment> - <comment xml:lang="lv">KPhotoAlbum imports</comment> - <comment xml:lang="ml">കെഫോട്ടോആല്ബം ഇറക്കുമതി</comment> - <comment xml:lang="mr">के-फोटो-अल्बम आयात</comment> - <comment xml:lang="nb">KPhotoAlbum-import</comment> - <comment xml:lang="nds">KPhotoAlbum-Import</comment> - <comment xml:lang="nl">KPhotoAlbum-import</comment> - <comment xml:lang="nn">KPhotoAlbum-import</comment> - <comment xml:lang="pa">KPhotoAlbum ਇੰਪੋਰਟ</comment> - <comment xml:lang="pl">Import KPhotoAlbum</comment> - <comment xml:lang="pt">Importação do KPhotoAlbum</comment> - <comment xml:lang="pt_BR">Importação do KPhotoAlbum</comment> - <comment xml:lang="ro">Import KPhotoAlbum</comment> - <comment xml:lang="ru">архив фотоальбома KPhotoAlbum</comment> - <comment xml:lang="se">KPhotoAlbum sisafievrrideapmi</comment> - <comment xml:lang="sk">Import KPhotoAlbum</comment> - <comment xml:lang="sl">Uvoz v KPhotoAlbum</comment> - <comment xml:lang="sq">KPhotoAlbum import</comment> - <comment xml:lang="sr">К‑фотоалбумов увоз</comment> - <comment xml:lang="sr@ijekavian">К‑фотоалбумов увоз</comment> - <comment xml:lang="sr@ijekavianlatin">KPhotoAlbumov uvoz</comment> - <comment xml:lang="sr@latin">KPhotoAlbumov uvoz</comment> - <comment xml:lang="sv">Kfotoalbum-import</comment> - <comment xml:lang="tr">KPhotoAlbum içeri aktarımı</comment> - <comment xml:lang="ug">KPhotoAlbum ئەكىر</comment> - <comment xml:lang="uk">імпортовані дані KPhotoAlbum</comment> - <comment xml:lang="zh_CN">KPhotoAlbum 导入</comment> - <comment xml:lang="zh_TW">KPhotoAlbum 匯入</comment> <glob pattern="*.kim"/> </mime-type> <mime-type type="image/x-hdr"> <!-- TODO fdo report --> <comment>HDR image</comment> - <comment xml:lang="ar">صورة HDR</comment> - <comment xml:lang="ast">Imaxe HDR</comment> - <comment xml:lang="bg">Изображение HDR</comment> - <comment xml:lang="bs">HDR slika</comment> - <comment xml:lang="ca">imatge HDR</comment> - <comment xml:lang="ca@valencia">imatge HDR</comment> - <comment xml:lang="cs">HDR obrázek</comment> - <comment xml:lang="da">HDR-billede</comment> - <comment xml:lang="de">HDR-Bild</comment> - <comment xml:lang="el">Εικόνα HDR</comment> - <comment xml:lang="en_GB">HDR image</comment> - <comment xml:lang="es">Imagen HDR</comment> - <comment xml:lang="et">HDR pilt</comment> - <comment xml:lang="eu">HDR irudia</comment> - <comment xml:lang="fi">HDR-kuva</comment> - <comment xml:lang="fr">Image HDR</comment> - <comment xml:lang="ga">Íomhá HDR</comment> - <comment xml:lang="gl">Imaxe de HDR</comment> - <comment xml:lang="hr">HDR slika</comment> - <comment xml:lang="hu">HDR-kép</comment> - <comment xml:lang="ia">Imagine HDR</comment> - <comment xml:lang="is">HDR mynd</comment> - <comment xml:lang="it">immagine HDR</comment> - <comment xml:lang="ja">HDR イメージ</comment> - <comment xml:lang="kk">HDR кескіні</comment> - <comment xml:lang="km">រូបភាព HDR</comment> - <comment xml:lang="ko">HDR 그림</comment> - <comment xml:lang="lt">HDR paveikslėlis</comment> - <comment xml:lang="lv">HDR attēls</comment> - <comment xml:lang="ml">എച്ച് ഡി ആര് ചിത്രം</comment> - <comment xml:lang="mr">HDR प्रतिमा</comment> - <comment xml:lang="ms">Imej HDR</comment> - <comment xml:lang="nb">HDR-bilde</comment> - <comment xml:lang="nds">HDR-Afbild</comment> - <comment xml:lang="nl">HDR-image</comment> - <comment xml:lang="nn">HDR-bilete</comment> - <comment xml:lang="pa">HDR ਚਿੱਤਰ</comment> - <comment xml:lang="pl">Obraz HDR</comment> - <comment xml:lang="pt">Imagem HDR</comment> - <comment xml:lang="pt_BR">Imagem HDR</comment> - <comment xml:lang="ro">Imagine HDR</comment> - <comment xml:lang="ru">изображение HDR</comment> - <comment xml:lang="se">HDR-govva</comment> - <comment xml:lang="sk">HDR obrázok</comment> - <comment xml:lang="sl">Slika HDR</comment> - <comment xml:lang="sq">HDR image</comment> - <comment xml:lang="sr">ХДР слика</comment> - <comment xml:lang="sr@ijekavian">ХДР слика</comment> - <comment xml:lang="sr@ijekavianlatin">HDR slika</comment> - <comment xml:lang="sr@latin">HDR slika</comment> - <comment xml:lang="sv">HDR-bild</comment> - <comment xml:lang="th">ภาพรูปแบบ HDR</comment> - <comment xml:lang="tr">HDR resmi</comment> - <comment xml:lang="ug">HDR سۈرەت</comment> - <comment xml:lang="uk">зображення HDR</comment> - <comment xml:lang="zh_CN">HDR 图像</comment> - <comment xml:lang="zh_TW">HDR 影像</comment> <acronym>HDR</acronym> <expanded-acronym>High Dynamic Range</expanded-acronym> <glob pattern="*.hdr"/> @@ -1479,59 +136,6 @@ <mime-type type="image/x-kde-raw"> <sub-class-of type="image/x-dcraw"/> <comment>KDE raw image formats</comment> - <comment xml:lang="ar">تنسيقات صور خام لكدي</comment> - <comment xml:lang="ast">Formatos d'imaxe en brutu de KDE</comment> - <comment xml:lang="bs">KDE formati sirovih slika</comment> - <comment xml:lang="ca">formats d'imatge en brut del KDE</comment> - <comment xml:lang="ca@valencia">formats d'imatge en brut del KDE</comment> - <comment xml:lang="cs">Formáty obrázků raw v KDE</comment> - <comment xml:lang="da">KDE raw-billedformater</comment> - <comment xml:lang="de">KDE-Roh-Bildformate</comment> - <comment xml:lang="el">Τύποι ακατέργαστων μορφών εικόνας KDE </comment> - <comment xml:lang="en_GB">KDE raw image formats</comment> - <comment xml:lang="es">Formatos de imagen en bruto de KDE</comment> - <comment xml:lang="et">KDE toorpildivormingud</comment> - <comment xml:lang="eu">KDE raw irudi formatuak</comment> - <comment xml:lang="fi">KDE-raakakuvamuoto</comment> - <comment xml:lang="fr">Format d'image brute KDE</comment> - <comment xml:lang="ga">Formáidí amha íomhánna de chuid KDE</comment> - <comment xml:lang="gl">Formatos de imaxe raw de KDE</comment> - <comment xml:lang="hr">KDE-ovi sirovi slikovni podaci</comment> - <comment xml:lang="hu">KDE-s nyers képformátumok</comment> - <comment xml:lang="ia">Formatos de imagines crude de KDE</comment> - <comment xml:lang="is">KDE RAW myndsnið</comment> - <comment xml:lang="it">formati di immagine raw di KDE</comment> - <comment xml:lang="ja">KDE raw イメージ形式</comment> - <comment xml:lang="kk">KDE шікі кескін пішімі</comment> - <comment xml:lang="km">ទ្រង់ទ្រាយរូបភាពដើម KDE</comment> - <comment xml:lang="ko">KDE RAW 그림 형식</comment> - <comment xml:lang="lt">KDE gryni paveikslėlių formatai</comment> - <comment xml:lang="lv">KDE raw attēlu formāti</comment> - <comment xml:lang="ml">കെഡിഇ സംസ്കരിക്കാത്ത ചിത്ര ഘടന</comment> - <comment xml:lang="mr">केडीई रॉ इमेज फॉर्मेट</comment> - <comment xml:lang="nb">KDE råbildeformater</comment> - <comment xml:lang="nds">KDE-Rohbildformaten</comment> - <comment xml:lang="nl">KDE-rawimage-formats</comment> - <comment xml:lang="nn">KDE-råbilete</comment> - <comment xml:lang="pa">KDE ਰਾਅ ਚਿੱਤਰ ਫਾਰਮੈਟ</comment> - <comment xml:lang="pl">Formaty raw obrazów w KDE</comment> - <comment xml:lang="pt">Formatos de imagem em bruto do KDE</comment> - <comment xml:lang="pt_BR">Formatos de imagem RAW do KDE</comment> - <comment xml:lang="ro">Formate de imagine brute KDE</comment> - <comment xml:lang="ru">необработанное изображение</comment> - <comment xml:lang="sk">Formáty obrázkov raw v KDE</comment> - <comment xml:lang="sl">KDE-jeve surove vrste slik</comment> - <comment xml:lang="sr">КДЕ формати сирових слика</comment> - <comment xml:lang="sr@ijekavian">КДЕ формати сирових слика</comment> - <comment xml:lang="sr@ijekavianlatin">KDE formati sirovih slika</comment> - <comment xml:lang="sr@latin">KDE formati sirovih slika</comment> - <comment xml:lang="sv">KDE-obehandlade bildformat</comment> - <comment xml:lang="th">ภาพรูปแบบข้อมูลดิบของ KDE</comment> - <comment xml:lang="tr">KDE ham resim biçimleri</comment> - <comment xml:lang="ug">KDE raw سۈرەت پىچىمى</comment> - <comment xml:lang="uk">формати цифрових негативів KDE</comment> - <comment xml:lang="zh_CN">KDE 原始图像格式</comment> - <comment xml:lang="zh_TW">KDE 原始影像格式</comment> <glob pattern="*.bay"/> <glob pattern="*.bmq"/> <glob pattern="*.cs1"/> @@ -1550,234 +154,20 @@ <mime-type type="text/x-hex"> <sub-class-of type="text/plain"/> <comment>Intel® hexadecimal object file</comment> - <comment xml:lang="ar">ملف كائن سداسي عشر Intel®</comment> - <comment xml:lang="ast">Ficheru de códigu oxetu hexadecimal d'Intel®</comment> - <comment xml:lang="bs">Intelova heksadekadna objektna datoteka</comment> - <comment xml:lang="ca">fitxer objecte hexadecimal Intel®</comment> - <comment xml:lang="ca@valencia">fitxer objecte hexadecimal Intel®</comment> - <comment xml:lang="cs">Intel® hexadecimální objektový soubor</comment> - <comment xml:lang="da">Intel® hexadecimal objektfil</comment> - <comment xml:lang="de">Intel®-Hexadezimal-Objektdatei</comment> - <comment xml:lang="el">Δεκαεξαδικό μεταφρασμένο αρχείο Intel®</comment> - <comment xml:lang="en_GB">Intel® hexadecimal object file</comment> - <comment xml:lang="es">Archivo de código objeto hexadecimal de Intel®</comment> - <comment xml:lang="et">Intel® 16nd-objektfail</comment> - <comment xml:lang="eu">Intel® objektu hamaseitarra fitxategia</comment> - <comment xml:lang="fi">Intel®-heksadesimaaliobjektitiedosto</comment> - <comment xml:lang="fr">Fichier objet hexadécimal « Intel® »</comment> - <comment xml:lang="ga">Comhad oibiachta heicsidheachúlach Intel®</comment> - <comment xml:lang="gl">Ficheiro de obxecto hexadecimal de Intel®</comment> - <comment xml:lang="hr">Intelova® heksadecimalna objektna datoteka</comment> - <comment xml:lang="hu">Intel®-féle hexadecimális objektumfájl</comment> - <comment xml:lang="ia">File objecto hexadecimal de Intel(c)</comment> - <comment xml:lang="is">Intel® hexadesimal hlutaskrá</comment> - <comment xml:lang="it">file oggetto esadecimale Intel®</comment> - <comment xml:lang="ja">Intel® 十六進オブジェクトファイル</comment> - <comment xml:lang="kk">Intel® оналтылықты объектік файл</comment> - <comment xml:lang="km">ឯកសារវត្ថុគោលដប់ប្រាំមួយរបស់ Intel®</comment> - <comment xml:lang="ko">Intel® 16진수 개체 파일</comment> - <comment xml:lang="lt">Intel® šešioliktainio objekto failas</comment> - <comment xml:lang="lv">Intel® hexadecimālais objekta fails</comment> - <comment xml:lang="ml">ഇന്റെല്® ഹെക്സാഡെസിമല് ഒബ്ജക്റ്റ് ഫയല്</comment> - <comment xml:lang="mr">Intel® हेक्झाडेसिमल ऑब्जेक्ट फाईल</comment> - <comment xml:lang="ms">Fail objek heksadesimal Intel(R)</comment> - <comment xml:lang="nb">Intel® heksadesimal objektfil</comment> - <comment xml:lang="nds">"Intel® hexadezimaal"-Objektdatei</comment> - <comment xml:lang="nl">Intel® hexadecimaal objectbestand</comment> - <comment xml:lang="nn">Intel®-heksobjektfil</comment> - <comment xml:lang="pa">Intel® ਹੈਕਸਾਡੈਸੀਮਲ ਆਬਜੈਕਟ ਫਾਇਲ</comment> - <comment xml:lang="pl">Plik obiektu szesnastkowego: Intel®</comment> - <comment xml:lang="pt">Ficheiro-objecto em hexadecimal da Intel®</comment> - <comment xml:lang="pt_BR">Arquivo objeto em hexadecimal da Intel®</comment> - <comment xml:lang="ro">fișier obiect hexazecimal Intel®</comment> - <comment xml:lang="ru">файл Intel HEX</comment> - <comment xml:lang="se">Intel® heaksadesimála objeaktafiila</comment> - <comment xml:lang="sk">Intel® hexadecimálny objektový súbor</comment> - <comment xml:lang="sl">Intelova šestnajstiška predmetna datoteka</comment> - <comment xml:lang="sq">Intel® hexadecimal object file</comment> - <comment xml:lang="sr">Интелов хексадекадни објектни фајл</comment> - <comment xml:lang="sr@ijekavian">Интелов хексадекадни објектни фајл</comment> - <comment xml:lang="sr@ijekavianlatin">Intelov heksadekadni objektni fajl</comment> - <comment xml:lang="sr@latin">Intelov heksadekadni objektni fajl</comment> - <comment xml:lang="sv">Intel® hexadecimal objektfil</comment> - <comment xml:lang="th">แฟ้มออบเจ็กต์ฐานสิบหกของ Intel®</comment> - <comment xml:lang="tr">Intel® onaltılık nesne dosyası</comment> - <comment xml:lang="ug">Intel® ئون ئالتىلىك نەڭ ھۆججىتى</comment> - <comment xml:lang="uk">шістнадцятковий об’єктний файл Intel®</comment> - <comment xml:lang="zh_CN">Intel® 十六进制对象文件</comment> - <comment xml:lang="zh_TW">Intel® hexadecimal 物件檔</comment> <glob pattern="*.hex"/> </mime-type> <mime-type type="text/x-katefilelist"> <sub-class-of type="text/plain"/> <comment>Kate file list loader plugin list</comment> - <comment xml:lang="ar">قائمة ملحقات محملات قائمة ملفات لكيت</comment> - <comment xml:lang="ast">Llista de complementos de carga de llistes de ficheros de Kate</comment> - <comment xml:lang="bs">spisak Kateinog priključka za učitavanje datoteka</comment> - <comment xml:lang="ca">llista del connector carregador de llista de fitxers del Kate</comment> - <comment xml:lang="ca@valencia">llista del connector carregador de llista de fitxers del Kate</comment> - <comment xml:lang="da">Liste over plugins til fillisteindlæsning i Kate</comment> - <comment xml:lang="de">Kate-Dateilistenlade-Modulliste</comment> - <comment xml:lang="el">Λίστα αρχείου φόρτωσης λίστας πρόσθετων Kate</comment> - <comment xml:lang="en_GB">Kate file list loader plugin list</comment> - <comment xml:lang="es">Lista de complementos de carga de listas de archivos de Kate</comment> - <comment xml:lang="et">Kate failinimekirja avaja plugin</comment> - <comment xml:lang="eu">Kate fitxategi-zerrenda kargatzeko plugin zerrenda</comment> - <comment xml:lang="fi">Kate-tiedostoluettelolataajaliitännäisluettelo</comment> - <comment xml:lang="fr">Liste de modules externes pour le chargeur de liste de fichiers de Kate</comment> - <comment xml:lang="ga">Liosta de bhreiseáin luchtaithe liostaí comhad do Kate</comment> - <comment xml:lang="gl">Lista de complementos do cargador de lista de ficheiros de Kate</comment> - <comment xml:lang="hr">Kate lista od priključka učitavača liste datoteka</comment> - <comment xml:lang="hu">Kate-listafájl (fájllista vagy bővítménylista)</comment> - <comment xml:lang="ia">Kate: Lista de plugin de cargator de lista de file</comment> - <comment xml:lang="is">Kate skráahleðsluíforritalisti</comment> - <comment xml:lang="it">elenco delle estensioni del caricatore di elenchi di file di Kate</comment> - <comment xml:lang="ja">Kate ファイルリストローダプラグインリスト</comment> - <comment xml:lang="kk">Kate файлдар тізімін жүктеу плагин тізімі</comment> - <comment xml:lang="km">បញ្ជីកម្មវិធីជំនួយរបស់កម្មវិធីផ្ទុកបញ្ជីឯកសាររបស់ Kate</comment> - <comment xml:lang="ko">Kate 파일 목록 로더 플러그인 목록</comment> - <comment xml:lang="lt">Kate failų sąrašo užkrovimo priedų sąrašas</comment> - <comment xml:lang="lv">Kate failu saraksta ielādētāja spraudņa saraksts</comment> - <comment xml:lang="ml">കേറ്റ് ഫയല് പട്ടിക ലഭ്യമാക്കുന്നതിന്റെ സംയോജകങ്ങളുടെ പട്ടിക</comment> - <comment xml:lang="mr">केट फाईल यादी लोड करणाऱ्या प्लगइनची यादी</comment> - <comment xml:lang="nb">Liste over programtillegg for Kate fillistelasting</comment> - <comment xml:lang="nds">Dateilistlader-Moduullist för Kate</comment> - <comment xml:lang="nl">Kate bestandenlijstlader voor pluginlijst</comment> - <comment xml:lang="nn">Programtilleggliste for fillistelastar i Kate</comment> - <comment xml:lang="pa">ਕੇਟ ਫਾਇਲ ਲਿਸਟ ਲੋਡਰ ਪਲੱਗਇਨ ਲਿਸਟ</comment> - <comment xml:lang="pl">Lista wtyczki do wczytywania plików Kate</comment> - <comment xml:lang="pt">Lista de 'plugins' de carregamento de listas de ficheiros do Kate</comment> - <comment xml:lang="pt_BR">Lista de plugins de carregamento de listas de arquivos do Kate</comment> - <comment xml:lang="ro">listă de module pentru încărcarea liste de fișiere în Kate</comment> - <comment xml:lang="ru">список файлов Kate</comment> - <comment xml:lang="se">Kate-fiilalistoviežži lassemodulalistu</comment> - <comment xml:lang="sk">Zoznam modulov - načítanie zoznamu súborov Kate</comment> - <comment xml:lang="sl">Seznam vstavka nalagalnika seznamov datotek za Kate</comment> - <comment xml:lang="sr">списак Кејтиног прикључка за учитавање фајлова</comment> - <comment xml:lang="sr@ijekavian">списак Кејтиног прикључка за учитавање фајлова</comment> - <comment xml:lang="sr@ijekavianlatin">spisak Kateinog priključka za učitavanje fajlova</comment> - <comment xml:lang="sr@latin">spisak Kateinog priključka za učitavanje fajlova</comment> - <comment xml:lang="sv">Kate insticksprogramlista för laddning av fillistor</comment> - <comment xml:lang="tr">Kate dosya listesi yükleyici eklentisi listesi</comment> - <comment xml:lang="ug">Kate ھۆججەت تىزىمى يۈكلىگۈچ قىستۇرما تىزىمى</comment> - <comment xml:lang="uk">список файлів Kate</comment> - <comment xml:lang="zh_CN">Kate 文件列表装入器插件列表</comment> - <comment xml:lang="zh_TW">Kate 檔案清單載入器外掛程式清單</comment> <glob pattern="*.katefl"/> </mime-type> <mime-type type="text/x-objchdr"> <!-- ??? Useless, without glob or magic. Remove? --> <sub-class-of type="text/x-csrc"/> <comment>Objective-C header</comment> - <comment xml:lang="ar">ترويسة Objective-C</comment> - <comment xml:lang="ast">Cabecera de Objective-C</comment> - <comment xml:lang="bs">Objective‑c zaglavlje</comment> - <comment xml:lang="ca">capçalera Objective-C</comment> - <comment xml:lang="ca@valencia">capçalera Objective-C</comment> - <comment xml:lang="cs">Objective-C hlavička</comment> - <comment xml:lang="da">Objective-C header-fil</comment> - <comment xml:lang="de">Objective-C-Header</comment> - <comment xml:lang="el">Κεφαλίδα Objective-C</comment> - <comment xml:lang="en_GB">Objective-C header</comment> - <comment xml:lang="es">Cabecera de Objective-C</comment> - <comment xml:lang="et">Objective-C päis</comment> - <comment xml:lang="eu">Objective-C goiburua</comment> - <comment xml:lang="fi">Objective C -otsake</comment> - <comment xml:lang="fr">En-tête « Objective-C »</comment> - <comment xml:lang="ga">Ceanntásc Objective-C</comment> - <comment xml:lang="gl">Cabeceira de Objective-C</comment> - <comment xml:lang="hr">Objective-C zaglavlje</comment> - <comment xml:lang="hu">Objective-C-fejlécfájl</comment> - <comment xml:lang="ia">Capite de Objective-C</comment> - <comment xml:lang="is">Objective-C haus</comment> - <comment xml:lang="it">intestazione Objective-C</comment> - <comment xml:lang="ja">Objective-C ヘッダ</comment> - <comment xml:lang="kk">Objective-C айдар файлы</comment> - <comment xml:lang="km">ក្បាល Objective-C</comment> - <comment xml:lang="ko">오브젝티브-C 헤더</comment> - <comment xml:lang="lt">Objektinio-C antraštė</comment> - <comment xml:lang="lv">Objective-C galvene</comment> - <comment xml:lang="ml">ഒബ്ജക്ടീവ്-സി ഹെഡര്</comment> - <comment xml:lang="mr">ओब्जेक्टिव्ह-सी हेडर</comment> - <comment xml:lang="nb">Objective-C hodefil</comment> - <comment xml:lang="nds">"Objective-C"-Koppdatei</comment> - <comment xml:lang="nl">Objective-C-header</comment> - <comment xml:lang="nn">Objective-C-deklarasjonsfil</comment> - <comment xml:lang="pa">Objective-C ਹੈੱਡਰ</comment> - <comment xml:lang="pl">Plik nagłówkowy Objective-C</comment> - <comment xml:lang="pt">Ficheiro de inclusão em Objective-C</comment> - <comment xml:lang="pt_BR">Cabeçalho em Objetive-C</comment> - <comment xml:lang="ro">antet Objective-C</comment> - <comment xml:lang="ru">заголовочный файл Objective-C</comment> - <comment xml:lang="se">Objective-C oaivefiila</comment> - <comment xml:lang="sk">Hlavičkový súbor Objektového C</comment> - <comment xml:lang="sl">Glava za Objective-C</comment> - <comment xml:lang="sr">објектив‑Ц заглавље</comment> - <comment xml:lang="sr@ijekavian">објектив‑Ц заглавље</comment> - <comment xml:lang="sr@ijekavianlatin">Objective‑c zaglavlje</comment> - <comment xml:lang="sr@latin">Objective‑c zaglavlje</comment> - <comment xml:lang="sv">Objective-C deklarationsfil</comment> - <comment xml:lang="th">แฟ้มส่วนหัวภาษา Objective-C</comment> - <comment xml:lang="tr">Objective-C başlığı</comment> - <comment xml:lang="ug">Objective-C باشى</comment> - <comment xml:lang="uk">файл заголовків Objective-C</comment> - <comment xml:lang="zh_CN">Objective-C 头文件</comment> - <comment xml:lang="zh_TW">Objective-C 標頭檔</comment> </mime-type> <mime-type type="text/vnd.abc"> <!-- fdo #6578 --> <sub-class-of type="text/plain"/> <comment>abc musical notation file</comment> - <comment xml:lang="ar">ملف كراسة موسيقية abc</comment> - <comment xml:lang="ast">Ficheru de notación musical abc</comment> - <comment xml:lang="bs">muzička notacija ABC</comment> - <comment xml:lang="ca">fitxer de notació musical abc</comment> - <comment xml:lang="ca@valencia">fitxer de notació musical abc</comment> - <comment xml:lang="cs">Soubor hudební notace abc</comment> - <comment xml:lang="da">abc musiknode-fil</comment> - <comment xml:lang="de">abc-Musik-Notationsdatei</comment> - <comment xml:lang="el">Αρχείο μουσικών συμβόλων abc</comment> - <comment xml:lang="en_GB">abc musical notation file</comment> - <comment xml:lang="es">Archivo de notación musical abc</comment> - <comment xml:lang="et">abc notatsioonifail</comment> - <comment xml:lang="eu">abc musika fitxategia</comment> - <comment xml:lang="fi">abc-musiikkinuottikirjoitustiedosto</comment> - <comment xml:lang="fr">Fichier de notation musicale « ABC »</comment> - <comment xml:lang="ga">Comhad nodaireachta ceoil abc</comment> - <comment xml:lang="gl">ficheiro de notación musical abc</comment> - <comment xml:lang="hr">abc muzičko notacijska datoteka</comment> - <comment xml:lang="hu">Abc-kottafájl</comment> - <comment xml:lang="ia">file de notation musical abc</comment> - <comment xml:lang="is">abc nótnaskriftarskrá</comment> - <comment xml:lang="it">file di notazione musicale abc</comment> - <comment xml:lang="ja">abc ミュージカルノーテーションファイル</comment> - <comment xml:lang="kk">abc музыка ноталар файлы</comment> - <comment xml:lang="km">ឯកសារជូនដំណឹងតន្ត្រី abc</comment> - <comment xml:lang="ko">abc 악보 파일</comment> - <comment xml:lang="lt">abc muzikos natų failas</comment> - <comment xml:lang="lv">abc mūzikas notācijas fails</comment> - <comment xml:lang="ml">എബിസി സംഗീത ചിഹ്ന ഫയല്</comment> - <comment xml:lang="mr">abc संगीत नोटेशन फाईल</comment> - <comment xml:lang="nb">abc musikknotefil</comment> - <comment xml:lang="nds">abc-Musikschrift-Datei</comment> - <comment xml:lang="nl">abc-muzieknotatiebestand</comment> - <comment xml:lang="nn">abc-musikknotasjonsfil</comment> - <comment xml:lang="pl">plik notacji muzycznej abc</comment> - <comment xml:lang="pt">Ficheiro de notação musical do 'abc'</comment> - <comment xml:lang="pt_BR">arquivo de notação musical do abc</comment> - <comment xml:lang="ro">Fișier de notație muzicală abc</comment> - <comment xml:lang="ru">нотная запись ABC</comment> - <comment xml:lang="se">abc-musihkkačállinprográmma</comment> - <comment xml:lang="sk">Súbor hudobnej notácie abc</comment> - <comment xml:lang="sl">Datoteka glasbenega zapisa abc</comment> - <comment xml:lang="sr">музичка нотација АБЦ</comment> - <comment xml:lang="sr@ijekavian">музичка нотација АБЦ</comment> - <comment xml:lang="sr@ijekavianlatin">muzička notacija ABC</comment> - <comment xml:lang="sr@latin">muzička notacija ABC</comment> - <comment xml:lang="sv">abc-musiknotationsfil</comment> - <comment xml:lang="tr">abc müzik notalama dosyası</comment> - <comment xml:lang="ug">abc مۇزىكا بەلگە ھۆججىتى</comment> - <comment xml:lang="uk">файл нотного стану abc</comment> - <comment xml:lang="zh_CN">abc 音乐符号文件</comment> - <comment xml:lang="zh_TW">abc 音樂通知檔</comment> <magic priority="80"> <match type="string" value="%abc" offset="0"/> </magic> @@ -1787,655 +177,73 @@ <!-- all/ fake mime types --> <mime-type type="all/all"> <comment>all files and folders</comment> - <comment xml:lang="ar">كل الملفات و المجلدات</comment> - <comment xml:lang="ast">tolos ficheros y carpetes</comment> - <comment xml:lang="bg">всички файлове и папки</comment> - <comment xml:lang="bs">sve datoteke i direktorije</comment> - <comment xml:lang="ca">tots els fitxers i carpetes</comment> - <comment xml:lang="ca@valencia">tots els fitxers i carpetes</comment> - <comment xml:lang="cs">všechny soubory a složky</comment> - <comment xml:lang="da">alle filer og mapper</comment> - <comment xml:lang="de">Alle Dateien und Ordner</comment> - <comment xml:lang="el">Όλα τα αρχεία και οι φάκελοι</comment> - <comment xml:lang="en_GB">all files and folders</comment> - <comment xml:lang="es">todos los archivos y carpetas</comment> - <comment xml:lang="et">kõik failid ja kataloogid</comment> - <comment xml:lang="eu">fitxategi eta karpeta denak</comment> - <comment xml:lang="fi">kaikki tiedostot ja kansiot</comment> - <comment xml:lang="fr">Tous les fichiers et les dossiers</comment> - <comment xml:lang="ga">gach comhad agus fillteán</comment> - <comment xml:lang="gl">todos os ficheiros e cartafoles</comment> - <comment xml:lang="hr">sve datoteke i direktoriji</comment> - <comment xml:lang="hu">minden fájl és mappa</comment> - <comment xml:lang="ia">omne files e dossieres</comment> - <comment xml:lang="is">allar skrár og möppur</comment> - <comment xml:lang="it">tutti i file e le cartelle</comment> - <comment xml:lang="ja">すべてのファイルとフォルダ</comment> - <comment xml:lang="kk">бүкіл файлдар мен қапшықтар</comment> - <comment xml:lang="km">ឯកសារ និងថតទាំងអស់</comment> - <comment xml:lang="ko">모든 파일과 폴더</comment> - <comment xml:lang="lt">visi failai ir aplankai</comment> - <comment xml:lang="lv">visi faili un mapes</comment> - <comment xml:lang="ml">എല്ലാ ഫയലും ഫോള്ഡറുകളും</comment> - <comment xml:lang="mr">सर्व फाईल्स व संचयीका</comment> - <comment xml:lang="nb">al.le filer og mapper</comment> - <comment xml:lang="nds">All Dateien un Ornern</comment> - <comment xml:lang="nl">alle bestanden en mappen</comment> - <comment xml:lang="nn">alle filer og mapper</comment> - <comment xml:lang="pa">ਸਭ ਫਾਇਲਾਂ ਅਤੇ ਫੋਲਡਰ</comment> - <comment xml:lang="pl">wszystkie pliki i katalogi</comment> - <comment xml:lang="pt">todos os ficheiros e pastas</comment> - <comment xml:lang="pt_BR">todos os arquivos e pastas</comment> - <comment xml:lang="ro">toate fișierele și dosarele</comment> - <comment xml:lang="ru">все файлы и папки</comment> - <comment xml:lang="se">buot fiillat ja máhpat</comment> - <comment xml:lang="sk">všetky súbory a priečinky</comment> - <comment xml:lang="sl">vse datoteke in mape</comment> - <comment xml:lang="sr">сви фајлови и фасцикле</comment> - <comment xml:lang="sr@ijekavian">сви фајлови и фасцикле</comment> - <comment xml:lang="sr@ijekavianlatin">svi fajlovi i fascikle</comment> - <comment xml:lang="sr@latin">svi fajlovi i fascikle</comment> - <comment xml:lang="sv">alla filer och kataloger</comment> - <comment xml:lang="th">แฟ้มและโฟลเดอร์ทั้งหมด</comment> - <comment xml:lang="tr">tüm dosyalar ve dizinler</comment> - <comment xml:lang="ug">ھەممە ھۆججەت ۋە قىسقۇچلار</comment> - <comment xml:lang="uk">всі файли і теки</comment> - <comment xml:lang="zh_CN">全部文件和文件夹</comment> - <comment xml:lang="zh_TW">所有檔案與資料夾</comment> </mime-type> <mime-type type="all/allfiles"> <comment>all files</comment> - <comment xml:lang="ar">كل الملفات</comment> - <comment xml:lang="ast">tolos ficheros</comment> - <comment xml:lang="bg">всички файлове</comment> - <comment xml:lang="bs">sve datoteke</comment> - <comment xml:lang="ca">tots els fitxers</comment> - <comment xml:lang="ca@valencia">tots els fitxers</comment> - <comment xml:lang="cs">všechny soubory</comment> - <comment xml:lang="da">alle filer</comment> - <comment xml:lang="de">Alle Dateien</comment> - <comment xml:lang="el">Όλα τα αρχεία</comment> - <comment xml:lang="en_GB">all files</comment> - <comment xml:lang="es">todos los archivos</comment> - <comment xml:lang="et">kõik failid</comment> - <comment xml:lang="eu">fitxategi denak</comment> - <comment xml:lang="fi">kaikki tiedostot</comment> - <comment xml:lang="fr">Tous les fichiers</comment> - <comment xml:lang="ga">gach comhad</comment> - <comment xml:lang="gl">todos os ficheiros</comment> - <comment xml:lang="hr">sve datoteke</comment> - <comment xml:lang="hu">minden fájl</comment> - <comment xml:lang="ia">omne files</comment> - <comment xml:lang="is">allar skrár</comment> - <comment xml:lang="it">tutti i file</comment> - <comment xml:lang="ja">すべてのファイル</comment> - <comment xml:lang="kk">бүкіл файлдар</comment> - <comment xml:lang="km">ឯកសារទាំងអស់</comment> - <comment xml:lang="ko">모든 파일</comment> - <comment xml:lang="lt">visi failai</comment> - <comment xml:lang="lv">visi faili</comment> - <comment xml:lang="ml">എല്ലാ ഫയലും</comment> - <comment xml:lang="mr">सर्व फाईल्स</comment> - <comment xml:lang="nb">alle filer</comment> - <comment xml:lang="nds">All Dateien</comment> - <comment xml:lang="nl">alle bestanden</comment> - <comment xml:lang="nn">alle filer</comment> - <comment xml:lang="pa">ਸਭ ਫਾਇਲਾਂ</comment> - <comment xml:lang="pl">wszystkie pliki</comment> - <comment xml:lang="pt">todos os ficheiros</comment> - <comment xml:lang="pt_BR">todos os arquivos</comment> - <comment xml:lang="ro">toate fișierele</comment> - <comment xml:lang="ru">все файлы</comment> - <comment xml:lang="se">buot fiillat</comment> - <comment xml:lang="sk">všetky súbory</comment> - <comment xml:lang="sl">vse datoteke</comment> - <comment xml:lang="sr">сви фајлови</comment> - <comment xml:lang="sr@ijekavian">сви фајлови</comment> - <comment xml:lang="sr@ijekavianlatin">svi fajlovi</comment> - <comment xml:lang="sr@latin">svi fajlovi</comment> - <comment xml:lang="sv">alla filer</comment> - <comment xml:lang="th">แฟ้มทั้งหมด</comment> - <comment xml:lang="tr">tüm dosyalar</comment> - <comment xml:lang="ug">ھەممە ھۆججەتلەر</comment> - <comment xml:lang="uk">всі файли</comment> - <comment xml:lang="zh_CN">全部文件</comment> - <comment xml:lang="zh_TW">所有檔案</comment> + </mime-type> + + <!-- uri/ fake mime types --> + <mime-type type="uri/mms"> + <comment>mms: URIs</comment> + </mime-type> + <mime-type type="uri/mmst"> + <comment>mmst: URIs</comment> + </mime-type> + <mime-type type="uri/mmsu"> + <comment>mmsu: URIs</comment> + </mime-type> + <mime-type type="uri/pnm"> + <comment>pnm: URIs</comment> + </mime-type> + <mime-type type="uri/rtspt"> + <comment>rtspt: URIs</comment> + </mime-type> + <mime-type type="uri/rtspu"> + <comment>rtspu: URIs</comment> </mime-type> <mime-type type="application/vnd.kde.fontspackage"> <sub-class-of type="application/zip"/> <comment>fonts package</comment> - <comment xml:lang="ar">حزمة خطوط</comment> - <comment xml:lang="ast">paquete de tribes de lletra</comment> - <comment xml:lang="bs">paket fontova</comment> - <comment xml:lang="ca">paquet de tipus de lletres</comment> - <comment xml:lang="ca@valencia">paquet de tipus de lletres</comment> - <comment xml:lang="cs">balíček písem</comment> - <comment xml:lang="da">skrifttypepakke</comment> - <comment xml:lang="de">Schriftartenpaket</comment> - <comment xml:lang="el">Πακέτο γραμματοσειρών</comment> - <comment xml:lang="en_GB">fonts package</comment> - <comment xml:lang="es">paquete de tipos de letra</comment> - <comment xml:lang="et">fondipakett</comment> - <comment xml:lang="eu">letra-tipoen paketea</comment> - <comment xml:lang="fi">fonttipaketti</comment> - <comment xml:lang="fr">Paquet de polices</comment> - <comment xml:lang="ga">pacáiste clónna</comment> - <comment xml:lang="gl">paquete de tipos de letra</comment> - <comment xml:lang="hr">paket pisama</comment> - <comment xml:lang="hu">betűtípuscsomag</comment> - <comment xml:lang="ia">pacchettos de fonts</comment> - <comment xml:lang="is">leturpakki</comment> - <comment xml:lang="it">pacchetto di caratteri</comment> - <comment xml:lang="ja">フォントパッケージ</comment> - <comment xml:lang="kk">қаріптер дестесі</comment> - <comment xml:lang="km">កញ្ចប់ពុម្ពអក្សរ</comment> - <comment xml:lang="ko">글꼴 패키지</comment> - <comment xml:lang="lt">šriftų paketas</comment> - <comment xml:lang="lv">fontu pakotne</comment> - <comment xml:lang="ml">അക്ഷരസഞ്ചയ പാക്കേജ് </comment> - <comment xml:lang="mr">फॉन्ट पॅकेज</comment> - <comment xml:lang="nb">skriftpakke</comment> - <comment xml:lang="nds">Schriftoorden-Paket</comment> - <comment xml:lang="nl">lettertypenpakket</comment> - <comment xml:lang="nn">skriftpakke</comment> - <comment xml:lang="pa">ਫੋਂਟ ਪੈਕੇਜ</comment> - <comment xml:lang="pl">pakiet czcionek</comment> - <comment xml:lang="pt">pacote de tipos de letra</comment> - <comment xml:lang="pt_BR">pacote de fontes</comment> - <comment xml:lang="ro">pachet de fonturi</comment> - <comment xml:lang="ru">пакет шрифтов</comment> - <comment xml:lang="se">fontapáhkka</comment> - <comment xml:lang="sk">balíček písiem</comment> - <comment xml:lang="sl">paket pisav</comment> - <comment xml:lang="sr">пакет фонтова</comment> - <comment xml:lang="sr@ijekavian">пакет фонтова</comment> - <comment xml:lang="sr@ijekavianlatin">paket fontova</comment> - <comment xml:lang="sr@latin">paket fontova</comment> - <comment xml:lang="sv">teckensnittspaket</comment> - <comment xml:lang="th">แพกเกจชุดแบบอักษร</comment> - <comment xml:lang="tr">yazı tipi paketi</comment> - <comment xml:lang="ug">خەت نۇسخا بوغچىسى</comment> - <comment xml:lang="uk">пакунок шрифтів</comment> - <comment xml:lang="zh_CN">字体包</comment> - <comment xml:lang="zh_TW">字型套件</comment> <glob pattern="*.fonts.zip"/> </mime-type> <mime-type type="application/x-smb-server"> <!-- KDE-specific --> <sub-class-of type="inode/directory"/> <comment>Windows server</comment> - <comment xml:lang="ar">خادم ويندوز</comment> - <comment xml:lang="ast">Sirvidor de Windows</comment> - <comment xml:lang="bs">windows server</comment> - <comment xml:lang="ca">servidor Windows</comment> - <comment xml:lang="ca@valencia">servidor Windows</comment> - <comment xml:lang="cs">Windows server</comment> - <comment xml:lang="da">Windows-server</comment> - <comment xml:lang="de">Windows-Server</comment> - <comment xml:lang="el">Εξυπηρετητής Windows</comment> - <comment xml:lang="en_GB">Windows server</comment> - <comment xml:lang="es">Servidor de Windows</comment> - <comment xml:lang="et">Windowsi server</comment> - <comment xml:lang="eu">Windows zerbitzaria</comment> - <comment xml:lang="fi">Windows-palvelin</comment> - <comment xml:lang="fr">Serveur Windows</comment> - <comment xml:lang="ga">Freastalaí Windows</comment> - <comment xml:lang="gl">Servidor de Windows</comment> - <comment xml:lang="hr">Windows poslužitelj</comment> - <comment xml:lang="hu">Windows-kiszolgáló</comment> - <comment xml:lang="ia">Servitor de Windows</comment> - <comment xml:lang="is">Windows miðlari</comment> - <comment xml:lang="it">server Windows</comment> - <comment xml:lang="ja">Windows サーバ</comment> - <comment xml:lang="kk">Windows сервері</comment> - <comment xml:lang="km">ម៉ាស៊ីនបម្រើវីនដូ</comment> - <comment xml:lang="ko">Windows 서버</comment> - <comment xml:lang="lt">Windows serveris</comment> - <comment xml:lang="lv">Windows serveris</comment> - <comment xml:lang="ml">വിന്ഡോസ് സേവകന്</comment> - <comment xml:lang="mr">विंडोज सर्व्हर</comment> - <comment xml:lang="nb">Windows-tjener</comment> - <comment xml:lang="nds">Windows-Server</comment> - <comment xml:lang="nl">Windows-server</comment> - <comment xml:lang="nn">Windows-tenar</comment> - <comment xml:lang="pa">ਵਿੰਡੋਜ਼ ਸਰਵਰ</comment> - <comment xml:lang="pl">Serwer Windows</comment> - <comment xml:lang="pt">Servidor do Windows</comment> - <comment xml:lang="pt_BR">Servidor do Windows</comment> - <comment xml:lang="ro">Server Windows</comment> - <comment xml:lang="ru">сервер Windows</comment> - <comment xml:lang="se">Windowsbálvá</comment> - <comment xml:lang="sk">Server Windows</comment> - <comment xml:lang="sl">Strežnik Windows</comment> - <comment xml:lang="sq">Windows server</comment> - <comment xml:lang="sr">виндоуз сервер</comment> - <comment xml:lang="sr@ijekavian">виндоуз сервер</comment> - <comment xml:lang="sr@ijekavianlatin">windows server</comment> - <comment xml:lang="sr@latin">windows server</comment> - <comment xml:lang="sv">Windows-server</comment> - <comment xml:lang="th">เครื่องแม่ข่ายวินโดวส์</comment> - <comment xml:lang="tr">Windows sunucusu</comment> - <comment xml:lang="ug">Windows مۇلازىمېتىر</comment> - <comment xml:lang="uk">сервер Windows</comment> - <comment xml:lang="zh_CN">Windows 服务器</comment> - <comment xml:lang="zh_TW">Windows 伺服器</comment> </mime-type> <mime-type type="application/x-smb-workgroup"> <!-- KDE-specific --> <sub-class-of type="inode/directory"/> <comment>Windows workgroup</comment> - <comment xml:lang="ar">مجموعة عمل ويندوز</comment> - <comment xml:lang="ast">Grupu de trabayu de Windows</comment> - <comment xml:lang="bs">windows radna grupa</comment> - <comment xml:lang="ca">treball en grup Windows</comment> - <comment xml:lang="ca@valencia">treball en grup Windows</comment> - <comment xml:lang="cs">Pracovní skupina Windows</comment> - <comment xml:lang="da">Windows-arbejdsgruppe</comment> - <comment xml:lang="de">Windows-Arbeitsgruppe</comment> - <comment xml:lang="el">Ομάδα εργασίας Windows</comment> - <comment xml:lang="en_GB">Windows workgroup</comment> - <comment xml:lang="es">Grupo de trabajo de Windows</comment> - <comment xml:lang="et">Windowsi töögrupp</comment> - <comment xml:lang="eu">Windows lantaldea</comment> - <comment xml:lang="fi">Windows-työryhmä</comment> - <comment xml:lang="fr">Groupe de travail Windows</comment> - <comment xml:lang="ga">Grúpa oibre Windows</comment> - <comment xml:lang="gl">Grupo de traballo de Windows</comment> - <comment xml:lang="hr">Windows radna grupa</comment> - <comment xml:lang="hu">Windows munkacsoport</comment> - <comment xml:lang="ia">Gruppo de travalio de Windows</comment> - <comment xml:lang="is">Windows vinnuhópur</comment> - <comment xml:lang="it">gruppo di lavoro di Windows</comment> - <comment xml:lang="ja">Windows ワークグループ</comment> - <comment xml:lang="kk">Windows жұмыс тобы</comment> - <comment xml:lang="km">ក្រុមការងាររបស់វីនដូ</comment> - <comment xml:lang="ko">Windows 작업 그룹</comment> - <comment xml:lang="lt">Windows darbo grupė</comment> - <comment xml:lang="lv">Windows darbagrupa</comment> - <comment xml:lang="ml">വിന്ഡോസ് പണി-കൂട്ടം</comment> - <comment xml:lang="mr">विंडोज वर्कग्रूप</comment> - <comment xml:lang="nb">Windows workgroup</comment> - <comment xml:lang="nds">Windows-Arbeitkoppel</comment> - <comment xml:lang="nl">Windows-werkgroep</comment> - <comment xml:lang="nn">Windows-arbeidsgruppe</comment> - <comment xml:lang="pa">ਵਿੰਡੋਜ਼ ਵਰਕਗਰੁੱਪ</comment> - <comment xml:lang="pl">Grupa robocza Windows</comment> - <comment xml:lang="pt">Grupo de trabalho do Windows</comment> - <comment xml:lang="pt_BR">Grupo de trabalho do Windows</comment> - <comment xml:lang="ro">Grup de lucru Windows</comment> - <comment xml:lang="ru">рабочая группа Windows</comment> - <comment xml:lang="se">Windowsbargojoavku</comment> - <comment xml:lang="sk">Pracovná skupina Windows</comment> - <comment xml:lang="sl">Delovna skupina Windows</comment> - <comment xml:lang="sq">Windows workgroup</comment> - <comment xml:lang="sr">виндоуз радна група</comment> - <comment xml:lang="sr@ijekavian">виндоуз радна група</comment> - <comment xml:lang="sr@ijekavianlatin">windows radna grupa</comment> - <comment xml:lang="sr@latin">windows radna grupa</comment> - <comment xml:lang="sv">Windows-arbetsgrupp</comment> - <comment xml:lang="th">กลุ่มงานของวินโดวส์</comment> - <comment xml:lang="tr">Windows çalışma grubu</comment> - <comment xml:lang="ug">Windows خىزمەت گۇرۇپپىسى</comment> - <comment xml:lang="uk">робоча група Windows</comment> - <comment xml:lang="zh_CN">Windows 工作组</comment> - <comment xml:lang="zh_TW">Windows 工作群組</comment> </mime-type> <mime-type type="application/x-ksysguard"> <!-- <sub-class-of type="application/xml"/> --> <comment>KDE system monitor</comment> - <comment xml:lang="ar">نظام مراقبة كدي</comment> - <comment xml:lang="ast">Monitor del sistema de KDE</comment> - <comment xml:lang="bg">Системен монитор за KDE</comment> - <comment xml:lang="bs">KDE sistemski monitor</comment> - <comment xml:lang="ca">Controlador del sistema del KDE</comment> - <comment xml:lang="ca@valencia">Controlador del sistema del KDE</comment> - <comment xml:lang="cs">Monitor systému pro KDE</comment> - <comment xml:lang="da">KDE systemovervågning</comment> - <comment xml:lang="de">KDE-Systemüberwachung</comment> - <comment xml:lang="el">Επόπτης συστήματος του KDE</comment> - <comment xml:lang="en_GB">KDE system monitor</comment> - <comment xml:lang="es">Monitor del sistema de KDE</comment> - <comment xml:lang="et">KDE süsteemi jälgija</comment> - <comment xml:lang="eu">KDE sistema monitorea</comment> - <comment xml:lang="fi">KDE:n järjestelmänvalvonta</comment> - <comment xml:lang="fr">Moniteur système KDE</comment> - <comment xml:lang="ga">Monatóir an chórais KDE</comment> - <comment xml:lang="gl">Vixiante do sistema de KDE</comment> - <comment xml:lang="hr">KDE-ov monitor sustava</comment> - <comment xml:lang="hu">KDE rendszermonitor</comment> - <comment xml:lang="ia">Monitor de Systema de KDE</comment> - <comment xml:lang="is">KDE kerfiseftirlit</comment> - <comment xml:lang="it">monitor di sistema di KDE</comment> - <comment xml:lang="ja">KDE システムモニタ</comment> - <comment xml:lang="kk">KDE жүйе мониторы</comment> - <comment xml:lang="km">កម្មវិធីត្រួតពិនិត្យប្រព័ន្ធរបស់ KDE</comment> - <comment xml:lang="ko">KDE 시스템 모니터</comment> - <comment xml:lang="lt">KDE sistemos stebėtojas</comment> - <comment xml:lang="lv">KDE sistēmas novērotājs</comment> - <comment xml:lang="ml">കെഡിഇ സിസ്റ്റം നിരിക്ഷകന്</comment> - <comment xml:lang="mr">केडीई प्रणाली मॉनिटर</comment> - <comment xml:lang="nb">KDE systemvakt</comment> - <comment xml:lang="nds">KDE-Systeemwachter</comment> - <comment xml:lang="nl">KDE systeembewaking</comment> - <comment xml:lang="nn">KDE-systemovervaking</comment> - <comment xml:lang="pa">KDE ਸਿਸਟਮ ਮਾਨੀਟਰ</comment> - <comment xml:lang="pl">Monitor systemowy KDE</comment> - <comment xml:lang="pt">Monitor do sistema KDE</comment> - <comment xml:lang="pt_BR">Monitor do sistema do KDE</comment> - <comment xml:lang="ro">Monitor sistem KDE</comment> - <comment xml:lang="ru">системный монитор KDE</comment> - <comment xml:lang="se">KDE vuogádatgoziheaddji</comment> - <comment xml:lang="sk">Monitor systému pre KDE</comment> - <comment xml:lang="sl">Sistemski nadzornik KDE</comment> - <comment xml:lang="sr">КДЕ системски монитор</comment> - <comment xml:lang="sr@ijekavian">КДЕ системски монитор</comment> - <comment xml:lang="sr@ijekavianlatin">KDE sistemski monitor</comment> - <comment xml:lang="sr@latin">KDE sistemski monitor</comment> - <comment xml:lang="sv">KDE-systemövervakare</comment> - <comment xml:lang="th">เครื่องมือติดตามการทำงานของระบบของ KDE</comment> - <comment xml:lang="tr">KDE sistem izleyici</comment> - <comment xml:lang="ug">KDE سىستېما كۆزەتكۈچ</comment> - <comment xml:lang="uk">нагляд за системою KDE</comment> - <comment xml:lang="zh_CN">KDE 系统监视器</comment> - <comment xml:lang="zh_TW">KDE 系統監視器</comment> <glob pattern="*.sgrd"/> </mime-type> <mime-type type="application/x-ktheme"> <sub-class-of type="application/zip"/> <comment>KDE theme</comment> - <comment xml:lang="ar">سمة كدي</comment> - <comment xml:lang="ast">Tema de KDE</comment> - <comment xml:lang="bg">Тема за KDE</comment> - <comment xml:lang="bs">KDE tema</comment> - <comment xml:lang="ca">tema del KDE</comment> - <comment xml:lang="ca@valencia">tema del KDE</comment> - <comment xml:lang="cs">Motiv KDE</comment> - <comment xml:lang="da">KDE-tema</comment> - <comment xml:lang="de">KDE-Design</comment> - <comment xml:lang="el">Θέμα του KDE</comment> - <comment xml:lang="en_GB">KDE theme</comment> - <comment xml:lang="es">Tema de KDE</comment> - <comment xml:lang="et">KDE teema</comment> - <comment xml:lang="eu">KDE tema</comment> - <comment xml:lang="fi">KDE-teema</comment> - <comment xml:lang="fr">Thème KDE</comment> - <comment xml:lang="ga">Téama KDE</comment> - <comment xml:lang="gl">Tema de KDE</comment> - <comment xml:lang="hr">KDE-ova tema</comment> - <comment xml:lang="hu">KDE-téma</comment> - <comment xml:lang="ia">Thema de KDE</comment> - <comment xml:lang="is">KDE þema</comment> - <comment xml:lang="it">tema di KDE</comment> - <comment xml:lang="ja">KDE テーマ</comment> - <comment xml:lang="kk">KDE нақышы</comment> - <comment xml:lang="km">ស្បែករបស់ KDE</comment> - <comment xml:lang="ko">KDE 테마</comment> - <comment xml:lang="lt">KDE tema</comment> - <comment xml:lang="lv">KDE tēma</comment> - <comment xml:lang="ml">കെഡിഇ പ്രമേയം</comment> - <comment xml:lang="mr">केडीई शैली</comment> - <comment xml:lang="nb">KDE-tema</comment> - <comment xml:lang="nds">KDE-Muster</comment> - <comment xml:lang="nl">KDE-thema</comment> - <comment xml:lang="nn">KDE-tema</comment> - <comment xml:lang="pa">KDE ਥੀਮ</comment> - <comment xml:lang="pl">Motyw KDE</comment> - <comment xml:lang="pt">Tema do KDE</comment> - <comment xml:lang="pt_BR">Tema do KDE</comment> - <comment xml:lang="ro">Tematică KDE</comment> - <comment xml:lang="ru">оформление KDE</comment> - <comment xml:lang="se">KDE fáddá</comment> - <comment xml:lang="sk">Téma KDE</comment> - <comment xml:lang="sl">Tema KDE</comment> - <comment xml:lang="sr">КДЕ тема</comment> - <comment xml:lang="sr@ijekavian">КДЕ тема</comment> - <comment xml:lang="sr@ijekavianlatin">KDE tema</comment> - <comment xml:lang="sr@latin">KDE tema</comment> - <comment xml:lang="sv">KDE-tema</comment> - <comment xml:lang="th">ชุดตกแต่ง KDE</comment> - <comment xml:lang="tr">KDE teması</comment> - <comment xml:lang="ug">KDE ئۆرنىكى</comment> - <comment xml:lang="uk">тема KDE</comment> - <comment xml:lang="zh_CN">KDE 主题</comment> - <comment xml:lang="zh_TW">KDE 主題</comment> <glob pattern="*.kth"/> </mime-type> <mime-type type="application/x-quanta"> <sub-class-of type="text/plain"/> <comment>Quanta project</comment> - <comment xml:lang="ar">مشروع Quanta</comment> - <comment xml:lang="ast">Proyeutu de Quanta</comment> - <comment xml:lang="bg">Проект на Quanta</comment> - <comment xml:lang="bs">Quantin projekat</comment> - <comment xml:lang="ca">projecte del Quanta</comment> - <comment xml:lang="ca@valencia">projecte del Quanta</comment> - <comment xml:lang="cs">Projekt Quanta</comment> - <comment xml:lang="da">Quanta-projekt</comment> - <comment xml:lang="de">Quanta-Projekt</comment> - <comment xml:lang="el">Έργο Quanta</comment> - <comment xml:lang="en_GB">Quanta project</comment> - <comment xml:lang="es">Proyecto de Quanta</comment> - <comment xml:lang="et">Quanta projekt</comment> - <comment xml:lang="eu">Quanta proiektua</comment> - <comment xml:lang="fi">Quanta-projekti</comment> - <comment xml:lang="fr">Projet Quanta</comment> - <comment xml:lang="ga">Tionscadal Quanta</comment> - <comment xml:lang="gl">Proxecto de Quanta</comment> - <comment xml:lang="hr">Quanta projekt</comment> - <comment xml:lang="hu">Quanta-projekt</comment> - <comment xml:lang="ia">Quanta : Projecto</comment> - <comment xml:lang="is">Quanta verkefni</comment> - <comment xml:lang="it">progetto di Quanta</comment> - <comment xml:lang="ja">Quanta プロジェクト</comment> - <comment xml:lang="kk">Quanta жобасы</comment> - <comment xml:lang="km">គម្រោង Quanta</comment> - <comment xml:lang="ko">Quanta 프로젝트</comment> - <comment xml:lang="lt">Quanta projektas</comment> - <comment xml:lang="lv">Quanta projekts</comment> - <comment xml:lang="ml">ക്വാണ്ട പദ്ധതി</comment> - <comment xml:lang="mr">क्वांटा परियोजना</comment> - <comment xml:lang="nb">Quanta-prosjekt</comment> - <comment xml:lang="nds">Quanta-Projekt</comment> - <comment xml:lang="nl">Quanta-project</comment> - <comment xml:lang="nn">Quanta-prosjekt</comment> - <comment xml:lang="pa">ਕੁਆਂਟਾ ਪਰੋਜੈਕਟ</comment> - <comment xml:lang="pl">Projekt Quanty</comment> - <comment xml:lang="pt">Projecto do Quanta</comment> - <comment xml:lang="pt_BR">Projeto do Quanta</comment> - <comment xml:lang="ro">Proiect Quanta</comment> - <comment xml:lang="ru">проект Quanta</comment> - <comment xml:lang="se">Quanta-prošeakta</comment> - <comment xml:lang="sk">Projekt Quanta</comment> - <comment xml:lang="sl">Projekt Quanta</comment> - <comment xml:lang="sr">Квантин пројекат</comment> - <comment xml:lang="sr@ijekavian">Квантин пројекат</comment> - <comment xml:lang="sr@ijekavianlatin">Quantin projekat</comment> - <comment xml:lang="sr@latin">Quantin projekat</comment> - <comment xml:lang="sv">Quanta-projekt</comment> - <comment xml:lang="th">เอกสารโครงงาน Quanta</comment> - <comment xml:lang="tr">Quanta projesi</comment> - <comment xml:lang="ug">Quanta قۇرۇلۇشى</comment> - <comment xml:lang="uk">проект Quanta</comment> - <comment xml:lang="zh_CN">Quanta 工程</comment> - <comment xml:lang="zh_TW">Quanta 專案</comment> <glob pattern="*.quanta"/> </mime-type> <mime-type type="application/x-kommander"> <sub-class-of type="text/plain"/> <comment>Kommander file</comment> - <comment xml:lang="ar">ملف Kommander</comment> - <comment xml:lang="ast">Ficheru de Kommander</comment> - <comment xml:lang="bg">Файл на Kommander</comment> - <comment xml:lang="bs">Kommanderov fajl</comment> - <comment xml:lang="ca">fitxer del Kommander</comment> - <comment xml:lang="ca@valencia">fitxer del Kommander</comment> - <comment xml:lang="cs">Soubor Kommanderu</comment> - <comment xml:lang="da">Kommander-fil</comment> - <comment xml:lang="de">Kommander-Datei</comment> - <comment xml:lang="el">Αρχείο Kommander</comment> - <comment xml:lang="en_GB">Kommander file</comment> - <comment xml:lang="es">Archivo de Kommander</comment> - <comment xml:lang="et">Kommanderi fail</comment> - <comment xml:lang="eu">Kommander fitxategia</comment> - <comment xml:lang="fi">Kommander-tiedosto</comment> - <comment xml:lang="fr">Fichier Kommander</comment> - <comment xml:lang="ga">Comhad Kommander</comment> - <comment xml:lang="gl">Ficheiro do Kommander</comment> - <comment xml:lang="hr">Kommander datoteka</comment> - <comment xml:lang="hu">Kommander-fájl</comment> - <comment xml:lang="ia">Kommander : file</comment> - <comment xml:lang="is">Kommander skrá</comment> - <comment xml:lang="it">file di Kommander</comment> - <comment xml:lang="ja">Kommander ファイル</comment> - <comment xml:lang="kk">Kommander файлы</comment> - <comment xml:lang="km">ឯកសាររបស់ Kommander</comment> - <comment xml:lang="ko">Kommander 파일</comment> - <comment xml:lang="lt">Kommander failas</comment> - <comment xml:lang="lv">Kommander fails</comment> - <comment xml:lang="ml">കോമാന്ഡെര് ഫയല്</comment> - <comment xml:lang="mr">कमांडर फाईल</comment> - <comment xml:lang="nb">Kommander-fil</comment> - <comment xml:lang="nds">Kommander-Datei</comment> - <comment xml:lang="nl">Kommander-bestand</comment> - <comment xml:lang="nn">Kommander-fil</comment> - <comment xml:lang="pa">Kommander ਫਾਇਲ</comment> - <comment xml:lang="pl">Plik Kommandera</comment> - <comment xml:lang="pt">Ficheiro do Kommander</comment> - <comment xml:lang="pt_BR">Arquivo do Kommander</comment> - <comment xml:lang="ro">Fișier Kommander</comment> - <comment xml:lang="ru">файл Kommander</comment> - <comment xml:lang="se">Kommanderfiila</comment> - <comment xml:lang="sk">Súbor Kommander</comment> - <comment xml:lang="sl">Datoteka Kommanderja</comment> - <comment xml:lang="sr">Командеров фајл</comment> - <comment xml:lang="sr@ijekavian">Командеров фајл</comment> - <comment xml:lang="sr@ijekavianlatin">Kommanderov fajl</comment> - <comment xml:lang="sr@latin">Kommanderov fajl</comment> - <comment xml:lang="sv">Kommander-fil</comment> - <comment xml:lang="tr">Kommander dosyası</comment> - <comment xml:lang="ug">Kommander ھۆججەت</comment> - <comment xml:lang="uk">файл Kommander</comment> - <comment xml:lang="zh_CN">Kommander 文件</comment> - <comment xml:lang="zh_TW">Kommander 檔案</comment> <glob pattern="*.kmdr"/> </mime-type> <mime-type type="application/x-tuberling"> <comment>potato</comment> - <comment xml:lang="ar">بطاطا</comment> - <comment xml:lang="ast">potato</comment> - <comment xml:lang="bs">Krompirkova datoteka</comment> - <comment xml:lang="ca">patata</comment> - <comment xml:lang="ca@valencia">patata</comment> - <comment xml:lang="cs">brambora</comment> - <comment xml:lang="da">potato</comment> - <comment xml:lang="de">potato</comment> - <comment xml:lang="el">πατάτα</comment> - <comment xml:lang="en_GB">potato</comment> - <comment xml:lang="es">potato</comment> - <comment xml:lang="et">potato</comment> - <comment xml:lang="eu">potato</comment> - <comment xml:lang="fi">peruna</comment> - <comment xml:lang="fr">patate</comment> - <comment xml:lang="ga">práta</comment> - <comment xml:lang="gl">potato</comment> - <comment xml:lang="hr">potato</comment> - <comment xml:lang="hu">potato</comment> - <comment xml:lang="ia">patata</comment> - <comment xml:lang="is">Kartafla (potato)</comment> - <comment xml:lang="it">patata</comment> - <comment xml:lang="ja">potato</comment> - <comment xml:lang="kk">картоп</comment> - <comment xml:lang="km">ដំឡូង</comment> - <comment xml:lang="ko">potato</comment> - <comment xml:lang="lt">bulvė</comment> - <comment xml:lang="lv">kartupelis</comment> - <comment xml:lang="ml">ഉരുള കിഴങ്ങ്</comment> - <comment xml:lang="mr">पोटेटो</comment> - <comment xml:lang="nb">potato</comment> - <comment xml:lang="nds">Kantüffel</comment> - <comment xml:lang="nl">aardappel</comment> - <comment xml:lang="nn">potato</comment> - <comment xml:lang="pa">ਆਲੂ</comment> - <comment xml:lang="pl">potato</comment> - <comment xml:lang="pt">batata</comment> - <comment xml:lang="pt_BR">batata</comment> - <comment xml:lang="ro">cartof</comment> - <comment xml:lang="ru">картофельный парень</comment> - <comment xml:lang="se">buđet</comment> - <comment xml:lang="sk">potato</comment> - <comment xml:lang="sl">krompirček</comment> - <comment xml:lang="sq">potato</comment> - <comment xml:lang="sr">Кромпирков фајл</comment> - <comment xml:lang="sr@ijekavian">Кромпирков фајл</comment> - <comment xml:lang="sr@ijekavianlatin">Krompirkov fajl</comment> - <comment xml:lang="sr@latin">Krompirkov fajl</comment> - <comment xml:lang="sv">potatis</comment> - <comment xml:lang="tr">patates</comment> - <comment xml:lang="ug">ياڭيۇ</comment> - <comment xml:lang="uk">картоплина</comment> - <comment xml:lang="zh_CN">potato</comment> - <comment xml:lang="zh_TW">馬鈴薯</comment> <glob pattern="*.tuberling"/> </mime-type> <mime-type type="application/x-kolf"> <comment>Kolf saved game</comment> - <comment xml:lang="ar">لعبة Kolf محفوظة</comment> - <comment xml:lang="ast">Xuegu guardáu de Kolf</comment> - <comment xml:lang="bg">Запазена игра на Kolf</comment> - <comment xml:lang="bs">Kolfova sačuvana igra</comment> - <comment xml:lang="ca">joc desat del Kolf</comment> - <comment xml:lang="ca@valencia">joc guardat del Kolf</comment> - <comment xml:lang="cs">Uložená hra Kolf</comment> - <comment xml:lang="da">Gemt spil til Kolf</comment> - <comment xml:lang="de">Kolf – gespeichertes Spiel</comment> - <comment xml:lang="el">Αποθηκευμένο παιχνίδι Kolf</comment> - <comment xml:lang="en_GB">Kolf saved game</comment> - <comment xml:lang="es">Juego guardado de Kolf</comment> - <comment xml:lang="et">Kolfi salvestatud mäng</comment> - <comment xml:lang="eu">Kolf-ek gordetako jokaldia</comment> - <comment xml:lang="fi">Tallennettu Kolf-peli</comment> - <comment xml:lang="fr">Partie enregistrée de Kolf </comment> - <comment xml:lang="ga">Cluiche sábháilte Kolf</comment> - <comment xml:lang="gl">Partida de Kolf</comment> - <comment xml:lang="hr">Kolf spremljena igra</comment> - <comment xml:lang="hu">Kolf mentett állás</comment> - <comment xml:lang="ia">Kolf : Joco salveguardate</comment> - <comment xml:lang="is">Vistaður Kolf leikur</comment> - <comment xml:lang="it">partita salvata di Kolf</comment> - <comment xml:lang="ja">Kolf 保存されたゲーム</comment> - <comment xml:lang="kk">Kolf сақталған ойыны</comment> - <comment xml:lang="km">ល្បែងដែលបានរក្សាទុករបស់ Kolf</comment> - <comment xml:lang="ko">Kolf 저장된 게임</comment> - <comment xml:lang="lt">Kolf išsaugotas žaidimas</comment> - <comment xml:lang="lv">Kolf saglabāta spēle</comment> - <comment xml:lang="ml">കോള്ഫ് ശേഖരിച്ച കളി</comment> - <comment xml:lang="mr">कोल्फ साठवलेला खेळ</comment> - <comment xml:lang="nb">Kolf lagret spill</comment> - <comment xml:lang="nds">Sekert Kolf-Speel</comment> - <comment xml:lang="nl">Opgeslagen Kolf-spel</comment> - <comment xml:lang="nn">Lagra Kolf-spel</comment> - <comment xml:lang="pa">Kolf ਸੰਭਾਲੀ ਖੇਡ</comment> - <comment xml:lang="pl">Zapisana gra Kolfa</comment> - <comment xml:lang="pt">Jogo gravado do Kolf</comment> - <comment xml:lang="pt_BR">Jogo salvo do Kolf</comment> - <comment xml:lang="ro">Joc salvat Kolf</comment> - <comment xml:lang="ru">сохранённая игра Kolf</comment> - <comment xml:lang="se">Kolf vurkejuvvon speallu</comment> - <comment xml:lang="sk">Uložená hra Kolf</comment> - <comment xml:lang="sl">Shranjena igra Kolf</comment> - <comment xml:lang="sr">Колфова сачувана игра</comment> - <comment xml:lang="sr@ijekavian">Колфова сачувана игра</comment> - <comment xml:lang="sr@ijekavianlatin">Kolfova sačuvana igra</comment> - <comment xml:lang="sr@latin">Kolfova sačuvana igra</comment> - <comment xml:lang="sv">Kolf sparat spel</comment> - <comment xml:lang="th">ข้อมูลที่บันทึกไว้ของเกม Kolf</comment> - <comment xml:lang="tr">Kolf kaydedilmiş oyunu</comment> - <comment xml:lang="ug">Kolf ساقلىغان ئويۇن</comment> - <comment xml:lang="uk">збережена гра Kolf</comment> - <comment xml:lang="zh_CN">Kolf 保存的游戏</comment> - <comment xml:lang="zh_TW">Kolf 儲存遊戲</comment> <magic priority="80"> <match offset="0" type="string" value="[0 Saved Game]" /> </magic> @@ -2443,60 +251,6 @@ </mime-type> <mime-type type="application/x-kourse"> <comment>Kolf course</comment> - <comment xml:lang="ar">دورة Kolf</comment> - <comment xml:lang="ast">Campu de Kolf</comment> - <comment xml:lang="bs">Kolfov teren</comment> - <comment xml:lang="ca">camp del Kolf</comment> - <comment xml:lang="ca@valencia">camp del Kolf</comment> - <comment xml:lang="cs">Kurz Kolf</comment> - <comment xml:lang="da">Kolf-bane</comment> - <comment xml:lang="de">Kolf-Parcour</comment> - <comment xml:lang="el">Πίστα Kolf</comment> - <comment xml:lang="en_GB">Kolf course</comment> - <comment xml:lang="es">Campo de Kolf</comment> - <comment xml:lang="et">Kolfiväljak</comment> - <comment xml:lang="eu">Kolf ikastaroa</comment> - <comment xml:lang="fi">Kolf-rata</comment> - <comment xml:lang="fr">Parcours Kolf</comment> - <comment xml:lang="ga">Cúrsa Kolf</comment> - <comment xml:lang="gl">Campo de Kolf</comment> - <comment xml:lang="hr">Kolf staza</comment> - <comment xml:lang="hu">Kolf-pálya</comment> - <comment xml:lang="ia">Kolf : curso</comment> - <comment xml:lang="is">Kolf braut</comment> - <comment xml:lang="it">campo da Kolf</comment> - <comment xml:lang="ja">Kolf コース</comment> - <comment xml:lang="kk">Kolf алаңы</comment> - <comment xml:lang="km">វគ្គរបស់ Kolf</comment> - <comment xml:lang="ko">Kolf 코스</comment> - <comment xml:lang="lt">Kolf laukas</comment> - <comment xml:lang="lv">Kolf kurss</comment> - <comment xml:lang="ml">കോള്ഫ് കോഴ്സ്</comment> - <comment xml:lang="mr">कोल्फ कोर्स</comment> - <comment xml:lang="nb">Kolf-bane</comment> - <comment xml:lang="nds">Kolf-Platz</comment> - <comment xml:lang="nl">Kolf-baan</comment> - <comment xml:lang="nn">Kolf-bane</comment> - <comment xml:lang="pa">Kolf ਕੋਰਸ</comment> - <comment xml:lang="pl">Opis dołka Kolfa</comment> - <comment xml:lang="pt">Campo do Kolf</comment> - <comment xml:lang="pt_BR">Campo de golfe</comment> - <comment xml:lang="ro">Curs de Kolf</comment> - <comment xml:lang="ru">площадка Kolf</comment> - <comment xml:lang="se">Kolfbána</comment> - <comment xml:lang="sk">Kurz Kolf</comment> - <comment xml:lang="sl">Igrišče Kolf</comment> - <comment xml:lang="sr">Колфов терен</comment> - <comment xml:lang="sr@ijekavian">Колфов терен</comment> - <comment xml:lang="sr@ijekavianlatin">Kolfov teren</comment> - <comment xml:lang="sr@latin">Kolfov teren</comment> - <comment xml:lang="sv">Kolfbana</comment> - <comment xml:lang="th">คอร์สของเกม Kolf</comment> - <comment xml:lang="tr">Kolf etabı</comment> - <comment xml:lang="ug">Kolf دەرسلىكى</comment> - <comment xml:lang="uk">майданчик Kolf</comment> - <comment xml:lang="zh_CN">Kolf 教程</comment> - <comment xml:lang="zh_TW">Kolf 球場</comment> <magic priority="80"> <match offset="0" type="string" value="[0-course@-50,-50]" /> </magic> @@ -2507,120 +261,11 @@ <mime-type type="application/vnd.kde.okular-archive"> <comment>Okular document archive</comment> - <comment xml:lang="ar">أرشيف مستند أوكلار</comment> - <comment xml:lang="ast">Ficheru de documentu de Okular</comment> - <comment xml:lang="bs">Okularova arhiva dokumenata</comment> - <comment xml:lang="ca">arxiu de document de l'Okular</comment> - <comment xml:lang="ca@valencia">arxiu de document de l'Okular</comment> - <comment xml:lang="cs">Archiv dokumentu Okular</comment> - <comment xml:lang="da">Okular dokumentarkiv</comment> - <comment xml:lang="de">Okular-Dokumentarchiv</comment> - <comment xml:lang="el">Αρχειοθήκη εγγράφου Okular</comment> - <comment xml:lang="en_GB">Okular document archive</comment> - <comment xml:lang="es">Archivo de documento de Okular</comment> - <comment xml:lang="et">Okulari dokumendiarhiiv</comment> - <comment xml:lang="eu">Okular dokumentu-artxiboa</comment> - <comment xml:lang="fi">Okular-tiedostoarkisto</comment> - <comment xml:lang="fr">Archive de documents Okular</comment> - <comment xml:lang="ga">Cartlann cáipéisí Okular</comment> - <comment xml:lang="gl">Arquivo de documento de Okular</comment> - <comment xml:lang="hr">arhiva dokumenta za Okular</comment> - <comment xml:lang="hu">Okular-archívum</comment> - <comment xml:lang="ia">Okular : archivo de documento</comment> - <comment xml:lang="is">Okular skjalasafnskrá</comment> - <comment xml:lang="it">archivio di documenti di Okular</comment> - <comment xml:lang="ja">Okular 文書アーカイブ</comment> - <comment xml:lang="kk">Okular құжат архиві</comment> - <comment xml:lang="km">ប័ណ្ណសារឯកសាររបស់ Okular</comment> - <comment xml:lang="ko">Okular 문서 압축 파일</comment> - <comment xml:lang="lt">Okular dokumento archyvas</comment> - <comment xml:lang="lv">Okular dokumentu arhīvs</comment> - <comment xml:lang="ml">ഓക്കുലാര് രേഖകളുടെ ശേഖരം</comment> - <comment xml:lang="mr">ओक्युलर दस्तऐवज संग्रह</comment> - <comment xml:lang="nb">Okular dokumentarkiv</comment> - <comment xml:lang="nds">Okular-Dokmentenarchiev</comment> - <comment xml:lang="nl">Okular-documentarchief</comment> - <comment xml:lang="nn">Okular-dokumentarkiv</comment> - <comment xml:lang="pa">ਓਕੁਲਾਰ ਡੌਕੂਮੈਂਟ ਅਕਾਇਵ</comment> - <comment xml:lang="pl">Archiwum dokumentu Okulara</comment> - <comment xml:lang="pt">Pacote de documentos do Okular</comment> - <comment xml:lang="pt_BR">Arquivo de documento do Okular</comment> - <comment xml:lang="ro">Arhivă cu documente Okular</comment> - <comment xml:lang="ru">архив Okular</comment> - <comment xml:lang="se">Okular dokumeantaarkiiva</comment> - <comment xml:lang="sk">Archív dokumentu Okular</comment> - <comment xml:lang="sl">Arhiv dokumentov za Okular</comment> - <comment xml:lang="sr">Окуларова архива докумената</comment> - <comment xml:lang="sr@ijekavian">Окуларова архива докумената</comment> - <comment xml:lang="sr@ijekavianlatin">Okularova arhiva dokumenata</comment> - <comment xml:lang="sr@latin">Okularova arhiva dokumenata</comment> - <comment xml:lang="sv">Okular-dokumentarkiv</comment> - <comment xml:lang="th">แฟ้มจัดเก็บเอกสารของ Okular</comment> - <comment xml:lang="tr">Okular belge arşivi</comment> - <comment xml:lang="ug">Okular پۈتۈك ئارخىپى</comment> - <comment xml:lang="uk">архів документа Okular</comment> - <comment xml:lang="zh_CN">Okular 文档归档</comment> - <comment xml:lang="zh_TW">Okular 文件歸檔</comment> <glob pattern="*.okular"/> </mime-type> <mime-type type="application/x-cabri"> <comment>Cabri figure</comment> - <comment xml:lang="ar">صورة Cabri</comment> - <comment xml:lang="ast">Figura de Cabri</comment> - <comment xml:lang="bs">Cabrijev crtež</comment> - <comment xml:lang="ca">figura del Cabri</comment> - <comment xml:lang="ca@valencia">figura del Cabri</comment> - <comment xml:lang="cs">Obrázek Cabri</comment> - <comment xml:lang="da">Cabri-figur</comment> - <comment xml:lang="de">Cabri-Zeichnung</comment> - <comment xml:lang="el">Σχήμα Cabri</comment> - <comment xml:lang="en_GB">Cabri figure</comment> - <comment xml:lang="es">Figura de Cabri</comment> - <comment xml:lang="et">Cabri kujund</comment> - <comment xml:lang="eu">Cabri irudia</comment> - <comment xml:lang="fi">Cabri-kuvio</comment> - <comment xml:lang="fr">Figure Cabri</comment> - <comment xml:lang="ga">Léaráid Cabri</comment> - <comment xml:lang="gl">Figura de Cabri</comment> - <comment xml:lang="hr">Cabri figura</comment> - <comment xml:lang="hu">Cabri-alakzat</comment> - <comment xml:lang="ia">Cabri : Figura</comment> - <comment xml:lang="is">Cabri teikning</comment> - <comment xml:lang="it">figura Cabri</comment> - <comment xml:lang="ja">Cabri figure</comment> - <comment xml:lang="kk">Cabri суреті</comment> - <comment xml:lang="km">Cabri figure</comment> - <comment xml:lang="ko">Cabri 그림</comment> - <comment xml:lang="lt">Cabri figūra</comment> - <comment xml:lang="lv">Cabri figūra</comment> - <comment xml:lang="ml">കാബ്രി ചിത്രം</comment> - <comment xml:lang="mr">Cabri आकृती</comment> - <comment xml:lang="ms">Figur Cabri</comment> - <comment xml:lang="nb">Cabri-figur</comment> - <comment xml:lang="nds">"Cabri"-Grafik</comment> - <comment xml:lang="nl">Cabri-figuur</comment> - <comment xml:lang="nn">Cabri-figur</comment> - <comment xml:lang="pa">Cabri ਸ਼ਕਲ</comment> - <comment xml:lang="pl">Rysunek Cabri</comment> - <comment xml:lang="pt">Imagem do Cabri</comment> - <comment xml:lang="pt_BR">Imagem do Cabri</comment> - <comment xml:lang="ro">Figură Cabri</comment> - <comment xml:lang="ru">чертёж Cabri</comment> - <comment xml:lang="se">Cabri-govadat</comment> - <comment xml:lang="sk">Obrázok Cabri</comment> - <comment xml:lang="sl">Lik Cabri</comment> - <comment xml:lang="sq">Cabri figure</comment> - <comment xml:lang="sr">Кабријев цртеж</comment> - <comment xml:lang="sr@ijekavian">Кабријев цртеж</comment> - <comment xml:lang="sr@ijekavianlatin">Cabrijev crtež</comment> - <comment xml:lang="sr@latin">Cabrijev crtež</comment> - <comment xml:lang="sv">Cabri-figur</comment> - <comment xml:lang="tr">Cabri çizimi</comment> - <comment xml:lang="ug">Cabri شەكىللەر</comment> - <comment xml:lang="uk">рисунок Cabri</comment> - <comment xml:lang="zh_CN">Cabri 图形</comment> - <comment xml:lang="zh_TW">Cabri 圖形</comment> <magic priority="80"> <match offset="0" type="string" value="FIGURE CabriII vers. " /> <!-- Cabri 1.0 --> <match offset="0" type="string" value="Figure Cabri II " /> <!-- Cabri 1.2 --> @@ -2629,61 +274,6 @@ </mime-type> <mime-type type="application/x-drgeo"> <comment>Dr. Geo figure</comment> - <comment xml:lang="ar">صورة Dr. Geo</comment> - <comment xml:lang="ast">Figura de Dr. Geo</comment> - <comment xml:lang="bs">Dr Geov crtež</comment> - <comment xml:lang="ca">figura Dr. Geo</comment> - <comment xml:lang="ca@valencia">figura Dr. Geo</comment> - <comment xml:lang="cs">Obrázek Dr. Geo</comment> - <comment xml:lang="da">Dr. Geo-figur</comment> - <comment xml:lang="de">Dr.-Geo-Zeichnung</comment> - <comment xml:lang="el">Σχήμα Dr. Geo</comment> - <comment xml:lang="en_GB">Dr. Geo figure</comment> - <comment xml:lang="es">Figura de Dr. Geo</comment> - <comment xml:lang="et">Dr. Geo kujund</comment> - <comment xml:lang="eu">Geo Dk. irudia</comment> - <comment xml:lang="fi">Dr. Geo -kuvio</comment> - <comment xml:lang="fr">Figure « Dr. Geo »</comment> - <comment xml:lang="ga">Léaráid Dr. Geo</comment> - <comment xml:lang="gl">Figura de Dr. Geo</comment> - <comment xml:lang="hr">Dr. Geo figura</comment> - <comment xml:lang="hu">Dr. Geo-alakzat</comment> - <comment xml:lang="ia">Dr.Geo : Figura</comment> - <comment xml:lang="is">Dr. Geo teikning</comment> - <comment xml:lang="it">figura Dr. Geo</comment> - <comment xml:lang="ja">Dr. Geo figure</comment> - <comment xml:lang="kk">Dr. Geo суреті</comment> - <comment xml:lang="km">Dr. Geo figure</comment> - <comment xml:lang="ko">Dr. Geo 그림</comment> - <comment xml:lang="lt">Dr. Geo figūra</comment> - <comment xml:lang="lv">Dr. Geo figūra</comment> - <comment xml:lang="ml">ഡോ. ജിയോ ചിത്രം</comment> - <comment xml:lang="mr">डॉ.जिओ आकृती</comment> - <comment xml:lang="ms">Figur Dr. Geo</comment> - <comment xml:lang="nb">Dr. Geo figure</comment> - <comment xml:lang="nds">"Dr. Geo"-Grafik</comment> - <comment xml:lang="nl">Dr. Geo-figuur</comment> - <comment xml:lang="nn">Dr. Geo-figur</comment> - <comment xml:lang="pa">Dr. Geo ਸ਼ਕਲ</comment> - <comment xml:lang="pl">Rysunek Dr. Geo</comment> - <comment xml:lang="pt">Imagem do Dr. Geo</comment> - <comment xml:lang="pt_BR">Imagem do Dr. Geo</comment> - <comment xml:lang="ro">Figură Dr. Geo</comment> - <comment xml:lang="ru">чертёж Dr. Geo</comment> - <comment xml:lang="se">Dr. Geo-govadat</comment> - <comment xml:lang="sk">Obrázok Dr. Geo</comment> - <comment xml:lang="sl">Lik Dr. Geo</comment> - <comment xml:lang="sq">Dr. Geo figure</comment> - <comment xml:lang="sr">Др Геов цртеж</comment> - <comment xml:lang="sr@ijekavian">Др Геов цртеж</comment> - <comment xml:lang="sr@ijekavianlatin">Dr Geov crtež</comment> - <comment xml:lang="sr@latin">Dr Geov crtež</comment> - <comment xml:lang="sv">Dr. Geo-figur</comment> - <comment xml:lang="tr">Dr. Geo çizimi</comment> - <comment xml:lang="ug">Dr. Geo شەكىللىرى</comment> - <comment xml:lang="uk">рисунок Dr. Geo</comment> - <comment xml:lang="zh_CN">Dr. Geo 图形</comment> - <comment xml:lang="zh_TW">Dr. Geo 圖形</comment> <magic priority="80"> <match offset="0" type="string" value="<?xml version="1.0"?>\n<drgenius>" /> </magic> @@ -2691,467 +281,38 @@ </mime-type> <mime-type type="application/x-kgeo"> <comment>KGeo figure</comment> - <comment xml:lang="ar">صورة KGeo</comment> - <comment xml:lang="ast">Figura de KGeo</comment> - <comment xml:lang="bg">Фигура за KGeo</comment> - <comment xml:lang="bs">KGeov crtež</comment> - <comment xml:lang="ca">figura del KGeo</comment> - <comment xml:lang="ca@valencia">figura del KGeo</comment> - <comment xml:lang="cs">Obrázek KGeo</comment> - <comment xml:lang="da">KGeo-figur</comment> - <comment xml:lang="de">KGeo-Zeichnung</comment> - <comment xml:lang="el">Σχήμα KGeo </comment> - <comment xml:lang="en_GB">KGeo figure</comment> - <comment xml:lang="es">Figura de KGeo</comment> - <comment xml:lang="et">KGeo kujund</comment> - <comment xml:lang="eu">KGeo irudia</comment> - <comment xml:lang="fi">KGeo-kuvio</comment> - <comment xml:lang="fr">Figure KGeo</comment> - <comment xml:lang="ga">Léaráid KGeo</comment> - <comment xml:lang="gl">Figura de KGeo</comment> - <comment xml:lang="hr">KGeo skica</comment> - <comment xml:lang="hu">KGeo-alakzat</comment> - <comment xml:lang="ia">KGeo : Figura</comment> - <comment xml:lang="is">KGeo teikning</comment> - <comment xml:lang="it">figura di KGeo</comment> - <comment xml:lang="ja">KGeo figure</comment> - <comment xml:lang="kk">KGeo суреті</comment> - <comment xml:lang="km">KGeo figure</comment> - <comment xml:lang="ko">KGeo 그림</comment> - <comment xml:lang="lt">KGeo figūra</comment> - <comment xml:lang="lv">KGeo figūra</comment> - <comment xml:lang="ml">കെജിയോ ചിത്രം</comment> - <comment xml:lang="mr">के-जिओ आकृती</comment> - <comment xml:lang="nb">KGeo-figur</comment> - <comment xml:lang="nds">KGeo-Bild</comment> - <comment xml:lang="nl">KGeo-figuur</comment> - <comment xml:lang="nn">KGeo-figur</comment> - <comment xml:lang="pa">KGeo ਸ਼ਕਲ</comment> - <comment xml:lang="pl">Rysunek KGeo</comment> - <comment xml:lang="pt">Imagem do KGeo</comment> - <comment xml:lang="pt_BR">Imagem do KGeo</comment> - <comment xml:lang="ro">Figură KGeo</comment> - <comment xml:lang="ru">чертёж KGeo</comment> - <comment xml:lang="se">KGeo-govadat</comment> - <comment xml:lang="sk">Obrázok KGeo</comment> - <comment xml:lang="sl">Lik KGeo</comment> - <comment xml:lang="sr">К‑геов цртеж</comment> - <comment xml:lang="sr@ijekavian">К‑геов цртеж</comment> - <comment xml:lang="sr@ijekavianlatin">KGeov crtež</comment> - <comment xml:lang="sr@latin">KGeov crtež</comment> - <comment xml:lang="sv">Kgeo-figur</comment> - <comment xml:lang="tr">KGeo çizimi</comment> - <comment xml:lang="ug">KGeo شەكىللەر</comment> - <comment xml:lang="uk">рисунок KGeo</comment> - <comment xml:lang="zh_CN">KGeo 图形</comment> - <comment xml:lang="zh_TW">KGeo 圖形</comment> <glob pattern="*.kgeo"/> </mime-type> <mime-type type="application/x-kig"> <comment>Kig figure</comment> - <comment xml:lang="ar">صورة Kig</comment> - <comment xml:lang="ast">Figura de Kig</comment> - <comment xml:lang="bg">Фигура за Kig</comment> - <comment xml:lang="bs">KIG‑ov crtež</comment> - <comment xml:lang="ca">figura del Kig</comment> - <comment xml:lang="ca@valencia">figura del Kig</comment> - <comment xml:lang="cs">Obrázek Kig</comment> - <comment xml:lang="da">Kig-figur</comment> - <comment xml:lang="de">Kig-Zeichnung</comment> - <comment xml:lang="el">Σχήμα Kig</comment> - <comment xml:lang="en_GB">Kig figure</comment> - <comment xml:lang="es">Figura de Kig</comment> - <comment xml:lang="et">Kigi kujund</comment> - <comment xml:lang="eu">Kig irudia</comment> - <comment xml:lang="fi">Kig-kuvio</comment> - <comment xml:lang="fr">Dessin Kig</comment> - <comment xml:lang="ga">Léaráid Kig</comment> - <comment xml:lang="gl">Figura de Kig</comment> - <comment xml:lang="hr">Kig figura</comment> - <comment xml:lang="hu">Kig-alakzat</comment> - <comment xml:lang="ia">Kig : figura</comment> - <comment xml:lang="is">Kig teikning</comment> - <comment xml:lang="it">figura di Kig</comment> - <comment xml:lang="ja">Kig figure</comment> - <comment xml:lang="kk">Kig суреті</comment> - <comment xml:lang="km">Kig figure</comment> - <comment xml:lang="ko">Kig 그림</comment> - <comment xml:lang="lt">Kig figūra</comment> - <comment xml:lang="lv">Kig figūra</comment> - <comment xml:lang="ml">കിഗ് ചിത്രം</comment> - <comment xml:lang="mr">किग आकृती</comment> - <comment xml:lang="nb">Kig-figur</comment> - <comment xml:lang="nds">Kig-Grafik</comment> - <comment xml:lang="nl">Kig-figuur</comment> - <comment xml:lang="nn">Kig-figur</comment> - <comment xml:lang="pa">Kig ਸ਼ਕਲ</comment> - <comment xml:lang="pl">Rysunek Kig</comment> - <comment xml:lang="pt">Imagem do Kig</comment> - <comment xml:lang="pt_BR">Imagem do Kig</comment> - <comment xml:lang="ro">Figură Kig</comment> - <comment xml:lang="ru">чертёж Kig</comment> - <comment xml:lang="se">Kig-govadat</comment> - <comment xml:lang="sk">Obrázok Kig</comment> - <comment xml:lang="sl">Lik Kig</comment> - <comment xml:lang="sr">КИГ‑ов цртеж</comment> - <comment xml:lang="sr@ijekavian">КИГ‑ов цртеж</comment> - <comment xml:lang="sr@ijekavianlatin">KIG‑ov crtež</comment> - <comment xml:lang="sr@latin">KIG‑ov crtež</comment> - <comment xml:lang="sv">Kig-figur</comment> - <comment xml:lang="tr">Kig çizimi</comment> - <comment xml:lang="ug">Kig شەكىللەر</comment> - <comment xml:lang="uk">рисунок Kig</comment> - <comment xml:lang="zh_CN">Kig 图形</comment> - <comment xml:lang="zh_TW">Kig 圖形</comment> <glob pattern="*.kig"/> <glob pattern="*.kigz"/> </mime-type> <mime-type type="application/x-kseg"> <comment>KSeg document</comment> - <comment xml:lang="ar">وثيقة KSeg</comment> - <comment xml:lang="ast">Documentu de KSeg</comment> - <comment xml:lang="bg">Документ KSeg</comment> - <comment xml:lang="bs">KSegov dokument</comment> - <comment xml:lang="ca">document del KSeg</comment> - <comment xml:lang="ca@valencia">document del KSeg</comment> - <comment xml:lang="cs">Dokument KSeg</comment> - <comment xml:lang="da">KSeg-dokument</comment> - <comment xml:lang="de">KSeg-Dokument</comment> - <comment xml:lang="el">Έγγραφο KSeg</comment> - <comment xml:lang="en_GB">KSeg document</comment> - <comment xml:lang="es">Documento de KSeg</comment> - <comment xml:lang="et">KSegi dokument</comment> - <comment xml:lang="eu">KSeg dokumentua</comment> - <comment xml:lang="fi">KSeg-tiedosto</comment> - <comment xml:lang="fr">Document KSeg</comment> - <comment xml:lang="ga">Cáipéis KSeg</comment> - <comment xml:lang="gl">Documento de KSeg</comment> - <comment xml:lang="hr">KSeg dokument</comment> - <comment xml:lang="hu">KSeg-dokumentum</comment> - <comment xml:lang="ia">KSeg :documento</comment> - <comment xml:lang="is">KSeg skjal</comment> - <comment xml:lang="it">documento di KSeg</comment> - <comment xml:lang="ja">KSeg 文書</comment> - <comment xml:lang="kk">KSeg құжаты</comment> - <comment xml:lang="km">ឯកសារ KSeg</comment> - <comment xml:lang="ko">KSeg 문서</comment> - <comment xml:lang="lt">KSeg dokumentas</comment> - <comment xml:lang="lv">KSeg dokuments</comment> - <comment xml:lang="ml">കെസെഗ് രേഖ</comment> - <comment xml:lang="mr">के-सेग दस्तऐवज</comment> - <comment xml:lang="nb">KSeg-dokument</comment> - <comment xml:lang="nds">KSeg-Dokment</comment> - <comment xml:lang="nl">KSeg-document</comment> - <comment xml:lang="nn">KSeg-dokument</comment> - <comment xml:lang="pa">KSeg ਡੌਕੂਮੈਂਟ</comment> - <comment xml:lang="pl">Dokument KSeg</comment> - <comment xml:lang="pt">Documento do KSeg</comment> - <comment xml:lang="pt_BR">Documento do KSeg</comment> - <comment xml:lang="ro">Document KSeg</comment> - <comment xml:lang="ru">документ KSeg</comment> - <comment xml:lang="se">KSeg dokumeanta</comment> - <comment xml:lang="sk">Dokument KSeg</comment> - <comment xml:lang="sl">Dokument KSeg</comment> - <comment xml:lang="sq">KSeg dokument</comment> - <comment xml:lang="sr">К‑сегов документ</comment> - <comment xml:lang="sr@ijekavian">К‑сегов документ</comment> - <comment xml:lang="sr@ijekavianlatin">KSegov dokument</comment> - <comment xml:lang="sr@latin">KSegov dokument</comment> - <comment xml:lang="sv">Kseg-dokument</comment> - <comment xml:lang="tr">KSeg belgesi</comment> - <comment xml:lang="ug">KSeg پۈتۈك</comment> - <comment xml:lang="uk">документ KSeg</comment> - <comment xml:lang="zh_CN">KSeg 文档</comment> - <comment xml:lang="zh_TW">KSeg 文件</comment> <glob pattern="*.seg"/> </mime-type> <mime-type type="application/x-kvtml"> <sub-class-of type="application/xml"/> <comment>vocabulary trainer document</comment> - <comment xml:lang="ar">وثيقة مدرب المفردات</comment> - <comment xml:lang="ast">documentu d'entrenador de vocabulariu</comment> - <comment xml:lang="bs">dokument za uvježbavanje rječnika</comment> - <comment xml:lang="ca">document d'entrenador de vocabulari</comment> - <comment xml:lang="ca@valencia">document d'entrenador de vocabulari</comment> - <comment xml:lang="cs">Dokument tréningu slovní zásoby</comment> - <comment xml:lang="da">ordforrådstræningsdokument</comment> - <comment xml:lang="de">Vokabeltrainer-Dokument</comment> - <comment xml:lang="el">Αρχείο εκπαιδευτή λεξιλογίου</comment> - <comment xml:lang="en_GB">vocabulary trainer document</comment> - <comment xml:lang="es">documento de entrenador de vocabulario</comment> - <comment xml:lang="et">sõnavara treenija dokument</comment> - <comment xml:lang="eu">berbategi entrenatzaile dokumentua</comment> - <comment xml:lang="fi">sanavarastokouluttajatiedosto</comment> - <comment xml:lang="fr">Document d'apprentissage du vocabulaire</comment> - <comment xml:lang="ga">cáipéis traenálaí stóir focal</comment> - <comment xml:lang="gl">documento de práctica de vocabulario</comment> - <comment xml:lang="hr">dokument vokabularskog trenera</comment> - <comment xml:lang="hu">szógyűjtemény</comment> - <comment xml:lang="ia">documento de instructor de vocabulario</comment> - <comment xml:lang="is">orðaforðaþjálfunarskjal</comment> - <comment xml:lang="it">documento di allenamento a vocabolario</comment> - <comment xml:lang="ja">ボキャブラリトレーナー文書</comment> - <comment xml:lang="kk">сөздік жаттығу құжаты</comment> - <comment xml:lang="km">វាក្យស័ព្ទនៃឯកសាររបស់អ្នកបណ្ដុះបណ្ដាល</comment> - <comment xml:lang="ko">단어장</comment> - <comment xml:lang="lt">žodyno treniruoklio dokumentas</comment> - <comment xml:lang="lv">vārdnīcas trenētāja dokuments</comment> - <comment xml:lang="ml">പദാവലി പരിശീലന രേഖ</comment> - <comment xml:lang="mr">शब्द-संग्रह शिकवणारा दस्तऐवज</comment> - <comment xml:lang="nb">dokument for gloselæring</comment> - <comment xml:lang="nds">Vokavel-Lehrdokment</comment> - <comment xml:lang="nl">document voor woordenschattrainer</comment> - <comment xml:lang="nn">ordtreningsdokument</comment> - <comment xml:lang="pa">ਸ਼ਬਦਕੋਸ਼ ਟਰੇਨਰ ਡੌਕੂਮੈਂਟ</comment> - <comment xml:lang="pl">dokument związany z trenowaniem słownictwa</comment> - <comment xml:lang="pt">documento de treino de vocabulários</comment> - <comment xml:lang="pt_BR">documento de treino de vocabulários</comment> - <comment xml:lang="ro">Document de antrenare a vocabularului</comment> - <comment xml:lang="ru">тренировка словарного запаса</comment> - <comment xml:lang="se">sátnehárjehallandokumeanta</comment> - <comment xml:lang="sk">Dokument tréningu slovnej zásoby</comment> - <comment xml:lang="sl">dokument za vadbo besedišča</comment> - <comment xml:lang="sr">документ за увежбавање речника</comment> - <comment xml:lang="sr@ijekavian">документ за увјежбавање рјечника</comment> - <comment xml:lang="sr@ijekavianlatin">dokument za uvježbavanje rječnika</comment> - <comment xml:lang="sr@latin">dokument za uvežbavanje rečnika</comment> - <comment xml:lang="sv">dokument för ordförrådsövning</comment> - <comment xml:lang="tr">sözcük hazinesi çalışma belgesi</comment> - <comment xml:lang="ug">سۆزلۈك مەشىق پۈتۈكى</comment> - <comment xml:lang="uk">документ вправ зі словником</comment> - <comment xml:lang="zh_CN">词汇训练文档</comment> - <comment xml:lang="zh_TW">字彙訓練師文件</comment> <glob pattern="*.kvtml"/> </mime-type> <mime-type type="application/x-kmplot"> <comment>KmPlot file</comment> - <comment xml:lang="ar">ملف KmPlot</comment> - <comment xml:lang="ast">Ficheru de KmPlot</comment> - <comment xml:lang="bg">Файл на KmPlot</comment> - <comment xml:lang="bs">KmPlot datoteka</comment> - <comment xml:lang="ca">fitxer del KmPlot</comment> - <comment xml:lang="ca@valencia">fitxer del KmPlot</comment> - <comment xml:lang="cs">Soubor KmPlot</comment> - <comment xml:lang="da">KmPlot-fil</comment> - <comment xml:lang="de">KmPlot-Datei</comment> - <comment xml:lang="el">Αρχείο KmPlot</comment> - <comment xml:lang="en_GB">KmPlot file</comment> - <comment xml:lang="es">Archivo de KmPlot</comment> - <comment xml:lang="et">KmPloti fail</comment> - <comment xml:lang="eu">KmPlot irudia</comment> - <comment xml:lang="fi">KmPlot-tiedosto</comment> - <comment xml:lang="fr">Fichier KmPlot</comment> - <comment xml:lang="ga">Comhad KmPlot</comment> - <comment xml:lang="gl">Ficheiro de KmPlot</comment> - <comment xml:lang="hr">KmPlot datoteka</comment> - <comment xml:lang="hu">KmPlot-fájl</comment> - <comment xml:lang="ia">KmPlot: file</comment> - <comment xml:lang="is">KmPlot skrá</comment> - <comment xml:lang="it">file di KmPlot</comment> - <comment xml:lang="ja">KmPlot ファイル</comment> - <comment xml:lang="kk">KmPlot файлы</comment> - <comment xml:lang="km">ឯកសារ KmPlot</comment> - <comment xml:lang="ko">KmPlot 파일</comment> - <comment xml:lang="lt">KmPlot failas</comment> - <comment xml:lang="lv">KmPlot fails</comment> - <comment xml:lang="ml">കെഎം പ്ലോട്ട് ഫയല്</comment> - <comment xml:lang="mr">के-एम-प्लोट फाईल</comment> - <comment xml:lang="nb">KmPlot-fil</comment> - <comment xml:lang="nds">KmPlot-Datei</comment> - <comment xml:lang="nl">KmPlot-bestand</comment> - <comment xml:lang="nn">KmPlot-fil</comment> - <comment xml:lang="pa">KmPlot ਫਾਇਲ</comment> - <comment xml:lang="pl">Plik KmPlot</comment> - <comment xml:lang="pt">Ficheiro do KmPlot</comment> - <comment xml:lang="pt_BR">Arquivo do KmPlot</comment> - <comment xml:lang="ro">Fișier KmPlot</comment> - <comment xml:lang="ru">файл KmPlot</comment> - <comment xml:lang="se">KmPlot fiila</comment> - <comment xml:lang="sk">Súbor KmPlot</comment> - <comment xml:lang="sl">Datoteka KmPlot</comment> - <comment xml:lang="sr">К‑матцртов фајл</comment> - <comment xml:lang="sr@ijekavian">К‑матцртов фајл</comment> - <comment xml:lang="sr@ijekavianlatin">K‑matcrtov fajl</comment> - <comment xml:lang="sr@latin">K‑matcrtov fajl</comment> - <comment xml:lang="sv">Kmplot-fil</comment> - <comment xml:lang="tr">KmPlot dosyası</comment> - <comment xml:lang="ug">KmPlot ھۆججەت</comment> - <comment xml:lang="uk">файл KmPlot</comment> - <comment xml:lang="zh_CN">KmPlot 文件</comment> - <comment xml:lang="zh_TW">KmPlot 檔案</comment> <glob pattern="*.fkt"/> </mime-type> <mime-type type="application/x-kwordquiz"> <comment>KWordQuiz vocabulary</comment> - <comment xml:lang="ar">مفردات KWordQuiz</comment> - <comment xml:lang="ast">Vocabulariu de KWordQuiz</comment> - <comment xml:lang="bg">Речник KWordQuiz</comment> - <comment xml:lang="bs">rječnik K‑kviza-riječi</comment> - <comment xml:lang="ca">vocabulari del KWordQuiz</comment> - <comment xml:lang="ca@valencia">vocabulari del KWordQuiz</comment> - <comment xml:lang="cs">Slovní zásoba KWordQuiz</comment> - <comment xml:lang="da">Ordforråd til KWordQuiz</comment> - <comment xml:lang="de">KWordQuiz-Vokabular</comment> - <comment xml:lang="el">Λεξιλόγιο KWordQuiz</comment> - <comment xml:lang="en_GB">KWordQuiz vocabulary</comment> - <comment xml:lang="es">Vocabulario de KWordQuiz</comment> - <comment xml:lang="et">KWordQuizi sõnavara</comment> - <comment xml:lang="eu">KWordQuiz berbategia</comment> - <comment xml:lang="fi">KWordQuiz-sanasto</comment> - <comment xml:lang="fr">Vocabulaire KWordQuiz</comment> - <comment xml:lang="ga">Stór Focal KWordQuiz</comment> - <comment xml:lang="gl">Vocabulario de KWordQuiz</comment> - <comment xml:lang="hr">KWordQuiz vokabular</comment> - <comment xml:lang="hu">KWordQuiz-szótár</comment> - <comment xml:lang="ia">KWordQuiz : vocabulario</comment> - <comment xml:lang="is">KWordQuiz orðaforði</comment> - <comment xml:lang="it">vocabolario di KWordQuiz</comment> - <comment xml:lang="ja">KWordQuiz ボキャブラリ</comment> - <comment xml:lang="kk">KWordQuiz сөздігі</comment> - <comment xml:lang="km">វាក្យស័ព្ទរបស់ KWordQuiz</comment> - <comment xml:lang="ko">KWordQuiz 단어장</comment> - <comment xml:lang="lt">KWordQuiz žodynas</comment> - <comment xml:lang="lv">KWordQuiz vārdnīca</comment> - <comment xml:lang="ml">കെവേര്ഡ്ക്യുസ്സ് പദാവലി</comment> - <comment xml:lang="mr">के-वर्ड-क्वीझ शब्द-संग्रह</comment> - <comment xml:lang="nb">KWordQuiz ordliste</comment> - <comment xml:lang="nds">KWordQuiz-Vokavelsett</comment> - <comment xml:lang="nl">KWordQuiz-woordenschat</comment> - <comment xml:lang="nn">KWordQuiz-vokabular</comment> - <comment xml:lang="pl">Słownictwo KWordQuiz</comment> - <comment xml:lang="pt">Vocabulário do KWordQuiz</comment> - <comment xml:lang="pt_BR">Vocabulário do KWordQuiz</comment> - <comment xml:lang="ro">Vocabular KWordQuiz</comment> - <comment xml:lang="ru">словарь KWordQuiz</comment> - <comment xml:lang="se">KWordQuiz-sátnegirji</comment> - <comment xml:lang="sk">Slovná zásoba KWordQuiz</comment> - <comment xml:lang="sl">Besedišče KWordQuiz</comment> - <comment xml:lang="sr">речник К‑квиза-ријечи</comment> - <comment xml:lang="sr@ijekavian">речник К‑квиза-ријечи</comment> - <comment xml:lang="sr@ijekavianlatin">rečnik K‑kviza-riječi</comment> - <comment xml:lang="sr@latin">rečnik K‑kviza-riječi</comment> - <comment xml:lang="sv">Kwordquiz-ordförråd</comment> - <comment xml:lang="tr">KWordQuiz sözcük hazinesi</comment> - <comment xml:lang="ug">KWordQuiz سۆزلۈكلەر</comment> - <comment xml:lang="uk">словник KWordQuiz</comment> - <comment xml:lang="zh_CN">KWordQuiz 词汇表</comment> - <comment xml:lang="zh_TW">KWordQuiz 字彙</comment> <glob pattern="*.wql"/> </mime-type> <mime-type type="application/x-kcachegrind"> <comment>Cachegrind/Callgrind profile dump</comment> - <comment xml:lang="ar">تشكيلة تفريغ Cachegrind/Callgrind </comment> - <comment xml:lang="ast">Volcáu d'analís de rendimientu de Cachegrind/Callgrind</comment> - <comment xml:lang="bs">Cachegrindov/Callgrindov profilni popis</comment> - <comment xml:lang="ca">bolcat de perfil Cachegrind/Callgrind</comment> - <comment xml:lang="ca@valencia">bolcat de perfil Cachegrind/Callgrind</comment> - <comment xml:lang="cs">Výpis profilu Cachegrind/Callgrind</comment> - <comment xml:lang="da">Cachegrind/Callgrind profil-dump</comment> - <comment xml:lang="de">Cachegrind/Callgrind-Profil-Ausgabe</comment> - <comment xml:lang="el">Αποτύπωση προφίλ Cachegrind/Callgrind</comment> - <comment xml:lang="en_GB">Cachegrind/Callgrind profile dump</comment> - <comment xml:lang="es">Volcado de análisis de rendimiento de Cachegrind/Callgrind</comment> - <comment xml:lang="et">Cachegrind/Callgrindi profileerimistõmmis</comment> - <comment xml:lang="eu">Cachegrind/Callgrind profil iraulketa</comment> - <comment xml:lang="fi">Cachegrind/Callgrind-profiilivedos</comment> - <comment xml:lang="fr">Vidage de profil Cachegrind / Callgrind</comment> - <comment xml:lang="ga">Próifíl dhumpáilte Cachegrind/Callgrind</comment> - <comment xml:lang="gl">Envorcado de perfil de Cachegrind/Callgrind</comment> - <comment xml:lang="hr">Cachegrind/Callgrind odbačeni profil</comment> - <comment xml:lang="hu">Cachegrind/Callgrind-képfájl</comment> - <comment xml:lang="ia">Cachegrind/Callgrind : Discargatorio de profilo</comment> - <comment xml:lang="is">Cachegrind/Callgrind sniðdump</comment> - <comment xml:lang="it">dump di profilatura di Cachegrind e Callgrind</comment> - <comment xml:lang="ja">Cachegrind/Callgrind プロファイルダンプ</comment> - <comment xml:lang="kk">Cachegrind/Callgrind профильдеу дерегі</comment> - <comment xml:lang="km">ទម្រង់ Cachegrind/Callgrind</comment> - <comment xml:lang="ko">Cachegrind/Callgrind 프로필 덤프</comment> - <comment xml:lang="lt">Cachegrind/Callgrind profilio kopija</comment> - <comment xml:lang="lv">Cachegrind/Callgrind profilēšanas dati</comment> - <comment xml:lang="ml">കാഷ്ഗ്രിന്റ്/കാള്ഗ്രിന്റ് പ്രൊഫൈല് ഡമ്പ്</comment> - <comment xml:lang="mr">Cachegrind/Callgrind रूपरेषा डंप</comment> - <comment xml:lang="nb">Cachegrind/Callgrind profildump</comment> - <comment xml:lang="nds">Profilutgaav för Cachegrind/Callgrind</comment> - <comment xml:lang="nl">Cachegrind/Callgrind profieldump</comment> - <comment xml:lang="nn">Cachegrind/Callgrind-profildump</comment> - <comment xml:lang="pa">Cachegrind/Callgrind ਪਰੋਫਾਇਲ ਡੰਪ</comment> - <comment xml:lang="pl">Zrzut profilu Cachegrinda/Callgrinda</comment> - <comment xml:lang="pt">Resultado da análise do Cachegrind/Callgrind</comment> - <comment xml:lang="pt_BR">Resultado da análise do Cachegrind/Callgrind</comment> - <comment xml:lang="ro">profil salvat Cachegrind/Callgrind</comment> - <comment xml:lang="ru">данные профилирования Cachegrind/Callgrind</comment> - <comment xml:lang="se">Cachegrind/Callgrind-profiilaluoitin</comment> - <comment xml:lang="sk">Výpis profilu Cachegrind/Callgrind</comment> - <comment xml:lang="sl">Izpis profila Cachegrind/Callgrind</comment> - <comment xml:lang="sq">Cachegrind/Callgrind profile dump</comment> - <comment xml:lang="sr">Кешгриндов/Колгриндов профилни попис</comment> - <comment xml:lang="sr@ijekavian">Кешгриндов/Колгриндов профилни попис</comment> - <comment xml:lang="sr@ijekavianlatin">Cachegrindov/Callgrindov profilni popis</comment> - <comment xml:lang="sr@latin">Cachegrindov/Callgrindov profilni popis</comment> - <comment xml:lang="sv">Cachegrind/Callgrind-profileringsutskrift</comment> - <comment xml:lang="tr">Cachegrind/Callgrind profil dökümü</comment> - <comment xml:lang="ug">Cachegrind/Callgrind يېشىش سەپلىمە ھۆججىتى</comment> - <comment xml:lang="uk">дамп профілювання Cachegrind/Callgrind</comment> - <comment xml:lang="zh_CN">Cachegrind/Callgrind 剖析档案</comment> - <comment xml:lang="zh_TW">Cachegrind/Callgrind 分析檔傾印</comment> <glob pattern="cachegrind.out*"/> <glob pattern="callgrind.out*"/> </mime-type> <mime-type type="application/x-uml"> <comment>Umbrello UML Modeller file</comment> - <comment xml:lang="ar">ملف Umbrello UML Modeller </comment> - <comment xml:lang="ast">Ficheru del modelador UML Umbrello</comment> - <comment xml:lang="bs">Umbrello UML datoteka</comment> - <comment xml:lang="ca">fitxer del modelador UML Umbrello</comment> - <comment xml:lang="ca@valencia">fitxer del modelador UML Umbrello</comment> - <comment xml:lang="cs">Soubor Umbrello UML Modeller</comment> - <comment xml:lang="da">Umbrello UML modelleringsfil</comment> - <comment xml:lang="de">Umbrello-UML-Datei</comment> - <comment xml:lang="el">Αρχείο μοντελοποίησης Umbrello UML</comment> - <comment xml:lang="en_GB">Umbrello UML Modeller file</comment> - <comment xml:lang="es">Archivo del modelador UML Umbrello</comment> - <comment xml:lang="et">Umbrello UML-fail</comment> - <comment xml:lang="eu">Umbrello UML Modeller fitxategia</comment> - <comment xml:lang="fi">Umbrello UML Modeller -tiedosto</comment> - <comment xml:lang="fr">Fichier de modélisation UML Umbrello</comment> - <comment xml:lang="ga">Samhaltóir UML Umbrello</comment> - <comment xml:lang="gl">Ficheiro de modelo UML de Umbrello</comment> - <comment xml:lang="hr">Umbrello UML Modeller datoteka</comment> - <comment xml:lang="hu">Umbrello UML-fájl</comment> - <comment xml:lang="ia">Umbrello: file Modellator UML</comment> - <comment xml:lang="is">Umbrello UML Modeller skrá</comment> - <comment xml:lang="it">file del modellatore UML Umbrello</comment> - <comment xml:lang="ja">Umbrello UML モデラーファイル</comment> - <comment xml:lang="kk">Umbrello UML үлгілеу файлы</comment> - <comment xml:lang="km">ឯកសារ Umbrello UML Modeller</comment> - <comment xml:lang="ko">Umbrello UML 모델러 파일</comment> - <comment xml:lang="lt">Umbrello UML modeliuotojo failas</comment> - <comment xml:lang="lv">Umbrello UML Modelētāja fails</comment> - <comment xml:lang="ml">ആമ്പ്രല്ലോ യു എം എല് മാത്രക ഫയല്</comment> - <comment xml:lang="mr">अंब्रेलो UML मॉडेलर फाईल</comment> - <comment xml:lang="nb">Umbrello UML Modeller fil</comment> - <comment xml:lang="nds">UML-Modellmakerdatei för Umbrello</comment> - <comment xml:lang="nl">Umbrello UML Modeller-bestand</comment> - <comment xml:lang="nn">Umbrello UML Modeller-fil</comment> - <comment xml:lang="pl">Plik modelu Umbrello UML</comment> - <comment xml:lang="pt">Ficheiro de modelação em UML do Umbrello</comment> - <comment xml:lang="pt_BR">Arquivo de modelador UML do Umbrello</comment> - <comment xml:lang="ro">fișier Modelator UML Umbrello</comment> - <comment xml:lang="ru">модель Umbrello</comment> - <comment xml:lang="se">Umbrello UML-Modellerfiila</comment> - <comment xml:lang="sk">Súbor Umbrello UML Modeller</comment> - <comment xml:lang="sl">Datoteka UML modelirnika Umbrello</comment> - <comment xml:lang="sr">Умбрелов фајл</comment> - <comment xml:lang="sr@ijekavian">Умбрелов фајл</comment> - <comment xml:lang="sr@ijekavianlatin">Umbrellov fajl</comment> - <comment xml:lang="sr@latin">Umbrellov fajl</comment> - <comment xml:lang="sv">Umbrello UML-modelleringsfil</comment> - <comment xml:lang="tr">Umbrello UML Modelleyici dosyası</comment> - <comment xml:lang="ug">Umbrello UML مودېل قۇرۇش ھۆججىتى</comment> - <comment xml:lang="uk">файл інструмента моделювання UML Umbrello</comment> - <comment xml:lang="zh_CN">Umbrello UML 建模文件</comment> - <comment xml:lang="zh_TW">Umbrello UML 建模工具檔</comment> <glob pattern="*.xmi"/> <glob pattern="*.xmi.tgz"/> <glob pattern="*.xmi.tar.bz2"/> @@ -3159,60 +320,6 @@ <mime-type type="application/x-ms-shortcut"> <comment>Windows link</comment> - <comment xml:lang="ar">وصلة ويندوز</comment> - <comment xml:lang="ast">Enllaz de Windows</comment> - <comment xml:lang="bs">windows veza</comment> - <comment xml:lang="ca">enllaç de Windows</comment> - <comment xml:lang="ca@valencia">enllaç de Windows</comment> - <comment xml:lang="cs">Odkaz Windows</comment> - <comment xml:lang="da">Windows-link</comment> - <comment xml:lang="de">Windows-Verknüpfung</comment> - <comment xml:lang="el">Αρχείο δεσμού Windows</comment> - <comment xml:lang="en_GB">Windows link</comment> - <comment xml:lang="es">Enlace de Windows</comment> - <comment xml:lang="et">Windowsi link-fail</comment> - <comment xml:lang="eu">Windows esteka</comment> - <comment xml:lang="fi">Windows-linkki</comment> - <comment xml:lang="fr">Liens Windows</comment> - <comment xml:lang="ga">Nasc Windows</comment> - <comment xml:lang="gl">Ligazón de Windows</comment> - <comment xml:lang="hr">Windows veza</comment> - <comment xml:lang="hu">Windows-link</comment> - <comment xml:lang="ia">Ligamine de Windows</comment> - <comment xml:lang="is">Windows tengill</comment> - <comment xml:lang="it">collegamento di Windows</comment> - <comment xml:lang="ja">Windows リンク</comment> - <comment xml:lang="kk">Windows сілтемесі</comment> - <comment xml:lang="km">តំណវីនដូ</comment> - <comment xml:lang="ko">Windows 링크</comment> - <comment xml:lang="lt">Windows nuoroda</comment> - <comment xml:lang="lv">Windows saite</comment> - <comment xml:lang="ml">വിന്ഡോസ് കണ്ണി</comment> - <comment xml:lang="mr">विंडोज लिंक</comment> - <comment xml:lang="nb">Windows lenke</comment> - <comment xml:lang="nds">Windows-Link</comment> - <comment xml:lang="nl">Windows-koppeling</comment> - <comment xml:lang="nn">Windows-lenkje</comment> - <comment xml:lang="pa">ਵਿੰਡੋਜ਼ ਲਿੰਕ</comment> - <comment xml:lang="pl">Odnośnik Windows</comment> - <comment xml:lang="pt">Hiperligação do Windows</comment> - <comment xml:lang="pt_BR">Link do Windows</comment> - <comment xml:lang="ro">Legătură Windows</comment> - <comment xml:lang="ru">ярлык Windows</comment> - <comment xml:lang="se">Windowsliŋka</comment> - <comment xml:lang="sk">Odkaz Windows</comment> - <comment xml:lang="sl">Povezava v Windows</comment> - <comment xml:lang="sr">виндоуз веза</comment> - <comment xml:lang="sr@ijekavian">виндоуз веза</comment> - <comment xml:lang="sr@ijekavianlatin">windows veza</comment> - <comment xml:lang="sr@latin">windows veza</comment> - <comment xml:lang="sv">Windows-länk</comment> - <comment xml:lang="th">แฟ้มลิงค์ของวินโดวส์</comment> - <comment xml:lang="tr">Windows bağlantısı</comment> - <comment xml:lang="ug">Windows ئۇلانما</comment> - <comment xml:lang="uk">посилання Windows</comment> - <comment xml:lang="zh_CN">Windows 链接</comment> - <comment xml:lang="zh_TW">Windows 連結檔案</comment> <alias type="application/x-win-lnk"/> <glob pattern="*.lnk"/> </mime-type> @@ -3220,240 +327,20 @@ <mime-type type="application/x-kgetlist"> <sub-class-of type="application/xml"/> <comment>KGet download list</comment> - <comment xml:lang="ar">قائمة تنزيل KGet</comment> - <comment xml:lang="ast">Llista de descarga de KGet</comment> - <comment xml:lang="bg">Списък за изтегляне на KGet</comment> - <comment xml:lang="bs">KGetova spisak preuzimanja</comment> - <comment xml:lang="ca">llista de baixades del KGet</comment> - <comment xml:lang="ca@valencia">llista de baixades del KGet</comment> - <comment xml:lang="cs">Seznam stahování KGet</comment> - <comment xml:lang="da">KGet downloadliste</comment> - <comment xml:lang="de">KGet-Downloadliste</comment> - <comment xml:lang="el">Λίστας λήψης KGet</comment> - <comment xml:lang="en_GB">KGet download list</comment> - <comment xml:lang="es">Lista de descarga de KGet</comment> - <comment xml:lang="et">KGeti allalaadimiste nimekiri</comment> - <comment xml:lang="eu">KGet deskaragen zerrenda</comment> - <comment xml:lang="fi">KGet-latausluettelo</comment> - <comment xml:lang="fr">Liste de téléchargement pour KGet</comment> - <comment xml:lang="ga">Liosta íosluchtuithe KGet</comment> - <comment xml:lang="gl">Lista de descargas de KGet</comment> - <comment xml:lang="hr">KGet lista preuzimanja</comment> - <comment xml:lang="hu">KGet letöltési lista</comment> - <comment xml:lang="ia">KGet : Lista de discargar</comment> - <comment xml:lang="is">KGet niðurhalslisti</comment> - <comment xml:lang="it">elenco di scaricamenti di KGet</comment> - <comment xml:lang="ja">KGet ダウンロードリスト</comment> - <comment xml:lang="kk">KGet жүктеу тізімі</comment> - <comment xml:lang="km">បញ្ជីទាញយករបស់ KGet</comment> - <comment xml:lang="ko">KGet 다운로드 목록</comment> - <comment xml:lang="lt">KGet atsiuntimų sąrašas</comment> - <comment xml:lang="lv">KGet jelupielāžu saraksts</comment> - <comment xml:lang="ml">കെഗെറ്റ് ഡൌണ്ലോഡ് പട്ടിക</comment> - <comment xml:lang="mr">के-गेट डाउनलोड यादी</comment> - <comment xml:lang="nb">KGet nedlastingsliste</comment> - <comment xml:lang="nds">Daalladen-List för KGet</comment> - <comment xml:lang="nl">KGet-downloadlijst</comment> - <comment xml:lang="nn">KGet-nedlastingsliste</comment> - <comment xml:lang="pa">KGet ਡਾਊਨਲੋਡ ਲਿਸਟ</comment> - <comment xml:lang="pl">Lista pobierania KGet</comment> - <comment xml:lang="pt">Lista de transferências do KGet</comment> - <comment xml:lang="pt_BR">Lista de downloads do KGet</comment> - <comment xml:lang="ro">Listă descărcări KGet</comment> - <comment xml:lang="ru">список загрузок KGet</comment> - <comment xml:lang="se">KGet viežžanlistu</comment> - <comment xml:lang="sk">Zoznam sťahovania KGet</comment> - <comment xml:lang="sl">Seznam prejemov KGet</comment> - <comment xml:lang="sr">К‑гетова списак преузимања</comment> - <comment xml:lang="sr@ijekavian">К‑гетова списак преузимања</comment> - <comment xml:lang="sr@ijekavianlatin">KGetova spisak preuzimanja</comment> - <comment xml:lang="sr@latin">KGetova spisak preuzimanja</comment> - <comment xml:lang="sv">Kget-nerladdningslista</comment> - <comment xml:lang="th">รายการดาวน์โหลดของ 'ช่วยดาวน์โหลด-K (KGet)'</comment> - <comment xml:lang="tr">KGet indirme listesi</comment> - <comment xml:lang="ug">KGet چۈشۈرۈش تىزىمى</comment> - <comment xml:lang="uk">список звантажень KGet</comment> - <comment xml:lang="zh_CN">KGet 下载列表</comment> - <comment xml:lang="zh_TW">KGet 下載清單</comment> <glob pattern="*.kgt"/> </mime-type> <mime-type type="application/x-kopete-emoticons"> <comment>Kopete emoticons archive</comment> - <comment xml:lang="ar">أرشف إبتسامات Kopete</comment> - <comment xml:lang="ast">Ficheru de fustaxes de Kopete</comment> - <comment xml:lang="bs">Kopeteova arhiva emotikona</comment> - <comment xml:lang="ca">arxiu d'emoticones del Kopete</comment> - <comment xml:lang="ca@valencia">arxiu d'emoticones del Kopete</comment> - <comment xml:lang="cs">Archiv emotikonů Kopete</comment> - <comment xml:lang="da">Kopete emotikon-arkiv</comment> - <comment xml:lang="de">Kopete-Emoticons-Archiv</comment> - <comment xml:lang="el">Αρχειοθήκη εικονιδίων διάθεσης Kopete</comment> - <comment xml:lang="en_GB">Kopete emoticons archive</comment> - <comment xml:lang="es">Archivo de emoticonos de Kopete</comment> - <comment xml:lang="et">Kopete emotikoniarhiiv</comment> - <comment xml:lang="eu">Kopete emotikoi artxiboa</comment> - <comment xml:lang="fi">Kopete-hymiöarkisto</comment> - <comment xml:lang="fr">Archive d'émoticônes Kopete</comment> - <comment xml:lang="ga">Cartlann straoiseog Kopete</comment> - <comment xml:lang="gl">Arquivo de emoticonas de Kopete</comment> - <comment xml:lang="hr">Kopete arhiva emotikona</comment> - <comment xml:lang="hu">Kopete-emotikoncsomag</comment> - <comment xml:lang="ia">Kopete : archivo de emoticones</comment> - <comment xml:lang="is">Kopete tjáningartáknasafn</comment> - <comment xml:lang="it">archivio di faccine di Kopete</comment> - <comment xml:lang="ja">Kopete 感情アイコンアーカイブ</comment> - <comment xml:lang="kk">Kopete көңіл күйі белгілер архиві</comment> - <comment xml:lang="km">ប័ណ្ណសារសញ្ញាអារម្មណ៍របស់ Kopete</comment> - <comment xml:lang="ko">Kopete 이모티콘 압축 파일</comment> - <comment xml:lang="lt">Kopete jaustukų rinkinys</comment> - <comment xml:lang="lv">Kopete emocijzīmju arhīvs</comment> - <comment xml:lang="ml">കോപ്പിറ്റേ വികാരചിഹ്നങ്ങളുടെ ശേഖരം</comment> - <comment xml:lang="mr">कोपेट भावप्रतिमा संग्रह</comment> - <comment xml:lang="nb">Arkiv med Kopete smilefjes</comment> - <comment xml:lang="nds">Snutenarchiev för Kopete</comment> - <comment xml:lang="nl">Kopete emoticon-archief</comment> - <comment xml:lang="nn">Fjesingtema for Kopete</comment> - <comment xml:lang="pa">ਕੋਪਟੀ ਈਮੋਸ਼ਨ ਅਕਾਇਵ</comment> - <comment xml:lang="pl">Archiwum emotikon Kopete</comment> - <comment xml:lang="pt">Pacote de ícones emotivos do Kopete</comment> - <comment xml:lang="pt_BR">Arquivo de emoticons do Kopete</comment> - <comment xml:lang="ro">Arhivă cu emoticoni Kopete</comment> - <comment xml:lang="ru">набор смайликов для Kopete</comment> - <comment xml:lang="se">Kopete mojánarkiiva</comment> - <comment xml:lang="sk">Archív emotikonov Kopete</comment> - <comment xml:lang="sl">Arhiv z izraznimi ikonami za Kopete</comment> - <comment xml:lang="sr">Копетеова архива емотикона</comment> - <comment xml:lang="sr@ijekavian">Копетеова архива емотикона</comment> - <comment xml:lang="sr@ijekavianlatin">Kopeteova arhiva emotikona</comment> - <comment xml:lang="sr@latin">Kopeteova arhiva emotikona</comment> - <comment xml:lang="sv">Kopete-smilisarkiv</comment> - <comment xml:lang="tr">Kopete duygu simgeleri arşivi</comment> - <comment xml:lang="ug">Kopete چىراي ئىپادە ئارخىپى</comment> - <comment xml:lang="uk">архів емоційок Kopete</comment> - <comment xml:lang="zh_CN">Kopete 表情归档</comment> - <comment xml:lang="zh_TW">Kopete 表情圖示歸檔</comment> <glob pattern="*.kopete-emoticons"/> </mime-type> <mime-type type="application/x-icq"> <comment>ICQ contact</comment> - <comment xml:lang="ar">جهة اتصال ICQ</comment> - <comment xml:lang="ast">Contautu de ICQ</comment> - <comment xml:lang="bg">Контакт в ICQ</comment> - <comment xml:lang="bs">ICQ kontakt</comment> - <comment xml:lang="ca">contacte de l'ICQ</comment> - <comment xml:lang="ca@valencia">contacte de l'ICQ</comment> - <comment xml:lang="cs">Kontakt ICQ</comment> - <comment xml:lang="da">ICQ-kontakt</comment> - <comment xml:lang="de">ICQ-Kontakt</comment> - <comment xml:lang="el">Επαφή ICQ</comment> - <comment xml:lang="en_GB">ICQ contact</comment> - <comment xml:lang="es">Contacto de ICQ</comment> - <comment xml:lang="et">ICQ kontakt</comment> - <comment xml:lang="eu">ICQ kontaktua</comment> - <comment xml:lang="fi">ICQ-yhteystieto</comment> - <comment xml:lang="fr">Contact ICQ</comment> - <comment xml:lang="ga">Teagmháil ICQ</comment> - <comment xml:lang="gl">Contacto do ICQ</comment> - <comment xml:lang="hr">ICQ kontakt</comment> - <comment xml:lang="hu">ICQ-névjegy</comment> - <comment xml:lang="ia">ICQ : Contacto</comment> - <comment xml:lang="is">ICQ tengiliður</comment> - <comment xml:lang="it">contatto ICQ</comment> - <comment xml:lang="ja">ICQ コンタクト</comment> - <comment xml:lang="kk">ICQ контакты</comment> - <comment xml:lang="km">ទំនាក់ទំនង ICQ</comment> - <comment xml:lang="ko">ICQ 대화 상대</comment> - <comment xml:lang="lt">ICQ kontaktas</comment> - <comment xml:lang="lv">ICQ kontakts</comment> - <comment xml:lang="ml">ഐ സി ക്യൂ സമ്പര്ക്കം</comment> - <comment xml:lang="mr">ICQ संपर्क</comment> - <comment xml:lang="ms">Kontak ICQ</comment> - <comment xml:lang="nb">ICQ-kontakt</comment> - <comment xml:lang="nds">ICQ-Kontakt</comment> - <comment xml:lang="nl">ICQ-contact</comment> - <comment xml:lang="nn">ICQ-kontakt</comment> - <comment xml:lang="pa">ICQ ਸੰਪਰਕ</comment> - <comment xml:lang="pl">Kontakt ICQ</comment> - <comment xml:lang="pt">Contacto de ICQ</comment> - <comment xml:lang="pt_BR">Contato do ICQ</comment> - <comment xml:lang="ro">Contact ICQ</comment> - <comment xml:lang="ru">контакт ICQ</comment> - <comment xml:lang="se">ICQ-oktavuohta</comment> - <comment xml:lang="sk">Kontakt ICQ</comment> - <comment xml:lang="sl">Stik ICQ</comment> - <comment xml:lang="sq">ICQ contact</comment> - <comment xml:lang="sr">ајсикју контакт</comment> - <comment xml:lang="sr@ijekavian">ајсикју контакт</comment> - <comment xml:lang="sr@ijekavianlatin">ICQ kontakt</comment> - <comment xml:lang="sr@latin">ICQ kontakt</comment> - <comment xml:lang="sv">ICQ-kontakt</comment> - <comment xml:lang="th">ที่อยู่ติดต่อของ ICQ</comment> - <comment xml:lang="tr">ICQ kişisi</comment> - <comment xml:lang="ug">ICQ ئالاقەداش</comment> - <comment xml:lang="uk">контакт ICQ</comment> - <comment xml:lang="zh_CN">ICQ 联系人</comment> - <comment xml:lang="zh_TW">ICQ 聯絡人</comment> <glob pattern="*.uin"/> <glob pattern="*.icq"/> </mime-type> <mime-type type="video/x-ms-wmp"> <!-- fdo #19671, rejected because "not a file type, only a plugin type" --> <comment>Microsoft Media Format</comment> - <comment xml:lang="ar">تنسيق وسائط مايكروسوفت</comment> - <comment xml:lang="ast">Formatu de medios de Microsoft</comment> - <comment xml:lang="bg">Формат Microsoft Media</comment> - <comment xml:lang="bs">Microsoftov medija format</comment> - <comment xml:lang="ca">Format de suports de Microsoft</comment> - <comment xml:lang="ca@valencia">Format de suports de Microsoft</comment> - <comment xml:lang="cs">Microsoft Media Format</comment> - <comment xml:lang="da">Microsoft medieformat</comment> - <comment xml:lang="de">Microsoft-Media-Format</comment> - <comment xml:lang="el">Μορφή Μέσων Microsoft</comment> - <comment xml:lang="en_GB">Microsoft Media Format</comment> - <comment xml:lang="es">Formato de medios de Microsoft</comment> - <comment xml:lang="et">Microsoft Media</comment> - <comment xml:lang="eu">Microsoft Media Format</comment> - <comment xml:lang="fi">Microsoft Media -muoto</comment> - <comment xml:lang="fr">Format « Microsoft Média »</comment> - <comment xml:lang="ga">Formáid Mheán Microsoft</comment> - <comment xml:lang="gl">Formato de medios de Microsoft</comment> - <comment xml:lang="hr">Microsoft Media Format</comment> - <comment xml:lang="hu">Microsoft-médiafájl</comment> - <comment xml:lang="ia">Formato de Media de Microsoft</comment> - <comment xml:lang="is">Microsoft Media Format</comment> - <comment xml:lang="it">formato multimediale di Microsoft</comment> - <comment xml:lang="ja">Microsoft メディアフォーマット</comment> - <comment xml:lang="kk">Microsoft Media Format</comment> - <comment xml:lang="km">ទ្រង់ទ្រាយរបស់ Microsoft Media</comment> - <comment xml:lang="ko">마이크로소프트 미디어 포맷</comment> - <comment xml:lang="lt">Microsoft media formatas</comment> - <comment xml:lang="lv">Microsoft Media formāts</comment> - <comment xml:lang="ml">മൈക്രോസോഫ്റ്റ് മിഡിയ ഘടന</comment> - <comment xml:lang="mr">मायक्रोसोफ्ट मीडिया पद्धत</comment> - <comment xml:lang="nb">Microsoft Media Format</comment> - <comment xml:lang="nds">Microsoft-Medienformaat</comment> - <comment xml:lang="nl">Microsoft mediaformaat</comment> - <comment xml:lang="nn">Microsoft Media-format</comment> - <comment xml:lang="pa">Microsoft ਮੀਡਿਆ ਫਾਰਮੈਟ</comment> - <comment xml:lang="pl">Microsoft Media Format</comment> - <comment xml:lang="pt">Formato Multimédia da Microsoft</comment> - <comment xml:lang="pt_BR">Formato de mídia da Microsoft</comment> - <comment xml:lang="ro">Microsoft Media Format</comment> - <comment xml:lang="ru">файл Microsoft Media</comment> - <comment xml:lang="se">Microsoft mediaformáhtta</comment> - <comment xml:lang="sk">Microsoft Media Format</comment> - <comment xml:lang="sl">Microsoft Media Format</comment> - <comment xml:lang="sq">Microsoft Media Format</comment> - <comment xml:lang="sr">Мајкрософтов медија формат</comment> - <comment xml:lang="sr@ijekavian">Мајкрософтов медија формат</comment> - <comment xml:lang="sr@ijekavianlatin">Microsoftov medija format</comment> - <comment xml:lang="sr@latin">Microsoftov medija format</comment> - <comment xml:lang="sv">Microsoft mediaformat</comment> - <comment xml:lang="tr">Microsoft Medya Biçimi</comment> - <comment xml:lang="ug">مىكروسوفت ۋاسىتە پىچىمى</comment> - <comment xml:lang="uk">Microsoft Media Format</comment> - <comment xml:lang="zh_CN">Microsoft 媒体格式</comment> - <comment xml:lang="zh_TW">微軟媒體格式</comment> <sub-class-of type="video/x-ms-wmv"/> <alias type="video/mediaplayer"/> <alias type="application/x-mplayer2"/> @@ -3462,231 +349,22 @@ <mime-type type="application/x-kexiproject-shortcut"> <!-- FIXED 0.70 --> <comment>shortcut to Kexi project on database server</comment> - <comment xml:lang="ar">اختصار لمشروع Kexi على خادم قاعدة بيانات</comment> - <comment xml:lang="ast">accesu rápidu a proyeutu Kexi en sirvidor de base de datos</comment> - <comment xml:lang="bs">prečica do Kexijevog projekta na serveru baze</comment> - <comment xml:lang="ca">drecera a un projecte Kexi en un servidor de base de dades</comment> - <comment xml:lang="ca@valencia">drecera a un projecte Kexi en un servidor de base de dades</comment> - <comment xml:lang="cs">zkratka k projektu Kexi na databázovém serveru</comment> - <comment xml:lang="da">genvej til Kexi-projekt på database-server</comment> - <comment xml:lang="de">Verknüpfung zu einem Kexi-Projekt auf einem Datenbank-Server</comment> - <comment xml:lang="el">συντόμευση στο έργο Kexi σε εξυπηρετητή βάσης δεδομένων</comment> - <comment xml:lang="en_GB">shortcut to Kexi project on database server</comment> - <comment xml:lang="es">acceso rápido a proyecto Kexi en servidor de base de datos</comment> - <comment xml:lang="et">Kexi projekti viit andmebaasiserveris</comment> - <comment xml:lang="eu">datubase-zerbitzaran dagoen Kexi proiektuari lasterbidea</comment> - <comment xml:lang="fi">pikakuvake tietokantapalvelimella olevaan Kexi-projektiin</comment> - <comment xml:lang="fr">Raccourcis vers un projet Kexi sur un serveur de base de données</comment> - <comment xml:lang="ga">aicearra go tionscadal Kexi ar fhreastalaí bunachair sonraí</comment> - <comment xml:lang="gl">atallo a un proxecto de Kexi nun servidor de bases de datos</comment> - <comment xml:lang="hr">prečac na Kexi projekt na poslužitelj baze podataka</comment> - <comment xml:lang="hu">link kiszolgálóalapú Kexi-projektre</comment> - <comment xml:lang="ia">via breve a projecto de Kexi sur servitor de base de datos</comment> - <comment xml:lang="is">tengill á Kexi-verkefni á gagnagrunnsþjóni</comment> - <comment xml:lang="it">scorciatoia a progetto Kexi su server di banca dati</comment> - <comment xml:lang="ja">データベースサーバの Kexi プロジェクトへのショートカット</comment> - <comment xml:lang="kk">Kexi деректер қоры жоба серверіне сілтеме</comment> - <comment xml:lang="km">ផ្លូវកាត់ទៅគម្រោង Kexi នៅក្នុងម៉ាស៊ីនបម្រើមូលដ្ឋានទិន្នន័យ</comment> - <comment xml:lang="ko">데이터베이스 서버의 Kexi 프로젝트 바로 가기</comment> - <comment xml:lang="lt">nuoroda į Kexi projektą duomenų bazės serveryje</comment> - <comment xml:lang="lv">īsceļš uz Kexi projektu datubāzes serverī</comment> - <comment xml:lang="ml">വിവരസഞ്ജയ സേവകനിലെ കെക്സി പദ്ധതിയിലേയ്കുള്ള കുറുക്ക്വഴി</comment> - <comment xml:lang="mr">डेटाबेस सर्व्हर वरील केक्सी परियोजनेकरिता शॉर्टकट </comment> - <comment xml:lang="nb">snarvei til Kexi-prosjekt på databasetjener</comment> - <comment xml:lang="nds">Fixtogriep op Kexi-Projekt op Datenbankserver</comment> - <comment xml:lang="nl">sneltoets naar Kexi-project op databaseserver</comment> - <comment xml:lang="nn">snarveg til Kexi-prosjekt på databasetenar</comment> - <comment xml:lang="pl">skrót do projektu Kexi na serwerze bazy danych</comment> - <comment xml:lang="pt">atalho para projectos do Kexi numa base de dados</comment> - <comment xml:lang="pt_BR">atalho para projeto do Kexi num banco de dados</comment> - <comment xml:lang="ro">scurtătură spre un proiect Kexi pe un server de baze de date</comment> - <comment xml:lang="ru">ссылка на проект Kexi</comment> - <comment xml:lang="se">njuolggobálggis Kexi-prošektii diehtovuođđobálvás</comment> - <comment xml:lang="sk">skratka ku projektu Kexi na databázovom serveri</comment> - <comment xml:lang="sl">bližnjica do projekta Kexi na strežniku podatkovne zbirke</comment> - <comment xml:lang="sr">пречица до Кексијевог пројекта на серверу базе</comment> - <comment xml:lang="sr@ijekavian">пречица до Кексијевог пројекта на серверу базе</comment> - <comment xml:lang="sr@ijekavianlatin">prečica do Kexijevog projekta na serveru baze</comment> - <comment xml:lang="sr@latin">prečica do Kexijevog projekta na serveru baze</comment> - <comment xml:lang="sv">genväg till Kexi-projekt på databasserver</comment> - <comment xml:lang="tr">veritabanı üzerindeki Kexi projesine kısayol</comment> - <comment xml:lang="ug">Kexi ساندان مۇلازىمېتىر قۇرۇلۇشىنىڭ تېزلەتمىسى</comment> - <comment xml:lang="uk">скорочення для проекту Kexi на сервері бази даних</comment> - <comment xml:lang="zh_CN">Kexi 数据库服务器项目的快捷方式</comment> - <comment xml:lang="zh_TW">資料庫伺服器 Kexi 專案的捷徑</comment> <glob pattern="*.kexis"/> </mime-type> <mime-type type="application/x-kexiproject-sqlite2"> <!-- FIXED 0.70 --> <sub-class-of type="application/x-sqlite2"/> <comment>Kexi database file-based project</comment> - <comment xml:lang="ar">مشروع قاعدة بيانات Kexi يعتمد على ملفات</comment> - <comment xml:lang="ast">Proyeutu basáu en ficheros de base de datos Kexi</comment> - <comment xml:lang="bs">Kexijev projekat baze na osnovu datoteke</comment> - <comment xml:lang="ca">projecte basat en fitxer de base de dades del Kexi</comment> - <comment xml:lang="ca@valencia">projecte basat en fitxer de base de dades del Kexi</comment> - <comment xml:lang="cs">Projekt databáze Kexi ze souboru</comment> - <comment xml:lang="da">Databasefil-baseret projekt til Kexi</comment> - <comment xml:lang="de">Kexi-Datenbank Dateibasiertes Projekt</comment> - <comment xml:lang="el">Βάση δεδομένων έργο βασισμένη σε αρχείο Kexi</comment> - <comment xml:lang="en_GB">Kexi database file-based project</comment> - <comment xml:lang="es">Proyecto basado en archivos de base de datos Kexi</comment> - <comment xml:lang="et">Kexi andmebaasi failipõhine projekt</comment> - <comment xml:lang="eu">Kexi datubasearen fitxategian oinarritutako proiektua</comment> - <comment xml:lang="fi">Kexi-tietokanta tiedostoperustainen projekti</comment> - <comment xml:lang="fr">Projet de base de données Kexi</comment> - <comment xml:lang="ga">Tionscadal bunachair sonraí Kexi bunaithe ar chomhaid</comment> - <comment xml:lang="gl">Proxecto de base de datos de Kexi baseada en ficheiros</comment> - <comment xml:lang="hr">Kexi projekt datotečno bazirane baze podataka</comment> - <comment xml:lang="hu">Kexi adatbázisfájl-alapú projekt</comment> - <comment xml:lang="ia">Kexi :Projecto basate su file de base de datos</comment> - <comment xml:lang="is">Skráartengt Kexi gagnagrunnsverkefni</comment> - <comment xml:lang="it">progetto basato su file di banche dati di Kexi</comment> - <comment xml:lang="ja">Kexi データベース ファイルベースプロジェクト</comment> - <comment xml:lang="kk">Kexi деректер қоры файл негіздегі жоба</comment> - <comment xml:lang="km">គម្រោងដែលមានមូលដ្ឋានលើឯកសារមូលដ្ឋានទិន្នន័យរបស់ Kexi</comment> - <comment xml:lang="ko">Kexi 데이터베이스 파일 기반 프로젝트</comment> - <comment xml:lang="lt">Kexi failinis duomenų bazės projektas</comment> - <comment xml:lang="lv">Kexi datubāzes faila bāzēts projekts</comment> - <comment xml:lang="ml">ക്ലെക്സി വിവരസഞ്ജയത്തിന്റെ ഫയല് അടിസ്ഥാനമാക്കിയുള്ള പദ്ധതി</comment> - <comment xml:lang="mr">केक्सी डेटाबेस फाईल-आधारित परियोजना</comment> - <comment xml:lang="nb">Kexi database filbasert prosjekt</comment> - <comment xml:lang="nds">Dateibaseert Kexi-Datenbankprojekt</comment> - <comment xml:lang="nl">Kexi database met bestandgebaseerd project</comment> - <comment xml:lang="nn">Filbasert Kexi-databaseprosjekt</comment> - <comment xml:lang="pl">Projekt bazy danych w pliku Kexi</comment> - <comment xml:lang="pt">Projecto de bases de dados em ficheiros do Kexi</comment> - <comment xml:lang="pt_BR">Projeto de banco de dados em arquivo do Kexi</comment> - <comment xml:lang="ro">proiect bază de date Kexi bazat pe fișier</comment> - <comment xml:lang="ru">проект файловой базы данных Kexi</comment> - <comment xml:lang="se">Kexi-diehtovuođđu fiilavuođđoduvvon prošeakta</comment> - <comment xml:lang="sk">Projekt databázy Kexi zo súboru</comment> - <comment xml:lang="sl">Projekt Kexi s podatkovno zbirko v datoteki</comment> - <comment xml:lang="sr">Кексијев пројекат базе на основу фајла</comment> - <comment xml:lang="sr@ijekavian">Кексијев пројекат базе на основу фајла</comment> - <comment xml:lang="sr@ijekavianlatin">Kexijev projekat baze na osnovu fajla</comment> - <comment xml:lang="sr@latin">Kexijev projekat baze na osnovu fajla</comment> - <comment xml:lang="sv">Kexi filbaserat databasprojekt</comment> - <comment xml:lang="tr">Dosya temelli Kexi veritabanı projesi</comment> - <comment xml:lang="ug">Kexi ساندان ھۆججەت ئاساسىدىكى قۇرۇلۇش</comment> - <comment xml:lang="uk">проект файлової бази даних Kexi</comment> - <comment xml:lang="zh_CN">Kexi 基于数据库文件项目</comment> - <comment xml:lang="zh_TW">Kexi 資料庫檔案專案</comment> <glob pattern="*.kexi"/> </mime-type> <mime-type type="application/x-kexiproject-sqlite3"> <!-- FIXED 0.70 --> <sub-class-of type="application/x-sqlite3"/> <comment>Kexi database file-based project</comment> - <comment xml:lang="ar">مشروع قاعدة بيانات Kexi يعتمد على ملفات</comment> - <comment xml:lang="ast">Proyeutu basáu en ficheros de base de datos Kexi</comment> - <comment xml:lang="bs">Kexijev projekat baze na osnovu datoteke</comment> - <comment xml:lang="ca">projecte basat en fitxer de base de dades del Kexi</comment> - <comment xml:lang="ca@valencia">projecte basat en fitxer de base de dades del Kexi</comment> - <comment xml:lang="cs">Projekt databáze Kexi ze souboru</comment> - <comment xml:lang="da">Databasefil-baseret projekt til Kexi</comment> - <comment xml:lang="de">Kexi-Datenbank Dateibasiertes Projekt</comment> - <comment xml:lang="el">Βάση δεδομένων έργο βασισμένη σε αρχείο Kexi</comment> - <comment xml:lang="en_GB">Kexi database file-based project</comment> - <comment xml:lang="es">Proyecto basado en archivos de base de datos Kexi</comment> - <comment xml:lang="et">Kexi andmebaasi failipõhine projekt</comment> - <comment xml:lang="eu">Kexi datubasearen fitxategian oinarritutako proiektua</comment> - <comment xml:lang="fi">Kexi-tietokanta tiedostoperustainen projekti</comment> - <comment xml:lang="fr">Projet de base de données Kexi</comment> - <comment xml:lang="ga">Tionscadal bunachair sonraí Kexi bunaithe ar chomhaid</comment> - <comment xml:lang="gl">Proxecto de base de datos de Kexi baseada en ficheiros</comment> - <comment xml:lang="hr">Kexi projekt datotečno bazirane baze podataka</comment> - <comment xml:lang="hu">Kexi adatbázisfájl-alapú projekt</comment> - <comment xml:lang="ia">Kexi :Projecto basate su file de base de datos</comment> - <comment xml:lang="is">Skráartengt Kexi gagnagrunnsverkefni</comment> - <comment xml:lang="it">progetto basato su file di banche dati di Kexi</comment> - <comment xml:lang="ja">Kexi データベース ファイルベースプロジェクト</comment> - <comment xml:lang="kk">Kexi деректер қоры файл негіздегі жоба</comment> - <comment xml:lang="km">គម្រោងដែលមានមូលដ្ឋានលើឯកសារមូលដ្ឋានទិន្នន័យរបស់ Kexi</comment> - <comment xml:lang="ko">Kexi 데이터베이스 파일 기반 프로젝트</comment> - <comment xml:lang="lt">Kexi failinis duomenų bazės projektas</comment> - <comment xml:lang="lv">Kexi datubāzes faila bāzēts projekts</comment> - <comment xml:lang="ml">ക്ലെക്സി വിവരസഞ്ജയത്തിന്റെ ഫയല് അടിസ്ഥാനമാക്കിയുള്ള പദ്ധതി</comment> - <comment xml:lang="mr">केक्सी डेटाबेस फाईल-आधारित परियोजना</comment> - <comment xml:lang="nb">Kexi database filbasert prosjekt</comment> - <comment xml:lang="nds">Dateibaseert Kexi-Datenbankprojekt</comment> - <comment xml:lang="nl">Kexi database met bestandgebaseerd project</comment> - <comment xml:lang="nn">Filbasert Kexi-databaseprosjekt</comment> - <comment xml:lang="pl">Projekt bazy danych w pliku Kexi</comment> - <comment xml:lang="pt">Projecto de bases de dados em ficheiros do Kexi</comment> - <comment xml:lang="pt_BR">Projeto de banco de dados em arquivo do Kexi</comment> - <comment xml:lang="ro">proiect bază de date Kexi bazat pe fișier</comment> - <comment xml:lang="ru">проект файловой базы данных Kexi</comment> - <comment xml:lang="se">Kexi-diehtovuođđu fiilavuođđoduvvon prošeakta</comment> - <comment xml:lang="sk">Projekt databázy Kexi zo súboru</comment> - <comment xml:lang="sl">Projekt Kexi s podatkovno zbirko v datoteki</comment> - <comment xml:lang="sr">Кексијев пројекат базе на основу фајла</comment> - <comment xml:lang="sr@ijekavian">Кексијев пројекат базе на основу фајла</comment> - <comment xml:lang="sr@ijekavianlatin">Kexijev projekat baze na osnovu fajla</comment> - <comment xml:lang="sr@latin">Kexijev projekat baze na osnovu fajla</comment> - <comment xml:lang="sv">Kexi filbaserat databasprojekt</comment> - <comment xml:lang="tr">Dosya temelli Kexi veritabanı projesi</comment> - <comment xml:lang="ug">Kexi ساندان ھۆججەت ئاساسىدىكى قۇرۇلۇش</comment> - <comment xml:lang="uk">проект файлової бази даних Kexi</comment> - <comment xml:lang="zh_CN">Kexi 基于数据库文件项目</comment> - <comment xml:lang="zh_TW">Kexi 資料庫檔案專案</comment> <glob pattern="*.kexi"/> <alias type="application/x-kexiproject-sqlite"/> <alias type="application/x-vnd.kde.kexi"/> </mime-type> <mime-type type="application/x-kexi-connectiondata"> <!-- FIXED 0.70 --> <comment>data for database server connection</comment> - <comment xml:lang="ar">بيانات اتصال خادم قاعدة البيانات</comment> - <comment xml:lang="ast">datos pa conexón a sirvidor de bases de datos</comment> - <comment xml:lang="bs">podaci za vezu sa serverom baze</comment> - <comment xml:lang="ca">dades per a la connexió al servidor de bases de dades</comment> - <comment xml:lang="ca@valencia">dades per a la connexió al servidor de bases de dades</comment> - <comment xml:lang="cs">údaje pro spojení s databázovým serverem</comment> - <comment xml:lang="da">data til database-server-forbindelse</comment> - <comment xml:lang="de">Daten für Datenbank-Server-Verbindung</comment> - <comment xml:lang="el">Δεδομένα για σύνδεση βάσης δεδομένων</comment> - <comment xml:lang="en_GB">data for database server connection</comment> - <comment xml:lang="es">datos para conexión a servidor de bases de datos</comment> - <comment xml:lang="et">andmebaasiserveri ühenduse andmed</comment> - <comment xml:lang="eu">datuak datubase zerbitzari konexiorako</comment> - <comment xml:lang="fi">dataa tietokantapalvelinyhteydelle</comment> - <comment xml:lang="fr">Données de connexion au serveur de base de données.</comment> - <comment xml:lang="ga">sonraí le haghaidh ceangail le freastalaí an bhunachair sonraí</comment> - <comment xml:lang="gl">datos de conexión a un servidor de bases de datos</comment> - <comment xml:lang="hr">podaci za vezu sa poslužiteljem baze podataka</comment> - <comment xml:lang="hu">adatbáziskapcsolat-fájl</comment> - <comment xml:lang="ia">datos pro connexion de servitor de base de datos</comment> - <comment xml:lang="is">upplýsingar um gagnagrunnstengingu</comment> - <comment xml:lang="it">dati per la connessione a server di banca dati</comment> - <comment xml:lang="ja">データベースサーバ接続のデータ</comment> - <comment xml:lang="kk">деректер қорына қосылу дерегі</comment> - <comment xml:lang="km">ទិន្នន័យសម្រាប់ការតភ្ជាប់ម៉ាស៊ីនបម្រើមូលដ្ឋានទិន្នន័យ</comment> - <comment xml:lang="ko">데이터베이스 서버 연결 데이터</comment> - <comment xml:lang="lt">duomenų bazės serverio jungites duomenys</comment> - <comment xml:lang="lv">dati datubāzes servera savienojumam</comment> - <comment xml:lang="ml">വിവരസഞ്ജയ സേവകനിലേയ്ക്കുള്ള ബന്ധത്തിനാവശ്യമായ വിവരം</comment> - <comment xml:lang="mr">डेटाबेस सर्व्हर जुळवणी करिता डेटा</comment> - <comment xml:lang="nb">data for forbindelse til databasetjener</comment> - <comment xml:lang="nds">Daten för Datenbankserververbinnen</comment> - <comment xml:lang="nl">gegevens voor verbinding met databaseserver</comment> - <comment xml:lang="nn">data for databasetenar-samband</comment> - <comment xml:lang="pa">ਡਾਟਾਬੇਸ ਸਰਵਰ ਕੁਨੈਕਨਸ਼ਨ ਲਈ ਡਾਟਾ</comment> - <comment xml:lang="pl">dane do połączenia z serwerem bazy danych</comment> - <comment xml:lang="pt">dados de ligação a servidores de bases de dados</comment> - <comment xml:lang="pt_BR">dados de conexão a servidores de bases de dados</comment> - <comment xml:lang="ro">date pentru conexiune la server de bază de date</comment> - <comment xml:lang="ru">сведения о соединении с сервером баз данных</comment> - <comment xml:lang="se">datat diehtovuođđobálvá lávttašumi várás</comment> - <comment xml:lang="sk">údaje pre spojenie s databázovým serverom</comment> - <comment xml:lang="sl">podatki za povezavo s strežnikom za podatkovno zbirko</comment> - <comment xml:lang="sr">подаци за везу са сервером базе</comment> - <comment xml:lang="sr@ijekavian">подаци за везу са сервером базе</comment> - <comment xml:lang="sr@ijekavianlatin">podaci za vezu sa serverom baze</comment> - <comment xml:lang="sr@latin">podaci za vezu sa serverom baze</comment> - <comment xml:lang="sv">data för anslutning till databasserver</comment> - <comment xml:lang="tr">veritabanı bağlantısı için veri</comment> - <comment xml:lang="ug">ساندان مۇلازىمېتىر باغلىنىشىنىڭ سانلىق-مەلۇماتى</comment> - <comment xml:lang="uk">дані для з’єднання з сервером бази даних</comment> - <comment xml:lang="zh_CN">数据库服务器连接数据</comment> - <comment xml:lang="zh_TW">資料庫伺服器連線資料</comment> <glob pattern="*.kexic"/> </mime-type> @@ -3694,60 +372,6 @@ <!-- Used in Nepomuk to encode almost all ontologies --> <mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="application/x-trig"> <!-- fdo #18089 --> <comment>TriG RDF document</comment> - <comment xml:lang="ar">وثيقة TriG RDF</comment> - <comment xml:lang="ast">Documentu RDF TriG</comment> - <comment xml:lang="bs">TriG RDF dokument</comment> - <comment xml:lang="ca">document TriG RDF</comment> - <comment xml:lang="ca@valencia">document TriG RDF</comment> - <comment xml:lang="cs">Dokument TriG RDF</comment> - <comment xml:lang="da">TriG RDF-dokument</comment> - <comment xml:lang="de">TriG-RDF-Dokument</comment> - <comment xml:lang="el">Έγγραφο TriG RDF</comment> - <comment xml:lang="en_GB">TriG RDF document</comment> - <comment xml:lang="es">Documento RDF TriG</comment> - <comment xml:lang="et">TriG RDF-dokument</comment> - <comment xml:lang="eu">TriG RDF dokumentua</comment> - <comment xml:lang="fi">TriG RDF -tiedosto</comment> - <comment xml:lang="fr">Document « RDF TriG »</comment> - <comment xml:lang="ga">Cáipéis RDF TriG</comment> - <comment xml:lang="gl">Documento RDF de TriG</comment> - <comment xml:lang="hr">TriG RDF dokument</comment> - <comment xml:lang="hu">TriG RDF-dokumentum</comment> - <comment xml:lang="ia">Documento RDF de TRiG</comment> - <comment xml:lang="is">TriG RDF skjal</comment> - <comment xml:lang="it">documento TriG RDF</comment> - <comment xml:lang="ja">TriG RDF 文書</comment> - <comment xml:lang="kk">TriG RDF құжаты</comment> - <comment xml:lang="km">ឯកសារ TriG RDF</comment> - <comment xml:lang="ko">TriG RDF 문서</comment> - <comment xml:lang="lt">TriG RDF dokumentas</comment> - <comment xml:lang="lv">TriG RDF dokuments</comment> - <comment xml:lang="ml">ട്രിഗ് ആര് ഡി എഫ് രേഖ</comment> - <comment xml:lang="mr">ट्रीग RDF दस्तऐवज</comment> - <comment xml:lang="nb">TriG RDF-dokument</comment> - <comment xml:lang="nds">RDF-Dokment för TriG</comment> - <comment xml:lang="nl">TriG RDF-document</comment> - <comment xml:lang="nn">TriG RDF-dokument</comment> - <comment xml:lang="pa">TriG RDF ਡੌਕੂਮੈਂਟ</comment> - <comment xml:lang="pl">Dokument TriG RDF</comment> - <comment xml:lang="pt">Documento RDF do TriG</comment> - <comment xml:lang="pt_BR">Documento RDF do TriG</comment> - <comment xml:lang="ro">Document RDF TriG</comment> - <comment xml:lang="ru">документ TriG RDF</comment> - <comment xml:lang="se">TriG RDF-dokumeanta</comment> - <comment xml:lang="sk">Dokument TriG RDF</comment> - <comment xml:lang="sl">Dokument TriG RDF</comment> - <comment xml:lang="sq">TriG RDF dokument</comment> - <comment xml:lang="sr">три‑Г РДФ документ</comment> - <comment xml:lang="sr@ijekavian">три‑Г РДФ документ</comment> - <comment xml:lang="sr@ijekavianlatin">TriG RDF dokument</comment> - <comment xml:lang="sr@latin">TriG RDF dokument</comment> - <comment xml:lang="sv">Trig RDF-dokument</comment> - <comment xml:lang="tr">TriG RDF belgesi</comment> - <comment xml:lang="ug">TriG RDF پۈتۈك</comment> - <comment xml:lang="uk">документ RDF TriG</comment> - <comment xml:lang="zh_CN">TriG RDF 文档</comment> - <comment xml:lang="zh_TW">TriG RDF 文件</comment> <sub-class-of type="text/plain" /> <glob pattern="*.trig" /> </mime-type> @@ -3755,115 +379,10 @@ <!-- Important: the SPARQL RDF query lanaguge uses turtle encoding for graph patterns. --> <mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="application/x-turtle"> <!-- fdo #18089 --> <comment>Turtle RDF document</comment> - <comment xml:lang="ar">وثيقة Turtle RDF</comment> - <comment xml:lang="ast">Documentu RDF Turtle</comment> - <comment xml:lang="bs">Turtle RDF dokument</comment> - <comment xml:lang="ca">document Turtle RDF</comment> - <comment xml:lang="ca@valencia">document Turtle RDF</comment> - <comment xml:lang="cs">Dokument Turtle RDF</comment> - <comment xml:lang="da">Turtle RDF-dokument</comment> - <comment xml:lang="de">Turtle-RDF-Dokument</comment> - <comment xml:lang="el">Έγγραφο Turtle RDF</comment> - <comment xml:lang="en_GB">Turtle RDF document</comment> - <comment xml:lang="es">Documento RDF Turtle</comment> - <comment xml:lang="et">Turtle RDF-dokument</comment> - <comment xml:lang="eu">Turtle RDF dokumentua</comment> - <comment xml:lang="fi">Turtle RDF -tiedosto</comment> - <comment xml:lang="fr">Document « RDF Turtle »</comment> - <comment xml:lang="ga">Cáipéis RDF Turtle</comment> - <comment xml:lang="gl">Documento RDF de Turtle</comment> - <comment xml:lang="hr">Turtle RDF dokument</comment> - <comment xml:lang="hu">Turtle RDF-dokumentum</comment> - <comment xml:lang="ia">documento RDF de Turtle</comment> - <comment xml:lang="is">Turtle RDF skjal</comment> - <comment xml:lang="it">documento Turtle RDF</comment> - <comment xml:lang="ja">Turtle RDF 文書</comment> - <comment xml:lang="kk">Turtle RDF құжаты</comment> - <comment xml:lang="km">ឯកសារ Turtle RDF</comment> - <comment xml:lang="ko">Turtle RDF 문서</comment> - <comment xml:lang="lt">Turtle RDF dokumentas</comment> - <comment xml:lang="lv">Turtle RDF dokuments</comment> - <comment xml:lang="ml">ടര്ട്ടില് ആര് ഡി എഫ് രേഖ</comment> - <comment xml:lang="mr">टर्टल RDF दस्तऐवज</comment> - <comment xml:lang="nb">Turtle RDF-dokument</comment> - <comment xml:lang="nds">RDF-Dokment för Turtle</comment> - <comment xml:lang="nl">Turtle RDF-document</comment> - <comment xml:lang="nn">Turtle RDF-dokument</comment> - <comment xml:lang="pa">Turtle RDF ਡੌਕੂਮੈਂਟ</comment> - <comment xml:lang="pl">Dokument Turtle RDF</comment> - <comment xml:lang="pt">Documento RDF do Turtle</comment> - <comment xml:lang="pt_BR">Documento RDF do Turtle</comment> - <comment xml:lang="ro">Document RDF Turtle</comment> - <comment xml:lang="ru">документ Turtle RDF</comment> - <comment xml:lang="se">Turtle RDF-dokumeanta</comment> - <comment xml:lang="sk">Dokument Turtle RDF</comment> - <comment xml:lang="sl">Dokument Turtle RDF</comment> - <comment xml:lang="sq">Turtle RDF dokument</comment> - <comment xml:lang="sr">туртл РДФ документ</comment> - <comment xml:lang="sr@ijekavian">туртл РДФ документ</comment> - <comment xml:lang="sr@ijekavianlatin">Turtle RDF dokument</comment> - <comment xml:lang="sr@latin">Turtle RDF dokument</comment> - <comment xml:lang="sv">Turtle RDF-dokument</comment> - <comment xml:lang="tr">Turtle RDF belgesi</comment> - <comment xml:lang="ug">Turtle RDF پۈتۈك</comment> - <comment xml:lang="uk">документ RDF Turtle</comment> - <comment xml:lang="zh_CN">Turtle RDF 文档</comment> - <comment xml:lang="zh_TW">Turtle RDF 文件</comment> <sub-class-of type="text/plain" /> </mime-type> <mime-type type="image/x-pic"> <!-- fdo #26038 --> <comment>Softimage PIC image</comment> - <comment xml:lang="ar">صورة PIC</comment> - <comment xml:lang="bs">Softimidžova PIC slika</comment> - <comment xml:lang="ca">imatge PIC de Softimage</comment> - <comment xml:lang="ca@valencia">imatge PIC de Softimage</comment> - <comment xml:lang="cs">Obrázek Softimage PIC</comment> - <comment xml:lang="da">Softimage PIC-billede</comment> - <comment xml:lang="de">Softimage-PIC-Bild</comment> - <comment xml:lang="el">Εικόνα Softimage PIC</comment> - <comment xml:lang="en_GB">Softimage PIC image</comment> - <comment xml:lang="es">Imagen PIC de Softimage</comment> - <comment xml:lang="et">Softimage PIC pilt</comment> - <comment xml:lang="eu">Softimage PIC irudia</comment> - <comment xml:lang="fi">Softimage PIC -kuva</comment> - <comment xml:lang="fr">Image PIC de Softimage</comment> - <comment xml:lang="ga">Íomhá PIC Softimage</comment> - <comment xml:lang="gl">Imaxe PIC de Softimage</comment> - <comment xml:lang="hr">Softimage PIC slika</comment> - <comment xml:lang="hu">Softimage PIC-kép</comment> - <comment xml:lang="ia">Imagine PIC de SoftImage</comment> - <comment xml:lang="is">Softimage PIC mynd</comment> - <comment xml:lang="it">immagine Softimage PIC</comment> - <comment xml:lang="ja">Softimage PIC 画像</comment> - <comment xml:lang="kk">Softimage PIC кескіні</comment> - <comment xml:lang="km">រូបភាព Softimage PIC</comment> - <comment xml:lang="ko">Softimage PIC 그림</comment> - <comment xml:lang="lt">Softimage PIC paveikslėlis</comment> - <comment xml:lang="lv">Softimage PIC attēls</comment> - <comment xml:lang="ml">സോഫ്റ്റ്ഇമേജ് പിക്ക് ചിത്രം</comment> - <comment xml:lang="mr">सोफ्टइमेज PIC प्रतिमा</comment> - <comment xml:lang="nb">Softimage PIC-bilde</comment> - <comment xml:lang="nds">PIC-Bild vun Softimage</comment> - <comment xml:lang="nl">Softimage PIC-image</comment> - <comment xml:lang="pl">Plik obrazu Softimage PIC</comment> - <comment xml:lang="pt">Imagem PIC da Softimage</comment> - <comment xml:lang="pt_BR">Imagem PIC da Softimage</comment> - <comment xml:lang="ro">imagine Softimage PIC</comment> - <comment xml:lang="ru">изображение Softimage PIC</comment> - <comment xml:lang="se">Softimage PIC-govva</comment> - <comment xml:lang="sk">Softimage PIC obrázok</comment> - <comment xml:lang="sl">Slika Softimage PIC</comment> - <comment xml:lang="sr">Софтимиџова ПИЦ слика</comment> - <comment xml:lang="sr@ijekavian">Софтимиџова ПИЦ слика</comment> - <comment xml:lang="sr@ijekavianlatin">Softimidžova PIC slika</comment> - <comment xml:lang="sr@latin">Softimidžova PIC slika</comment> - <comment xml:lang="sv">Softimage PIC-bild</comment> - <comment xml:lang="th">ภาพรูปแบบ Softimage PIC</comment> - <comment xml:lang="tr">Softimage PIC resmi</comment> - <comment xml:lang="ug">Softimage PIC سۈرەت</comment> - <comment xml:lang="uk">зображення PIC Softimage</comment> - <comment xml:lang="zh_CN">Softimage PIC 图像</comment> - <comment xml:lang="zh_TW">Softimage PIC 影像</comment> <magic priority="80"> <match value="0x5380f634" type="big32" offset="0"/> </magic> @@ -3871,54 +390,6 @@ </mime-type> <mime-type type="text/x-qml"> <!-- in fdo smi > 0.90 --> <comment>Qt Markup Language file</comment> - <comment xml:lang="ar">ملف لغة الوصف Qt</comment> - <comment xml:lang="bs">Datoteka Qt jezika za označavanje</comment> - <comment xml:lang="ca">fitxer de llenguatge de marques de Qt</comment> - <comment xml:lang="ca@valencia">fitxer de llenguatge de marques de Qt</comment> - <comment xml:lang="cs">Soubor Qt Markup Language</comment> - <comment xml:lang="da">Qt Markup Language-fil</comment> - <comment xml:lang="de">Qt-Markup-Language-Datei</comment> - <comment xml:lang="el">Αρχείο γλώσσας σήμανσης Qt</comment> - <comment xml:lang="en_GB">Qt Markup Language file</comment> - <comment xml:lang="es">Archivo de lenguaje de marcas de Qt</comment> - <comment xml:lang="et">Qt märkekeele fail</comment> - <comment xml:lang="eu">Qt markatzeko lengoaia fitxategia</comment> - <comment xml:lang="fi">Qt-merkintäkielitiedosto</comment> - <comment xml:lang="fr">Fichier de langage à balises Qt</comment> - <comment xml:lang="ga">Comhad Teanga Mharcála Qt</comment> - <comment xml:lang="gl">Ficheiro na lingua de etiquetas de Qt</comment> - <comment xml:lang="hr">Datoteka Qt-ovog označnog jezika</comment> - <comment xml:lang="hu">Qt Markup Language fájl</comment> - <comment xml:lang="ia">Le de linguage de marcation de QT</comment> - <comment xml:lang="is">Qt Markup tungumálsskrá</comment> - <comment xml:lang="it">File di linguaggio a marcatori di Qt</comment> - <comment xml:lang="kk">Qt белгілеу тіліндегі файл</comment> - <comment xml:lang="km">ឯកសារភាសាសម្គាល់ Qt </comment> - <comment xml:lang="ko">Qt 마크업 언어 파일</comment> - <comment xml:lang="lt">Qt ženklinimo kalba</comment> - <comment xml:lang="lv">Qt Markup Language fails</comment> - <comment xml:lang="mr">क्यूटी मार्कअप भाषा फाईल</comment> - <comment xml:lang="nb">FIl for Qt oppmerkingsspråk</comment> - <comment xml:lang="nds">Qt-Schriftsatzspraakdatei</comment> - <comment xml:lang="nl">Qt Markup Language-bestand</comment> - <comment xml:lang="pl">Plik języka znaczników dla Qt</comment> - <comment xml:lang="pt">Ficheiro na Qt Markup Language</comment> - <comment xml:lang="pt_BR">Arquivo da Qt Markup Language</comment> - <comment xml:lang="ro">Fișier limbaj de marcare Qt</comment> - <comment xml:lang="ru">исходный код QML</comment> - <comment xml:lang="se">Qt Markup Language-fiila</comment> - <comment xml:lang="sk">Súbor značkovacieho jazyka Qt</comment> - <comment xml:lang="sl">Datoteka označevalnega jezika Qt (QML)</comment> - <comment xml:lang="sr">фајл КуТ‑овог обележивачког језика</comment> - <comment xml:lang="sr@ijekavian">фајл КуТ‑овог обележивачког језика</comment> - <comment xml:lang="sr@ijekavianlatin">fajl Qt‑ovog obeleživačkog jezika</comment> - <comment xml:lang="sr@latin">fajl Qt‑ovog obeleživačkog jezika</comment> - <comment xml:lang="sv">Qt-taggspråkfil</comment> - <comment xml:lang="tr">Qt İşaretleme Dili dosyası</comment> - <comment xml:lang="ug">Qt بەلگە تىل ھۆججىتى</comment> - <comment xml:lang="uk">файл мови розмітки Qt</comment> - <comment xml:lang="zh_CN">Qt 标记语言文件</comment> - <comment xml:lang="zh_TW">Qt 標示語言檔</comment> <magic priority="80"> <match type="string" value="import Qt " offset="0:256"/> </magic> @@ -3926,54 +397,6 @@ </mime-type> <mime-type type="application/x-mobipocket-ebook"> <comment>Mobipocket e-book</comment> - <comment xml:lang="ar">كتاب إلكتروني Mobipocket</comment> - <comment xml:lang="bs">Mobipocket e-book</comment> - <comment xml:lang="ca">Llibre electrònic Mobipocket</comment> - <comment xml:lang="ca@valencia">Llibre electrònic Mobipocket</comment> - <comment xml:lang="cs"> E-Book Mobipocket</comment> - <comment xml:lang="da">Mobipocket e-bog</comment> - <comment xml:lang="de">Mobipocket-e-book</comment> - <comment xml:lang="el">Ηλ. βιβλίο Mobipocket</comment> - <comment xml:lang="en_GB">Mobipocket e-book</comment> - <comment xml:lang="es">Libro electrónico Mobipocket</comment> - <comment xml:lang="et">Mobipocketi e-raamat</comment> - <comment xml:lang="eu">Mobipocket liburu elektronikoa (e-book)</comment> - <comment xml:lang="fi">Mobipocket-e-kirja</comment> - <comment xml:lang="fr">Livre électronique « Mobipocket »</comment> - <comment xml:lang="ga">Ríomhleabhar Mobipocket</comment> - <comment xml:lang="gl">Libro electrónico Mobipocket</comment> - <comment xml:lang="hr">E-knjiga u Mobipocketu</comment> - <comment xml:lang="hu">Mobipocket e-book</comment> - <comment xml:lang="ia">Mobipocket e-book</comment> - <comment xml:lang="is">Mobipocket rafbók</comment> - <comment xml:lang="it">Libro elettronico Mobipocket</comment> - <comment xml:lang="kk">Mobipocket эл.кітабі</comment> - <comment xml:lang="km">Mobipocket e-book</comment> - <comment xml:lang="ko">Mobipocket 전자책</comment> - <comment xml:lang="lt">Mobipocket e-knyga</comment> - <comment xml:lang="lv">Mobipocket e-grāmata</comment> - <comment xml:lang="mr">मोबीपॉकेट इ-पुस्तक</comment> - <comment xml:lang="nb">Mobipocket e-bok</comment> - <comment xml:lang="nds">E-Book för Mobipocket</comment> - <comment xml:lang="nl">Mobipocket e-book</comment> - <comment xml:lang="pl">Mobipocket e-book</comment> - <comment xml:lang="pt">E-Book do Mobipocket</comment> - <comment xml:lang="pt_BR">E-book do Mobipocket</comment> - <comment xml:lang="ro">Carte digitală Mobipocket</comment> - <comment xml:lang="ru">электронная книга Mobipocket</comment> - <comment xml:lang="se">Mobipocket e-girji</comment> - <comment xml:lang="sk">Elektronická kniha Mobipocket</comment> - <comment xml:lang="sl">E-knjiga Mobipocket</comment> - <comment xml:lang="sr">Мобипокетова е‑књига</comment> - <comment xml:lang="sr@ijekavian">Мобипокетова е‑књига</comment> - <comment xml:lang="sr@ijekavianlatin">Mobipocketova e‑knjiga</comment> - <comment xml:lang="sr@latin">Mobipocketova e‑knjiga</comment> - <comment xml:lang="sv">Mobipocket e-bok</comment> - <comment xml:lang="tr">Mobipocket e-kitap</comment> - <comment xml:lang="ug">Mobipocket ئې-كىتاب</comment> - <comment xml:lang="uk">електронна книга Mobipocket</comment> - <comment xml:lang="zh_CN">Mobipocket 电子书</comment> - <comment xml:lang="zh_TW">Mobipocket e-book</comment> <sub-class-of type="application/x-palm-database"/> <generic-icon name="x-office-document"/> <glob pattern="*.mobi"/>
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/plasma/datacontainer.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/plasma/datacontainer.cpp
Changed
@@ -52,7 +52,7 @@ } d->dirty = true; - d->updateTimer.start(); + d->updateTs.start(); //check if storage is enabled and if storage is needed. //If it is not set to be stored,then this is the first @@ -74,7 +74,7 @@ d->data.clear(); d->dirty = true; - d->updateTimer.start(); + d->updateTs.start(); } bool DataContainer::visualizationIsConnected(QObject *visualization) const @@ -315,7 +315,9 @@ uint DataContainer::timeSinceLastUpdate() const { - return d->updateTimer.elapsed(); + //FIXME: we still assume it's been <24h + //and ignore possible daylight savings changes + return d->updateTs.elapsed(); } void DataContainer::setNeedsUpdate(bool update)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/plasma/dataengine.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/plasma/dataengine.cpp
Changed
@@ -370,12 +370,12 @@ } // minPollingInterval - if (d->updateTimer.elapsed() < d->minPollingInterval) { + if (d->updateTimestamp.elapsed() < d->minPollingInterval) { //kDebug() << "hey now.. slow down!"; return; } - d->updateTimer.start(); + d->updateTimestamp.restart(); updateAllSources(); } else if (event->timerId() == d->checkSourcesTimerId) { killTimer(d->checkSourcesTimerId); @@ -520,7 +520,7 @@ package(0), publishedService(0) { - updateTimer.start(); + updateTimestamp.start(); if (!info.isValid()) { engineName = i18n("Unnamed");
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/plasma/packagestructure.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/plasma/packagestructure.cpp
Changed
@@ -21,7 +21,6 @@ #include "config-plasma.h" -#include <QDirIterator> #include <QDir> #include <QMap> #include <QMutableListIterator> @@ -639,29 +638,7 @@ const KArchiveDirectory *source = archive->directory(); KTempDir tempdir; source->copyTo(tempdir.name()); - - // This is to help with the theme packages, which include an extra folder in their package archive. - // Question: Would it be better to search just the first level dirs for metadata.desktop file? - // As in /path/Theme Name/Dir1/metadata.desktop and not /path/Theme Name/Dir1/Dir2/metadata.desktop - // This fixes bug https://bugs.kde.org/show_bug.cgi?id=149479 properly. - // 2nd rev. Search an extra first directory only. - - QDir dir(tempdir.name()); - QString filename = "metadata.desktop"; - QFileInfo metadataFileInfo(dir, filename); - - if (metadataFileInfo.exists()) { - d->createPackageMetadata(metadataFileInfo.absolutePath()); - } else { - dir.setFilter(QDir::NoDotAndDotDot|QDir::Dirs); - dir.setSorting(QDir::DirsFirst); - QFileInfo firstDir(dir.entryInfoList().first()); - metadataFileInfo = QFileInfo(firstDir.filePath(), filename); - if (metadataFileInfo.exists()) { - kWarning() << "Found in: " << metadataFileInfo.absolutePath(); - d->createPackageMetadata(metadataFileInfo.absolutePath()); - } - } + d->createPackageMetadata(tempdir.name()); } else { kWarning() << "Could not open package file:" << d->path; }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/plasma/private/datacontainer_p.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/plasma/private/datacontainer_p.h
Changed
@@ -24,7 +24,7 @@ #include "storage_p.h" #include <QtCore/QTimerEvent> -#include <QtCore/QElapsedTimer> +#include <QtCore/QTime> #include <QtCore/QBasicTimer> class QTimer; @@ -73,7 +73,7 @@ DataEngine::Data data; QMap<QObject *, SignalRelay *> relayObjects; QMap<uint, SignalRelay *> relays; - QElapsedTimer updateTimer; + QTime updateTs; Storage* storage; QBasicTimer storageTimer; QBasicTimer checkUsageTimer;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/plasma/private/dataengine_p.h -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/plasma/private/dataengine_p.h
Changed
@@ -21,10 +21,12 @@ #define DATAENGINE_P_H #include <QQueue> -#include <QElapsedTimer> +#include <QTime> #include <kplugininfo.h> +class QTime; + namespace Plasma { @@ -105,7 +107,7 @@ int checkSourcesTimerId; int updateTimerId; int minPollingInterval; - QElapsedTimer updateTimer; + QTime updateTimestamp; DataEngine::SourceDict sources; QQueue<DataContainer*> sourceQueue; QString icon;
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/plasma/tests/packagemetadatatest.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/plasma/tests/packagemetadatatest.desktop
Changed
@@ -125,7 +125,7 @@ Comment[nn]=Ei .desktop-fil for testing av PackageMetaData-klassen. Comment[pa]=PackageMetaData ਕਲਾਸ ਟੈਸਟ ਕਰਨ ਲਈ ਟੈਸਟ ਡੈਸਕਟਾਪ ਫਾਇਲ Comment[pl]=Plik testowy desktop do testowania klasy PackageMetaData. -Comment[pt]=Um ficheiro '.desktop' de testes para testar a classe PackageMetaData. +Comment[pt]=Um ficheiro 'desktop' de testes da classe PackageMetaData. Comment[pt_BR]=Um arquivo desktop de testes para a classe PackageMetaData. Comment[ro]=Un fișier de probă pentru a verifica clasa PackageMetadata. Comment[ru]=Тестовый файл .desktop для проверки класса PackageMetaData.
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/security/crypto/crypto.desktop -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/security/crypto/crypto.desktop
Changed
@@ -153,7 +153,7 @@ Comment[nn]=Set opp SSL, sertifikat og andre krypteringsinnstillingar Comment[or]=SSL ବିନ୍ୟାସ କରନ୍ତୁ, ପ୍ରମାଣପତ୍ର ପରିଚାଳନ, ଏବଂ ଅନ୍ୟ ଗୁଢଲେଖନ ବିନ୍ୟାସଗୁଡିକ Comment[pa]=SSL ਸੰਰਚਨਾ, ਸਰਟੀਫਿਕੇਟ ਪਰਬੰਧ, ਅਤੇ ਹੋਰ ਕਰਿਪਟੋਗਰਾਫ਼ੀ ਸੈਟਿੰਘ -Comment[pl]=Ustawienia SSL, zarządzanie certyfikatami i inne ustawienia kryptografii +Comment[pl]=Konfiguracja SSL, zarządzanie certyfikatami i inne ustawienia kryptografii Comment[pt]=Configurar o SSL, gerir os certificados e outras opções de criptografia Comment[pt_BR]=Configura SSL, gerencia certificados e outras configurações de criptografia Comment[ro]=Configurează SSL, administrează certificate și alte setări criptografice
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/solid/solid/backends/udev/udevmanager.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/solid/solid/backends/udev/udevmanager.cpp
Changed
@@ -130,7 +130,7 @@ device.subsystem() == QLatin1String("video4linux") || device.subsystem() == QLatin1String("net") || device.deviceProperty("ID_MEDIA_PLAYER").toString().isEmpty() == false || // media-player-info recognized devices - (device.deviceProperty("ID_GPHOTO2").toInt() == 1 && device.parent().deviceProperty("ID_GPHOTO2").toInt() != 1); // GPhoto2 cameras + device.deviceProperty("ID_GPHOTO2").toInt() == 1; // GPhoto2 cameras } bool UDevManager::Private::isLidBubtton(const UdevQt::Device& device)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/solid/solid/backends/upower/upowermanager.cpp -> _service:recompress:tar_scm:kdelibs-4.14.30.git20140909.a932980.tar.gz/solid/solid/backends/upower/upowermanager.cpp
Changed
@@ -64,18 +64,16 @@ } if (serviceFound) { - if (m_manager.metaObject()->indexOfSignal("DeviceAdded(QDBusObjectPath)") != -1) { - // for UPower >= 0.99.0, changed signature :o/ - connect(&m_manager, SIGNAL(DeviceAdded(QDBusObjectPath)), - this, SLOT(onDeviceAdded(QDBusObjectPath))); - connect(&m_manager, SIGNAL(DeviceRemoved(QDBusObjectPath)), - this, SLOT(onDeviceRemoved(QDBusObjectPath))); - } else { - connect(&m_manager, SIGNAL(DeviceAdded(QString)), - this, SIGNAL(deviceAdded(QString))); - connect(&m_manager, SIGNAL(DeviceRemoved(QString)), - this, SIGNAL(deviceRemoved(QString))); - } + connect(&m_manager, SIGNAL(DeviceAdded(QString)), + this, SIGNAL(deviceAdded(QString))); + connect(&m_manager, SIGNAL(DeviceRemoved(QString)), + this, SIGNAL(deviceRemoved(QString))); + + // for UPower >= 0.99.0, changed signature :o/ + connect(&m_manager, SIGNAL(DeviceAdded(QDBusObjectPath)), + this, SLOT(onDeviceAdded(QDBusObjectPath))); + connect(&m_manager, SIGNAL(DeviceRemoved(QDBusObjectPath)), + this, SLOT(onDeviceRemoved(QDBusObjectPath))); } }
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/util/qosxkeychain.cpp
Deleted
@@ -1,723 +0,0 @@ -/* This file is part of the KDE project - * - * Copyright (C) 2014 René Bertin <rjvbertin@gmail.com> - * - * 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. - */ - -#include <cassert> -#include <sys/param.h> - -#include <QtGui/QApplication> -#include <QtCore/QtCore> -#include <QtCore/QPointer> -#include <QtGui/QWidget> - -#include "kwallet.h" -#include <kdebug.h> -using namespace KWallet; -#include "qosxkeychain.h" - -#include <CoreServices/CoreServices.h> - -//! Define INTERNET_TOO=1 in order to build read-access to the kSecInternetPasswordItemClass items -#define INTERNET_TOO 0 - -// #undef kWarning -// #undef kDebug -// #define kWarning qWarning -// #define kDebug qDebug - -// returns the textual representation of a FourCharCode (e.g. 'JPEG') -static QString OSTStr( FourCharCode etype ) -{ union OSTStr { - struct { - char startquote; - uint32_t four; - char endquote; - } __attribute__ ((packed)) value; - char representation[7]; - } __attribute__ ((packed)) ltype; - ltype.value.four = EndianU32_BtoN(etype); - ltype.representation[0] = ltype.representation[5] = '\''; - ltype.representation[6] = '\0'; - return QString::fromAscii(ltype.representation); -} - -static SecKeychainRef defaultChain() -{ QString errMsg; - SecKeychainRef keychain; - if( isError( SecKeychainCopyDefault(&keychain), &errMsg ) ){ - kWarning() << "Could not retrieve reference to default keychain:" << qPrintable(errMsg); - keychain = NULL; - } - return keychain; -} - -/*! Return a name for @p keychain, and possibly the full path to its file - * The name will be the equivalent of the `basename path .keychain` shell - * command. - */ -static QString keyChainName( SecKeychainRef keychain, QString *path=NULL ) -{ QFileInfo keyFile; - QString p = OSXKeychain::Path(keychain); - int ext = p.lastIndexOf(".keychain"); - keyFile = QFileInfo( ((ext > 0)? p.left(ext) : p) ); - if( path ){ - *path = QString(p); - } - return keyFile.fileName(); -} - -/*! Open an OS X keychain with name @p n. - * OS X keychains can be created without a full path (say, "kdewallet"), in which case they - * are stored e.g. as ~/Library/Keychains/kdewallet . However, opening a preexisting keychain like "login" - * without using the full path seems to fail even if e.g. ~/Library/Keychains/login exists. - * We try to work around that issue by matching @p n against the known keychain names. - */ -static OSStatus openKeychain( const QString &n, SecKeychainRef *keychain ) -{ OSStatus err; - CFArrayRef list = NULL; - - *keychain = NULL; - err = SecKeychainCopySearchList( &list ); - if( !err && list ){ - CFIndex len = CFArrayGetCount(list), i; - for( i = 0 ; i < len && !*keychain ; ++i ){ - SecKeychainRef kr = (SecKeychainRef) CFArrayGetValueAtIndex( list, i ); - QString path, name = keyChainName( kr, &path ); - if( name == n ){ - // a hit, try to open it! - err = SecKeychainOpen( path.toUtf8(), keychain ); - if( err ){ - kWarning() << "openKeychain(" << n << ") error" << err << "opening matching" << path; - } - else{ - kDebug() << "openKeychain(" << n << ") opened matching" << path; - } - } - } - CFRelease(list); - } - if( !*keychain ){ - err = SecKeychainOpen( n.toUtf8(), keychain ); - } - // we actually need to query the keychain's status to know if we succeeded - // in opening an existing keychain! - if( !err ){ - SecKeychainStatus status; - err = SecKeychainGetStatus( *keychain, &status ); - } - return err; -} - -static OSStatus basicWriteItem( const QByteArray *serviceName, const QByteArray &accountName, const QByteArray &value, - const SecKeychainRef keychain, SecKeychainItemRef *itemRef=NULL ) -{ OSStatus err; - QString errMsg; - if( serviceName ){ - err = SecKeychainAddGenericPassword( keychain, serviceName->size(), serviceName->constData(), - accountName.size(), accountName.constData(), - value.size(), value.constData(), itemRef ); - } - else{ - err = SecKeychainAddGenericPassword( keychain, 0, NULL, - accountName.size(), accountName.constData(), - value.size(), value.constData(), itemRef ); - } - if( err != errSecDuplicateItem && isError( err, &errMsg ) ){ - kWarning() << "Could not store password in keychain: " << qPrintable(errMsg); - } - return err; -} - -OSXKeychain::OSXKeychain() - : name("default") -{ QString errMsg; - keyChainRef = defaultChain(); - if( keyChainRef ){ - keyChainPath = OSXKeychain::Path(keyChainRef); - kDebug() << "Retrieved reference to default keychain" << (void*) keyChainRef << "in " << keyChainPath; - name = keyChainName(keyChainRef); - isDefaultKeychain = true; - } - else{ - keyChainPath = QString::fromUtf8("<undefined>"); - } - serviceList.clear(); - serviceList.append(""); -} - -OSXKeychain::OSXKeychain(const QString &n) - : name(n) -{ QString errMsg; - OSStatus err = openKeychain( n, &keyChainRef ); - - if( err == errSecNoSuchKeychain ){ - kWarning() << "Keychain '" << n << "' does not exist: attempting to create it"; - err = SecKeychainCreate( n.toUtf8(), 0, NULL, true, NULL, &keyChainRef ); - isKDEChain = true; - } - - if( isError( err, &errMsg ) ){ - // the protocol cannot handle failure to open a keychain, so we have to return the default. - keyChainRef = defaultChain(); - kWarning() << "Error opening keychain '" << n << "' (falling back to default keychain): " << qPrintable(errMsg); - name = keyChainName(keyChainRef); - isDefaultKeychain = true; - } - else{ - isDefaultKeychain = false; - } - - if( keyChainRef ){ - keyChainPath = OSXKeychain::Path(keyChainRef); - kDebug() << "Retrieved reference to keychain" << name << (void*) keyChainRef << "in " << keyChainPath; - } - else{ - keyChainPath = QString::fromUtf8("<undefined>"); - } - serviceList.clear(); - serviceList.append(""); -} - -void OSXKeychain::close() -{ - if( keyChainRef ){ - CFRelease(keyChainRef); - keyChainRef = NULL; - } -} - -OSXKeychain::~OSXKeychain() -{ - close(); -} - -OSStatus OSXKeychain::renameItem(const QString ¤tKey, const QString &newKey) -{ OSStatus err; - SecKeychainItemRef itemRef = NULL; - err = ReadItem( currentKey, NULL, keyChainRef, &itemRef, this ); - if( !err && itemRef ){ - const QByteArray accountName( newKey.toUtf8() ); - // store the new key in the account and label attributes - SecKeychainAttribute attr[] = { { kSecAccountItemAttr, accountName.size(), (void*) accountName.constData() }, - { kSecLabelItemAttr, accountName.size(), (void*) accountName.constData() } }; - SecKeychainAttributeList attrList = { 2, &attr[0] }; - QString errMsg; - if( isError( (err = SecKeychainItemModifyAttributesAndData( itemRef, &attrList, 0, NULL )), &errMsg ) ){ - kWarning() << "OSXKeychain::renameItem(" << currentKey << ") couldn't change name & label to" << accountName - << ":" << err << "=" << qPrintable(errMsg); - } - CFRelease(itemRef); - } - return err; -} - -#pragma mark ========= static member functions ========= - -OSStatus OSXKeychain::KeychainList(QStringList &theList) -{ CFArrayRef list = NULL; - OSStatus err = SecKeychainCopySearchList( &list ); - theList.clear(); - if( !err && list ){ - CFIndex len = CFArrayGetCount(list), i; - for( i = 0 ; i < len ; ++i ){ - SecKeychainRef keychain = (SecKeychainRef) CFArrayGetValueAtIndex( list, i ); - QString name = keyChainName(keychain); - if( name.size() > 0 ){ - theList.append(name); - } - } - CFRelease(list); - } - return err; -} - -QString OSXKeychain::Path(const SecKeychainRef keychain) -{ char pathName[MAXPATHLEN]; - UInt32 plen = MAXPATHLEN; - if( SecKeychainGetPath( (keychain)? keychain : OSXKeychain().reference(), &plen, pathName ) == errSecSuccess ){ - return QString::fromUtf8(pathName); - } - else{ - return QString(); - } -} - -bool OSXKeychain::IsOpen(const SecKeychainRef keychain) -{ bool isOpen = false; - SecKeychainStatus status; - QString errMsg; - if( isError( SecKeychainGetStatus( keychain, &status ), &errMsg ) ){ - if( keychain ){ - kDebug() << "Could not get the status of keychain" << OSXKeychain::Path(keychain) << ":" << qPrintable(errMsg); - } - else{ - kWarning() << "Could not get the default keychain's status:" << qPrintable(errMsg); - } - } - else{ - if( (status & kSecUnlockStateStatus) && (status & kSecReadPermStatus) ){ - isOpen = true; - } - else{ - kDebug() << "Keychain" << OSXKeychain::Path(keychain) << " has status" << status; - } - } - return isOpen; -} - -bool OSXKeychain::IsOpen(const QString &walletName) -{ SecKeychainRef keychain = NULL; - OSStatus err = openKeychain( walletName.toUtf8(), &keychain ); - bool ret = false; - if( !err && keychain ){ - ret = IsOpen(keychain); - CFRelease(keychain); - } - return ret; -} - -OSStatus OSXKeychain::UnLock(const SecKeychainRef keychain) -{ QString errMsg; - OSStatus err; - err = SecKeychainUnlock( keychain, 0, NULL, false ); - if( isError( err, &errMsg ) ){ - if( keychain ){ - kDebug() << "Could not unlock the keychain at '" << OSXKeychain::Path(keychain) << "': " << qPrintable(errMsg); - } - else{ - kDebug() << "Could not unlock the default keychain:" << qPrintable(errMsg); - } - } - return err; -} - -OSStatus OSXKeychain::Lock(const SecKeychainRef keychain) -{ QString errMsg; - OSStatus err; - if( keychain ){ - err = SecKeychainLock(keychain); - if( isError( err, &errMsg ) ){ - kDebug() << "Could not lock the keychain at '" << OSXKeychain::Path(keychain) << "': " << qPrintable(errMsg); - } - } - else{ - err = SecKeychainLockAll(); - if( isError( err, &errMsg ) ){ - kDebug() << "Could not lock all keychains:" << qPrintable(errMsg); - } - } - return err; -} - -OSStatus OSXKeychain::Lock(const QString &walletName) -{ SecKeychainRef keychain = NULL; - OSStatus err = openKeychain( walletName, &keychain ); - if( !err && keychain ){ - err = Lock(keychain); - CFRelease(keychain); - } - return err; -} - -/** use the keychain search functions to find the first matching item, if any, @return returning True if found. - The OS X error code is returned through @p errReturn when not NULL, the item itself through @p itemRef. - This reference will have to be released with CFRelease() when done with it (when @p itemRef==NULL the - function does this release itself). - */ -bool OSXKeychain::HasItem(const QString &key, - const SecKeychainRef keychain, OSStatus *errReturn, SecKeychainItemRef *itemRef) -{ const QByteArray accountName( key.toUtf8() ); - OSStatus err; - SecKeychainSearchRef searchRef; - SecKeychainAttribute attrs = { kSecAccountItemAttr, accountName.size(), (void*) accountName.constData() }; - SecKeychainAttributeList attrList = { 1, &attrs }; - err = SecKeychainSearchCreateFromAttributes( keychain, kSecGenericPasswordItemClass, - (const SecKeychainAttributeList*) &attrList, &searchRef ); - const CFReleaser<SecKeychainSearchRef> releaseSR(searchRef); - bool found; - SecKeychainItemRef item; - QString errMsg; - if( err ){ - found = false; - errMsg = errorString(err); - kDebug() << "OSXKeychain::HasItem(" << key << "," << (void*) keychain << "): SecKeychainSearchCreateFromAttributes failed"; - } - else{ - if( !(err = SecKeychainSearchCopyNext( searchRef, &item )) ){ - found = true; - if( itemRef ){ - *itemRef = item; - } - else if( item ){ - CFRelease(item); - } - errMsg = QString(); - } - else{ - found = false; - errMsg = errorString(err); - } - if( errReturn ){ - *errReturn = err; - } - } - kDebug() << ((found)? "Found" : "Did not find") << "item '" << key << "' in keychain " << (void*) keychain << ", error=" << err << " " << qPrintable(errMsg); - return found; -} - -OSStatus OSXKeychain::ReadItem(const QString &key, QByteArray *value, - const SecKeychainRef keychain, SecKeychainItemRef *itemRef, OSXKeychain *osxKeyChain) -{ const QByteArray accountName( key.toUtf8() ); - UInt32 passwordSize = 0; - void* passwordData = 0; - QString errMsg; - SecKeychainItemRef theItem; - OSStatus err = SecKeychainFindGenericPassword( keychain, 0, NULL, - accountName.size(), accountName.constData(), - &passwordSize, &passwordData, &theItem ); - if( isError( err, &errMsg ) ){ - kDebug() << "Error" << err << "retrieving password for '" << accountName << "' :" << qPrintable(errMsg); -#if INTERNET_TOO - if( SecKeychainFindInternetPassword( keychain, 0, NULL, - 0, NULL, - accountName.size(), accountName.constData(), - 0, NULL, 0, - kSecProtocolTypeAny, kSecAuthenticationTypeDefault, - &passwordSize, &passwordData, &theItem ) ){ - // just to be sure: - theItem = NULL; - } - else{ - err = 0; - errMsg = QString(); - } -#else - theItem = NULL; -#endif - } - if( !err && theItem ){ - if( value ){ - *value = QByteArray( reinterpret_cast<const char*>( passwordData ), passwordSize ); - } - SecKeychainItemFreeContent( NULL, passwordData ); - if( osxKeyChain && osxKeyChain->isKDEChain ){ - SecKeychainAttribute attr = { kSecServiceItemAttr, 0, NULL }; - SecKeychainAttributeList attrList = { 1, &attr }; - UInt32 len = 0; - // try to fetch the item's ServiceItem attribute - if( !SecKeychainItemCopyContent( theItem, NULL, &attrList, &len, NULL ) ){ - if( attr.length > 0 ){ - osxKeyChain->lastReadService.clear(); - osxKeyChain->lastReadService = QString::fromUtf8( (char*)attr.data, attr.length ); - } - SecKeychainItemFreeContent( &attrList, NULL ); - } - } - if( itemRef ){ - *itemRef = theItem; - } - else if( theItem ){ - CFRelease(theItem); - } - } - kDebug() << "OSXKeychain::ReadItem '" << key << "' from keychain " << OSXKeychain::Path(keychain) << ", error=" << err; - return err; -} - -OSStatus OSXKeychain::ItemType(const QString &key, EntryType *entryType, - const SecKeychainRef keychain) -{ const QByteArray accountName( key.toUtf8() ); - QString errMsg; - EntryType etype = (EntryType) 0; - SecKeychainItemRef itemRef; -#if INTERNET_TOO - bool isInternetPW = false; -#endif - OSStatus err = SecKeychainFindGenericPassword( keychain, 0, NULL, - accountName.size(), accountName.constData(), - NULL, NULL, &itemRef ); - if( isError( err, &errMsg ) ){ - kDebug() << "Error" << err << "retrieving type for '" << accountName << "' :" << qPrintable(errMsg); -#if INTERNET_TOO - if( SecKeychainFindInternetPassword( keychain, 0, NULL, - 0, NULL, - accountName.size(), accountName.constData(), - 0, NULL, 0, - kSecProtocolTypeAny, kSecAuthenticationTypeDefault, - 0, NULL, &itemRef ) ){ - // just to be sure: - itemRef = NULL; - } - else{ - isInternetPW = true; - err = 0; - errMsg = QString(); - } -#else - itemRef = NULL; -#endif - } - if( itemRef ){ - UInt32 tags[] = { kSecTypeItemAttr }; - UInt32 formats[] = { CSSM_DB_ATTRIBUTE_FORMAT_STRING }; - SecKeychainAttributeInfo attrGet = { 1, tags, formats }; - SecKeychainAttributeList *attrList = NULL; - err = SecKeychainItemCopyAttributesAndData( itemRef, &attrGet, NULL, &attrList, NULL, NULL ); - if( !err ){ - if( attrList->attr[0].length == sizeof(EntryType) ){ - memcpy( &etype, attrList->attr[0].data, sizeof(EntryType) ); - } - else if( attrList->attr[0].length ){ - kDebug() << "Error: key" << key << "item type retrieved is of size" << attrList->attr[0].length << "!=" << sizeof(EntryType); - } -#if INTERNET_TOO - else if( isInternetPW ){ - // this is just a wild guess ... - etype = Password; - } -#endif - if( entryType ){ - *entryType = etype; - } - } - SecKeychainItemFreeAttributesAndData( attrList, NULL ); - CFRelease(itemRef); - } - kDebug() << "OSXKeychain::ItemType '" << key << "' from keychain " << OSXKeychain::Path(keychain) << "=" << OSTStr(etype) << ", error=" << err; - return err; -} - -OSStatus OSXKeychain::RemoveItem(const QString &key, const SecKeychainRef keychain) -{ const QByteArray accountName( key.toUtf8() ); - SecKeychainItemRef itemRef; - QString errMsg; - OSStatus result = SecKeychainFindGenericPassword( keychain, 0, NULL, - accountName.size(), accountName.constData(), NULL, NULL, &itemRef ); - if( isError( result, &errMsg ) ){ - kDebug() << "Could not find entry" << key << ":" << qPrintable(errMsg); - } - else{ - const CFReleaser<SecKeychainItemRef> itemReleaser(itemRef); - result = SecKeychainItemDelete(itemRef); - if( isError( result, &errMsg ) ){ - kWarning() << "Could not delete entry" << key << ":" << qPrintable(errMsg); - } - } - return result; -} - -OSStatus OSXKeychain::WriteItem( const QString &key, const QByteArray &value, - const SecKeychainRef keychain, SecKeychainItemRef *itemRef, EntryType *entryType, OSXKeychain *osxKeyChain ) -{ const QByteArray accountName( key.toUtf8() ); - OSStatus err; - QString errMsg; - SecKeychainItemRef theItem = NULL; - bool saveLabel; - if( osxKeyChain && osxKeyChain->currentService.size() ){ - const QByteArray serviceName( osxKeyChain->currentService.toUtf8() ); - // save the "GenericPassword" item using the service name, which appears to be the only way to write - // to the "Where" field shown in the Keychain Utility. - err = basicWriteItem( &serviceName, accountName, value, keychain, &theItem ); - // the service (folder!) string will also appear on the "Name" field, which however can be changed - // independently, via the Label attribute. - saveLabel = true; - } - else{ - err = basicWriteItem( NULL, accountName, value, keychain, &theItem ); - saveLabel = false; - } - if( err == errSecDuplicateItem ){ - // RJVB: the previous implementation was wrong. errSecDuplicateItem means the write failed because of an existing item. - // So we have to find that item, and modify it. - if( !(err = ReadItem( key, NULL, keychain, &theItem )) ){ - err = SecKeychainItemModifyAttributesAndData( theItem, NULL, value.size(), value.constData() ); - if( isError( err, &errMsg ) ){ - kDebug() << "Key '" << key - << "'already exists in keychain but error modifying the existing item: " << qPrintable(errMsg); - } - } - if( !err ){ - kDebug() << "Key '" << key << "'already existed in keychain: modified the existing item"; - } - } - if( !err && saveLabel ){ - // store the desired text in the label attribute - SecKeychainAttribute attr = { kSecLabelItemAttr, accountName.size(), (void*) accountName.constData() }; - SecKeychainAttributeList attrList = { 1, &attr }; - QString errMsg; - if( isError( (err = SecKeychainItemModifyAttributesAndData( theItem, &attrList, 0, NULL )), &errMsg ) ){ - kWarning() << "OSXKeychain::WriteItem(" << key << ") couldn't set the desired name/label" << accountName - << ":" << err << "=" << qPrintable(errMsg); - } - } - if( !err ){ - EntryType defType = Stream; - if( !entryType ){ - entryType = &defType; - } - SecKeychainAttribute attr = { kSecTypeItemAttr, sizeof(EntryType), (void*) entryType }; - SecKeychainAttributeList attrList = { 1, &attr }; - QString errMsg; - if( isError( (err = SecKeychainItemModifyAttributesAndData( theItem, &attrList, 0, NULL )), &errMsg ) ){ - kWarning() << "OSXKeychain::WriteItem(" << key << ") couldn't set type to" << OSTStr(*entryType) - << ":" << qPrintable(errMsg); - } - } - if( itemRef ){ - *itemRef = theItem; - } - else if( theItem ){ - CFRelease(theItem); - } - kDebug() << "OSXKeychain::WriteItem '" << key << "' to keychain " << (void*) keychain << ", error=" << err; - return err; -} - -OSStatus OSXKeychain::WriteItem( const QString &key, const QByteArray &value, - const QString &comment, const SecKeychainRef keychain, EntryType *entryType, OSXKeychain *osxKeyChain ) -{ SecKeychainItemRef itemRef = NULL; - OSStatus err = WriteItem( key, value, keychain, &itemRef, entryType, osxKeyChain ); - if( !err && itemRef ){ - const QByteArray commentString(comment.toUtf8()); - if( commentString.size() ){ - SecKeychainAttribute attr = { kSecCommentItemAttr, commentString.size(), (void*) commentString.constData() }; - SecKeychainAttributeList attrList = { 1, &attr }; - QString errMsg; - if( isError( (err = SecKeychainItemModifyAttributesAndData( itemRef, &attrList, 0, NULL )), &errMsg ) ){ - kWarning() << "OSXKeychain::WriteItem(" << key << ") couldn't add comment" << comment - << ":" << qPrintable(errMsg); - } - } - CFRelease(itemRef); - } - return err; -} - -// returns the kSecAccountItemAttr's of all items in the keychain -OSStatus OSXKeychain::ItemList( SecKeychainRef keychain, QStringList &keyList, OSXKeychain *osxKeyChain ) -{ OSStatus err; - SecKeychainSearchRef searchRef[2]; - bool generateFolderList = ( osxKeyChain && osxKeyChain->isKDEChain && osxKeyChain->generateFolderList ); - - keyList.clear(); - if( generateFolderList ){ - osxKeyChain->serviceList.clear(); - if( osxKeyChain->currentService.size() > 0 ){ - osxKeyChain->serviceList.append(osxKeyChain->currentService); - } - } - - err = SecKeychainSearchCreateFromAttributes( keychain, kSecGenericPasswordItemClass, NULL, &searchRef[0] ); -#if INTERNET_TOO - if( SecKeychainSearchCreateFromAttributes( keychain, kSecInternetPasswordItemClass, NULL, &searchRef[1] ) ){ - searchRef[1] = NULL; - } -#else - searchRef[1] = NULL; -#endif - SecKeychainItemRef item; - QString errMsg; - if( isError(err, &errMsg) ){ - kDebug() << "OSXKeychain::ItemList(" << (void*) keychain << "): SecKeychainSearchCreateFromAttributes failed" << qPrintable(errMsg); - } - else{ - for( size_t i = 0 ; i < sizeof(searchRef)/sizeof(SecKeychainSearchRef) && !err ; ++i ){ - if( searchRef[i] ){ - while( !(err = SecKeychainSearchCopyNext( searchRef[i], &item )) ){ - if( item ){ - // whether the item will be listed in the keyList we return: by default it is - // (better an item shows up multiple times than not at all). - bool listItem = true; - SecKeychainAttribute attr = { kSecAccountItemAttr, 0, NULL }; - SecKeychainAttributeList attrList = { 1, &attr }; - UInt32 len = 0; - if( osxKeyChain && osxKeyChain->isKDEChain ){ - // try to fetch the item's ServiceItem attribute - attr.tag = kSecServiceItemAttr; - if( !SecKeychainItemCopyContent( item, NULL, &attrList, &len, NULL ) ){ - QString lbl = QString::fromUtf8( (char*)attr.data, attr.length ); - // we got a service item attribute, which is where we store the kwallet folder info. - // If we disallow empty attributes, keychain items without service item attribute will - // appear in each folder that has a non-empty name. In other words, we allow a folder without name. - if( generateFolderList ){ - // add the "folder" to the list if not already listed - if( !osxKeyChain->serviceList.contains(lbl) ){ - osxKeyChain->serviceList.append(lbl); - } - } - else{ - // only list the item if it's in the current "folder" - listItem = (lbl == osxKeyChain->currentService); - } - SecKeychainItemFreeContent( &attrList, NULL ); - } - } - else{ - // errors retrieving the service item attribute are ignored - } - if( listItem ){ - attr.tag = kSecAccountItemAttr; - if( !(err = SecKeychainItemCopyContent( item, NULL, &attrList, &len, NULL )) ){ - if( attr.length > 0 ){ - keyList.append(QString::fromUtf8( (char*)attr.data, attr.length )); - } - SecKeychainItemFreeContent( &attrList, NULL ); - } - else{ - errMsg = errorString(err); - kDebug() << "SecKeychainItemCopyContent returned" << err << "=" << qPrintable(errMsg); - } - } - CFRelease(item); - } - } - if( err ){ - errMsg = errorString(err); - } - CFRelease(searchRef[i]); - } - } - } - return err; -} - -OSStatus OSXKeychain::Destroy( SecKeychainRef *keychain ) -{ OSStatus err = SecKeychainDelete(*keychain); - QString errMsg; - if( isError( err, &errMsg ) ){ - kWarning() << "OSXKeychain::Destroy " << (void*) *keychain << ", error " << qPrintable(errMsg); - } - else{ - kWarning() << "OSXKeychain::Destroy " << (void*) *keychain << ", error=" << err; - } - if( keychain ){ - CFRelease(*keychain); - *keychain = NULL; - } - return err; -} - -OSStatus OSXKeychain::Destroy( const QString &walletName ) -{ SecKeychainRef keychain; - OSStatus err = openKeychain( walletName, &keychain ); - if( !err && keychain ){ - err = Destroy(&keychain); - } - return err; -}
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdeui/util/qosxkeychain.h
Deleted
@@ -1,200 +0,0 @@ -/* This file is part of the KDE project - * - * Copyright (C) 2014 René Bertin <rjvbertin@gmail.com> - * - * 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. - */ - -#include <Security/Security.h> -#include <Security/SecKeychain.h> - -namespace { - template <typename T> - struct CFReleaser { - explicit CFReleaser( const T& r ) : ref( r ) {} - ~CFReleaser() { if( ref ){ CFRelease( ref ); } } - T ref; - }; - - template <typename T> - struct CPPDeleter { - explicit CPPDeleter( const T& r ) : ptr( r ) {} - ~CPPDeleter() { if( ptr ){ delete ptr; } } - T ptr; - }; - - template <typename T> - struct CPPArrayDeleter { - explicit CPPArrayDeleter( const T& r ) : ptr( r ) {} - ~CPPArrayDeleter() { if( ptr ){ delete[] ptr; } } - T ptr; - }; - - template <typename T> - struct CacheOldValue { - explicit CacheOldValue( T &var, const T newVal ) - : oldVal(var), varRef(var) - { - var = newVal; - } - ~CacheOldValue() - { - varRef = oldVal; - } - T oldVal, &varRef; - }; -} - -static inline QString asQString( CFStringRef sr ) -{ CFIndex len = CFStringGetLength(sr)*2; - const CPPArrayDeleter<char*> buff(new char[len]); - if( CFStringGetCString( sr, buff.ptr, len, kCFStringEncodingUTF8 ) ){ - return QString::fromUtf8(buff.ptr); //RJVB: use UTF8 - } - else if( CFStringGetCString( sr, buff.ptr, len, kCFStringEncodingNonLossyASCII ) ){ - return QString::fromLocal8Bit(buff.ptr); - } - else{ - CFStringGetCString( sr, buff.ptr, len, NULL ); - return QString::fromLatin1(buff.ptr); - } -} - -static inline QString errorString( OSStatus s ) -{ - const CFReleaser<CFStringRef> ref( SecCopyErrorMessageString( s, NULL ) ); - return asQString( ref.ref ); -} - -static inline bool isError( OSStatus s, QString *errMsg ) -{ - if( errMsg ){ - *errMsg = errorString(s); - } - return s != 0; -} - -class OSXKeychain -{ -private: - SecKeychainRef keyChainRef; - QString keyChainPath; - bool isDefaultKeychain, generateFolderList; - -public: - enum EntryType { Unknown='K\?\?\?', Password='KPWD', Map='KMAP', Stream='KSTR' }; - QString name; - QString currentService, lastReadService; - QStringList serviceList; - bool isKDEChain; - - OSXKeychain(); - OSXKeychain(const QString &name); - virtual ~OSXKeychain(); - - inline SecKeychainRef reference() - { - return keyChainRef; - } - inline QString &path() - { - return keyChainPath; - } - inline bool isDefault() - { - return isDefaultKeychain; - } - inline bool isOpen() - { - return IsOpen(keyChainRef); - } - inline OSStatus lock() - { - return Lock(keyChainRef); - } - inline OSStatus unLock() - { - return UnLock(keyChainRef); - } - void close(); - inline bool hasItem(const QString &key, OSStatus *errReturn, SecKeychainItemRef *itemRef=NULL) - { - // qDebug() << "OSXKeychain::hasItem(" << key << "): scanning '" << name << "'=" << (void*) keyChainRef; - return OSXKeychain::HasItem( key, keyChainRef, errReturn, itemRef ); - } - inline OSStatus readItem(const QString &key, QByteArray *value, SecKeychainItemRef *itemRef=NULL) - { - return ReadItem( key, value, keyChainRef, itemRef, this ); - } - inline OSStatus itemType(const QString &key, EntryType *entryType) - { - return ItemType( key, entryType, keyChainRef ); - } - inline OSStatus removeItem(const QString &key) - { - return RemoveItem( key, keyChainRef ); - } - inline OSStatus writeItem( const QString &key, const QByteArray &value, EntryType *entryType=NULL ) - { - return WriteItem( key, value, keyChainRef, NULL, entryType, this ); - } - inline OSStatus writeItem( const QString &key, const QByteArray &value, const QString &comment, - EntryType *entryType=NULL ) - { - return WriteItem( key, value, comment, keyChainRef, entryType, this ); - } - inline OSStatus itemList( QStringList &keyList ) - { - return ItemList( keyChainRef, keyList, this ); - } - inline QStringList folderList() - { - QStringList r; - CacheOldValue<bool> gFL(generateFolderList, true); - ItemList( keyChainRef, r, this ); - r.clear(); - return serviceList; - } - OSStatus renameItem(const QString ¤tKey, const QString &newKey); - -#pragma mark ==== class methods aka static member functions ==== - static OSStatus KeychainList(QStringList &theList); - static QString Path(const SecKeychainRef keychain); - static bool IsOpen(const SecKeychainRef keychain); - static bool IsOpen(const QString& name); - static OSStatus UnLock(const SecKeychainRef keychain); - static OSStatus Lock(const SecKeychainRef keychain); - static OSStatus Lock(const QString &walletName); - /** use the keychain search functions to find the first matching item, if any, returning True if found. - The OS X error code is returned through @p errReturn when not NULL, the item itself through @p itemRef. - This reference will have to be released with CFRelease() when done with it (when @p itemRef==NULL the - function does this release itself). - */ - static bool HasItem(const QString &key, - const SecKeychainRef keychain, OSStatus *errReturn, SecKeychainItemRef *itemRef); - static OSStatus ReadItem(const QString &key, QByteArray *value, - const SecKeychainRef keychain, SecKeychainItemRef *itemRef=NULL, OSXKeychain *osxKeyChain=NULL); - static OSStatus ItemType(const QString &key, EntryType *entryType, - const SecKeychainRef keychain); - static OSStatus RemoveItem(const QString &key, const SecKeychainRef keychain); - static OSStatus WriteItem( const QString &key, const QByteArray &value, - const SecKeychainRef keychain, SecKeychainItemRef *itemRef=NULL, EntryType *entryType=NULL, OSXKeychain *osxKeyChain=NULL ); - static OSStatus WriteItem( const QString& key, const QByteArray& value, - const QString& comment, const SecKeychainRef keychain, EntryType *entryType, OSXKeychain *osxKeyChain=NULL ); - static OSStatus ItemList( const SecKeychainRef keychain, QStringList &keyList, OSXKeychain *osxKeyChain=NULL ); - static OSStatus Destroy( SecKeychainRef *keychain ); - static OSStatus Destroy( const QString &walletName ); -};
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/tests
Deleted
-(directory)
View file
_service:recompress:tar_scm:kdelibs-4.14.30.git20141230.42bd1a3.tar.gz/kdoctools/tests/CMakeLists.txt
Deleted
@@ -1,5 +0,0 @@ -add_test( - NAME meinproc_template - COMMAND meinproc4 --srcdir ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/../template.docbook - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -)
View file
_service:set_version:kdelibs.dsc
Changed
@@ -2,7 +2,7 @@ Source: kde4libs Binary: libkdecore5, libkdeui5, libkpty4, libkdesu5, libkjsapi4, libkjsembed4, libkio5, libkntlm4, libsolid4, libkde3support4, libkfile4, libknewstuff2-4, libknewstuff3-4, libkparts4, libkutils4, libthreadweaver4, libkhtml5, libkimproxy4, libkmediaplayer4, libktexteditor4, libknotifyconfig4, libkdnssd4, libkrosscore4, libkrossui4, libnepomuk4, libnepomukutils4, libnepomukquery4a, libplasma3, libkunitconversion4, libkdewebkit5, libkcmutils4, libkemoticons4, libkidletime4, libkprintutils4, libkdeclarative5, kdelibs-bin, kdelibs5-plugins, kdelibs5-data, kdoctools, kdelibs5-dev, kdelibs5-dbg Architecture: any all -Version: 4.14.30.git20141230.42bd1a3 +Version: 4.14.30.git20140909.a932980 Maintainer: Kubuntu Developers <kubuntu-devel@lists.ubuntu.com> Uploaders: Sune Vuorela <sune@debian.org>, Fathi Boudra <fabo@debian.org>, Modestas Vainius <modax@debian.org>, George Kiagiadakis <kiagiadakis.george@gmail.com> Homepage: http://www.kde.org/
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.