version 2.12.1

This commit is contained in:
Daniel Tartavel 2024-08-03 15:22:35 +02:00
parent 916cbc6d5b
commit ec38ce4ec3
12 changed files with 614 additions and 303 deletions

173
Makefile
View File

@ -1,9 +1,9 @@
#############################################################################
# Makefile for building: RsyncUI
# Generated by qmake (3.1) (Qt 5.15.2)
# Generated by qmake (3.1) (Qt 5.15.7)
# Project: RsyncUI.pro
# Template: app
# Command: /usr/bin/qmake -o Makefile RsyncUI.pro
# Command: /usr/lib64/qt5/bin/qmake -o Makefile RsyncUI.pro -spec linux-g++
#############################################################################
MAKEFILE = Makefile
@ -14,11 +14,11 @@ EQ = =
CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_XML_LIB -DQT_DBUS_LIB -DQT_CORE_LIB
DEFINES = -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_DBUS_LIB -DQT_CORE_LIB
CFLAGS = -pipe -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS = -pipe -std=gnu++0x -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
INCPATH = -I. -I/usr/include/KF5 -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++
QMAKE = /usr/bin/qmake
CXXFLAGS = -pipe -std=gnu++0x -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -std=gnu++1z -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
INCPATH = -I. -I/usr/include/KF5 -I/usr/include/qt5keychain -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/KF5/KConfig -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++
QMAKE = /usr/lib64/qt5/bin/qmake
DEL_FILE = rm -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
@ -28,8 +28,8 @@ COPY_DIR = cp -f -R
INSTALL_FILE = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR = cp -f -R
QINSTALL = /usr/bin/qmake -install qinstall
QINSTALL_PROGRAM = /usr/bin/qmake -install qinstall -exe
QINSTALL = /usr/lib64/qt5/bin/qmake -install qinstall
QINSTALL_PROGRAM = /usr/lib64/qt5/bin/qmake -install qinstall -exe
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
@ -40,7 +40,7 @@ DISTNAME = RsyncUI1.0.0
DISTDIR = /home/daniel/develop/RsyncUI/.tmp/RsyncUI1.0.0
LINK = g++
LFLAGS = -Wl,-O1
LIBS = $(SUBLIBS) /usr/lib64/libKF5ItemViews.so /usr/lib64/libKF5Completion.so /usr/lib64/libQt5Widgets.so /usr/lib64/libKF5ConfigGui.so /usr/lib64/libQt5Gui.so /usr/lib64/libQt5Concurrent.so /usr/lib64/libKF5ConfigCore.so /usr/lib64/libQt5Xml.so /usr/lib64/libKF5CoreAddons.so /usr/lib64/libKF5DBusAddons.so /usr/lib64/libQt5DBus.so /usr/lib64/libQt5Core.so -lGL -lpthread
LIBS = $(SUBLIBS) -lqt5keychain /usr/lib64/libKF5ItemViews.so /usr/lib64/libKF5Completion.so /usr/lib64/libQt5Widgets.so /usr/lib64/libKF5ConfigGui.so /usr/lib64/libQt5Gui.so /usr/lib64/libKF5ConfigCore.so /usr/lib64/libQt5Xml.so /usr/lib64/libKF5CoreAddons.so /usr/lib64/libKF5DBusAddons.so /usr/lib64/libQt5DBus.so /usr/lib64/libQt5Core.so -lGL -lpthread
AR = ar cqs
RANLIB =
SED = sed
@ -55,15 +55,18 @@ OBJECTS_DIR = ./
SOURCES = downloadfile.cpp \
main.cpp \
mainwindow.cpp \
password.cpp \
tools.cpp moc_downloadfile.cpp \
moc_mainwindow.cpp
OBJECTS = downloadfile.o \
main.o \
mainwindow.o \
password.o \
tools.o \
moc_downloadfile.o \
moc_mainwindow.o
DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
DIST = RsyncUI.desktop \
/usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/common/unix.conf \
/usr/lib64/qt5/mkspecs/common/linux.conf \
/usr/lib64/qt5/mkspecs/common/sanitize.conf \
@ -168,6 +171,8 @@ DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/modules/qt_lib_quick_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_serialport.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_serialport_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \
@ -179,6 +184,10 @@ DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandclient.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri \
@ -196,10 +205,12 @@ DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Qt5Keychain.pri \
/usr/lib64/qt5/mkspecs/modules/qt_QuickAddons.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Syndication.pri \
/usr/lib64/qt5/mkspecs/modules/qt_ThreadWeaver.pri \
/usr/lib64/qt5/mkspecs/features/qt_functions.prf \
/usr/lib64/qt5/mkspecs/features/qt_config.prf \
@ -228,11 +239,14 @@ DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/features/exceptions.prf \
/usr/lib64/qt5/mkspecs/features/yacc.prf \
/usr/lib64/qt5/mkspecs/features/lex.prf \
RsyncUI.pro downloadfile.h \
RsyncUI.pro version.h \
downloadfile.h \
mainwindow.h \
password.h \
tools.h downloadfile.cpp \
main.cpp \
mainwindow.cpp \
password.cpp \
tools.cpp
QMAKE_TARGET = RsyncUI
DESTDIR =
@ -242,7 +256,7 @@ TARGET = RsyncUI
first: all
####### Build rules
RsyncUI: ui_mainwindow.h $(OBJECTS)
RsyncUI: ui_about.h ui_configuration.h ui_mainwindow.h $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
@ -350,6 +364,8 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_quick_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_serialport.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_serialport_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \
@ -361,6 +377,10 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandclient.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri \
@ -378,10 +398,12 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Qt5Keychain.pri \
/usr/lib64/qt5/mkspecs/modules/qt_QuickAddons.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Syndication.pri \
/usr/lib64/qt5/mkspecs/modules/qt_ThreadWeaver.pri \
/usr/lib64/qt5/mkspecs/features/qt_functions.prf \
/usr/lib64/qt5/mkspecs/features/qt_config.prf \
@ -411,7 +433,7 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/features/yacc.prf \
/usr/lib64/qt5/mkspecs/features/lex.prf \
RsyncUI.pro
$(QMAKE) -o Makefile RsyncUI.pro
$(QMAKE) -o Makefile RsyncUI.pro -spec linux-g++
/usr/lib64/qt5/mkspecs/features/spec_pre.prf:
/usr/lib64/qt5/mkspecs/common/unix.conf:
/usr/lib64/qt5/mkspecs/common/linux.conf:
@ -517,6 +539,8 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_quick_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_serialport.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_serialport_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_service_support_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri:
@ -528,6 +552,10 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandclient.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandclient_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri:
@ -545,10 +573,12 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_Qt5Keychain.pri:
/usr/lib64/qt5/mkspecs/modules/qt_QuickAddons.pri:
/usr/lib64/qt5/mkspecs/modules/qt_Solid.pri:
/usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri:
/usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.pri:
/usr/lib64/qt5/mkspecs/modules/qt_Syndication.pri:
/usr/lib64/qt5/mkspecs/modules/qt_ThreadWeaver.pri:
/usr/lib64/qt5/mkspecs/features/qt_functions.prf:
/usr/lib64/qt5/mkspecs/features/qt_config.prf:
@ -579,7 +609,7 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/features/lex.prf:
RsyncUI.pro:
qmake: FORCE
@$(QMAKE) -o Makefile RsyncUI.pro
@$(QMAKE) -o Makefile RsyncUI.pro -spec linux-g++
qmake_all: FORCE
@ -593,10 +623,10 @@ distdir: FORCE
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
$(COPY_FILE) --parents /usr/lib64/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
$(COPY_FILE) --parents downloadfile.h mainwindow.h tools.h $(DISTDIR)/
$(COPY_FILE) --parents downloadfile.cpp main.cpp mainwindow.cpp tools.cpp $(DISTDIR)/
$(COPY_FILE) --parents mainwindow.ui $(DISTDIR)/
$(COPY_FILE) --parents languages/RsyncUI_fr_FR.ts $(DISTDIR)/
$(COPY_FILE) --parents version.h downloadfile.h mainwindow.h password.h tools.h $(DISTDIR)/
$(COPY_FILE) --parents downloadfile.cpp main.cpp mainwindow.cpp password.cpp tools.cpp $(DISTDIR)/
$(COPY_FILE) --parents about.ui configuration.ui mainwindow.ui $(DISTDIR)/
$(COPY_FILE) --parents RsyncUI_fr_FR.ts $(DISTDIR)/
clean: compiler_clean
@ -626,31 +656,43 @@ compiler_moc_predefs_make_all: moc_predefs.h
compiler_moc_predefs_clean:
-$(DEL_FILE) moc_predefs.h
moc_predefs.h: /usr/lib64/qt5/mkspecs/features/data/dummy.cpp
g++ -pipe -std=gnu++0x -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib64/qt5/mkspecs/features/data/dummy.cpp
g++ -pipe -std=gnu++0x -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -std=gnu++1z -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib64/qt5/mkspecs/features/data/dummy.cpp
compiler_moc_header_make_all: moc_downloadfile.cpp moc_mainwindow.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_downloadfile.cpp moc_mainwindow.cpp
moc_downloadfile.cpp: downloadfile.h \
ui_mainwindow.h \
moc_predefs.h \
/usr/lib64/qt5/bin/moc
/usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/10 -I/usr/include/c++/10/x86_64-mageia-linux-gnu -I/usr/include/c++/10/backward -I/usr/lib/gcc/x86_64-mageia-linux-gnu/10/include -I/usr/local/include -I/usr/include downloadfile.h -o moc_downloadfile.cpp
/usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/qt5keychain -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/KF5/KConfig -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/12 -I/usr/include/c++/12/x86_64-mageia-linux -I/usr/include/c++/12/backward -I/usr/lib/gcc/x86_64-mageia-linux/12/include -I/usr/local/include -I/usr/include downloadfile.h -o moc_downloadfile.cpp
moc_mainwindow.cpp: mainwindow.h \
downloadfile.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h \
mainwindow.h \
moc_predefs.h \
/usr/lib64/qt5/bin/moc
/usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/10 -I/usr/include/c++/10/x86_64-mageia-linux-gnu -I/usr/include/c++/10/backward -I/usr/lib/gcc/x86_64-mageia-linux-gnu/10/include -I/usr/local/include -I/usr/include mainwindow.h -o moc_mainwindow.cpp
/usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/qt5keychain -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/KF5/KConfig -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/12 -I/usr/include/c++/12/x86_64-mageia-linux -I/usr/include/c++/12/backward -I/usr/lib/gcc/x86_64-mageia-linux/12/include -I/usr/local/include -I/usr/include mainwindow.h -o moc_mainwindow.cpp
compiler_moc_objc_header_make_all:
compiler_moc_objc_header_clean:
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all: ui_mainwindow.h
compiler_uic_make_all: ui_about.h ui_configuration.h ui_mainwindow.h
compiler_uic_clean:
-$(DEL_FILE) ui_mainwindow.h
-$(DEL_FILE) ui_about.h ui_configuration.h ui_mainwindow.h
ui_about.h: about.ui \
/usr/lib64/qt5/bin/uic
/usr/lib64/qt5/bin/uic about.ui -o ui_about.h
ui_configuration.h: configuration.ui \
/usr/lib64/qt5/bin/uic
/usr/lib64/qt5/bin/uic configuration.ui -o ui_configuration.h
ui_mainwindow.h: mainwindow.ui \
/usr/lib64/qt5/bin/uic \
/usr/include/KF5/KCompletion/kcombobox.h \
@ -670,25 +712,49 @@ compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean compiler_ui
####### Compile
downloadfile.o: downloadfile.cpp mainwindow.h \
downloadfile.h \
ui_mainwindow.h \
tools.h
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o downloadfile.o downloadfile.cpp
main.o: main.cpp mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
ui_mainwindow.h
tools.h \
password.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
mainwindow.o: mainwindow.cpp mainwindow.h \
downloadfile.h \
ui_mainwindow.h \
tools.h
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h \
version.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
tools.o: tools.cpp mainwindow.h \
password.o: password.cpp password.h \
mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
ui_mainwindow.h
tools.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o password.o password.cpp
tools.o: tools.cpp mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o tools.o tools.cpp
moc_downloadfile.o: moc_downloadfile.cpp
@ -710,19 +776,46 @@ uninstall_target: FORCE
install_lang: first FORCE
@test -d $(INSTALL_ROOT)/languages || mkdir -p $(INSTALL_ROOT)/languages
$(QINSTALL) /home/daniel/develop/RsyncUI/languages/RsyncUI_fr_FR.qm $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.qm
$(QINSTALL) /home/daniel/develop/RsyncUI/languages/RsyncUI_fr_FR.ts $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.ts
@test -d $(INSTALL_ROOT)/usr/share/locale/ || mkdir -p $(INSTALL_ROOT)/usr/share/locale/
$(QINSTALL) /home/daniel/develop/RsyncUI/languages/fr_FR $(INSTALL_ROOT)/usr/share/locale/fr_FR
uninstall_lang: FORCE
-$(DEL_FILE) -r $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.ts
-$(DEL_FILE) -r $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.qm
-$(DEL_DIR) $(INSTALL_ROOT)/languages/
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/locale/fr_FR
-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/locale/
install: install_target install_lang FORCE
install_documentation: first FORCE
@test -d $(INSTALL_ROOT)/usr/share/doc/RsyncUI || mkdir -p $(INSTALL_ROOT)/usr/share/doc/RsyncUI
$(QINSTALL) /home/daniel/develop/RsyncUI/README.md $(INSTALL_ROOT)/usr/share/doc/RsyncUI/README.md
$(QINSTALL) /home/daniel/develop/RsyncUI/README_FR.md $(INSTALL_ROOT)/usr/share/doc/RsyncUI/README_FR.md
uninstall: uninstall_target uninstall_lang FORCE
uninstall_documentation: FORCE
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/doc/RsyncUI/README_FR.md
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/doc/RsyncUI/README.md
-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/doc/RsyncUI/
install_desktopfile: first FORCE
@test -d $(INSTALL_ROOT)/usr/share/applications || mkdir -p $(INSTALL_ROOT)/usr/share/applications
$(QINSTALL) /home/daniel/develop/RsyncUI/RsyncUI.desktop $(INSTALL_ROOT)/usr/share/applications/RsyncUI.desktop
uninstall_desktopfile: FORCE
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/applications/RsyncUI.desktop
-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/applications/
install_icon: first FORCE
@test -d $(INSTALL_ROOT)/usr/share/icons/ || mkdir -p $(INSTALL_ROOT)/usr/share/icons/
$(QINSTALL) /home/daniel/develop/RsyncUI/RsyncUI.png $(INSTALL_ROOT)/usr/share/icons/RsyncUI.png
uninstall_icon: FORCE
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/icons/RsyncUI.png
-$(DEL_DIR) $(INSTALL_ROOT)/usr/share/icons/
install: install_target install_lang install_documentation install_desktopfile install_icon FORCE
uninstall: uninstall_target uninstall_lang uninstall_documentation uninstall_desktopfile uninstall_icon FORCE
FORCE:

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 9.0.1, 2023-05-01T14:24:07. -->
<!-- Written by QtCreator 9.0.1, 2024-07-18T20:40:34. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
@ -172,9 +172,172 @@
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.1</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{893f9ca6-0efa-4c08-a4a6-5a818f60a8a0}</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI/../build-RsyncUI-Desktop-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI-Desktop-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI/../build-RsyncUI-Desktop-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI-Desktop-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI/../build-RsyncUI-Desktop-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI-Desktop-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">1</value>
<value type="qlonglong">2</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>

