Allows tde macros to be used for processing .ui files in pure TQt

applications.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
pull/85/head
Michele Calgaro 2 years ago
parent 4940b4ebe7
commit 6a21dd3914
Signed by: MicheleC
GPG Key ID: 2A75B7CA8ADED5CF

@ -430,6 +430,8 @@ macro( tde_add_ui_files _sources )
-DUI_FILE:FILEPATH=${_ui_absolute_path} -DUI_FILE:FILEPATH=${_ui_absolute_path}
-DMASTER_SOURCE_DIR:FILEPATH=${CMAKE_SOURCE_DIR} -DMASTER_SOURCE_DIR:FILEPATH=${CMAKE_SOURCE_DIR}
-DMASTER_BINARY_DIR:FILEPATH=${CMAKE_BINARY_DIR} -DMASTER_BINARY_DIR:FILEPATH=${CMAKE_BINARY_DIR}
-DTDE_FOUND=${TDE_FOUND}
-DTQT_ONLY=${TQT_ONLY}
-P ${TDE_CMAKE_MODULES}/tde_uic.cmake -P ${TDE_CMAKE_MODULES}/tde_uic.cmake
DEPENDS ${_ui_absolute_path} ) DEPENDS ${_ui_absolute_path} )

@ -31,8 +31,16 @@ if( TDE_TQTPLUGINS_DIR )
set( L -L ${TDE_TQTPLUGINS_DIR} ) set( L -L ${TDE_TQTPLUGINS_DIR} )
endif( ) endif( )
# Choose translation function, different for TQt and TDE
if ( TDE_FOUND AND NOT TQT_ONLY )
set( TR_FUNC "tr2i18n" )
else( TDE_FOUND AND NOT TQT_ONLY )
set( TR_FUNC "tr" )
endif( TDE_FOUND AND NOT TQT_ONLY )
# Generate ui .h file
tde_execute_process( COMMAND ${UIC_EXECUTABLE} tde_execute_process( COMMAND ${UIC_EXECUTABLE}
-nounload -tr tr2i18n -nounload -tr ${TR_FUNC}
${L} ${L}
${local_ui_file} ${local_ui_file}
OUTPUT_VARIABLE _ui_h_content ) OUTPUT_VARIABLE _ui_h_content )
@ -40,30 +48,35 @@ tde_execute_process( COMMAND ${UIC_EXECUTABLE}
if( _ui_h_content ) if( _ui_h_content )
string( REGEX REPLACE "#ifndef " "#ifndef UI_" _ui_h_content "${_ui_h_content}" ) string( REGEX REPLACE "#ifndef " "#ifndef UI_" _ui_h_content "${_ui_h_content}" )
string( REGEX REPLACE "#define " "#define UI_" _ui_h_content "${_ui_h_content}" ) string( REGEX REPLACE "#define " "#define UI_" _ui_h_content "${_ui_h_content}" )
string( REGEX REPLACE "public TQWizard" "public KWizard" _ui_h_content "${_ui_h_content}" ) if ( TDE_FOUND AND NOT TQT_ONLY )
string( REGEX REPLACE "public QWizard" "public KWizard" _ui_h_content "${_ui_h_content}" ) string( REGEX REPLACE "public TQWizard" "public KWizard" _ui_h_content "${_ui_h_content}" )
string( REGEX REPLACE "#include <ntqwizard.h>" "#include <kwizard.h>" _ui_h_content "${_ui_h_content}" ) string( REGEX REPLACE "public QWizard" "public KWizard" _ui_h_content "${_ui_h_content}" )
string( REGEX REPLACE "#include <qwizard.h>" "#include <kwizard.h>" _ui_h_content "${_ui_h_content}" ) string( REGEX REPLACE "#include <ntqwizard.h>" "#include <kwizard.h>" _ui_h_content "${_ui_h_content}" )
string( REGEX REPLACE "#include <qwizard.h>" "#include <kwizard.h>" _ui_h_content "${_ui_h_content}" )
endif( TDE_FOUND AND NOT TQT_ONLY )
file( WRITE ${_ui_basename}.h "${_ui_h_content}" ) file( WRITE ${_ui_basename}.h "${_ui_h_content}" )
endif( ) endif( )
# Generate ui .cpp file
tde_execute_process( COMMAND ${UIC_EXECUTABLE} tde_execute_process( COMMAND ${UIC_EXECUTABLE}
-nounload -tr tr2i18n -nounload -tr ${TR_FUNC}
${L} ${L}
-impl ${_ui_basename}.h -impl ${_ui_basename}.h
${local_ui_file} ${local_ui_file}
OUTPUT_VARIABLE _ui_cpp_content ) OUTPUT_VARIABLE _ui_cpp_content )
if( _ui_cpp_content ) if( _ui_cpp_content )
string( REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _ui_cpp_content "${_ui_cpp_content}" ) string( REGEX REPLACE "${TR_FUNC}\\(\"\"\\)" "TQString::null" _ui_cpp_content "${_ui_cpp_content}" )
string( REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _ui_cpp_content "${_ui_cpp_content}" ) string( REGEX REPLACE "${TR_FUNC}\\(\"\", \"\"\\)" "TQString::null" _ui_cpp_content "${_ui_cpp_content}" )
string( REGEX REPLACE ": TQWizard\\(" ": KWizard(" _ui_cpp_content "${_ui_cpp_content}" ) if ( TDE_FOUND AND NOT TQT_ONLY )
string( REGEX REPLACE ": QWizard\\(" ": KWizard(" _ui_cpp_content "${_ui_cpp_content}" ) string( REGEX REPLACE ": TQWizard\\(" ": KWizard(" _ui_cpp_content "${_ui_cpp_content}" )
file( WRITE ${_ui_basename}.cpp "#include <kdialog.h>\n#include <tdelocale.h>\n\n${_ui_cpp_content}" ) string( REGEX REPLACE ": QWizard\\(" ": KWizard(" _ui_cpp_content "${_ui_cpp_content}" )
set( _ui_cpp_content "#include <kdialog.h>\n#include <tdelocale.h>\n\n${_ui_cpp_content}" )
endif( TDE_FOUND AND NOT TQT_ONLY )
file( WRITE ${_ui_basename}.cpp "${_ui_cpp_content}" )
tde_execute_process( COMMAND ${MOC_EXECUTABLE} tde_execute_process( COMMAND ${MOC_EXECUTABLE}
${_ui_basename}.h ${_ui_basename}.h
OUTPUT_VARIABLE _ui_h_moc_content ) OUTPUT_VARIABLE _ui_h_moc_content )
file( APPEND ${_ui_basename}.cpp "${_ui_h_moc_content}" ) file( APPEND ${_ui_basename}.cpp "${_ui_h_moc_content}" )
endif( _ui_cpp_content )
endif( )

Loading…
Cancel
Save