summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt16
m---------admin0
-rw-r--r--config.h.cmake4
-rw-r--r--configure.in.bot8
-rw-r--r--dcop/KDE-ICE/CMakeLists.txt2
-rw-r--r--dcop/dcopclient.cpp2
-rw-r--r--kate/data/rust.xml9
-rw-r--r--kate/data/update-files.xml2
-rw-r--r--kimgio/jp2.cpp91
-rw-r--r--kimgio/tiffr.cpp35
-rw-r--r--kjs/CMakeLists.txt6
-rw-r--r--kjs/Makefile.am6
-rw-r--r--kjs/configure.in.in51
-rw-r--r--kjs/date_object.cpp11
-rw-r--r--kjs/regexp.cpp230
-rw-r--r--kjs/regexp.h21
-rw-r--r--tdecore/kglobalaccel_x11.cpp2
-rw-r--r--tdecore/libtdecore.nmcheck2
-rw-r--r--tdecore/tdeapplication.h2
-rw-r--r--tdecore/tdeglobal.cpp17
-rw-r--r--tdecore/tdeglobal.h20
-rw-r--r--tdecore/tdehw/tdestoragedevice.h4
-rw-r--r--tdehtml/html/Platform.h6
-rw-r--r--tdehtml/rendering/render_replaced.cpp2
-rw-r--r--tdehtml/tdehtml_ext.cpp2
-rw-r--r--tdehtml/tdehtml_part.cpp2
-rw-r--r--tdeinit/autostart.cpp32
-rw-r--r--tdeio/tdefile/kicondialog.cpp6
-rw-r--r--tdeio/tdefile/tdefileiconview.cpp2
-rw-r--r--tdeio/tdefile/tdefileiconview.h2
-rw-r--r--tdeio/tdeio/lex.c9
-rw-r--r--tdeio/tdeio/scheduler.cpp12
-rw-r--r--tdeioslave/ftp/ftp.cpp2
-rw-r--r--tdeparts/browserinterface.cpp2
-rw-r--r--tdeprint/fooparser.cpp8
-rw-r--r--tdeprint/fooscanner.cpp9
-rw-r--r--tdeprint/ppdscanner.cpp9
-rw-r--r--tdeui/kcmenumngr.h2
-rw-r--r--tdeui/kinputdialog.h2
-rw-r--r--tdeui/klineeditdlg.h2
-rw-r--r--tdeutils/tdecmoduleinfo.cpp5
-rw-r--r--translations/desktop_files/all_languages.desktop/ka.po19
-rw-r--r--translations/desktop_files/interfaces-desktops/ka.po15
-rw-r--r--translations/desktop_files/kmcop.desktop/ka.po15
-rw-r--r--translations/desktop_files/mimetypes/ka.po30
-rw-r--r--translations/desktop_files/tdeabc-desktops/ka.po21
-rw-r--r--translations/desktop_files/tdecertpart.desktop/ka.po15
-rw-r--r--translations/desktop_files/tdecore-eventsrc/ka.po21
-rw-r--r--translations/desktop_files/tdefile-desktops/ka.po23
-rw-r--r--translations/desktop_files/tdehtml-desktops/ka.po15
-rw-r--r--translations/desktop_files/tdeio-desktops/ka.po15
-rw-r--r--translations/desktop_files/tdeioslave-desktops/ka.po21
-rw-r--r--translations/desktop_files/tdeprint-desktops/ka.po53
-rw-r--r--translations/desktop_files/tdespell2-desktops/ka.po19
-rw-r--r--win/common.pro4
-rw-r--r--win/ctype.h2
-rw-r--r--win/signal.h2
-rw-r--r--win/stdlib.h2
-rw-r--r--win/string.h2
-rw-r--r--win/sys/fcntl.h2
-rw-r--r--win/sys/stat.h2
-rw-r--r--win/sys/types.h2
62 files changed, 530 insertions, 427 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d01650535..41a4ed3ad 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,7 +111,7 @@ option( WITH_OPENEXR "Enable openexr support" ${WITH_ALL_OPTIONS} )
option( WITH_UTEMPTER "Use utempter for utmp management" ${WITH_ALL_OPTIONS} )
option( WITH_AVAHI "Enable AVAHI support" ${WITH_ALL_OPTIONS} )
option( WITH_ELFICON "Enable ELF embedded icon support" ${WITH_ALL_OPTIONS} )
-option( WITH_PCRE "Enable pcre regex support for kjs" ON )
+option( WITH_PCRE2 "Enable pcre2 regex support for kjs" ON )
option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
option( WITH_INOTIFY "Enable inotify support for tdeio" ON )
option( WITH_GAMIN "Enable FAM/GAMIN support" ${WITH_ALL_OPTIONS} )
@@ -1223,14 +1223,14 @@ if( WITH_ELFICON )
endif( )
-##### check for pcre ###########################
+##### check for pcre2 ###########################
-if( WITH_PCRE )
- pkg_search_module( LIBPCRE libpcre )
- if( NOT LIBPCRE_FOUND )
- message(FATAL_ERROR "\npcre support are requested, but not found on your system" )
- endif( NOT LIBPCRE_FOUND )
- set( HAVE_PCREPOSIX 1 )
+if( WITH_PCRE2 )
+ pkg_check_modules( LIBPCRE2 libpcre2-8 libpcre2-posix )
+ if( NOT LIBPCRE2_FOUND )
+ tde_message_fatal( "pcre2 support was requested, but not found on your system" )
+ endif( )
+ set( HAVE_PCRE2POSIX 1 )
endif( )
diff --git a/admin b/admin
-Subproject 272990b269b5c72b397c6804397ad81e68c3791
+Subproject 8f4fde8c1473816e3d70735b2a08e7243b1eaef
diff --git a/config.h.cmake b/config.h.cmake
index b108f8418..fa6580cf3 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -417,8 +417,8 @@
/* Define to 1 if you have the <paths.h> header file. */
#cmakedefine HAVE_PATHS_H 1
-/* Define if you have pcreposix libraries and header files. */
-#cmakedefine HAVE_PCREPOSIX 1
+/* Define if you have pcre2 libraries and header files. */
+#cmakedefine HAVE_PCRE2POSIX 1
/* Define to 1 if you have the `poll' function. */
#cmakedefine HAVE_POLL 1
diff --git a/configure.in.bot b/configure.in.bot
index 4383af879..290343112 100644
--- a/configure.in.bot
+++ b/configure.in.bot
@@ -23,12 +23,12 @@ if test -z "$LIBART_CONFIG"; then
all_tests=bad
fi
-if test -z "$LIBPCRE"; then
+if test -z "$LIBPCRE2"; then
echo ""
- echo "You're missing libpcre."
+ echo "You're missing libpcre2."
echo "Some web pages (using regular expressions in Javascript code) will not "
- echo "work correctly, the regexp support being limited without libpcre. "
- echo "If you plan to use Konqueror as a Web Browser, download libpcre from "
+ echo "work correctly, the regexp support being limited without libpcre2. "
+ echo "If you plan to use Konqueror as a Web Browser, download libpcre2 from "
echo "http://www.pcre.org or find a binary package for your platform."
echo ""
all_tests=bad
diff --git a/dcop/KDE-ICE/CMakeLists.txt b/dcop/KDE-ICE/CMakeLists.txt
index 6963d5017..b7c6ed0f4 100644
--- a/dcop/KDE-ICE/CMakeLists.txt
+++ b/dcop/KDE-ICE/CMakeLists.txt
@@ -9,8 +9,6 @@
#
#################################################
-set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -include tqt.h" )
-
add_definitions(
-DICE_t
-DTRANS_SERVER
diff --git a/dcop/dcopclient.cpp b/dcop/dcopclient.cpp
index 8965b6062..1533b802c 100644
--- a/dcop/dcopclient.cpp
+++ b/dcop/dcopclient.cpp
@@ -62,7 +62,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <tqsocketnotifier.h>
#include <tqregexp.h>
-#include <tqucomextra_p.h>
+#include <private/tqucomextra_p.h>
#include <dcopglobal.h>
#include <dcopclient.h>
diff --git a/kate/data/rust.xml b/kate/data/rust.xml
index 10bf247b0..0dd82f86c 100644
--- a/kate/data/rust.xml
+++ b/kate/data/rust.xml
@@ -34,7 +34,7 @@
<!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">
<!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">
]>
-<language name="Rust" version="1.0" kateversion="2.4" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15">
+<language name="Rust" version="1.1" kateversion="2.4" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15">
<highlighting>
<list name="fn">
<item> fn </item>
@@ -323,10 +323,14 @@
<RegExpr String="U[0-9a-fA-F]{8}" attribute="CharEscape" context="#pop"/>
<RegExpr String="." attribute="Error" context="#pop"/>
</context>
- <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
+ <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+ <LineContinue attribute="Comment" context="#stay"/>
+ <IncludeRules context="##Alerts" />
+ </context>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
<DetectSpaces/>
<Detect2Chars char="*" char1="/" attribute="Comment" context="#pop" endRegion="Comment"/>
+ <IncludeRules context="##Alerts" />
</context>
</contexts>
<itemDatas>
@@ -348,6 +352,7 @@
<itemData name="Macro" defStyleNum="dsOthers"/>
<itemData name="Attribute" defStyleNum="dsOthers"/>
<itemData name="Lifetime" defStyleNum="dsOthers" bold="1"/>
+ <itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/>
<itemData name="Error" defStyleNum="dsError"/>
</itemDatas>
</highlighting>
diff --git a/kate/data/update-files.xml b/kate/data/update-files.xml
index 12924302b..e57c63ada 100644
--- a/kate/data/update-files.xml
+++ b/kate/data/update-files.xml
@@ -205,7 +205,7 @@
<Definition name="RSI IDL" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/rsiidl.xml" version="3"/>
<Definition name="Rich Text Format" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/rtf.xml" version="2"/>
<Definition name="Ruby" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/ruby.xml" version="1.27"/>
-<Definition name="Rust" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/rust.xml" version="1.0"/>
+<Definition name="Rust" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/rust.xml" version="1.1"/>
<Definition name="R Script" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/r.xml" version="3-1"/>
<Definition name="Sather" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/sather.xml" version="2"/>
<Definition name="Scala" url="http://git.trinitydesktop.org/cgit/tdelibs/plain/kate/data/scala.xml" version="6"/>
diff --git a/kimgio/jp2.cpp b/kimgio/jp2.cpp
index ff64f9263..7cd6879b1 100644
--- a/kimgio/jp2.cpp
+++ b/kimgio/jp2.cpp
@@ -15,6 +15,7 @@
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
+#include <kdebug.h>
#include <tdetempfile.h>
#include <tqcolor.h>
#include <tqcstring.h>
@@ -57,7 +58,7 @@ read_image( const TQImageIO* io )
tempf = new KTempFile();
if( tempf->status() != 0 ) {
delete tempf;
- return 0;
+ return nullptr;
} // if
tempf->setAutoDelete( true );
TQFile* out = tempf->file();
@@ -76,7 +77,7 @@ read_image( const TQImageIO* io )
} // else
if( !in ) {
delete tempf;
- return 0;
+ return nullptr;
} // if
jas_image_t* image = jas_image_decode( in, -1, 0 );
@@ -148,16 +149,77 @@ render_view( gs_t& gs, TQImage& qti )
return true;
} // render_view
+static bool initializeJasper()
+{
+#if defined(JAS_VERSION_MAJOR) && (JAS_VERSION_MAJOR >= 3)
+ jas_conf_clear();
+
+ // Limit JasPer memory usage to at most 512 MB
+ size_t memoryLimit = (512 * 1024) * 1024;
+ size_t jasperTotalMemory = jas_get_total_mem_size();
+ if (!jasperTotalMemory)
+ {
+ jasperTotalMemory = JAS_DEFAULT_MAX_MEM_USAGE;
+ }
+ memoryLimit = memoryLimit < jasperTotalMemory ? memoryLimit : jasperTotalMemory;
+ jas_conf_set_max_mem_usage(memoryLimit);
+
+ if (jas_init_library())
+ {
+ return false;
+ }
+
+ if (jas_init_thread())
+ {
+ jas_cleanup_library();
+ return false;
+ }
+
+#else
+ if (jas_init())
+ {
+ return false;
+ }
+#endif // defined(JAS_VERSION_MAJOR) && (JAS_VERSION_MAJOR >= 3)
+
+ return true;
+}
+
+static void cleanupJasper()
+{
+#if defined(JAS_VERSION_MAJOR) && (JAS_VERSION_MAJOR >= 3)
+ jas_cleanup_thread();
+ jas_cleanup_library();
+#endif
+}
+
+
TDE_EXPORT void
kimgio_jp2_read( TQImageIO* io )
{
- if( jas_init() ) return;
+ if (!initializeJasper())
+ {
+ kdError(399) << "Failed to initialize JasPer library" << endl;
+ return;
+ }
gs_t gs;
- if( !(gs.image = read_image( io )) ) return;
+ gs.image = read_image(io);
- if( !convert_colorspace( gs ) ) return;
+ if (!gs.image)
+ {
+ kdError(399) << "Failed to read JP2 image from IO." << endl;
+ cleanupJasper();
+ return;
+ }
+
+ if (!convert_colorspace(gs))
+ {
+ kdError(399) << "Could not convert JP2 colorspace." << endl;
+ cleanupJasper();
+ return;
+ }
TQImage image;
render_view( gs, image );
@@ -165,6 +227,8 @@ kimgio_jp2_read( TQImageIO* io )
if( gs.image ) jas_image_destroy( gs.image );
if( gs.altimage ) jas_image_destroy( gs.altimage );
+ cleanupJasper();
+
io->setImage( image );
io->setStatus( 0 );
} // kimgio_jp2_read
@@ -236,7 +300,11 @@ write_components( jas_image_t* ji, const TQImage& qi )
TDE_EXPORT void
kimgio_jp2_write( TQImageIO* io )
{
- if( jas_init() ) return;
+ if (!initializeJasper())
+ {
+ kdError(399) << "Failed to initialize JasPer library." << endl;
+ return;
+ }
// open the stream. we write directly to the file if possible, to a
// temporary file otherwise.
@@ -255,12 +323,19 @@ kimgio_jp2_write( TQImageIO* io )
// by here, a jas_stream_t is open
- if( !stream ) return;
+ if (!stream)
+ {
+ kdError(399)
+ << "Failed to create a stream to write JP2 image" << endl;
+ cleanupJasper();
+ return;
+ }
jas_image_t* ji = create_image( io->image() );
if( !ji ) {
delete ktempf;
jas_stream_close( stream );
+ cleanupJasper();
return;
} // if
@@ -268,6 +343,7 @@ kimgio_jp2_write( TQImageIO* io )
delete ktempf;
jas_stream_close( stream );
jas_image_destroy( ji );
+ cleanupJasper();
return;
} // if
@@ -292,6 +368,7 @@ kimgio_jp2_write( TQImageIO* io )
jas_image_destroy( ji );
jas_stream_close( stream );
+ cleanupJasper();
if( i != 0 ) { delete ktempf; return; }
diff --git a/kimgio/tiffr.cpp b/kimgio/tiffr.cpp
index 7f7b13ea6..2678d537e 100644
--- a/kimgio/tiffr.cpp
+++ b/kimgio/tiffr.cpp
@@ -6,12 +6,20 @@
#include <tiffio.h>
+#include <kdebug.h>
#include <tqimage.h>
#include <tqfile.h>
#include <tdelibs_export.h>
#include <assert.h>
+#if (TIFFLIB_VERSION >= 20210416)
+#undef uint16
+#define uint16 uint16_t
+#undef uint32
+#define uint32 uint32_t
+#endif
+
#include "tiffr.h"
static tsize_t tiff_read( thandle_t handle, tdata_t buf, tsize_t size )
@@ -66,6 +74,9 @@ TDE_EXPORT void kimgio_tiff_read( TQImageIO *io )
uint32 width, height;
uint32 *data;
+ uint16 extra_samples_count;
+ uint16 *extra_samples;
+
// FIXME: use qdatastream
// open file
@@ -79,9 +90,12 @@ TDE_EXPORT void kimgio_tiff_read( TQImageIO *io )
}
// create image with loaded dimensions
- if( TIFFGetField( tiff, TIFFTAG_IMAGEWIDTH, &width ) != 1
- || TIFFGetField( tiff, TIFFTAG_IMAGELENGTH, &height ) != 1 )
- return;
+ if ((TIFFGetField(tiff, TIFFTAG_IMAGEWIDTH, &width) != 1) ||
+ (TIFFGetField(tiff, TIFFTAG_IMAGELENGTH, &height) != 1))
+ {
+ TIFFClose(tiff);
+ return;
+ }
TQImage image( width, height, 32 );
if( image.isNull()) {
@@ -128,6 +142,21 @@ TDE_EXPORT void kimgio_tiff_read( TQImageIO *io )
// swap rows
}
+ // Extra Samples
+ if (TIFFGetField(tiff, TIFFTAG_EXTRASAMPLES, &extra_samples_count, &extra_samples) == 1)
+ {
+ kdDebug(399) << "TIFF image has " << extra_samples_count << " extra sample(s)." << endl;
+ for (uint16 i = 0; i < extra_samples_count; i++)
+ {
+ if ((extra_samples[i] == EXTRASAMPLE_ASSOCALPHA) ||
+ (extra_samples[i] == EXTRASAMPLE_UNASSALPHA))
+ {
+ image.setAlphaBuffer(true);
+ break;
+ }
+ }
+ }
+
// set channel order to Qt order
// FIXME: Right now they are the same, but will it change?
diff --git a/kjs/CMakeLists.txt b/kjs/CMakeLists.txt
index 8e9b16849..c74bf1d5b 100644
--- a/kjs/CMakeLists.txt
+++ b/kjs/CMakeLists.txt
@@ -15,12 +15,12 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}/tdecore
- ${LIBPCRE_INCLUDEDIR}
+ ${LIBPCRE2_INCLUDEDIR}
)
link_directories(
${TDECORE_LIBRARY_DIRS}
- ${LIBPCRE_LIBDIR}
+ ${LIBPCRE2_LIBDIR}
)
@@ -62,6 +62,6 @@ tde_add_library( ${target} SHARED
SOURCES ${${target}_SRCS}
VERSION 1.2.0
LINK tdecore-shared
- LINK_PRIVATE ${LIBPCRE_LIBRARIES}
+ LINK_PRIVATE ${LIBPCRE2_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kjs/Makefile.am b/kjs/Makefile.am
index 89f937906..8dc05f656 100644
--- a/kjs/Makefile.am
+++ b/kjs/Makefile.am
@@ -17,7 +17,7 @@
# Boston, MA 02110-1301, USA.
YACC = bison
-INCLUDES = $(PCRECFLAGS) $(all_includes)
+INCLUDES = $(PCRE2CFLAGS) $(all_includes)
lib_LTLIBRARIES = libkjs.la
@@ -50,7 +50,7 @@ endif
libkjs_la_LDFLAGS = -version-info 3:0:2 -no-undefined $(VSCRIPT) \
$(USER_LDFLAGS) $(all_libraries)
-libkjs_la_LIBADD = -lm $(LIBPCRE)
+libkjs_la_LIBADD = -lm $(LIBPCRE2)
EXTRA_DIST = grammar.y
@@ -93,7 +93,7 @@ CLEANFILES = $(LUT_FILES)
## test program (in one program for easier profiling/memory debugging)
EXTRA_PROGRAMS = testkjs_static
testkjs_static_SOURCES = testkjs.cpp
-testkjs_static_LDADD = $(LIBPCRE) libkjs.la
+testkjs_static_LDADD = $(LIBPCRE2) libkjs.la
testkjs_static_LDFLAGS = -static
## test program (linked to libkjs)
diff --git a/kjs/configure.in.in b/kjs/configure.in.in
index 1c4d3ac52..4e6bd9742 100644
--- a/kjs/configure.in.in
+++ b/kjs/configure.in.in
@@ -2,52 +2,55 @@ dnl KDE JavaScript specific configure tests
AC_CHECK_HEADERS(ieeefp.h float.h)
-AC_DEFUN([AC_CHECK_PCREPOSIX],
+AC_DEFUN(AC_CHECK_PCRE2POSIX],
[
- dnl define the configure option that disables pcre
- AC_ARG_ENABLE(pcre,AC_HELP_STRING([--disable-pcre],[don't require libpcre (poor RegExp support in Javascript)]),
- with_pcre=$enableval, with_pcre=yes)
+ dnl define the configure option that disables pcre2
+ AC_ARG_ENABLE(pcre2,AC_HELP_STRING([--disable-pcre],[don't require libpcre (poor RegExp support in Javascript)]),
+ with_pcre2=$enableval, with_pcre2=yes)
- if test "$with_pcre" = "yes"; then
+ if test "$with_pcre2" = "yes"; then
- KDE_FIND_PATH(pcre-config, PCRE_CONFIG, [${exec_prefix}/bin ${prefix}/bin], [PCRE_CONFIG="" ])
- if test -n "$PCRE_CONFIG" && $PCRE_CONFIG --libs >/dev/null 2>&1; then
- LIBPCRE=`$PCRE_CONFIG --libs-posix | sed -e "s,-L/usr/lib ,," -e "s,[\b-].\+pcreposix[^[:space:]]*\b,,"`
- PCRECFLAGS=`$PCRE_CONFIG --cflags`
+ KDE_FIND_PATH(pcre2-config, PCRE2_CONFIG, [${exec_prefix}/bin ${prefix}/bin], [PCRE2_CONFIG="" ])
+ if test -n "$PCRE2_CONFIG" && $PCRE2_CONFIG --libs8 >/dev/null 2>&1; then
+ LIBPCRE2=`$PCRE2_CONFIG --libs-posix | sed -e "s,-L/usr/lib ,," -e "s,[\b-].\+pcreposix[^[:space:]]*\b,,"`
+ PCRE2CFLAGS=`$PCRE2_CONFIG --cflags`
else
- LIBPCRE="-lpcre"
- PCRECFLAGS=
+ LIBPCRE2="-lpcre2-8"
+ PCRE2CFLAGS=
fi
- AC_CACHE_VAL(ac_cv_have_pcreposix, [
+ AC_CACHE_VAL(ac_cv_have_pcre2posix, [
ac_save_libs="$LIBS"
- LIBS="$LIBPCRE"
+ LIBS="$LIBPCRE2"
ac_CPPFLAGS_save="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $PCRECFLAGS $all_includes"
+ CPPFLAGS="$CPPFLAGS $PCRE2CFLAGS $all_includes"
ac_LDFLAGS_save="$LDFLAGS"
LDFLAGS="$LDFLAGS $all_libraries"
AC_TRY_LINK(
- [#include <pcre.h>],
- [regfree(0);],
- [ac_cv_have_pcreposix="yes"],
- [ac_cv_have_pcreposix="no"]
+ [
+ #define PCRE2_CODE_UNIT_WIDTH 8
+ #include <pcre2.h>
+ ],
+ [pcre2_regfree(0);],
+ [ac_cv_have_pcre2posix="yes"],
+ [ac_cv_have_pcre2posix="no"]
)
LIBS="$ac_save_libs"
LDFLAGS="$ac_LDFLAGS_save"
CPPFLAGS="$ac_CPPFLAGS_save"
])
- if test "$ac_cv_have_pcreposix" = "yes"; then
- AC_DEFINE(HAVE_PCREPOSIX, 1, [Define if you have pcreposix libraries and header files.])
+ if test "$ac_cv_have_pcre2posix" = "yes"; then
+ AC_DEFINE(HAVE_PCRE2POSIX, 1, [Define if you have pcre2posix libraries and header files.])
else
AC_MSG_ERROR([You're missing libpcre.
-Download libpcre from http://www.pcre.org or find a binary package for your platform.
+Download libpcre2 from http://www.pcre.org or find a binary package for your platform.
Alternatively, you can specify --disable-pcre, but some web pages - using regular
expressions in Javascript code - will not work correctly, the regexp support being
quite limited if libpcre isn't present.])
fi
fi
])
-AC_CHECK_PCREPOSIX
-AC_SUBST(LIBPCRE)
-AC_SUBST(PCRECFLAGS)
+AC_CHECK_PCRE2POSIX
+AC_SUBST(LIBPCRE2)
+AC_SUBST(PCRE2CFLAGS)
AM_CONFIG_HEADER([kjs/global.h])
diff --git a/kjs/date_object.cpp b/kjs/date_object.cpp
index 982006e5d..97c272baf 100644
--- a/kjs/date_object.cpp
+++ b/kjs/date_object.cpp
@@ -104,7 +104,7 @@ static UString formatTime(struct tm &tm)
#if defined BSD || defined(__linux__) || defined(__APPLE__)
tz = tm.tm_gmtoff;
#else
-# if defined(__BORLANDC__) || defined (__CYGWIN__)
+# if defined (__CYGWIN__)
tz = - _timezone;
# else
tz = - timezone;
@@ -189,7 +189,7 @@ static double timeZoneOffset(const struct tm *t)
#if defined BSD || defined(__linux__) || defined(__APPLE__)
return -(t->tm_gmtoff / 60);
#else
-# if defined(__BORLANDC__) || defined(__CYGWIN__)
+# if defined(__CYGWIN__)
// FIXME consider non one-hour DST change
#if !defined(__CYGWIN__)
#error please add daylight savings offset here!
@@ -626,13 +626,8 @@ Object DateObjectImp::construct(ExecState *exec, const List &args)
if (numArgs == 0) { // new Date() ECMA 15.9.3.3
#ifdef HAVE_SYS_TIMEB_H
-# if defined(__BORLANDC__)
- struct timeb timebuffer;
- ftime(&timebuffer);
-# else
struct _timeb timebuffer;
_ftime(&timebuffer);
-# endif
double utc = floor((double)timebuffer.time * 1000.0 + (double)timebuffer.millitm);
#else
struct timeval tv;
@@ -805,7 +800,7 @@ double KJS::makeTime(struct tm *t, double ms, bool utc)
t->tm_isdst = t3.tm_isdst;
#else
(void)localtime(&zero);
-# if defined(__BORLANDC__) || defined(__CYGWIN__)
+# if defined(__CYGWIN__)
utcOffset = - _timezone;
# else
utcOffset = - timezone;
diff --git a/kjs/regexp.cpp b/kjs/regexp.cpp
index 0c2675588..c92a69d6a 100644
--- a/kjs/regexp.cpp
+++ b/kjs/regexp.cpp
@@ -30,21 +30,17 @@
using namespace KJS;
-#ifdef PCRE_CONFIG_UTF8
RegExp::UTF8SupportState RegExp::utf8Support = RegExp::Unknown;
-#endif
RegExp::RegExp(const UString &p, int f)
: pat(p), flgs(f), m_notEmpty(false), valid(true), buffer(0), originalPos(0)
{
// Determine whether libpcre has unicode support if need be..
-#ifdef PCRE_CONFIG_UTF8
if (utf8Support == Unknown) {
- int supported;
- pcre_config(PCRE_CONFIG_UTF8, (void*)&supported);
- utf8Support = supported ? Supported : Unsupported;
+ uint32_t supported;
+ pcre2_config(PCRE2_CONFIG_COMPILED_WIDTHS, (void*)&supported);
+ utf8Support = (supported & 0x0001) ? Supported : Unsupported;
}
-#endif
nrSubPatterns = 0; // determined in match() with POSIX regex.
@@ -63,33 +59,33 @@ RegExp::RegExp(const UString &p, int f)
escape = false;
// we only care about \u
if (c == 'u') {
- // standard unicode escape sequence looks like \uxxxx but
- // other browsers also accept less then 4 hex digits
- unsigned short u = 0;
- int j = 0;
- for (j = 0; j < 4; ++j) {
- if (i + 1 < p.size() && Lexer::isHexDigit(p[i + 1].unicode())) {
- u = (u << 4) + Lexer::convertHex(p[i + 1].unicode());
- ++i;
- } else {
- // sequence incomplete. restore index.
- // TODO: cleaner way to propagate warning
- fprintf(stderr, "KJS: saw %d digit \\u sequence.\n", j);
- i -= j;
- break;
- }
- }
- if (j < 4) {
- // sequence was incomplete. treat \u as u which IE always
- // and FF sometimes does.
- intern.append(UString('u'));
- } else {
+ // standard unicode escape sequence looks like \uxxxx but
+ // other browsers also accept less then 4 hex digits
+ unsigned short u = 0;
+ int j = 0;
+ for (j = 0; j < 4; ++j) {
+ if (i + 1 < p.size() && Lexer::isHexDigit(p[i + 1].unicode())) {
+ u = (u << 4) + Lexer::convertHex(p[i + 1].unicode());
+ ++i;
+ } else {
+ // sequence incomplete. restore index.
+ // TODO: cleaner way to propagate warning
+ fprintf(stderr, "KJS: saw %d digit \\u sequence.\n", j);
+ i -= j;
+ break;
+ }
+ }
+ if (j < 4) {
+ // sequence was incomplete. treat \u as u which IE always
+ // and FF sometimes does.
+ intern.append(UString('u'));
+ } else {
c = UChar(u);
switch (u) {
case 0:
- // Make sure to encode 0, to avoid terminating the string
- intern += UString(nil);
- break;
+ // Make sure to encode 0, to avoid terminating the string
+ intern += UString(nil);
+ break;
case '^':
case '$':
case '\\':
@@ -101,13 +97,13 @@ RegExp::RegExp(const UString &p, int f)
case '{': case '}':
case '[': case ']':
case '|':
- // escape pattern characters have to remain escaped
- intern.append(UString('\\'));
- // intentional fallthrough
+ // escape pattern characters have to remain escaped
+ intern.append(UString('\\'));
+ // intentional fallthrough
default:
- intern += UString(&c, 1);
- break;
- }
+ intern += UString(&c, 1);
+ break;
+ }
}
continue;
}
@@ -126,45 +122,47 @@ RegExp::RegExp(const UString &p, int f)
intern = p;
}
-#ifdef HAVE_PCREPOSIX
- int pcreflags = 0;
- const char *perrormsg;
- int errorOffset;
+#ifdef HAVE_PCRE2POSIX
+ uint32_t pcre2flags = 0;
+ int errorCode;
+ PCRE2_SIZE errorOffset;
if (flgs & IgnoreCase)
- pcreflags |= PCRE_CASELESS;
+ pcre2flags |= PCRE2_CASELESS;
if (flgs & Multiline)
- pcreflags |= PCRE_MULTILINE;
+ pcre2flags |= PCRE2_MULTILINE;
-#ifdef PCRE_CONFIG_UTF8
if (utf8Support == Supported)
- pcreflags |= (PCRE_UTF8 | PCRE_NO_UTF8_CHECK);
-#endif
+ pcre2flags |= (PCRE2_UTF | PCRE2_NO_UTF_CHECK);
// Fill our buffer with an encoded version, whether utf-8, or,
// if PCRE is incapable, truncated.
prepareMatch(intern);
- pcregex = pcre_compile(buffer, pcreflags,
- &perrormsg, &errorOffset, NULL);
+ pcregex = pcre2_compile(buffer, PCRE2_ZERO_TERMINATED, pcre2flags,
+ &errorCode, &errorOffset, NULL);
doneMatch(); // Cleanup buffers
if (!pcregex) {
#ifndef NDEBUG
- fprintf(stderr, "KJS: pcre_compile() failed with '%s'\n", perrormsg);
+ PCRE2_UCHAR errorMsg[256];
+ pcre2_get_error_message(errorCode, errorMsg, sizeof(errorMsg));
+ fprintf(stderr, "KJS: pcre_compile() failed with '%s'\n", errorMsg);
#endif
+ match_data = nullptr;
valid = false;
return;
}
-#ifdef PCRE_INFO_CAPTURECOUNT
// Get number of subpatterns that will be returned
- int rc = pcre_fullinfo( pcregex, NULL, PCRE_INFO_CAPTURECOUNT, &nrSubPatterns);
+ int rc = pcre2_pattern_info(pcregex, PCRE2_INFO_CAPTURECOUNT, &nrSubPatterns);
if (rc != 0)
-#endif
+ {
nrSubPatterns = 0; // fallback. We always need the first pair of offsets.
+ }
-#else /* HAVE_PCREPOSIX */
+ match_data = pcre2_match_data_create_from_pattern(pcregex, NULL);
+#else
int regflags = 0;
#ifdef REG_EXTENDED
@@ -195,9 +193,15 @@ RegExp::RegExp(const UString &p, int f)
RegExp::~RegExp()
{
doneMatch(); // Be 100% sure buffers are freed
-#ifdef HAVE_PCREPOSIX
+#ifdef HAVE_PCRE2POSIX
+ if (match_data)
+ {
+ pcre2_match_data_free(match_data);
+ }
if (pcregex)
- pcre_free(pcregex);
+ {
+ pcre2_code_free(pcregex);
+ }
#else
/* TODO: is this really okay after an error ? */
regfree(&preg);
@@ -208,7 +212,7 @@ void RegExp::prepareUtf8(const UString& s)
{
// Allocate a buffer big enough to hold all the characters plus \0
const int length = s.size();
- buffer = new char[length * 3 + 1];
+ buffer = new buftype_t[length * 3 + 1];
// Also create buffer for positions. We need one extra character in there,
// even past the \0 since the non-empty handling may jump one past the end
@@ -217,7 +221,7 @@ void RegExp::prepareUtf8(const UString& s)
// Convert to runs of 8-bit characters, and generate indeces
// Note that we do NOT combine surrogate pairs here, as
// regexps operate on them as separate characters
- char *p = buffer;
+ buftype_t *p = buffer;
int *posOut = originalPos;
const UChar *d = s.data();
for (int i = 0; i != length; ++i) {
@@ -225,16 +229,16 @@ void RegExp::prepareUtf8(const UString& s)
int sequenceLen;
if (c < 0x80) {
- *p++ = (char)c;
+ *p++ = (buftype_t)c;
sequenceLen = 1;
} else if (c < 0x800) {
- *p++ = (char)((c >> 6) | 0xC0); // C0 is the 2-byte flag for UTF-8
- *p++ = (char)((c | 0x80) & 0xBF); // next 6 bits, with high bit set
+ *p++ = (buftype_t)((c >> 6) | 0xC0); // C0 is the 2-byte flag for UTF-8
+ *p++ = (buftype_t)((c | 0x80) & 0xBF); // next 6 bits, with high bit set
sequenceLen = 2;
} else {
- *p++ = (char)((c >> 12) | 0xE0); // E0 is the 3-byte flag for UTF-8
- *p++ = (char)(((c >> 6) | 0x80) & 0xBF); // next 6 bits, with high bit set
- *p++ = (char)((c | 0x80) & 0xBF); // next 6 bits, with high bit set
+ *p++ = (buftype_t)((c >> 12) | 0xE0); // E0 is the 3-byte flag for UTF-8
+ *p++ = (buftype_t)(((c >> 6) | 0x80) & 0xBF); // next 6 bits, with high bit set
+ *p++ = (buftype_t)((c | 0x80) & 0xBF); // next 6 bits, with high bit set
sequenceLen = 3;
}
@@ -262,7 +266,7 @@ void RegExp::prepareASCII (const UString& s)
// when we don't have utf 8 available -- use
// truncated version, and pray for the best
CString truncated = s.cstring();
- buffer = new char[truncated.size() + 1];
+ buffer = new buftype_t[truncated.size() + 1];
memcpy(buffer, truncated.c_str(), truncated.size());
buffer[truncated.size()] = '\0'; // For _compile use
bufferSize = truncated.size();
@@ -272,11 +276,9 @@ void RegExp::prepareMatch(const UString &s)
{
delete[] originalPos; // Just to be sure..
delete[] buffer;
-#ifdef PCRE_CONFIG_UTF8
if (utf8Support == Supported)
prepareUtf8(s);
else
-#endif
prepareASCII(s);
#ifndef NDEBUG
@@ -308,17 +310,16 @@ UString RegExp::match(const UString &s, int i, int *pos, int **ovector)
if (i > s.size() || s.isNull())
return UString::null;
-#ifdef HAVE_PCREPOSIX
- int ovecsize = (nrSubPatterns+1)*3; // see pcre docu
- if (ovector) *ovector = new int[ovecsize];
- if (!pcregex)
+#ifdef HAVE_PCRE2POSIX
+ if (!pcregex || !match_data)
+ return UString::null;
+ if (!ovector)
return UString::null;
int startPos;
int nextPos;
-
-#ifdef PCRE_CONFIG_UTF8
- if (utf8Support == Supported) {
+ if (utf8Support == Supported)
+ {
startPos = i;
while (originalPos[startPos] < i)
++startPos;
@@ -328,53 +329,59 @@ UString RegExp::match(const UString &s, int i, int *pos, int **ovector)
while (originalPos[nextPos] < (i + 1))
++nextPos;
}
- } else
-#endif
+ }
+ else
{
startPos = i;
nextPos = i + (i < s.size() ? 1 : 0);
}
- int baseFlags =
-#ifdef PCRE_CONFIG_UTF8
- utf8Support == Supported ? PCRE_NO_UTF8_CHECK :
-#endif
- 0;
- int numMatches = pcre_exec(pcregex, NULL, buffer, bufferSize, startPos,
- m_notEmpty ? (PCRE_NOTEMPTY | PCRE_ANCHORED | baseFlags) : baseFlags, // see man pcretest
- ovector ? *ovector : 0L, ovecsize);
- if (numMatches < 0)
+ uint32_t baseFlags = (utf8Support == Supported ? PCRE2_NO_UTF_CHECK : 0);
+ if (m_notEmpty)
+ {
+ baseFlags |= PCRE2_NOTEMPTY | PCRE2_ANCHORED;
+ }
+ int numMatches = pcre2_match(pcregex, buffer, PCRE2_ZERO_TERMINATED, startPos, baseFlags, match_data, NULL);
+ if (numMatches <= 0)
{
// Failed to match.
- if (numMatches == PCRE_ERROR_NOMATCH && (flgs & Global) && m_notEmpty && ovector && startPos < nextPos)
+ if (numMatches == PCRE2_ERROR_NOMATCH && (flgs & Global) && m_notEmpty && startPos < nextPos)
{
// We set m_notEmpty ourselves, to look for a non-empty match
- // (see man pcretest or pcretest.c for details).
// So we don't stop here, we want to try again at i+1.
#ifdef KJS_VERBOSE
fprintf(stderr, "No match after m_notEmpty. +1 and keep going.\n");
#endif
m_notEmpty = 0;
- numMatches = pcre_exec(pcregex, NULL, buffer, bufferSize, nextPos, baseFlags,
- ovector ? *ovector : 0L, ovecsize);
- if (numMatches < 0)
+ baseFlags = (utf8Support == Supported ? PCRE2_NO_UTF_CHECK : 0);
+ numMatches = pcre2_match(pcregex, buffer, PCRE2_ZERO_TERMINATED, nextPos, baseFlags, match_data, NULL);
+ if (numMatches <= 0)
return UString::null;
}
- else // done
+ else
return UString::null;
}
- // Got a match, proceed with it.
- // But fix up the ovector if need be..
- if (ovector && originalPos) {
- for (unsigned c = 0; c < 2 * TQMIN((unsigned)numMatches, nrSubPatterns+1); ++c) {
- if ((*ovector)[c] != -1)
- (*ovector)[c] = originalPos[(*ovector)[c]];
+ PCRE2_SIZE *pcre2_ovector = pcre2_get_ovector_pointer(match_data);
+ if (!pcre2_ovector)
+ return UString::null;
+
+ uint32_t pcre2_ovecCount = pcre2_get_ovector_count(match_data);
+ *ovector = new int[pcre2_ovecCount * 2];
+ if (originalPos)
+ {
+ for (size_t c = 0; c < 2 * pcre2_ovecCount; ++c)
+ {
+ (*ovector)[c] = (pcre2_ovector[c] != -1) ? originalPos[pcre2_ovector[c]] : -1;
+ }
+ }
+ else
+ {
+ for (size_t c = 0; c < 2 * pcre2_ovecCount; ++c)
+ {
+ (*ovector)[c] = pcre2_ovector[c];
}
}
-
- if (!ovector)
- return UString::null; // don't rely on the return value if you pass ovector==0
#else
const uint maxMatch = 10;
regmatch_t rmatch[maxMatch];
@@ -419,28 +426,3 @@ UString RegExp::match(const UString &s, int i, int *pos, int **ovector)
}
return s.substr((*ovector)[0], (*ovector)[1] - (*ovector)[0]);
}
-
-#if 0 // unused
-bool RegExp::test(const UString &s, int)
-{
-#ifdef HAVE_PCREPOSIX
- int ovector[300];
- CString buffer(s.cstring());
-
- if (s.isNull() ||
- pcre_exec(pcregex, NULL, buffer.c_str(), buffer.size(), 0,
- 0, ovector, 300) == PCRE_ERROR_NOMATCH)
- return false;
- else
- return true;
-
-#else
-
- char *str = strdup(s.ascii());
- int r = regexec(&preg, str, 0, 0, 0);
- free(str);
-
- return r == 0;
-#endif
-}
-#endif
diff --git a/kjs/regexp.h b/kjs/regexp.h
index 88851260e..e731eb714 100644
--- a/kjs/regexp.h
+++ b/kjs/regexp.h
@@ -25,13 +25,16 @@
#include "config.h"
-#ifdef HAVE_PCREPOSIX
-#include <pcre.h>
+#ifdef HAVE_PCRE2POSIX
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
+typedef PCRE2_UCHAR8 buftype_t;
#else // POSIX regex - not so good...
extern "C" { // bug with some libc5 distributions
#include <regex.h>
+typedef char buftype_t;
}
-#endif //HAVE_PCREPOSIX
+#endif
#include "ustring.h"
@@ -61,7 +64,7 @@ namespace KJS {
bool valid;
// Cached encoding info...
- char* buffer;
+ buftype_t *buffer;
int* originalPos;
int bufferSize;
@@ -71,22 +74,20 @@ namespace KJS {
UString originalS; // the original string, used for sanity-checking
#endif
-#ifndef HAVE_PCREPOSIX
+#ifndef HAVE_PCRE2POSIX
regex_t preg;
#else
- pcre *pcregex;
+ pcre2_code *pcregex;
+ pcre2_match_data *match_data;
enum UTF8SupportState {
Unknown,
Supported,
Unsupported
};
-
-#ifdef PCRE_CONFIG_UTF8
static UTF8SupportState utf8Support;
#endif
-#endif
- unsigned int nrSubPatterns;
+ uint32_t nrSubPatterns;
RegExp();
};
diff --git a/tdecore/kglobalaccel_x11.cpp b/tdecore/kglobalaccel_x11.cpp
index d76b8cdac..41e58b959 100644
--- a/tdecore/kglobalaccel_x11.cpp
+++ b/tdecore/kglobalaccel_x11.cpp
@@ -30,7 +30,7 @@
#include <tqregexp.h>
#include <tqwidget.h>
#include <tqmetaobject.h>
-#include <tqucomextra_p.h>
+#include <private/tqucomextra_p.h>
#include <tdeapplication.h>
#include <kdebug.h>
#include <kkeynative.h>
diff --git a/tdecore/libtdecore.nmcheck b/tdecore/libtdecore.nmcheck
index 7c017a6e4..92ec3ff8f 100644
--- a/tdecore/libtdecore.nmcheck
+++ b/tdecore/libtdecore.nmcheck
@@ -44,6 +44,8 @@ operator>>
operator<<
qt_qclipboard_bailout_hack
kasciistricmp
+kasciitolower
+kasciitoupper
# from libtldl
lt_dl*
diff --git a/tdecore/tdeapplication.h b/tdecore/tdeapplication.h
index f90e8a42b..7a3dff0cf 100644
--- a/tdecore/tdeapplication.h
+++ b/tdecore/tdeapplication.h
@@ -30,8 +30,6 @@ class KCharsets;
class DCOPClient;
class DCOPObject;
-#include <tqtglobaldefines.h>
-
typedef unsigned long Atom;
#if !defined(TQ_WS_X11)
typedef void Display;
diff --git a/tdecore/tdeglobal.cpp b/tdecore/tdeglobal.cpp
index 09f496034..aeac6f744 100644
--- a/tdecore/tdeglobal.cpp
+++ b/tdecore/tdeglobal.cpp
@@ -282,3 +282,20 @@ int kasciistricmp( const char *str1, const char *str2 )
return *s1 ? res : (*s2 ? -1 : 0);
}
+char* kasciitolower( char *s )
+{
+ if ( !s )
+ return 0;
+ for ( unsigned char *p = (unsigned char *) s; *p; ++p )
+ *p = ( *p >= 'A' && *p <= 'Z' ) ? (*p - 'A' + 'a') : *p;
+ return s;
+}
+
+char* kasciitoupper( char *s )
+{
+ if ( !s )
+ return 0;
+ for ( unsigned char *p = (unsigned char *) s; *p; ++p )
+ *p = ( *p >= 'a' && *p <= 'z' ) ? (*p - 'a' + 'A') : *p;
+ return s;
+}
diff --git a/tdecore/tdeglobal.h b/tdecore/tdeglobal.h
index 1269c36a9..d604a4244 100644
--- a/tdecore/tdeglobal.h
+++ b/tdecore/tdeglobal.h
@@ -234,7 +234,25 @@ inline const T& kClamp( const T& x, const T& low, const T& high )
* tqstricmp fails with e.g. the Turkish locale where 'I'.lower() != 'i'
* @since 3.4
*/
-int TDECORE_EXPORT kasciistricmp( const char *str1, const char *str2 );
+TDECORE_EXPORT int kasciistricmp( const char *str1, const char *str2 );
+
+/**
+ Locale-independent function to convert ASCII strings to lower case ASCII
+ strings. This means that it affects @em only the ASCII characters A-Z.
+
+ @param str pointer to the string which should be converted to lower case
+ @return pointer to the converted string (same as @a str)
+*/
+TDECORE_EXPORT char* kasciitolower( char *str );
+
+/**
+ Locale-independent function to convert ASCII strings to upper case ASCII
+ strings. This means that it affects @em only the ASCII characters a-z.
+
+ @param str pointer to the string which should be converted to upper case
+ @return pointer to the converted string (same as @a str)
+*/
+TDECORE_EXPORT char* kasciitoupper( char *str );
/**
diff --git a/tdecore/tdehw/tdestoragedevice.h b/tdecore/tdehw/tdestoragedevice.h
index ad0468ed9..88a387377 100644
--- a/tdecore/tdehw/tdestoragedevice.h
+++ b/tdecore/tdehw/tdestoragedevice.h
@@ -28,11 +28,7 @@ struct crypt_device;
// Keep readDiskDeviceSubtypeFromString() in tdehardwaredevices.cpp in sync with this enum
namespace TDEDiskDeviceType {
-#if __cplusplus >= 201103L
enum TDEDiskDeviceType : unsigned long long {
-#else
-enum TDEDiskDeviceType {
-#endif
Null = 0x0000000000000000ULL,
MediaDevice = 0x0000000000000001ULL,
Floppy = 0x0000000000000002ULL,
diff --git a/tdehtml/html/Platform.h b/tdehtml/html/Platform.h
index c587e0302..260931d78 100644
--- a/tdehtml/html/Platform.h
+++ b/tdehtml/html/Platform.h
@@ -169,12 +169,6 @@
#define WTF_COMPILER_SUNPRO 1
#endif
-/* COMPILER(BORLAND) */
-/* not really fully supported - is this relevant any more? */
-#if defined(__BORLANDC__)
-#define WTF_COMPILER_BORLAND 1
-#endif
-
/* COMPILER(CYGWIN) */
/* not really fully supported - is this relevant any more? */
#if defined(__CYGWIN__)
diff --git a/tdehtml/rendering/render_replaced.cpp b/tdehtml/rendering/render_replaced.cpp
index 103cad9e8..0e5666b9d 100644
--- a/tdehtml/rendering/render_replaced.cpp
+++ b/tdehtml/rendering/render_replaced.cpp
@@ -439,7 +439,7 @@ void RenderWidget::paint(PaintInfo& paintInfo, int _tx, int _ty)
paintWidget(paintInfo, m_widget, xPos, yPos);
}
-#include <tqinternal_p.h>
+#include <private/tqinternal_p.h>
// The PaintBuffer class provides a shared buffer for widget painting.
//
diff --git a/tdehtml/tdehtml_ext.cpp b/tdehtml/tdehtml_ext.cpp
index 16f60d277..63b4bc91b 100644
--- a/tdehtml/tdehtml_ext.cpp
+++ b/tdehtml/tdehtml_ext.cpp
@@ -39,7 +39,7 @@
#include <tqpopupmenu.h>
#include <tqurl.h>
#include <tqmetaobject.h>
-#include <tqucomextra_p.h>
+#include <private/tqucomextra_p.h>
#include <tqdragobject.h>
#include <kdebug.h>
diff --git a/tdehtml/tdehtml_part.cpp b/tdehtml/tdehtml_part.cpp
index 712bbe764..1b74c5388 100644
--- a/tdehtml/tdehtml_part.cpp
+++ b/tdehtml/tdehtml_part.cpp
@@ -110,7 +110,7 @@ using namespace DOM;
#include <tqfile.h>
#include <tqtooltip.h>
#include <tqmetaobject.h>
-#include <tqucomextra_p.h>
+#include <private/tqucomextra_p.h>
#include "tdehtmlpart_p.h"
#include "kpassivepopup.h"
diff --git a/tdeinit/autostart.cpp b/tdeinit/autostart.cpp
index 3f49dfc1d..abc3c2ef3 100644
--- a/tdeinit/autostart.cpp
+++ b/tdeinit/autostart.cpp
@@ -118,17 +118,20 @@ AutoStart::loadAutoStartList()
TQStringList kdefiles = TDEGlobal::dirs()->findAllResources("autostart", "*.desktop", false, true);
files += kdefiles;
- for(TQStringList::ConstIterator it = files.begin();
- it != files.end();
- ++it)
+ for(TQStringList::ConstIterator it = files.begin(); it != files.end(); ++it)
{
+ // Explicitly skip autostart files from KDE
+ if ((*it).contains("org.kde") || (*it).startsWith("/etc/kde/xdg/autostart"))
+ {
+ continue;
+ }
KDesktopFile config(*it, true);
if (config.hasKey("X-TDE-autostart-condition")) {
if (!startCondition(config.readEntry("X-TDE-autostart-condition")))
continue;
}
- else {
- if (!startCondition(config.readEntry("X-TDE-autostart-condition")))
+ else if (config.hasKey("X-KDE-autostart-condition")) {
+ if (!startCondition(config.readEntry("X-KDE-autostart-condition")))
continue;
}
if (!config.tryExec())
@@ -178,23 +181,14 @@ AutoStart::loadAutoStartList()
if (config.hasKey("OnlyShowIn"))
{
-#ifdef WITH_OLD_XDG_STD
- if ((!config.readListEntry("OnlyShowIn", ';').contains("TDE")) && (!config.readListEntry("OnlyShowIn", ';').contains("KDE")))
- continue;
-#else
if (!config.readListEntry("OnlyShowIn", ';').contains("TDE"))
continue;
-#endif
}
if (config.hasKey("NotShowIn"))
{
-#ifdef WITH_OLD_XDG_STD
- if ((config.readListEntry("NotShowIn", ';').contains("TDE")) || (config.readListEntry("NotShowIn", ';').contains("KDE")))
+ if (config.readListEntry("NotShowIn", ';').contains("TDE") ||
+ config.readListEntry("NotShowIn", ';').contains("KDE"))
continue;
-#else
- if (config.readListEntry("NotShowIn", ';').contains("TDE"))
- continue;
-#endif
}
AutoStartItem *item = new AutoStartItem;
@@ -203,13 +197,13 @@ AutoStart::loadAutoStartList()
if (config.hasKey("X-TDE-autostart-after"))
item->startAfter = config.readEntry("X-TDE-autostart-after");
else
- item->startAfter = config.readEntry("X-TDE-autostart-after");
+ item->startAfter = config.readEntry("X-KDE-autostart-after");
if( m_newStartup )
{
if (config.hasKey("X-TDE-autostart-phase"))
item->phase = config.readNumEntry("X-TDE-autostart-phase", 2);
else
- item->phase = config.readNumEntry("X-TDE-autostart-phase", 2);
+ item->phase = config.readNumEntry("X-KDE-autostart-phase", 2);
if (item->phase < 0)
item->phase = 0;
}
@@ -218,7 +212,7 @@ AutoStart::loadAutoStartList()
if (config.hasKey("X-TDE-autostart-phase"))
item->phase = config.readNumEntry("X-TDE-autostart-phase", 1);
else
- item->phase = config.readNumEntry("X-TDE-autostart-phase", 1);
+ item->phase = config.readNumEntry("X-KDE-autostart-phase", 1);
if (item->phase < 1)
item->phase = 1;
}
diff --git a/tdeio/tdefile/kicondialog.cpp b/tdeio/tdefile/kicondialog.cpp
index de3401947..ba54383a0 100644
--- a/tdeio/tdefile/kicondialog.cpp
+++ b/tdeio/tdefile/kicondialog.cpp
@@ -180,7 +180,7 @@ void TDEIconCanvas::slotLoadFiles()
TQPixmap pm;
pm.convertFromImage(img);
TQFileInfo fi(*it);
- TQIconViewItem *item = new TQIconViewItem(this, fi.baseName(), pm);
+ TQIconViewItem *item = new TQIconViewItem(this, fi.baseName(true), pm);
item->setKey(*it);
item->setDragEnabled(false);
item->setDropEnabled(false);
@@ -510,7 +510,7 @@ TQString TDEIconDialog::openDialog()
if (name.isEmpty() || (mType == 1))
return name;
TQFileInfo fi(name);
- return fi.baseName();
+ return fi.baseName(true);
}
return TQString::null;
}
@@ -535,7 +535,7 @@ void TDEIconDialog::slotOk()
if (!name.isEmpty() && (mType != 1))
{
TQFileInfo fi(name);
- name = fi.baseName();
+ name = fi.baseName(true);
}
}
diff --git a/tdeio/tdefile/tdefileiconview.cpp b/tdeio/tdefile/tdefileiconview.cpp
index 65d33912b..f8deeaf73 100644
--- a/tdeio/tdefile/tdefileiconview.cpp
+++ b/tdeio/tdefile/tdefileiconview.cpp
@@ -17,7 +17,7 @@
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
-#include <tqt.h>
+#include <tqglobal.h>
#include <tqfontmetrics.h>
#include <tqkeycode.h>
diff --git a/tdeio/tdefile/tdefileiconview.h b/tdeio/tdefile/tdefileiconview.h
index 8a03d4bc9..65ff54fed 100644
--- a/tdeio/tdefile/tdefileiconview.h
+++ b/tdeio/tdefile/tdefileiconview.h
@@ -20,7 +20,7 @@
#ifndef TDEFILEICONVIEW_H
#define TDEFILEICONVIEW_H
-#include <tqt.h>
+#include <tqglobal.h>
#include <kiconview.h>
#include <kiconloader.h>
diff --git a/tdeio/tdeio/lex.c b/tdeio/tdeio/lex.c
index f8d8c2bfc..6596a8082 100644
--- a/tdeio/tdeio/lex.c
+++ b/tdeio/tdeio/lex.c
@@ -59,15 +59,6 @@
#endif /* __STDC__ */
#endif /* ! __cplusplus */
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
#ifdef YY_USE_CONST
#define yyconst const
#else
diff --git a/tdeio/tdeio/scheduler.cpp b/tdeio/tdeio/scheduler.cpp
index 30c2d8375..abc631284 100644
--- a/tdeio/tdeio/scheduler.cpp
+++ b/tdeio/tdeio/scheduler.cpp
@@ -796,6 +796,18 @@ Scheduler::_assignJobToSlave(TDEIO::Slave *slave, SimpleJob *job)
{
// kdDebug(7006) << "_assignJobToSlave( " << job << ", " << slave << ")" << endl;
TQString dummy;
+ if (!job)
+ {
+ kdDebug(7006) << "_assignJobToSlave(): ERROR, non-existing job." << endl;
+ return false;
+ }
+ if (!slave)
+ {
+ kdDebug(7006) << "_assignJobToSlave(): ERROR, non-existing slave." << endl;
+ job->kill();
+ return false;
+ }
+
if ((slave->slaveProtocol() != KProtocolManager::slaveProtocol( job->url(), dummy ))
||
(!newJobs.removeRef(job)))
diff --git a/tdeioslave/ftp/ftp.cpp b/tdeioslave/ftp/ftp.cpp
index db7de572c..8a87305f6 100644
--- a/tdeioslave/ftp/ftp.cpp
+++ b/tdeioslave/ftp/ftp.cpp
@@ -640,7 +640,7 @@ bool Ftp::ftpLogin()
if( needPass )
{
- tempbuf = "pass ";
+ tempbuf = "PASS ";
tempbuf += pass.latin1();
kdDebug(7102) << "Sending Login password: " << "[protected]" << endl;
loggedIn = ( ftpSendCmd(tempbuf) && (m_iRespCode == 230) );
diff --git a/tdeparts/browserinterface.cpp b/tdeparts/browserinterface.cpp
index 46c89e348..0b46751fc 100644
--- a/tdeparts/browserinterface.cpp
+++ b/tdeparts/browserinterface.cpp
@@ -4,7 +4,7 @@
#include <tqmetaobject.h>
#include <config.h>
-#include <tqucomextra_p.h>
+#include <private/tqucomextra_p.h>
using namespace KParts;
diff --git a/tdeprint/fooparser.cpp b/tdeprint/fooparser.cpp
index 2f1a59e0f..55e68532b 100644
--- a/tdeprint/fooparser.cpp
+++ b/tdeprint/fooparser.cpp
@@ -227,19 +227,19 @@ static const short yycheck[] = { 4,
/* We think this test detects Watcom and Microsoft C. */
/* This used to test MSDOS, but that is a bad idea
since that symbol is in the user namespace. */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
+#if defined (_MSDOS) || defined (_MSDOS_)
#if 0 /* No need for malloc.h, which pollutes the namespace;
instead, just don't use alloca. */
#include <malloc.h>
#endif
-#else /* not MSDOS, or __TURBOC__ */
+#else /* not MSDOS */
#if defined(_AIX)
/* I don't know what this was needed for, but it pollutes the namespace.
So I turned it off. rms, 2 May 1997. */
/* #include <malloc.h> */
#pragma alloca
#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
+#else /* not MSDOS or _AIX */
#if 0
#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
and on HPUX 10. Eventually we can turn this on. */
@@ -248,7 +248,7 @@ static const short yycheck[] = { 4,
#endif /* __hpux */
#endif
#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
+#endif /* not MSDOS */
#endif /* not sparc */
#endif /* not GNU C */
#endif /* alloca not defined */
diff --git a/tdeprint/fooscanner.cpp b/tdeprint/fooscanner.cpp
index 441d411da..8873872b0 100644
--- a/tdeprint/fooscanner.cpp
+++ b/tdeprint/fooscanner.cpp
@@ -58,15 +58,6 @@
#endif /* __STDC__ */
#endif /* ! __cplusplus */
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
#ifdef YY_USE_CONST
#define yyconst const
#else
diff --git a/tdeprint/ppdscanner.cpp b/tdeprint/ppdscanner.cpp
index 4b37737c0..8422b6c67 100644
--- a/tdeprint/ppdscanner.cpp
+++ b/tdeprint/ppdscanner.cpp
@@ -58,15 +58,6 @@
#endif /* __STDC__ */
#endif /* ! __cplusplus */
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
#ifdef YY_USE_CONST
#define yyconst const
#else
diff --git a/tdeui/kcmenumngr.h b/tdeui/kcmenumngr.h
index 4483fae92..0147b3227 100644
--- a/tdeui/kcmenumngr.h
+++ b/tdeui/kcmenumngr.h
@@ -20,8 +20,6 @@
#ifndef KCMENUMNGR_H
#define KCMENUMNGR_H
-// #include <tqt.h>
-
#include <tqobject.h>
#include <tqptrdict.h>
#include <tqkeysequence.h>
diff --git a/tdeui/kinputdialog.h b/tdeui/kinputdialog.h
index 6fad6b54e..57140ca80 100644
--- a/tdeui/kinputdialog.h
+++ b/tdeui/kinputdialog.h
@@ -20,8 +20,6 @@
#ifndef KINPUTDIALOG_H
#define KINPUTDIALOG_H
-// #include <tqt.h>
-
#include <kdialogbase.h>
class TQValidator;
diff --git a/tdeui/klineeditdlg.h b/tdeui/klineeditdlg.h
index 26d1e8dc0..979f3ad88 100644
--- a/tdeui/klineeditdlg.h
+++ b/tdeui/klineeditdlg.h
@@ -20,8 +20,6 @@
#ifndef __klineeditdlg_h__
#define __klineeditdlg_h__
-// #include <tqt.h>
-
#include <kdialogbase.h>
class KLineEdit;
diff --git a/tdeutils/tdecmoduleinfo.cpp b/tdeutils/tdecmoduleinfo.cpp
index 9eeac6585..b94603601 100644
--- a/tdeutils/tdecmoduleinfo.cpp
+++ b/tdeutils/tdecmoduleinfo.cpp
@@ -227,8 +227,11 @@ TDECModuleInfo::isHiddenByDefault() const
return _isHiddenByDefault;
}
-bool TDECModuleInfo::needsTest() const
+bool TDECModuleInfo::needsTest() const
{
+ if (!_allLoaded)
+ const_cast<TDECModuleInfo*>(this)->loadAll();
+
return d->testModule;
}
diff --git a/translations/desktop_files/all_languages.desktop/ka.po b/translations/desktop_files/all_languages.desktop/ka.po
index 761c54154..e2b2938c6 100644
--- a/translations/desktop_files/all_languages.desktop/ka.po
+++ b/translations/desktop_files/all_languages.desktop/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-25 17:36+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/all-languages/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: all_languages.desktop:2
@@ -134,7 +135,7 @@ msgstr "ჩეხური"
#. Name
#: all_languages.desktop:48
msgid "Kashubian"
-msgstr ""
+msgstr "კაშუბური"
#. Name
#: all_languages.desktop:50
@@ -199,7 +200,7 @@ msgstr "ესპანური"
#. Name
#: all_languages.desktop:74
msgid "Spanish (Argentina)"
-msgstr ""
+msgstr "ესპანური (არგენტინა)"
#. Name
#: all_languages.desktop:76
@@ -839,7 +840,7 @@ msgstr "უზბეკური"
#. Name
#: all_languages.desktop:330
msgid "Uzbek (Cyrillic)"
-msgstr ""
+msgstr "უზბეკური (კირილიცა)"
#. Name
#: all_languages.desktop:332
diff --git a/translations/desktop_files/interfaces-desktops/ka.po b/translations/desktop_files/interfaces-desktops/ka.po
index 1daf83a00..e027996c9 100644
--- a/translations/desktop_files/interfaces-desktops/ka.po
+++ b/translations/desktop_files/interfaces-desktops/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-02 14:10+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/interfaces-desktop-files/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Comment
#: kspeech/dcoptexttospeech.desktop:5
@@ -52,7 +53,7 @@ msgstr "bash სკრიპტების პროგრამებში
#. Comment
#: tdescript/scriptinterface.desktop:5
msgid "This is a generic test script engine for testing the script interface."
-msgstr "ეს ძრავი სკრიპტების ინტერფეისის შესამოწმებლად გამოიყენება"
+msgstr "ეს ძრავი სკრიპტების ინტერფეისის შესამოწმებლად გამოიყენება."
#. Name
#: tdetexteditor/kcm_tdetexteditor.desktop:9
diff --git a/translations/desktop_files/kmcop.desktop/ka.po b/translations/desktop_files/kmcop.desktop/ka.po
index d9c86742a..df548442d 100644
--- a/translations/desktop_files/kmcop.desktop/ka.po
+++ b/translations/desktop_files/kmcop.desktop/ka.po
@@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-02 13:50+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/kmcop-kmcopdesktop/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: kmcop.desktop:3
msgid "KMCOP"
-msgstr ""
+msgstr "KMCOP"
#. Comment
#: kmcop.desktop:4
diff --git a/translations/desktop_files/mimetypes/ka.po b/translations/desktop_files/mimetypes/ka.po
index b3fc99b60..63d9baf7d 100644
--- a/translations/desktop_files/mimetypes/ka.po
+++ b/translations/desktop_files/mimetypes/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-26 20:48+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/mimetypes/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Comment
#: all.desktop:4
@@ -132,7 +133,7 @@ msgstr "PostScript დოკუმენტი"
#. Comment
#: application/relaxng.desktop:2
msgid "RELAX NG"
-msgstr ""
+msgstr "RELAX NG"
#. Comment
#: application/sieve.desktop:5
@@ -147,7 +148,7 @@ msgstr "სინქრონიზებული მულტიმედი
#. Comment
#: application/vnd.gentoo.ebuild.desktop:3
msgid "Gentoo ebuild file"
-msgstr ""
+msgstr "Gentoo ebuild-ის ფაილი"
#. Comment
#: application/vnd.mozilla.xul+xml.desktop:7
@@ -217,9 +218,8 @@ msgstr "OASIS OpenDocument დიაგრამა"
#. Comment
#: application/vnd.oasis.opendocument.database.desktop:6
-#, fuzzy
msgid "OASIS OpenDocument Database"
-msgstr "OASIS OpenDocument დიაგრამა"
+msgstr "OASIS OpenDocument მონაცემთა ბაზა"
#. Comment
#: application/vnd.oasis.opendocument.formula.desktop:6
@@ -789,7 +789,7 @@ msgstr "Microsoft Write დოკუმენტი"
#. Comment
#: application/x-nzb.desktop:3
msgid "NewzBin Usenet Index"
-msgstr ""
+msgstr "NewzBin Usenet ინდექსი"
#. Comment
#: application/x-object.desktop:6
@@ -829,7 +829,7 @@ msgstr "Pathetic Writer ფაილი"
#. Comment
#: application/x-python-bytecode.desktop:6
msgid "Python Bytecode"
-msgstr ""
+msgstr "Python-ის ბაიტკოდი"
#. Comment
#: application/x-python.desktop:2 text/x-python.desktop:2
@@ -1428,10 +1428,8 @@ msgstr "HTML დოკუმენტი"
#. Comment
#: text/markdown.desktop:2
-#, fuzzy
-#| msgid "Karbon14 Document"
msgid "Markdown document"
-msgstr "Karbon14 დოკუმენტი"
+msgstr "Markdown დოკუმენტი"
#. Comment
#: text/plain.desktop:3
@@ -1541,7 +1539,7 @@ msgstr "პროგრამების ჟურნალი"
#. Comment
#: text/x-makefile.desktop:3
msgid "Makefile"
-msgstr ""
+msgstr "Makefile"
#. Comment
#: text/x-moc.desktop:3
diff --git a/translations/desktop_files/tdeabc-desktops/ka.po b/translations/desktop_files/tdeabc-desktops/ka.po
index 857e07eb8..33f52719f 100644
--- a/translations/desktop_files/tdeabc-desktops/ka.po
+++ b/translations/desktop_files/tdeabc-desktops/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-03 19:54+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdeabc-desktop-files/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: formats/binary.desktop:2
@@ -29,7 +30,7 @@ msgstr "დასტა"
#. Name
#: plugins/evolution/evolution.desktop:2
msgid "Evolution"
-msgstr ""
+msgstr "Evolution"
#. Name
#: plugins/file/file.desktop:2
@@ -39,7 +40,7 @@ msgstr "ფაილი"
#. Name
#: plugins/ldaptdeio/ldaptdeio.desktop:2
msgid "LDAP"
-msgstr ""
+msgstr "LDAP"
#. Name
#: plugins/net/net.desktop:2
@@ -49,12 +50,12 @@ msgstr "ქსელი"
#. Name
#: plugins/sql/sql.desktop:2
msgid "SQL"
-msgstr ""
+msgstr "SQL"
#. Name
#: tdeab2tdeabc.desktop:2
msgid "tdeab2tdeabc"
-msgstr ""
+msgstr "tdeab2tdeabc"
#. Comment
#: tdeab2tdeabc.desktop:3
diff --git a/translations/desktop_files/tdecertpart.desktop/ka.po b/translations/desktop_files/tdecertpart.desktop/ka.po
index 088a117ba..25cae087a 100644
--- a/translations/desktop_files/tdecertpart.desktop/ka.po
+++ b/translations/desktop_files/tdecertpart.desktop/ka.po
@@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-03 19:57+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdecertpartdesktop/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: tdecertpart.desktop:3
msgid "KCertPart"
-msgstr ""
+msgstr "KCertPart"
#. Comment
#: tdecertpart.desktop:4
diff --git a/translations/desktop_files/tdecore-eventsrc/ka.po b/translations/desktop_files/tdecore-eventsrc/ka.po
index 5b8a4be3f..59fbc2995 100644
--- a/translations/desktop_files/tdecore-eventsrc/ka.po
+++ b/translations/desktop_files/tdecore-eventsrc/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-03 20:06+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdecore-events/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Comment
#: eventsrc:3
@@ -39,7 +40,7 @@ msgstr "თვითშევსება: მოტრიალება"
#. Comment
#: eventsrc:12
msgid "The end of the list of matches has been reached"
-msgstr "თანხვედრათა სიის ბოლო."
+msgstr "მიღწეულია დამთხვევების სიის დასასრული"
#. Name
#: eventsrc:16
@@ -49,7 +50,7 @@ msgstr "თვითშევსება: თანხვედრები ა
#. Comment
#: eventsrc:17
msgid "No matching completion was found"
-msgstr "თანხვედერები ვერ მოიძებნა."
+msgstr "დამთხვევები აღმოჩენილი არაა"
#. Name
#: eventsrc:21
@@ -59,7 +60,7 @@ msgstr "თვითშევსება: ნაწილობრივი თ
#. Comment
#: eventsrc:22
msgid "There is more than one possible match"
-msgstr "მოიძებნა ერთზე მეტი თანხვედრა."
+msgstr "მოიძებნა ერთზე მეტი დამთხვევა"
#. Name
#: eventsrc:26
@@ -79,7 +80,7 @@ msgstr "ფატალური შეცდომა"
#. Comment
#: eventsrc:32
msgid "There was a serious error causing the program to exit"
-msgstr "სერიოზული შეცდომა, რომელმაც პროგრამიდან გასვლა გამოიწვია."
+msgstr "სერიოზული შეცდომა, რომელმაც პროგრამიდან გასვლა გამოიწვია"
#. Name
#: eventsrc:37
diff --git a/translations/desktop_files/tdefile-desktops/ka.po b/translations/desktop_files/tdefile-desktops/ka.po
new file mode 100644
index 000000000..479a875bf
--- /dev/null
+++ b/translations/desktop_files/tdefile-desktops/ka.po
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-06-03 20:13+0200\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdefile-desktop-files/ka/>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
+
+#. Name
+#: elf/tdefile_elf.desktop:3
+msgid "ELF Info"
+msgstr "ინფორმაცია ELF-ზე"
diff --git a/translations/desktop_files/tdehtml-desktops/ka.po b/translations/desktop_files/tdehtml-desktops/ka.po
index 2b61c6e92..04d223df3 100644
--- a/translations/desktop_files/tdehtml-desktops/ka.po
+++ b/translations/desktop_files/tdehtml-desktops/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-03 20:19+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdehtml-desktop-files/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: java/kjavaappletviewer.desktop:3
@@ -24,7 +25,7 @@ msgstr "ჩადგმული კომპონენტი Java აპლ
#. Name
#: tdehtml.desktop:3
msgid "TDEHTML"
-msgstr ""
+msgstr "TDEHTML"
#. Comment
#: tdehtml.desktop:4
diff --git a/translations/desktop_files/tdeio-desktops/ka.po b/translations/desktop_files/tdeio-desktops/ka.po
index ac919db4b..0698255dd 100644
--- a/translations/desktop_files/tdeio-desktops/ka.po
+++ b/translations/desktop_files/tdeio-desktops/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-03 21:00+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdeio-desktop-files/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: application.desktop:4
@@ -74,7 +75,7 @@ msgstr "KSSL გუშაგის მოდული KDED-სთვის"
#. Name
#: misc/tdeio_uiserver.desktop:4
msgid "tdeio_uiserver"
-msgstr ""
+msgstr "tdeio_uiserver"
#. Comment
#: misc/tdeio_uiserver.desktop:5
diff --git a/translations/desktop_files/tdeioslave-desktops/ka.po b/translations/desktop_files/tdeioslave-desktops/ka.po
index fc49ca28f..672fe5467 100644
--- a/translations/desktop_files/tdeioslave-desktops/ka.po
+++ b/translations/desktop_files/tdeioslave-desktops/ka.po
@@ -1,20 +1,21 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-03 21:43+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdeioslave-desktop-files/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: bzip2/kbzip2filter.desktop:3
@@ -34,7 +35,7 @@ msgstr "HTTP ბუფერის გასუფთავება"
#. Comment
#: http/http_cache_cleaner.desktop:4
msgid "Cleans up old entries from the HTTP cache"
-msgstr "HTTP ბუფერის მოძველებელი ელემენტების "
+msgstr "გაასუფთავებს ძველ ჩანაწერებს HTTP კეშიდან"
#. Name
#: http/kcookiejar/kcookiejar.desktop:3
@@ -50,12 +51,12 @@ msgstr "სისტემის ყველა ბმულის თვალ
#. Comment
#: iso/isoservice.desktop:7 iso/isoservice.desktop:8
msgid "ISO9660 View"
-msgstr ""
+msgstr "ISO9660-ის ნახვა"
#. Name
#: iso/tdeio_iso.desktop:3
msgid "ISO9660 Image Viewer"
-msgstr ""
+msgstr "ISO9660 დისკის ასლის ფაილის ნახვა"
#. Name
#: xz/kxzfilter.desktop:3
@@ -65,4 +66,4 @@ msgstr "XZ ფილტრი"
#. Description
#: iso/iso.protocol:10
msgid "A tdeioslave for ISO9660 filesystems"
-msgstr ""
+msgstr "დამხმარე პროგრამა tdeioslave ფაილური სისტემებისთვის ISO9660"
diff --git a/translations/desktop_files/tdeprint-desktops/ka.po b/translations/desktop_files/tdeprint-desktops/ka.po
index e10348ed2..93f731b27 100644
--- a/translations/desktop_files/tdeprint-desktops/ka.po
+++ b/translations/desktop_files/tdeprint-desktops/ka.po
@@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-04 16:37+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdeprint-desktop-files/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: filters/enscript.desktop:2
msgid "enscript"
-msgstr ""
+msgstr "enscript"
#. Comment
#: filters/enscript.desktop:4
@@ -29,7 +30,7 @@ msgstr "Enscript ტექსტის ფილტრი"
#. Name
#: filters/imagetops.desktop:2
msgid "imagetops"
-msgstr ""
+msgstr "imagetops"
#. Comment
#: filters/imagetops.desktop:4
@@ -39,18 +40,17 @@ msgstr "გამოსახულების PostScript გაფილტვ
#. Name
#: filters/pdf2ps.desktop:2
msgid "pdf2ps"
-msgstr ""
+msgstr "pdf2ps"
#. Comment
#: filters/pdf2ps.desktop:4
-#, fuzzy
msgid "PDF to PostScript Converter"
-msgstr "PostScript-ის PDF-ში გარდაქმნა"
+msgstr "PDF-დან PostScript-ში გარდაქმნა"
#. Name
#: filters/pdfwrite.desktop:2
msgid "pdfwrite"
-msgstr ""
+msgstr "pdfwrite"
#. Comment
#: filters/pdfwrite.desktop:4
@@ -72,15 +72,15 @@ msgid ""
"mirror, but the original package will <b>not</b> work with TDE."
msgstr ""
"პლაკატების მცირე ზომის ქაღალდებზე ბეჭდვის პაკეტი. მის ასამუშავებლად საჭიროა, "
-"რომ პროგრამა <b>poster</b> მისაწვდომი იყოს თქვენს <tt>PATH</tt>-ზე."
-"<p><b><u>ყურადღება:</u></b> პაკეტები TDEPrint საიტზე მოდიფიცირებულია და "
-"განსხვავდება მათგან, რომლებიც CTAN არქივშია, თუმცა პირველწყარო პაკეტები TDE-"
-"ში"
+"რომ პროგრამა <b>poster</b> მისაწვდომი იყოს თქვენს "
+"<tt>PATH</tt>-ზე.<p><b><u>ყურადღება:</u></b> პაკეტები TDEPrint საიტზე "
+"მოდიფიცირებულია და განსხვავდება მათგან, რომლებიც CTAN არქივშია, თუმცა "
+"პირველწყარო პაკეტები TDE-ში."
#. Name
#: filters/ps2pdf.desktop:2
msgid "ps2pdf"
-msgstr ""
+msgstr "ps2pdf"
#. Comment
#: filters/ps2pdf.desktop:4
@@ -90,7 +90,7 @@ msgstr "PostScript-ის PDF-ში გარდაქმნა"
#. Name
#: filters/psbook.desktop:2
msgid "psbook"
-msgstr ""
+msgstr "psbook"
#. Comment
#: filters/psbook.desktop:4
@@ -100,7 +100,7 @@ msgstr "პამფლეტური ბეჭდვა (ორმხრივ
#. Name
#: filters/psbook1.desktop:2
msgid "psbook1"
-msgstr ""
+msgstr "psbook1"
#. Comment
#: filters/psbook1.desktop:4
@@ -110,7 +110,7 @@ msgstr "პამფლეტური ბეჭდვა - ლუწი გვ
#. Name
#: filters/psbook2.desktop:2
msgid "psbook2"
-msgstr ""
+msgstr "psbook2"
#. Comment
#: filters/psbook2.desktop:4
@@ -120,7 +120,7 @@ msgstr "პამფლეტური ბეჭდვა - კენტი გ
#. Name
#: filters/psnup.desktop:2
msgid "psnup"
-msgstr ""
+msgstr "psnup"
#. Comment
#: filters/psnup.desktop:4
@@ -130,7 +130,7 @@ msgstr "რამდენიმე გვერდის ერთ ფურც
#. Name
#: filters/psresize.desktop:2
msgid "psresize"
-msgstr ""
+msgstr "psresize"
#. Comment
#: filters/psresize.desktop:4
@@ -140,7 +140,7 @@ msgstr "ბეჭდვის მასშტაბირება სხვა
#. Name
#: filters/psselect.desktop:2
msgid "psselect"
-msgstr ""
+msgstr "psselect"
#. Comment
#: filters/psselect.desktop:4
@@ -204,9 +204,8 @@ msgstr "PDF ფაილის გაგზავნა"
#. Comment
#: specials.desktop:48
-#, fuzzy
msgid "KSendFax"
-msgstr "ფაქსით გაგზავნა"
+msgstr "KSendFax"
#. Description
#: specials.desktop:49
@@ -231,7 +230,7 @@ msgstr "TDE-ს ბეჭდვის მოდული"
#. Name
#: tools/escputil/escputil.desktop:2
msgid "EPSON InkJet"
-msgstr ""
+msgstr "EPSON InkJet"
#. Comment
#: cups/cups.print:3
@@ -246,7 +245,7 @@ msgstr "ბეჭდვა გარე პროგრამიდან (ს
#. Comment
#: foomatic/foomatic.print:3
msgid "Foomatic (CUPS, LPRng, PDQ)"
-msgstr ""
+msgstr "Foomatic (CUPS, LPRng, PDQ)"
#. Comment
#: lpd/lpd.print:3
diff --git a/translations/desktop_files/tdespell2-desktops/ka.po b/translations/desktop_files/tdespell2-desktops/ka.po
index 20a1ca7fb..4f371016a 100644
--- a/translations/desktop_files/tdespell2-desktops/ka.po
+++ b/translations/desktop_files/tdespell2-desktops/ka.po
@@ -1,35 +1,36 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-04 17:56+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"PO-Revision-Date: 2024-11-03 08:10+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdelibs/tdespell-desktop-files/ka/>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
#. Name
#: plugins/aspell/tdespell_aspell.desktop:14
msgid "ASpell"
-msgstr ""
+msgstr "ASpell"
#. Name
#: plugins/hspell/tdespell_hspell.desktop:14
msgid "HSpell"
-msgstr ""
+msgstr "HSpell"
#. Name
#: plugins/ispell/tdespell_ispell.desktop:14
msgid "ISpell"
-msgstr ""
+msgstr "ISpell"
#. Comment
#: tdespellclient.desktop:5
diff --git a/win/common.pro b/win/common.pro
index 41db8d906..820246f39 100644
--- a/win/common.pro
+++ b/win/common.pro
@@ -141,10 +141,6 @@ contains( TEMPLATE, lib ) {
}
# global definitions
-win32-borland {
- QMAKE_CXXFLAGS += /I $(KDELIBS)/win/tdelibs_global_win.h
- QMAKE_CFLAGS += /I $(KDELIBS)/win/tdelibs_global_win.h
-}
win32-msvc* {
QMAKE_CXXFLAGS += /FI$(KDELIBS)/win/tdelibs_global_win.h
QMAKE_CFLAGS += /FI$(KDELIBS)/win/tdelibs_global_win.h
diff --git a/win/ctype.h b/win/ctype.h
index 3a0f54bfc..4a5055116 100644
--- a/win/ctype.h
+++ b/win/ctype.h
@@ -22,8 +22,6 @@
#ifdef _MSC_VER
# include <msvc/ctype.h>
-#elif defined(__BORLANDC__)
-# include <bcc/ctype.h>
#endif
#ifdef __cplusplus
diff --git a/win/signal.h b/win/signal.h
index 571280f4b..18ebc7c27 100644
--- a/win/signal.h
+++ b/win/signal.h
@@ -70,8 +70,6 @@ KDEWIN32_EXPORT int kill(pid_t pid, int sig);
/* regular signal.h */
#ifdef _MSC_VER
# include <msvc/signal.h>
-#elif defined(__BORLANDC__)
-# include <bcc/signal.h>
#endif
#endif SIGNAL_H
diff --git a/win/stdlib.h b/win/stdlib.h
index 96f458b0d..3a89e468b 100644
--- a/win/stdlib.h
+++ b/win/stdlib.h
@@ -25,8 +25,6 @@
#ifdef _MSC_VER
# include <msvc/stdlib.h>
-#elif defined(__BORLANDC__)
-# include <bcc/stdlib.h>
#endif
#define __need_size_t
diff --git a/win/string.h b/win/string.h
index 2ed942612..f0f301aaf 100644
--- a/win/string.h
+++ b/win/string.h
@@ -46,8 +46,6 @@ KDEWIN32_EXPORT char* strndup(const char *src, size_t n);
/* regular string.h */
#ifdef _MSC_VER
# include <msvc/string.h>
-#elif defined(__BORLANDC__)
-# include <bcc/string.h>
#endif
#endif /* KDEWIN_STRING_H */
diff --git a/win/sys/fcntl.h b/win/sys/fcntl.h
index 6e5cacdbe..d3cbe7def 100644
--- a/win/sys/fcntl.h
+++ b/win/sys/fcntl.h
@@ -20,7 +20,5 @@
/* regular sys/fcntl.h */
#ifdef _MSC_VER
# include <sys/msvc/fcntl.h>
-#elif defined(__BORLANDC__)
-# include <sys/bcc/fcntl.h>
#endif
diff --git a/win/sys/stat.h b/win/sys/stat.h
index 288782032..8c99bd36a 100644
--- a/win/sys/stat.h
+++ b/win/sys/stat.h
@@ -28,8 +28,6 @@
/*# ifdef _INC_STAT
# define _STAT_H_
# endif*/
-#elif defined(__BORLANDC__)
-# include <sys/bcc/stat.h>
#endif
typedef short nlink_t;
diff --git a/win/sys/types.h b/win/sys/types.h
index 9a01fa61d..d07ec0160 100644
--- a/win/sys/types.h
+++ b/win/sys/types.h
@@ -23,8 +23,6 @@
/* regular types.h */
#ifdef _MSC_VER
# include <sys/msvc/types.h>
-#elif defined(__BORLANDC__)
-# include <sys/bcc/types.h>
#endif
#ifndef _SIZE_T_DEFINED