View File

@ -2,7 +2,7 @@
Name: rsyncui
Summary: Client for rsync server
Version: 2.12
Version: 2.12.1
Release: %mkrel 1
License: GPLv3
Group: Networking/Remote access

BIN
RsyncUI_fr_FR.qm Normal file

Binary file not shown.

View File

@ -58,12 +58,12 @@
<message>
<location filename="configuration.ui" line="159"/>
<source>Automatic saving of download queue</source>
<translation>Enregistrement automatique de la file</translation>
<translation type="unfinished">Enregistrement automatique de la file de téléchargement</translation>
</message>
<message>
<location filename="configuration.ui" line="165"/>
<source>Auto save download queue</source>
<translation>Enregistrement automatique de la file d&apos;enregistrement</translation>
<translation type="unfinished">Enregistrement automatique de la file de téléchargement</translation>
</message>
</context>
<context>

View File

@ -10,7 +10,7 @@
#include <stdio.h>
#include <QMessageBox>
#include <vector>
#include <boost/algorithm/string/replace.hpp>
//#include <boost/algorithm/string/replace.hpp>
#include <memory>
#include <stdexcept>
#include <array>
@ -27,99 +27,109 @@ downloadFile::downloadFile()
//Slot activated when download is cancelled
void MainWindow::cancelled(QProcess * process)
{
bool n = 0;
bool n = 0;
process->terminate();
n = process->waitForFinished(30000);
if (n == false)
{
process->close();
}
process->terminate();
n = process->waitForFinished(30000);
if (n == false)
{
process->close();
}
}
// launch a rsync processus downloading a file
void MainWindow::download()
{
QString cmd;
QStringList param;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
QString cmd;
QStringList param;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
QString server = downloading.server;
this->downloading.process = new QProcess(this);
if (!this->downloading.user.isEmpty())
{
this->downloading.server.prepend(this->connexion.user + "@");
env.insert("RSYNC_PASSWORD", this->downloading.password); // Add an environment variable
this->downloading.process->setProcessEnvironment(env);
}
// Populating array with command and parameters for popen2
cmd = "rsync";
if (this->connexion.bandwidthLimit != 0)
{
param << "--bwlimit=" + QString::number(this->connexion.bandwidthLimit) + bwUnitChar[this->connexion.bandwidthLimitUnit];
}
param << "--port=" + QString::number(this->downloading.port);
param << "-aXP";
param << this->downloading.server + "::" + this->downloading.service + "/" + this->downloading.path << this->downloading.savePath + "/";
this->downloading.process = new QProcess(this);
if (!this->downloading.user.isEmpty())
{
this->downloading.user = this->connexion.user;
server = this->connexion.user + "@" + this->downloading.server;
env.insert("RSYNC_PASSWORD", this->downloading.password); // Add an environment variable
this->downloading.process->setProcessEnvironment(env);
}
// Populating array with command and parameters for rsync
cmd = "rsync";
if (this->connexion.bandwidthLimit != 0)
{
param << "--bwlimit=" + QString::number(this->connexion.bandwidthLimit) + bwUnitChar[this->connexion.bandwidthLimitUnit];
}
this->downloading.process->start(cmd, param);
if (downloading.ipversion == 4 || downloading.ipversion == 6)
{
param << "-" + QString::number(downloading.ipversion);
}
connect(this->downloading.process, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(downloadFinished(int, QProcess::ExitStatus)));
//connect(this->downloading.process, SIGNAL(errorOccurred(QProcess::ProcessError error)), this, SLOT(downloadProcessError(QProcess::ProcessError error)));
//connect(this->downloading.process, SIGNAL(readyReadStandardError()), this, SLOT(downloadProcessStderr()));
connect(this->downloading.process, SIGNAL(readyReadStandardOutput()), this, SLOT(readRsyncOutput()));
param << "--port" << QString::number(this->downloading.port);
param << "-aXP ";
param << server + "::" + this->downloading.service + "/" + this->downloading.path << this->downloading.savePath + "/";
qInfo("%s %s", cmd.toStdString().c_str(), param.join(" ").toStdString().c_str() );
this->downloading.process->start(cmd, param);
connect(this->downloading.process, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(downloadFinished(int, QProcess::ExitStatus)));
//connect(this->downloading.process, SIGNAL(errorOccurred(QProcess::ProcessError error)), this, SLOT(downloadProcessError(QProcess::ProcessError error)));
//connect(this->downloading.process, SIGNAL(readyReadStandardError()), this, SLOT(downloadProcessStderr()));
connect(this->downloading.process, SIGNAL(readyReadStandardOutput()), this, SLOT(readRsyncOutput()));
}
void MainWindow::readRsyncOutput()
{
QString line;
bool flag = false;
int value;
int pos;
static QString dlSpeed;
QStringList list;
static QString filename;
int i;
int listSize;
QString line;
bool flag = false;
int value;
int pos;
static QString dlSpeed;
QStringList list;
static QString filename;
int i;
int listSize;
while(!flag)
{
list.clear();
line = QString::fromUtf8(this->downloading.process->readLine());
if (line.isEmpty())
{
flag = true;
break;
}else
{
pos = line.indexOf("%");
if (pos != -1)
{
line = line.simplified();
list = line.split(" ");
listSize = list.count() / 4;
for (i = 0; i < listSize; i++)
{
value = list.at(i *4 + 1).chopped(1).toInt();
dlSpeed = list.at(i * 4 + 2);
while(!flag)
{
list.clear();
line = QString::fromUtf8(this->downloading.process->readLine());
if (line.isEmpty())
{
flag = true;
break;
}else
{
pos = line.indexOf("%");
if (pos != -1)
{
line = line.simplified();
list = line.split(" ");
listSize = list.count() / 4;
for (i = 0; i < listSize; i++)
{
value = list.at(i *4 + 1).chopped(1).toInt();
dlSpeed = list.at(i * 4 + 2);
/*line.resize(pos);
pos = line.lastIndexOf(' ');
if (pos != -1)
{
line.remove(0, pos);
value = line.toInt();*/
// sending progress to Main window
emit progressSignal(value);
emit fileName(filename + " %p%" + "\t " + dlSpeed);
}
}else
{
if (!line.contains("receiving"))
{
filename = line.remove(QChar('\n'), Qt::CaseInsensitive);
emit fileName(filename + " %p%\t " + dlSpeed);
}
}
}
}
/*line.resize(pos);
pos = line.lastIndexOf(' ');
if (pos != -1)
{
line.remove(0, pos);
value = line.toInt();*/
// sending progress to Main window
emit progressSignal(value);
emit fileName(filename + " %p%" + "\t " + dlSpeed);
}
}else
{
if (!line.contains("receiving"))
{
filename = line.remove(QChar('\n'), Qt::CaseInsensitive);
emit fileName(filename + " %p%\t " + dlSpeed);
}
}
}
}
}

