summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules6
-rw-r--r--CMakeL10n.txt26
-rw-r--r--CMakeLists.txt24
-rw-r--r--ConfigureChecks.cmake80
-rw-r--r--INSTALL17
-rw-r--r--README124
-rw-r--r--README.md49
-rw-r--r--TODO1
m---------admin0
m---------cmake0
-rw-r--r--common/common.h4
-rw-r--r--config.h.cmake13
-rw-r--r--gtk2/CMakeLists.txt46
-rw-r--r--gtk2/kgtk2.c258
-rw-r--r--kdialogd3/CMakeL10n.txt3
-rw-r--r--kdialogd3/CMakeLists.txt3
-rw-r--r--kdialogd3/kdialogd.cpp26
-rw-r--r--kdialogd3/kdialogd.h8
-rwxr-xr-xkgtk-wrapper2
-rw-r--r--po/CMakeLists.txt17
-rw-r--r--po/pt_BR/kgtk.po60
-rw-r--r--tqt/CMakeLists.txt52
-rw-r--r--tqt/kqt3.cpp36
-rw-r--r--translations/messages/cs.po (renamed from po/cs/kgtk.po)38
-rw-r--r--translations/messages/de.po (renamed from po/de/kgtk.po)51
-rw-r--r--translations/messages/en_GB.po (renamed from po/en_GB/kgtk.po)40
-rw-r--r--translations/messages/es.po (renamed from po/es/kgtk.po)48
-rw-r--r--translations/messages/fr.po (renamed from po/fr/kgtk.po)40
-rw-r--r--translations/messages/it.po72
-rw-r--r--translations/messages/ka.po72
-rw-r--r--translations/messages/kdialogd3.pot (renamed from po/kdialogd3.pot)42
-rw-r--r--translations/messages/nl.po73
-rw-r--r--translations/messages/pl.po74
-rw-r--r--translations/messages/pt_BR.po74
-rw-r--r--translations/messages/ru.po (renamed from po/ru/kgtk.po)54
-rw-r--r--translations/messages/sv.po74
-rw-r--r--translations/messages/zh_CN.po (renamed from po/zh_CN/kgtk.po)40
37 files changed, 1064 insertions, 583 deletions
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 4fce771..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,6 +0,0 @@
-[submodule "admin"]
- path = admin
- url = http://system@scm.trinitydesktop.org/scm/git/tde-common-admin
-[submodule "cmake"]
- path = cmake
- url = http://system@scm.trinitydesktop.org/scm/git/tde-common-cmake
diff --git a/CMakeL10n.txt b/CMakeL10n.txt
new file mode 100644
index 0000000..0176702
--- /dev/null
+++ b/CMakeL10n.txt
@@ -0,0 +1,26 @@
+#################################################
+#
+# (C) 2018 Slávek Banko
+# slavek.banko (AT) axis.cz
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+
+##### set project version ########################
+
+include( TDEVersion )
+cmake_minimum_required( VERSION ${TDE_CMAKE_MINIMUM_VERSION} )
+
+
+##### include our cmake modules #################
+
+include( TDEL10n )
+
+
+##### create translation templates ##############
+
+tde_l10n_auto_add_subdirectories( )
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 832bc02..b4753f7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,16 +9,22 @@
#
#################################################
-cmake_minimum_required( VERSION 2.8 )
+
+##### set project version ########################
+
+include( TDEVersion )
+cmake_minimum_required( VERSION ${TDE_CMAKE_MINIMUM_VERSION} )
+tde_set_project_version( )
##### general package setup #####################
project( kgtk )
+
##### set up cpack ##############################
-set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
set(CPACK_GENERATOR "TBZ2")
set(CPACK_SOURCE_GENERATOR "TBZ2")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
@@ -29,6 +35,7 @@ set(KGTK_VERSION_FULL "${KGTK_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${KGTK_VERSION_FULL}")
include(CPack)
+
##### include essential cmake modules ###########
include( CheckCXXSourceCompiles )
@@ -43,7 +50,6 @@ include( FindPkgConfig )
##### include our cmake modules #################
-set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
include( TDEMacros )
@@ -70,13 +76,11 @@ include( ConfigureChecks.cmake )
###### global compiler settings #################
-add_definitions(
- -DHAVE_CONFIG_H
-)
+add_definitions( -DHAVE_CONFIG_H )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
-set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
-set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )
+set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
+set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
##### source directories ########################
@@ -84,12 +88,14 @@ set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )
tde_conditional_add_subdirectory( BUILD_KGTK_TQT tqt )
tde_conditional_add_subdirectory( BUILD_KGTK_TDE kdialogd3 )
tde_conditional_add_subdirectory( BUILD_KGTK_GTK2 gtk2 )
-tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po )
+tde_conditional_add_project_translations( BUILD_TRANSLATIONS )
+
##### write configure files #####################
configure_file( config.h.cmake config.h @ONLY )
+
##### install global wrapper scripts ############
install(PROGRAMS ${CMAKE_SOURCE_DIR}/kdialogd-wrapper DESTINATION ${BIN_INSTALL_DIR})
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 4eff805..2a90541 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -9,27 +9,26 @@
#
#################################################
+
+# required stuff
+find_package( TQt )
+find_package( TDE )
+
+tde_setup_architecture_flags( )
+
+include(TestBigEndian)
+test_big_endian(WORDS_BIGENDIAN)
+
+tde_setup_largefiles( )
+
+
##### check for gcc visibility support #########
-# FIXME
-# This should check for [T]Qt3 visibility support
if( WITH_GCC_VISIBILITY )
- if( NOT UNIX )
- tde_message_fatal(FATAL_ERROR "\ngcc visibility support was requested, but your system is not *NIX" )
- endif( NOT UNIX )
- set( __KDE_HAVE_GCC_VISIBILITY 1 )
- set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
- set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
+ tde_setup_gcc_visibility( )
endif( )
-if( BUILD_TRANSLATIONS AND NOT DEFINED MSGFMT_EXECUTABLE )
- find_program( MSGFMT_EXECUTABLE msgfmt )
- if( NOT MSGFMT_EXECUTABLE )
- tde_message_fatal( "msgfmt program is required, but was not found on your system" )
- endif( )
-endif( )
-
check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY )
check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY )
@@ -40,34 +39,23 @@ check_include_file( linux/inotify.h HAVE_INOTIFY )
check_function_exists( statvfs HAVE_STATVFS )
check_function_exists( getpeereid HAVE_GETPEEREID )
-if ( BUILD_KGTK_GTK2 )
- # Check if we have dlvsym...
- find_library(LIBDLVSYM_LIBRARY
- NAMES dl
- PATHS /lib /usr/lib /usr/X11R6/lib /usr/local/lib)
-
- if(LIBDLVSYM_LIBRARY)
- set(HAVE_DLVSYM 1)
- # Determine version of dlsym...
- find_library(LIBDL_LIBRARY
- NAMES dl
- PATHS /lib /usr/lib /usr/X11R6/lib /usr/local/lib)
-
- if(LIBDL_LIBRARY)
- execute_process(COMMAND objdump --dynamic-syms ${LIBDL_LIBRARY}
- COMMAND grep dlsym
- OUTPUT_VARIABLE DLSYM_DATA)
- separate_arguments(DLSYM_DATA)
- if (${CMAKE_MAJOR_VERSION} GREATER 2 OR ${CMAKE_MINOR_VERSION} GREATER 4)
- cmake_policy(SET CMP0007 OLD)
- endif (${CMAKE_MAJOR_VERSION} GREATER 2 OR ${CMAKE_MINOR_VERSION} GREATER 4)
- list(GET DLSYM_DATA 4 KGTK_DLSYM_VERSION)
- endif(LIBDL_LIBRARY)
- else(LIBDLVSYM_LIBRARY)
- message("** INFORMATION: You're libdl does not contain dlvsym - SWT apps will not be supported")
- endif(LIBDLVSYM_LIBRARY)
-endif ()
-
-# common required stuff
-find_package( TQt )
-find_package( TDE )
+
+##### check for gtk+ 2.x
+
+if( BUILD_KGTK_GTK2 )
+
+ pkg_check_modules( GTK gtk+-2.0>=2.6 )
+ pkg_check_modules( GTHREAD gthread-2.0 )
+
+ if( NOT GTK_FOUND OR NOT GTHREAD_FOUND )
+ tde_message_fatal( "GTK2 support is requested but not found on your system" )
+ endif()
+
+ check_library_exists( "${CMAKE_DL_LIBS}" _dl_sym "" HAVE_DL_SYM )
+ if( NOT HAVE_DL_SYM )
+ message( WARNING, "_dl_sym is requested but not found on your system.\n"
+ "Some functionality may not be available unless your\n"
+ "system has glibc 2.34 or greater." )
+ endif()
+
+endif()
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..e61d7f7
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,17 @@
+Basic Installation
+==================
+
+kgtk-qt3 relies on cmake to build.
+
+Here are suggested default options:
+
+ -DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
+ -DCMAKE_INSTALL_PREFIX="/opt/trinity" \
+ -DCONFIG_INSTALL_DIR="/etc/trinity" \
+ -DSYSCONF_INSTALL_DIR="/etc/trinity" \
+ -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_VERBOSE_MAKEFILE="ON" \
+ -DCMAKE_SKIP_RPATH="OFF" \
+ -DBUILD_ALL="ON" \
+ -DWITH_ALL_OPTIONS="ON"
diff --git a/README b/README
deleted file mode 100644
index f20594c..0000000
--- a/README
+++ /dev/null
@@ -1,124 +0,0 @@
-Introduction
-------------
-
-KGtk is a quick-n-dirty hack to allow some Gtk2, Qt3, and Qt4
-applications to use KDE3 or KDE4 file dialogs.
-
-KGtk is composed of the following pieces:
-
-1. An application called kdialogd. In this archive there are
- two varieties of this - a KDE3 version, and a KDE4 version.
-2. LD_PRELOAD libraries that are used to override the Gtk2, Qt3,
- and Qt4 file dialogs.
-
-If you start an application using the following command:
- kgtk-wrapper gimp
-
-...the the following occurs:
-
-1. kgtk-wrapper determines whether the application is a Gtk2, Qt3,
- or Qt4 application. It then sets the LD_PRELOAD environment
- variable to point to the approriate KGtk library.
-2. When the application now starts, it checks for the
- TDE_SESSION_VERSION environment variable. If this is not set,
- or is less than 4, then the KDE3 version of kdialogd is started,
- else the KDE4 version is started.
-3. When 'gimp' now tries to open a file dialog, the KGtk library
- intercepts this, and asks kdialogd to open a file dialog instead.
-
-There will only ever be one instance of kdialogd, and all apps communicate with the same
-instance - and it termiantes itself 30 seconds after the last Gtk/Qt app has
-disconnected. This timeout can be changed by editing kdialogdrc and setting/changing
-
- [General]
- Timeout=10
-
-
-Installation
-------------
-As of v0.9.1, kgtk uses CMake in place of autotools.
-
-Because KGtk includes code for Qt3/KDE3 and Qt4/KDE4, you need
-to specify when building which variants you would like to build.
-This is accomplished as follows:
-
-1. mkdir build
-2. cd build
-3. cmake .. -DCMAKE_INSTALL_PREFIX=/usr
-4. make
-5. sudo make install
-
-* -DKGTK_KDE3=true instructs CMake to create makefiles for the KDE3
- version of KDialogD. Defaults to "true", use -DKGTK_KDE3=false
- to turn off. Turning this on, sets -DKGTK_KDE4=false and
- -DKGTK_QT4=false
-
-* -DKGTK_KDE4=true would instruct CMake to create makefiles for
- the KDE4 version of KDialogD. Defaults to "false".
-
-* -DKGTK_GTK2=true instructs CMake to create makefiles for the Gtk2
- version of the LD_PRELOAD library. Defaults to "true", use
- -DKGTK_GTK2=false to turn off.
-
-* -DKGTK_QT3=true instructs CMake to create makefiles for the Qt3
- version of the LD_PRELOAD library. Defaults to "true", use
- -DKGTK_QT3=false to turn off. Turning this on, sets
- -DKGTK_KDE4=false and -DKGTK_QT4=false
-
-* -DKGTK_QT4=true instructs CMake to create makefiles for the Qt4
- version of the LD_PRELOAD library. Defaults to "false".
-
-* For 64 bit systems, also append -DLIB_SUFFIX=64
-
-Mixing '-DKGTK_KDE3=true' and '-DKGTK_KDE4=true' wont work, so compile the Qt3/KDE3,
-and Qt4/KDE4 variants separately. Also, the 'build' folder *must* be cleaned before
-switching to/from Qt3/KDE3 from/to Qt4/KDE4
-
-
-So, to compile everything I suggest the following:
-
- 1. mkdir build3
- 2. cd build3
- 3. cmake .. -DCMAKE_INSTALL_PREFIX=/usr
- [ This will build KDialogD for KDE3, and create the LD_PRELOAD libraries for
- Qt3 and Gtk2 ]
- 4. make
- 5. sudo make install
-
- 6. set up Qt4/KDE4 env variables
- 7. clean build folder
-
- 8. mkdir build4
- 9. cd build4
-10. cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DKGTK_KDE4=true -DKGTK_QT4=true -DKGTK_GTK2=false
-11. make
-12. sudo make install
-
-NOTE: If you have both KDE3 and KDE4 installed, when calling cmake for KDE3, set TDEDIR to be empty.
- e.g.
- TDEDIR= cmake -DCMAKE_INSTALL_PREFIX=/usr -DKGTK_KDE4=false -DKGTK_QT4=false
-
-Notes
------
-
-The library has been tested with the following applications:
-
-Reported to work:
-
- 1. Firefox (1.5.x only, not 1.0.x)
- 2. Inkscape
- 3. GIMP
- 4. Kino
- 5. Eclipse
- 6. Azureus
- 7. Galde-2
- 8. Streamtuner
- 9. Avidemux2
- 10. Scribus
- 11. QComcBook
- 12. Planner 0.14: works, but asks twice for open file
-
-Reported *not* working:
-
- 1. AbiWord
-
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2bb5e4f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,49 @@
+
+ ktgk-qt3 - allows to use TDE dialogs in Gtk apps
+
+This is an LD_PRELOAD hack that allows most GTK
+applications to use Trinity's file dialogs when run under TDE.
+
+It overrides the gtk file chooser functions to communicate
+with this TDE module/application.
+
+kgtk-qt3 is composed of the following pieces:
+
+1. An application called kdialogd.
+2. LD_PRELOAD libraries that are used to override the Gtk2 and TQt3 file dialogs.
+
+Start an application using the following command to use the functionality:
+
+ kgtk-wrapper <application>
+
+kgtk-wrapper determines whether it is a Gtk2 or TQt3 application and then sets
+the LD_PRELOAD environment variable to point to the approriate kgtk library.
+When the application tries to open a file dialog, the kgtk library intercepts
+this and asks kdialogd to open a file dialog instead.
+There will only ever be one instance of kdialogd, and all apps communicate with the same
+instance - and it terminates itself 30 seconds after the last Gtk/TQt app has
+disconnected. This timeout can be changed by editing kdialogdrc and setting/changing
+
+ [General]
+ Timeout=10
+
+.
+
+Contributing
+--------------
+
+If you wish to contribute to kgtk-qt3, you might do so:
+
+- TDE Gitea Workspace (TGW) collaboration tool.
+ https://mirror.git.trinitydesktop.org/gitea
+
+- TDE Weblate Translation Workspace (TWTW) collaboration tool.
+ https://mirror.git.trinitydesktop.org/weblate
+
+
+Translations status
+---------------------
+
+### messages
+[![Translations status](https://mirror.git.trinitydesktop.org/weblate/widgets/applications/-/kgtk-qt3/multi-auto.svg
+"Engage in translating")](https://mirror.git.trinitydesktop.org/weblate/projects/applications/kgtk-qt3/)
diff --git a/TODO b/TODO
deleted file mode 100644
index 1117687..0000000
--- a/TODO
+++ /dev/null
@@ -1 +0,0 @@
-KDE4: File dialog history
diff --git a/admin b/admin
deleted file mode 160000
-Subproject 4dd97fad9e0c3f39abfd16d13e5b4c93d508513
diff --git a/cmake b/cmake
deleted file mode 160000
-Subproject 1994b808819fd74446cb8f1a0491b3e10244f46
diff --git a/common/common.h b/common/common.h
index f01275a..70e74dc 100644
--- a/common/common.h
+++ b/common/common.h
@@ -13,7 +13,7 @@
#include "config.h"
#ifdef __KDIALOGD_H__
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#endif
typedef enum
@@ -25,7 +25,7 @@ typedef enum
OP_FOLDER = 4
} Operation;
-#define PID_DIR "kde-"
+#define PID_DIR "tde-"
#define PID_NAME "kdialogd.pid"
static const char * getPidFileName()
diff --git a/config.h.cmake b/config.h.cmake
index 7395b46..fdc9306 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -1,11 +1,18 @@
+
+// Defined if you have fvisibility and fvisibility-inlines-hidden support.
+#cmakedefine __TDE_HAVE_GCC_VISIBILITY 1
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@
+
/* Define to 1 if you have the `getpeereid' function. */
#cmakedefine HAVE_GETPEEREID 1
/* Define if you have the struct ucred */
#cmakedefine HAVE_STRUCT_UCRED 1
-#cmakedefine HAVE_DLVSYM 1
#define VERSION "@KGTK_VERSION_FULL@"
-#define KGTK_DLSYM_VERSION "@KGTK_DLSYM_VERSION@"
-
+/* Define if you have the '_dl_sym' function */
+#cmakedefine HAVE_DL_SYM 1
diff --git a/gtk2/CMakeLists.txt b/gtk2/CMakeLists.txt
index 36b3e3f..f043953 100644
--- a/gtk2/CMakeLists.txt
+++ b/gtk2/CMakeLists.txt
@@ -1,22 +1,36 @@
-include(FindPkgConfig)
-pkg_check_modules(GTK gtk+-2.0>=2.6)
+include_directories(
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/common
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}
+ ${GTK_INCLUDE_DIRS}
+)
-if (GTK_FOUND)
- message("** INFORMATION: Gtk2 LD_PRELOAD library will be built.")
+link_directories(
+ ${GTK_LIBRARY_DIRS}
+)
- # set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
- set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
+##### kgtk2 (shared)
- include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/common ${CMAKE_BINARY_DIR} ${GTK_INCLUDE_DIRS})
- set(kgtk2_SRCS kgtk2.c)
- add_library(kgtk2 SHARED ${kgtk2_SRCS})
- target_link_libraries(kgtk2 ${GTK_LDFLAGS} -lgthread-2.0 -lglib-2.0 -lc -ldl)
+tde_add_library( kgtk2 SHARED NO_LIBTOOL_FILE
+ SOURCES
+ kgtk2.c
- install(TARGETS kgtk2 LIBRARY DESTINATION ${LIB_INSTALL_DIR}/kgtk )
+ LINK
+ ${GTK_LIBRARIES}
+ ${GTHREAD_LIBRARIES}
+ ${CMAKE_DL_LIBS}
- configure_file (kgtk2-wrapper.cmake ${CMAKE_CURRENT_BINARY_DIR}/kgtk2-wrapper @ONLY)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/kgtk2-wrapper DESTINATION bin)
-else (GTK_FOUND)
- message("** ERROR : Could not locate Gtk2 headers, Gtk2 LD_PRELOAD library will not be built.")
-endif (GTK_FOUND)
+ DESTINATION ${LIB_INSTALL_DIR}/kgtk
+)
+
+
+##### other data
+
+configure_file( kgtk2-wrapper.cmake kgtk2-wrapper @ONLY )
+
+install(
+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/kgtk2-wrapper
+ DESTINATION ${BIN_INSTALL_DIR}
+)
diff --git a/gtk2/kgtk2.c b/gtk2/kgtk2.c
index 77d690b..182ed6c 100644
--- a/gtk2/kgtk2.c
+++ b/gtk2/kgtk2.c
@@ -66,10 +66,8 @@ TODO
#include <stdarg.h>
#include "connect.h"
#include "config.h"
-
-#ifndef KGTK_DLSYM_VERSION
-#define KGTK_DLSYM_VERSION "GLIBC_2.0"
-#endif
+#include "ctype.h"
+#include "stdbool.h"
#define BLACKLIST_UNKNOWN_GTK_APPS 0
@@ -78,15 +76,12 @@ TODO
*/
/*
- * For SWT apps (e.g. eclipse) we need to override dlsym, but we can only do this if
- * dlvsym is present in libdl. dlvsym is needed so that we can access the real dlsym
- * as well as our fake dlsym
+ * For SWT apps (e.g. eclipse) we need to override dlsym.
*/
-#ifdef HAVE_DLVSYM
-static void * real_dlsym (void *handle, const char *name);
-#else
-#define real_dlsym(A, B) dlsym(A, B)
+#ifdef HAVE_DL_SYM
+extern void *_dl_sym(void *, const char *, void *);
#endif
+static void * real_dlsym (void *handle, const char *name);
typedef enum
{
@@ -194,7 +189,7 @@ typedef struct
static gpointer kdialogdMain(gpointer data)
{
- KGtkData *d=(struct KGtkData *)data;
+ KGtkData *d=(KGtkData*)data;
char buffer[MAX_DATA_LEN+1]={'\0'};
int num=0;
@@ -254,7 +249,7 @@ static gboolean sendMessage(GtkWidget *widget, Operation op, GSList **res, gchar
#ifdef KGTK_DEBUG
printf("KGTK::Dialog has a parent!\n");
#endif
- xid=GDK_WINDOW_XID(gtk_widget_get_toplevel(widget->parent));
+ xid=GDK_WINDOW_XID(gtk_widget_get_toplevel(widget->parent)->window);
}
/*
@@ -290,6 +285,7 @@ static gboolean sendMessage(GtkWidget *widget, Operation op, GSList **res, gchar
GtkWidget *w=node->data;
if(w && GTK_IS_WIDGET(w) && w->window)
+ {
if(gtk_window_has_toplevel_focus(GTK_WINDOW(w)) &&
gtk_window_is_active(GTK_WINDOW(w)))
{
@@ -303,7 +299,10 @@ static gboolean sendMessage(GtkWidget *widget, Operation op, GSList **res, gchar
break;
}
else
- prevX=GDK_WINDOW_XID(w->window);
+ {
+ prevX=GDK_WINDOW_XID(w->window);
+ }
+ }
}
g_list_free(topWindows);
}
@@ -311,9 +310,9 @@ static gboolean sendMessage(GtkWidget *widget, Operation op, GSList **res, gchar
if(writeBlock(kdialogdSocket, &o, 1) &&
writeBlock(kdialogdSocket, (char *)&xid, 4) &&
writeString(title) &&
- (p1 ? writeString(p1) : TRUE) &&
- (p2 ? writeString(p2) : TRUE) &&
- (OP_FILE_SAVE==op ? writeBool(overWrite) : TRUE))
+ (p1 ? writeString(p1) : true) &&
+ (p2 ? writeString(p2) : true) &&
+ (OP_FILE_SAVE==op ? writeBool(overWrite) : true))
{
GtkWidget *dlg=gtk_dialog_new();
KGtkData d;
@@ -338,7 +337,7 @@ static gboolean sendMessage(GtkWidget *widget, Operation op, GSList **res, gchar
gtk_window_set_skip_pager_hint(GTK_WINDOW(dlg), TRUE);
kdialogdLoop = g_main_loop_new (NULL, FALSE);
kdialogdError=FALSE;
- g_thread_create(&kdialogdMain, &d, FALSE, NULL);
+ g_thread_new(NULL, &kdialogdMain, &d);
GDK_THREADS_LEAVE();
g_main_loop_run(kdialogdLoop);
@@ -463,7 +462,7 @@ static gboolean isMozApp(const char *app, const char *check)
/* OK check for xulrunner-1.9 */
{
double dummy;
- if(app_len>(check_len+1) && 1==sscanf(&app[check_len+1], "%f", &dummy))
+ if(app_len>(check_len+1) && 1==sscanf(&app[check_len+1], "%lf", &dummy))
return TRUE;
}
}
@@ -544,8 +543,6 @@ static gboolean kgtkInit(const char *appName)
{
determineAppName();
if (((kgtkApp != APP_UNKNOWN) || (!BLACKLIST_UNKNOWN_GTK_APPS)) && (kgtkApp != APP_BLACKLISTED)) {
- if(!g_threads_got_initialized)
- g_thread_init(NULL);
atexit(&kgtkExit);
}
}
@@ -702,12 +699,12 @@ kgtk_dialog_add_buttons_valist ( GtkDialog *dialog,
gboolean gtk_init_check(int *argc, char ***argv)
{
- static void * (*realFunction)() = NULL;
+ static gboolean (*realFunction)(int*, char***) = NULL;
gboolean rv=FALSE;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_init_check");
+ realFunction = (gboolean (*)(int*, char***)) real_dlsym(RTLD_NEXT, "gtk_init_check");
rv=realFunction(argc, argv);
#ifdef KGTK_DEBUG
@@ -720,10 +717,10 @@ gboolean gtk_init_check(int *argc, char ***argv)
void gtk_init(int *argc, char ***argv)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(int*, char***) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_init");
+ realFunction = (void *(*)(int*, char***)) real_dlsym(RTLD_NEXT, "gtk_init");
realFunction(argc, argv);
#ifdef KGTK_DEBUG
@@ -1124,10 +1121,10 @@ static GSList * addProtocols(GSList *files)
void gtk_window_present(GtkWindow *window)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkWindow*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_window_present");
+ realFunction = (void *(*)(GtkWindow*)) real_dlsym(RTLD_NEXT, "gtk_window_present");
#ifdef KGTK_DEBUG
printf("KGTK::gtk_window_present %s %d\n", gtk_type_name(GTK_WIDGET_TYPE(window)),
@@ -1142,10 +1139,10 @@ void gtk_window_present(GtkWindow *window)
void gtk_widget_show(GtkWidget *widget)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkWidget*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_widget_show");
+ realFunction = (void *(*)(GtkWidget*)) real_dlsym(RTLD_NEXT, "gtk_widget_show");
if(widget && !GTK_IS_FILE_CHOOSER_BUTTON(widget) && GTK_IS_FILE_CHOOSER(widget))
{
@@ -1162,13 +1159,13 @@ void gtk_widget_show(GtkWidget *widget)
void gtk_widget_hide(GtkWidget *widget)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkWidget*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_widget_hide");
+ realFunction = (void *(*)(GtkWidget*)) real_dlsym(RTLD_NEXT, "gtk_widget_hide");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_widget_hide Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1191,12 +1188,12 @@ void gtk_widget_hide(GtkWidget *widget)
gboolean gtk_file_chooser_get_do_overwrite_confirmation(GtkFileChooser *widget)
{
- static void * (*realFunction)() = NULL;
+ static gboolean (*realFunction)(GtkFileChooser*) = NULL;
gboolean rv=FALSE;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_do_overwrite_confirmation");
+ realFunction = (gboolean (*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_do_overwrite_confirmation");
if(realFunction)
{
@@ -1207,12 +1204,12 @@ gboolean gtk_file_chooser_get_do_overwrite_confirmation(GtkFileChooser *widget)
if(!data->setOverWrite)
{
data->setOverWrite=TRUE;
- data->doOverwrite=(gboolean) realFunction(widget);
+ data->doOverwrite=realFunction(widget);
}
rv=data->doOverwrite;
}
else
- rv=(gboolean) realFunction(widget);
+ rv=realFunction(widget);
}
return rv;
@@ -1221,10 +1218,10 @@ gboolean gtk_file_chooser_get_do_overwrite_confirmation(GtkFileChooser *widget)
/* ext => called from app, not kgtk */
void kgtkFileChooserSetDoOverwriteConfirmation(GtkFileChooser *widget, gboolean v, gboolean ext)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*, gboolean) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_do_overwrite_confirmation");
+ realFunction = (void *(*)(GtkFileChooser*, gboolean)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_do_overwrite_confirmation");
if(realFunction)
{
@@ -1255,16 +1252,16 @@ int gtk_combo_box_get_active(GtkComboBox *combo)
{
int rv=0;
- if(APP_KINO==kgtkApp && isOnFileChooser(combo))
+ if(APP_KINO==kgtkApp && isOnFileChooser((GtkWidget*)combo))
return 1;
else
{
- static void * (*realFunction)() = NULL;
+ static gint (*realFunction)(GtkComboBox*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_combo_box_get_active");
+ realFunction = (gint (*)(GtkComboBox*)) real_dlsym(RTLD_NEXT, "gtk_combo_box_get_active");
- rv=(int)realFunction(combo);
+ rv=realFunction(combo);
}
return rv;
@@ -1272,13 +1269,13 @@ int gtk_combo_box_get_active(GtkComboBox *combo)
gint gtk_dialog_run(GtkDialog *dialog)
{
- static void * (*realFunction)() = NULL;
+ static gint (*realFunction)(GtkDialog*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_dialog_run");
+ realFunction = (gint (*)(GtkDialog*)) real_dlsym(RTLD_NEXT, "gtk_dialog_run");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_dialog_run Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1436,7 +1433,7 @@ gint gtk_dialog_run(GtkDialog *dialog)
#endif
openKdeDialog(GTK_WIDGET(dialog), title ? title : "",
data->folder ? data->folder : "", NULL,
- OP_FOLDER, &res, NULL, FALSE);
+ OP_FOLDER, &res, NULL, false);
folder=firstEntry(res);
if(folder)
@@ -1475,15 +1472,15 @@ gint gtk_dialog_run(GtkDialog *dialog)
g_signal_emit_by_name(dialog, "response", data->cancel);
return data->cancel;
}
- return realFunction(dialog);
+ return (gint)realFunction(dialog);
}
void gtk_widget_destroy(GtkWidget *widget)
{
- static void * (*realFunction)() = NULL;
+ static void (*realFunction)(GtkWidget*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_widget_destroy");
+ realFunction = (void (*)(GtkWidget*)) real_dlsym(RTLD_NEXT, "gtk_widget_destroy");
if(fileDialogHash && GTK_IS_FILE_CHOOSER(widget))
freeHash(widget);
@@ -1495,13 +1492,13 @@ gchar * gtk_file_chooser_get_filename(GtkFileChooser *chooser)
{
KGtkFileData *data=lookupHash(chooser, FALSE);
- static void * (*realFunction)() = NULL;
+ static gchar * (*realFunction)(GtkFileChooser*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_filename");
+ realFunction = (gchar *(*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_filename");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_get_filename Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1518,13 +1515,13 @@ gchar * gtk_file_chooser_get_filename(GtkFileChooser *chooser)
gboolean gtk_file_chooser_select_filename(GtkFileChooser *chooser, const char *filename)
{
KGtkFileData *data=lookupHash(chooser, TRUE);
- static void * (*realFunction)() = NULL;
+ static gboolean (*realFunction)(GtkFileChooser*, const char*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_select_filename");
+ realFunction = (gboolean (*)(GtkFileChooser*, const char*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_select_filename");
realFunction(chooser, filename);
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
- return;
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
+ return FALSE;
}
#ifdef KGTK_DEBUG
@@ -1545,7 +1542,7 @@ gboolean gtk_file_chooser_select_filename(GtkFileChooser *chooser, const char *f
data->files=g_slist_prepend(data->files, g_strdup(filename));
- if(folder && !data->folder || strcmp(folder, data->folder))
+ if(folder && (!data->folder || strcmp(folder, data->folder)))
{
gtk_file_chooser_set_current_folder(chooser, folder);
g_free(folder);
@@ -1559,12 +1556,12 @@ gboolean gtk_file_chooser_select_filename(GtkFileChooser *chooser, const char *f
void gtk_file_chooser_unselect_all(GtkFileChooser *chooser)
{
KGtkFileData *data=lookupHash(chooser, TRUE);
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_unselect_all");
+ realFunction = (void *(*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_unselect_all");
realFunction(chooser);
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
return;
}
@@ -1582,13 +1579,13 @@ void gtk_file_chooser_unselect_all(GtkFileChooser *chooser)
gboolean gtk_file_chooser_set_filename(GtkFileChooser *chooser, const char *filename)
{
KGtkFileData *data=lookupHash(chooser, TRUE);
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*, const char*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_filename");
+ realFunction = (void *(*)(GtkFileChooser*, const char*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_filename");
realFunction(chooser, filename);
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
- return;
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
+ return FALSE;
}
#ifdef KGTK_DEBUG
@@ -1628,15 +1625,14 @@ void gtk_file_chooser_set_current_name(GtkFileChooser *chooser, const char *file
GtkFileChooserAction act=gtk_file_chooser_get_action(chooser);
if ((GTK_FILE_CHOOSER_ACTION_SAVE==act || GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER==act) ||
- (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED))
- )
+ ((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED))
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*, const char*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_current_name");
+ realFunction = (void *(*)(GtkFileChooser*, const char*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_current_name");
realFunction(chooser, filename);
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
return;
}
}
@@ -1658,13 +1654,13 @@ GSList * gtk_file_chooser_get_filenames(GtkFileChooser *chooser)
KGtkFileData *data=lookupHash(chooser, FALSE);
GSList *rv=NULL;
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_filenames");
+ realFunction = (void *(*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_filenames");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_get_filenames Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1696,13 +1692,13 @@ GSList * gtk_file_chooser_get_filenames(GtkFileChooser *chooser)
gboolean gtk_file_chooser_set_current_folder(GtkFileChooser *chooser, const gchar *folder)
{
KGtkFileData *data=lookupHash(chooser, TRUE);
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*, const gchar*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_current_folder");
+ realFunction = (void *(*)(GtkFileChooser*, const gchar*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_current_folder");
realFunction(chooser, folder);
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
- return;
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
+ return FALSE;
}
#ifdef KGTK_DEBUG
@@ -1724,13 +1720,13 @@ gchar * gtk_file_chooser_get_current_folder(GtkFileChooser *chooser)
{
KGtkFileData *data=lookupHash(chooser, FALSE);
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_current_folder");
+ realFunction = (void *(*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_current_folder");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_get_current_folder Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1752,13 +1748,13 @@ gchar * gtk_file_chooser_get_current_folder(GtkFileChooser *chooser)
gchar * gtk_file_chooser_get_uri(GtkFileChooser *chooser)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_uri");
+ realFunction = (void *(*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_uri");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_get_uri Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1783,13 +1779,13 @@ gchar * gtk_file_chooser_get_uri(GtkFileChooser *chooser)
gboolean gtk_file_chooser_set_uri(GtkFileChooser *chooser, const char *uri)
{
- static void * (*realFunction)() = NULL;
+ static gboolean (*realFunction)(GtkFileChooser*, const char *) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_uri");
+ realFunction = (gboolean (*)(GtkFileChooser*, const char *)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_uri");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_set_uri Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1814,13 +1810,13 @@ gboolean gtk_file_chooser_set_uri(GtkFileChooser *chooser, const char *uri)
GSList * gtk_file_chooser_get_uris(GtkFileChooser *chooser)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkFileChooser*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_uris");
+ realFunction = (void *(*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_uris");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_get_uris Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1835,13 +1831,13 @@ GSList * gtk_file_chooser_get_uris(GtkFileChooser *chooser)
gboolean gtk_file_chooser_set_current_folder_uri(GtkFileChooser *chooser, const gchar *uri)
{
- static void * (*realFunction)() = NULL;
+ static gboolean (*realFunction)(GtkFileChooser*, const gchar*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_current_folder_uri");
+ realFunction = (gboolean (*)(GtkFileChooser*, const gchar*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_set_current_folder_uri");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_set_current_folder_uri Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1865,13 +1861,13 @@ gboolean gtk_file_chooser_set_current_folder_uri(GtkFileChooser *chooser, const
gchar * gtk_file_chooser_get_current_folder_uri(GtkFileChooser *chooser)
{
- static void * (*realFunction)() = NULL;
+ static gchar * (*realFunction)(GtkFileChooser*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_current_folder_uri");
+ realFunction = (gchar *(*)(GtkFileChooser*)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_get_current_folder_uri");
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_get_current_folder_uri Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1897,10 +1893,10 @@ gchar * gtk_file_chooser_get_current_folder_uri(GtkFileChooser *chooser)
void g_signal_stop_emission_by_name(gpointer instance, const gchar *detailed_signal)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(gpointer, const gchar*) = NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "g_signal_stop_emission_by_name");
+ realFunction = (void *(*)(gpointer, const gchar*)) real_dlsym(RTLD_NEXT, "g_signal_stop_emission_by_name");
#ifdef KGTK_DEBUG
printf("KGTK::g_signal_stop_emission_by_name %s %s (check)\n", gtk_type_name(GTK_WIDGET_TYPE(instance)), detailed_signal);
@@ -1916,17 +1912,17 @@ void g_signal_stop_emission_by_name(gpointer instance, const gchar *detailed_sig
GtkWidget * gtk_dialog_add_button(GtkDialog *dialog, const gchar *button_text, gint response_id)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(GtkDialog*, const gchar*, gint) = NULL;
GtkWidget *dlg=NULL;
KGtkFileData *data=NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_dialog_add_button");
+ realFunction = (void *(*)(GtkDialog*, const gchar*, gint)) real_dlsym(RTLD_NEXT, "gtk_dialog_add_button");
dlg = realFunction(dialog, button_text, response_id);
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED) && realFunction) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED) && realFunction) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_dialog_add_button Bypassing internal function\n"); fflush(stdout);
#endif
@@ -1952,6 +1948,8 @@ GtkWidget * gtk_dialog_add_button(GtkDialog *dialog, const gchar *button_text, g
printf("KGTK::gtk_dialog_add_button Overriding data->ok: %d\n", data->ok);
#endif
}
+
+ return NULL;
}
void gtk_dialog_add_buttons(GtkDialog *dialog, const gchar *first_button_text, ...)
@@ -1966,7 +1964,7 @@ void gtk_dialog_add_buttons(GtkDialog *dialog, const gchar *first_button_text, .
va_end(varargs);
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED)) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED)) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_dialog_add_buttons Bypassing internal function\n"); fflush(stdout);
#endif
@@ -2015,7 +2013,7 @@ GtkWidget * gtk_file_chooser_dialog_new(const gchar *title, GtkWindow *parent,
va_end(varargs);
determineAppName();
- if (((kgtkApp == APP_UNKNOWN) && BLACKLIST_UNKNOWN_GTK_APPS) || (kgtkApp == APP_BLACKLISTED)) {
+ if (((kgtkApp == APP_UNKNOWN && BLACKLIST_UNKNOWN_GTK_APPS) || kgtkApp == APP_BLACKLISTED)) {
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_dialog_new Bypassing internal function\n"); fflush(stdout);
#endif
@@ -2057,7 +2055,7 @@ static void handleGtkFileChooserButtonClicked(GtkButton *button, gpointer user_d
#ifdef KGTK_DEBUG
printf("KGTK::handleGtkFileChooserButtonClicked\n");
#endif
- gtk_dialog_run(GTK_FILE_CHOOSER_BUTTON(user_data)->priv->dialog);
+ gtk_dialog_run((GtkDialog*)GTK_FILE_CHOOSER_BUTTON(user_data)->priv->dialog);
}
static void handleGtkFileChooserComboChanged(GtkComboBox *combo_box, gpointer user_data)
@@ -2079,7 +2077,7 @@ static void handleGtkFileChooserComboChanged(GtkComboBox *combo_box, gpointer us
gtk_tree_model_get(priv->filter_model, &iter, TYPE_COLUMN, &type, -1);
if(ROW_TYPE_OTHER==type)
- gtk_dialog_run(GTK_FILE_CHOOSER_BUTTON(user_data)->priv->dialog);
+ gtk_dialog_run((GtkDialog*)GTK_FILE_CHOOSER_BUTTON(user_data)->priv->dialog);
else
{
g_signal_handler_unblock(priv->combo_box, priv->combo_box_changed_id);
@@ -2093,12 +2091,12 @@ static void handleGtkFileChooserComboChanged(GtkComboBox *combo_box, gpointer us
GtkWidget * gtk_file_chooser_button_new(const gchar *title, GtkFileChooserAction action)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(const gchar*, GtkFileChooserAction) = NULL;
GtkWidget *button=NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "gtk_file_chooser_button_new");
+ realFunction = (void *(*)(const gchar*, GtkFileChooserAction)) real_dlsym(RTLD_NEXT, "gtk_file_chooser_button_new");
#ifdef KGTK_DEBUG
printf("KGTK::gtk_file_chooser_button_new\n");
@@ -2108,7 +2106,7 @@ GtkWidget * gtk_file_chooser_button_new(const gchar *title, GtkFileChooserAction
{
GtkFileChooserButtonPrivate *priv=NULL;
- button=realFunction(title, action);
+ button=(GtkWidget*)realFunction(title, action);
priv=GTK_FILE_CHOOSER_BUTTON(button)->priv;
if(priv->button)
@@ -2210,12 +2208,12 @@ const gchar * kgtk_g_module_check_init(GModule *module)
/* Mozilla specific */
void * PR_FindFunctionSymbol(struct PR_LoadLibrary *lib, const char *raw_name)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(struct PR_LoadLibrary*, const char*) = NULL;
void *rv=NULL;
if(!realFunction)
- realFunction = (void *(*)()) real_dlsym(RTLD_NEXT, "PR_FindFunctionSymbol");
+ realFunction = (void *(*)(struct PR_LoadLibrary*, const char*)) real_dlsym(RTLD_NEXT, "PR_FindFunctionSymbol");
#ifdef KGTK_DEBUG_DLSYM
printf("KGTK::PR_FindFunctionSymbol : %s\n", raw_name);
@@ -2241,41 +2239,42 @@ void * PR_FindFunctionSymbol(struct PR_LoadLibrary *lib, const char *raw_name)
return NULL;
}
-#ifdef HAVE_DLVSYM
/* Overriding dlsym is required for SWT - which dlsym's the gtk_file_chooser functions! */
static void * real_dlsym(void *handle, const char *name)
{
- static void * (*realFunction)() = NULL;
+ static void * (*realFunction)(void*, const char*) = NULL;
#ifdef KGTK_DEBUG_DLSYM
- printf("KGTK::real_dlsym : %s\n", name);
+ printf("KGTK::real_dlsym : %s\n", name);
#endif
- if (!realFunction)
- {
- void *ldHandle=dlopen("libdl.so", RTLD_NOW);
-
-#ifdef KGTK_DEBUG_DLSYM
- printf("KGTK::real_dlsym : %s\n", name);
+ if (!realFunction)
+ {
+ // Get the real dlsym function
+#ifdef HAVE_DL_SYM
+ realFunction = _dl_sym(RTLD_NEXT, "dlsym", dlsym);
+#else
+ realFunction = dlvsym(RTLD_NEXT, "dlsym", "GLIBC_2.2.5");
#endif
+ }
- if(ldHandle)
- {
- static const char * versions[]={KGTK_DLSYM_VERSION, "GLIBC_2.3", "GLIBC_2.2.5",
- "GLIBC_2.2", "GLIBC_2.1", "GLIBC_2.0", NULL};
-
- int i;
-
- for(i=0; versions[i] && !realFunction; ++i)
- realFunction=dlvsym(ldHandle, "dlsym", versions[i]);
- }
- }
-
+ if (realFunction)
return realFunction(handle, name);
+ else
+ {
+ printf("kgtk-qt3 gtk2 real_dlsymc() realFunction not found!!\n");
+ return NULL;
+ }
}
void * dlsym(void *handle, const char *name)
{
+ // Need this so _dl_sym will be able to find the next dlsym, i.e. the real dlsym!
+ if (!strcmp(name, "dlsym"))
+ {
+ return (void*)dlsym;
+ }
+
void *rv=NULL;
#ifdef KGTK_DEBUG_DLSYM
@@ -2294,4 +2293,3 @@ void * dlsym(void *handle, const char *name)
#endif
return rv;
}
-#endif
diff --git a/kdialogd3/CMakeL10n.txt b/kdialogd3/CMakeL10n.txt
new file mode 100644
index 0000000..fdf1b06
--- /dev/null
+++ b/kdialogd3/CMakeL10n.txt
@@ -0,0 +1,3 @@
+##### create translation templates ##############
+
+tde_l10n_create_template( "messages/kdialogd3" )
diff --git a/kdialogd3/CMakeLists.txt b/kdialogd3/CMakeLists.txt
index d56ee22..3f2c5e1 100644
--- a/kdialogd3/CMakeLists.txt
+++ b/kdialogd3/CMakeLists.txt
@@ -23,7 +23,6 @@ link_directories(
${TDE_LIBRARY_DIRS}
)
-message("** INFORMATION: KDialogD for TDE will be built.")
##### kdialogd3 (executable) #################
@@ -37,4 +36,4 @@ tde_add_executable( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK tdecore-shared tdeui-shared tdeio-shared
DESTINATION ${BIN_INSTALL_DIR}
-) \ No newline at end of file
+)
diff --git a/kdialogd3/kdialogd.cpp b/kdialogd3/kdialogd.cpp
index 8886e65..024f5ba 100644
--- a/kdialogd3/kdialogd.cpp
+++ b/kdialogd3/kdialogd.cpp
@@ -3,7 +3,7 @@
#include "kdialogd.h"
#include <iostream>
#include <tdediroperator.h>
-#include <kuniqueapplication.h>
+#include <tdeuniqueapplication.h>
#include <tqsocketnotifier.h>
#include <tdeio/netaccess.h>
#include <tdemessagebox.h>
@@ -157,7 +157,7 @@ KDialogD::KDialogD(TQObject *parent)
{
kdError() << "KDialogD could not create socket" << endl;
#ifdef KDIALOGD_APP
- kapp->exit();
+ tdeApp->exit();
#endif
}
else
@@ -173,7 +173,7 @@ KDialogD::KDialogD(TQObject *parent)
theirConfig=new TDEConfig("kdialogdrc", false, false);
connect(new TQSocketNotifier(itsFd, TQSocketNotifier::Read, this),
- TQT_SIGNAL(activated(int)), this, TQT_SLOT(newConnection()));
+ TQ_SIGNAL(activated(int)), this, TQ_SLOT(newConnection()));
#ifdef KDIALOGD_APP
if(theirConfig->hasGroup(CFG_TIMEOUT_GROUP))
@@ -187,7 +187,7 @@ KDialogD::KDialogD(TQObject *parent)
kdDebug() << "Timeout:" << itsTimeoutVal << endl;
if(itsTimeoutVal)
- connect(itsTimer=new TQTimer(this), TQT_SIGNAL(timeout()), this, TQT_SLOT(timeout()));
+ connect(itsTimer=new TQTimer(this), TQ_SIGNAL(timeout()), this, TQ_SLOT(timeout()));
#endif
}
}
@@ -234,8 +234,8 @@ void KDialogD::newConnection()
itsTimer->stop();
#endif
connect(new KDialogDClient(connectedFD, appName, this),
- TQT_SIGNAL(error(KDialogDClient *)),
- this, TQT_SLOT(deleteConnection(KDialogDClient *)));
+ TQ_SIGNAL(error(KDialogDClient *)),
+ this, TQ_SLOT(deleteConnection(KDialogDClient *)));
}
}
}
@@ -262,7 +262,7 @@ void KDialogD::timeout()
if(grabLock(0)>0) // 0=> no wait...
{
kdDebug() << "Timeout occured, and no connections, so exit" << endl;
- kapp->exit();
+ tdeApp->exit();
}
else //...unlock lock file...
{
@@ -280,8 +280,8 @@ KDialogDClient::KDialogDClient(int sock, const TQString &an, TQObject *parent)
itsAppName(an)
{
kdDebug() << "new client..." << itsAppName << " (" << itsFd << ")" << endl;
- connect(new TQSocketNotifier(itsFd, TQSocketNotifier::Read, this), TQT_SIGNAL(activated(int)), this, TQT_SLOT(read()));
- connect(new TQSocketNotifier(itsFd, TQSocketNotifier::Exception, this), TQT_SIGNAL(activated(int)), this, TQT_SLOT(close()));
+ connect(new TQSocketNotifier(itsFd, TQSocketNotifier::Read, this), TQ_SIGNAL(activated(int)), this, TQ_SLOT(read()));
+ connect(new TQSocketNotifier(itsFd, TQSocketNotifier::Exception, this), TQ_SIGNAL(activated(int)), this, TQ_SLOT(close()));
}
KDialogDClient::~KDialogDClient()
@@ -505,8 +505,8 @@ void KDialogDClient::initDialog(const TQString &caption, KDialogBase *d, unsigne
#endif
}
- connect(itsDlg, TQT_SIGNAL(ok(const TQStringList &)), this, TQT_SLOT(ok(const TQStringList &)));
- connect(itsDlg, TQT_SIGNAL(finished()), this, TQT_SLOT(finished()));
+ connect(itsDlg, TQ_SIGNAL(ok(const TQStringList &)), this, TQ_SLOT(ok(const TQStringList &)));
+ connect(itsDlg, TQ_SIGNAL(finished()), this, TQ_SLOT(finished()));
itsDlg->show();
}
@@ -691,7 +691,7 @@ int main(int argc, char **argv)
{
TDECmdLineArgs::init(argc, argv, &aboutData);
- KUniqueApplication *app=new KUniqueApplication;
+ TDEUniqueApplication *app=new TDEUniqueApplication;
KDialogD kdialogd;
int rv=app->exec();
@@ -704,7 +704,7 @@ int main(int argc, char **argv)
#else
extern "C"
{
- KDE_EXPORT KDEDModule *create_kdialogd(const TQCString &obj)
+ TDE_EXPORT KDEDModule *create_kdialogd(const TQCString &obj)
{
return new KDialogDKDED(obj);
}
diff --git a/kdialogd3/kdialogd.h b/kdialogd3/kdialogd.h
index 9193ca0..0099da1 100644
--- a/kdialogd3/kdialogd.h
+++ b/kdialogd3/kdialogd.h
@@ -18,7 +18,7 @@ class TDEConfig;
class KDialogDFileDialog : public KFileDialog
{
- Q_OBJECT
+ TQ_OBJECT
public:
@@ -44,7 +44,7 @@ class KDialogDFileDialog : public KFileDialog
class KDialogDDirSelectDialog : public KDirSelectDialog
{
- Q_OBJECT
+ TQ_OBJECT
public:
@@ -70,7 +70,7 @@ class KDialogDDirSelectDialog : public KDirSelectDialog
class KDialogDClient : public TQObject
{
- Q_OBJECT
+ TQ_OBJECT
public:
@@ -109,7 +109,7 @@ class KDialogDClient : public TQObject
class KDialogD : public TQObject
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kgtk-wrapper b/kgtk-wrapper
index 5420e19..7195177 100755
--- a/kgtk-wrapper
+++ b/kgtk-wrapper
@@ -65,7 +65,7 @@ if [ "$toolkit" = "" ] && [ ! -z "$realApp" ] ; then
if [ "0" != "`echo $libs | grep libgtk-x11-2 | wc -l`" ] ; then
toolkit="gtk2"
- elif [ "0" != "`echo $libs | grep libqt-mt | wc -l`" ] ; then
+ elif [ "0" != "`echo $libs | grep libtqt-mt | wc -l`" ] ; then
toolkit="qt3"
elif [ "0" != "`echo $libs | grep libQtGui | wc -l`" ] ; then
toolkit="qt4"
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
deleted file mode 100644
index d0f5baf..0000000
--- a/po/CMakeLists.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-#################################################
-#
-# (C) 2011 Timothy Pearson
-# kb9vqf (AT) pearsoncomputing.net
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} kgtk.po )
-
-foreach( _po ${po_files} )
- get_filename_component( _lang ${_po} PATH )
- tde_create_translation( FILES ${_po} LANG ${_lang} )
-endforeach( )
diff --git a/po/pt_BR/kgtk.po b/po/pt_BR/kgtk.po
deleted file mode 100644
index 2c4b94f..0000000
--- a/po/pt_BR/kgtk.po
+++ /dev/null
@@ -1,60 +0,0 @@
-# translation of kdialogd3.po to Brazillian Portuguese
-# This file is put in the public domain.
-#
-# Márcio Moraes <marcio.moraes@redlinks.com.br>, 2007.
-msgid ""
-msgstr ""
-"Project-Id-Version: kdialogd3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
-"PO-Revision-Date: 2008-02-26 11:22-0300\n"
-"Last-Translator: Márcio Moraes <marcio.moraes@redlinks.com.br>\n"
-"Language-Team: Márcio Moraes <marcio.moraes@redlinks.com.br>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: kdialogd.cpp:328
-msgid "Select Folder"
-msgstr "Selecionar Pasta"
-
-#: kdialogd.cpp:573
-msgid "You can only select local files."
-msgstr "Selecione apenas arquivos locais."
-
-#: kdialogd.cpp:574
-msgid "Remote Files Not Accepted"
-msgstr "Arquivos remotos não são aceitos"
-
-#: kdialogd.cpp:580
-msgid ""
-"File %1 exits.\n"
-"Do you want to replace it?"
-msgstr ""
-"Arquivo %1 existe.\n"
-"Você realmente deseja sobrescrever?"
-
-#: kdialogd.cpp:582
-msgid "File Exists"
-msgstr "Arquivo existe"
-
-#: kdialogd.cpp:667
-msgid "You can only select local folders."
-msgstr "Selecione apenas pastas locais."
-
-#: kdialogd.cpp:668
-msgid "Remote Folders Not Accepted"
-msgstr "Pastas remotas não são aceitas"
-
-#: kdialogd.cpp:677
-msgid "KDialog Daemon"
-msgstr "KDialog Daemon"
-
-#: kdialogd.cpp:678
-msgid "Use TDE dialogs from non-TDE apps."
-msgstr "Uso de diálogos TDE em aplicações não TDE."
-
-#: kdialogd.cpp:680
-msgid "(c) Craig Drummond, 2006-2007"
-msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/tqt/CMakeLists.txt b/tqt/CMakeLists.txt
index 7dfc840..04f8279 100644
--- a/tqt/CMakeLists.txt
+++ b/tqt/CMakeLists.txt
@@ -21,19 +21,47 @@ link_directories(
${TQT_LIBRARY_DIRS}
)
-message("** INFORMATION: Qt3 LD_PRELOAD library will be built.")
-# set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
-set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
+add_definitions( -DTQT_THREAD_SUPPORT )
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mangled.h
- COMMAND ${CMAKE_SOURCE_DIR}/mangled.sh ${CMAKE_CXX_COMPILER} ${CMAKE_CURRENT_BINARY_DIR}/mangled.h)
-set(kqt3_SRCS kqt3.cpp mangled.h)
-add_definitions(${QT_DEFINITIONS} -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT)
-add_library(kqt3 SHARED ${kqt3_SRCS})
-target_link_libraries(kqt3 ${TQT_LIBRARIES} -lc -ldl)
-install(TARGETS kqt3 LIBRARY DESTINATION ${LIB_INSTALL_DIR}/kgtk)
+##### generate mangled.h
-configure_file (kqt3-wrapper.cmake ${CMAKE_CURRENT_BINARY_DIR}/kqt3-wrapper @ONLY)
-install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/kqt3-wrapper DESTINATION ${BIN_INSTALL_DIR}) \ No newline at end of file
+add_custom_target(
+ mangled_header
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mangled.h
+)
+
+add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mangled.h
+ COMMAND
+ ${CMAKE_SOURCE_DIR}/mangled.sh
+ ${CMAKE_CXX_COMPILER}
+ ${CMAKE_CURRENT_BINARY_DIR}/mangled.h
+)
+
+
+##### kqt3 (shared)
+
+tde_add_library( kqt3 SHARED NO_LIBTOOL_FILE
+ SOURCES
+ kqt3.cpp
+
+ LINK
+ ${TQT_LIBRARIES}
+ ${CMAKE_DL_LIBS}
+
+ DESTINATION ${LIB_INSTALL_DIR}/kgtk
+
+ DEPENDENCIES mangled_header
+)
+
+
+##### other data
+
+configure_file( kqt3-wrapper.cmake kqt3-wrapper @ONLY )
+
+install(
+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/kqt3-wrapper
+ DESTINATION ${BIN_INSTALL_DIR}
+)
diff --git a/tqt/kqt3.cpp b/tqt/kqt3.cpp
index 8ceb265..2149882 100644
--- a/tqt/kqt3.cpp
+++ b/tqt/kqt3.cpp
@@ -120,19 +120,25 @@ static const char * getAppName(bool useTQt=true)
int TQApplication::exec()
{
- static bool init=false;
-
- if(!init)
- {
- connectToKDialogD(getAppName(false));
- init=true;
- }
-
- static int (*realFunction)(void *);
-
- if(!realFunction)
- realFunction = (int (*)(void *)) dlsym(RTLD_NEXT, KQT_QAPPLICATION_EXEC);
- return (int)realFunction(this);
+ static bool init=false;
+
+ if(!init)
+ {
+ connectToKDialogD(getAppName(false));
+ init=true;
+ }
+
+ static int (*realFunction)(void *);
+
+ if(!realFunction)
+ realFunction = (int (*)(void *)) dlsym(RTLD_NEXT, KQT_QAPPLICATION_EXEC);
+ if (realFunction)
+ return (int)realFunction(this);
+ else
+ {
+ tqWarning("kgtk-qt3 tqt TQApplication::exec() realFunction not found!!");
+ return 255;
+ }
};
static TQString qt2KdeFilter(const TQString &f)
@@ -232,7 +238,7 @@ static const TQString getFilters(TQFileDialog *dlg, bool scribusSave=false)
end(children.end());
for(; it!=end; ++it)
- if(::tqqt_cast<TQComboBox *>(*it) && 0==qstrcmp((*it)->name(), "file types"))
+ if(::tqt_cast<TQComboBox *>(*it) && 0==qstrcmp((*it)->name(), "file types"))
{
TQComboBox *types=(TQComboBox *)(*it);
TQTextOStream str(&filter);
@@ -269,7 +275,7 @@ static TQString getCurrentFileName(TQFileDialog *dlg)
end(children.end());
for(; it!=end; ++it)
- if(::tqqt_cast<TQLineEdit *>(*it)) // && 0==qstrcmp((*it)->name(), "name/filter editor"))
+ if(::tqt_cast<TQLineEdit *>(*it)) // && 0==qstrcmp((*it)->name(), "name/filter editor"))
return ((TQLineEdit *)(*it))->text();
}
}
diff --git a/po/cs/kgtk.po b/translations/messages/cs.po
index 0c0b04b..4fe6188 100644
--- a/po/cs/kgtk.po
+++ b/translations/messages/cs.po
@@ -6,57 +6,71 @@ msgid ""
msgstr ""
"Project-Id-Version: cs\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
"PO-Revision-Date: 2007-10-16 05:26+0200\n"
"Last-Translator: Marián Kyral <mkyral@email.cz>\n"
"Language-Team: Česky <cs@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr "Vyberte složku"
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
msgstr "Můžete vybrat pouze místní soubory."
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
msgstr "Vzdálené soubory nejsou akceptovány."
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
+#, fuzzy
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
"Soubor %1 existuje.\n"
"Chcete jej přepsat?"
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr "Soubor existuje."
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
msgstr "Můžete vybrat pouze místní složky."
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
msgstr "Vzdálené složky nejsou akceptovány."
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr "KDialog Daemon"
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
msgstr "TDE souborové dialogy v ne-TDE aplikacích."
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
msgstr ""
"(c) Craig Drummond, 2006-2007\n"
diff --git a/po/de/kgtk.po b/translations/messages/de.po
index 8c836dd..652a707 100644
--- a/po/de/kgtk.po
+++ b/translations/messages/de.po
@@ -6,57 +6,70 @@ msgid ""
msgstr ""
"Project-Id-Version: kdialogd3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
-"PO-Revision-Date: 2007-10-11 13:24+0200\n"
-"Last-Translator: Jannick Kuhr <opensource@kuhr.org>\n"
-"Language-Team: Deutsch <kde-i18n-de@kde.org>\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2019-10-04 22:25+0000\n"
+"Last-Translator: Chris <xchrisx@uber.space>\n"
+"Language-Team: German <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/applications/kgtk-qt3/de/>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.8\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Chris (TDE)"
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "(Keine Email)"
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr "Ordner wählen"
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
msgstr "Sie können nur lokale Dateien auswählen."
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
-msgstr "Dateien von Fremdrechnern werden nicht akzeptiert."
+msgstr "Dateien von Fremdrechnern werden nicht akzeptiert"
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
"Die Datei %1 exisitiert bereits.\n"
"Wollen Sie sie ersetzen?"
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr "Datei existiert bereits"
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
msgstr "Sie können nur lokale Ordner auswählen."
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
-msgstr "Ordner von Fremdrechnern werden nicht akzeptiert."
+msgstr "Ordner von Fremdrechnern werden nicht akzeptiert"
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr "KDialog-Daemon"
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
msgstr "TDE-Dialoge in Nicht-TDE-Programmen verwenden."
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
msgstr "(c) Craig Drummond, 2006-2007"
-
diff --git a/po/en_GB/kgtk.po b/translations/messages/en_GB.po
index a69ceab..8e9df17 100644
--- a/po/en_GB/kgtk.po
+++ b/translations/messages/en_GB.po
@@ -6,55 +6,69 @@ msgid ""
msgstr ""
"Project-Id-Version: kdialogd3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
"PO-Revision-Date: 2007-10-05 22:35+0200\n"
"Last-Translator: Craig Drummond <Craig.Drummond@lycos.co.uk>\n"
"Language-Team: Craig Drummond <Craig.Drummond@lycos.co.uk>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr "Select Folder"
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
msgstr "You can only select local files."
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
msgstr "Remote Files Not Accepted"
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
+#, fuzzy
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
"File %1 exits.\n"
"Do you want to replace it?"
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr "File Exists"
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
msgstr "You can only select local folders."
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
msgstr "Remote Folders Not Accepted"
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr "KDialog Daemon"
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
msgstr "Use TDE dialogs from non-TDE apps."
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/po/es/kgtk.po b/translations/messages/es.po
index c89e28f..2d7e36e 100644
--- a/po/es/kgtk.po
+++ b/translations/messages/es.po
@@ -2,56 +2,70 @@ msgid ""
msgstr ""
"Project-Id-Version: kdialogd3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
"PO-Revision-Date: 2007-10-19 18:17+0200\n"
"Last-Translator: Marco Antonio Blanco <mablanco@activasistemas.com>\n"
"Language-Team: Craig Drummond <Craig.Drummond@lycos.co.uk>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 0.10.1\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr "Seleccionar carpeta"
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
-msgstr "S�lo se pueden seleccionar ficheros locales."
+msgstr "S�lo se pueden seleccionar ficheros locales."
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
msgstr "No se aceptan ficheros remotos"
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
+#, fuzzy
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
"El fichero %1 existe.\n"
-"�Quiere sustituirlo?"
+"�Quiere sustituirlo?"
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr "El fichero existe"
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
-msgstr "S�lo se pueden seleccionar carpetas locales"
+msgstr "S�lo se pueden seleccionar carpetas locales"
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
msgstr "No se aceptan carpetas remotas"
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr "Demonio KDialog"
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
-msgstr "Utilizar di�logos TDE en aplicaciones no TDE."
+msgstr "Utilizar di�logos TDE en aplicaciones no TDE."
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/po/fr/kgtk.po b/translations/messages/fr.po
index a39f0a9..2c3de9a 100644
--- a/po/fr/kgtk.po
+++ b/translations/messages/fr.po
@@ -6,55 +6,69 @@ msgid ""
msgstr ""
"Project-Id-Version: kdialogd3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
"PO-Revision-Date: 2007-10-06 17:54+0200\n"
"Last-Translator: Paul Thomas <pw1517@gmail.com>\n"
"Language-Team: Paul Thomas <pw1517@gmail.com>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr "Sélectionnez le dossier"
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
msgstr "Vous ne pouvez sélectionner que des fichiers locaux."
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
msgstr "Les fichiers distants ne sont pas acceptés"
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
+#, fuzzy
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
"Le fichier %1 exite déjà.\n"
"Voulez-vous le remplacer"
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr "Le Fichier existe déjà"
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
msgstr "Vous ne pouvez sélectionner que des dossiers locaux."
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
msgstr "Les dossiers distants ne sont pas acceptés"
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr "KDialog Daemon"
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
msgstr "Utilisez les dialogues TDE à partir d'applications non-TDE."
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/translations/messages/it.po b/translations/messages/it.po
new file mode 100644
index 0000000..8831e7b
--- /dev/null
+++ b/translations/messages/it.po
@@ -0,0 +1,72 @@
+# SOME DESCRIPTIVE TITLE.
+# Michele Calgaro <michele.calgaro@yahoo.it>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2024-10-02 08:10+0000\n"
+"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
+"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/applications/kgtk-qt3/it/>\n"
+"Language: it\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"
+
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Michele Calgaro"
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "michele.calgaro@yahoo.it"
+
+#: kdialogd.cpp:336
+msgid "Select Folder"
+msgstr "Seleziona Cartella"
+
+#: kdialogd.cpp:581
+msgid "You can only select local files."
+msgstr "Puoi selezionare solo file locali."
+
+#: kdialogd.cpp:582
+msgid "Remote Files Not Accepted"
+msgstr "File remoti non accettati"
+
+#: kdialogd.cpp:588
+msgid ""
+"File %1 exists.\n"
+"Do you want to replace it?"
+msgstr ""
+"Il file %1 esiste.\n"
+"Vuoi sostituirlo?"
+
+#: kdialogd.cpp:590
+msgid "File Exists"
+msgstr "Il file esiste già"
+
+#: kdialogd.cpp:675
+msgid "You can only select local folders."
+msgstr "È possibile selezionare solo cartelle locali."
+
+#: kdialogd.cpp:676
+msgid "Remote Folders Not Accepted"
+msgstr "Cartelle remote non accettate"
+
+#: kdialogd.cpp:685
+msgid "KDialog Daemon"
+msgstr "Demone KDialog"
+
+#: kdialogd.cpp:686
+msgid "Use TDE dialogs from non-TDE apps."
+msgstr "Utilizza le finestre di dialogo TDE per applicazioni non TDE."
+
+#: kdialogd.cpp:688
+msgid "(c) Craig Drummond, 2006-2007"
+msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/translations/messages/ka.po b/translations/messages/ka.po
new file mode 100644
index 0000000..e894591
--- /dev/null
+++ b/translations/messages/ka.po
@@ -0,0 +1,72 @@
+# SOME DESCRIPTIVE TITLE.
+# Temuri Doghonadze <rkavt@smartprojects.ge>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2024-11-08 06:11+0000\n"
+"Last-Translator: Temuri Doghonadze <rkavt@smartprojects.ge>\n"
+"Language-Team: Georgian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/applications/kgtk-qt3/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"
+
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "თემური დოღონაძე"
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "temuri.doghonadze@gmail.com"
+
+#: kdialogd.cpp:336
+msgid "Select Folder"
+msgstr "აირჩიეთ საქაღალდე"
+
+#: kdialogd.cpp:581
+msgid "You can only select local files."
+msgstr "შეგიძლიათ, მხოლოდ, ლოკალური ფაილები აირჩიოთ."
+
+#: kdialogd.cpp:582
+msgid "Remote Files Not Accepted"
+msgstr "დაშორებული ფაილები მიუღებელია"
+
+#: kdialogd.cpp:588
+msgid ""
+"File %1 exists.\n"
+"Do you want to replace it?"
+msgstr ""
+"ფალი %1 არსებობს.\n"
+"გნებავთ, ჩაანაცვლოთ ის?"
+
+#: kdialogd.cpp:590
+msgid "File Exists"
+msgstr "ფაილი არსებობს"
+
+#: kdialogd.cpp:675
+msgid "You can only select local folders."
+msgstr "შეგიძლიათ, მხოლოდ, ლოკალური საქაღალდეები აირჩიოთ."
+
+#: kdialogd.cpp:676
+msgid "Remote Folders Not Accepted"
+msgstr "დაშორებული საქაღალდეები მისაღები არაა"
+
+#: kdialogd.cpp:685
+msgid "KDialog Daemon"
+msgstr "KDialog-ის დემონი"
+
+#: kdialogd.cpp:686
+msgid "Use TDE dialogs from non-TDE apps."
+msgstr "გამოიყენეთ TDE-ის დიალოგები არა-TDE-ის აპებიდან."
+
+#: kdialogd.cpp:688
+msgid "(c) Craig Drummond, 2006-2007"
+msgstr "(c) ქრეიგ დრამონდი, 2006-2007"
diff --git a/po/kdialogd3.pot b/translations/messages/kdialogd3.pot
index d2dd05f..392156c 100644
--- a/po/kdialogd3.pot
+++ b/translations/messages/kdialogd3.pot
@@ -1,58 +1,70 @@
# SOME DESCRIPTIVE TITLE.
-# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
+"POT-Creation-Date: 2020-05-11 04:20+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"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+#, ignore-inconsistent
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+#, ignore-inconsistent
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr ""
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
msgstr ""
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
msgstr ""
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr ""
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
msgstr ""
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
msgstr ""
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr ""
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
msgstr ""
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
msgstr ""
diff --git a/translations/messages/nl.po b/translations/messages/nl.po
new file mode 100644
index 0000000..6423334
--- /dev/null
+++ b/translations/messages/nl.po
@@ -0,0 +1,73 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2019-08-04 19:39+0000\n"
+"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
+"Language-Team: Dutch <https://mirror.git.trinitydesktop.org/weblate/projects/"
+"applications/kgtk-qt3/nl/>\n"
+"Language: nl\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 3.7.1\n"
+
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Heimen Stoffels"
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "vistausss@outlook.com"
+
+#: kdialogd.cpp:336
+msgid "Select Folder"
+msgstr "Map kiezen"
+
+#: kdialogd.cpp:581
+msgid "You can only select local files."
+msgstr "Je kunt alleen lokale bestanden kiezen."
+
+#: kdialogd.cpp:582
+msgid "Remote Files Not Accepted"
+msgstr "Geen externe bestanden toegestaan"
+
+#: kdialogd.cpp:588
+msgid ""
+"File %1 exists.\n"
+"Do you want to replace it?"
+msgstr ""
+"Het bestand '%1' bestaat al.\n"
+"Wil je het vervangen?"
+
+#: kdialogd.cpp:590
+msgid "File Exists"
+msgstr "Bestand bestaat al"
+
+#: kdialogd.cpp:675
+msgid "You can only select local folders."
+msgstr "Je kunt alleen lokale mappen kiezen."
+
+#: kdialogd.cpp:676
+msgid "Remote Folders Not Accepted"
+msgstr "Geen externe mappen toegestaan"
+
+#: kdialogd.cpp:685
+msgid "KDialog Daemon"
+msgstr "KDialog-achtergronddienst"
+
+#: kdialogd.cpp:686
+msgid "Use TDE dialogs from non-TDE apps."
+msgstr "TDE-dialoogvensters gebruiken in niet-TDE-apps."
+
+#: kdialogd.cpp:688
+msgid "(c) Craig Drummond, 2006-2007"
+msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/translations/messages/pl.po b/translations/messages/pl.po
new file mode 100644
index 0000000..0d1ea97
--- /dev/null
+++ b/translations/messages/pl.po
@@ -0,0 +1,74 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2019-08-30 10:45+0000\n"
+"Last-Translator: Jan Stolarek <jwstolarek@gmail.com>\n"
+"Language-Team: Polish <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/applications/kgtk-qt3/pl/>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 3.8\n"
+
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Jan Stolarek"
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "jwstolarek@gmail.com"
+
+#: kdialogd.cpp:336
+msgid "Select Folder"
+msgstr "Wybierz katalog"
+
+#: kdialogd.cpp:581
+msgid "You can only select local files."
+msgstr "Możesz wybrać tylko pliki lokalne."
+
+#: kdialogd.cpp:582
+msgid "Remote Files Not Accepted"
+msgstr "Pliki zdalne nie są akceptowane"
+
+#: kdialogd.cpp:588
+msgid ""
+"File %1 exists.\n"
+"Do you want to replace it?"
+msgstr ""
+"Plik %1 istnieje.\n"
+"Czy chcesz go nadpisać?"
+
+#: kdialogd.cpp:590
+msgid "File Exists"
+msgstr "Plik istnieje"
+
+#: kdialogd.cpp:675
+msgid "You can only select local folders."
+msgstr "Możesz wybrać tylko katalogi lokalne."
+
+#: kdialogd.cpp:676
+msgid "Remote Folders Not Accepted"
+msgstr "Katalogi zdalne nie są akceptowane"
+
+#: kdialogd.cpp:685
+msgid "KDialog Daemon"
+msgstr "Demon KDialog"
+
+#: kdialogd.cpp:686
+msgid "Use TDE dialogs from non-TDE apps."
+msgstr "Używaj okien dialogowych TDE w aplikacjach spoza TDE."
+
+#: kdialogd.cpp:688
+msgid "(c) Craig Drummond, 2006-2007"
+msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/translations/messages/pt_BR.po b/translations/messages/pt_BR.po
new file mode 100644
index 0000000..fbd76a2
--- /dev/null
+++ b/translations/messages/pt_BR.po
@@ -0,0 +1,74 @@
+# translation of kdialogd3.po to Brazillian Portuguese
+# This file is put in the public domain.
+#
+# Márcio Moraes <marcio.moraes@redlinks.com.br>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: kdialogd3\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2008-02-26 11:22-0300\n"
+"Last-Translator: Márcio Moraes <marcio.moraes@redlinks.com.br>\n"
+"Language-Team: Márcio Moraes <marcio.moraes@redlinks.com.br>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: kdialogd.cpp:336
+msgid "Select Folder"
+msgstr "Selecionar Pasta"
+
+#: kdialogd.cpp:581
+msgid "You can only select local files."
+msgstr "Selecione apenas arquivos locais."
+
+#: kdialogd.cpp:582
+msgid "Remote Files Not Accepted"
+msgstr "Arquivos remotos não são aceitos"
+
+#: kdialogd.cpp:588
+#, fuzzy
+msgid ""
+"File %1 exists.\n"
+"Do you want to replace it?"
+msgstr ""
+"Arquivo %1 existe.\n"
+"Você realmente deseja sobrescrever?"
+
+#: kdialogd.cpp:590
+msgid "File Exists"
+msgstr "Arquivo existe"
+
+#: kdialogd.cpp:675
+msgid "You can only select local folders."
+msgstr "Selecione apenas pastas locais."
+
+#: kdialogd.cpp:676
+msgid "Remote Folders Not Accepted"
+msgstr "Pastas remotas não são aceitas"
+
+#: kdialogd.cpp:685
+msgid "KDialog Daemon"
+msgstr "KDialog Daemon"
+
+#: kdialogd.cpp:686
+msgid "Use TDE dialogs from non-TDE apps."
+msgstr "Uso de diálogos TDE em aplicações não TDE."
+
+#: kdialogd.cpp:688
+msgid "(c) Craig Drummond, 2006-2007"
+msgstr "(c) Craig Drummond, 2006-2007"
diff --git a/po/ru/kgtk.po b/translations/messages/ru.po
index d7dee70..ee57002 100644
--- a/po/ru/kgtk.po
+++ b/translations/messages/ru.po
@@ -2,61 +2,75 @@
# This file is put in the public domain.
#
# Yarodin <yarodin@gmail.com>, 2008.
+# Andrei Stepanov <adem4ik@gmail.com>, 2023, 2024.
msgid ""
msgstr ""
"Project-Id-Version: kdialogd3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
-"PO-Revision-Date: 2008-05-01 19:31+0600\n"
-"Last-Translator: Yarodin <yarodin@gmail.com>\n"
-"Language-Team: Russian <kde-i18n-ru@kde.org>\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2024-04-12 22:45+0000\n"
+"Last-Translator: Andrei Stepanov <adem4ik@gmail.com>\n"
+"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/applications/kgtk-qt3/ru/>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Андрей Степанов"
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "adem4ik@gmail.com"
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr "Выбор папки"
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
msgstr "Вы можете выбрать только локальные файлы."
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
msgstr "Файлы на удаленной машине недоступны"
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
"Файл %1 уже существует.\n"
-"Хотите его перезаписать?"
+"Хотите перезаписать его?"
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr "Файл существует"
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
msgstr "Вы можете выбрать только локальные папки."
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
-msgstr "Сетевые папки недоступны."
+msgstr "Сетевые папки не принимаются"
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr "KDialog-Демон"
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
msgstr "Использование TDE диалогов в Не-TDE приложениях."
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
-msgstr "(c) Craig Drummond, 2006-2007"
-
+msgstr "(c) Крейг Драммонд, 2006-2007"
diff --git a/translations/messages/sv.po b/translations/messages/sv.po
new file mode 100644
index 0000000..772385a
--- /dev/null
+++ b/translations/messages/sv.po
@@ -0,0 +1,74 @@
+# SOME DESCRIPTIVE TITLE.
+# Simon Stockhaus <simon.stockhaus.95@gmail.com>, 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
+"PO-Revision-Date: 2025-06-09 23:15+0000\n"
+"Last-Translator: Simon Stockhaus <simon.stockhaus.95@gmail.com>\n"
+"Language-Team: Swedish <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/applications/kgtk-qt3/sv/>\n"
+"Language: sv\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.18.2\n"
+
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+#, ignore-inconsistent
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Simon Stockhaus"
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+#, ignore-inconsistent
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "simon.stockhaus.95@gmail.com"
+
+#: kdialogd.cpp:336
+msgid "Select Folder"
+msgstr "Välj mapp"
+
+#: kdialogd.cpp:581
+msgid "You can only select local files."
+msgstr "Du kan endast välja lokala filer."
+
+#: kdialogd.cpp:582
+msgid "Remote Files Not Accepted"
+msgstr "Fjärrfiler ej accepterade"
+
+#: kdialogd.cpp:588
+msgid ""
+"File %1 exists.\n"
+"Do you want to replace it?"
+msgstr ""
+"Filen %1 finns redan.\n"
+"Vill du ersätta den?"
+
+#: kdialogd.cpp:590
+msgid "File Exists"
+msgstr "Filen finns redan"
+
+#: kdialogd.cpp:675
+msgid "You can only select local folders."
+msgstr "Du kan endast välja lokala mappar."
+
+#: kdialogd.cpp:676
+msgid "Remote Folders Not Accepted"
+msgstr "Fjärrmappar ej accpterade"
+
+#: kdialogd.cpp:685
+msgid "KDialog Daemon"
+msgstr "KDialog-bakgrundsprogram"
+
+#: kdialogd.cpp:686
+msgid "Use TDE dialogs from non-TDE apps."
+msgstr "Använd TDE-dialoger från icke-TDE-program."
+
+#: kdialogd.cpp:688
+msgid "(c) Craig Drummond, 2006-2007"
+msgstr "© Craig Drummond, 2006 - 2007"
diff --git a/po/zh_CN/kgtk.po b/translations/messages/zh_CN.po
index daedaab..4c3484b 100644
--- a/po/zh_CN/kgtk.po
+++ b/translations/messages/zh_CN.po
@@ -6,55 +6,69 @@ msgid ""
msgstr ""
"Project-Id-Version: kdialogd3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-09-21 14:40+0100\n"
+"POT-Creation-Date: 2020-05-11 04:20+0200\n"
"PO-Revision-Date: 2007-10-05 13:20+0200\n"
"Last-Translator: Liang Qi <cavendish.qi@gmail.com>\n"
"Language-Team: zh_CN <kde-china@kde.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: kdialogd.cpp:328
+#. Instead of a literal translation, add your name to the end of the list (separated by a comma).
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#. Instead of a literal translation, add your email to the end of the list (separated by a comma).
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: kdialogd.cpp:336
msgid "Select Folder"
msgstr "选择文件夹"
-#: kdialogd.cpp:573
+#: kdialogd.cpp:581
msgid "You can only select local files."
msgstr "仅允许选择本地文件。"
-#: kdialogd.cpp:574
+#: kdialogd.cpp:582
msgid "Remote Files Not Accepted"
msgstr "无法接受远程文件"
-#: kdialogd.cpp:580
+#: kdialogd.cpp:588
+#, fuzzy
msgid ""
-"File %1 exits.\n"
+"File %1 exists.\n"
"Do you want to replace it?"
msgstr ""
"文件 %1 已经存在。\n"
"您想替换它么?"
-#: kdialogd.cpp:582
+#: kdialogd.cpp:590
msgid "File Exists"
msgstr "文件已存在"
-#: kdialogd.cpp:667
+#: kdialogd.cpp:675
msgid "You can only select local folders."
msgstr "仅允许选择本地文件夹。"
-#: kdialogd.cpp:668
+#: kdialogd.cpp:676
msgid "Remote Folders Not Accepted"
msgstr "无法接受远程文件夹"
-#: kdialogd.cpp:677
+#: kdialogd.cpp:685
msgid "KDialog Daemon"
msgstr "KDialog 守护进程"
-#: kdialogd.cpp:678
+#: kdialogd.cpp:686
msgid "Use TDE dialogs from non-TDE apps."
msgstr "在非 TDE 程序中使用 TDE 对话框。"
-#: kdialogd.cpp:680
+#: kdialogd.cpp:688
msgid "(c) Craig Drummond, 2006-2007"
msgstr "(c) Craig Drummond, 2006-2007"