Compare commits

...

46 Commits

Author SHA1 Message Date
64ef7d9c87 bug in variable initialization 2025-03-24 14:42:27 +08:00
381054b340 update RsyncUI.pro 2025-03-24 14:04:45 +08:00
470b88f422 version 2.13.2 2025-03-24 00:52:46 +08:00
a235d2f745 sauvegarde 2025-03-21 13:44:27 +01:00
00e428c5b6 version 2.13.1 2024-10-19 12:30:10 +02:00
a766bffd85 added 'suspend' button 2024-10-19 12:29:49 +02:00
200006e50f version 2.13 2024-10-18 22:41:30 +02:00
029be91dc8 added 'suspend' button 2024-10-18 22:39:09 +02:00
fe3e68d205 version 2.12.10 2024-10-18 15:56:52 +02:00
51021023fc same bug 2024-10-18 15:56:33 +02:00
8ccab25a98 version 2.12.9 2024-10-18 15:52:26 +02:00
74e2283aa0 resolved bug with space in filename 2024-10-18 15:52:13 +02:00
67fb0a4b7e version 2.12.8 2024-10-18 12:03:40 +02:00
317a6b8010 same bug 2024-10-18 12:03:30 +02:00
e278a58aae version 2.12.7 2024-10-18 11:31:49 +02:00
afe4c6e9c9 resolved blocking bug when double-click on an item in file treeview 2024-10-18 11:31:44 +02:00
fb126c8b66 version 2.12.6 2024-10-14 18:31:09 +02:00
571da3d8a3 Corrected:\n- bug on ipv6\n- bug on saving settings 2024-10-14 18:30:12 +02:00
7d59b24df0 version 2.12.5 2024-09-17 21:39:59 +02:00
d07905eff0 adding debug 2024-09-17 21:39:31 +02:00
631ab3819e version 2.12.4 2024-09-15 17:30:48 +02:00
c805c47bbc added verification on port number 2024-09-15 17:30:16 +02:00
9bf749aefd - now select directory show the current directory for the server and service 2024-09-11 15:08:28 +02:00
78fa0f2bb7 version 2.12.3 2024-09-11 14:28:37 +02:00
553d8ee5ca debug 2024-09-05 18:40:00 +02:00
b3fff3b68e version 2.12.2 2024-08-22 23:43:52 +02:00
3396fde813 - corrigé bug a la saisie du serveur\n- corrigé bug si adresse serveur vide 2024-08-22 23:08:42 +02:00
ec38ce4ec3 version 2.12.1 2024-08-03 15:22:35 +02:00
916cbc6d5b version 2.12 2023-10-11 21:40:01 +02:00
cf0216e02a bugs resolution 2023-10-10 23:14:31 +02:00
1fa3ec00bc version 2.11.8 2023-06-08 19:07:18 +02:00
b19f545958 version 2.11.7 2023-06-08 19:03:05 +02:00
f882ca5e42 bug resolved 2023-05-01 14:27:20 +02:00
c811f3db4f version 2.11.6 2023-04-27 11:43:06 +02:00
fc4f896d86 - resolved a bug in retrying donwload 2023-04-27 11:42:53 +02:00
f1a024c4b8 version 2.11.5 2023-04-26 17:30:55 +02:00
975361c8c9 bug in asking password resolved. 2023-04-26 17:30:38 +02:00
659498c826 version 2.11.4 2023-04-11 22:24:43 +02:00
636801fa29 version 2.11.3 2023-04-11 21:59:51 +02:00
de184ea284 added buildrequire in spec 2023-03-18 14:05:55 +01:00
fde12a2ebf version 2.11.2 2023-03-18 12:48:53 +01:00
cb61f40ee8 debug : scandir do not scan sub-directory 2023-03-18 12:48:39 +01:00
4c52276882 version 2.11.1 2023-03-17 13:26:01 +01:00
38c25450ed - display existing files in green and in red non-existing files but in downloaded list 2023-03-17 13:25:32 +01:00
6c19dccf2e version 2.11 2023-03-17 13:04:14 +01:00
ad3b44b3f4 added saving list of downloaded files and they are displayed in red in the treeview 2023-03-17 13:04:03 +01:00
20 changed files with 2827 additions and 1719 deletions

205
Makefile
View File