View File

@ -10,11 +10,10 @@ class MainWindow;
class downloadFile : public QObject
{
Q_OBJECT
Q_OBJECT
public:
downloadFile();
bool canceled;
downloadFile();
bool canceled;
};
#endif // DOWNLOADFILE_H

View File

@ -4,28 +4,31 @@
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator myappTranslator;
QApplication a(argc, argv);
QTranslator myappTranslator;
QCoreApplication::setOrganizationName("RsyncUI");
QCoreApplication::setApplicationName("RsyncUI");
QCoreApplication::setOrganizationName("RsyncUI");
QCoreApplication::setApplicationName("RsyncUI");
// Initialization of localization
QLocale localeName = QLocale::system();
QString localeDir = "/usr/share/locale/" + localeName.name() + "/LC_MESSAGES/"; //RsyncUI_" + localeName.name() + ".qm";
QString localeFilename = QCoreApplication::applicationName() + "_" + localeName.name();
QLocale locale = QLocale();
// Initialization of localization
QLocale localeName = QLocale::system();
QString localeDir = "/usr/share/locale/" + localeName.name() + "/LC_MESSAGES/"; //RsyncUI_" + localeName.name() + ".qm";
QString localeFilename = QCoreApplication::applicationName() + "_" + localeName.name();
QLocale locale = QLocale();
if (myappTranslator.load(localeFilename, localeDir))
{
a.installTranslator(&myappTranslator);
}
if (myappTranslator.load(localeFilename, localeDir))
{
a.installTranslator(&myappTranslator);
}
static const QString appName = "RsyncUI";
// Enable logging to journald
qputenv("QT_FORCE_STDERR_LOGGING", QByteArray("0"));
//Password passwdJob;
MainWindow w;
w.show();
w.init();
return a.exec();
static const QString appName = "RsyncUI";
//Password passwdJob;
MainWindow w;
qInfo("RsyncUI begining");
w.show();
w.init();
return a.exec();
}

