diff -Nru httraqt-1.4.9/astyle.sh httraqt-1.4.11/astyle.sh --- httraqt-1.4.9/astyle.sh 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/astyle.sh 2023-01-05 11:08:48.000000000 +0000 @@ -0,0 +1,44 @@ +#!/bin/bash + +CMD=`type -p astyle` + +if [ ! -x "$CMD" ]; then + # not found exit + echo "please install astyle and restart this script" + exit 1 +fi + +ASTYLE2_VERSION="Artistic Style Version 2." +ASTYLE3_VERSION="Artistic Style Version 3." + +ARTISTIC_STYLE_OPTIONS=" \ +--mode=c \ +--style=k&r \ +--indent=spaces=4 \ +--indent-classes \ +--indent-switches \ +--indent-col1-comments \ +--indent-preprocessor \ +--break-blocks \ +--pad-oper \ +--add-brackets \ +--convert-tabs \ +--formatted \ +--lineend=linux " + +if [[ "`$CMD --version 2>&1`" == ${ASTYLE3_VERSION}* ]]; then + +ARTISTIC_STYLE_OPTIONS="$ARTISTIC_STYLE_OPTIONS --pad-comma --add-braces" + +elif [[ "`$CMD --version 2>&1`" == ${ASTYLE2_VERSION}* ]]; then + +ARTISTIC_STYLE_OPTIONS="$ARTISTIC_STYLE_OPTIONS --add-brackets" + +else + echo "Requested version 2 or 3" + exit 2 +fi + +set -e + +$CMD $ARTISTIC_STYLE_OPTIONS --suffix=none --recursive "sources/*.cpp" "sources/*.h" diff -Nru httraqt-1.4.9/cmake/Dependencies.cmake httraqt-1.4.11/cmake/Dependencies.cmake --- httraqt-1.4.9/cmake/Dependencies.cmake 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/cmake/Dependencies.cmake 2017-01-27 18:18:36.000000000 +0000 @@ -0,0 +1,49 @@ +SET(HTTRAQT_REQUIRED_LIBRARIES) + +SET(HTTRAQT_OPTIONAL_LIBRARY_CONFIGURATIONS) +SET(HTTRAQT_OPTIONAL_LIBRARIES) + +MACRO(HTTRAQT_CHECK_REQUIRED_DEPENDENCY FOUND LIBRARY URLS DESCRIPTION) + LIST(APPEND HTTRAQT_REQUIRED_LIBRARIES ${LIBRARY}) + IF(NOT ${FOUND}) + SET(MESSAGE_TEXT "Couldn't find ${LIBRARY}, which is required to build HTTraQt.") + SET(MESSAGE_TEXT "${MESSAGE_TEXT} You can obtain ${LIBRARY} from") + SET(DELIMITER "") + FOREACH(URL ${URLS}) + SET(MESSAGE_TEXT "${MESSAGE_TEXT} ${DELIMITER} ${URL}") + SET(DELIMITER "or") + ENDFOREACH() + SET(MESSAGE_TEXT "${MESSAGE_TEXT}.") + SET(MESSAGE_TEXT "${MESSAGE_TEXT} ${DESCRIPTION}") + MESSAGE(SEND_ERROR "${MESSAGE_TEXT}") + ENDIF(NOT ${FOUND}) +ENDMACRO(HTTRAQT_CHECK_REQUIRED_DEPENDENCY) + +MACRO(HTTRAQT_CHECK_OPTIONAL_DEPENDENCY CONFIG FOUND LIBRARY) + LIST(APPEND HTTRAQT_OPTIONAL_LIBRARY_CONFIGURATIONS ${CONFIG}) + LIST(APPEND HTTRAQT_OPTIONAL_LIBRARIES ${LIBRARY}) + + IF(${CONFIG}) + IF(NOT ${FOUND}) + MESSAGE(SEND_ERROR "Couldn't find the ${LIBRARY} library, which is required by ${CONFIG}.") + ENDIF(NOT ${FOUND}) + ENDIF(${CONFIG}) +ENDMACRO(HTTRAQT_CHECK_OPTIONAL_DEPENDENCY) + +MACRO(HTTRAQT_CHECK_NGUI_DEPENDENCY CONFIG) + IF(${CONFIG} AND NOT HTTRAQT_BUILD_NGUI_MODULE) + MESSAGE(SEND_ERROR "HTTRAQT_BUILD_NGUI_MODULE is required by ${CONFIG}.") + ENDIF(${CONFIG} AND NOT HTTRAQT_BUILD_NGUI_MODULE) +ENDMACRO(HTTRAQT_CHECK_NGUI_DEPENDENCY) + +MACRO(HTTRAQT_CONDITIONAL_BUILD BUILD_OPTION BUILD_DIRECTORY) + IF(${BUILD_OPTION}) + ADD_SUBDIRECTORY(${BUILD_DIRECTORY}) + ENDIF(${BUILD_OPTION}) +ENDMACRO(HTTRAQT_CONDITIONAL_BUILD) + +MACRO(HTTRAQT_ADD_LIBRARY LIBRARY_NAME) + ADD_LIBRARY(${LIBRARY_NAME} ${ARGN}) + SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES VERSION "${HTTRAQT_SO_VERSION}") +ENDMACRO() + diff -Nru httraqt-1.4.9/cmake/FindHttrack.cmake httraqt-1.4.11/cmake/FindHttrack.cmake --- httraqt-1.4.9/cmake/FindHttrack.cmake 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/cmake/FindHttrack.cmake 2017-01-27 18:18:36.000000000 +0000 @@ -0,0 +1,58 @@ +SET(HTTRAQT_HTTRACK_FOUND 0) + +# INCLUDE(HTTRAQTFindPkgConfig) +# PKG_CHECK_MODULES(HTTRACK libhttrack2) + + +SET ( HT_DIR "/usr/include/httrack/" ) +IF(EXISTS "${HT_DIR}" AND IS_DIRECTORY "${HT_DIR}") + SET ( HTTRACK_INCLUDES_DIR "${HT_DIR}" ) + INCLUDE_DIRECTORIES(${HTTRACK_INCLUDES_DIR}) +ELSE() + SET ( HT_DIR "/usr/local/include/httrack/" ) + IF(EXISTS "${HT_DIR}" AND IS_DIRECTORY "${HT_DIR}") + SET ( HTTRACK_INCLUDES_DIR "${HT_DIR}" ) + INCLUDE_DIRECTORIES(${HTTRACK_INCLUDES_DIR}) + ENDIF() +ENDIF() + + +IF( NOT HTTRACK_INCLUDES_DIR ) + MESSAGE(FATAL_ERROR "Please INSTALL the httrack, httrack-dev packages and try again") +# RETURN() +ELSE() + SET (HTTRACK_FOUND 1) +ENDIF() + +MESSAGE("httrack header directory found: " ${HTTRACK_INCLUDES_DIR}) + +FIND_LIBRARY( + HTTRACK_LIBRARY NAMES httrack libhttrack.lib + PATHS /usr/local/lib /usr/lib + HINTS ${httrack_dirs1} ${httrack_dirs2} ${STAGING_LIBS_DIR} + DOC "Path to httrack library." +) + +IF(NOT HTTRACK_LIBRARY) + MESSAGE( + FATAL_ERROR + "Could not find httrack library.\n" + "You may need to INSTALL a package named libhttrack-dev or similarly." + ) +ENDIF() + +IF(HTTRACK_FOUND) + SET(HTTRAQT_HTTRACK_INCLUDE_DIRS + ${HTTRACK_INCLUDES_DIR} + ) + + SET(HTTRAQT_HTTRACK_LIB_DIRS + ${HTTRACK_LIBRARY_DIRS} + ) + + SET(HTTRAQT_HTTRACK_LIBS + ${HTTRACK_LIBRARIES} + ) + + SET(HTTRAQT_HTTRACK_FOUND 1) +ENDIF(HTTRACK_FOUND) diff -Nru httraqt-1.4.9/cmake/FindPkgConfig.cmake httraqt-1.4.11/cmake/FindPkgConfig.cmake --- httraqt-1.4.9/cmake/FindPkgConfig.cmake 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/cmake/FindPkgConfig.cmake 2017-01-27 18:18:36.000000000 +0000 @@ -0,0 +1,360 @@ +# - a pkg-config module for CMake +# +# Usage: +# pkg_check_modules( [REQUIRED] []*) +# checks for all the given modules +# +# pkg_search_module( [REQUIRED] []*) +# checks for given modules and uses the first working one +# +# When the 'REQUIRED' argument was set, macros will fail with an error +# when module(s) could not be found +# +# It sets the following variables: +# PKG_CONFIG_FOUND ... true iff pkg-config works on the system +# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program +# _FOUND ... set to 1 iff module(s) exist +# +# For the following variables two sets of values exist; first one is the +# common one and has the given PREFIX. The second set contains flags +# which are given out when pkgconfig was called with the '--static' +# option. +# _LIBRARIES ... only the libraries (w/o the '-l') +# _LIBRARY_DIRS ... the paths of the libraries (w/o the '-L') +# _LDFLAGS ... all required linker flags +# _LDFLAGS_OTHERS ... all other linker flags +# _INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I') +# _CFLAGS ... all required cflags +# _CFLAGS_OTHERS ... the other compiler flags +# +# = for common case +# = _STATIC for static linking +# +# There are some special variables whose prefix depends on the count +# of given modules. When there is only one module, stays +# unchanged. When there are multiple modules, the prefix will be +# changed to _: +# _VERSION ... version of the module +# _PREFIX ... prefix-directory of the module +# _INCLUDEDIR ... include-dir of the module +# _LIBDIR ... lib-dir of the module +# +# = when |MODULES| == 1, else +# = _ +# +# A parameter can have the following formats: +# {MODNAME} ... matches any version +# {MODNAME}>={VERSION} ... at least version is required +# {MODNAME}={VERSION} ... exactly version is required +# {MODNAME}<={VERSION} ... modules must not be newer than +# +# Examples +# pkg_check_modules (GLIB2 glib-2.0) +# +# pkg_check_modules (GLIB2 glib-2.0>=2.10) +# requires at least version 2.10 of glib2 and defines e.g. +# GLIB2_VERSION=2.10.3 +# +# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0) +# requires both glib2 and gtk2, and defines e.g. +# FOO_glib-2.0_VERSION=2.10.3 +# FOO_gtk+-2.0_VERSION=2.8.20 +# +# pkg_check_modules (XRENDER REQUIRED xrender) +# defines e.g.: +# XRENDER_LIBRARIES=Xrender;X11 +# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp +# +# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2) + + +# Copyright (C) 2006 Enrico Scholz +# +# Redistribution and use, with or without modification, are permitted +# provided that the following conditions are met: +# +# 1. Redistributions must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# 2. The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +### Common stuff #### +set(PKG_CONFIG_VERSION 1) +set(PKG_CONFIG_FOUND 0) + +find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") +mark_as_advanced(PKG_CONFIG_EXECUTABLE) + +if(PKG_CONFIG_EXECUTABLE) + set(PKG_CONFIG_FOUND 1) +endif(PKG_CONFIG_EXECUTABLE) + + +# Unsets the given variables +macro(_pkgconfig_unset var) + set(${var} "" CACHE INTERNAL "") +endmacro(_pkgconfig_unset) + +macro(_pkgconfig_set var value) + set(${var} ${value} CACHE INTERNAL "") +endmacro(_pkgconfig_set) + +# Invokes pkgconfig, cleans up the result and sets variables +macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp) + set(_pkgconfig_invoke_result) + + execute_process( + COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist} + OUTPUT_VARIABLE _pkgconfig_invoke_result + RESULT_VARIABLE _pkgconfig_failed) + + if (_pkgconfig_failed) + set(_pkgconfig_${_varname} "") + _pkgconfig_unset(${_prefix}_${_varname}) + else(_pkgconfig_failed) + string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") + string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") + + if (NOT ${_regexp} STREQUAL "") + string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") + endif(NOT ${_regexp} STREQUAL "") + + separate_arguments(_pkgconfig_invoke_result) + + #message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}") + set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result}) + _pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}") + endif(_pkgconfig_failed) +endmacro(_pkgconfig_invoke) + +# Invokes pkgconfig two times; once without '--static' and once with +# '--static' +macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp) + _pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN}) + _pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN}) +endmacro(_pkgconfig_invoke_dyn) + +# Splits given arguments into options and a package list +macro(_pkgconfig_parse_options _result _is_req) + set(${_is_req} 0) + + foreach(_pkg ${ARGN}) + if (_pkg STREQUAL "REQUIRED") + set(${_is_req} 1) + endif (_pkg STREQUAL "REQUIRED") + endforeach(_pkg ${ARGN}) + + set(${_result} ${ARGN}) + list(REMOVE_ITEM ${_result} "REQUIRED") +endmacro(_pkgconfig_parse_options) + +### +macro(_pkg_check_modules_internal _is_required _is_silent _prefix) + _pkgconfig_unset(${_prefix}_FOUND) + _pkgconfig_unset(${_prefix}_VERSION) + _pkgconfig_unset(${_prefix}_PREFIX) + _pkgconfig_unset(${_prefix}_INCLUDEDIR) + _pkgconfig_unset(${_prefix}_LIBDIR) + _pkgconfig_unset(${_prefix}_LIBS) + _pkgconfig_unset(${_prefix}_LIBS_L) + _pkgconfig_unset(${_prefix}_LIBS_PATHS) + _pkgconfig_unset(${_prefix}_LIBS_OTHER) + _pkgconfig_unset(${_prefix}_CFLAGS) + _pkgconfig_unset(${_prefix}_CFLAGS_I) + _pkgconfig_unset(${_prefix}_CFLAGS_OTHER) + _pkgconfig_unset(${_prefix}_STATIC_LIBDIR) + _pkgconfig_unset(${_prefix}_STATIC_LIBS) + _pkgconfig_unset(${_prefix}_STATIC_LIBS_L) + _pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS) + _pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER) + _pkgconfig_unset(${_prefix}_STATIC_CFLAGS) + _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I) + _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER) + + # create a better addressable variable of the modules and calculate its size + set(_pkg_check_modules_list ${ARGN}) + list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt) + + if(PKG_CONFIG_EXECUTABLE) + # give out status message telling checked module + if (NOT ${_is_silent}) + if (_pkg_check_modules_cnt EQUAL 1) + message(STATUS "checking for module '${_pkg_check_modules_list}'") + else(_pkg_check_modules_cnt EQUAL 1) + message(STATUS "checking for modules '${_pkg_check_modules_list}'") + endif(_pkg_check_modules_cnt EQUAL 1) + endif(NOT ${_is_silent}) + + set(_pkg_check_modules_packages) + set(_pkg_check_modules_failed) + + # iterate through module list and check whether they exist and match the required version + foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list}) + set(_pkg_check_modules_exist_query) + + # check whether version is given + if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") + string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") + string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}") + string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}") + else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") + set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") + set(_pkg_check_modules_pkg_op) + set(_pkg_check_modules_pkg_ver) + endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") + + # handle the operands + if (_pkg_check_modules_pkg_op STREQUAL ">=") + list(APPEND _pkg_check_modules_exist_query --atleast-version) + endif(_pkg_check_modules_pkg_op STREQUAL ">=") + + if (_pkg_check_modules_pkg_op STREQUAL "=") + list(APPEND _pkg_check_modules_exist_query --exact-version) + endif(_pkg_check_modules_pkg_op STREQUAL "=") + + if (_pkg_check_modules_pkg_op STREQUAL "<=") + list(APPEND _pkg_check_modules_exist_query --max-version) + endif(_pkg_check_modules_pkg_op STREQUAL "<=") + + # create the final query which is of the format: + # * --atleast-version + # * --exact-version + # * --max-version + # * --exists + if (_pkg_check_modules_pkg_op) + list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}") + else(_pkg_check_modules_pkg_op) + list(APPEND _pkg_check_modules_exist_query --exists) + endif(_pkg_check_modules_pkg_op) + + _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION) + _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX) + _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR) + _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR) + + list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}") + list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}") + + # execute the query + execute_process( + COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query} + RESULT_VARIABLE _pkgconfig_retval) + + # evaluate result and tell failures + if (_pkgconfig_retval) + if(NOT ${_is_silent}) + message(STATUS " package '${_pkg_check_modules_pkg}' not found") + endif(NOT ${_is_silent}) + + set(_pkg_check_modules_failed 1) + endif(_pkgconfig_retval) + endforeach(_pkg_check_modules_pkg) + + if(_pkg_check_modules_failed) + # fail when requested + if (${_is_required}) + message(SEND_ERROR "A required package was not found") + endif (${_is_required}) + else(_pkg_check_modules_failed) + # when we are here, we checked whether requested modules + # exist. Now, go through them and set variables + + _pkgconfig_set(${_prefix}_FOUND 1) + list(LENGTH _pkg_check_modules_packages pkg_count) + + # iterate through all modules again and set individual variables + foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages}) + # handle case when there is only one package required + if (pkg_count EQUAL 1) + set(_pkg_check_prefix "${_prefix}") + else(pkg_count EQUAL 1) + set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}") + endif(pkg_count EQUAL 1) + + _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion ) + _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix ) + _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir ) + _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir ) + + message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}") + endforeach(_pkg_check_modules_pkg) + + # set variables which are combined for multiple modules + _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l ) + _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L ) + _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs ) + _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other ) + + _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I ) + _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags ) + _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other ) + endif(_pkg_check_modules_failed) + else(PKG_CONFIG_EXECUTABLE) + if (${_is_required}) + message(SEND_ERROR "pkg-config tool not found") + endif (${_is_required}) + endif(PKG_CONFIG_EXECUTABLE) +endmacro(_pkg_check_modules_internal) + +### +### User visible macros start here +### + +### +macro(pkg_check_modules _prefix _module0) + # check cached value +# if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) + _pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN}) + _pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules}) + +# _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) +# endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) +endmacro(pkg_check_modules) + +### +macro(pkg_search_module _prefix _module0) + # check cached value +# if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) + set(_pkg_modules_found 0) + _pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN}) + + message(STATUS "checking for one of the modules '${_pkg_modules_alt}'") + + # iterate through all modules and stop at the first working one. + foreach(_pkg_alt ${_pkg_modules_alt}) + if(NOT _pkg_modules_found) + _pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}") + endif(NOT _pkg_modules_found) + + if (${_prefix}_FOUND) + set(_pkg_modules_found 1) + endif(${_prefix}_FOUND) + endforeach(_pkg_alt) + + if (NOT ${_prefix}_FOUND) + if(${_pkg_is_required}) + message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found") + endif(${_pkg_is_required}) + endif(NOT ${_prefix}_FOUND) + +# _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) +# endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) +endmacro(pkg_search_module) + +### Local Variables: +### mode: cmake +### End: diff -Nru httraqt-1.4.9/cmake/GenerateDEF.cmake httraqt-1.4.11/cmake/GenerateDEF.cmake --- httraqt-1.4.9/cmake/GenerateDEF.cmake 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/cmake/GenerateDEF.cmake 2017-01-27 18:18:36.000000000 +0000 @@ -0,0 +1,11 @@ +MACRO(HTTRAQT_GENERATE_DEF_FILE TARGET_NAME) + IF(MSVC) + ADD_DEPENDENCIES(${TARGET_NAME} httraqt-gendef) + GET_TARGET_PROPERTY(gendef_EXE httraqt-gendef LOCATION) + ADD_CUSTOM_COMMAND(TARGET ${TARGET_NAME} + PRE_LINK + COMMAND ${gendef_EXE} $(IntDir)\\$(InputName).def $(TargetFileName) $(IntDir)\\*.obj) + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES LINK_FLAGS "/DEF:$(IntDir)\\$(InputName).def") + ENDIF(MSVC) +ENDMACRO(HTTRAQT_GENERATE_DEF_FILE) + diff -Nru httraqt-1.4.9/cmake/HTTRAQTCompiler.cmake httraqt-1.4.11/cmake/HTTRAQTCompiler.cmake --- httraqt-1.4.9/cmake/HTTRAQTCompiler.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTCompiler.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -IF(APPLE AND CMAKE_BUILD_TYPE STREQUAL "Release") - EXECUTE_PROCESS( - COMMAND ${CMAKE_CXX_COMPILER} --version - OUTPUT_VARIABLE HTTRAQT_COMPILER_VERSION - ) - - IF(HTTRAQT_COMPILER_VERSION MATCHES "4.0.1") - MESSAGE(SEND_ERROR "The Apple gcc 4.0.1 compiler produces release binaries that fail at runtime. Try the gcc 4.2 compiler included in recent version of XCode instead. See http://developer.k-3d.org/tracker/issue-cf2cdc4985a66db59f55052f03c3c620237b451f.html for details.") - ENDIF() -ENDIF() - diff -Nru httraqt-1.4.9/cmake/HTTRAQTDependencies.cmake httraqt-1.4.11/cmake/HTTRAQTDependencies.cmake --- httraqt-1.4.9/cmake/HTTRAQTDependencies.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTDependencies.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -SET(HTTRAQT_REQUIRED_LIBRARIES) - -SET(HTTRAQT_OPTIONAL_LIBRARY_CONFIGURATIONS) -SET(HTTRAQT_OPTIONAL_LIBRARIES) - -MACRO(HTTRAQT_CHECK_REQUIRED_DEPENDENCY FOUND LIBRARY URLS DESCRIPTION) - LIST(APPEND HTTRAQT_REQUIRED_LIBRARIES ${LIBRARY}) - IF(NOT ${FOUND}) - SET(MESSAGE_TEXT "Couldn't find ${LIBRARY}, which is required to build HTTraQt.") - SET(MESSAGE_TEXT "${MESSAGE_TEXT} You can obtain ${LIBRARY} from") - SET(DELIMITER "") - FOREACH(URL ${URLS}) - SET(MESSAGE_TEXT "${MESSAGE_TEXT} ${DELIMITER} ${URL}") - SET(DELIMITER "or") - ENDFOREACH() - SET(MESSAGE_TEXT "${MESSAGE_TEXT}.") - SET(MESSAGE_TEXT "${MESSAGE_TEXT} ${DESCRIPTION}") - MESSAGE(SEND_ERROR "${MESSAGE_TEXT}") - ENDIF(NOT ${FOUND}) -ENDMACRO(HTTRAQT_CHECK_REQUIRED_DEPENDENCY) - -MACRO(HTTRAQT_CHECK_OPTIONAL_DEPENDENCY CONFIG FOUND LIBRARY) - LIST(APPEND HTTRAQT_OPTIONAL_LIBRARY_CONFIGURATIONS ${CONFIG}) - LIST(APPEND HTTRAQT_OPTIONAL_LIBRARIES ${LIBRARY}) - - IF(${CONFIG}) - IF(NOT ${FOUND}) - MESSAGE(SEND_ERROR "Couldn't find the ${LIBRARY} library, which is required by ${CONFIG}.") - ENDIF(NOT ${FOUND}) - ENDIF(${CONFIG}) -ENDMACRO(HTTRAQT_CHECK_OPTIONAL_DEPENDENCY) - -MACRO(HTTRAQT_CHECK_NGUI_DEPENDENCY CONFIG) - IF(${CONFIG} AND NOT HTTRAQT_BUILD_NGUI_MODULE) - MESSAGE(SEND_ERROR "HTTRAQT_BUILD_NGUI_MODULE is required by ${CONFIG}.") - ENDIF(${CONFIG} AND NOT HTTRAQT_BUILD_NGUI_MODULE) -ENDMACRO(HTTRAQT_CHECK_NGUI_DEPENDENCY) - -MACRO(HTTRAQT_CONDITIONAL_BUILD BUILD_OPTION BUILD_DIRECTORY) - IF(${BUILD_OPTION}) - ADD_SUBDIRECTORY(${BUILD_DIRECTORY}) - ENDIF(${BUILD_OPTION}) -ENDMACRO(HTTRAQT_CONDITIONAL_BUILD) - -MACRO(HTTRAQT_ADD_LIBRARY LIBRARY_NAME) - ADD_LIBRARY(${LIBRARY_NAME} ${ARGN}) - SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES VERSION "${HTTRAQT_SO_VERSION}") -ENDMACRO() - diff -Nru httraqt-1.4.9/cmake/HTTRAQTFindHttrack.cmake httraqt-1.4.11/cmake/HTTRAQTFindHttrack.cmake --- httraqt-1.4.9/cmake/HTTRAQTFindHttrack.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTFindHttrack.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -SET(HTTRAQT_HTTRACK_FOUND 0) - -# INCLUDE(HTTRAQTFindPkgConfig) -# PKG_CHECK_MODULES(HTTRACK libhttrack2) - - -SET ( HT_DIR "/usr/include/httrack/" ) -IF(EXISTS "${HT_DIR}" AND IS_DIRECTORY "${HT_DIR}") - SET ( HTTRACK_INCLUDES_DIR "${HT_DIR}" ) - INCLUDE_DIRECTORIES(${HTTRACK_INCLUDES_DIR}) -ELSE() - SET ( HT_DIR "/usr/local/include/httrack/" ) - IF(EXISTS "${HT_DIR}" AND IS_DIRECTORY "${HT_DIR}") - SET ( HTTRACK_INCLUDES_DIR "${HT_DIR}" ) - INCLUDE_DIRECTORIES(${HTTRACK_INCLUDES_DIR}) - ENDIF() -ENDIF() - - -IF( NOT HTTRACK_INCLUDES_DIR ) - MESSAGE(FATAL_ERROR "Please INSTALL the httrack, httrack-dev packages and try again") -# RETURN() -ELSE() - SET (HTTRACK_FOUND 1) -ENDIF() - -MESSAGE("httrack header directory found: " ${HTTRACK_INCLUDES_DIR}) - -FIND_LIBRARY( - HTTRACK_LIBRARY NAMES httrack libhttrack.lib - PATHS /usr/local/lib /usr/lib - HINTS ${httrack_dirs1} ${httrack_dirs2} ${STAGING_LIBS_DIR} - DOC "Path to httrack library." -) - -IF(NOT HTTRACK_LIBRARY) - MESSAGE( - FATAL_ERROR - "Could not find httrack library.\n" - "You may need to INSTALL a package named libhttrack-dev or similarly." - ) -ENDIF() - -IF(HTTRACK_FOUND) - SET(HTTRAQT_HTTRACK_INCLUDE_DIRS - ${HTTRACK_INCLUDES_DIR} - ) - - SET(HTTRAQT_HTTRACK_LIB_DIRS - ${HTTRACK_LIBRARY_DIRS} - ) - - SET(HTTRAQT_HTTRACK_LIBS - ${HTTRACK_LIBRARIES} - ) - - SET(HTTRAQT_HTTRACK_FOUND 1) -ENDIF(HTTRACK_FOUND) diff -Nru httraqt-1.4.9/cmake/HTTRAQTFindPkgConfig.cmake httraqt-1.4.11/cmake/HTTRAQTFindPkgConfig.cmake --- httraqt-1.4.9/cmake/HTTRAQTFindPkgConfig.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTFindPkgConfig.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,360 +0,0 @@ -# - a pkg-config module for CMake -# -# Usage: -# pkg_check_modules( [REQUIRED] []*) -# checks for all the given modules -# -# pkg_search_module( [REQUIRED] []*) -# checks for given modules and uses the first working one -# -# When the 'REQUIRED' argument was set, macros will fail with an error -# when module(s) could not be found -# -# It sets the following variables: -# PKG_CONFIG_FOUND ... true iff pkg-config works on the system -# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program -# _FOUND ... set to 1 iff module(s) exist -# -# For the following variables two sets of values exist; first one is the -# common one and has the given PREFIX. The second set contains flags -# which are given out when pkgconfig was called with the '--static' -# option. -# _LIBRARIES ... only the libraries (w/o the '-l') -# _LIBRARY_DIRS ... the paths of the libraries (w/o the '-L') -# _LDFLAGS ... all required linker flags -# _LDFLAGS_OTHERS ... all other linker flags -# _INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I') -# _CFLAGS ... all required cflags -# _CFLAGS_OTHERS ... the other compiler flags -# -# = for common case -# = _STATIC for static linking -# -# There are some special variables whose prefix depends on the count -# of given modules. When there is only one module, stays -# unchanged. When there are multiple modules, the prefix will be -# changed to _: -# _VERSION ... version of the module -# _PREFIX ... prefix-directory of the module -# _INCLUDEDIR ... include-dir of the module -# _LIBDIR ... lib-dir of the module -# -# = when |MODULES| == 1, else -# = _ -# -# A parameter can have the following formats: -# {MODNAME} ... matches any version -# {MODNAME}>={VERSION} ... at least version is required -# {MODNAME}={VERSION} ... exactly version is required -# {MODNAME}<={VERSION} ... modules must not be newer than -# -# Examples -# pkg_check_modules (GLIB2 glib-2.0) -# -# pkg_check_modules (GLIB2 glib-2.0>=2.10) -# requires at least version 2.10 of glib2 and defines e.g. -# GLIB2_VERSION=2.10.3 -# -# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0) -# requires both glib2 and gtk2, and defines e.g. -# FOO_glib-2.0_VERSION=2.10.3 -# FOO_gtk+-2.0_VERSION=2.8.20 -# -# pkg_check_modules (XRENDER REQUIRED xrender) -# defines e.g.: -# XRENDER_LIBRARIES=Xrender;X11 -# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp -# -# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2) - - -# Copyright (C) 2006 Enrico Scholz -# -# Redistribution and use, with or without modification, are permitted -# provided that the following conditions are met: -# -# 1. Redistributions must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# 2. The name of the author may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -### Common stuff #### -set(PKG_CONFIG_VERSION 1) -set(PKG_CONFIG_FOUND 0) - -find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable") -mark_as_advanced(PKG_CONFIG_EXECUTABLE) - -if(PKG_CONFIG_EXECUTABLE) - set(PKG_CONFIG_FOUND 1) -endif(PKG_CONFIG_EXECUTABLE) - - -# Unsets the given variables -macro(_pkgconfig_unset var) - set(${var} "" CACHE INTERNAL "") -endmacro(_pkgconfig_unset) - -macro(_pkgconfig_set var value) - set(${var} ${value} CACHE INTERNAL "") -endmacro(_pkgconfig_set) - -# Invokes pkgconfig, cleans up the result and sets variables -macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp) - set(_pkgconfig_invoke_result) - - execute_process( - COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist} - OUTPUT_VARIABLE _pkgconfig_invoke_result - RESULT_VARIABLE _pkgconfig_failed) - - if (_pkgconfig_failed) - set(_pkgconfig_${_varname} "") - _pkgconfig_unset(${_prefix}_${_varname}) - else(_pkgconfig_failed) - string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - - if (NOT ${_regexp} STREQUAL "") - string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}") - endif(NOT ${_regexp} STREQUAL "") - - separate_arguments(_pkgconfig_invoke_result) - - #message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}") - set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result}) - _pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}") - endif(_pkgconfig_failed) -endmacro(_pkgconfig_invoke) - -# Invokes pkgconfig two times; once without '--static' and once with -# '--static' -macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp) - _pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN}) - _pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN}) -endmacro(_pkgconfig_invoke_dyn) - -# Splits given arguments into options and a package list -macro(_pkgconfig_parse_options _result _is_req) - set(${_is_req} 0) - - foreach(_pkg ${ARGN}) - if (_pkg STREQUAL "REQUIRED") - set(${_is_req} 1) - endif (_pkg STREQUAL "REQUIRED") - endforeach(_pkg ${ARGN}) - - set(${_result} ${ARGN}) - list(REMOVE_ITEM ${_result} "REQUIRED") -endmacro(_pkgconfig_parse_options) - -### -macro(_pkg_check_modules_internal _is_required _is_silent _prefix) - _pkgconfig_unset(${_prefix}_FOUND) - _pkgconfig_unset(${_prefix}_VERSION) - _pkgconfig_unset(${_prefix}_PREFIX) - _pkgconfig_unset(${_prefix}_INCLUDEDIR) - _pkgconfig_unset(${_prefix}_LIBDIR) - _pkgconfig_unset(${_prefix}_LIBS) - _pkgconfig_unset(${_prefix}_LIBS_L) - _pkgconfig_unset(${_prefix}_LIBS_PATHS) - _pkgconfig_unset(${_prefix}_LIBS_OTHER) - _pkgconfig_unset(${_prefix}_CFLAGS) - _pkgconfig_unset(${_prefix}_CFLAGS_I) - _pkgconfig_unset(${_prefix}_CFLAGS_OTHER) - _pkgconfig_unset(${_prefix}_STATIC_LIBDIR) - _pkgconfig_unset(${_prefix}_STATIC_LIBS) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_L) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS) - _pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I) - _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER) - - # create a better addressable variable of the modules and calculate its size - set(_pkg_check_modules_list ${ARGN}) - list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt) - - if(PKG_CONFIG_EXECUTABLE) - # give out status message telling checked module - if (NOT ${_is_silent}) - if (_pkg_check_modules_cnt EQUAL 1) - message(STATUS "checking for module '${_pkg_check_modules_list}'") - else(_pkg_check_modules_cnt EQUAL 1) - message(STATUS "checking for modules '${_pkg_check_modules_list}'") - endif(_pkg_check_modules_cnt EQUAL 1) - endif(NOT ${_is_silent}) - - set(_pkg_check_modules_packages) - set(_pkg_check_modules_failed) - - # iterate through module list and check whether they exist and match the required version - foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list}) - set(_pkg_check_modules_exist_query) - - # check whether version is given - if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}") - string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}") - else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}") - set(_pkg_check_modules_pkg_op) - set(_pkg_check_modules_pkg_ver) - endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*") - - # handle the operands - if (_pkg_check_modules_pkg_op STREQUAL ">=") - list(APPEND _pkg_check_modules_exist_query --atleast-version) - endif(_pkg_check_modules_pkg_op STREQUAL ">=") - - if (_pkg_check_modules_pkg_op STREQUAL "=") - list(APPEND _pkg_check_modules_exist_query --exact-version) - endif(_pkg_check_modules_pkg_op STREQUAL "=") - - if (_pkg_check_modules_pkg_op STREQUAL "<=") - list(APPEND _pkg_check_modules_exist_query --max-version) - endif(_pkg_check_modules_pkg_op STREQUAL "<=") - - # create the final query which is of the format: - # * --atleast-version - # * --exact-version - # * --max-version - # * --exists - if (_pkg_check_modules_pkg_op) - list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}") - else(_pkg_check_modules_pkg_op) - list(APPEND _pkg_check_modules_exist_query --exists) - endif(_pkg_check_modules_pkg_op) - - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR) - _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR) - - list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}") - list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}") - - # execute the query - execute_process( - COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query} - RESULT_VARIABLE _pkgconfig_retval) - - # evaluate result and tell failures - if (_pkgconfig_retval) - if(NOT ${_is_silent}) - message(STATUS " package '${_pkg_check_modules_pkg}' not found") - endif(NOT ${_is_silent}) - - set(_pkg_check_modules_failed 1) - endif(_pkgconfig_retval) - endforeach(_pkg_check_modules_pkg) - - if(_pkg_check_modules_failed) - # fail when requested - if (${_is_required}) - message(SEND_ERROR "A required package was not found") - endif (${_is_required}) - else(_pkg_check_modules_failed) - # when we are here, we checked whether requested modules - # exist. Now, go through them and set variables - - _pkgconfig_set(${_prefix}_FOUND 1) - list(LENGTH _pkg_check_modules_packages pkg_count) - - # iterate through all modules again and set individual variables - foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages}) - # handle case when there is only one package required - if (pkg_count EQUAL 1) - set(_pkg_check_prefix "${_prefix}") - else(pkg_count EQUAL 1) - set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}") - endif(pkg_count EQUAL 1) - - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir ) - _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir ) - - message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}") - endforeach(_pkg_check_modules_pkg) - - # set variables which are combined for multiple modules - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other ) - - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags ) - _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other ) - endif(_pkg_check_modules_failed) - else(PKG_CONFIG_EXECUTABLE) - if (${_is_required}) - message(SEND_ERROR "pkg-config tool not found") - endif (${_is_required}) - endif(PKG_CONFIG_EXECUTABLE) -endmacro(_pkg_check_modules_internal) - -### -### User visible macros start here -### - -### -macro(pkg_check_modules _prefix _module0) - # check cached value -# if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) - _pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN}) - _pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules}) - -# _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) -# endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) -endmacro(pkg_check_modules) - -### -macro(pkg_search_module _prefix _module0) - # check cached value -# if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) - set(_pkg_modules_found 0) - _pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN}) - - message(STATUS "checking for one of the modules '${_pkg_modules_alt}'") - - # iterate through all modules and stop at the first working one. - foreach(_pkg_alt ${_pkg_modules_alt}) - if(NOT _pkg_modules_found) - _pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}") - endif(NOT _pkg_modules_found) - - if (${_prefix}_FOUND) - set(_pkg_modules_found 1) - endif(${_prefix}_FOUND) - endforeach(_pkg_alt) - - if (NOT ${_prefix}_FOUND) - if(${_pkg_is_required}) - message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found") - endif(${_pkg_is_required}) - endif(NOT ${_prefix}_FOUND) - -# _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) -# endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION}) -endmacro(pkg_search_module) - -### Local Variables: -### mode: cmake -### End: diff -Nru httraqt-1.4.9/cmake/HTTRAQTGenerateDEF.cmake httraqt-1.4.11/cmake/HTTRAQTGenerateDEF.cmake --- httraqt-1.4.9/cmake/HTTRAQTGenerateDEF.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTGenerateDEF.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -MACRO(HTTRAQT_GENERATE_DEF_FILE TARGET_NAME) - IF(MSVC) - ADD_DEPENDENCIES(${TARGET_NAME} httraqt-gendef) - GET_TARGET_PROPERTY(gendef_EXE httraqt-gendef LOCATION) - ADD_CUSTOM_COMMAND(TARGET ${TARGET_NAME} - PRE_LINK - COMMAND ${gendef_EXE} $(IntDir)\\$(InputName).def $(TargetFileName) $(IntDir)\\*.obj) - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES LINK_FLAGS "/DEF:$(IntDir)\\$(InputName).def") - ENDIF(MSVC) -ENDMACRO(HTTRAQT_GENERATE_DEF_FILE) - diff -Nru httraqt-1.4.9/cmake/HTTRAQTOutOfSourceBuild.cmake httraqt-1.4.11/cmake/HTTRAQTOutOfSourceBuild.cmake --- httraqt-1.4.9/cmake/HTTRAQTOutOfSourceBuild.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTOutOfSourceBuild.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# Disallow in-source build -STRING(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" HTTRAQT_IN_SOURCE) -IF(HTTRAQT_IN_SOURCE) - MESSAGE(FATAL_ERROR "HTTraQt requires an out of source build. Please create a separate build directory and run 'cmake path_to_httraqt [options]' there.") -ENDIF(HTTRAQT_IN_SOURCE) - diff -Nru httraqt-1.4.9/cmake/HTTRAQTSystemConfiguration.cmake httraqt-1.4.11/cmake/HTTRAQTSystemConfiguration.cmake --- httraqt-1.4.9/cmake/HTTRAQTSystemConfiguration.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTSystemConfiguration.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -# Compiler configuration -IF(WIN32) - IF(MSVC) - SET(HTTRAQT_COMPILER_MSVC TRUE) - ELSE(MSVC) - SET(HTTRAQT_COMPILER_GCC TRUE) - ENDIF(MSVC) -ELSE(WIN32) - SET(HTTRAQT_COMPILER_GCC TRUE) -ENDIF(WIN32) - -# Win32 API configuration -IF(WIN32) - SET(HTTRAQT_API_WIN32 TRUE) -ENDIF(WIN32) - -# Darwin API configuration -IF(APPLE) - SET(HTTRAQT_API_DARWIN TRUE) - - EXECUTE_PROCESS( - COMMAND sw_vers -productVersion - OUTPUT_VARIABLE HTTRAQT_OSX_VERSION - ) - STRING(REGEX REPLACE "([0-9]*)[.]([0-9]*)[.]([0-9]*).*" "\\1" HTTRAQT_OSX_MAJOR_VERSION "${HTTRAQT_OSX_VERSION}") - STRING(REGEX REPLACE "([0-9]*)[.]([0-9]*)[.]([0-9]*).*" "\\2" HTTRAQT_OSX_MINOR_VERSION "${HTTRAQT_OSX_VERSION}") - -ENDIF(APPLE) - diff -Nru httraqt-1.4.9/cmake/HTTRAQTWordSize.cmake httraqt-1.4.11/cmake/HTTRAQTWordSize.cmake --- httraqt-1.4.9/cmake/HTTRAQTWordSize.cmake 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cmake/HTTRAQTWordSize.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -# Detect the word-size for the current platform ... -MESSAGE(STATUS "checking the width of int* for this platform") - -TRY_RUN( - HTTRAQT_PLATFORM_SIZE_TYPE - HTTRAQT_PLATFORM_SIZE_TYPE_COMPILE - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/configuration/size_type.cpp) - -MESSAGE(STATUS " int* is ${HTTRAQT_PLATFORM_SIZE_TYPE} bits") - -IF(HTTRAQT_PLATFORM_SIZE_TYPE EQUAL 32) - SET(HTTRAQT_UINT_T_32_BITS 1) -ELSEIF(HTTRAQT_PLATFORM_SIZE_TYPE EQUAL 64) - SET(HTTRAQT_UINT_T_64_BITS 1) -ELSE(HTTRAQT_PLATFORM_SIZE_TYPE EQUAL 32) - MESSAGE(SEND_ERROR "Error detecting platform word-size.") -ENDIF(HTTRAQT_PLATFORM_SIZE_TYPE EQUAL 32) - diff -Nru httraqt-1.4.9/cmake/OutOfSourceBuild.cmake httraqt-1.4.11/cmake/OutOfSourceBuild.cmake --- httraqt-1.4.9/cmake/OutOfSourceBuild.cmake 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/cmake/OutOfSourceBuild.cmake 2017-01-27 18:18:36.000000000 +0000 @@ -0,0 +1,6 @@ +# Disallow in-source build +STRING(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" HTTRAQT_IN_SOURCE) +IF(HTTRAQT_IN_SOURCE) + MESSAGE(FATAL_ERROR "HTTraQt requires an out of source build. Please create a separate build directory and run 'cmake path_to_httraqt [options]' there.") +ENDIF(HTTRAQT_IN_SOURCE) + diff -Nru httraqt-1.4.9/cmake/SystemConfiguration.cmake httraqt-1.4.11/cmake/SystemConfiguration.cmake --- httraqt-1.4.9/cmake/SystemConfiguration.cmake 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/cmake/SystemConfiguration.cmake 2017-01-27 18:18:36.000000000 +0000 @@ -0,0 +1,29 @@ +# Compiler configuration +IF(WIN32) + IF(MSVC) + SET(HTTRAQT_COMPILER_MSVC TRUE) + ELSE(MSVC) + SET(HTTRAQT_COMPILER_GCC TRUE) + ENDIF(MSVC) +ELSE(WIN32) + SET(HTTRAQT_COMPILER_GCC TRUE) +ENDIF(WIN32) + +# Win32 API configuration +IF(WIN32) + SET(HTTRAQT_API_WIN32 TRUE) +ENDIF(WIN32) + +# Darwin API configuration +IF(APPLE) + SET(HTTRAQT_API_DARWIN TRUE) + + EXECUTE_PROCESS( + COMMAND sw_vers -productVersion + OUTPUT_VARIABLE HTTRAQT_OSX_VERSION + ) + STRING(REGEX REPLACE "([0-9]*)[.]([0-9]*)[.]([0-9]*).*" "\\1" HTTRAQT_OSX_MAJOR_VERSION "${HTTRAQT_OSX_VERSION}") + STRING(REGEX REPLACE "([0-9]*)[.]([0-9]*)[.]([0-9]*).*" "\\2" HTTRAQT_OSX_MINOR_VERSION "${HTTRAQT_OSX_VERSION}") + +ENDIF(APPLE) + diff -Nru httraqt-1.4.9/CMakeLists.txt httraqt-1.4.11/CMakeLists.txt --- httraqt-1.4.9/CMakeLists.txt 2017-06-01 16:04:04.000000000 +0000 +++ httraqt-1.4.11/CMakeLists.txt 2023-01-06 18:21:03.000000000 +0000 @@ -1,22 +1,18 @@ PROJECT(httraqt) # Configure CMake ... -CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR) -CMAKE_POLICY(SET CMP0003 OLD) -CMAKE_POLICY(SET CMP0015 OLD) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) +#CMAKE_POLICY(SET CMP0003 OLD) +#CMAKE_POLICY(SET CMP0015 OLD) -# if you use the version 5, please change it to 5 -SET(USE_QT_VERSION 5) +# Qt versions to set: 4, 5, 6 +SET(USE_QT_VERSION 6) -MESSAGE("Qt version for compiling: " ${USE_QT_VERSION}) - -IF(NOT ${USE_QT_VERSION} MATCHES "4" AND NOT ${USE_QT_VERSION} MATCHES "5") - MESSAGE(FATAL_ERROR "-- Qt version must be set to 4 or 5!") -ENDIF() +MESSAGE(STATUS "Using of Qt version for compiling: ${USE_QT_VERSION}") OPTION (USE_DEBUGGER "Include in binary file debug information" OFF) -SET(USE_DEBUGGER false) +# SET(USE_DEBUGGER false) #enable or disable profiling info # SET(USE_PROFILER false) @@ -25,14 +21,13 @@ -IF(${USE_DEBUGGER}) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -Wall") +IF(USE_DEBUGGER) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -Wall") ELSE() - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_RELEASE} -Wall") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} -Wall") ENDIF() -MESSAGE(STATUS "CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}") - +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_DEPRECATED_WARNINGS") # INCLUDE(CPack) INCLUDE(CheckIncludeFile) @@ -47,11 +42,11 @@ SET(CURRENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) -INCLUDE(HTTRAQTOutOfSourceBuild) # Disallow in-source builds -INCLUDE(HTTRAQTGenerateDEF) # Convenience macro for linking Win32 DLLs using MSVC -INCLUDE(HTTRAQTDependencies) -INCLUDE(HTTRAQTWordSize) # Detect 32/64 bit platform -INCLUDE(HTTRAQTCompiler) # Detect problematic compilers +INCLUDE(OutOfSourceBuild) # Disallow in-source builds +INCLUDE(GenerateDEF) # Convenience macro for linking Win32 DLLs using MSVC +INCLUDE(Dependencies) +# INCLUDE(HTTRAQTWordSize) # Detect 32/64 bit platform +# INCLUDE(HTTRAQTCompiler) # Detect problematic compilers # Set the HTTraQt version #cat README | grep -E '^[0-9]+\.[0-9]+\.[0-9]+' | head -n 1 @@ -76,7 +71,7 @@ ENDIF() -set(APP_RESOURCES "${PROJECT_SOURCE_DIR}/sources/httraqt.qrc") +SET(APP_RESOURCES "${PROJECT_SOURCE_DIR}/sources/httraqt.qrc") MESSAGE("-- Version info: ${HTTRAQT_VERSION}") @@ -98,13 +93,19 @@ SET(HTTRAQT_PACKAGE httraqt) # SET(HTTRAQT_VERSION ${HTTRAQT_MAJOR_VERSION}.${HTTRAQT_MINOR_VERSION}.${HTTRAQT_RELEASE_VERSION}.${HTTRAQT_BUILD_VERSION}) SET(HTTRAQT_HOST ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_PROCESSOR}) -SET(HTTRAQT_COPYRIGHT "Copyright (c) 2012-2017, Eduard Kalinowski. All Rights Reserved.") +SET(HTTRAQT_COPYRIGHT "Copyright (c) 2012-2023, Eduard Kalinowski. All Rights Reserved.") SET(HTTRAQT_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-rtti") +IF(${USE_QT_VERSION} MATCHES "4" OR ${USE_QT_VERSION} MATCHES "5") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-rtti") +ENDIF() + +IF(${USE_QT_VERSION} MATCHES "6") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -fno-exceptions -fno-rtti") +ENDIF() # options for gprof -IF(${USE_PROFILER}) +IF(USE_PROFILER) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg") SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") @@ -115,13 +116,14 @@ MESSAGE(STATUS "Compile without profiling information") ENDIF() +MESSAGE(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") # Setup high-level build options IF(WIN32 AND MSVC) SET(HTTRAQT_ENABLE_SYMBOL_VISIBILITY_DEFAULT ON) -ELSE(WIN32 AND MSVC) +ELSE() SET(HTTRAQT_ENABLE_SYMBOL_VISIBILITY_DEFAULT OFF) -ENDIF(WIN32 AND MSVC) +ENDIF() IF(${USE_QT_VERSION} MATCHES "4") @@ -132,21 +134,34 @@ MESSAGE(FATAL_ERROR "Qt4 could not be found. " "If it's INSTALLed in a non-standard location, specify the path to qmake in QT_QMAKE_EXECUTABLE. " "You can do it in interactive mode (ccmake instead of cmake) or using -DVAR=VAL syntax.") - ENDIF(NOT QT4_FOUND) -ELSE() - FIND_PACKAGE (Qt5Widgets) - FIND_PACKAGE (Qt5Multimedia) - FIND_PACKAGE (Qt5DBus) + ENDIF() +ENDIF() + +IF(${USE_QT_VERSION} MATCHES "5") + FIND_PACKAGE (Qt5 REQUIRED COMPONENTS Widgets) + FIND_PACKAGE (Qt5 REQUIRED COMPONENTS Multimedia) + FIND_PACKAGE (Qt5 REQUIRED COMPONENTS DBus) IF(NOT Qt5Widgets_FOUND) MESSAGE(FATAL_ERROR "Qt5 could not be found. " "If it's INSTALLed in a non-standard location, specify the path to qmake in QT_QMAKE_EXECUTABLE. " "You can do it in interactive mode (ccmake instead of cmake) or using -DVAR=VAL syntax.") - ENDIF(NOT Qt5Widgets_FOUND) + ENDIF() ENDIF() +IF(${USE_QT_VERSION} MATCHES "6") + FIND_PACKAGE (Qt6 REQUIRED COMPONENTS Widgets) + FIND_PACKAGE (Qt6 REQUIRED COMPONENTS Multimedia) + FIND_PACKAGE (Qt6 REQUIRED COMPONENTS DBus) -INCLUDE(HTTRAQTFindHttrack) + IF(NOT Qt6Widgets_FOUND) + MESSAGE(FATAL_ERROR "Qt6 could not be found. " + "If it's INSTALLed in a non-standard location, specify the path to qmake in QT_QMAKE_EXECUTABLE. " + "You can do it in interactive mode (ccmake instead of cmake) or using -DVAR=VAL syntax.") + ENDIF() +ENDIF() + +INCLUDE(FindHttrack) SET( HTTRACK_INCLUDES_DIR "" ) @@ -157,12 +172,16 @@ MESSAGE(STATUS "QT_INCLUDES ${QT_INCLUDES}") # LINK_DIRECTORIES(${QT_LIBRARY_DIR}) MESSAGE(STATUS "QT_LIBRARY_DIR ${QT_LIBRARY_DIR}") -ELSE() +ENDIF() + +IF(${USE_QT_VERSION} MATCHES "5") INCLUDE_DIRECTORIES(${Qt5Widgets_INCLUDE_DIRS}, ${Qt5Multimedia_INCLUDE_DIRS}, ${Qt5DBus_INCLUDE_DIRS}) MESSAGE(STATUS "QT_INCLUDES ${Qt5Widgets_INCLUDE_DIRS}, ${Qt5Multimedia_INCLUDE_DIRS}, ${Qt5DBus_INCLUDE_DIRS}") -# LINK_DIRECTORIES(${Qt5Core_LIBRARIES}, ${Qt5Multimedia_LIBRARIES}, ${Qt5DBus_LIBRARIES}, ${Qt5Widgets_LIBRARIES}) -# MESSAGE(STATUS "QT_LIBRARY_DIR ${Qt5Core_LIBRARIES}, ${Qt5Multimedia_LIBRARIES}, ${Qt5DBus_LIBRARIES}, ${Qt5Widgets_LIBRARIES}") -# SET(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") +ENDIF() + +IF(${USE_QT_VERSION} MATCHES "6") + INCLUDE_DIRECTORIES(${Qt6Widgets_INCLUDE_DIRS}, ${Qt6Multimedia_INCLUDE_DIRS}, ${Qt6DBus_INCLUDE_DIRS}) + MESSAGE(STATUS "QT_INCLUDES ${Qt6Widgets_INCLUDE_DIRS}, ${Qt6Multimedia_INCLUDE_DIRS}, ${Qt6DBus_INCLUDE_DIRS}") ENDIF() SET ( OBJECTS_DIR temp ) @@ -177,20 +196,28 @@ #ADD_SUBDIRECTORY(sources/icons) -INCLUDE_DIRECTORIES( ${HTTRACK_INCLUDES_DIR} ${CMAKE_SOURCE_DIR} $(CMAKE_CURRENT_SOURCE_DIR)/sources/options/includes $(CMAKE_CURRENT_SOURCE_DIR)/sources/main/includes ) +INCLUDE_DIRECTORIES( ${HTTRACK_INCLUDES_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/sources/options/includes ${CMAKE_CURRENT_SOURCE_DIR}/sources/main/includes ) IF(${USE_QT_VERSION} MATCHES "4") #QT4_WRAP_CPP(APP_HEADERS_MOC ${HTTRACK_HEADERS} ${MAIN_HEADERS} ${OPT_HEADERS} ) QT4_WRAP_CPP(APP_HEADERS_MOC ${MAIN_HEADERS} ${OPT_HEADERS} ) QT4_WRAP_UI(APP_FORMS_HEADERS ${MAIN_FORMS} ${OPT_FORMS}) QT4_ADD_RESOURCES(APP_RESOURCES_RCC ${APP_RESOURCES}) -ELSE() +ENDIF() + +IF(${USE_QT_VERSION} MATCHES "5") #QT5_WRAP_CPP(APP_HEADERS_MOC ${HTTRACK_HEADERS} ${MAIN_HEADERS} ${OPT_HEADERS} ) QT5_WRAP_CPP(APP_HEADERS_MOC ${MAIN_HEADERS} ${OPT_HEADERS} ) QT5_WRAP_UI(APP_FORMS_HEADERS ${MAIN_FORMS} ${OPT_FORMS}) QT5_ADD_RESOURCES(APP_RESOURCES_RCC ${APP_RESOURCES}) ENDIF() +IF(${USE_QT_VERSION} MATCHES "6") + #QT5_WRAP_CPP(APP_HEADERS_MOC ${HTTRACK_HEADERS} ${MAIN_HEADERS} ${OPT_HEADERS} ) + QT6_WRAP_CPP(APP_HEADERS_MOC ${MAIN_HEADERS} ${OPT_HEADERS} ) + QT6_WRAP_UI(APP_FORMS_HEADERS ${MAIN_FORMS} ${OPT_FORMS}) + QT6_ADD_RESOURCES(APP_RESOURCES_RCC ${APP_RESOURCES}) +ENDIF() INCLUDE_DIRECTORIES( ${HTTRACK_INCLUDES_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) @@ -208,10 +235,16 @@ IF(${USE_QT_VERSION} MATCHES "4") INCLUDE(${QT_USE_FILE}) ADD_DEFINITIONS(${QT_DEFINITIONS} -DQT_PROJECT -DNO_QT3SUPPORT -DDISABLE_QT3SUPPORT) -ELSE() +ENDIF() + +IF(${USE_QT_VERSION} MATCHES "5") ADD_DEFINITIONS( ${Qt5Widgets_DEFINITIONS}) ENDIF() +IF(${USE_QT_VERSION} MATCHES "6") + ADD_DEFINITIONS( ${Qt6Widgets_DEFINITIONS}) +ENDIF() + ADD_EXECUTABLE(${CMAKE_PROJECT_NAME} ${APP_SOURCES} ${MAIN_SOURCES} @@ -224,10 +257,16 @@ IF(${USE_QT_VERSION} MATCHES "4") TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} ${QT_LIBRARIES} httrack) -ELSE() +ENDIF() + +IF(${USE_QT_VERSION} MATCHES "5") TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} ${Qt5Widgets_LIBRARIES} ${Qt5DBus_LIBRARIES} httrack) ENDIF() +IF(${USE_QT_VERSION} MATCHES "6") + TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME} ${Qt6Widgets_LIBRARIES} ${Qt6DBus_LIBRARIES} httrack) +ENDIF() + ADD_CUSTOM_TARGET (tags COMMAND ctags -R -f tags ${CMAKE_SOURCE_DIR}/sources/main ${CMAKE_SOURCE_DIR}/sources/options WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} @@ -242,19 +281,19 @@ SET(HTTRAQT_BUILD_GLX_MODULE_DEFAULT OFF) SET(HTTRAQT_BUILD_OSX_MODULE_DEFAULT OFF) SET(HTTRAQT_BUILD_VIRTUAL_OFFSCREEN_MODULE_DEFAULT OFF) -ENDIF(WIN32) +ENDIF() IF(UNIX AND NOT APPLE) SET(HTTRAQT_BUILD_GLX_MODULE_DEFAULT OFF) SET(HTTRAQT_BUILD_OSX_MODULE_DEFAULT OFF) SET(HTTRAQT_BUILD_VIRTUAL_OFFSCREEN_MODULE_DEFAULT OFF) -ENDIF(UNIX AND NOT APPLE) +ENDIF() IF(APPLE) SET(HTTRAQT_BUILD_GLX_MODULE_DEFAULT OFF) SET(HTTRAQT_BUILD_OSX_MODULE_DEFAULT ON) SET(HTTRAQT_BUILD_VIRTUAL_OFFSCREEN_MODULE_DEFAULT OFF) -ENDIF(APPLE) +ENDIF() OPTION(HTTRAQT_ENABLE_SYMBOL_VISIBILITY "Minimize the number of symbols exported from shared libraries." ${HTTRAQT_ENABLE_SYMBOL_VISIBILITY_DEFAULT}) @@ -274,15 +313,15 @@ # HTTRAQT_CHECK_OPTIONAL_DEPENDENCY(HTTRAQT_BUILD_3DS_IO_MODULE HTTRAQT_3DS_FOUND "lib3ds") # Capture system configuration -INCLUDE(HTTRAQTSystemConfiguration) +INCLUDE(SystemConfiguration) # Win32 configuration IF(WIN32) IF(NOT MSVC) SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-runtime-pseudo-reloc" CACHE STRING "" FORCE) SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-runtime-pseudo-reloc -Wl,--export-all-symbols" CACHE STRING "" FORCE) - ENDIF(NOT MSVC) -ENDIF(WIN32) + ENDIF() +ENDIF() # Setup output directories ... SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${HTTRAQT_BINARY_DIR}/bin) @@ -290,9 +329,9 @@ SET(HTTRAQT_LIBDIR lib) # Allows us to handle 64-bit libs if/when it becomes necessary. IF(WIN32) SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${HTTRAQT_BINARY_DIR}/bin) -ELSE(WIN32) +ELSE() SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${HTTRAQT_BINARY_DIR}/${HTTRAQT_LIBDIR}) -ENDIF(WIN32) +ENDIF() # Setup a macro for compiling resources ... MACRO(HTTRAQT_COMPILE_RESOURCE OUTPUT INPUT RESOURCE_PATH) diff -Nru httraqt-1.4.9/configuration/size_type.cpp httraqt-1.4.11/configuration/size_type.cpp --- httraqt-1.4.9/configuration/size_type.cpp 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/configuration/size_type.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -// #include - -int main(int argc, char* argv[]) -{ - return sizeof(int*) * 8; -} - diff -Nru httraqt-1.4.9/cppcheck.sh httraqt-1.4.11/cppcheck.sh --- httraqt-1.4.9/cppcheck.sh 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/cppcheck.sh 2017-09-06 16:35:10.000000000 +0000 @@ -8,8 +8,8 @@ exit 0 fi -COUNT=$(cat /proc/cpuinfo | grep 'model name' | sed -e 's/.*: //' | wc -l) +COUNT=$(nproc --all) echo "number of detected CPUs =" $COUNT #cppcheck -j $COUNT --force --inline-suppr --enable=warning . 2>errors.txt -cppcheck -j $COUNT --force --enable=style . 2>cppreport.txt \ No newline at end of file +cppcheck -j $COUNT --force --enable=style . 2>cppreport.txt diff -Nru httraqt-1.4.9/create_deb_package.sh httraqt-1.4.11/create_deb_package.sh --- httraqt-1.4.9/create_deb_package.sh 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/create_deb_package.sh 2017-09-06 16:30:37.000000000 +0000 @@ -0,0 +1,39 @@ +#!/bin/bash + +CMD=$(type -p cmake) + +if [ ! -x "$CMD" ]; then + # not found exit + echo "please install cmake and restart this script" + exit 1 +fi + +CMD=$(type -p dh) + +if [ ! -x "$CMD" ]; then + # not found exit + echo "please install debhelper and restart this script" + exit 1 +fi + + +CPU_NUM=$(nproc --all) +echo "cpu cores: $CPU_NUM" + +DIRECTORY="build-deb" + +if [ ! -d "$DIRECTORY" ]; then + # Control will enter here if $DIRECTORY exists. + mkdir "$DIRECTORY" +fi + +# because of removing of all files in directory +if [ -d "$DIRECTORY" ]; then + cd "$DIRECTORY" + rm * -rf + cmake -DUSE_DEBUGGER=OFF .. + make -j$CPU_NUM + make package-binary-deb + cd .. + mv ./$DIRECTORY/httra*.deb . +fi diff -Nru httraqt-1.4.9/create_elf_binary.sh httraqt-1.4.11/create_elf_binary.sh --- httraqt-1.4.9/create_elf_binary.sh 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/create_elf_binary.sh 2017-10-06 19:30:31.000000000 +0000 @@ -0,0 +1,30 @@ +#!/bin/bash + +CMD=$(type -p cmake) + +if [ ! -x "$CMD" ]; then + # not found exit + echo "please install cmake and restart this script" + exit 1 +fi + +CPU_NUM=$(nproc --all) +echo "cpu cores: $CPU_NUM" + +DIRECTORY="build" + +if [ ! -d "$DIRECTORY" ]; then + # Control will enter here if $DIRECTORY exists. + mkdir "$DIRECTORY" +fi + +# because of removing of all files in directory +if [ -d "$DIRECTORY" ]; then + cd "$DIRECTORY" + rm * -rf + # options: USE_PROFILER, USE_DEBUGGER, USE_QT5 + cmake -DUSE_DEBUGGER=ON -DUSE_PROFILER=OFF .. + make -j$CPU_NUM + cd .. + cp ./$DIRECTORY/httraqt . +fi diff -Nru httraqt-1.4.9/create_rpm_package.sh httraqt-1.4.11/create_rpm_package.sh --- httraqt-1.4.9/create_rpm_package.sh 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/create_rpm_package.sh 2017-09-06 16:31:16.000000000 +0000 @@ -0,0 +1,40 @@ +#!/bin/bash + +CMD=$(type -p cmake) + +if [ ! -x "$CMD" ]; then + # not found exit + echo "please install cmake and restart this script" + exit 1 +fi + +CMD=$(type -p rpmbuild) + +if [ ! -x "$CMD" ]; then + # not found exit + echo "please install rpmbuild and restart this script" + exit 1 +fi + + +CPU_NUM=$(nproc --all) +echo "cpu cores: $CPU_NUM" + +DIRECTORY="build-rpm" + +if [ ! -d "$DIRECTORY" ]; then + # Control will enter here if $DIRECTORY exists. + mkdir "$DIRECTORY" +fi + +# because of removing of all files in directory +if [ -d "$DIRECTORY" ]; then + cd "$DIRECTORY" + rm * -rf + cmake -DUSE_DEBUGGER=OFF .. + make -j$CPU_NUM + make package-binary-rpm + cd .. + mv ./$DIRECTORY/httra*.rpm . +fi + diff -Nru httraqt-1.4.9/debian/changelog httraqt-1.4.11/debian/changelog --- httraqt-1.4.9/debian/changelog 2021-07-10 20:16:58.000000000 +0000 +++ httraqt-1.4.11/debian/changelog 2023-01-31 06:50:23.000000000 +0000 @@ -1,3 +1,16 @@ +httraqt (1.4.11-1) unstable; urgency=medium + + * [0616b86] New upstream version 1.4.11. (Closes: #1020677) + * [9bd1e36] Refresh patches. + * [afc5a94] Update watch file format version to 4. + * [b48f362] Use secure URI in Homepage field. + * [bb713de] Update standards version to 4.6.1, no changes needed. + * [c0b3ad1] Switch to QT6. + * [3314f70] Drop doc-base file + * [999eeed] Override false positive lintian error + + -- Anton Gladky Tue, 31 Jan 2023 07:50:23 +0100 + httraqt (1.4.9-5) unstable; urgency=medium * Install doc-files in /usr/share/httraqt. (Closes: #990895) diff -Nru httraqt-1.4.9/debian/control httraqt-1.4.11/debian/control --- httraqt-1.4.9/debian/control 2020-06-28 20:50:58.000000000 +0000 +++ httraqt-1.4.11/debian/control 2023-01-30 21:29:32.000000000 +0000 @@ -6,14 +6,13 @@ Build-Depends: cmake, debhelper-compat (= 13), libhttrack-dev, - qtbase5-dev, - qtbase5-dev-tools, - qtmultimedia5-dev, + qt6-base-dev, + qt6-multimedia-dev, libssl-dev -Standards-Version: 4.5.0 +Standards-Version: 4.6.1 Vcs-Browser: https://salsa.debian.org/debian/httraqt Vcs-Git: https://salsa.debian.org/debian/httraqt.git -Homepage: http://httraqt.sourceforge.net/ +Homepage: https://httraqt.sourceforge.net/ Package: httraqt Architecture: any diff -Nru httraqt-1.4.9/debian/httraqt.doc-base httraqt-1.4.11/debian/httraqt.doc-base --- httraqt-1.4.9/debian/httraqt.doc-base 2021-07-10 20:16:58.000000000 +0000 +++ httraqt-1.4.11/debian/httraqt.doc-base 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -Document: httraqt-documentation -Title: HTTrack overview and features -Author: Xavier Roche & other contributors -Section: Network/Web Browsing - -Format: HTML -Index: /usr/share/httraqt/help/index.html -Files: /usr/share/httraqt/help/*.* diff -Nru httraqt-1.4.9/debian/patches/10_reproducible_build.patch httraqt-1.4.11/debian/patches/10_reproducible_build.patch --- httraqt-1.4.9/debian/patches/10_reproducible_build.patch 2017-01-20 19:14:59.000000000 +0000 +++ httraqt-1.4.11/debian/patches/10_reproducible_build.patch 2023-01-30 21:28:07.000000000 +0000 @@ -2,9 +2,11 @@ Author: Anton Gladky Last-Update: 2017-07-18 ---- httraqt-1.4.9.orig/CMakeLists.txt -+++ httraqt-1.4.9/CMakeLists.txt -@@ -82,12 +82,6 @@ set(APP_RESOURCES "${PROJECT_SOURCE_DIR +Index: httraqt/CMakeLists.txt +=================================================================== +--- httraqt.orig/CMakeLists.txt ++++ httraqt/CMakeLists.txt +@@ -77,12 +77,6 @@ SET(APP_RESOURCES "${PROJECT_SOURCE_DIR MESSAGE("-- Version info: ${HTTRAQT_VERSION}") SET(VERSION ${HTTRAQT_VERSION}) @@ -17,30 +19,3 @@ MESSAGE("-- Version build date: ${BUILD_DATE}") configure_file ( ---- /dev/null -+++ httraqt-1.4.9/CMakeLists.txt.rej -@@ -0,0 +1,24 @@ -+--- CMakeLists.txt -++++ CMakeLists.txt -+@@ -6,7 +6,7 @@ CMAKE_POLICY(SET CMP0003 OLD) -+ CMAKE_POLICY(SET CMP0015 OLD) -+ -+ # if you use the version 5, please change it to 5 -+-SET(USE_QT_VERSION 4) -++SET(USE_QT_VERSION 5) -+ -+ MESSAGE("Qt version for compiling: " ${USE_QT_VERSION}) -+ -+@@ -62,12 +62,6 @@ set(APP_RESOURCES "${PROJECT_SOURCE_DIR -+ MESSAGE("-- Version info: ${HTTRAQT_VERSION}") -+ SET(VERSION ${HTTRAQT_VERSION}) -+ -+-EXECUTE_PROCESS ( -+- COMMAND date +"%d %b %Y" -+- COMMAND sed -e "s/\"//g" -+- OUTPUT_VARIABLE BUILD_DATE -+- OUTPUT_STRIP_TRAILING_WHITESPACE) -+- -+ MESSAGE("-- Version build date: ${BUILD_DATE}") -+ -+ configure_file ( diff -Nru httraqt-1.4.9/debian/patches/20_cross.patch httraqt-1.4.11/debian/patches/20_cross.patch --- httraqt-1.4.9/debian/patches/20_cross.patch 2020-05-05 20:02:39.000000000 +0000 +++ httraqt-1.4.11/debian/patches/20_cross.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -Description: Fix FTCBFS -Author: Helmut Grohne -Reviewed-By: Anton Gladky -Last-Update: 2020-05-05 - -Index: httraqt/cmake/HTTRAQTWordSize.cmake -=================================================================== ---- httraqt.orig/cmake/HTTRAQTWordSize.cmake -+++ httraqt/cmake/HTTRAQTWordSize.cmake -@@ -1,11 +1,10 @@ -+include(CheckTypeSize) -+ - # Detect the word-size for the current platform ... - MESSAGE(STATUS "checking the width of int* for this platform") - --TRY_RUN( -- HTTRAQT_PLATFORM_SIZE_TYPE -- HTTRAQT_PLATFORM_SIZE_TYPE_COMPILE -- ${CMAKE_CURRENT_BINARY_DIR} -- ${CMAKE_CURRENT_SOURCE_DIR}/configuration/size_type.cpp) -+check_type_size("int *" HTTRAQT_INT_PTR BUILTIN_TYPES_ONLY) -+MATH(EXPR HTTRAQT_PLATFORM_SIZE_TYPE "8*${HTTRAQT_INT_PTR}") - - MESSAGE(STATUS " int* is ${HTTRAQT_PLATFORM_SIZE_TYPE} bits") - -Index: httraqt/configuration/size_type.cpp -=================================================================== ---- httraqt.orig/configuration/size_type.cpp -+++ /dev/null -@@ -1,7 +0,0 @@ --// #include -- --int main(int argc, char* argv[]) --{ -- return sizeof(int*) * 8; --} -- diff -Nru httraqt-1.4.9/debian/patches/series httraqt-1.4.11/debian/patches/series --- httraqt-1.4.9/debian/patches/series 2021-07-10 20:16:58.000000000 +0000 +++ httraqt-1.4.11/debian/patches/series 2023-01-30 20:45:34.000000000 +0000 @@ -1,2 +1 @@ 10_reproducible_build.patch -20_cross.patch diff -Nru httraqt-1.4.9/debian/source/lintian-overrides httraqt-1.4.11/debian/source/lintian-overrides --- httraqt-1.4.9/debian/source/lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ httraqt-1.4.11/debian/source/lintian-overrides 2023-01-31 06:30:00.000000000 +0000 @@ -0,0 +1 @@ +httraqt source: source-is-missing diff -Nru httraqt-1.4.9/debian/watch httraqt-1.4.11/debian/watch --- httraqt-1.4.9/debian/watch 2020-05-04 05:16:01.000000000 +0000 +++ httraqt-1.4.11/debian/watch 2023-01-30 21:14:13.000000000 +0000 @@ -1,2 +1,2 @@ -version=3 -https://sf.net/httraqt/httraqt-(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz)) debian uupdate +version=4 +https://sf.net/httraqt httraqt-(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz)) debian uupdate diff -Nru httraqt-1.4.9/help/abuse.html httraqt-1.4.11/help/abuse.html --- httraqt-1.4.9/help/abuse.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/abuse.html 2017-09-06 14:39:19.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - + - +
HTTrack Website CopierHTTrack Website Copier
diff -Nru httraqt-1.4.9/help/addurl.html httraqt-1.4.11/help/addurl.html --- httraqt-1.4.9/help/addurl.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/addurl.html 2017-09-06 14:39:28.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
- +
HTTrack Website CopierHTTrack Website Copier
@@ -106,15 +38,15 @@
  1. Enter a typical Web address

  2. Just type in your address in the field

    -
    +


    OR

  3. Enter a Web address with authentication

  4. Useful when you need basic authentication to watch the Web page

    -
    +


    OR

  5. Capture a link from your Web browser to HTTrack

  6. Use this tool only for form-based pages (pages delivered after submiting a form) that need some analysis

    -
    +


    Set, as explained, your Web browser proxy preferences to the values indicated : set the proxy's address, and the proxy's port, @@ -123,9 +55,9 @@ capture the link and display a confirmation page.

    -
    +

    -
    +