@ -1,9 +1,9 @@
############################################################################# #############################################################################
# Makefile for building: RsyncUI # 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 # Project: RsyncUI.pro
# Template: app # Template: app
# Command: /usr/bin/qmake -o Makefile RsyncUI.pro # Command: /usr/bin/qmake-qt5 -o Makefile RsyncUI.pro
############################################################################# #############################################################################
MAKEFILE = Makefile MAKEFILE = Makefile
@ -14,11 +14,11 @@ EQ = =
CC = gcc CC = gcc
CXX = g++ 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_DISABLE_DEPRECATED_BEFORE=0x060000 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_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) 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) 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/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++ 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/qt5/QtGui -I/usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++
QMAKE = /usr/bin/qmake QMAKE = /usr/bin/qmake-qt5
DEL_FILE = rm -f DEL_FILE = rm -f
CHK_DIR_EXISTS= test -d CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p MKDIR = mkdir -p
@ -28,8 +28,8 @@ COPY_DIR = cp -f -R
INSTALL_FILE = install -m 644 -p INSTALL_FILE = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR = cp -f -R INSTALL_DIR = cp -f -R
QINSTALL = /usr/bin/qmake -install qinstall QINSTALL = /usr/bin/qmake-qt5 -install qinstall
QINSTALL_PROGRAM = /usr/bin/qmake -install qinstall -exe QINSTALL_PROGRAM = /usr/bin/qmake-qt5 -install qinstall -exe
DEL_FILE = rm -f DEL_FILE = rm -f
SYMLINK = ln -f -s SYMLINK = ln -f -s
DEL_DIR = rmdir DEL_DIR = rmdir
@ -40,7 +40,7 @@ DISTNAME = RsyncUI1.0.0
DISTDIR = /home/daniel/develop/RsyncUI/.tmp/RsyncUI1.0.0 DISTDIR = /home/daniel/develop/RsyncUI/.tmp/RsyncUI1.0.0
LINK = g++ LINK = g++
LFLAGS = -Wl,-O1 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/libQt5Gui.so /usr/lib64/libQt5Core.so -lGL -lpthread
AR = ar cqs AR = ar cqs
RANLIB = RANLIB =
SED = sed SED = sed
@ -55,15 +55,18 @@ OBJECTS_DIR = ./
SOURCES = downloadfile.cpp \ SOURCES = downloadfile.cpp \
main.cpp \ main.cpp \
mainwindow.cpp \ mainwindow.cpp \
password.cpp \
tools.cpp moc_downloadfile.cpp \ tools.cpp moc_downloadfile.cpp \
moc_mainwindow.cpp moc_mainwindow.cpp
OBJECTS = downloadfile.o \ OBJECTS = downloadfile.o \
main.o \ main.o \
mainwindow.o \ mainwindow.o \
password.o \
tools.o \ tools.o \
moc_downloadfile.o \ moc_downloadfile.o \
moc_mainwindow.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/unix.conf \
/usr/lib64/qt5/mkspecs/common/linux.conf \ /usr/lib64/qt5/mkspecs/common/linux.conf \
/usr/lib64/qt5/mkspecs/common/sanitize.conf \ /usr/lib64/qt5/mkspecs/common/sanitize.conf \
@ -145,10 +148,6 @@ DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdf.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdf_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdfwidgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdfwidgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioning.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri \
@ -168,6 +167,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_quick_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.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_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_service_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \
@ -179,15 +180,12 @@ 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_texttospeech_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_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_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.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecore.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecore_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginewidgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_widgets.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_widgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri \
@ -196,10 +194,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_xkbcommon_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml.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_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_QuickAddons.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \ /usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \ /usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.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/modules/qt_ThreadWeaver.pri \
/usr/lib64/qt5/mkspecs/features/qt_functions.prf \ /usr/lib64/qt5/mkspecs/features/qt_functions.prf \
/usr/lib64/qt5/mkspecs/features/qt_config.prf \ /usr/lib64/qt5/mkspecs/features/qt_config.prf \
@ -216,9 +216,6 @@ DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/features/resources_functions.prf \ /usr/lib64/qt5/mkspecs/features/resources_functions.prf \
/usr/lib64/qt5/mkspecs/features/resources.prf \ /usr/lib64/qt5/mkspecs/features/resources.prf \
/usr/lib64/qt5/mkspecs/features/moc.prf \ /usr/lib64/qt5/mkspecs/features/moc.prf \
/usr/lib64/qt5/mkspecs/features/dbuscommon.pri \
/usr/lib64/qt5/mkspecs/features/dbusinterfaces.prf \
/usr/lib64/qt5/mkspecs/features/dbusadaptors.prf \
/usr/lib64/qt5/mkspecs/features/unix/opengl.prf \ /usr/lib64/qt5/mkspecs/features/unix/opengl.prf \
/usr/lib64/qt5/mkspecs/features/uic.prf \ /usr/lib64/qt5/mkspecs/features/uic.prf \
/usr/lib64/qt5/mkspecs/features/unix/thread.prf \ /usr/lib64/qt5/mkspecs/features/unix/thread.prf \
@ -228,11 +225,14 @@ DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
/usr/lib64/qt5/mkspecs/features/exceptions.prf \ /usr/lib64/qt5/mkspecs/features/exceptions.prf \
/usr/lib64/qt5/mkspecs/features/yacc.prf \ /usr/lib64/qt5/mkspecs/features/yacc.prf \
/usr/lib64/qt5/mkspecs/features/lex.prf \ /usr/lib64/qt5/mkspecs/features/lex.prf \
RsyncUI.pro downloadfile.h \ RsyncUI.pro version.h \
downloadfile.h \
mainwindow.h \ mainwindow.h \
password.h \
tools.h downloadfile.cpp \ tools.h downloadfile.cpp \
main.cpp \ main.cpp \
mainwindow.cpp \ mainwindow.cpp \
password.cpp \
tools.cpp tools.cpp
QMAKE_TARGET = RsyncUI QMAKE_TARGET = RsyncUI
DESTDIR = DESTDIR =
@ -242,7 +242,7 @@ TARGET = RsyncUI
first: all first: all
####### Build rules ####### 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) $(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 \ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
@ -327,10 +327,6 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdf.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdf_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdfwidgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdfwidgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioning.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri \
@ -350,6 +346,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_quick_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.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_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_service_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \
@ -361,15 +359,12 @@ 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_texttospeech_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_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_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.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecore.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecore_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginewidgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_widgets.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_widgets.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri \ /usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri \
@ -378,10 +373,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_xkbcommon_support_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml.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_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_QuickAddons.pri \
/usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \ /usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \ /usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \
/usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.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/modules/qt_ThreadWeaver.pri \
/usr/lib64/qt5/mkspecs/features/qt_functions.prf \ /usr/lib64/qt5/mkspecs/features/qt_functions.prf \
/usr/lib64/qt5/mkspecs/features/qt_config.prf \ /usr/lib64/qt5/mkspecs/features/qt_config.prf \
@ -398,9 +395,6 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/features/resources_functions.prf \ /usr/lib64/qt5/mkspecs/features/resources_functions.prf \
/usr/lib64/qt5/mkspecs/features/resources.prf \ /usr/lib64/qt5/mkspecs/features/resources.prf \
/usr/lib64/qt5/mkspecs/features/moc.prf \ /usr/lib64/qt5/mkspecs/features/moc.prf \
/usr/lib64/qt5/mkspecs/features/dbuscommon.pri \
/usr/lib64/qt5/mkspecs/features/dbusinterfaces.prf \
/usr/lib64/qt5/mkspecs/features/dbusadaptors.prf \
/usr/lib64/qt5/mkspecs/features/unix/opengl.prf \ /usr/lib64/qt5/mkspecs/features/unix/opengl.prf \
/usr/lib64/qt5/mkspecs/features/uic.prf \ /usr/lib64/qt5/mkspecs/features/uic.prf \
/usr/lib64/qt5/mkspecs/features/unix/thread.prf \ /usr/lib64/qt5/mkspecs/features/unix/thread.prf \
@ -494,10 +488,6 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdf.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdf_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdfwidgets.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_pdfwidgets_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_positioning.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri:
@ -517,6 +507,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_quick_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.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_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_service_support_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri:
@ -528,15 +520,12 @@ 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_texttospeech_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_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_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.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecore.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecore_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginewidgets.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webenginewidgets_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_widgets.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_widgets.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_widgets_private.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_widgets_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri: /usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri:
@ -545,10 +534,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_xkbcommon_support_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_xml.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_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_QuickAddons.pri:
/usr/lib64/qt5/mkspecs/modules/qt_Solid.pri: /usr/lib64/qt5/mkspecs/modules/qt_Solid.pri:
/usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri: /usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri:
/usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.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/modules/qt_ThreadWeaver.pri:
/usr/lib64/qt5/mkspecs/features/qt_functions.prf: /usr/lib64/qt5/mkspecs/features/qt_functions.prf:
/usr/lib64/qt5/mkspecs/features/qt_config.prf: /usr/lib64/qt5/mkspecs/features/qt_config.prf:
@ -565,9 +556,6 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/features/resources_functions.prf: /usr/lib64/qt5/mkspecs/features/resources_functions.prf:
/usr/lib64/qt5/mkspecs/features/resources.prf: /usr/lib64/qt5/mkspecs/features/resources.prf:
/usr/lib64/qt5/mkspecs/features/moc.prf: /usr/lib64/qt5/mkspecs/features/moc.prf:
/usr/lib64/qt5/mkspecs/features/dbuscommon.pri:
/usr/lib64/qt5/mkspecs/features/dbusinterfaces.prf:
/usr/lib64/qt5/mkspecs/features/dbusadaptors.prf:
/usr/lib64/qt5/mkspecs/features/unix/opengl.prf: /usr/lib64/qt5/mkspecs/features/unix/opengl.prf:
/usr/lib64/qt5/mkspecs/features/uic.prf: /usr/lib64/qt5/mkspecs/features/uic.prf:
/usr/lib64/qt5/mkspecs/features/unix/thread.prf: /usr/lib64/qt5/mkspecs/features/unix/thread.prf:
@ -593,10 +581,10 @@ distdir: FORCE
@test -d $(DISTDIR) || mkdir -p $(DISTDIR) @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
$(COPY_FILE) --parents /usr/lib64/qt5/mkspecs/features/data/dummy.cpp $(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 version.h downloadfile.h mainwindow.h password.h tools.h $(DISTDIR)/
$(COPY_FILE) --parents downloadfile.cpp main.cpp mainwindow.cpp tools.cpp $(DISTDIR)/ $(COPY_FILE) --parents downloadfile.cpp main.cpp mainwindow.cpp password.cpp tools.cpp $(DISTDIR)/
$(COPY_FILE) --parents mainwindow.ui $(DISTDIR)/ $(COPY_FILE) --parents about.ui configuration.ui mainwindow.ui $(DISTDIR)/
$(COPY_FILE) --parents languages/RsyncUI_fr_FR.ts $(DISTDIR)/ $(COPY_FILE) --parents RsyncUI_fr_FR.ts $(DISTDIR)/
clean: compiler_clean clean: compiler_clean
@ -626,31 +614,39 @@ compiler_moc_predefs_make_all: moc_predefs.h
compiler_moc_predefs_clean: compiler_moc_predefs_clean:
-$(DEL_FILE) moc_predefs.h -$(DEL_FILE) moc_predefs.h
moc_predefs.h: /usr/lib64/qt5/mkspecs/features/data/dummy.cpp 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_make_all: moc_downloadfile.cpp moc_mainwindow.cpp
compiler_moc_header_clean: compiler_moc_header_clean:
-$(DEL_FILE) moc_downloadfile.cpp moc_mainwindow.cpp -$(DEL_FILE) moc_downloadfile.cpp moc_mainwindow.cpp
moc_downloadfile.cpp: downloadfile.h \ moc_downloadfile.cpp: downloadfile.h \
ui_mainwindow.h \
moc_predefs.h \ moc_predefs.h \
/usr/lib64/qt5/bin/moc /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/qt5/QtGui -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 \ moc_mainwindow.cpp: mainwindow.h \
downloadfile.h \
ui_mainwindow.h \ ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
moc_predefs.h \ moc_predefs.h \
/usr/lib64/qt5/bin/moc /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/qt5/QtGui -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_make_all:
compiler_moc_objc_header_clean: compiler_moc_objc_header_clean:
compiler_moc_source_make_all: compiler_moc_source_make_all:
compiler_moc_source_clean: 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: 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 \ ui_mainwindow.h: mainwindow.ui \
/usr/lib64/qt5/bin/uic \ /usr/lib64/qt5/bin/uic \
/usr/include/KF5/KCompletion/kcombobox.h \ /usr/include/KF5/KCompletion/kcombobox.h \
@ -669,26 +665,44 @@ compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean compiler_ui
####### Compile ####### Compile
downloadfile.o: downloadfile.cpp mainwindow.h \ downloadfile.o: downloadfile.cpp downloadfile.h \
downloadfile.h \ tools.h \
mainwindow.h \
ui_mainwindow.h \ ui_mainwindow.h \
tools.h ui_configuration.h \
ui_about.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o downloadfile.o downloadfile.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o downloadfile.o downloadfile.cpp
main.o: main.cpp mainwindow.h \ main.o: main.cpp mainwindow.h \
downloadfile.h \ ui_mainwindow.h \
ui_mainwindow.h ui_configuration.h \
ui_about.h \
tools.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
mainwindow.o: mainwindow.cpp mainwindow.h \ mainwindow.o: mainwindow.cpp mainwindow.h \
downloadfile.h \
ui_mainwindow.h \ ui_mainwindow.h \
tools.h ui_configuration.h \
ui_about.h \
version.h \
tools.h \
password.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
password.o: password.cpp password.h \
tools.h \
mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o password.o password.cpp
tools.o: tools.cpp mainwindow.h \ tools.o: tools.cpp mainwindow.h \
downloadfile.h \ ui_mainwindow.h \
ui_mainwindow.h ui_configuration.h \
ui_about.h \
tools.h \
password.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o tools.o tools.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tools.o tools.cpp
moc_downloadfile.o: moc_downloadfile.cpp moc_downloadfile.o: moc_downloadfile.cpp
@ -710,19 +724,46 @@ uninstall_target: FORCE
install_lang: first FORCE install_lang: first FORCE
@test -d $(INSTALL_ROOT)/languages || mkdir -p $(INSTALL_ROOT)/languages @test -d $(INSTALL_ROOT)/usr/share/locale/ || mkdir -p $(INSTALL_ROOT)/usr/share/locale/
$(QINSTALL) /home/daniel/develop/RsyncUI/languages/RsyncUI_fr_FR.qm $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.qm $(QINSTALL) /home/daniel/develop/RsyncUI/languages/fr_FR $(INSTALL_ROOT)/usr/share/locale/fr_FR
$(QINSTALL) /home/daniel/develop/RsyncUI/languages/RsyncUI_fr_FR.ts $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.ts
uninstall_lang: FORCE uninstall_lang: FORCE
-$(DEL_FILE) -r $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.ts -$(DEL_FILE) -r $(INSTALL_ROOT)/usr/share/locale/fr_FR
-$(DEL_FILE) -r $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.qm -$(DEL_DIR) $(INSTALL_ROOT)/usr/share/locale/
-$(DEL_DIR) $(INSTALL_ROOT)/languages/
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: FORCE:

View File

@ -31,18 +31,20 @@ Cliquez sur un fichier pour le supprimer de la file et une fenêtre de confirmat
## Barre d'outils ## Barre d'outils
1er icône: Changer le dossier de destination 1er icône: Changer le dossier de destination
- Permet de changer le dossier de téléchargement par défaut pour chaque service de chaque serveur. - Permet de changer le dossier de téléchargement par défaut pour chaque service de chaque serveur.
2éme icône: Services cachés
2ème icône: Paramètres de l'application - Permet de configurer un service caché.
- Limite de bande passante Il faut donner le nom du service et le mot de passe si besoin.
Permet de limiter le débit de téléchargement en Ko, Mo, Go, To et Po. 3ème icône: Paramètres de l'application
- Limite de bande passante
Permet de limiter le débit de téléchargement en Ko, Mo, Go, To et Po.
Si la valeur est 0 alors pas de limite de la vitesse de téléchargement. Si la valeur est 0 alors pas de limite de la vitesse de téléchargement.
- Affichage de la barre d'outils - Affichage de la barre d'outils
Permet de choisir le style d'affichage des icônes de la barre d'outils Permet de choisir le style d'affichage des icônes de la barre d'outils
- Enregistrement automatique - Enregistrement automatique
Enregistre automatiquement la liste des téléchargements en cours.(activé par défaut) Enregistre automatiquement la liste des téléchargements en cours.(activé par défaut)
3ème icône: À propos 4ème icône: À propos
- Affiche les propriétés de l'application. - Affiche les propriétés de l'application.
4ème icône: À propos de QT 5ème icône: À propos de QT
5ème icône: Quitter 6ème icône: Quitter
Permet de quitter le programme. Permet de quitter le programme.

BIN
RsyncUI Executable file

Binary file not shown.

View File

@ -1,47 +1,44 @@
QT += core gui concurrent QT += core gui
QT += KItemViews QT += KItemViews
QT += KCompletion QT += KCompletion
QT += widgets QT += widgets
QT += KConfigCore KConfigGui QT += network
QT += KCoreAddons
QT += KDBusAddons
LIBS += -lqt5keychain LIBS += -lqt5keychain
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++17
CONFIG += c++11 #DEFINES += QTKEYCHAIN_NO_EXPORT
DEFINES += QTKEYCHAIN_NO_EXPORT
# You can make your code fail to compile if it uses deprecated APIs. # You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line. # In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \ SOURCES += \
downloadfile.cpp \ downloadfile.cpp \
main.cpp \ main.cpp \
mainwindow.cpp \ mainwindow.cpp \
password.cpp \ password.cpp \
tools.cpp tools.cpp
HEADERS += \ HEADERS += \
downloadfile.h \ version.h\
downloadfile.h \
mainwindow.h \ mainwindow.h \
password.h \ password.h \
tools.h tools.h
FORMS += \ FORMS += \
about.ui \ about.ui \
configuration.ui \ configuration.ui \
mainwindow.ui mainwindow.ui
TRANSLATIONS += \ TRANSLATIONS += \
RsyncUI_fr_FR.ts RsyncUI_fr_FR.ts
INCLUDEPATH += \ INCLUDEPATH += \
/usr/include/KF5 \ /usr/include/KF5 \
/usr/include/qt5keychain/ /usr/include/qt5keychain \
# Default rules for deployment. # Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin qnx: target.path = /tmp/$${TARGET}/bin
@ -53,12 +50,12 @@ INSTALLS += documentation
INSTALLS += desktopfile INSTALLS += desktopfile
INSTALLS += icon INSTALLS += icon
RESOURCES += #RESOURCES +=
DISTFILES += \ DISTFILES += \
RsyncUI.desktop RsyncUI.desktop
lang.path = /languages/ lang.path = /languages/fr_FR/LC_MESSAGES/
lang.path = /usr/share/locale/ lang.path = /usr/share/locale/
lang.files = languages/* lang.files = languages/*
documentation.path = /usr/share/doc/RsyncUI documentation.path = /usr/share/doc/RsyncUI
@ -67,4 +64,3 @@ desktopfile.path = /usr/share/applications
desktopfile.files = RsyncUI.desktop desktopfile.files = RsyncUI.desktop
icon.path = /usr/share/icons/ icon.path = /usr/share/icons/
icon.files = RsyncUI.png icon.files = RsyncUI.png
-lqt5keychain

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.14.2, 2023-03-09T22:37:54. --> <!-- Written by QtCreator 9.0.1, 2024-09-10T18:35:52. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
<value type="QByteArray">{a3117c94-e673-4dca-aa4c-050bbea034fe}</value> <value type="QByteArray">{db2284ae-177e-4753-8e1e-1e0e73c52ae1}</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.ActiveTarget</variable> <variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value> <value type="qlonglong">0</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.EditorSettings</variable> <variable>ProjectExplorer.Project.EditorSettings</variable>
@ -28,7 +28,7 @@
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap> </valuemap>
</valuemap> </valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> <value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value> <value type="int" key="EditorConfiguration.IndentSize">4</value>
@ -37,6 +37,7 @@
<value type="bool" key="EditorConfiguration.MouseHiding">true</value> <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value> <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value> <value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value> <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
@ -45,6 +46,7 @@
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value> <value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value> <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value> <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
@ -52,6 +54,7 @@
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value> <value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value> <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value> <value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap> </valuemap>
</data> </data>
<data> <data>
@ -59,6 +62,7 @@
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks"> <valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value> <value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value> <value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value> <value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value> <value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
@ -67,14 +71,11 @@
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/> <valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value> <value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value> <value type="bool" key="AutoTest.UseGlobal">true</value>
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools"> <valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value> <value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value> <value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value> <value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">2</value> <value type="int" key="ClangTools.ParallelJobs">1</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/> <valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/> <valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/> <valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
@ -86,21 +87,20 @@
<variable>ProjectExplorer.Project.Target.0</variable> <variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value> <value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.7 (Système)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.7 (Système)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{893f9ca6-0efa-4c08-a4a6-5a818f60a8a0}</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5228be4d-4434-412e-a9f4-ec733d887ed1}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develope/build-RsyncUI-Desktop-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI/../build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develope/build-RsyncUI-Desktop-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap> </valuemap>
@ -108,7 +108,7 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</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.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -119,7 +119,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</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.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
@ -127,28 +127,27 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="int" key="RunSystemFunction">0</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develope/build-RsyncUI-Desktop-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI/../build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develope/build-RsyncUI-Desktop-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</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.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -159,7 +158,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</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.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
@ -167,30 +166,29 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value> <value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="RunSystemFunction">0</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develope/build-RsyncUI-Desktop-Profile</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI/../build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develope/build-RsyncUI-Desktop-Profile</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</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.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -201,7 +199,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</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.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
@ -209,18 +207,18 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value> <value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="RunSystemFunction">0</value>
<value type="int" key="SeparateDebugInfo">0</value> <value type="int" key="SeparateDebugInfo">0</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value> <value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</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.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
@ -230,69 +228,14 @@
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value> <value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> <value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value> <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value> <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<valuelist type="QVariantList" key="CustomOutputParsers"/> <valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value> <value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">RsyncUI2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/daniel/develop/RsyncUI/RsyncUI.pro</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/daniel/develop/RsyncUI/RsyncUI.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/daniel/develop/RsyncUI/RsyncUI.pro</value> <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/daniel/develop/RsyncUI/RsyncUI.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value> <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
@ -300,14 +243,257 @@
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value> <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/daniel/develope/build-RsyncUI-Desktop-Debug</value> <value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/daniel/develop/build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Debug</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> <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">{96ba01cf-98b6-46f1-b1a8-6cf5d7804e77}</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">true</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">true</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">true</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.Target.2</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.7 in PATH (qt5)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.7 in PATH (qt5)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{7fe200c1-f5ad-4deb-a8be-7d9bd4e961d5}</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="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/RsyncUI</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">true</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>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</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> </valuemap>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.TargetCount</variable> <variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value> <value type="qlonglong">3</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable> <variable>ProjectExplorer.Project.Updater.FileVersion</variable>

350
RsyncUI.pro.user.a3117c9 Normal file
View File

@ -0,0 +1,350 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 9.0.1, 2024-08-05T17:02:22. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{a3117c94-e673-4dca-aa4c-050bbea034fe}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">2</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
<valuemap type="QVariantMap" key="CppEditor.QuickFix">
<value type="bool" key="UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.7 (qt5)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.7 (qt5)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{a8a6d767-5e05-45c7-b70b-532f99112b6a}</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="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/RsyncUI</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>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</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.DisplayName">RsyncUI</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/daniel/develop/RsyncUI/RsyncUI.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/daniel/develop/RsyncUI/RsyncUI.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/daniel/develop/RsyncUI</value>
</valuemap>
<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">2</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View File

@ -2,7 +2,7 @@
Name: rsyncui Name: rsyncui
Summary: Client for rsync server Summary: Client for rsync server
Version: 2.10.1 Version: 2.13.2
Release: %mkrel 1 Release: %mkrel 1
License: GPLv3 License: GPLv3
Group: Networking/Remote access Group: Networking/Remote access
@ -27,7 +27,7 @@ BuildRequires: cmake(KF5Config)
BuildRequires: cmake(KF5ItemViews) BuildRequires: cmake(KF5ItemViews)
BuildRequires: pstreams-devel BuildRequires: pstreams-devel
BuildRequires: boost-devel BuildRequires: boost-devel
BuildRequires: qt5keychain-devel
#Requires: kitemviews #Requires: kitemviews
#Requires: kcompletion #Requires: kcompletion
#Requires: kcoreaddons #Requires: kcoreaddons

View File

@ -58,40 +58,36 @@
<message> <message>
<location filename="configuration.ui" line="159"/> <location filename="configuration.ui" line="159"/>
<source>Automatic saving of download queue</source> <source>Automatic saving of download queue</source>
<translation>Enregistrement automatique de la file</translation> <translation>Enregistrement automatique de l
a file de téléchargement</translation>
</message> </message>
<message> <message>
<location filename="configuration.ui" line="165"/> <location filename="configuration.ui" line="165"/>
<source>Auto save download queue</source> <source>Auto save download queue</source>
<translation>Enregistrement automatique de la file d&apos;enregistrement</translation> <translation>Enregistrement automatique de la file de téléchargement</translation>
</message> </message>
</context> </context>
<context> <context>
<name>LoginDialog</name> <name>LoginDialog</name>
<message> <message>
<location filename="login.ui" line="17"/>
<source>RsyncUI request</source> <source>RsyncUI request</source>
<translation>Requête RsyncUI</translation> <translation type="vanished">Requête RsyncUI</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="51"/>
<source>Login name</source> <source>Login name</source>
<translation>Identifiant</translation> <translation type="vanished">Identifiant</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="79"/>
<source>Enter login</source> <source>Enter login</source>
<translation>Entrez votre identifiant</translation> <translation type="vanished">Entrez votre identifiant</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="86"/>
<source>Password</source> <source>Password</source>
<translation>Mot de passe</translation> <translation type="vanished">Mot de passe</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="102"/>
<source>Enter password</source> <source>Enter password</source>
<translation>Entrez votre mot de passe</translation> <translation type="vanished">Entrez votre mot de passe</translation>
</message> </message>
</context> </context>
<context> <context>
@ -221,32 +217,32 @@
<translation>Paramètres</translation> <translation>Paramètres</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="123"/> <location filename="mainwindow.h" line="128"/>
<source>KB</source> <source>KB</source>
<translation>Ko</translation> <translation>Ko</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="124"/> <location filename="mainwindow.h" line="129"/>
<source>MB</source> <source>MB</source>
<translation>Mo</translation> <translation>Mo</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="125"/> <location filename="mainwindow.h" line="130"/>
<source>GB</source> <source>GB</source>
<translation>Go</translation> <translation>Go</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="126"/> <location filename="mainwindow.h" line="131"/>
<source>TB</source> <source>TB</source>
<translation>To</translation> <translation>To</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="127"/> <location filename="mainwindow.h" line="132"/>
<source>PB</source> <source>PB</source>
<translation>Po</translation> <translation>Po</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="61"/> <location filename="mainwindow.cpp" line="71"/>
<source>You click on file to enqueue it, and RyncUI Download one file a time</source> <source>You click on file to enqueue it, and RyncUI Download one file a time</source>
<oldsource>Client for rsync server&lt;br&gt;&lt;br&gt;You click on file to enqueue it, and RyncUI Download one file a time</oldsource> <oldsource>Client for rsync server&lt;br&gt;&lt;br&gt;You click on file to enqueue it, and RyncUI Download one file a time</oldsource>
<translation>&lt;h3&gt;Utilisation&lt;/h3&gt; <translation>&lt;h3&gt;Utilisation&lt;/h3&gt;
@ -263,108 +259,130 @@ Cliquez sur un fichier pour le supprimer de la file et une fenêtre de confirmat
&lt;h3&gt;Barre d&apos;outils&lt;/h3&gt; &lt;h3&gt;Barre d&apos;outils&lt;/h3&gt;
&lt;b&gt;1er icône: Changer le dossier de destination&lt;/b&gt;&lt;br&gt; &lt;b&gt;1er icône: Changer le dossier de destination&lt;/b&gt;&lt;br&gt;
Permet de changer le dossier de téléchargement par défaut pour chaque service de chaque serveur.&lt;br&gt; Permet de changer le dossier de téléchargement par défaut pour chaque service de chaque serveur.&lt;br&gt;
&lt;b&gt;2ème icône: Paramètres de l&apos;application&lt;/b&gt;&lt;br&gt; &lt;b&gt;2ème icône: Services cachés&lt;/b&gt;&lt;br&gt;
Limite de bande passante: permet de limiter le débit de téléchargement en Ko, Mo, Go, To et Po.&lt;br&gt; - Permet de configurer un service caché.&lt;br&gt;
Il faut donner le nom du service et le mot de passe si besoin.&lt;br&gt;
&lt;b&gt;3ème icône: Paramètres de l&apos;application&lt;/b&gt;&lt;br&gt;
Limite de bande passante: permet de limiter le débit de téléchargement en Ko, Mo, Go, To et Po.&lt;br&gt;
Si la valeur est 0 alors pas de limite de la vitesse de téléchargement.&lt;br&gt; Si la valeur est 0 alors pas de limite de la vitesse de téléchargement.&lt;br&gt;
- Affichage de la barre d&apos;outils&lt;br&gt; - Affichage de la barre d&apos;outils&lt;br&gt;
Permet de choisir le style d&apos;affichage des icônes de la barre d&apos;outils&lt;br&gt; Permet de choisir le style d&apos;affichage des icônes de la barre d&apos;outils&lt;br&gt;
- Enregistrement automatique&lt;br&gt; - Enregistrement automatique&lt;br&gt;
Enregistre automatiquement la liste des téléchargements en cours.(activé par défaut)&lt;br&gt; Enregistre automatiquement la liste des téléchargements en cours.(activé par défaut)&lt;br&gt;
&lt;b&gt;3ème icône: À propos&lt;/b&gt;&lt;br&gt; &lt;b&gt;4ème icône: À propos&lt;/b&gt;&lt;br&gt;
affiche les propriétés de l&apos;application, ainsi que l&apos;aide.&lt;br&gt; affiche les propriétés de l&apos;application, ainsi que l&apos;aide.&lt;br&gt;
&lt;b&gt;4ème icône: À propos de QT&lt;/b&gt;&lt;br&gt; &lt;b&gt;5ème icône: À propos de QT&lt;/b&gt;&lt;br&gt;
affiche les propriétés de QT&lt;br&gt; affiche les propriétés de QT&lt;br&gt;
&lt;b&gt;5ème icône: Quitter&lt;/b&gt;&lt;br&gt; &lt;b&gt;6ème icône: Quitter&lt;/b&gt;&lt;br&gt;
Permet de quitter le programme</translation> Permet de quitter le programme</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="80"/>
<source>Path</source> <source>Path</source>
<translation>Chemin</translation> <translation>Chemin</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="80"/>
<source>Size</source> <source>Size</source>
<translation>Taille</translation> <translation>Taille</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="80"/>
<source>Type</source> <source>Type</source>
<translation>Type</translation> <translation>Type</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="80"/>
<source>Date</source> <source>Date</source>
<translation>Date</translation> <translation>Date</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="95"/>
<source>KB/s</source> <source>KB/s</source>
<translation>Ko/s</translation> <translation>Ko/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="95"/>
<source>MB/s</source> <source>MB/s</source>
<translation>Mo/s</translation> <translation>Mo/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="95"/>
<source>GB/s</source> <source>GB/s</source>
<translation>Go/s</translation> <translation>Go/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="95"/>
<source>TB/s</source> <source>TB/s</source>
<translation>To/s</translation> <translation>To/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="95"/>
<source>PB/s</source> <source>PB/s</source>
<translation>Po/s</translation> <translation>Po/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="123"/> <location filename="mainwindow.cpp" line="138"/>
<source>A list of interrupted downloads exists, do you want to continue downloading ? if not the list will be cleared</source> <source>A list of interrupted downloads exists, do you want to continue downloading ? if not the list will be cleared</source>
<translation>Une liste de téléchargement existe, voulez-vous utiliser cette liste ? si non, elle sera effacée</translation> <translation>Une liste de téléchargement existe, voulez-vous utiliser cette liste ? si non, elle sera effacée</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="152"/> <location filename="mainwindow.cpp" line="140"/>
<source>Delete</source>
<translation>Effacer</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="172"/>
<source>&amp;Quit</source> <source>&amp;Quit</source>
<translation>&amp;Quitter</translation> <translation>&amp;Quitter</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="209"/> <location filename="mainwindow.cpp" line="239"/>
<source>Clicking Save button, You can save the list of downloads <source>Clicking Save button, You can save the list of downloads
</source> </source>
<translation>Vous pouvez enregistrer la liste des téléchargements en cliquant sur &quot;enregister&quot; <translation>Vous pouvez enregistrer la liste des téléchargements en cliquant sur &quot;enregister&quot;
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="215"/> <location filename="mainwindow.cpp" line="245"/>
<source>Exiting will stop downloading, and will clear the download queue. <source>Exiting will stop downloading, and will clear the download queue.
Do you want to exit ?</source> Do you want to exit ?</source>
<translation>Si vous sortez, les téléchargements seront arrêter. <translation>Si vous sortez, les téléchargements seront arrêter.
Voulez-vous vraiment sortir ?</translation> Voulez-vous vraiment sortir ?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="253"/> <location filename="mainwindow.cpp" line="287"/>
<source>The program will keep running in the system tray. To terminate the program, choose &lt;b&gt;Quit&lt;/b&gt; in the context menu of the system tray entry.</source> <source>The program will keep running in the system tray. To terminate the program, choose &lt;b&gt;Quit&lt;/b&gt; in the context menu of the system tray entry.</source>
<translation>Le programme continue dans la boîte à miniatures. Pour quitter le programme cliquez sur l&apos;icône &lt;b&gt;Quitter&lt;/b&gt; ou dans les menu contextuel.</translation> <translation>Le programme continue dans la boîte à miniatures. Pour quitter le programme cliquez sur l&apos;icône &lt;b&gt;Quitter&lt;/b&gt; ou dans les menu contextuel.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="513"/> <location filename="mainwindow.cpp" line="670"/>
<source>Authentication failed</source>
<translation>Mauvais mot de passe ou utilisateur</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<source>The processus does&apos;nt respond: </source> <source>The processus does&apos;nt respond: </source>
<translation>Le processus ne répond pas: </translation> <translation>Le processus ne répond pas: </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="599"/> <location filename="mainwindow.cpp" line="834"/>
<source>server does not exists</source> <source>Bad port number, correct it</source>
<translation>Le serveur n&apos;existe pas</translation> <translation>Numéro de port incorrect, corrigez le.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="633"/> <location filename="mainwindow.cpp" line="1386"/>
<location filename="mainwindow.cpp" line="745"/> <source>You need to select a service before you can select a folder</source>
<translation>Vous devez sélectionner un service pour pouvoir sélectionner un dossier</translation>
</message>
<message>
<source>server does not exists</source>
<translation type="vanished">Le serveur n&apos;existe pas</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="872"/>
<location filename="mainwindow.cpp" line="1026"/>
<source>Dir</source> <source>Dir</source>
<translation>dossier</translation> <translation>dossier</translation>
</message> </message>
@ -373,146 +391,160 @@ Voulez-vous vraiment sortir ?</translation>
<translation type="vanished">Doc</translation> <translation type="vanished">Doc</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="773"/> <location filename="mainwindow.cpp" line="1055"/>
<source>File is partially downloaded. Do you want to resume download ? if no, the file will be deleted from destination directory</source> <source>File is partially downloaded. Do you want to resume download ? if no, the file will be deleted from destination directory</source>
<translation>Le document est déjà partiellement téléchargé. Voulez vous continuer le téléchargemnt ? Si non, il sera supprimer du dossier de destination</translation> <translation>Le document est déjà partiellement téléchargé. Voulez vous continuer le téléchargemnt ? Si non, il sera supprimer du dossier de destination</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="790"/> <location filename="mainwindow.cpp" line="1074"/>
<source>File is already downloaded. Do you want to reload it ? The old file will be deleted</source> <source>File is already downloaded. Do you want to reload it ? The old file will be deleted</source>
<translation>Le document est déjà téléchargé. Voulez-vous le télécharger à nouveau ? L&apos;ancien fichier sera effacé</translation> <translation>Le document est déjà téléchargé. Voulez-vous le télécharger à nouveau ? L&apos;ancien fichier sera effacé</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="827"/> <location filename="mainwindow.cpp" line="1109"/>
<source>File is already downloading</source> <source>File is already downloading</source>
<translation>Le document est déjà en téléchargement</translation> <translation>Le document est déjà en téléchargement</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="852"/> <location filename="mainwindow.cpp" line="1144"/>
<source>Starting downloading <source>Starting downloading
</source> </source>
<translation>Démarrage du téléchargement <translation>Démarrage du téléchargement
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="867"/> <location filename="mainwindow.cpp" line="1161"/>
<source>finished</source> <source>finished</source>
<translation>Terminé</translation> <translation>Terminé</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="877"/> <location filename="mainwindow.cpp" line="1171"/>
<source>Rsync process crashed</source> <source>Rsync process crashed</source>
<translation>Le processus rsync à planté</translation> <translation>Le processus rsync à planté</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="884"/> <location filename="mainwindow.cpp" line="1182"/>
<source>stopped by user</source> <source>stopped by user</source>
<translation>stoppé par l&apos;utilisateur</translation> <translation>stoppé par l&apos;utilisateur</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="895"/> <location filename="mainwindow.cpp" line="1193"/>
<source> <source>
Do you want to retry?</source> Do you want to retry?</source>
<translation> <translation>
Voulez-vous -essayer?</translation> Voulez-vous -essayer?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="904"/> <location filename="mainwindow.cpp" line="1202"/>
<source>Download </source> <source>Download </source>
<translation>Téléchargement </translation> <translation>Téléchargement </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1257"/>
<source>RsyncUI Request</source> <source>RsyncUI Request</source>
<translation>Requête RsyncUI</translation> <translation type="vanished">Requête RsyncUI</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1258"/> <location filename="mainwindow.cpp" line="1566"/>
<source>Hidden service name</source> <source>Hidden service name</source>
<translation>Nom du servcice caché</translation> <translation>Nom du servcice caché</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="56"/> <location filename="mainwindow.cpp" line="66"/>
<source>Version</source> <source>Version</source>
<translation>Version</translation> <translation>Version</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="55"/> <location filename="mainwindow.cpp" line="65"/>
<source>&lt;h2&gt;Client for rsync server&lt;/h2&gt;</source> <source>&lt;h2&gt;Client for rsync server&lt;/h2&gt;</source>
<translation>&lt;h2&gt;Client pour serveur rsync&lt;/h2&gt;</translation> <translation>&lt;h2&gt;Client pour serveur rsync&lt;/h2&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="57"/> <location filename="mainwindow.cpp" line="67"/>
<source>Licence</source> <source>Licence</source>
<translation>License</translation> <translation>License</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="58"/> <location filename="mainwindow.cpp" line="68"/>
<source>Author</source> <source>Author</source>
<translation>Auteur</translation> <translation>Auteur</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="59"/> <location filename="mainwindow.cpp" line="69"/>
<source>EMail</source> <source>EMail</source>
<translation>Courriel</translation> <translation>Courriel</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="60"/> <location filename="mainwindow.cpp" line="70"/>
<source>Source code</source> <source>Source code</source>
<translation>Code source</translation> <translation>Code source</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1073"/> <location filename="mainwindow.cpp" line="954"/>
<source>Since the save path is linked to service, you need to select a service before you can select a folder</source> <source>Select the user you want to connect with or enter a new one</source>
<translation>Vous devez sélectionnez un service pour pouvoir sélectionnez un dossier par défaut</translation> <translation>Choisissez l&apos;utilisateur avec lequel vous voulez vous connecter ou entrez en un nouveau</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1078"/> <location filename="mainwindow.cpp" line="967"/>
<location filename="mainwindow.cpp" line="1565"/>
<source> Request</source>
<translation> Requête de mot de passe</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="968"/>
<source>Enter password</source>
<translation>Entrez votre mot de passe</translation>
</message>
<message>
<source>Since the save path is linked to service, you need to select a service before you can select a folder</source>
<translation type="vanished">Vous devez sélectionnez un service pour pouvoir sélectionnez un dossier par défaut</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1394"/>
<source>Choose folder where to save file</source> <source>Choose folder where to save file</source>
<translation>Choisissez un dossier enregistrer le document</translation> <translation>Choisissez un dossier enregistrer le document</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="969"/> <location filename="mainwindow.cpp" line="1275"/>
<source>Do you want to stop downloading and delete this file from download queue ?</source> <source>Do you want to stop downloading and delete this file from download queue ?</source>
<translation>Voulez-vous arrêter le téléchargement et enlever ce fichier de la file de téléchargement ?</translation> <translation>Voulez-vous arrêter le téléchargement et enlever ce fichier de la file de téléchargement ?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="983"/> <location filename="mainwindow.cpp" line="1290"/>
<source>Do you want to delete this file from download queue ?</source> <source>Do you want to delete this file from download queue ?</source>
<translation>Voulez-vous enlever ce fichier de la file de téléchargement ?</translation> <translation>Voulez-vous enlever ce fichier de la file de téléchargement ?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="122"/> <location filename="mainwindow.h" line="127"/>
<source>B</source> <source>B</source>
<translation>o</translation> <translation>o</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="139"/> <location filename="mainwindow.h" line="145"/>
<source>The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program.</source> <source>The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program.</source>
<translation>Le processus échoué, soit le programme est manquant, soit vous n&apos;avez pas l&apos;autorisation de l&apos;exécuter.</translation> <translation>Le processus échoué, soit le programme est manquant, soit vous n&apos;avez pas l&apos;autorisation de l&apos;exécuter.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="140"/> <location filename="mainwindow.h" line="146"/>
<source>The process crashed some time after starting successfully.</source> <source>The process crashed some time after starting successfully.</source>
<translation>Le processus à planté après avoir démarré avec succès.</translation> <translation>Le processus à planté après avoir démarré avec succès.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="141"/> <location filename="mainwindow.h" line="147"/>
<source>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</source> <source>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</source>
<translation>La fonction waitFor...() a dépassé la limite de temps, you pouvez essayer de la relancer.</translation> <translation>La fonction waitFor...() a dépassé la limite de temps, you pouvez essayer de la relancer.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="142"/> <location filename="mainwindow.h" line="148"/>
<source>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.</source> <source>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.</source>
<translation>Une erreur est survenue lors de l&apos;envoi des données vers le processus. Le processus est peut être arrté ou il a fermé son canal d&apos;entrée.</translation> <translation>Une erreur est survenue lors de l&apos;envoi des données vers le processus. Le processus est peut être arrté ou il a fermé son canal d&apos;entrée.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="143"/> <location filename="mainwindow.h" line="149"/>
<source>An error occurred when attempting to read from the process. For example, the process may not be running.</source> <source>An error occurred when attempting to read from the process. For example, the process may not be running.</source>
<translation>Une erreur est survenue lors de la lecturee de données, le processus est probablement arrêté.</translation> <translation>Une erreur est survenue lors de la lecturee de données, le processus est probablement arrêté.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="144"/> <location filename="mainwindow.h" line="150"/>
<source>An unknown error occurred. This is the default return value of error().</source> <source>An unknown error occurred. This is the default return value of error().</source>
<translation>Une erreur inconnue est survenue. C&apos;est la valeur de retour par défaut de error().</translation> <translation>Une erreur inconnue est survenue. C&apos;est la valeur de retour par défaut de error().</translation>
</message> </message>
@ -520,90 +552,103 @@ Voulez-vous ré-essayer?</translation>
<context> <context>
<name>QTranslator</name> <name>QTranslator</name>
<message> <message>
<location filename="mainwindow.cpp" line="12"/> <location filename="mainwindow.cpp" line="25"/>
<source>Success. The rsync command completed successfully without any errors.</source> <source>Success. The rsync command completed successfully without any errors.</source>
<translation>Succès. La command rsync s&apos;est terminée sans erreurs.</translation> <translation>Succès. La command rsync s&apos;est terminée sans erreurs.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="13"/> <location filename="mainwindow.cpp" line="26"/>
<source>Syntax or usage error. There was a problem with the syntax of the rsync command or with the options specified.</source> <source>Syntax or usage error. There was a problem with the syntax of the rsync command or with the options specified.</source>
<translation>Erreur de syntaxe ou d&apos;usage. il y a un problème avec la synaxe de rsync ou avec les paramètres spécifiés.</translation> <translation>Erreur de syntaxe ou d&apos;usage. il y a un problème avec la synaxe de rsync ou avec les paramètres spécifiés.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="14"/> <location filename="mainwindow.cpp" line="27"/>
<source>Protocol incompatibility. There was a problem with the protocol version or negotiation between the rsync client and server.</source> <source>Protocol incompatibility. There was a problem with the protocol version or negotiation between the rsync client and server.</source>
<translation>Incompatibilité de protocole. Il y a eu un problème avec la version du protocole ou la négotiation avec le serveur rsync.</translation> <translation>Incompatibilité de protocole. Il y a eu un problème avec la version du protocole ou la négotiation avec le serveur rsync.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="15"/> <location filename="mainwindow.cpp" line="28"/>
<source>Errors selecting input/output files, dirs. There was a problem with the source or destination file or directory specified in the rsync command.</source> <source>Errors selecting input/output files, dirs. There was a problem with the source or destination file or directory specified in the rsync command.</source>
<translation>Erreurs dans la sélection des fichiers ou dossiers. il y a eu une problème avec le fichier/dossier source ou destination spécifié.</translation> <translation>Erreurs dans la sélection des fichiers ou dossiers. il y a eu une problème avec le fichier/dossier source ou destination spécifié.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="16"/> <location filename="mainwindow.cpp" line="29"/>
<source>Requested action not supported: An attempt was made to use an unsupported action or option.</source> <source>Requested action not supported: An attempt was made to use an unsupported action or option.</source>
<translation>Action non suportée. Une tentative d&apos;utiliser une action, ou une option, non supportée à é faite.</translation> <translation>Action non suportée. Une tentative d&apos;utiliser une action, ou une option, non supportée à é faite.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="17"/> <location filename="mainwindow.cpp" line="30"/>
<source>Error starting client-server protocol. There was an error starting the client-server protocol.</source> <source>Error starting client-server protocol. There was an error starting the client-server protocol.</source>
<translation>Erreur de démarrage du protocole client-seveur. Il ya eu une erreur en démarrant le protocole slient-serveur.</translation> <translation>Erreur de démarrage du protocole client-seveur. Il ya eu une erreur en démarrant le protocole slient-serveur.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="18"/> <location filename="mainwindow.cpp" line="31"/>
<source>Daemon unable to append to log-file. The rsync daemon was unable to write to its log file.</source> <source>Daemon unable to append to log-file. The rsync daemon was unable to write to its log file.</source>
<translation>Le démon rsyncd n&apos;arrive pas écrire dans son fichier de log.</translation> <translation>Le démon rsyncd n&apos;arrive pas écrire dans son fichier de log.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="19"/> <location filename="mainwindow.cpp" line="32"/>
<source>Error in socket I/O. There was an error with the socket input/output.</source> <source>Error in socket I/O. There was an error with the socket input/output.</source>
<translation>Erreur d&apos;entrée/sortie socket. Il y a eu une erreur d&apos;entrée/sortie sur le socket.</translation> <translation>Erreur d&apos;entrée/sortie socket. Il y a eu une erreur d&apos;entrée/sortie sur le socket.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="20"/> <location filename="mainwindow.cpp" line="33"/>
<source>Error in file I/O. There was an error reading or writing to a file.</source> <source>Error in file I/O. There was an error reading or writing to a file.</source>
<translation>Erreur de &apos;entrée/sortie. Il y a eu une erreur de lecture/écriture sur un fichier.</translation> <translation>Erreur de &apos;entrée/sortie. Il y a eu une erreur de lecture/écriture sur un fichier.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="21"/> <location filename="mainwindow.cpp" line="34"/>
<source>Error in rsync protocol data stream. There was an error in the rsync protocol data stream.</source> <source>Error in rsync protocol data stream. There was an error in the rsync protocol data stream.</source>
<translation>Erreur dans le protocole de flux de données de rsync.</translation> <translation>Erreur dans le protocole de flux de données de rsync.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="22"/> <location filename="mainwindow.cpp" line="35"/>
<source>Errors with program diagnostics. There was an error generating program diagnostics.</source> <source>Errors with program diagnostics. There was an error generating program diagnostics.</source>
<translation>Erreur avec les diagnostiques du programme.</translation> <translation>Erreur avec les diagnostiques du programme.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="23"/> <location filename="mainwindow.cpp" line="36"/>
<source>Error in IPC code. There was an error in the inter-process communication (IPC) code.</source> <source>Error in IPC code. There was an error in the inter-process communication (IPC) code.</source>
<translation>Erreur dans le code IPC. IL y a eu une erreur dans la communication inter-processus.</translation> <translation>Erreur dans le code IPC. IL y a eu une erreur dans la communication inter-processus.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="24"/> <location filename="mainwindow.cpp" line="37"/>
<source>Received SIGUSR1 or SIGINT. The rsync process was interrupted by a signal.</source> <source>Received SIGUSR1 or SIGINT. The rsync process was interrupted by a signal.</source>
<translation>Reçu les signaux SIGUSR1 ou SIGINT. Le processus rsync a é interrompu par un signal.</translation> <translation>Reçu les signaux SIGUSR1 ou SIGINT. Le processus rsync a é interrompu par un signal.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="25"/> <location filename="mainwindow.cpp" line="38"/>
<source>Some error returned by waitpid(). An error occurred while waiting for a child process to complete.</source> <source>Some error returned by waitpid(). An error occurred while waiting for a child process to complete.</source>
<translation>Erreurs retournées par waitpid().Une erreur est survenue pendant l&apos;attente de la complétion du processus fils.</translation> <translation>Erreurs retournées par waitpid().Une erreur est survenue pendant l&apos;attente de la complétion du processus fils.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="26"/> <location filename="mainwindow.cpp" line="39"/>
<source>Error allocating core memory buffers. There was an error allocating memory buffers.</source> <source>Error allocating core memory buffers. There was an error allocating memory buffers.</source>
<translation>Erreur d&apos;allocation des buffers mémoire.</translation> <translation>Erreur d&apos;allocation des buffers mémoire.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="27"/> <location filename="mainwindow.cpp" line="40"/>
<source>Partial transfer due to error. The rsync command completed with an error, but some files may have been transferred successfully.</source> <source>Partial transfer due to error. The rsync command completed with an error, but some files may have been transferred successfully.</source>
<translation>Transfert partiel due à une erreur. La command rsync s&apos;est terminée avec une erreur, mais des fichiers on é transférés avec succès.</translation> <translation>Transfert partiel due à une erreur. La command rsync s&apos;est terminée avec une erreur, mais des fichiers on é transférés avec succès.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="28"/> <location filename="mainwindow.cpp" line="41"/>
<source>Partial transfer due to vanished source files. Some source files disappeared before they could be transferred.</source> <source>Partial transfer due to vanished source files. Some source files disappeared before they could be transferred.</source>
<translation>Transfert partiel à la disparition des fichiers source. Des fichiers source ont disparu avec d&apos;avoir é transférés.</translation> <translation>Transfert partiel à la disparition des fichiers source. Des fichiers source ont disparu avec d&apos;avoir é transférés.</translation>
</message> </message>
<message>
<location filename="tools.cpp" line="27"/>
<location filename="tools.cpp" line="39"/>
<source>Rsync error:
</source>
<translation>Erreur rsync:
</translation>
</message>
<message>
<location filename="tools.cpp" line="109"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
</context> </context>
<context> <context>
<name>windowAbout</name> <name>windowAbout</name>

View File

@ -1,5 +1,3 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "downloadfile.h" #include "downloadfile.h"
#include "tools.h" #include "tools.h"
#include <pstreams/pstream.h> #include <pstreams/pstream.h>
@ -10,7 +8,6 @@
#include <stdio.h> #include <stdio.h>
#include <QMessageBox> #include <QMessageBox>
#include <vector> #include <vector>
#include <boost/algorithm/string/replace.hpp>
#include <memory> #include <memory>
#include <stdexcept> #include <stdexcept>
#include <array> #include <array>
@ -27,101 +24,114 @@ downloadFile::downloadFile()
//Slot activated when download is cancelled //Slot activated when download is cancelled
void MainWindow::cancelled(QProcess * process) void MainWindow::cancelled(QProcess * process)
{ {
bool n = 0; bool n = 0;
process->terminate(); info(DEBUGMACRO, "cancelled() => download cancelled: Terminating process");
n = process->waitForFinished(30000); process->terminate();
if (n == false) n = process->waitForFinished(30000);
{ if (n == false)
process->close(); {
} info(DEBUGMACRO, "Process does not terminate after 30s, closing process");
process->close();
}
} }
// launch a rsync processus downloading a file // launch a rsync processus downloading a file
void MainWindow::download() void MainWindow::download()
{ {
QString cmd; QString cmd;
QStringList param; QStringList param;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
QString server = downloading.server;
uint ipversion;
this->downloading.process = new QProcess(this); info(DEBUGMACRO, "download() => launch a rsync processus to download a file");
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())
{
info(DEBUGMACRO, "Adding user to server (user@server");
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)
{
info(DEBUGMACRO, "Adding download speed limit");
param << "--bwlimit=" + QString::number(this->connexion.bandwidthLimit) + bwUnitChar[this->connexion.bandwidthLimitUnit];
}
ipversion = validateServer(&server);
connect(this->downloading.process, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(downloadFinished(int, QProcess::ExitStatus))); if (downloading.ipversion == 4 || downloading.ipversion == 6)
//connect(this->downloading.process, SIGNAL(errorOccurred(QProcess::ProcessError error)), this, SLOT(downloadProcessError(QProcess::ProcessError error))); {
//connect(this->downloading.process, SIGNAL(readyReadStandardError()), this, SLOT(downloadProcessStderr())); info(DEBUGMACRO, "Adding ip version parameter");
connect(this->downloading.process, SIGNAL(readyReadStandardOutput()), this, SLOT(readRsyncOutput())); param << "-" + QString::number(ipversion).trimmed();
}
this->downloading.process->start(cmd, param); param << "--port" << QString::number(this->downloading.port).trimmed();
param << "-aXP";
param << "[" + server + "]::" + this->downloading.service.trimmed() + "/" + preparePath(this->downloading.path) << preparePath(this->downloading.savePath) + "/";
info(DEBUGMACRO, cmd + " " + param.join(" "));
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() void MainWindow::readRsyncOutput()
{ {
QString line; QString line;
bool flag = false; int value;
int value; int pos;
int pos; static QString dlSpeed;
static QString dlSpeed; QStringList list;
QStringList list; static QString filename;
static QString filename; int i;
int i; int listSize;
int listSize;
while(!flag) info(DEBUGMACRO, "readRsyncOutput()");
{ while(1)
list.clear(); {
line = QString::fromUtf8(this->downloading.process->readLine()); list.clear();
if (line.isEmpty()) line = QString::fromUtf8(this->downloading.process->readLine());
{ info(DEBUGMACRO, "downloading progress : " + line);
flag = true; if (line.isEmpty())
break; {
}else break;
{ }else
pos = line.indexOf("%"); {
if (pos != -1) pos = line.indexOf("%");
{ if (pos != -1)
line = line.simplified(); {
list = line.split(" "); line = line.simplified();
listSize = list.count() / 4; list = line.split(" ");
for (i = 0; i < listSize; i++) 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); value = list.at(i *4 + 1).chopped(1).toInt();
dlSpeed = list.at(i * 4 + 2);
/*line.resize(pos); // sending progress to Main window
pos = line.lastIndexOf(' '); info (DEBUGMACRO, "sending progress to Main window");
if (pos != -1) emit progressSignal(value);
{ emit fileName(filename + " %p%" + "\t " + dlSpeed);
line.remove(0, pos); }
value = line.toInt();*/ }else
// sending progress to Main window {
emit progressSignal(value); if (!line.contains("receiving"))
emit fileName(filename + " %p%" + "\t " + dlSpeed); {
} filename = line.remove(QChar('\n'), Qt::CaseInsensitive);
}else emit fileName(filename + " %p%\t " + dlSpeed);
{ }
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 class downloadFile : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
downloadFile(); downloadFile();
bool canceled; bool canceled;
}; };
#endif // DOWNLOADFILE_H #endif // DOWNLOADFILE_H

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,11 @@
#ifndef MAINWINDOW_H #ifndef MAINWINDOW_H
#define MAINWINDOW_H #define MAINWINDOW_H
#define QT_USE_FAST_CONCATENATION #define QT_USE_FAST_CONCATENATION
#define QT_USE_FAST_OPERATOR_PLUS #define QT_USE_FAST_OPERATOR_PLUS
#include "ui_mainwindow.h" #include "ui_mainwindow.h"
#include "ui_configuration.h" #include "ui_configuration.h"
#include "ui_about.h" #include "ui_about.h"
#include "downloadfile.h"
#include "tools.h"
#include "password.h"
#include <QMainWindow> #include <QMainWindow>
#include <string> #include <string>
#include <QTreeWidgetItem> #include <QTreeWidgetItem>
@ -53,177 +51,190 @@ extern QMap<int, QString> rsyncErrorStrings;
class Connexion class Connexion
{ {
public: public:
int bandwidthLimit = 0; int bandwidthLimit = 0;
int bandwidthLimitUnit; int bandwidthLimitUnit;
int contimeout = 20; int contimeout = 20;
QString server; QString server;
QString service; QString service;
QString path; QString path;
QString savePath; QString savePath;
QString user; QString user;
QString password; QString password;
QProcess * process = nullptr; QProcess * process = nullptr;
int port = 873; int ipversion = 4;
bool comboboxChanged; uint port = 873;
bool quit = false; bool quit = false;
void clear(); void clear();
bool paused = false;
}; };
class Downloading class Downloading
{ {
public: public:
QString server; QString server;
QString service; QString service;
QString path; QString path;
QString savePath; QString savePath;
QString user; QString user;
QString password; QString password;
int port = 873; int ipversion = 4;
QProcess * process = nullptr; int port = 873;
bool quit = false; QProcess * process = nullptr;
void clear(); bool quit = false;
bool paused = false;
void clear();
}; };
class About class About
{ {
public: public:
QString version = "2.10.1"; QString version;
QString author = "Daniel TARTAVEL-JEANNOT"; QString author = "Daniel TARTAVEL-JEANNOT";
QString licence = "GPL_V3"; QString licence = "GPL_V3";
QString description; QString description;
QString email = "dtux@free.fr"; QString email = "dtux@free.fr";
QString git = "https://git.labolyon.fr/dtux/RsyncUI/issues"; QString git = "https://git.labolyon.fr/dtux/RsyncUI/issues";
}; };
class MainWindow : public QMainWindow class MainWindow : public QMainWindow
{ {
Q_OBJECT Q_OBJECT
public: public:
Ui::MainWindow *ui; Ui::MainWindow *ui;
MainWindow(QWidget *parent = nullptr); MainWindow(QWidget *parent = nullptr);
~MainWindow(); ~MainWindow();
// passwdManager; // passwdManager;
QProgressDialog *progress; QProgressDialog *progress;
Connexion connexion; Connexion connexion;
Connexion downloading; Connexion downloading;
QSettings settings; QSettings settings;
About about; About about;
QDialog Configuration; QDialog Configuration;
Ui::Configuration config; Ui::Configuration config;
QDialog aboutDialog; QDialog aboutDialog;
Ui::windowAbout AboutW; Ui::windowAbout AboutW;
std::vector <QString> serversList; std::vector <QString> serversList;
QSystemTrayIcon * trayIcon; QSystemTrayIcon * trayIcon;
QString icon = "/usr/share/icons/RsyncUI.png"; QString icon = "/usr/share/icons/RsyncUI.png";
bool rescan = false; bool rescan = false;
bool stopDlAsked; bool stopDlAsked = false;
bool treeviewClicked = false;
bool initialization = true;
bool exiting = false;
QList<QString> UnitText { QList<QString> UnitText
tr("B"), {
tr("KB"), tr("B"),
tr("MB"), tr("KB"),
tr("GB"), tr("MB"),
tr("TB"), tr("GB"),
tr("PB") tr("TB"),
}; tr("PB")
QList<QChar> bwUnitChar{ };
'K', QList<QChar> bwUnitChar
'M', {
'T', 'K',
'G', 'M',
'P' 'T',
}; 'G',
'P'
};
QVector<QString> downloadProcessErrorString = 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 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 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("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 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 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().") tr("An unknown error occurred. This is the default return value of error().")
}; };
void displayTree(); void displayTree();
void populateTree(); void populateTree();
void populateList(int); void populateList(QString server, uint port);
void listServices(); void listServices();
bool validateServer(QString server); uint 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);
void addTreeItem(QString name, QString fileSize, QString fullsize, QString type, QString date, bool isDir, QTreeWidgetItem *parent); bool scanDir(Connexion * connexion, QTreeWidgetItem *parent = NULL, QString path = "" );
bool scanDir(QString server, int portN, QTreeWidgetItem *parent = NULL, QString path = "" ); void startDownloading();
void startDownloading(); void loadSettings();
void loadSettings(); void saveSettings();
void saveSettings(); void closeEvent (QCloseEvent *event);
void closeEvent (QCloseEvent *event); void saveDownloadList();
void saveDownloadList(); void loadDownloadList();
void loadDownloadList(); void deleteDownloadList();
void download(); void download();
void initSystemTrayIcon(); void initSystemTrayIcon();
void hideWindow(); void hideWindow();
void showWindow(); void showWindow();
void init(); void init();
bool getUserPassword(Connexion *); bool getUserPassword(Connexion *);
void preparePopulateTree(); void preparePopulateTree();
bool testServicePresence(QString, bool=false); bool testServerPresence(QString, bool=false);
void passwordStore (QString account, QString password); void passwordStore (QString account, QString password);
QString passwordGet (QString account); 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 downloadingErrorSlot(QString); void on_buttonBox_accepted();
void on_comboBox_currentIndexChanged(int index); void cancelled(QProcess *);
void on_buttonBox_accepted(); void on_trayIcon_clicked(QSystemTrayIcon::ActivationReason reason);
void cancelled(QProcess *); void quitApp();
void on_trayIcon_clicked(QSystemTrayIcon::ActivationReason reason); void on_actionExit_triggered();
void quitApp(); void setDlSpeed(QString speed);
void on_actionExit_triggered(); void on_actionHiddenService_triggered();
void setDlSpeed(QString speed); //void on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column);
void on_actionHiddenService_triggered(); void on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column);
signals: void on_treeWidget_doubleClicked(const QModelIndex &index);
void stopDownloading(QProcess *);
void progressSignal(int); void on_actionPause_downloads_triggered();
void speed(QString);
void finishedSignal(bool = true); signals:
void fileName(QString); void stopDownloading(QProcess *);
void passwordReady(); void progressSignal(int);
void speed(QString);
void finishedSignal(bool = true);
void fileName(QString);
void passwordReady();
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