View File

@ -1,13 +1,11 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#define QT_USE_FAST_CONCATENATION
#define QT_USE_FAST_OPERATOR_PLUS
#include "ui_mainwindow.h"
#include "ui_configuration.h"
#include "ui_about.h"
#include "downloadfile.h"
#include "tools.h"
#include "password.h"
#include <QMainWindow>
#include <string>
#include <QTreeWidgetItem>
@ -53,180 +51,185 @@ extern QMap<int, QString> rsyncErrorStrings;
class Connexion
{
public:
int bandwidthLimit = 0;
int bandwidthLimitUnit;
int contimeout = 20;
QString server;
QString service;
QString path;
QString savePath;
QString user;
QString password;
QProcess * process = nullptr;
int port = 873;
bool comboboxChanged;
bool quit = false;
void clear();
public:
int bandwidthLimit = 0;
int bandwidthLimitUnit;
int contimeout = 20;
QString server;
QString service;
QString path;
QString savePath;
QString user;
QString password;
QProcess * process = nullptr;
int ipversion = 4;
uint port = 873;
bool quit = false;
void clear();
};
class Downloading
{
public:
QString server;
QString service;
QString path;
QString savePath;
QString user;
QString password;
int port = 873;
QProcess * process = nullptr;
bool quit = false;
void clear();
public:
QString server;
QString service;
QString path;
QString savePath;
QString user;
QString password;
int ipversion = 4;
int port = 873;
QProcess * process = nullptr;
bool quit = false;
void clear();
};
class About
{
public:
QString version;
QString author = "Daniel TARTAVEL-JEANNOT";
QString licence = "GPL_V3";
QString description;
QString email = "dtux@free.fr";
QString git = "https://git.labolyon.fr/dtux/RsyncUI/issues";
public:
QString version;
QString author = "Daniel TARTAVEL-JEANNOT";
QString licence = "GPL_V3";
QString description;
QString email = "dtux@free.fr";
QString git = "https://git.labolyon.fr/dtux/RsyncUI/issues";
};
class MainWindow : public QMainWindow
{
Q_OBJECT
Q_OBJECT
public:
Ui::MainWindow *ui;
MainWindow(QWidget *parent = nullptr);
~MainWindow();
// passwdManager;
QProgressDialog *progress;
Connexion connexion;
Connexion downloading;
QSettings settings;
About about;
QDialog Configuration;
Ui::Configuration config;
QDialog aboutDialog;
Ui::windowAbout AboutW;
std::vector <QString> serversList;
QSystemTrayIcon * trayIcon;
QString icon = "/usr/share/icons/RsyncUI.png";
bool rescan = false;
bool stopDlAsked;
bool treeviewClicked;
public:
Ui::MainWindow *ui;
MainWindow(QWidget *parent = nullptr);
~MainWindow();
// passwdManager;
QProgressDialog *progress;
Connexion connexion;
Connexion downloading;
QSettings settings;
About about;
QDialog Configuration;
Ui::Configuration config;
QDialog aboutDialog;
Ui::windowAbout AboutW;
std::vector <QString> serversList;
QSystemTrayIcon * trayIcon;
QString icon = "/usr/share/icons/RsyncUI.png";
bool rescan = false;
bool stopDlAsked;
bool treeviewClicked;
bool initialization = true;
bool exiting = false;
QList<QString> UnitText
{
tr("B"),
tr("KB"),
tr("MB"),
tr("GB"),
tr("TB"),
tr("PB")
};
QList<QChar> bwUnitChar
{
'K',
'M',
'T',
'G',
'P'
};
QList<QString> UnitText
{
tr("B"),
tr("KB"),
tr("MB"),
tr("GB"),
tr("TB"),
tr("PB")
};
QList<QChar> bwUnitChar
{
'K',
'M',
'T',
'G',
'P'
};
QVector<QString> downloadProcessErrorString =
{
tr("The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program."),
tr("The process crashed some time after starting successfully."),
tr("The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again."),
tr("An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel."),
tr("An error occurred when attempting to read from the process. For example, the process may not be running."),
tr("An unknown error occurred. This is the default return value of error().")
};
QVector<QString> downloadProcessErrorString =
{
tr("The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program."),
tr("The process crashed some time after starting successfully."),
tr("The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again."),
tr("An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel."),
tr("An error occurred when attempting to read from the process. For example, the process may not be running."),
tr("An unknown error occurred. This is the default return value of error().")
};
void displayTree();
void populateTree();
void populateList(int);
void listServices();
bool validateServer(QString server);
bool isIpAddress(QString server);
void addTreeItem(QString name, QString fileSize, QString fullsize, QString type, QString date, bool isDir, QString dirName, QTreeWidgetItem *parent);
bool scanDir(QString server, int portN, QTreeWidgetItem *parent = NULL, QString path = "" );
void startDownloading();
void loadSettings();
void saveSettings();
void closeEvent (QCloseEvent *event);
void saveDownloadList();
void loadDownloadList();
void download();
void initSystemTrayIcon();
void hideWindow();
void showWindow();
void init();
bool getUserPassword(Connexion *);
void preparePopulateTree();
bool testServicePresence(QString, bool=false);
void passwordStore (QString account, QString password);
QString passwordGet (QString account);
void displayTree();
void populateTree();
void populateList(QString server, uint port);
void listServices();
uint validateServer(QString server);
void addTreeItem(QString name, QString fileSize, QString fullsize, QString type, QString date, bool isDir, QString dirName, QTreeWidgetItem *parent);
bool scanDir(Connexion * connexion, QTreeWidgetItem *parent = NULL, QString path = "" );
void startDownloading();
void loadSettings();
void saveSettings();
void closeEvent (QCloseEvent *event);
void saveDownloadList();
void loadDownloadList();
void deleteDownloadList();
void download();
void initSystemTrayIcon();
void hideWindow();
void showWindow();
void init();
bool getUserPassword(Connexion *);
void preparePopulateTree();
bool testServerPresence(QString, bool=false);
void passwordStore (QString account, QString password);
QString passwordGet (QString account);
private slots:
private slots:
void on_listWidget_clicked();
void on_listWidget_clicked();
void on_treeWidget_itemClicked(QTreeWidgetItem *item, bool downloadDir = false);
void on_treeWidget_itemClicked(QTreeWidgetItem *item, bool downloadDir = false);
void downloadFinished(int exitCode, QProcess::ExitStatus exitStatus);
void downloadFinished(int exitCode, QProcess::ExitStatus exitStatus);
void readRsyncOutput();
void readRsyncOutput();
void stoppingDownload();
void stoppingDownload();
void on_listDownload_itemClicked(QListWidgetItem *item);
void on_listDownload_itemClicked(QListWidgetItem *item);
void on_actionAbout_triggered();
void on_actionAbout_triggered();
void on_actionAbout_Qt_triggered();
void on_actionAbout_Qt_triggered();
void on_khistorycombobox_currentIndexChanged(int);
bool on_DefaultSaveFolder_triggered();
bool on_DefaultSaveFolder_triggered();
void on_connectButton_clicked();
void on_connectButton_clicked();
void on_action_Settings_triggered();
void on_action_Settings_triggered();
void on_actionDownload_triggered();
void on_actionDownload_triggered();
void on_comboBox_currentIndexChanged(int index);
void on_comboBox_currentIndexChanged(int index);
void on_buttonBox_accepted();
void on_buttonBox_accepted();
void cancelled(QProcess *);
void cancelled(QProcess *);
void on_trayIcon_clicked(QSystemTrayIcon::ActivationReason reason);
void on_trayIcon_clicked(QSystemTrayIcon::ActivationReason reason);
void quitApp();
void quitApp();
void on_actionExit_triggered();
void on_actionExit_triggered();
void setDlSpeed(QString speed);
void setDlSpeed(QString speed);
void on_actionHiddenService_triggered();
void on_actionHiddenService_triggered();
//void on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column);
void on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column);
//void on_khistorycombobox_currentTextChanged(const QString &arg1);
void on_khistorycombobox_currentTextChanged(const QString &arg1);
signals:
void stopDownloading(QProcess *);
void progressSignal(int);
void speed(QString);
void finishedSignal(bool = true);
void fileName(QString);
void passwordReady();
void stopDownloading(QProcess *);
void progressSignal(int);
void speed(QString);
void finishedSignal(bool = true);
void fileName(QString);
void passwordReady();
};
#endif // MAINWINDOW_H