diff -Nru httraqt-1.4.9/help/cache.html httraqt-1.4.11/help/cache.html --- httraqt-1.4.9/help/cache.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/cache.html 2017-09-06 14:39:36.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Cache format specification - +
- +
HTTrack Website CopierHTTrack Website Copier
@@ -145,9 +77,9 @@ -------- ---- ---- ---- 94 07-18-03 08:59 http://www.httrack.com/robots.txt 9866 01-17-04 01:09 http://www.httrack.com/html/cache.html - 0 05-11-03 13:31 http://www.httrack.com/html/images/bg_rings.gif - 207 01-19-04 05:49 http://www.httrack.com/html/fade.gif - 0 05-11-03 13:31 http://www.httrack.com/html/images/header_title_4.gif + 0 05-11-03 13:31 http://www.httrack.com/html/images/bg_rings.png + 207 01-19-04 05:49 http://www.httrack.com/html/fade.png + 0 05-11-03 13:31 http://www.httrack.com/html/images/header_title_4.png -------- ------- 10167 5 files diff -Nru httraqt-1.4.9/help/cmddoc.html httraqt-1.4.11/help/cmddoc.html --- httraqt-1.4.9/help/cmddoc.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/cmddoc.html 2017-09-06 14:39:47.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
- +
HTTrack Website CopierHTTrack Website Copier
diff -Nru httraqt-1.4.9/help/contact.html httraqt-1.4.11/help/contact.html --- httraqt-1.4.9/help/contact.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/contact.html 2017-09-06 14:40:00.000000000 +0000 @@ -17,81 +17,13 @@ // --> - +
- +
HTTrack Website CopierHTTrack Website Copier
diff -Nru httraqt-1.4.9/help/dev.html httraqt-1.4.11/help/dev.html --- httraqt-1.4.9/help/dev.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/dev.html 2017-09-06 14:40:10.000000000 +0000 @@ -6,81 +6,12 @@ HTTrack Website Copier - Offline Browser - - +
- +
HTTrack Website CopierHTTrack Website Copier
diff -Nru httraqt-1.4.9/help/faq.html httraqt-1.4.11/help/faq.html --- httraqt-1.4.9/help/faq.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/faq.html 2017-09-06 14:40:16.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
- +
HTTrack Website CopierHTTrack Website Copier
@@ -572,7 +504,7 @@ A: By default, HTTrack tries to know the type of remote files. This is useful when links like http://www.someweb.com/foo.cgi?id=1 can be either HTML pages, images or anything else. Locally, foo.cgi will not be recognized as an html page, or as an image, by your browser. HTTrack has to rename the file -as foo.html or foo.gif so that it can be viewed.
+as foo.html or foo.png so that it can be viewed.