View File

@ -159,13 +159,13 @@
<set>Qt::ImhPreferNumbers</set> <set>Qt::ImhPreferNumbers</set>
</property> </property>
<property name="inputMask"> <property name="inputMask">
<string/> <string notr="true"/>
</property> </property>
<property name="text"> <property name="text">
<string comment="numéro"/> <string notr="true" comment="numéro"/>
</property> </property>
<property name="maxLength"> <property name="maxLength">
<number>6</number> <number>5</number>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@ -407,6 +407,7 @@
<addaction name="actionAbout"/> <addaction name="actionAbout"/>
<addaction name="actionAbout_Qt"/> <addaction name="actionAbout_Qt"/>
<addaction name="actionExit"/> <addaction name="actionExit"/>
<addaction name="actionPause_downloads"/>
</widget> </widget>
<action name="DefaultSaveFolder"> <action name="DefaultSaveFolder">
<property name="icon"> <property name="icon">
@ -479,6 +480,20 @@
<string>hidden service</string> <string>hidden service</string>
</property> </property>
</action> </action>
<action name="actionPause_downloads">
<property name="icon">
<iconset theme="media-playback-pause"/>
</property>
<property name="text">
<string>Stop/resume downloads</string>
</property>
<property name="toolTip">
<string>Stop/resume downloading </string>
</property>
<property name="shortcut">
<string>P</string>
</property>
</action>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>