View File

@ -12,26 +12,65 @@ extern QApplication a;
// return true in case of error
bool testRsyncReturn(MainWindow * w, QProcess * myProcess)
{
if (myProcess->exitStatus() != 0 and w->stopDlAsked != true)
{
cout << "rsync error: " << myProcess->error() << " : " << myProcess->errorString().toStdString() << endl;
QMessageBox::warning(
w,
a.applicationName(),
myProcess->errorString(),
QMessageBox::Ok,
QMessageBox::Ok);
return true;
}
w->stopDlAsked = false;
return false;
if (myProcess->exitStatus() != 0 and w->stopDlAsked != true)
{
qInfo("rsync error %i : %s ", + myProcess->error(), myProcess->errorString().toStdString().c_str());
QMessageBox::warning(
w,
a.applicationName(),
rsyncErrorStrings[myProcess->error()],
//myProcess->errorString(),
QMessageBox::Ok,
QMessageBox::Ok);
return true;
}
w->stopDlAsked = false;
return false;
}
QString getFileType(QString filename)
{
QMimeDatabase db;
QMimeType mime = db.mimeTypeForFile(filename);
QString returnValue = mime.name().section('/',0 ,0);
return returnValue;
QMimeDatabase db;
QMimeType mime = db.mimeTypeForFile(filename);
QString returnValue = mime.name().section('/',0 ,0);
return returnValue;
}
int whatIpVersion(QString ipAddress)
{
QStringList fieldList;
ulong field;
uint i;
qInfo("ipVersion %s", ipAddress.toStdString().c_str());
fieldList = ipAddress.split(":");
if (fieldList.count() == 8)
{
for (i=0;i<8;i++)
{
field = fieldList[i].toUInt();
if (field > 65535)
{
return 0;
}
}
qInfo("Address is Ip V6");
return 6;
}
fieldList = ipAddress.split(".");
if(fieldList.count() == 4)
{
for (i=0;i<4;i++)
{
field = fieldList[i].toUInt();
if (field > 255)
{
return 0;
}
}
qInfo("Address is ip V4");
return 4;
}
return 0;
}

View File

@ -19,5 +19,6 @@ int pclose2(FILE * fp, pid_t pid);
bool testRsyncReturn(MainWindow *, QProcess *);
QString getFileType(QString finename);
int whatIpVersion(QString);
#endif // TOOLS_H

View File

@ -3,6 +3,6 @@
#include <QString>
QString version = "2.11.8";
QString version = "2.12.1";
#endif // VERSION_H