@@ -633,7 +565,7 @@

  • Dynamic pages. Links with names terminated by .php3, .asp or other type which are different from the regular .html or .htm will require a supplemental request, too. HTTrack has to "know" the type (called "MIME type") of a file -before forming the destination filename. Files like foo.gif are "known" to be images, ".html" are obviously HTML pages - but ".php3" +before forming the destination filename. Files like foo.png are "known" to be images, ".html" are obviously HTML pages - but ".php3" pages may be either dynamically generated html pages, images, data files...

    If you KNOW that ALL ".php3" and ".asp" pages are in fact HTML pages on a mirror, use the assume option:
    @@ -756,13 +688,13 @@
    Q: I don't want to load gif files.. but what may happen if I watch the page?
    -A: If you have filtered gif files (-*.gif), links to gif files will be +A: If you have filtered gif files (-*.png), links to gif files will be rebuilt so that your browser can find them on the server.

    Q: I don't want to download thumbnail images.. is it possible?
    A: Filters can not be used with image pixel size ; but you can filter on file size (bytes). Use advanced
    filters for that ; such as:
    --*.gif*[<10] to exclude gif files smaller than 10KiB. +-*.png*[<10] to exclude gif files smaller than 10KiB.


    Q: I get all types of files on a web site, but I didn't select @@ -770,7 +702,7 @@ A: By default, HTTrack retrieves all types of files on authorized links. To avoid that, define filters like -* +<website>/*.html +<website>/*.htm +<website>/ +*.<type wanted>
    -Example: httrack www.someweb.com/index.html -* +www.someweb.com/*.htm* +www.someweb.com/*.gif +www.someweb.com/*.jpg
    +Example: httrack www.someweb.com/index.html -* +www.someweb.com/*.htm* +www.someweb.com/*.png +www.someweb.com/*.jpg

    Q: When I use filters, I get too many files!
    A: You might use too large a filter, for example *.html will get ALL html diff -Nru httraqt-1.4.9/help/fcguide.html httraqt-1.4.11/help/fcguide.html --- httraqt-1.4.9/help/fcguide.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/fcguide.html 2017-09-06 14:40:22.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
  • - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -288,7 +220,7 @@ %H debug HTTP headers in logfile (--debug-headers) Guru options: (do NOT use) - #0 Filter test (-#0 '*.gif' 'www.bar.com/foo.gif') + #0 Filter test (-#0 '*.png' 'www.bar.com/foo.png') #f Always flush log files #FN Maximum number of filters #h Version info @@ -329,7 +261,7 @@ N1099 Identical to N99 exept that there is no "web" directory Details: User-defined option N %n Name of file without file type (ex: image) (--do-not-recatch) - %N Name of file, including file type (ex: image.gif) + %N Name of file, including file type (ex: image.png) %t File type (ex: gif) %p Path [without ending /] (ex: /someimages) %h Host name (ex: www.someweb.com) (--http-10) @@ -928,14 +860,14 @@ followed and what links are not as well as to provide long lists of links to investigate. Any setting other than the default for this option forces the engine to use less reliable and more complex parsing. -'Dirty' parsing means that links like 'xsgfd syaze="foo.gif"' will cause -HTTrack to download foo.gif, even if HTTrack don't know what the "xsgfd +'Dirty' parsing means that links like 'xsgfd syaze="foo.png"' will cause +HTTrack to download foo.png, even if HTTrack don't know what the "xsgfd syaze=" tag actually means! This option is powerful because some links might otherwise be missed, but it can cause errors in HTML or javascript.

    This will direct the program to NOT search Javascript for unknown tag fields (e.g., it will find things like -foo.location="bar.html"; but will not find things like bar="foo.gif";). +foo.location="bar.html"; but will not find things like bar="foo.png";). While I have never had a reason to use this, some users may decide that they want to be more conservative in their searches. As a note, javascript imported files (.js) are not currently searched for URLs. @@ -1047,7 +979,7 @@

       %n      Name of file without file type (ex: image)
      -%N      Name of file, including file type (ex: image.gif)
      +%N      Name of file, including file type (ex: image.png)
       %t      File type (ex: gif)
       %p      Path [without ending /] (ex: /someimages)
       %h      Host name (ex: www.all.net)
      @@ -1250,7 +1182,7 @@
       
       

      Some servers give responses not strictly within the requirements of the official http protocol. These 'Bogus' responses can -be accepted by using this option. For example, when requesting foo.gif +be accepted by using this option. For example, when requesting foo.png (5132 bytes), the server can, optionally, add:

       Content-length: 5132
      @@ -1707,14 +1639,14 @@
       written above!
       
       
      - #0  Filter test (-#0 '*.gif' 'www.bar.com/foo.gif')
      + #0  Filter test (-#0 '*.png' 'www.bar.com/foo.png')
       

      To test the filter system. Example:

      -$ httrack -#0 'www.*.com/*foo*bar.gif' 'www.mysite.com/test/foo4bar.gif'
      -www.mysite.com/test/foo4bar.gif does match www.*.com/*foo*bar.gif
      +$ httrack -#0 'www.*.com/*foo*bar.png' 'www.mysite.com/test/foo4bar.png'
      +www.mysite.com/test/foo4bar.png does match www.*.com/*foo*bar.png
       
      @@ -1976,12 +1908,12 @@
       
           
    @@ -2072,7 +2004,7 @@ will not match this filter) - +
    - +*.gif -image*.gif + +*.png -image*.png - Will accept all gif files BUT image1.gif,imageblue.gif,imagery.gif and so on + Will accept all gif files BUT image1.png,imageblue.png,imagery.png and so on
    - -image*.gif +*.gif + -image*.png +*.png Will accept all gif files, because the second pattern is prioritary (because it is defined AFTER the first one)
    -*.gif*[> 5] -*.zip +*.zip*[< 10] -*.png*[> 5] -*.zip +*.zip*[< 10] refuse all gif files smaller than 5KB, exlude all zip files, EXCEPT zip files smaller than 10KB
    @@ -2138,7 +2070,7 @@ set sockets=8 set index on retries=2 -allow *.gif +allow *.png deny ad.doubleclick.net/* @@ -2152,7 +2084,7 @@ sockets=8 index=1 retries=2 -allow=*.gif +allow=*.png deny=ad.doubleclick.net/* @@ -2161,14 +2093,14 @@ one filter) the following .httrackrc:
      
      -allow *.gif
      +allow *.png
       allow *.jpg
       

    looks better for a human than:

      
      -allow=*.gif
      +allow=*.png
       allow=*.jpg
       
    @@ -2177,10 +2109,10 @@
      
       $ httrack ghost
       $ cat hts-cache/doit.log
      --c8 -C1 -R2 +*.gif -ad.doubleclick.net/* ghost
      +-c8 -C1 -R2 +*.png -ad.doubleclick.net/* ghost
       
    -

    The "-c8 -C1 -R2 +*.gif -ad.doubleclick.net/*" was +

    The "-c8 -C1 -R2 +*.png -ad.doubleclick.net/*" was added by the .httrackrc


    @@ -2197,24 +2129,24 @@

    Note for the -N option: "%h%p/%n%q.%t" will be now be used if possible. In normal cases, when a file does not have any -parameters (www.foo.com/bar.gif) the %q option does not add anything, so +parameters (www.foo.com/bar.png) the %q option does not add anything, so there are no differences in file names. But when parameters are present -(for example, www.foo.com/bar.cgi?FileCollection=133.gif), the -additionnal query string (in this case, FileCollection=133.gif) will be +(for example, www.foo.com/bar.cgi?FileCollection=133.png), the +additionnal query string (in this case, FileCollection=133.png) will be "hashed" and added to the filename. For example: -

    'www.all.net/bar.cgi?FileCollection=133.gif'
    +
    'www.all.net/bar.cgi?FileCollection=133.png'

    will be named -

    '/tmp/mysite/bar4F2E.gif'
    +
    '/tmp/mysite/bar4F2E.png'

    The additionnal 4 letters/digits are VERY useful in cases where there are a substantial number of identical files:

    
    -www.all.net/bar.cgi?FileCollection=133.gif
    -www.all.net/bar.cgi?FileCollection=rose.gif
    -www.all.net/bar.cgi?FileCollection=plant4.gif
    -www.all.net/bar.cgi?FileCollection=silver.gif
    +www.all.net/bar.cgi?FileCollection=133.png
    +www.all.net/bar.cgi?FileCollection=rose.png
    +www.all.net/bar.cgi?FileCollection=plant4.png
    +www.all.net/bar.cgi?FileCollection=silver.png
     and so on...
     
    @@ -2418,7 +2350,7 @@ http://www.all.net/foo.cgi?id=1 can be either HTML pages, images or anything else. Locally, foo.cgi will not be recognized as an html page, or as an image, by your browser. HTTrack has to rename the file as -foo.html or foo.gif so that it can be viewed. +foo.html or foo.png so that it can be viewed.

    Sometimes, however, some data files are seen by the remote server as html files, or images : in this case HTTrack is being @@ -2551,7 +2483,7 @@

    Q: I don't want to load gif files.. but what may happen if I watch the page? -

    A: If you have filtered gif files (-*.gif), +

    A: If you have filtered gif files (-*.png), links to gif files will be rebuild so that your browser can find them on the server. @@ -2565,7 +2497,7 @@ +<website>/ +*.<type wanted>

    Example: httrack www.all.net/index.html -* -+www.all.net/*.htm* +www.all.net/*.gif +www.all.net/*.jpg ++www.all.net/*.htm* +www.all.net/*.png +www.all.net/*.jpg

    Q: When I use filters, I get too many files! diff -Nru httraqt-1.4.9/help/filters.html httraqt-1.4.11/help/filters.html --- httraqt-1.4.9/help/filters.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/filters.html 2017-09-06 14:40:29.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - + - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -120,19 +52,19 @@

    -

    Scan rules based on URL or extension (e.g. accept or refuse all .zip or .gif files)

    +

    Scan rules based on URL or extension (e.g. accept or refuse all .zip or .png files)

    To accept a family of links (for example, all links with a specific name or type), you just have to add - an authorization filter, like +*.gif. The pattern is a plus (this one: +), + an authorization filter, like +*.png. The pattern is a plus (this one: +), followed by a pattern composed of letters and wildcards (this one: *).

    To forbide a family of links, define - an authorization filter, like -*.gif. The pattern is a dash (this one: -), + an authorization filter, like -*.png. The pattern is a dash (this one: -), followed by a the same kind of pattern as for the authorization filter.

    - Example: +*.gif will accept all files finished by .gif
    - Example: -*.gif will refuse all files finished by .gif
    + Example: +*.png will accept all files finished by .png
    + Example: -*.png will refuse all files finished by .png

    @@ -146,7 +78,7 @@ including gif files inside this domain and outside (eternal images), but not take to large images, or too small ones (thumbnails)
    Excluding gif images smaller than 5KB and images larger than 100KB is therefore a good option; - +www.example.com +*.gif -*.gif*[<5] -*.gif*[>100] + +www.example.com +*.png -*.png*[<5] -*.png*[>100]
    @@ -162,7 +94,7 @@ type against certain patterns. Example: You may want to accept all files on the domain www.example.com, using '+www.example.com/*', and - exclude all gif files, using '-*.gif'. But some dynamic scripts (such as www.example.com/dynamic.php) can + exclude all gif files, using '-*.png'. But some dynamic scripts (such as www.example.com/dynamic.php) can both generate html content, or image data content, depending on the context. Excluding this script, using the scan rule '-www.example.com/dynamic.php', is therefore not a good solution. @@ -194,12 +126,12 @@

    @@ -209,7 +141,7 @@ Note: these scan rules can be mixed with scan rules based on size (see 1.b)

    - We saw that patterns are composed of letters and wildcards (*), as in */image*.gif + We saw that patterns are composed of letters and wildcards (*), as in */image*.png


    Special wild cards can be used for specific characters: (*[..])

    @@ -422,7 +354,7 @@ - + @@ -442,7 +374,7 @@ - + diff -Nru httraqt-1.4.9/help/httrack.css httraqt-1.4.11/help/httrack.css --- httraqt-1.4.9/help/httrack.css 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/httrack.css 2017-09-06 14:29:28.000000000 +0000 @@ -37,7 +37,7 @@ border-bottom: 6px solid #000; padding: 10px; padding-top: 20px; line-height: 1.65em; - background-image: url(images/bg_rings.gif); + background-image: url(images/bg_rings.png); background-repeat: no-repeat; background-position: top right; } diff -Nru httraqt-1.4.9/help/httrack.man.html httraqt-1.4.11/help/httrack.man.html --- httraqt-1.4.9/help/httrack.man.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/httrack.man.html 2017-09-06 14:29:40.000000000 +0000 @@ -1421,7 +1421,7 @@ @@ -1455,7 +1455,7 @@ @@ -1969,7 +1969,7 @@

    Details: User−defined option N
    %n Name of file without file type (ex: image)
    -%N Name of file, including file type (ex: image.gif)
    +%N Name of file, including file type (ex: image.png)
    %t File type (ex: gif)
    %p Path [without ending /] (ex: /someimages)
    %h Host name (ex: www.someweb.com)
    @@ -2270,7 +2270,7 @@

    - Several scripts generating complex filenames may not find them (ex: -img.src=’image’+a+Mobj.dst+’.gif’)

    +img.src=’image’+a+Mobj.dst+’.png’)

    - Some java classes may not find some files on them (class Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/images/bg_rings.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/images/bg_rings.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/images/bg_rings.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/images/bg_rings.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/images/header_title_4.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/images/header_title_4.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/images/header_title_4_orig.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/images/header_title_4_orig.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/images/header_title_4_orig.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/images/header_title_4_orig.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/images/header_title_4.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/images/header_title_4.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl1.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl1.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl1.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl1.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl2.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl2.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl2.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl2.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl3.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl3.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl3.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl3.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl4.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl4.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl4.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl4.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl5.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl5.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/addurl5.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/addurl5.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/backblue.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/backblue.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/backblue.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/backblue.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/fade.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/fade.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/fade.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/fade.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/httrack.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/httrack.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/httrack.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/httrack.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap1_a.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap1_a.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap1_a.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap1_a.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap1_b.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap1_b.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap1_b.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap1_b.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap1_c.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap1_c.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap1_c.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap1_c.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap2_a.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap2_a.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap2_a.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap2_a.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap2_b.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap2_b.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap2_b.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap2_b.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap3_a.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap3_a.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap3_a.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap3_a.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap4_a.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap4_a.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap4_a.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap4_a.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap5_a.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap5_a.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap5_a.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap5_a.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_a.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_a.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_a.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_a.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_b.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_b.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_b.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_b.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_c.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_c.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_c.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_c.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d2.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d2.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d2.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d2.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d3.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d3.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d3.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d3.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d4.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d4.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d4.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d4.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d5.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d5.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d5.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d5.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d6.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d6.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d6.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d6.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d7.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d7.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d7.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d7.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d8.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d8.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d8.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d8.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_d.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_d.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_e.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_e.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_e.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_e.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_f.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_f.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_f.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_f.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_g2.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_g2.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_g2.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_g2.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_g3.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_g3.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_g3.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_g3.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_g.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_g.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_g.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_g.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_h.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_h.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_h.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_h.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_i.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_i.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_i.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_i.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_j.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_j.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_j.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_j.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_k.gif and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_k.gif differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9_k.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9_k.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/help/img/snap9.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/help/img/snap9.png differ diff -Nru httraqt-1.4.9/help/index.html httraqt-1.4.11/help/index.html --- httraqt-1.4.9/help/index.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/index.html 2017-09-06 14:40:46.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +

    - +*.gif -image*.gif + +*.png -image*.png - Will accept all gif files BUT image1.gif,imageblue.gif,imagery.gif and so on + Will accept all gif files BUT image1.png,imageblue.png,imagery.png and so on
    - -image*.gif +*.gif + -image*.png +*.png Will accept all gif files, because the second pattern is prioritary (because it is defined AFTER the first one)
    Download all html and images on www.example.com-*
    +www.example.com/*.html
    +www.example.com/*.php
    +www.example.com/*.asp
    +www.example.com/*.gif
    +www.example.com/*.jpg
    +www.example.com/*.png
    -mime:*/* +mime:text/html +mime:image/*
    -*
    +www.example.com/*.html
    +www.example.com/*.php
    +www.example.com/*.asp
    +www.example.com/*.png
    +www.example.com/*.jpg
    +www.example.com/*.png
    -mime:*/* +mime:text/html +mime:image/*
    Good: efficient download
    Download all html, and images smaller than 100KB on www.example.com-*
    +www.example.com/*.html
    +www.example.com/*.php
    +www.example.com/*.asp
    +www.example.com/*.gif*[<100]
    +www.example.com/*.jpg*[<100]
    +www.example.com/*.png*[<100]
    -mime:*/* +mime:text/html +mime:image/*
    -*
    +www.example.com/*.html
    +www.example.com/*.php
    +www.example.com/*.asp
    +www.example.com/*.png*[<100]
    +www.example.com/*.jpg*[<100]
    +www.example.com/*.png*[<100]
    -mime:*/* +mime:text/html +mime:image/*
    Good: efficient download
    -

    filter test (−#0 *.gif www.bar.com/foo.gif ) +

    filter test (−#0 *.png www.bar.com/foo.png ) (−−debug−testfilters <param>)

    -

    cache list (−#C *.com/spider*.gif +

    cache list (−#C *.com/spider*.png (−−debug−cache <param>)

    - +
    HTTrack Website CopierHTTrack Website Copier
    diff -Nru httraqt-1.4.9/help/library.html httraqt-1.4.11/help/library.html --- httraqt-1.4.9/help/library.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/library.html 2017-09-06 14:40:52.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    diff -Nru httraqt-1.4.9/help/options.html httraqt-1.4.11/help/options.html --- httraqt-1.4.9/help/options.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/options.html 2017-09-06 14:41:02.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    diff -Nru httraqt-1.4.9/help/overview.html httraqt-1.4.11/help/overview.html --- httraqt-1.4.9/help/overview.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/overview.html 2017-09-06 14:41:07.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -114,7 +46,7 @@
    -

    WinHTTrack snapshot

    +

    WinHTTrack snapshot

    diff -Nru httraqt-1.4.9/help/plug_330.html httraqt-1.4.11/help/plug_330.html --- httraqt-1.4.9/help/plug_330.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/plug_330.html 2017-09-06 14:41:14.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - + - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -135,32 +67,32 @@
    - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + typedef void (* t_hts_htmlcheck_filesave2)(); - - - - - + + + + +
    "callback name"callback descriptioncallback function signature
    "init"Note: deprecated, should not be used anymore (unsafe callback) - see "start" callback or wrapper_init() module function below this table.Called during initialization ; use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks.
    return value: none
    void (* myfunction)(void);
    "free"Note: deprecated, should not be used anymore (unsafe callback) - see "end" callback or wrapper_exit() module function below this table.
    Called during un-initialization
    return value: none
    void (* myfunction)(void);
    "start"Called when the mirror starts. The opt structure passed lists all options defined for this mirror. You may modify the opt structure to fit your needs. Besides, use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks.
    return value: 1 upon success, 0 upon error (the mirror will then be aborted)
    int (* myfunction)(httrackp* opt);
    "end"Called when the mirror ends
    return value: 1 upon success, 0 upon error (the mirror will then be considered aborted)
    int (* myfunction)(void);
    "change-options"Called when options are to be changed. The opt structure passed lists all options, updated to take account of recent changes
    return value: 1 upon success, 0 upon error (the mirror will then be aborted)
    int (* myfunction)(httrackp* opt);
    "check-html"Called when a document (which may not be an html document) is to be parsed. The html address points to the document data, of lenth len. The url_adresse and url_fichier are the address and URI of the file being processed
    return value: 1 if the parsing can be processed, 0 if the file must be skipped without being parsed
    int (* myfunction)(char* html,int len,char* url_adresse,char* url_fichier);
    "preprocess-html"Called when a document (which is an html document) is to be parsed (original, not yet modified document). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using standard C library realloc()/free() functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of strdup() in such cases is advised. The url_adresse and url_fichier are the address and URI of the file being processed
    return value: 1 if the new pointers can be applied (default value)
    int (* myfunction)(char** html,int* len,char* url_adresse,char* url_fichier);
    "postprocess-html"Called when a document (which is an html document) is parsed and transformed (links rewritten). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using standard C library realloc()/free() functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of strdup() in such cases is advised. The url_adresse and url_fichier are the address and URI of the file being processed
    return value: 1 if the new pointers can be applied (default value)
    int (* myfunction)(char** html,int* len,char* url_adresse,char* url_fichier);
    "query"Called when the wizard needs to ask a question. The question string contains the question for the (human) user
    return value: the string answer ("" for default reply)
    char* (* myfunction)(char* question);
    "query2"Called when the wizard needs to ask a questionchar* (* myfunction)(char* question);
    "query3"Called when the wizard needs to ask a questionchar* (* myfunction)(char* question);
    "loop"Called periodically (informational, to display statistics)
    return value: 1 if the mirror can continue, 0 if the mirror must be aborted
    int (* myfunction)(lien_back* back,int back_max,int back_index,int lien_tot,int lien_ntot,int stat_time,hts_stat_struct* stats);
    "check-link"Called when a link has to be tested. The adr and fil are the address and URI of the link being tested. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
    return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
    int (* myfunction)(char* adr,char* fil,int status);
    "check-mime"Called when a link download has begun, and needs to be tested against its MIME type. The adr and fil are the address and URI of the link being tested, and the mime string contains the link type being processed. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
    return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
    int (* myfunction)(char* adr,char* fil,char* mime,int status);
    "pause"Called when the engine must pause. When the lockfile passed is deleted, the function can return
    return value: none
    void (* myfunction)(char* lockfile);
    "save-file"Called when a file is to be saved on disk
    return value: none
    void (* myfunction)(char* file);
    "save-file2"Called when a file is to be saved or checked on disk
    The hostname, filename and local filename are given. Two additional flags tells if the file is new (is_new) and is the file is to be modified (is_modified).
    (!is_new && !is_modified): the file is up-to-date, and will not be modified
    (is_new && is_modified): a new file will be written (or an updated file is being written)
    (!is_new && is_modified): a file is being updated (append)
    (is_new && !is_modified): an empty file will be written ("do not recatch locally erased files")
    return value: none
    void (* myfunction)(char* hostname,char* filename,char* localfile,int is_new,int is_modified);
    "init"Note: deprecated, should not be used anymore (unsafe callback) - see "start" callback or wrapper_init() module function below this table.Called during initialization ; use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks.
    return value: none
    void (* myfunction)(void);
    "free"Note: deprecated, should not be used anymore (unsafe callback) - see "end" callback or wrapper_exit() module function below this table.
    Called during un-initialization
    return value: none
    void (* myfunction)(void);
    "start"Called when the mirror starts. The opt structure passed lists all options defined for this mirror. You may modify the opt structure to fit your needs. Besides, use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks.
    return value: 1 upon success, 0 upon error (the mirror will then be aborted)
    int (* myfunction)(httrackp* opt);
    "end"Called when the mirror ends
    return value: 1 upon success, 0 upon error (the mirror will then be considered aborted)
    int (* myfunction)(void);
    "change-options"Called when options are to be changed. The opt structure passed lists all options, updated to take account of recent changes
    return value: 1 upon success, 0 upon error (the mirror will then be aborted)
    int (* myfunction)(httrackp* opt);
    "check-html"Called when a document (which may not be an html document) is to be parsed. The html address points to the document data, of lenth len. The url_adresse and url_fichier are the address and URI of the file being processed
    return value: 1 if the parsing can be processed, 0 if the file must be skipped without being parsed
    int (* myfunction)(char* html,int len,char* url_adresse,char* url_fichier);
    "preprocess-html"Called when a document (which is an html document) is to be parsed (original, not yet modified document). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using standard C library realloc()/free() functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of strdup() in such cases is advised. The url_adresse and url_fichier are the address and URI of the file being processed
    return value: 1 if the new pointers can be applied (default value)
    int (* myfunction)(char** html,int* len,char* url_adresse,char* url_fichier);
    "postprocess-html"Called when a document (which is an html document) is parsed and transformed (links rewritten). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using standard C library realloc()/free() functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of strdup() in such cases is advised. The url_adresse and url_fichier are the address and URI of the file being processed
    return value: 1 if the new pointers can be applied (default value)
    int (* myfunction)(char** html,int* len,char* url_adresse,char* url_fichier);
    "query"Called when the wizard needs to ask a question. The question string contains the question for the (human) user
    return value: the string answer ("" for default reply)
    char* (* myfunction)(char* question);
    "query2"Called when the wizard needs to ask a questionchar* (* myfunction)(char* question);
    "query3"Called when the wizard needs to ask a questionchar* (* myfunction)(char* question);
    "loop"Called periodically (informational, to display statistics)
    return value: 1 if the mirror can continue, 0 if the mirror must be aborted
    int (* myfunction)(lien_back* back,int back_max,int back_index,int lien_tot,int lien_ntot,int stat_time,hts_stat_struct* stats);
    "check-link"Called when a link has to be tested. The adr and fil are the address and URI of the link being tested. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
    return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
    int (* myfunction)(char* adr,char* fil,int status);
    "check-mime"Called when a link download has begun, and needs to be tested against its MIME type. The adr and fil are the address and URI of the link being tested, and the mime string contains the link type being processed. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
    return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
    int (* myfunction)(char* adr,char* fil,char* mime,int status);
    "pause"Called when the engine must pause. When the lockfile passed is deleted, the function can return
    return value: none
    void (* myfunction)(char* lockfile);
    "save-file"Called when a file is to be saved on disk
    return value: none
    void (* myfunction)(char* file);
    "save-file2"Called when a file is to be saved or checked on disk
    The hostname, filename and local filename are given. Two additional flags tells if the file is new (is_new) and is the file is to be modified (is_modified).
    (!is_new && !is_modified): the file is up-to-date, and will not be modified
    (is_new && is_modified): a new file will be written (or an updated file is being written)
    (!is_new && is_modified): a file is being updated (append)
    (is_new && !is_modified): an empty file will be written ("do not recatch locally erased files")
    return value: none
    void (* myfunction)(char* hostname,char* filename,char* localfile,int is_new,int is_modified);
    "link-detected"Called when a link has been detected
    return value: 1 if the link can be analyzed, 0 if the link must not even be considered
    int (* myfunction)(char* link);
    "transfer-status"Called when a file has been processed (downloaded, updated, or error)
    return value: must return 1
    int (* myfunction)(lien_back* back);
    "save-name"Called when a local filename has to be processed. The adr_complete and fil_complete are the address and URI of the file being saved ; the referer_adr and referer_fil are the address and URI of the referer link. The save string contains the local filename being used. You may modifiy the save string to fit your needs, up to 1024 bytes (note: filename collisions, if any, will be handled by the engine by renaming the file into file-2.ext, file-3.ext ..).
    return value: must return 1
    int (* myfunction)(char* adr_complete,char* fil_complete,char* referer_adr,char* referer_fil,char* save);
    "send-header"Called when HTTP headers are to be sent to the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The outgoing structure contains all information related to the current slot.
    return value: 1 if the mirror can continue, 0 if the mirror must be aborted
    int (* myfunction)(char* buff, char* adr, char* fil, char* referer_adr, char* referer_fil, htsblk* outgoing);
    "receive-header"Called when HTTP headers are recevived from the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The incoming structure contains all information related to the current slot.
    return value: 1 if the mirror can continue, 0 if the mirror must be aborted
    int (* myfunction)(char* buff, char* adr, char* fil, char* referer_adr, char* referer_fil, htsblk* incoming);
    "link-detected"Called when a link has been detected
    return value: 1 if the link can be analyzed, 0 if the link must not even be considered
    int (* myfunction)(char* link);
    "transfer-status"Called when a file has been processed (downloaded, updated, or error)
    return value: must return 1
    int (* myfunction)(lien_back* back);
    "save-name"Called when a local filename has to be processed. The adr_complete and fil_complete are the address and URI of the file being saved ; the referer_adr and referer_fil are the address and URI of the referer link. The save string contains the local filename being used. You may modifiy the save string to fit your needs, up to 1024 bytes (note: filename collisions, if any, will be handled by the engine by renaming the file into file-2.ext, file-3.ext ..).
    return value: must return 1
    int (* myfunction)(char* adr_complete,char* fil_complete,char* referer_adr,char* referer_fil,char* save);
    "send-header"Called when HTTP headers are to be sent to the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The outgoing structure contains all information related to the current slot.
    return value: 1 if the mirror can continue, 0 if the mirror must be aborted
    int (* myfunction)(char* buff, char* adr, char* fil, char* referer_adr, char* referer_fil, htsblk* outgoing);
    "receive-header"Called when HTTP headers are recevived from the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The incoming structure contains all information related to the current slot.
    return value: 1 if the mirror can continue, 0 if the mirror must be aborted
    int (* myfunction)(char* buff, char* adr, char* fil, char* referer_adr, char* referer_fil, htsblk* incoming);
    @@ -170,9 +102,9 @@ - - - + + +
    "module function name"function description
    int function-name_init(char *args);Called when a function named function-name is extracted from the current module (same as wrapper_init). The optional args provides additional commandline parameters. Returns 1 upon success, 0 if the function should not be extracted.
    int wrapper_init(char *fname, char *args);Called when a function named fname is extracted from the current module. The optional args provides additional commandline parameters. Besides, use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks. Returns 1 upon success, 0 if the function should not be extracted.
    int wrapper_exit(void);Called when the module is unloaded. The function should return 1 (but the result is ignored).
    int function-name_init(char *args);Called when a function named function-name is extracted from the current module (same as wrapper_init). The optional args provides additional commandline parameters. Returns 1 upon success, 0 if the function should not be extracted.
    int wrapper_init(char *fname, char *args);Called when a function named fname is extracted from the current module. The optional args provides additional commandline parameters. Besides, use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks. Returns 1 upon success, 0 if the function should not be extracted.
    int wrapper_exit(void);Called when the module is unloaded. The function should return 1 (but the result is ignored).
    @@ -182,7 +114,7 @@ - +
    "module function name"function description
    void plugin_init(void);Called if the module (named libhttrack-plugin.(so|dll)) is found in the library path. Use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks.
    void plugin_init(void);Called if the module (named libhttrack-plugin.(so|dll)) is found in the library path. Use of htswrap_add (see httrack-library.h) is permitted inside this function to setup other callbacks.
    diff -Nru httraqt-1.4.9/help/plug.html httraqt-1.4.11/help/plug.html --- httraqt-1.4.9/help/plug.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/plug.html 2017-09-06 14:41:19.000000000 +0000 @@ -1,112 +1,44 @@ - - - - - - - HTTrack Website Copier - Offline Browser - - - - - - - - - -
    HTTrack Website Copier
    - - - - -
    Open Source offline browser
    - - -
    - - - + +
    - - - + +
    - - -

    HTTrack Programming page - plugging functions

    - -
    - + + + + + + + HTTrack Website Copier - Offline Browser + + + + + + + + + +
    HTTrack Website Copier
    + + + + +
    Open Source offline browser
    + + + + +
    + + + - -
    + + + - -
    + + +

    HTTrack Programming page - plugging functions

    + +
    + You can write external functions to be plugged in the httrack library very easily. We'll see there some examples. - -

    + +

    The httrack commandline tool allows (since the 3.30 release) to plug external functions to various callbacks defined in httrack. The 3.41 release introduces a cleaned up verion of callbacks, with two major changes: @@ -121,8 +53,8 @@
    • the httrack-library.h prototype file
      -Note: the Initialization, Main functions, Options handling and Wrapper functions sections are generally the only ones to be considered. -
    • +Note: the Initialization, Main functions, Options handling and Wrapper functions sections are generally the only ones to be considered. +
    • the htsdefines.h prototype file, which describes callback function prototypes
    • the htsopt.h prototype file, which describes the full httrackp* structure
    • the callbacks-example*.c files given in the httrack archive
    • @@ -136,7 +68,7 @@ - + - +
      module function namefunction descriptionfunction signature
      hts_plug +
      hts_plug The module entry point. The opt structure can be used to plug callbacks, using the CHAIN_FUNCTION() macro helper. The argv optional argument is the one passed in the commandline as --wrapper parameter.
      return value: 1 upon success, 0 upon error (the mirror will then be aborted)

      @@ -154,12 +86,12 @@
      -
      extern int hts_plug(httrackp *opt, const char* argv);
      extern int hts_plug(httrackp *opt, const char* argv);
      hts_unplug -The module exit point. To free allocated resources without using global variables, use the uninit callback (see below)extern int hts_unplug(httrackp *opt);
      hts_unplug +The module exit point. To free allocated resources without using global variables, use the uninit callback (see below)extern int hts_unplug(httrackp *opt);
      @@ -181,41 +113,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + +
      callback namecallback descriptioncallback function signature
      initNote: the use the "start" callback is advised. Called during initialization.
      return value: none
      void mycallback(t_hts_callbackarg *carg);
      uninitNote: the use os the "end" callback is advised.
      Called during un-initialization
      return value: none
      void mycallback(t_hts_callbackarg *carg);
      startCalled when the mirror starts. The opt structure passed lists all options defined for this mirror. You may modify the opt structure to fit your needs.
      return value: 1 upon success, 0 upon error (the mirror will then be aborted)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt);
      endCalled when the mirror ends
      return value: 1 upon success, 0 upon error (the mirror will then be considered aborted)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt);
      choptCalled when options are to be changed. The opt structure passed lists all options, updated to take account of recent changes
      return value: 1 upon success, 0 upon error (the mirror will then be aborted)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt);
      preprocessCalled when a document (which is an html document) is to be parsed (original, not yet modified document). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using the hts_realloc()/hts_free() library functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of hts_strdup() in such cases is advised. The url_address and url_file are the address and URI of the file being processed
      return value: 1 if the new pointers can be applied (default value)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char** html, int* len, const char* url_address, const char* url_file);
      postprocessCalled when a document (which is an html document) is parsed and transformed (links rewritten). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using the hts_realloc()/hts_free() library functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of hts_strdup() in such cases is advised. The url_address and url_file are the address and URI of the file being processed
      return value: 1 if the new pointers can be applied (default value)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char** html, int* len, const char* url_address, const char* url_file);
      check_htmlCalled when a document (which may not be an html document) is to be parsed. The html address points to the document data, of lenth len. The url_address and url_file are the address and URI of the file being processed
      return value: 1 if the parsing can be processed, 0 if the file must be skipped without being parsed
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* html, int len, const char* url_address, const char* url_file);
      queryCalled when the wizard needs to ask a question. The question string contains the question for the (human) user
      return value: the string answer ("" for default reply)
      const char* mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* question);
      query2Called when the wizard needs to ask a questionconst char* mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* question);
      query3Called when the wizard needs to ask a questionconst char* mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* question);
      loopCalled periodically (informational, to display statistics)
      return value: 1 if the mirror can continue, 0 if the mirror must be aborted
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, lien_back* back, int back_max, int back_index, int lien_tot, int lien_ntot, int stat_time, hts_stat_struct* stats);
      check_linkCalled when a link has to be tested. The adr and fil are the address and URI of the link being tested. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
      return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* adr, const char* fil, int status);
      check_mimeCalled when a link download has begun, and needs to be tested against its MIME type. The adr and fil are the address and URI of the link being tested, and the mime string contains the link type being processed. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
      return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* adr, const char* fil, const char* mime, int status);
      pauseCalled when the engine must pause. When the lockfile passed is deleted, the function can return
      return value: none
      void mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* lockfile);
      filesaveCalled when a file is to be saved on disk
      return value: none
      void mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* file);
      filesave2Called when a file is to be saved or checked on disk
      The hostname, filename and local filename are given. Two additional flags tells if the local file is new (is_new), if the local file is to be modified (is_modified), and if the file was not updated remotely (not_updated).
      (!is_new && !is_modified): the file is up-to-date, and will not be modified
      (is_new && is_modified): a new file will be written (or an updated file is being written)
      (!is_new && is_modified): a file is being updated (append)
      (is_new && !is_modified): an empty file will be written ("do not recatch locally erased files")
      not_updated: the file was not re-downloaded because it was up-to-date (no data transfered again)

      return value: none
      void mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* hostname, const char* filename, const char* localfile, int is_new, int is_modified, int not_updated);
      linkdetectedCalled when a link has been detected
      return value: 1 if the link can be analyzed, 0 if the link must not even be considered
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* link);
      linkdetected2Called when a link has been detected
      return value: 1 if the link can be analyzed, 0 if the link must not even be considered
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* link, const const char* tag_start);
      xfrstatusCalled when a file has been processed (downloaded, updated, or error)
      return value: must return 1
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, lien_back* back);
      savenameCalled when a local filename has to be processed. The adr_complete and fil_complete are the address and URI of the file being saved ; the referer_adr and referer_fil are the address and URI of the referer link. The save string contains the local filename being used. You may modifiy the save string to fit your needs, up to 1024 bytes (note: filename collisions, if any, will be handled by the engine by renaming the file into file-2.ext, file-3.ext ..).
      return value: must return 1
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* adr_complete, const char* fil_complete, const char* referer_adr, const char* referer_fil, char* save);
      sendheadCalled when HTTP headers are to be sent to the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The outgoing structure contains all information related to the current slot.
      return value: 1 if the mirror can continue, 0 if the mirror must be aborted
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* buff, const char* adr, const char* fil, const char* referer_adr, const char* referer_fil, htsblk* outgoing);
      receiveheadCalled when HTTP headers are recevived from the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The incoming structure contains all information related to the current slot.
      return value: 1 if the mirror can continue, 0 if the mirror must be aborted
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* buff, const char* adr, const char* fil, const char* referer_adr, const char* referer_fil, htsblk* incoming);
      initNote: the use the "start" callback is advised. Called during initialization.
      return value: none
      void mycallback(t_hts_callbackarg *carg);
      uninitNote: the use os the "end" callback is advised.
      Called during un-initialization
      return value: none
      void mycallback(t_hts_callbackarg *carg);
      startCalled when the mirror starts. The opt structure passed lists all options defined for this mirror. You may modify the opt structure to fit your needs.
      return value: 1 upon success, 0 upon error (the mirror will then be aborted)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt);
      endCalled when the mirror ends
      return value: 1 upon success, 0 upon error (the mirror will then be considered aborted)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt);
      choptCalled when options are to be changed. The opt structure passed lists all options, updated to take account of recent changes
      return value: 1 upon success, 0 upon error (the mirror will then be aborted)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt);
      preprocessCalled when a document (which is an html document) is to be parsed (original, not yet modified document). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using the hts_realloc()/hts_free() library functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of hts_strdup() in such cases is advised. The url_address and url_file are the address and URI of the file being processed
      return value: 1 if the new pointers can be applied (default value)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char** html, int* len, const char* url_address, const char* url_file);
      postprocessCalled when a document (which is an html document) is parsed and transformed (links rewritten). The html address points to the document data address (char**), and the length address points to the lenth of this document. Both pointer values (address and size) can be modified to change the document. It is up to the callback function to reallocate the given pointer (using the hts_realloc()/hts_free() library functions), which will be free()'ed by the engine. Hence, return of static buffers is strictly forbidden, and the use of hts_strdup() in such cases is advised. The url_address and url_file are the address and URI of the file being processed
      return value: 1 if the new pointers can be applied (default value)
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char** html, int* len, const char* url_address, const char* url_file);
      check_htmlCalled when a document (which may not be an html document) is to be parsed. The html address points to the document data, of lenth len. The url_address and url_file are the address and URI of the file being processed
      return value: 1 if the parsing can be processed, 0 if the file must be skipped without being parsed
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* html, int len, const char* url_address, const char* url_file);
      queryCalled when the wizard needs to ask a question. The question string contains the question for the (human) user
      return value: the string answer ("" for default reply)
      const char* mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* question);
      query2Called when the wizard needs to ask a questionconst char* mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* question);
      query3Called when the wizard needs to ask a questionconst char* mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* question);
      loopCalled periodically (informational, to display statistics)
      return value: 1 if the mirror can continue, 0 if the mirror must be aborted
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, lien_back* back, int back_max, int back_index, int lien_tot, int lien_ntot, int stat_time, hts_stat_struct* stats);
      check_linkCalled when a link has to be tested. The adr and fil are the address and URI of the link being tested. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
      return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* adr, const char* fil, int status);
      check_mimeCalled when a link download has begun, and needs to be tested against its MIME type. The adr and fil are the address and URI of the link being tested, and the mime string contains the link type being processed. The passed status value has the following meaning: 0 if the link is to be accepted by default, 1 if the link is to be refused by default, and -1 if no decision has yet been taken by the engine
      return value: same meaning as the passed status value ; you may generally return -1 to let the engine take the decision by itself
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* adr, const char* fil, const char* mime, int status);
      pauseCalled when the engine must pause. When the lockfile passed is deleted, the function can return
      return value: none
      void mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* lockfile);
      filesaveCalled when a file is to be saved on disk
      return value: none
      void mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* file);
      filesave2Called when a file is to be saved or checked on disk
      The hostname, filename and local filename are given. Two additional flags tells if the local file is new (is_new), if the local file is to be modified (is_modified), and if the file was not updated remotely (not_updated).
      (!is_new && !is_modified): the file is up-to-date, and will not be modified
      (is_new && is_modified): a new file will be written (or an updated file is being written)
      (!is_new && is_modified): a file is being updated (append)
      (is_new && !is_modified): an empty file will be written ("do not recatch locally erased files")
      not_updated: the file was not re-downloaded because it was up-to-date (no data transfered again)

      return value: none
      void mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* hostname, const char* filename, const char* localfile, int is_new, int is_modified, int not_updated);
      linkdetectedCalled when a link has been detected
      return value: 1 if the link can be analyzed, 0 if the link must not even be considered
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* link);
      linkdetected2Called when a link has been detected
      return value: 1 if the link can be analyzed, 0 if the link must not even be considered
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* link, const const char* tag_start);
      xfrstatusCalled when a file has been processed (downloaded, updated, or error)
      return value: must return 1
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, lien_back* back);
      savenameCalled when a local filename has to be processed. The adr_complete and fil_complete are the address and URI of the file being saved ; the referer_adr and referer_fil are the address and URI of the referer link. The save string contains the local filename being used. You may modifiy the save string to fit your needs, up to 1024 bytes (note: filename collisions, if any, will be handled by the engine by renaming the file into file-2.ext, file-3.ext ..).
      return value: must return 1
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, const char* adr_complete, const char* fil_complete, const char* referer_adr, const char* referer_fil, char* save);
      sendheadCalled when HTTP headers are to be sent to the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The outgoing structure contains all information related to the current slot.
      return value: 1 if the mirror can continue, 0 if the mirror must be aborted
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* buff, const char* adr, const char* fil, const char* referer_adr, const char* referer_fil, htsblk* outgoing);
      receiveheadCalled when HTTP headers are recevived from the remote server. The buff buffer contains text headers, adr and fil the URL, and referer_adr and referer_fil the referer URL. The incoming structure contains all information related to the current slot.
      return value: 1 if the mirror can continue, 0 if the mirror must be aborted
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, char* buff, const char* adr, const char* fil, const char* referer_adr, const char* referer_fil, htsblk* incoming);
      detectCalled when an unknown document is to be parsed. The str structure contains all information related to the document.
      return value: 1 if the type is known and can be parsed, 0 if the document type is unknown
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, htsmoduleStruct* str);
      parseThe str structure contains all information related to the document.
      return value: 1 if the document was successfully parsed, 0 if an error occured
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, htsmoduleStruct* str);
      detectCalled when an unknown document is to be parsed. The str structure contains all information related to the document.
      return value: 1 if the type is known and can be parsed, 0 if the document type is unknown
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, htsmoduleStruct* str);
      parseThe str structure contains all information related to the document.
      return value: 1 if the document was successfully parsed, 0 if an error occured
      int mycallback(t_hts_callbackarg *carg, httrackp* opt, htsmoduleStruct* str);
      - -

      + +

      Note: the optional libhttrack-plugin module (libhttrack-plugin.dll or libhttrack-plugin.so), if found in the library environment, is loaded automatically, and its hts_plug() function being called.
      - +
      An example is generally more efficient than anything else, so let's write our first module, aimed to stupidely print all parsed html files: @@ -317,27 +249,27 @@
      -

      - - - - -
      -
    -
    - - - - - -
    - - - - - - +

    + + +
    +
    +
    + + + + + +
    + + + + + + diff -Nru httraqt-1.4.9/help/scripting.html httraqt-1.4.11/help/scripting.html --- httraqt-1.4.9/help/scripting.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/scripting.html 2017-09-06 14:41:26.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - + - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -109,7 +41,7 @@

    -
    +
    How to get one single file

    @@ -120,7 +52,7 @@

    - +
    How to get one single file and pipe it to stdout

    @@ -132,7 +64,7 @@

    - +
    How to search in all HTML files on a website

    @@ -152,7 +84,7 @@

    - +
    Indexing a website, and using the index as a search engine

    diff -Nru httraqt-1.4.9/help/shelldoc.html httraqt-1.4.11/help/shelldoc.html --- httraqt-1.4.9/help/shelldoc.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/shelldoc.html 2017-09-06 14:41:33.000000000 +0000 @@ -6,81 +6,12 @@ HTTrack Website Copier - Offline Browser - - + - +
    HTTrack Website CopierHTTrack Website Copier
    diff -Nru httraqt-1.4.9/help/step1.html httraqt-1.4.11/help/step1.html --- httraqt-1.4.9/help/step1.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step1.html 2017-09-06 14:41:49.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -107,19 +39,19 @@
  • Change the destination folder if necessary

  • It is more convenient to organize all mirrors in one directory, for example My Web Sites
    If you already have made mirrors using HTTrack, be sure that you have selected the correct folder.
    -

    +



  • Select the project name:
    • Select a new project name

    • This name is, for example, the theme of the mirrored sites, for example My Friend's Site -

      +



      OR

    • Select an existing project for update/retry

    • Directly select the existing project name in the popup list

      -
      +


  • Click on the NEXT button
  • diff -Nru httraqt-1.4.9/help/step2.html httraqt-1.4.11/help/step2.html --- httraqt-1.4.9/help/step2.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step2.html 2017-09-06 14:41:54.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -106,7 +38,7 @@
    1. Select an action

    2. The default action is Download web sites

      -


      +


      • Download web site(s)
      • @@ -128,7 +60,7 @@

      • Enter the site's addresses

      • You can click on the Add a URL button to add each address, or just type them in the box

        -
        +


      • You may define options by clicking on the Set options button

      • You can define filters or download parameters in the option panel
        diff -Nru httraqt-1.4.9/help/step3.html httraqt-1.4.11/help/step3.html --- httraqt-1.4.9/help/step3.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step3.html 2017-09-06 14:42:00.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -128,7 +60,7 @@

  • Click on the FINISH button
  • -
    +


  • Go to the next step...
  • diff -Nru httraqt-1.4.9/help/step4.html httraqt-1.4.11/help/step4.html --- httraqt-1.4.9/help/step4.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step4.html 2017-09-06 14:42:05.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -107,7 +39,7 @@
  • Wait until the mirror is finishing

  • You can cancel at any time the mirror, or cancel files currently downloaded for any reasons (file too big, for example)
    Options can be changed during the mirror: maximum number of connections, limits...

    -
    +


  • Go to the next step...
  • diff -Nru httraqt-1.4.9/help/step5.html httraqt-1.4.11/help/step5.html --- httraqt-1.4.9/help/step5.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step5.html 2017-09-06 14:42:13.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -106,7 +38,7 @@
    1. Check log files

    2. You may check the error log file, which could contain useful information if errors have occurred

      -
      +

    3. See the troubleshooting page
    diff -Nru httraqt-1.4.9/help/step9.html httraqt-1.4.11/help/step9.html --- httraqt-1.4.9/help/step9.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9.html 2017-09-06 14:39:00.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - - + +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -126,7 +58,7 @@ - +

    Back to Home

    diff -Nru httraqt-1.4.9/help/step9_opt10.html httraqt-1.4.11/help/step9_opt10.html --- httraqt-1.4.9/help/step9_opt10.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt10.html 2017-09-06 14:42:25.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


      Advice: leave these options to default values!

      diff -Nru httraqt-1.4.9/help/step9_opt11.html httraqt-1.4.11/help/step9_opt11.html --- httraqt-1.4.9/help/step9_opt11.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt11.html 2017-09-06 14:42:32.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +




      diff -Nru httraqt-1.4.9/help/step9_opt1.html httraqt-1.4.11/help/step9_opt1.html --- httraqt-1.4.9/help/step9_opt1.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt1.html 2017-09-06 14:42:18.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Attempt to detect all links
    • diff -Nru httraqt-1.4.9/help/step9_opt2.html httraqt-1.4.11/help/step9_opt2.html --- httraqt-1.4.9/help/step9_opt2.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt2.html 2017-09-06 14:42:38.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Maximum mirror depth
    • diff -Nru httraqt-1.4.9/help/step9_opt3.html httraqt-1.4.11/help/step9_opt3.html --- httraqt-1.4.9/help/step9_opt3.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt3.html 2017-09-06 14:42:44.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Number of connections
    • diff -Nru httraqt-1.4.9/help/step9_opt4.html httraqt-1.4.11/help/step9_opt4.html --- httraqt-1.4.9/help/step9_opt4.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt4.html 2017-09-06 14:42:53.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


      Filters (scan rules) are the most important and powerful option that can be used: you can exclude or accept subdirectories, skip certain types of files, and so on.. If you have missing files (images on top level directories, for example) using filters can help you! @@ -127,13 +59,13 @@

      • Select a rule
      • -
        +


      • Then, enter the keyword(s)
      • -
        +


      • Clic on the ADD button to add the rule
      • -
        +
      @@ -143,16 +75,16 @@

      • Select a rule : in this case to identify all items from a specific folder name
      • -
        +


      • Then, enter the keyword(s) : in this case it is the directory name (without the starting and ending /)
      • -
        +


      • Clic on the ADD button to add the rule
      • -
        +


      • The rule has been added
      • -
        +
      diff -Nru httraqt-1.4.9/help/step9_opt5.html httraqt-1.4.11/help/step9_opt5.html --- httraqt-1.4.9/help/step9_opt5.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt5.html 2017-09-06 14:42:59.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Local Structure Type
    • diff -Nru httraqt-1.4.9/help/step9_opt6.html httraqt-1.4.11/help/step9_opt6.html --- httraqt-1.4.9/help/step9_opt6.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt6.html 2017-09-06 14:43:05.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Accept cookies
    • @@ -114,7 +46,7 @@
    • Check document type

    • Define when the engine has to check document type -
      The engine must know the document type, to rewrite the file types. For example, if a link called /cgi-bin/gen_image.cgi generates a gif image, the generated file will not be called "gen_image.cgi" but "gen_image.gif" +
      The engine must know the document type, to rewrite the file types. For example, if a link called /cgi-bin/gen_image.cgi generates a gif image, the generated file will not be called "gen_image.cgi" but "gen_image.png"
      Avoid "never", because the local mirror could be bogus


      diff -Nru httraqt-1.4.9/help/step9_opt7.html httraqt-1.4.11/help/step9_opt7.html --- httraqt-1.4.9/help/step9_opt7.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt7.html 2017-09-06 14:43:11.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Proxy
    • @@ -123,9 +55,9 @@
      If the proxy needs authentication you can define the login username/password

      -
      +


      -
      +



      diff -Nru httraqt-1.4.9/help/step9_opt8.html httraqt-1.4.11/help/step9_opt8.html --- httraqt-1.4.9/help/step9_opt8.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt8.html 2017-09-06 14:43:16.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Browser "Identity"
    • diff -Nru httraqt-1.4.9/help/step9_opt9.html httraqt-1.4.11/help/step9_opt9.html --- httraqt-1.4.9/help/step9_opt9.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step9_opt9.html 2017-09-06 14:43:23.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    @@ -104,7 +36,7 @@
      -
      +


    • Force to store all files in cache
    • diff -Nru httraqt-1.4.9/help/step.html httraqt-1.4.11/help/step.html --- httraqt-1.4.9/help/step.html 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/help/step.html 2017-09-06 14:41:42.000000000 +0000 @@ -6,81 +6,13 @@ HTTrack Website Copier - Offline Browser - +
    - +
    HTTrack Website CopierHTTrack Website Copier
    Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/be.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/be.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/bg.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/bg.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/cs.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/cs.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/ct.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/ct.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/cz.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/cz.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/da.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/da.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/de.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/de.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/el.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/el.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/en.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/en.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/es.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/es.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/et.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/et.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/fi.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/fi.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/fr.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/fr.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/hu.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/hu.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/it.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/it.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/jp.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/jp.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/nl.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/nl.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/no.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/no.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/pl.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/pl.png differ diff -Nru httraqt-1.4.9/lang/flags/pngtoxnpm.sh httraqt-1.4.11/lang/flags/pngtoxnpm.sh --- httraqt-1.4.9/lang/flags/pngtoxnpm.sh 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/lang/flags/pngtoxnpm.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/bin/bash - -for pic in *.png -do - echo "converting $pic" - convert $pic $(basename $pic .png).xpm -done \ No newline at end of file Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/pt.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/pt.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/ro.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/ro.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/ru.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/ru.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/si.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/si.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/sk.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/sk.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/sv.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/sv.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/tr.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/tr.png differ Binary files /tmp/tmp8vrld2db/n6SUORiufI/httraqt-1.4.9/lang/flags/ua.png and /tmp/tmp8vrld2db/x01fLjJ5wk/httraqt-1.4.11/lang/flags/ua.png differ diff -Nru httraqt-1.4.9/lang/Russian.utf httraqt-1.4.11/lang/Russian.utf --- httraqt-1.4.9/lang/Russian.utf 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/lang/Russian.utf 2017-07-25 12:57:14.000000000 +0000 @@ -12,24 +12,24 @@ Russian t000=HTTraQt t001=N# соединений -t002=Select font size +t002=Выбрать размер шрифта t003=Тайм-аут t004=Повторные попытки -t005=Макс. скорость закачки +t005=Максимальная скорость закачки t006=Mинимальная скорость закачки t007=Постоянные соединения (Keep-Alive) t008=В случае превышения времени ожидания отменить все ссылки с данного хоста t009=В случае, если хост слишком медленный, отменить все ссылки с данного хоста t010=Проверять тип документа -t011=Качалка -t012=Разрешить cookies +t011=Мультизагрузчик +t012=Принимать cookies t013=Анализ ява файлов t014=Update hack (ограничение повторных закачек) t015=Хак URL (объеденить аналогичные URLs) t016=Толерантные запросы (к серверам) t017=Использовать старый протокол HTTP\\1.0 (не 1.1) -t018=Идентификация броузера (строка User-Agent) -t019=Operation system Identity +t018=Идентификатор браузера (строка User-Agent) +t019=Идентификатор операционной системы t020=Operation t021=Нижний HTML колонтитул t022=Тип локальной структуры зеркала (способ сохранения файлов) @@ -37,26 +37,26 @@ t024=Без страниц ошибок t025=Без внешних ссылок t026=Скрыть пароли -t027=Спрятать запросную часть строки (все, что после знака ?) +t027=Спрятать запросную часть строки (все, что после знака '?') t028=Не удалять старые файлы t029=Имена в стандарте ISO9660 (CDROM) t030=Структура t031=Как правило, эти настройки изменять не следует t032=Основной фильтр -t033=Мода сканирования -t034=Глобальная мода сканирования +t033=Режим сканирования +t034=Глобальный режим сканирования t035=Переименовать ссылки: внутренние\\внешние t036=Использовать кэш для обновления и докачки -t037=Включить моду отладки (httraqt.log) -t038=Макс. глубина создания зеркала от начального адреса +t037=Включить режим отладки (httraqt.log) +t038=Максимальная глубина создания зеркала от начального адреса t039=Максимальная глубина закачки для внешних\\запрещенных адресов (0, т.е., нет ограничений, это значение поумолчанию) -t040=Макс. размер html-файла: -t041=Макс. размер не-html: +t040=Максимальный размер html-файла: +t041=Максимальный размер не-html файла: t042=Ограничение по размеру t043=Пауза после загрузки... -t044=Макс. время закачки +t044=Максимальное время закачки t045=Размер -t046=Макс. число соединений\\сек. +t046=Максимальное число соединений\\сек t047=Максимальное число ссылок t048=Все ссылки допустимы t049=Качать не-html файлы вблизи ссылки (напр.: внешние .ZIP или граф. файлы) @@ -64,7 +64,7 @@ t051=Получить вначале HTML файлы! t052=Соответсвие типу файлов (Type\\MIME) t053=Типы файлов: -t054=MIME identity +t054=Идентификатор MIME t055=Адрес прокси: t056=Номер порта: t057=Логин: @@ -83,25 +83,25 @@ t070=Создать файл отчёта t071=Создать индекс t072=Создать базу данных слов -t073=Имена файлов с раширением:\r\nИмена файлов, содержащие:\r\nЭтот файл:\r\nИмена фолдеров содержат:\r\nЭтот фолдер:\r\nСсылки из этого домена:\r\nСсылки из доменов, содержащие:\r\nСсылки из этого хоста:\r\nСсылки содержащие:\r\nЭтот линк:\r\nВСЕ ЛИНКИ +t073=Имена файлов с раширением:\r\nИмена файлов, содержащие:\r\nЭтот файл:\r\nИмена папок содержат:\r\nЭта папка:\r\nСсылки из этого домена:\r\nСсылки из доменов, содержащие:\r\nСсылки из этого хоста:\r\nСсылки, содержащие:\r\nЭтот линк:\r\nВСЕ ЛИНКИ t074=Показать все\r\nСпрятать отладку\r\nСпрятать инфо\r\nСпрятать отладку и инфо t075=Структура сайта (по умолчанию)\r\nHtml\\, файлы изображений\\другие файлы\\файлы изображений\\\r\nHtml\\html, файлы изображений\\другие файлы\\файлы изображений\r\nHtml\\, файлы изображений\\другие файлы\\\r\nHtml\\, файлы изображений\\другие файлы\\xxx, где xxx - расширение файла\r\nHtml, файлы изображений\\другие файлы\\xxx\r\nСтруктура сайта без www.domain.xxx\\\r\nHtml в site_name\\ файлы изображений\\другие файлы в site_name\\файлы изображений\\\r\nHtml в site_name\\html, файлы изображений\\другие файлы в site_name\\файлы изображений\r\nHtml в site_name\\, файлы изображений\\другие файлы в site_name\\\r\nHtml в site_name\\, файлы изображений\\другие файлы в site_name\\xxx\r\nHtml в site_name\\html, файлы изображений\\другие файлы в site_name\\xxx\r\nВсе файлы из веба\\, с произвольными именами (новинка !)\r\nВсе файлы из site_name\\, с произвольными именами (новинка !)\r\nЗаданная пользователем структура... t076=Только сканировать\r\nСохранять html файлы\r\nСохранять не html файлы\r\nСохранять все файлы (по умолчанию)\r\nСохранять вначале html файлы t077=Оставаться в тойже директории\r\nМожно двигаться вниз (по умолчанию)\r\nМожно двигаться вверх\r\nМожно двигаться вверх и вниз t078=Оставаться на том же адресе (по умолчаниюt)\r\nОставаться на том же домене\r\nОставаться на том де домене верхнего уровня\r\nИдти куда угодно t079=Никогда\r\nЕсли неизвестно (кроме \\)\r\nЕсли неизвестно -t080=Не подчиняться правилам robots.txt\r\nrobots.txt кроме Мастера\r\nподчиняться правилам robots.txt -t081=Обычная\r\nрасширенная\r\nотладка +t080=Не подчиняться правилам robots.txt\r\nПодчиняться robots.txt, кроме Мастера\r\nПодчиняться правилам robots.txt +t081=Обычный\r\nРасширенный\r\nОтладочный t082=Загрузить сайт(ы)\r\nЗагрузить сайт(ы) +вопросы\r\nЗагрузить отдельные файлы\r\nЗагрузить все сайты со страницы (несколько зеркал)\r\nТестировать ссылки со страницы (тест закладок)\r\n* Продолжить прерванную загрузку\r\n* Обновить существующую закачку t083=Относительный URI \\ Абсолютный URL (по-умолчанию)\r\nАбсолютный URL \\ Абсолютный URL\r\nАбсолютный URI \\ Абсолютный URL\r\nПервоначальный URL \\ Первоначальный URL -t084=- Мода зеркализации -\r\n\r\nВведите адрес(а) в поле URL. -t085=- Интерактивная мода - Мастер создания зеркала (будут заданы вопросы) -\r\n\r\nВведите адрес(а) в поле URL. -t086=- Мода закачки отдельных файлов -\r\n\r\nВведите адрес(а) файлов в поле URL. -t087=Мода создания зеркал из списка-\r\n\r\nВ поле URL заполните адреса страниц, содержащих URL'ы, которые вы хотите зеркализовать. -t088=- Мода тестирования линков -\r\n\r\nВведите адрес(а) страниц, содержащих URL'ы, которые вы хотите протестировать. -t089=- Мода обновления -\r\n\r\nПроверьте адрес(а) в поле URL, затем нажмите кнопку 'ДАЛЕЕ' и проверьте параметры. -t090=- Мода продолжения ранее прерванного создания зеркала -\r\n\r\nПроверьте адрес(а) в поле URL, затем нажмите кнопку 'ДАЛЕЕ' и проверьте параметры. -t091=Да +t084=- Режим зеркализации -\r\n\r\nВведите адрес(а) в поле URL. +t085=- Интерактивный режим - Мастер создания зеркала (будут заданы вопросы) -\r\n\r\nВведите адрес(а) в поле URL. +t086=- Режим закачки отдельных файлов -\r\n\r\nВведите адрес(а) файлов в поле URL. +t087=Режим создания зеркал из списка-\r\n\r\nВ поле URL заполните адреса страниц, содержащих URL'ы, которые вы хотите зеркализовать. +t088=- Режим тестирования линков -\r\n\r\nВведите адрес(а) страниц, содержащих URL'ы, которые вы хотите протестировать. +t089=- Режим обновления -\r\n\r\nПроверьте адрес(а) в поле URL, затем нажмите кнопку 'ДАЛЕЕ' и проверьте параметры. +t090=- Режим продолжения ранее прерванного создания зеркала -\r\n\r\nПроверьте адрес(а) в поле URL, затем нажмите кнопку 'ДАЛЕЕ' и проверьте параметры. +t091=Готово t092=Отмена t093=Выход t094=Закрыть @@ -139,9 +139,9 @@ t126=Добавить исключающий фильтр t127=Добавить включающий фильтр t128=Дополнительные фильтры -t129=Cancel changes +t129=Отменить изменения t130=Сохранить настройки как значения по умолчанию -t131=Click to confirm +t131=Подтвердить t132=Нет лог файлов в %s! t133=Отсутствует файл index.html в %s! t134=Выйти из программы HTTraQt Website Copier @@ -166,38 +166,38 @@ t153=запрос t154=соединение t155=поиск -t156=Ready +t156=Готов t157=готов -t158=waiting +t158=ожидание t159=ошибка t160=Получаем файлы t161=Разбор HTML файла... t162=Удаляем файлы... t163=Идет загрузка кэша.. t164=Анализируем HTML файл (проверяем ссылки)... -t165=Остановлено (для продолжения выберете [Зеркало]\\[Приостановить закачку] ) -t166=Paused (select [File]\\[Pause transfer] to continue) -t167=Завершаются отложенные закачки - чтобы прервать, нажмите Cancel! -t168=сканируем +t165=Пауза (для продолжения выберете [Зеркало]\\[Приостановить закачку] ) +t166=Приостановлено (выберите [File]\\[Pause transfer] to continue) +t167=Завершаются отложенные закачки - чтобы прервать, нажмите Остановить! +t168=сканирование t169=Ожидаю заданное время начала -t170=Transferring data.. +t170=Передача данных.. t171=Соединяемся с провайдером t172=Осталось [%d секунд] до начала t173=Создается зеркало [%s, %s] t174=Создание зеркала завершено! t175=В процессе закачки произошла ошибка\r\n -t176=В течении:\r\n +t176=В течение:\r\n t177=В случае необходимости, смотри лог файл.\r\n\r\nДля выхода из HTTraQt нажмите кнопку OK.\r\n\r\nСпасибо за использование HTTraQt! t178=Создание зеркала завершено.\r\nДля выхода из программы нажмите кнопку OK.\r\nДля проверки успешности закачки посмотрите лог файл(ы).\r\n\r\nСпасибо за использование HTTraQt! -t179=* * ЗАКАЧКА ПРЕРВАНА! * *\r\nВременный кэш, созданный во время текущей сессий, содержит данные, загруженные только во время данной сессии и потребуется только в случае возобновления закачки.\r\nОднако, предыдущий кэш может содержать более полную информацию. Если вы не хотите потерять эти данные, вам нужно удалить текущий кэш и возобновить предыдущий.\r\n(Это можно легко сделать прямо здесь, удалив файлы hts-cache\\new.]\r\n\r\nСчитает-ли вы, что предыдущий кэш может содержать более полную информацию, и хотите ли вы восстановить его? +t179=* * ЗАКАЧКА ПРЕРВАНА! * *\r\nВременный кэш, созданный во время текущей сессий, содержит данные, загруженные только во время данной сессии и потребуется только в случае возобновления закачки.\r\nОднако, предыдущий кэш может содержать более полную информацию. Если вы не хотите потерять эти данные, Вам нужно удалить текущий кэш и возобновить предыдущий.\r\n(Это можно легко сделать прямо здесь, удалив файлы hts-cache\\new.]\r\n\r\nСчитает-ли вы, что предыдущий кэш может содержать более полную информацию, и хотите ли вы восстановить его? t180=* * ОШИБКА! * *\r\nТекущее зеркало - пусто. Если это было обновление, предыдущая версия зеркала восстановлена.\r\nПричина: первая страница(ы) или не найдена, или были проблемы с соединением.\r\n=> Убедитесь, что вебсайт все-еще существует, и\\или проверьте установки прокси-сервера! <= t181=\r\nПодсказка:Для просмотра сообщений об ошибках и предупреждений нажмите [Просмотр лог файла] -t182=Ошибка удаления файла hts-cache\\new.* , пожалуйста, удалите его ручками.\r\n +t182=Ошибка удаления файла hts-cache\\new.* , пожалуйста, удалите его вручную.\r\n t183=Вы действительно хотите завершить работу с программой? t184=Путь к лог файлам t185=Новый проект \\ импортировать? t186=Выберете действие -t187=Макс.глубина сканирования +t187=Максимальная глубина поиска t188=Введите адреса t189=Задать дополнительные фильтры t190=Прокси, если требуется @@ -208,7 +208,7 @@ t195=Выберете путь t196=Выйти из HTTraQt Website Copier t197=О программе HTTraQt -t198=Save current preferences as default values +t198=Сохранить текущие настройки, как настройки по умолчанию t199=Продолжить t200=Задать параметры закачки t201=Добавить URL @@ -222,7 +222,7 @@ t209=Переустановить все параметры по умолчанию? t210=HTTraQt приветствует вас! t211=Тип работы: -t212=Макс. глубина: +t212=Максимальная глубина: t213=Максимальная глубина внешних сайтов: t214=Фильтры (включить\\выключить ссылки) t215=Пути @@ -233,15 +233,15 @@ t220=Добавить URL... t221=Веб адреса: (URL) t222=Прервать HTTraQt? -t223=Hibernate +t223=Спящий режим t224=Приостановить закачку? -t225=Pause +t225=Пауза t226=Прервать закачку -t227=Спрятать в системный трэй +t227=Спрятать в системный трей t228=Пропустить линк или прервать анализ файла t229=Пропустить линк t230=Сохранено байт: -t231=Stop +t231=Остановить t232=Просканировано линков: t233=Время: t234=Соединений: @@ -280,13 +280,13 @@ t267=Maксимальный размер любого не HTML-файла t268=Maксимальное количество байт, допустимых для закачки t269=После загрузки указанного числа байтов, сделать паузу -t270=Maкс. продолжительность зеркализации -t271=Макс. количество соединений в секунду (не перегружать сервер) +t270=Maксимальная продолжительность зеркализации +t271=Максимальное количество соединений в секунду (не перегружать сервер) t272=Максимальное число тестируемых линков (тестируемых, а не сохраняемых!) t273=Комментарий, размещаемый в каждом HTML файле t274=Назад к начальной странице -t275=Save current preferences as default values -t276=Click to continue +t275=Сохранить текущие настройки, как настройки по умолчанию +t276=Нажмите, чтобы продолжить t277=Отменить изменения t278=Подчиняться правилам для роботов, устанавливаемым сайтами t279=По ссылкам на внешние страницы (не скачанные) будет переход к страницам ошибок @@ -306,7 +306,7 @@ t293=Стараться определять все URL'ы (даже в неопознанных тэгах\\скриптах) t294=Использовать кэш для обновления t295=Log файлы -t296=Primary Scan Rule +t296=Предпочитаемое правило сканирования t297=Контроль потоков t298=Ограничения t299=Идентификатор @@ -314,21 +314,21 @@ t301=Прекратить закачку с хоста, если она слишком медленная t302=Настроить t303=Уменьшить времена соединения и обращения используя постоянные соединения -t304=Макс. размер сайта +t304=Максимальный размер сайта t305=Сохранить настройки -t306=Save -t307=Макс. скорость закачки +t306=Сохранить +t307=Максимальная скорость закачки t308=Следовать правилам из robots.txt t309=Ссылки t310=Только для экспертов -t311=Управление закачкой +t311=Управление потоками t312=Идентификация -t313=Scan Rules -t314=Лог, Индекс. Кэш +t313=Правила сканирования +t314=Лог, Индекс, Кэш t315=Прокси t316=MIME (Типы файлов) t317=Не соединяться с провайдером (соединение уже установлено) -t318=Не испоьзовать удаленной соединения +t318=Не испоьзовать удаленные соединения t319=Закачка по расписанию t320=Начать! t321=Нет сохраненного пароля для этого соединения @@ -338,18 +338,18 @@ t325=Вы можете или начать закачку, нажав кнопку СТАРТ, или можете задать дополнительные параметры соединения t326=Только сохранить установки, не начинать закачку. t327=Удерживать -t328=Shutdown +t328=Выключить t329=Ограничить время скачивания: (hh\\mm\\ss) t330=Соединиться с провайдером (RAS) t331=Соединиться с этим провайдером t332=Отсоединиться при завершении t333=Отсоеденить при завершении -t334=\r\n(Сообщите нам пожалуйста о замеченных проблемах и ошибках)\r\n\r\nРазработка:\r\nИнтерфейс (Windows): Xavier Roche\r\nКачалка (spider): Xavier Roche\r\nПарсер ява-классов: Yann Philippot\r\n\r\n(C)1998-2003 Xavier Roche and other contributors\r\nMANY THANKS for Russian translations to:\r\nAndrei Iliev (andreiiliev@mail.ru) +t334=\r\n(Сообщите нам пожалуйста о замеченных проблемах и ошибках)\r\n\r\nРазработка:\r\nИнтерфейс (Windows): Xavier Roche\r\nМультизагрузчик (spider): Xavier Roche\r\nПарсер ява-классов: Yann Philippot\r\n\r\n(C)1998-2003 Xavier Roche другие\r\nОГРОМНАЯ БЛАГОДАРНОСТЬ за перевод на русский:\r\nAndrei Iliev (andreiiliev@mail.ru) t335=О программе... t336=Пожалуйста, посетите нашу веб-страницу -t337=Вопрос мастера +t337=Запрос мастера t338=Ваш ответ: -t339=Найден линк +t339=Найдена ссылка t340=Выберете правило t341=Игнорировать этот линк t342=Игнорировать директорию @@ -358,7 +358,7 @@ t345=Зеркализовать сайт t346=Зеркализовать домен t347=Игнорировать все -t348=Wizard query +t348=Запрос мастера t349=Нет t350=Настройки t351=Приостановить закачку @@ -371,7 +371,7 @@ t358=Панель состояния t359=Разделить t360=Файл -t361=Progress +t361=Готовность t362=Настройки t363=Зеркало t364=Лог @@ -392,7 +392,7 @@ t379=&Удалить... t380=&Просмотр сайтов... t381=Задание структуры -t382=%n\tИмя файла без расширения (напр.: image)\r\n%N\tИмя файла с расширением (напр.: image.gif)\r\n%t\tРасширение файла (напр.: gif)\r\n%p\tПуть к файлу [без оканчивающего \\] (напр.: \\someimages)\r\n%h\tИмя хоста (напр.: www.someweb.com)\r\n%M\tURL MD5 (128 bits, 32 ascii bytes)\r\n%Q\tquery string MD5 (128 bits, 32 ascii bytes)\r\n%q\tsmall query string MD5 (16 bits, 4 ascii bytes)\r\n\r\n%s?\tDOS'кое имя (напр: %sN) +t382=%n\tИмя файла без расширения (напр.: image)\r\n%N\tИмя файла с расширением (напр.: image.gif)\r\n%t\tРасширение файла (напр.: gif)\r\n%p\tПуть к файлу [без завершающего \\] (напр.: \\someimages)\r\n%h\tИмя хоста (напр.: www.someweb.com)\r\n%M\tMD5-сумма ссылки (128 бит, 32 ascii байта)\r\n%Q\tMD5-сумма набора строк (128 бит, 32 ascii байта)\r\n%q\tмалая MD5-сумма набора строк (16 бит, 4 ascii байта)\r\n\r\n%s?\tимяDOS 8.3 (напр: %sN) t383=Пример:\t%h%p\\%n%q.%t\r\n->\t\t\\home\\karbofos\\mirror\\www.someweb.com\\someimages\\image.gif t384=Настройки прокси t385=Аутентификация (если нужно) @@ -412,36 +412,36 @@ t399=Каталог: t400=Категория проекта: t401=\\home\\karbofos\\Мои Web Сайты -t402=Задайте название нового проекта, \r\nили выберете существующий проект для его актуализации\\продолжения +t402=Задайте название нового проекта, \r\nили выберете существующий проект для его проверки\\продолжения t403=Новый проект -t404=Вставьте URL +t404=Вставьте ссылку (URL) t405=URL: -t406=Authentication (only if needed) -t407=Сложные ссылки: -t408=Засечь URL... +t406=Аутентификация (если нужно) +t407=Формы сложных ссылок: +t408=Захватить URL... t409=Введите URL адрес t410=Введите логин для доступа к сайту t411=Введите пароль для доступа к сайту t412=Используйте это средство для отлова динамических URL (javascript, формы и т.п.) t413=Выбор языка t414=Поймать URL! -t415=Временно установите в настройках прокси вашего броузера указанные ниже значения адреса и номера порта.\r\nЗатем, в броузере выполните необходимые действия (послать форму, активизировать скрипт и т.п.) . +t415=Временно установите в настройках прокси вашего броузера указанные ниже значения адреса и номера порта.\r\nЗатем, в браузере выполните необходимые действия (послать форму, активизировать скрипт и т.п.) . t416=Таким образом вы сможете передать желаемый линк из браузера в HTTraQt. -t417=Отмена -t418=Скопируй\\вставь временные настройки прокси -t419=Не найдены файлы помощи! -t420=Не возможно сохранить параметры! -t421=Пожалуйста, перетаскивайте только одну папку -t422=Пожалуйста, тащите только папку, а не файл -t423=Пожалуйста, тащите только папку -t424=Выбрать заданную вами структуру? -t425=Проверьте, что определенная вами структура правильна, в противном случае, имена файлов будут непредсказуемы +t417=ОТМЕНА +t418=Скопируте\\вставьте временные настройки прокси сюда +t419=Не найдены файлы справки! +t420=Невозможно сохранить параметры! +t421=Пожалуйста, перетаскивайте только одну папку за раз +t422=Пожалуйста, тащите только папки, а не файл +t423=Пожалуйста, тащите только папки +t424=Задать выбранную Вами структуру? +t425=Проверьте, что определенная Вами структура правильна, в противном случае, имена файлов будут непредсказуемы t426=Вы действительно хотите выбрать заданную структуру? -t427=Слишком много URL'ов, не могу обработать такое количество линков! +t427=Слишком много ссылок, не могу обработать так много! t428=Не достаточно памяти, фатальная внутренняя ошибка... -t429=Неизвестная операция -t430=Добавить этот URL?\r\n -t431=Внимание: программа не отвечает на запросы, не возможно добавить URL'ы... +t429=Неизвестная операция! +t430=Добавить эту ссылку?\r\n +t431=Внимание: программа не отвечает на запросы, не возможно добавить ссылку(и)... t432=Выбрать или изменить типы файлов t433=Выбрать или изменить типы файлов t434=Вверх @@ -449,59 +449,59 @@ t436=Информация о загрузке файла t437=Заморозить окно t438=Дополнительная информация: -t439=Добро пожаловать в программу HTTraQt Website Copier!\r\n\r\nПожалуйста нажмите кнопку ДАЛЕЕ для того, чтобы\r\n\r\n- начать новый проект\r\n- или возобновить частичную закачку +t439=Добро пожаловать в программу HTTraQt Website Copier!\r\n\r\nПожалуйста нажмите кнопку ДАЛЕЕ для того, чтобы\r\n\r\n- начать новый проект\r\n- или возобновить закачку t440=Open Source оффлайн браузер -t441=Качалка вебсайтов\\Оффлайн браузер. Качает вебсайты на ваш компьютер. Бесплатно. +t441=Мультизагрузчик вебсайтов\\Оффлайн браузер. Качает вебсайты на ваш компьютер. Бесплатно. t442=httrack, httraqt, webhttrack, offline browser -t443=Лист URL'ов (*.txt) +t443=Список ссылок (*.txt) t444=Назад t445=Далее -t446=URLs +t446=Ссылки t447=Предупреждение t448=Ваш браузер или не поддерживает javascript или его поддержка выключена. Для получения наилучшего результата активизируйте поддержку javascript. t449=Спасибо t450=Теперь Вы можете закрыть это окно -t451=Server terminated +t451=Сервер остановлен t452=Во время текущей закачки произошла фатальная ошибка -t453=Wrong URL(s)! +t453=Неправильная(ые) ссылка(и)! t454=Как можно поблагодарить программиста: t455=Поделиться ссылкой на эту программу с другими t456=Сообщить о найденной ошибке, неточности -t457=Donate -t458=\r\n(Please notify us of any bug or problem)\r\n\r\nDevelopment:\r\nInterface (Windows): Xavier Roche\r\nInterface (Qt4\\Qt5 based): Eduard Kalinowski\r\nSpider: Xavier Roche\r\nJavaParserClasses: Yann Philippot\r\n\r\n(C)1998-2003 Xavier Roche and other contributors\r\nMANY THANKS for translation tips to:\r\nRobert Lagadec (rlagadec@yahoo.fr) -t459=Скопировать из буфера обмена -t460=Documents -t461=Archives -t462=Images -t463=Multimedia -t464=Open new GUI -t465=Browse exists projects -t466=Step by step... -t467=To the project page... -t468=About HTTraQt Website Copier... -t469=About Qt -t470=Question -t471=Open File -t472=No URL! -t473=The URL list is not complete! -t474=File error -t475=remove -t476=are you sure? +t457=Помочь материально +t458=\r\n(Пожалуйста, сообщите нам о любой найденной ошибке или проблеме)\r\n\r\nРазработка:\r\nИнтерфейс (Windows): Xavier Roche\r\nИнтерфейс (Qt4\\Qt5): Eduard Kalinowski\r\nМультизагрузчик: Xavier Roche\r\nПарсер ява-классов: Yann Philippot\r\n\r\n(C)1998-2003 Xavier Roche и другие\r\nОГРОМНАЯ БЛАГОДАРНОСТЬ за рекомендации по переводу:\r\nRobert Lagadec (rlagadec@yahoo.fr) +t459=Вставить из буфера обмена +t460=Документы +t461=Архивы +t462=Изображения +t463=Мультимедиа +t464=Открыть новое окно +t465=Просмотреть существующие проекты +t466=Пошаговые инструкции... +t467=Перейти на страницу проекта... +t468=О HTTraQt Website Copier... +t469=О Qt +t470=Вопрос +t471=Открыть файл +t472=Нет ссылки! +t473=Список ссылок неполный! +t474=Файловая ошибка +t475=удалить +t476=Вы уверены? t477=Any subdirectory not empty! -t478=Save File -t479=&Language -t480=Stop? -t481=No directory -t482=Creating error -t483=Can not create directory! -t484=No project -t485=Waiting for specific hour to start -t486=Mirror waiting [%d seconds] -t487=Error +t478=Сохранить файл +t479=&Язык +t480=Остановить? +t481=Нет папки +t482=Ошибка процесса создания +t483=Не могу создать директорию! +t484=Нет проекта +t485=Ожидание заданного часа для старта +t486=Ожидание зеркала [%d секунд] +t487=Ошибка t488=Да -t489=Build top Index +t489=Создать индекс t490=Единицы t491=Открыть -t492=Компьютер выключить после окончания -t493=Shutdown counter (minutes) -t494=Сделайте\\исправьте файл-перевод +t492=Выключить компьютер после окончания +t493=Отсчет времени перед выключением (в минутах) +t494=Сделать\\исправить файл-перевод diff -Nru httraqt-1.4.9/LICENSE httraqt-1.4.11/LICENSE --- httraqt-1.4.9/LICENSE 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/LICENSE 2023-01-05 11:01:07.000000000 +0000 @@ -652,7 +652,7 @@ If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - HTTraQt Copyright (C) 2012-2017 Eduard Kalinowski + HTTraQt Copyright (C) 2012-2023 Eduard Kalinowski This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. diff -Nru httraqt-1.4.9/README httraqt-1.4.11/README --- httraqt-1.4.9/README 2017-06-01 16:19:38.000000000 +0000 +++ httraqt-1.4.11/README 2023-01-05 12:43:51.000000000 +0000 @@ -19,6 +19,9 @@ Version history +1.4.11, Qt6 support +1.4.10, russian translation fixed + cmakelists bugfix 1.4.9, added options QT_USE_FAST_CONCATENATION, QT_USE_FAST_OPERATOR_PLUS fixed generation of package dependencies list fixed cmakelists settings for Qt5 version diff -Nru httraqt-1.4.9/sources/astyle.sh httraqt-1.4.11/sources/astyle.sh --- httraqt-1.4.9/sources/astyle.sh 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/astyle.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -#!/bin/bash - -CPPCHCK=`type -p astyle` - -if [ ! -f "$CPPCHCK" ]; then - # not found exit - echo "please install astyle and restart this script" - exit 0 -fi - -set -e - -export ARTISTIC_STYLE_OPTIONS="\ ---mode=c \ ---style=k&r \ ---indent=spaces=4 \ ---indent-classes \ ---indent-switches \ ---indent-col1-comments \ ---indent-preprocessor \ ---break-blocks \ ---pad-oper \ ---add-brackets \ ---align-reference=name \ ---convert-tabs \ ---formatted \ ---lineend=linux" - -for i in $(find . -type f \( -name "*.cpp" -or -name "*.c" -or -name "*.h" \)); -do - astyle $ARTISTIC_STYLE_OPTIONS "$i"; -done - -for i in $(find . -type f \( -name "*.orig" -or -name "*~" \)); -do - rm -if "$i"; -done diff -Nru httraqt-1.4.9/sources/main/AboutDialog.cpp httraqt-1.4.11/sources/main/AboutDialog.cpp --- httraqt-1.4.9/sources/main/AboutDialog.cpp 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/AboutDialog.cpp 2023-01-04 16:15:09.000000000 +0000 @@ -55,8 +55,11 @@ str2.replace("\n", "
    "); QString str4 = translate(_VISITPAGE); - +#if USE_QT_VERSION == 6 + QString outStr = QString().asprintf(PROGRAM_FULL_NAME, HTTQTVERSION) + "
    " + str2 + "

    " + str4; +#else QString outStr = QString().sprintf(PROGRAM_FULL_NAME, HTTQTVERSION) + "
    " + str2 + "

    " + str4; +#endif outStr += "
    HTTrack " + QString(HTTRACK_STR) + ""; outStr += "
    HTTraQt " + QString(HTTRAQT_STR) + ""; diff -Nru httraqt-1.4.9/sources/main/CMakeLists.txt httraqt-1.4.11/sources/main/CMakeLists.txt --- httraqt-1.4.9/sources/main/CMakeLists.txt 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/CMakeLists.txt 2023-01-05 10:05:43.000000000 +0000 @@ -34,7 +34,6 @@ ${CMAKE_CURRENT_SOURCE_DIR}/includes/StartTab.h PARENT_SCOPE) - set(MAIN_FORMS ${CMAKE_CURRENT_SOURCE_DIR}/forms/AboutDialog.ui ${CMAKE_CURRENT_SOURCE_DIR}/forms/buttonPanel.ui ${CMAKE_CURRENT_SOURCE_DIR}/forms/ConfirmTab.ui diff -Nru httraqt-1.4.9/sources/main/forms/NewProjTab.ui httraqt-1.4.11/sources/main/forms/NewProjTab.ui --- httraqt-1.4.9/sources/main/forms/NewProjTab.ui 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/forms/NewProjTab.ui 2023-01-05 10:05:58.000000000 +0000 @@ -98,9 +98,6 @@ true - - true - false diff -Nru httraqt-1.4.9/sources/main/httraqt.cpp httraqt-1.4.11/sources/main/httraqt.cpp --- httraqt-1.4.9/sources/main/httraqt.cpp 2017-06-01 16:13:48.000000000 +0000 +++ httraqt-1.4.11/sources/main/httraqt.cpp 2023-01-05 11:08:52.000000000 +0000 @@ -18,9 +18,6 @@ * License along with HTTraQt. If not, see http://www.gnu.org/licenses * ***************************************************************************/ -#include "../version.h" - - #include #include #include @@ -29,7 +26,7 @@ #include #include #include -#include +// #include #include #if USE_QT_VERSION == 5 @@ -149,11 +146,23 @@ if ( ! key.isEmpty() ) { if (val.length() > 0) { +#if USE_QT_VERSION == 6 + + if ( val.contains ( QRegularExpression ( "^[0-9]+$" ) ) ) { + map.insert ( key, QVariant ( val ).toInt() ); + } else { + map.insert ( key, QVariant ( val ).toString() ); + } + +#else + if ( val.contains ( QRegExp ( "^[0-9]+$" ) ) ) { map.insert ( key, QVariant ( val ).toInt() ); } else { map.insert ( key, QVariant ( val ).toString() ); } + +#endif } } } @@ -381,7 +390,11 @@ void HTTraQt::refreshDirModel() { +#if USE_QT_VERSION == 6 + dModel.setRootPath(currentWorkDir); +#else dModel.refresh(); +#endif statusBar()->showMessage("Update dir list", 1000); } @@ -427,12 +440,19 @@ mainicon->fill(Qt::transparent); QPainter painterIcon(mainicon); painterIcon.drawPixmap(25, 5, QPixmap(":/icons/pump.png")); - +#if USE_QT_VERSION == 6 + programStyleSheet = QString().asprintf("font-size: %dpt", fontSize); +#else programStyleSheet = QString().sprintf("font-size: %dpt", fontSize); +#endif if ( fontSize == -1) { fontSize = sysFont.pixelSize(); +#if USE_QT_VERSION == 6 + programStyleSheet = QString().asprintf("font-size: %dpx", fontSize); +#else programStyleSheet = QString().sprintf("font-size: %dpx", fontSize); +#endif } if (programStyleSheet.length() > 0) { @@ -650,7 +670,11 @@ dirView->reset(); dirView->setRootIndex(dModel.index(currentWorkDir)); +#if USE_QT_VERSION == 6 + dModel.setRootPath(currentWorkDir); +#else dModel.refresh(); +#endif // something in hts-cache? if (checkContinue(false) == false) { @@ -1956,7 +1980,11 @@ if (fLang.open(QIODevice::ReadOnly)) { //wird eingelesen QTextStream stream(&fLang); +#if USE_QT_VERSION == 6 + stream.setEncoding(QStringConverter::Utf8); +#else stream.setCodec("UTF-8"); +#endif QString line, nm; int lines = 0; @@ -2027,6 +2055,8 @@ QString lngStr; lngStr = mnu->text(); + lngStr.remove(QChar('&')); + fontSize = lngStr.toInt(); mnu->setChecked(true); @@ -2034,12 +2064,24 @@ int sz = sysFont.pointSize(); // for lang menu and for fontsize menu +#if USE_QT_VERSION == 6 + + if ( sz == -1) { + programStyleSheet = QString().asprintf("font-size: %dpx", fontSize); + } else { + programStyleSheet = QString().asprintf("font-size: %dpt", fontSize); + } + +#else + if ( sz == -1) { programStyleSheet = QString().sprintf("font-size: %dpx", fontSize); } else { programStyleSheet = QString().sprintf("font-size: %dpt", fontSize); } +#endif + QString sSheet2 = QString("QMenu { %1; }").arg( programStyleSheet ); setStyleSheet(programStyleSheet); @@ -2092,7 +2134,11 @@ if (fLang.open(QIODevice::ReadOnly)) { //wird eingelesen streamInput.setDevice(&fLang); +#if USE_QT_VERSION == 6 + streamInput.setEncoding(QStringConverter::Utf8); +#else streamInput.setCodec("UTF-8"); +#endif } else { continue; } @@ -2104,7 +2150,11 @@ if (langTrFile.open(QIODevice::WriteOnly)) { bool trBeg = false; QTextStream streamOutput(&langTrFile); +#if USE_QT_VERSION == 6 + streamInput.setEncoding(QStringConverter::Utf8); +#else streamOutput.setCodec("UTF-8"); +#endif while (trBeg == false) { QString line; @@ -2132,7 +2182,11 @@ ll.replace( "&", "&"); ll.replace( ">", ">"); ll.replace( "<", "<"); +#if USE_QT_VERSION == 6 + streamOutput << QString().asprintf("t%03d=", i) << ll << "\r\n"; +#else streamOutput << QString().sprintf("t%03d=", i) << ll << "\r\n"; +#endif } } } @@ -2630,7 +2684,7 @@ (static_cast(widgets[2]))->textEdit->setText(str); - str = (static_cast(widgets[2]))->comb01; + str = translate((static_cast(widgets[2]))->comb01); sList = str.split("\n"); GetProfile("CurrentURLList", str); diff -Nru httraqt-1.4.9/sources/main/includes/AboutDialog.h httraqt-1.4.11/sources/main/includes/AboutDialog.h --- httraqt-1.4.9/sources/main/includes/AboutDialog.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/AboutDialog.h 2023-01-04 14:27:04.000000000 +0000 @@ -34,7 +34,7 @@ { Q_OBJECT public: - AboutDialog(QWidget *parent = 0, Qt::WindowFlags fl = 0); + AboutDialog(QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); private: diff -Nru httraqt-1.4.9/sources/main/includes/buttonPanel.h httraqt-1.4.11/sources/main/includes/buttonPanel.h --- httraqt-1.4.9/sources/main/includes/buttonPanel.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/buttonPanel.h 2023-01-04 14:27:43.000000000 +0000 @@ -31,7 +31,7 @@ { Q_OBJECT public: - buttonPanel(QWidget *parent = 0, Qt::WindowFlags fl = 0); + buttonPanel(QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); void translateButtons(); void onButtons(int n); diff -Nru httraqt-1.4.9/sources/main/includes/ConfirmTab.h httraqt-1.4.11/sources/main/includes/ConfirmTab.h --- httraqt-1.4.9/sources/main/includes/ConfirmTab.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/ConfirmTab.h 2023-01-04 14:27:11.000000000 +0000 @@ -32,7 +32,7 @@ { Q_OBJECT public: - ConfirmTab(QWidget *parent = 0, Qt::WindowFlags fl = 0); + ConfirmTab(QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); void translateTab(); protected: diff -Nru httraqt-1.4.9/sources/main/includes/FinalTab.h httraqt-1.4.11/sources/main/includes/FinalTab.h --- httraqt-1.4.9/sources/main/includes/FinalTab.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/FinalTab.h 2023-01-04 14:27:18.000000000 +0000 @@ -33,7 +33,7 @@ { Q_OBJECT public: - FinalTab(QWidget *parent = 0, Qt::WindowFlags fl = 0); + FinalTab(QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); public slots: void translateTab(void); diff -Nru httraqt-1.4.9/sources/main/includes/httraqt.h httraqt-1.4.11/sources/main/includes/httraqt.h --- httraqt-1.4.9/sources/main/includes/httraqt.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/httraqt.h 2023-01-04 16:05:40.000000000 +0000 @@ -20,12 +20,21 @@ using namespace std; +#include "../../version.h" + #include #include #include #include #include + +#if USE_QT_VERSION == 6 +#include +#else #include +#endif + + #include #include #include @@ -142,12 +151,19 @@ }; +#if USE_QT_VERSION == 6 +class DirModel : public QFileSystemModel +{ + public: + QVariant headerData ( int section, Qt::Orientation orientation, int role ) const; +}; +#else class DirModel : public QDirModel { public: QVariant headerData ( int section, Qt::Orientation orientation, int role ) const; }; - +#endif class MyThread : public QThread { @@ -161,7 +177,7 @@ Q_OBJECT public: - HTTraQt(QWidget* parent = 0, Qt::WindowFlags flags = 0); + HTTraQt(QWidget* parent = 0, Qt::WindowFlags flags = Qt::WindowType::Widget); ~HTTraQt(); bool rebuildWorkDirView(); void activatePage(int pagenum); diff -Nru httraqt-1.4.9/sources/main/includes/NewProjTab.h httraqt-1.4.11/sources/main/includes/NewProjTab.h --- httraqt-1.4.9/sources/main/includes/NewProjTab.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/NewProjTab.h 2023-01-04 14:27:25.000000000 +0000 @@ -32,7 +32,7 @@ Q_OBJECT public: - NewProjTab(QWidget* parent = 0, Qt::WindowFlags fl = 0); + NewProjTab(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~NewProjTab(); void translateTab(); bool testIt(); diff -Nru httraqt-1.4.9/sources/main/includes/OptionsTab.h httraqt-1.4.11/sources/main/includes/OptionsTab.h --- httraqt-1.4.9/sources/main/includes/OptionsTab.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/OptionsTab.h 2023-01-04 16:21:21.000000000 +0000 @@ -34,7 +34,7 @@ { Q_OBJECT public: - OptionsTab(QWidget *parent = 0, Qt::WindowFlags fl = 0); + OptionsTab(QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); bool testIt(); void translateTab(); void updateLastAction(); diff -Nru httraqt-1.4.9/sources/main/includes/ProgressTab.h httraqt-1.4.11/sources/main/includes/ProgressTab.h --- httraqt-1.4.9/sources/main/includes/ProgressTab.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/ProgressTab.h 2023-01-04 14:27:31.000000000 +0000 @@ -37,7 +37,7 @@ { Q_OBJECT public: - ProgressTab(QWidget *parent = 0, Qt::WindowFlags fl = 0); + ProgressTab(QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); void translateTab(); void inProcessRefresh(); diff -Nru httraqt-1.4.9/sources/main/includes/StartTab.h httraqt-1.4.11/sources/main/includes/StartTab.h --- httraqt-1.4.9/sources/main/includes/StartTab.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/includes/StartTab.h 2023-01-04 14:27:38.000000000 +0000 @@ -31,7 +31,7 @@ { Q_OBJECT public: - StartTab(QWidget *parent = 0, Qt::WindowFlags fl = 0); + StartTab(QWidget *parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); void translateTab(); protected: diff -Nru httraqt-1.4.9/sources/main/options.cpp httraqt-1.4.11/sources/main/options.cpp --- httraqt-1.4.9/sources/main/options.cpp 2017-02-16 19:09:06.000000000 +0000 +++ httraqt-1.4.11/sources/main/options.cpp 2023-01-05 12:43:51.000000000 +0000 @@ -23,6 +23,7 @@ #include #include "includes/options.h" +#include "../version.h" // init of static object QMap cOptions::prOptions; @@ -188,7 +189,11 @@ if ((*iopt).toFloat() >= 0) { float fTmp = (*iopt).toFloat(); QString fTxt; +#if USE_QT_VERSION == 6 + fTxt = QString().asprintf("%6.4f", fTmp); +#else fTxt = QString().sprintf("%6.4f", fTmp); +#endif //qDebug() << "save" << (*iopt).name << fTxt; s->setValue(iopt.key(), (qint64)( fTxt.toFloat() * 1024.0 * 1024.0)); } else { @@ -268,7 +273,11 @@ if (iOk == true) { if (tFloat >= 0) { QString tTxt; +#if USE_QT_VERSION == 6 + tTxt = QString().asprintf("%6.4f", tFloat / (1024.0 * 1024.0)); +#else tTxt = QString().sprintf("%6.4f", tFloat / (1024.0 * 1024.0)); +#endif tFloat = tTxt.toFloat(); } @@ -1101,7 +1110,7 @@ prOptions[ "Travel" ] = 1; prOptions[ "GlobalTravel" ] = 0; prOptions[ "RewriteLinks" ] = 0; - prOptions[ "Footer" ] = ""; + prOptions[ "Footer" ] = ""; prOptions[ "Cache" ] = 1; prOptions[ "TimeOut" ] = -1; prOptions[ "Sockets" ] = 8; diff -Nru httraqt-1.4.9/sources/main/OptionsTab.cpp httraqt-1.4.11/sources/main/OptionsTab.cpp --- httraqt-1.4.9/sources/main/OptionsTab.cpp 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/OptionsTab.cpp 2023-01-05 10:26:02.000000000 +0000 @@ -241,7 +241,11 @@ label1286->setText(name); QTextStream in(&fileName); +#if USE_QT_VERSION == 6 + in.setEncoding(QStringConverter::Utf8); +#else in.setCodec("UTF-8"); +#endif while (!in.atEnd()) { QString line = in.readLine(); diff -Nru httraqt-1.4.9/sources/main/ProgressTab.cpp httraqt-1.4.11/sources/main/ProgressTab.cpp --- httraqt-1.4.9/sources/main/ProgressTab.cpp 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/ProgressTab.cpp 2023-01-05 11:08:52.000000000 +0000 @@ -206,12 +206,24 @@ l_process->setText(translate(_INPROGRESS) + " " + parent->currentProject); +#if USE_QT_VERSION == 6 + + if (parent->SInfo.stat_back) { + lnk.asprintf("%d/%d (+%d)", parent->SInfo.lien_n, parent->SInfo.lien_tot - 1, parent->SInfo.stat_back); + } else { + lnk.asprintf("%d/%d", parent->SInfo.lien_n, parent->SInfo.lien_tot - 1); + } + +#else + if (parent->SInfo.stat_back) { lnk.sprintf("%d/%d (+%d)", parent->SInfo.lien_n, parent->SInfo.lien_tot - 1, parent->SInfo.stat_back); } else { lnk.sprintf("%d/%d", parent->SInfo.lien_n, parent->SInfo.lien_tot - 1); } +#endif + bool isIconic = parent->trayIcon->isVisible(); // not Iconmodus @@ -273,6 +285,17 @@ } float mbytes = parent->SInfo.stat_bytes / (1024.0 * 1024.0); +#if USE_QT_VERSION == 6 + + if (mbytes > 1.0 && mbytes < 1024.0) { + i0->setText(QString().asprintf("%.2f MB", mbytes)); // bytes + } else if (mbytes > 1024.0) { + i0->setText(QString().asprintf("%.4f GB", mbytes / 1024.0)); // bytes + } else { + i0->setText(QString::number(parent->SInfo.stat_bytes)); + } + +#else if (mbytes > 1.0 && mbytes < 1024.0) { i0->setText(QString().sprintf("%.2f MB", mbytes)); // bytes @@ -282,6 +305,7 @@ i0->setText(QString::number(parent->SInfo.stat_bytes)); } +#endif i2->setText(lnk); // scanned if (parent->SInfo.stat_nsocket > 0 /*&& parent->SInfo.stat_nsocket < 32*/) { @@ -297,8 +321,11 @@ parent->SInfo.rate = 0; } +#if USE_QT_VERSION == 6 + st.asprintf("%d (%d)", parent->SInfo.irate, parent->SInfo.rate); +#else st.sprintf("%d (%d)", parent->SInfo.irate, parent->SInfo.rate); - +#endif i4->setText(st); // rate i5->setText(QString::number(parent->SInfo.stat_errors)); @@ -312,12 +339,23 @@ pc = (int)((parent->SInfo.stat_updated * 100) / (parent->SInfo.stat_written)); } +#if USE_QT_VERSION == 6 + + if (pc) { + tempo.asprintf("%d (%d%%)", parent->SInfo.stat_updated, pc); + } else { + tempo.asprintf("%d", parent->SInfo.stat_updated); + } + +#else + if (pc) { tempo.sprintf("%d (%d%%)", parent->SInfo.stat_updated, pc); } else { tempo.sprintf("%d", parent->SInfo.stat_updated); } +#endif i7->setText(tempo); // for (int j = 0; j < NStatsBuffer; j++) { @@ -337,6 +375,19 @@ QLabel *tsize = (QLabel*) progressSheet->cellWidget(i, SIZE_COLUMN); qint64 sz = parent->StatsBuffer[i].sizeTotal; QString s; +#if USE_QT_VERSION == 6 + + if (sz < 1e3) { // bytes + s.asprintf("%4.1f B", (float)sz); + } else if ((sz >= 1000) && (sz < 1e6)) { // kBytes + s.asprintf("%4.1f kB", (float)(sz / 1024.0)); + } else if ((sz >= 1e6) && (sz < 1e9)) { // kBytes + s.asprintf("%4.1f MB", (float)(sz / (1024.0 * 1024.0))); + } else { // mbytes + s.asprintf("%4.1f GB", (float)(sz / (1024.0 * 1024.0 * 1024.0))); + } + +#else if (sz < 1e3) { // bytes s.sprintf("%4.1f B", (float)sz); @@ -348,6 +399,8 @@ s.sprintf("%4.1f GB", (float)(sz / (1024.0 * 1024.0 * 1024.0))); } +#endif + if (s.length() > 0) { tsize->setText(s); } @@ -472,6 +525,17 @@ } ti->setText(translate(_WAITSPECHOUR)); +#if USE_QT_VERSION == 6 + + if (isIconic == true /*&& ( !this_CSplitterFrame->iconifie )*/) { // minimise mais pas en icone + info.asprintf("[%d s]", parent->SInfo.stat_time); + parent->trayIcon->setToolTip(info); + } else { + info = translate(_MIRRWAIT); + info.replace("%d", QString::number(parent->SInfo.stat_time)); + } + +#else if (isIconic == true /*&& ( !this_CSplitterFrame->iconifie )*/) { // minimise mais pas en icone info.sprintf("[%d s]", parent->SInfo.stat_time); @@ -480,12 +544,23 @@ info = translate(_MIRRWAIT); info.replace("%d", QString::number(parent->SInfo.stat_time)); } + +#endif } else { if (isIconic == true ) { // iconmodus info = QString("[" + lnk + "]"); parent->trayIcon->setToolTip(info); } else { QString byteb; +#if USE_QT_VERSION == 6 + + if (parent->SInfo.stat_bytes > (1024.0 * 1024.0)) { + byteb = QString().asprintf("%.2f MB", parent->SInfo.stat_bytes / (1024.0 * 1024.0)); // bytes + } else { + byteb = QString().asprintf("%d B", parent->SInfo.stat_bytes); + } + +#else if (parent->SInfo.stat_bytes > (1024.0 * 1024.0)) { byteb = QString().sprintf("%.2f MB", parent->SInfo.stat_bytes / (1024.0 * 1024.0)); // bytes @@ -493,6 +568,7 @@ byteb = QString().sprintf("%d B", parent->SInfo.stat_bytes); } +#endif info = translate(_MIRRINPROGRESS); if (byteb.length() > 0) { diff -Nru httraqt-1.4.9/sources/main/StartTab.cpp httraqt-1.4.11/sources/main/StartTab.cpp --- httraqt-1.4.9/sources/main/StartTab.cpp 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/StartTab.cpp 2023-01-05 10:31:52.000000000 +0000 @@ -52,7 +52,11 @@ } label01->setText(translate(_WELCOME)); +#if USE_QT_VERSION == 6 + v = QString().asprintf("%s v.%s (%s)", PROGRAM_NAME, HTTQTVERSION, PROGRAM_DATE); +#else v = QString().sprintf("%s v.%s (%s)", PROGRAM_NAME, HTTQTVERSION, PROGRAM_DATE); +#endif l_version->setText(v); } diff -Nru httraqt-1.4.9/sources/main/translator.cpp httraqt-1.4.11/sources/main/translator.cpp --- httraqt-1.4.9/sources/main/translator.cpp 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/main/translator.cpp 2023-01-05 11:08:52.000000000 +0000 @@ -554,7 +554,11 @@ // qDebug() << fname; QTextStream stream(&langFile); +#if USE_QT_VERSION == 6 + stream.setEncoding(QStringConverter::Utf8); +#else stream.setCodec("UTF-8"); +#endif QString llEng = stream.readLine(); @@ -576,8 +580,13 @@ while (!stream.atEnd()) { llEng = stream.readLine(); llEng = convertString(llEng); +#if USE_QT_VERSION == 6 + QRegularExpression r = QRegularExpression("t[0-9]{3}="); +#else + QRegExp r = QRegExp("t[0-9]{3}="); +#endif - if (llEng.indexOf(QRegExp("t[0-9]{3}=")) == 0) { + if (llEng.indexOf(r) == 0) { int num, pos; QString str; pos = llEng.indexOf("="); diff -Nru httraqt-1.4.9/sources/options/CMakeLists.txt httraqt-1.4.11/sources/options/CMakeLists.txt --- httraqt-1.4.9/sources/options/CMakeLists.txt 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/CMakeLists.txt 2023-01-05 10:06:34.000000000 +0000 @@ -30,7 +30,6 @@ ${CMAKE_CURRENT_SOURCE_DIR}/includes/optionsspider.h PARENT_SCOPE) - set(OPT_FORMS ${CMAKE_CURRENT_SOURCE_DIR}/forms/OptionsBrowser.ui ${CMAKE_CURRENT_SOURCE_DIR}/forms/OptionsBuild.ui ${CMAKE_CURRENT_SOURCE_DIR}/forms/BuildStringDialog.ui diff -Nru httraqt-1.4.9/sources/options/includes/optionsbrowser.h httraqt-1.4.11/sources/options/includes/optionsbrowser.h --- httraqt-1.4.9/sources/options/includes/optionsbrowser.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsbrowser.h 2023-01-04 14:27:55.000000000 +0000 @@ -33,7 +33,7 @@ Q_OBJECT public: - optionsBrowser(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsBrowser(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsBrowser(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionsbuild.h httraqt-1.4.11/sources/options/includes/optionsbuild.h --- httraqt-1.4.9/sources/options/includes/optionsbuild.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsbuild.h 2023-01-04 14:28:01.000000000 +0000 @@ -33,7 +33,7 @@ Q_OBJECT public: - optionsBuild(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsBuild(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsBuild(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/OptionsDialog.h httraqt-1.4.11/sources/options/includes/OptionsDialog.h --- httraqt-1.4.9/sources/options/includes/OptionsDialog.h 2017-02-16 13:23:16.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/OptionsDialog.h 2023-01-04 14:26:39.000000000 +0000 @@ -89,7 +89,7 @@ { Q_OBJECT public: - OptionsDialog(QWidget * parent = 0, Qt::WindowFlags f = 0); + OptionsDialog(QWidget * parent = 0, Qt::WindowFlags f = Qt::WindowType::Widget); ~OptionsDialog(); void onSetDefOptions(); diff -Nru httraqt-1.4.9/sources/options/includes/optionsexperts.h httraqt-1.4.11/sources/options/includes/optionsexperts.h --- httraqt-1.4.9/sources/options/includes/optionsexperts.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsexperts.h 2023-01-04 14:28:11.000000000 +0000 @@ -33,7 +33,7 @@ Q_OBJECT public: - optionsExperts(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsExperts(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsExperts(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionsflow.h httraqt-1.4.11/sources/options/includes/optionsflow.h --- httraqt-1.4.9/sources/options/includes/optionsflow.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsflow.h 2023-01-04 14:28:07.000000000 +0000 @@ -34,7 +34,7 @@ Q_OBJECT public: - optionsFlow(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsFlow(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsFlow(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionslimits.h httraqt-1.4.11/sources/options/includes/optionslimits.h --- httraqt-1.4.9/sources/options/includes/optionslimits.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionslimits.h 2023-01-04 14:28:15.000000000 +0000 @@ -33,7 +33,7 @@ Q_OBJECT public: - optionsLimits(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsLimits(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsLimits(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionslinks.h httraqt-1.4.11/sources/options/includes/optionslinks.h --- httraqt-1.4.9/sources/options/includes/optionslinks.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionslinks.h 2023-01-04 14:28:21.000000000 +0000 @@ -33,7 +33,7 @@ Q_OBJECT public: - optionsLinks(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsLinks(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsLinks(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionslog.h httraqt-1.4.11/sources/options/includes/optionslog.h --- httraqt-1.4.9/sources/options/includes/optionslog.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionslog.h 2023-01-04 14:28:26.000000000 +0000 @@ -34,7 +34,7 @@ Q_OBJECT public: - optionsLog(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsLog(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsLog(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionsmime.h httraqt-1.4.11/sources/options/includes/optionsmime.h --- httraqt-1.4.9/sources/options/includes/optionsmime.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsmime.h 2023-01-04 14:28:30.000000000 +0000 @@ -34,7 +34,7 @@ Q_OBJECT public: - optionsMime(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsMime(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsMime(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionsproxy.h httraqt-1.4.11/sources/options/includes/optionsproxy.h --- httraqt-1.4.9/sources/options/includes/optionsproxy.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsproxy.h 2023-01-04 14:28:35.000000000 +0000 @@ -34,7 +34,7 @@ Q_OBJECT public: - optionsProxy(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsProxy(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsProxy(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/includes/optionsrulez.h httraqt-1.4.11/sources/options/includes/optionsrulez.h --- httraqt-1.4.9/sources/options/includes/optionsrulez.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsrulez.h 2023-01-04 14:28:39.000000000 +0000 @@ -34,7 +34,7 @@ Q_OBJECT public: - optionsRulez(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsRulez(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsRulez(); /*$PUBLIC_FUNCTIONS$*/ diff -Nru httraqt-1.4.9/sources/options/includes/optionsspider.h httraqt-1.4.11/sources/options/includes/optionsspider.h --- httraqt-1.4.9/sources/options/includes/optionsspider.h 2017-01-27 18:18:36.000000000 +0000 +++ httraqt-1.4.11/sources/options/includes/optionsspider.h 2023-01-04 14:24:58.000000000 +0000 @@ -34,7 +34,7 @@ Q_OBJECT public: - optionsSpider(QWidget* parent = 0, Qt::WindowFlags fl = 0); + optionsSpider(QWidget* parent = 0, Qt::WindowFlags fl = Qt::WindowType::Widget); ~optionsSpider(); /*$PUBLIC_FUNCTIONS$*/ private: diff -Nru httraqt-1.4.9/sources/options/optionsbrowser.cpp httraqt-1.4.11/sources/options/optionsbrowser.cpp --- httraqt-1.4.9/sources/options/optionsbrowser.cpp 2017-02-16 08:27:19.000000000 +0000 +++ httraqt-1.4.11/sources/options/optionsbrowser.cpp 2023-01-05 12:43:51.000000000 +0000 @@ -107,12 +107,17 @@ // brws_list[5] << "Mozilla/4.05 [fr] (%s; I)"; brws_list[5] << "Lynx/2.8rel.3 libwww-FM/2.14"; - +#if USE_QT_VERSION == 6 + brws_list[6] << "Mozilla/4.5 (compatible; HTTraQt 1.0x; %s)" + << "HyperBrowser (%s)" + // << QString(PROGRAM_NAME + " " + PROGRAM_VERSION) + << QString().asprintf(PROGRAM_FULL_NAME, HTTQTVERSION) + " (offline browser; web mirror utility)"; +#else brws_list[6] << "Mozilla/4.5 (compatible; HTTraQt 1.0x; %s)" << "HyperBrowser (%s)" // << QString(PROGRAM_NAME + " " + PROGRAM_VERSION) << QString().sprintf(PROGRAM_FULL_NAME, HTTQTVERSION) + " (offline browser; web mirror utility)"; - +#endif // selectOnCombo ( *label1053, brws_list, "UserID" ); @@ -149,7 +154,7 @@ browserForm::label1053_2->insertItems(0, os); QStringList footer; - footer << "" + footer << "" << "" << "" << "" diff -Nru httraqt-1.4.9/sources/options/optionsmime.cpp httraqt-1.4.11/sources/options/optionsmime.cpp --- httraqt-1.4.9/sources/options/optionsmime.cpp 2017-02-16 08:27:38.000000000 +0000 +++ httraqt-1.4.11/sources/options/optionsmime.cpp 2023-01-05 10:49:27.000000000 +0000 @@ -71,12 +71,21 @@ }; for (int i = 0; i < 8; i++) { +#if USE_QT_VERSION == 6 + *opts << (trWidgets) { + ident[i], -1, QString().asprintf("MIMEDefsExt%d", (i + 1)), COMBOBOX, "" + }; + *opts << (trWidgets) { + mime[i], -1, QString().asprintf("MIMEDefsMime%d", (i + 1)), COMBOBOX, "" + }; +#else *opts << (trWidgets) { ident[i], -1, QString().sprintf("MIMEDefsExt%d", (i + 1)), COMBOBOX, "" }; *opts << (trWidgets) { mime[i], -1, QString().sprintf("MIMEDefsMime%d", (i + 1)), COMBOBOX, "" }; +#endif } } diff -Nru httraqt-1.4.9/sources/version.h httraqt-1.4.11/sources/version.h --- httraqt-1.4.9/sources/version.h 2017-06-01 16:24:39.000000000 +0000 +++ httraqt-1.4.11/sources/version.h 2023-01-05 12:43:51.000000000 +0000 @@ -1,9 +1,9 @@ #ifndef HTTVERSION_H #define HTTVERSION_H -#define HTTQTVERSION "1.4.9" -#define PROGRAM_DATE "01 Jun 2017" +#define HTTQTVERSION "1.4.11" +#define PROGRAM_DATE "05 Jan 2023" -#define USE_QT_VERSION 5 +#define USE_QT_VERSION 6 #endif