View File

@ -1,8 +1,9 @@
#include "mainwindow.h" //#include "mainwindow.h"
#include "password.h" #include "password.h"
#include <qt5keychain/keychain.h> #include <qt5keychain/keychain.h>
#include <qt5keychain/qkeychain_export.h> #include <qt5keychain/qkeychain_export.h>
#include <QSettings> #include <QSettings>
#include "tools.h"
using namespace std; using namespace std;
extern QApplication a; extern QApplication a;
@ -13,43 +14,40 @@ static QSettings sett{appName, appName};
void setPassword(QString account, QString pass) void setPassword(QString account, QString pass)
{ {
QKeychain::WritePasswordJob write(appName); QKeychain::WritePasswordJob write(appName);
write.setSettings(&sett); write.setSettings(&sett);
// write.setAutoDelete(false); write.setKey(account);
write.setKey(account); write.setTextData(pass);
write.setTextData(pass);
QEventLoop loop; QEventLoop loop;
write.connect(&write, &QKeychain::WritePasswordJob::finished, &loop, &QEventLoop::quit); write.connect(&write, &QKeychain::WritePasswordJob::finished, &loop, &QEventLoop::quit);
write.start(); write.start();
loop.exec(); loop.exec();
if(write.error()) if(write.error())
cout << "Error writing key1. Error: " << write.errorString().toStdString(); info(DEBUGMACRO, "Error writing key1. Error: " + write.errorString());
} }
QString getPassword(const QString& name) QString getPassword(const QString& name)
{ {
QKeychain::ReadPasswordJob readPass(appName); QKeychain::ReadPasswordJob readPass(appName);
readPass.setSettings(&sett); readPass.setSettings(&sett);
// readPass.setAutoDelete(false); readPass.setKey(name);
readPass.setKey(name);
QEventLoop loop; QEventLoop loop;
readPass.connect(&readPass, &QKeychain::ReadPasswordJob::finished, &loop, &QEventLoop::quit); readPass.connect(&readPass, &QKeychain::ReadPasswordJob::finished, &loop, &QEventLoop::quit);
readPass.start(); readPass.start();
loop.exec(); loop.exec();
if(readPass.error()) if(readPass.error())
{ {
cout << "KeyHandler~Error reading decrypt Pass. Error: " + readPass.errorString() . toStdString() << endl; info(DEBUGMACRO, "KeyHandler~Error reading decrypt Pass. Error: " + readPass.errorString());
return ""; return "";
} }else
else {
{ QString data = readPass.textData();
QString data = readPass.textData(); return data;
return data; }
}
} }

View File

@ -1,7 +1,8 @@
#ifndef PASSWORD_H #ifndef PASSWORD_H
#define PASSWORD_H #define PASSWORD_H
#include "mainwindow.h" //#include "mainwindow.h"
#include "qapplication.h"
#include <qt5keychain/keychain.h> #include <qt5keychain/keychain.h>
#include <qt5keychain/qkeychain_export.h> #include <qt5keychain/qkeychain_export.h>
@ -10,26 +11,4 @@ extern QApplication a;
void setPassword(QString account, QString pass); void setPassword(QString account, QString pass);
QString getPassword(const QString& name); QString getPassword(const QString& name);
/*class Password : QObject
{
public:
QString appName;
QKeychain::WritePasswordJob * passwdJob;
QKeychain::ReadPasswordJob * readPass;
MainWindow * mw;
QString password;
QSettings passwdSettings{a.applicationName(),a.applicationName()};
Password();
~Password();
void store(QString, QString);
QString read(QString);
bool remove(QString);
private slots:
void storeFinished();
void readFinished();
};*/
#endif // PASSWORD_H #endif // PASSWORD_H

203
tools.cpp
View File

@ -1,4 +1,8 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "tools.h"
#include "password.h"
#include <QTextStream>
#include <QHostAddress>
using namespace std; using namespace std;
@ -8,65 +12,160 @@ using namespace std;
extern QMap<int, QString> rsyncErrorStrings; extern QMap<int, QString> rsyncErrorStrings;
extern QApplication a; extern QApplication a;
//Take a string and explode it in array
// s => string to explode
// c => character separator
// n => number of results in array, the last is the rest of string to end
const vector<string> explode(const string& s, const char& c, int n = 0)
{
string buff;
vector<string> v;
size_t pos = 0;
size_t ppos = 0;
int i = 0;
while (i < n - 1)
{
pos = s.find(c, ppos);
if (pos != string::npos)
{
buff = s.substr(ppos, pos - ppos);
if (buff != "")
{
i++;
v.push_back(s.substr(ppos, pos - ppos));
}
ppos = pos + 1;
}else
{
break;
}
}
if (ppos < s.size())
{
v.push_back(s.substr(ppos));
}
return v;
}
// test return code of rsync // test return code of rsync
// return true in case of error // return true in case of error
bool testRsyncReturn(MainWindow * w, QProcess * myProcess) bool testRsyncReturn(MainWindow * w, QProcess * myProcess)
{ {
if (myProcess->exitStatus() != 0 and w->stopDlAsked != true) info(DEBUGMACRO, "testRsyncReturn()");
{ info(DEBUGMACRO, "Exit status: " + QString::number(myProcess->exitStatus()));
QMessageBox::warning( info(DEBUGMACRO, "Exit code: " + QString::number(myProcess->exitCode()));
w,
a.applicationName(), if (myProcess->exitStatus() != 0 and w->stopDlAsked != true)
myProcess->errorString(), {
QMessageBox::Ok, info(DEBUGMACRO, "rsync error " + myProcess->errorString());
QMessageBox::Ok); QMessageBox::warning(
return true; w,
} a.applicationName(),
w->stopDlAsked = false; QTranslator::tr("Rsync error:\n") + rsyncErrorStrings[myProcess->error()],
return false; //myProcess->errorString(),
QMessageBox::Ok,
QMessageBox::Ok);
return true;
}
if(myProcess->exitCode() != 0)
{
info(DEBUGMACRO, "rsync error " + myProcess->errorString());
QMessageBox::warning(
w,
a.applicationName(),
QTranslator::tr("Rsync error:\n") + rsyncErrorStrings[myProcess->exitCode()],
QMessageBox::Ok,
QMessageBox::Ok);
return true;
}
w->stopDlAsked = false;
return false;
} }
QString getFileType(QString filename) QString getFileType(QString filename)
{ {
QMimeDatabase db; QMimeDatabase db;
QMimeType mime = db.mimeTypeForFile(filename); QMimeType mime = db.mimeTypeForFile(filename);
QString returnValue = mime.name().section('/',0 ,0); QString returnValue = mime.name().section('/',0 ,0);
return returnValue; return returnValue;
} }
QString preparePath(QString path)
{
return path.trimmed().replace(' ', "\ ");
}
int whatIpVersion(QString ipAddress)
{
QStringList fieldList;
// ulong field;
// uint i;
uint ipversion;
QHostAddress serverAddress;
info(DEBUGMACRO, "ipVersion of server at " + ipAddress);
if (!serverAddress.setAddress(ipAddress))
{
error ("Address " + ipAddress + " is bad");
}
ipversion = serverAddress.protocol();
return (ipversion==IPV4?4:6);
/*fieldList = ipAddress.split(":");
if (fieldList.count() == 8)
{
for (i=0;i<8;i++)
{
field = fieldList[i].toUInt();
if (field > 65535)
{
return 0;
}
}
info(DEBUGMACRO, "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;
}
}
info(DEBUGMACRO, "Address is ip V4");
return 4;
}*/
}
QHostAddress searchHosts(QString server)
{
QString line = "";
QStringList hosts;
QFile fileHandle("/etc/hosts");
QHostAddress serverAddress;
info(DEBUGMACRO, "reading /etc/hosts");
if (!fileHandle.open(QIODevice::ReadOnly))
{
QMessageBox::information(0,MainWindow::tr("Error"), fileHandle.errorString());
}else
{
QTextStream in(&fileHandle);
while(!in.atEnd())
{
line = in.readLine();
hosts = line.split(QRegularExpression("\\s+"));
if (hosts.contains(server))
{
//if (!serverAddress.isNull()) // and serverAddress.protocol() == QAbstractSocket::IPv4Protocol)
//{
if (!serverAddress.setAddress(hosts.first()))
{
error("Error setting address " + hosts.first());
}
//}
}
}
}
return serverAddress;
}
void warning(QString message)
{
QMessageBox::warning(
NULL,
a.applicationName() + "",
message,
QMessageBox::Ok,
QMessageBox::Ok);
}
void error(QString message)
{
QMessageBox::warning(
NULL,
a.applicationName() + ":" + QTranslator::tr("Error"),
message,
QMessageBox::Ok,
QMessageBox::Ok);
}
void info(QString debugHeader, QString message)
{
qInfo("%s %s", debugHeader.toStdString().c_str(), message.toStdString().c_str());
}
//void error()

22
tools.h
View File

@ -1,7 +1,12 @@
#ifndef TOOLS_H #ifndef TOOLS_H
#define TOOLS_H #define TOOLS_H
#include "mainwindow.h" #define DEBUGMACRO QString(__FILE__) + "->" + QString(Q_FUNC_INFO) + ": " + QString::number(__LINE__) + " -"
#define IPV4 0
#define IPV6 1
#include <QHostAddress>
#include <string> #include <string>
#include <vector> #include <vector>
#include <array> #include <array>
@ -11,16 +16,17 @@
#include <QProcess> #include <QProcess>
#include <QMimeDatabase> #include <QMimeDatabase>
#include <QMimeType> #include <QMimeType>
#include "mainwindow.h"
using namespace std; using namespace std;
const vector<string> explode(const string& s, const char& c, int n);
FILE * popen2(array<string,8> argv, string type, int & pid);
int pclose2(FILE * fp, pid_t pid);
bool testRsyncReturn(MainWindow *, QProcess *); bool testRsyncReturn(MainWindow *, QProcess *);
QString getFileType(QString finename); QString getFileType(QString filename);
int whatIpVersion(QString server);
void warning(QString message);
void error(QString message);
void info(QString debugHeader, QString message);
QString preparePath(QString path);
QHostAddress searchHosts(QString server);
#endif // TOOLS_H #endif // TOOLS_H

8
version.h Normal file
View File

@ -0,0 +1,8 @@
#ifndef VERSION_H
#define VERSION_H
#include <QString>
QString version = "2.13.2";
#endif // VERSION_H