- corrigé bug a la saisie du serveur\n- corrigé bug si adresse serveur vide

This commit is contained in:
Daniel Tartavel 2024-08-22 23:08:42 +02:00
parent ec38ce4ec3
commit 3396fde813
17 changed files with 1668 additions and 990 deletions

View File

@ -3,7 +3,7 @@
# Generated by qmake (3.1) (Qt 5.15.7)
# Project: RsyncUI.pro
# Template: app
# Command: /usr/lib64/qt5/bin/qmake -o Makefile RsyncUI.pro -spec linux-g++
# Command: /usr/bin/qmake-qt5 -o Makefile RsyncUI.pro
#############################################################################
MAKEFILE = Makefile
@ -14,11 +14,11 @@ EQ = =
CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_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)
CXXFLAGS = -pipe -std=gnu++0x -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -std=gnu++1z -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
INCPATH = -I. -I/usr/include/KF5 -I/usr/include/qt5keychain -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/KF5/KConfig -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++
QMAKE = /usr/lib64/qt5/bin/qmake
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-qt5
DEL_FILE = rm -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
@ -28,8 +28,8 @@ COPY_DIR = cp -f -R
INSTALL_FILE = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR = cp -f -R
QINSTALL = /usr/lib64/qt5/bin/qmake -install qinstall
QINSTALL_PROGRAM = /usr/lib64/qt5/bin/qmake -install qinstall -exe
QINSTALL = /usr/bin/qmake-qt5 -install qinstall
QINSTALL_PROGRAM = /usr/bin/qmake-qt5 -install qinstall -exe
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
@ -40,7 +40,7 @@ DISTNAME = RsyncUI1.0.0
DISTDIR = /home/daniel/develop/RsyncUI/.tmp/RsyncUI1.0.0
LINK = g++
LFLAGS = -Wl,-O1
LIBS = $(SUBLIBS) -lqt5keychain /usr/lib64/libKF5ItemViews.so /usr/lib64/libKF5Completion.so /usr/lib64/libQt5Widgets.so /usr/lib64/libKF5ConfigGui.so /usr/lib64/libQt5Gui.so /usr/lib64/libKF5ConfigCore.so /usr/lib64/libQt5Xml.so /usr/lib64/libKF5CoreAddons.so /usr/lib64/libKF5DBusAddons.so /usr/lib64/libQt5DBus.so /usr/lib64/libQt5Core.so -lGL -lpthread
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
RANLIB =
SED = sed
@ -148,10 +148,6 @@ DIST = RsyncUI.desktop \
/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_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_positioning.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri \
@ -190,13 +186,6 @@ DIST = RsyncUI.desktop \
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri \
/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_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri \
@ -227,9 +216,6 @@ DIST = RsyncUI.desktop \
/usr/lib64/qt5/mkspecs/features/resources_functions.prf \
/usr/lib64/qt5/mkspecs/features/resources.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/uic.prf \
/usr/lib64/qt5/mkspecs/features/unix/thread.prf \
@ -341,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_openglextensions.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_positioning.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri \
@ -383,13 +365,6 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri \
/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_private.pri \
/usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri \
@ -420,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.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/uic.prf \
/usr/lib64/qt5/mkspecs/features/unix/thread.prf \
@ -433,7 +405,7 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/features/yacc.prf \
/usr/lib64/qt5/mkspecs/features/lex.prf \
RsyncUI.pro
$(QMAKE) -o Makefile RsyncUI.pro -spec linux-g++
$(QMAKE) -o Makefile RsyncUI.pro
/usr/lib64/qt5/mkspecs/features/spec_pre.prf:
/usr/lib64/qt5/mkspecs/common/unix.conf:
/usr/lib64/qt5/mkspecs/common/linux.conf:
@ -516,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_openglextensions.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_positioning.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_positioning_private.pri:
@ -558,13 +526,6 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/modules/qt_lib_waylandcompositor_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webchannel_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_webengine.pri:
/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_private.pri:
/usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras.pri:
@ -595,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.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/uic.prf:
/usr/lib64/qt5/mkspecs/features/unix/thread.prf:
@ -609,7 +567,7 @@ Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5
/usr/lib64/qt5/mkspecs/features/lex.prf:
RsyncUI.pro:
qmake: FORCE
@$(QMAKE) -o Makefile RsyncUI.pro -spec linux-g++
@$(QMAKE) -o Makefile RsyncUI.pro
qmake_all: FORCE
@ -664,19 +622,15 @@ compiler_moc_header_clean:
moc_downloadfile.cpp: downloadfile.h \
moc_predefs.h \
/usr/lib64/qt5/bin/moc
/usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/qt5keychain -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/KF5/KConfig -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/12 -I/usr/include/c++/12/x86_64-mageia-linux -I/usr/include/c++/12/backward -I/usr/lib/gcc/x86_64-mageia-linux/12/include -I/usr/local/include -I/usr/include downloadfile.h -o moc_downloadfile.cpp
/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 \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h \
mainwindow.h \
moc_predefs.h \
/usr/lib64/qt5/bin/moc
/usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/qt5keychain -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/KF5/KConfig -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/12 -I/usr/include/c++/12/x86_64-mageia-linux -I/usr/include/c++/12/backward -I/usr/lib/gcc/x86_64-mageia-linux/12/include -I/usr/local/include -I/usr/include mainwindow.h -o moc_mainwindow.cpp
/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_clean:
@ -711,48 +665,42 @@ compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean compiler_ui
####### Compile
downloadfile.o: downloadfile.cpp mainwindow.h \
downloadfile.o: downloadfile.cpp downloadfile.h \
tools.h \
mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h
ui_about.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o downloadfile.o downloadfile.cpp
main.o: main.cpp mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h
tools.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
mainwindow.o: mainwindow.cpp mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
version.h \
tools.h \
password.h \
version.h
password.h
$(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 \
downloadfile.h \
tools.h
ui_about.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o password.o password.cpp
tools.o: tools.cpp mainwindow.h \
ui_mainwindow.h \
ui_configuration.h \
ui_about.h \
downloadfile.h \
tools.h \
password.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o tools.o tools.cpp

View File

@ -32,8 +32,10 @@ Cliquez sur un fichier pour le supprimer de la file et une fenêtre de confirmat
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.
2ème icône: Paramètres de l'application
2éme icône: Services cachés
- Permet de configurer un service caché.
Il faut donner le nom du service et le mot de passe si besoin.
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.

BIN
RsyncUI Executable file

Binary file not shown.

View File

@ -2,9 +2,6 @@ QT += core gui
QT += KItemViews
QT += KCompletion
QT += widgets
QT += KConfigCore KConfigGui
QT += KCoreAddons
QT += KDBusAddons
LIBS += -lqt5keychain
@ -14,7 +11,7 @@ CONFIG += c++17
# You can make your code fail to compile if it uses deprecated APIs.
# 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 += \
downloadfile.cpp \

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 9.0.1, 2024-07-18T20:40:34. -->
<!-- Written by QtCreator 9.0.1, 2024-08-22T00:12:24. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{a3117c94-e673-4dca-aa4c-050bbea034fe}</value>
<value type="QByteArray">{db2284ae-177e-4753-8e1e-1e0e73c52ae1}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
@ -71,37 +71,32 @@
<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>
<value type="int" key="ClangTools.ParallelJobs">1</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="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.7 (Système)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.7 (Système)</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{5228be4d-4434-412e-a9f4-ec733d887ed1}</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>
<value type="int" key="EnableQmlDebugging">0</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/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.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -134,11 +129,93 @@
<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-Qt_5_15_7_Syst_me_temporaire-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.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>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<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-Qt_5_15_7_Syst_me_temporaire-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.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>
@ -159,7 +236,6 @@
<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>
@ -167,7 +243,7 @@
<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>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/daniel/develop/build-RsyncUI-Qt_5_15_7_Syst_me_temporaire-Debug</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
@ -178,7 +254,7 @@
<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="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>
@ -190,7 +266,7 @@
<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>
<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">
@ -229,7 +305,7 @@
<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>
<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">
@ -270,7 +346,7 @@
<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>
<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">
@ -335,9 +411,89 @@
<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>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">2</value>
<value type="qlonglong">3</value>
</data>
<data>
<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>

Binary file not shown.

View File

@ -58,12 +58,13 @@
<message>
<location filename="configuration.ui" line="159"/>
<source>Automatic saving of download queue</source>
<translation type="unfinished">Enregistrement automatique de la file de téléchargement</translation>
<translation>Enregistrement automatique de l
a file de téléchargement</translation>
</message>
<message>
<location filename="configuration.ui" line="165"/>
<source>Auto save download queue</source>
<translation type="unfinished">Enregistrement automatique de la file de téléchargement</translation>
<translation>Enregistrement automatique de la file de téléchargement</translation>
</message>
</context>
<context>
@ -216,32 +217,32 @@
<translation>Paramètres</translation>
</message>
<message>
<location filename="mainwindow.h" line="125"/>
<location filename="mainwindow.h" line="128"/>
<source>KB</source>
<translation>Ko</translation>
</message>
<message>
<location filename="mainwindow.h" line="126"/>
<location filename="mainwindow.h" line="129"/>
<source>MB</source>
<translation>Mo</translation>
</message>
<message>
<location filename="mainwindow.h" line="127"/>
<location filename="mainwindow.h" line="130"/>
<source>GB</source>
<translation>Go</translation>
</message>
<message>
<location filename="mainwindow.h" line="128"/>
<location filename="mainwindow.h" line="131"/>
<source>TB</source>
<translation>To</translation>
</message>
<message>
<location filename="mainwindow.h" line="129"/>
<location filename="mainwindow.h" line="132"/>
<source>PB</source>
<translation>Po</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="59"/>
<location filename="mainwindow.cpp" line="63"/>
<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>
<translation>&lt;h3&gt;Utilisation&lt;/h3&gt;
@ -259,7 +260,10 @@ 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;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;
&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;
- 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;
- Affichage de la barre d&apos;outils&lt;br&gt;
@ -274,97 +278,101 @@ Cliquez sur un fichier pour le supprimer de la file et une fenêtre de confirmat
Permet de quitter le programme</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="75"/>
<location filename="mainwindow.cpp" line="72"/>
<source>Path</source>
<translation>Chemin</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="75"/>
<location filename="mainwindow.cpp" line="72"/>
<source>Size</source>
<translation>Taille</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="75"/>
<location filename="mainwindow.cpp" line="72"/>
<source>Type</source>
<translation>Type</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="75"/>
<location filename="mainwindow.cpp" line="72"/>
<source>Date</source>
<translation>Date</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="102"/>
<location filename="mainwindow.cpp" line="87"/>
<source>KB/s</source>
<translation>Ko/s</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="102"/>
<location filename="mainwindow.cpp" line="87"/>
<source>MB/s</source>
<translation>Mo/s</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="102"/>
<location filename="mainwindow.cpp" line="87"/>
<source>GB/s</source>
<translation>Go/s</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="102"/>
<location filename="mainwindow.cpp" line="87"/>
<source>TB/s</source>
<translation>To/s</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="102"/>
<location filename="mainwindow.cpp" line="87"/>
<source>PB/s</source>
<translation>Po/s</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="120"/>
<location filename="mainwindow.cpp" line="131"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="149"/>
<location filename="mainwindow.cpp" line="133"/>
<source>Delete</source>
<translation>Effacer</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="165"/>
<source>&amp;Quit</source>
<translation>&amp;Quitter</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="206"/>
<location filename="mainwindow.cpp" line="232"/>
<source>Clicking Save button, You can save the list of downloads
</source>
<translation>Vous pouvez enregistrer la liste des téléchargements en cliquant sur &quot;enregister&quot;
</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="212"/>
<location filename="mainwindow.cpp" line="238"/>
<source>Exiting will stop downloading, and will clear the download queue.
Do you want to exit ?</source>
<translation>Si vous sortez, les téléchargements seront arrêter.
Voulez-vous vraiment sortir ?</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="250"/>
<location filename="mainwindow.cpp" line="280"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="551"/>
<location filename="mainwindow.cpp" line="657"/>
<source>Authentication failed</source>
<translation>Mauvais mot de passe ou utilisateur</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="604"/>
<location filename="mainwindow.cpp" line="716"/>
<source>The processus does&apos;nt respond: </source>
<translation>Le processus ne répond pas: </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="690"/>
<source>server does not exists</source>
<translation>Le serveur n&apos;existe pas</translation>
<translation type="vanished">Le serveur n&apos;existe pas</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="726"/>
<location filename="mainwindow.cpp" line="886"/>
<location filename="mainwindow.cpp" line="852"/>
<location filename="mainwindow.cpp" line="1006"/>
<source>Dir</source>
<translation>dossier</translation>
</message>
@ -373,51 +381,51 @@ Voulez-vous vraiment sortir ?</translation>
<translation type="vanished">Doc</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="914"/>
<location filename="mainwindow.cpp" line="1035"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="931"/>
<location filename="mainwindow.cpp" line="1054"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="968"/>
<location filename="mainwindow.cpp" line="1089"/>
<source>File is already downloading</source>
<translation>Le document est déjà en téléchargement</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="998"/>
<location filename="mainwindow.cpp" line="1124"/>
<source>Starting downloading
</source>
<translation>Démarrage du téléchargement
</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1013"/>
<location filename="mainwindow.cpp" line="1141"/>
<source>finished</source>
<translation>Terminé</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1023"/>
<location filename="mainwindow.cpp" line="1151"/>
<source>Rsync process crashed</source>
<translation>Le processus rsync à planté</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1030"/>
<location filename="mainwindow.cpp" line="1162"/>
<source>stopped by user</source>
<translation>stoppé par l&apos;utilisateur</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1041"/>
<location filename="mainwindow.cpp" line="1173"/>
<source>
Do you want to retry?</source>
<translation>
Voulez-vous -essayer?</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1050"/>
<location filename="mainwindow.cpp" line="1182"/>
<source>Download </source>
<translation>Téléchargement </translation>
</message>
@ -426,108 +434,108 @@ Voulez-vous ré-essayer?</translation>
<translation type="vanished">Requête RsyncUI</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1391"/>
<location filename="mainwindow.cpp" line="1545"/>
<source>Hidden service name</source>
<translation>Nom du servcice caché</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="54"/>
<location filename="mainwindow.cpp" line="58"/>
<source>Version</source>
<translation>Version</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="53"/>
<location filename="mainwindow.cpp" line="57"/>
<source>&lt;h2&gt;Client for rsync server&lt;/h2&gt;</source>
<translation>&lt;h2&gt;Client pour serveur rsync&lt;/h2&gt;</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="55"/>
<location filename="mainwindow.cpp" line="59"/>
<source>Licence</source>
<translation>License</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="56"/>
<location filename="mainwindow.cpp" line="60"/>
<source>Author</source>
<translation>Auteur</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="57"/>
<location filename="mainwindow.cpp" line="61"/>
<source>EMail</source>
<translation>Courriel</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="58"/>
<location filename="mainwindow.cpp" line="62"/>
<source>Source code</source>
<translation>Code source</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="821"/>
<location filename="mainwindow.cpp" line="934"/>
<source>Select the user you want to connect with or enter a new one</source>
<translation>Choisissez l&apos;utilisateur avec lequel vous voulez vous connecter ou entrez en un nouveau</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="834"/>
<location filename="mainwindow.cpp" line="1390"/>
<location filename="mainwindow.cpp" line="947"/>
<location filename="mainwindow.cpp" line="1544"/>
<source> Request</source>
<translation> Requête de mot de passe</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="835"/>
<location filename="mainwindow.cpp" line="948"/>
<source>Enter password</source>
<translation>Entrez votre mot de passe</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1225"/>
<location filename="mainwindow.cpp" line="1365"/>
<source>Since the save path is linked to service, you need to select a service before you can select a folder</source>
<translation>Vous devez sélectionnez un service pour pouvoir sélectionnez un dossier par défaut</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1230"/>
<location filename="mainwindow.cpp" line="1370"/>
<source>Choose folder where to save file</source>
<translation>Choisissez un dossier enregistrer le document</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1121"/>
<location filename="mainwindow.cpp" line="1255"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="1136"/>
<location filename="mainwindow.cpp" line="1270"/>
<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>
</message>
<message>
<location filename="mainwindow.h" line="124"/>
<location filename="mainwindow.h" line="127"/>
<source>B</source>
<translation>o</translation>
</message>
<message>
<location filename="mainwindow.h" line="141"/>
<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>
<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>
<location filename="mainwindow.h" line="142"/>
<location filename="mainwindow.h" line="146"/>
<source>The process crashed some time after starting successfully.</source>
<translation>Le processus à planté après avoir démarré avec succès.</translation>
</message>
<message>
<location filename="mainwindow.h" line="143"/>
<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>
<translation>La fonction waitFor...() a dépassé la limite de temps, you pouvez essayer de la relancer.</translation>
</message>
<message>
<location filename="mainwindow.h" line="144"/>
<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>
<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>
<location filename="mainwindow.h" line="145"/>
<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>
<translation>Une erreur est survenue lors de la lecturee de données, le processus est probablement arrêté.</translation>
</message>
<message>
<location filename="mainwindow.h" line="146"/>
<location filename="mainwindow.h" line="150"/>
<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>
</message>
@ -535,90 +543,103 @@ Voulez-vous ré-essayer?</translation>
<context>
<name>QTranslator</name>
<message>
<location filename="mainwindow.cpp" line="13"/>
<location filename="mainwindow.cpp" line="17"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="14"/>
<location filename="mainwindow.cpp" line="18"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="15"/>
<location filename="mainwindow.cpp" line="19"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="16"/>
<location filename="mainwindow.cpp" line="20"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="17"/>
<location filename="mainwindow.cpp" line="21"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="18"/>
<location filename="mainwindow.cpp" line="22"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="19"/>
<location filename="mainwindow.cpp" line="23"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="20"/>
<location filename="mainwindow.cpp" line="24"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="21"/>
<location filename="mainwindow.cpp" line="25"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="22"/>
<location filename="mainwindow.cpp" line="26"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="23"/>
<location filename="mainwindow.cpp" line="27"/>
<source>Errors with program diagnostics. There was an error generating program diagnostics.</source>
<translation>Erreur avec les diagnostiques du programme.</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="24"/>
<location filename="mainwindow.cpp" line="28"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="25"/>
<location filename="mainwindow.cpp" line="29"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="26"/>
<location filename="mainwindow.cpp" line="30"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="27"/>
<location filename="mainwindow.cpp" line="31"/>
<source>Error allocating core memory buffers. There was an error allocating memory buffers.</source>
<translation>Erreur d&apos;allocation des buffers mémoire.</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="28"/>
<location filename="mainwindow.cpp" line="32"/>
<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>
</message>
<message>
<location filename="mainwindow.cpp" line="29"/>
<location filename="mainwindow.cpp" line="33"/>
<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>
</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>
<name>windowAbout</name>

View File

@ -1,5 +1,3 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "downloadfile.h"
#include "tools.h"
#include <pstreams/pstream.h>
@ -10,7 +8,6 @@
#include <stdio.h>
#include <QMessageBox>
#include <vector>
//#include <boost/algorithm/string/replace.hpp>
#include <memory>
#include <stdexcept>
#include <array>
@ -29,10 +26,12 @@ void MainWindow::cancelled(QProcess * process)
{
bool n = 0;
info(DEBUGMACRO, "cancelled() => download cancelled: Terminating process");
process->terminate();
n = process->waitForFinished(30000);
if (n == false)
{
info(DEBUGMACRO, "Process does not terminate after 30s, closing process");
process->close();
}
}
@ -44,10 +43,14 @@ void MainWindow::download()
QStringList param;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
QString server = downloading.server;
uint ipversion;
info(DEBUGMACRO, "download() => launch a rsync processus to download a file");
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
@ -57,19 +60,23 @@ void MainWindow::download()
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);
if (downloading.ipversion == 4 || downloading.ipversion == 6)
{
param << "-" + QString::number(downloading.ipversion);
info(DEBUGMACRO, "Adding ip version parameter");
param << "-" + QString::number(ipversion).trimmed();
}
param << "--port" << QString::number(this->downloading.port);
param << "-aXP ";
param << server + "::" + this->downloading.service + "/" + this->downloading.path << this->downloading.savePath + "/";
param << "--port" << QString::number(this->downloading.port).trimmed();
param << "-aXP";
param << "[" + server + "]::" + this->downloading.service.trimmed() + "/" + this->downloading.path.trimmed() << this->downloading.savePath.trimmed() + "/";
qInfo("%s %s", cmd.toStdString().c_str(), param.join(" ").toStdString().c_str() );
info(DEBUGMACRO, cmd + " " + param.join(" "));
this->downloading.process->start(cmd, param);
@ -82,7 +89,6 @@ void MainWindow::download()
void MainWindow::readRsyncOutput()
{
QString line;
bool flag = false;
int value;
int pos;
static QString dlSpeed;
@ -91,13 +97,13 @@ void MainWindow::readRsyncOutput()
int i;
int listSize;
while(!flag)
info(DEBUGMACRO, "readRsyncOutput()");
while(1)
{
list.clear();
line = QString::fromUtf8(this->downloading.process->readLine());
if (line.isEmpty())
{
flag = true;
break;
}else
{
@ -112,13 +118,8 @@ void MainWindow::readRsyncOutput()
value = list.at(i *4 + 1).chopped(1).toInt();
dlSpeed = list.at(i * 4 + 2);
/*line.resize(pos);
pos = line.lastIndexOf(' ');
if (pos != -1)
{
line.remove(0, pos);
value = line.toInt();*/
// sending progress to Main window
info (DEBUGMACRO, "sending progress to Main window");
emit progressSignal(value);
emit fileName(filename + " %p%" + "\t " + dlSpeed);
}

View File

@ -1,5 +1,5 @@
#include "mainwindow.h"
#include "tools.h"
#include <QTranslator>
int main(int argc, char *argv[])
@ -27,8 +27,7 @@ int main(int argc, char *argv[])
static const QString appName = "RsyncUI";
//Password passwdJob;
MainWindow w;
qInfo("RsyncUI begining");
info(DEBUGMACRO, "RsyncUI begining");
w.show();
w.init();
return a.exec();
}

File diff suppressed because it is too large Load Diff

View File

@ -51,9 +51,9 @@ extern QMap<int, QString> rsyncErrorStrings;
class Connexion
{
public:
int bandwidthLimit = 0;
int bandwidthLimitUnit;
public:
int bandwidthLimit = 0;
int bandwidthLimitUnit;
int contimeout = 20;
QString server;
QString service;
@ -70,9 +70,9 @@ class Connexion
class Downloading
{
public:
QString server;
QString service;
public:
QString server;
QString service;
QString path;
QString savePath;
QString user;
@ -86,9 +86,9 @@ class Downloading
class About
{
public:
QString version;
QString author = "Daniel TARTAVEL-JEANNOT";
public:
QString version;
QString author = "Daniel TARTAVEL-JEANNOT";
QString licence = "GPL_V3";
QString description;
QString email = "dtux@free.fr";
@ -99,9 +99,9 @@ class MainWindow : public QMainWindow
{
Q_OBJECT
public:
Ui::MainWindow *ui;
MainWindow(QWidget *parent = nullptr);
public:
Ui::MainWindow *ui;
MainWindow(QWidget *parent = nullptr);
~MainWindow();
// passwdManager;
QProgressDialog *progress;
@ -124,30 +124,30 @@ class MainWindow : public QMainWindow
QList<QString> UnitText
{
tr("B"),
tr("KB"),
tr("MB"),
tr("GB"),
tr("TB"),
tr("PB")
tr("B"),
tr("KB"),
tr("MB"),
tr("GB"),
tr("TB"),
tr("PB")
};
QList<QChar> bwUnitChar
{
'K',
'M',
'T',
'G',
'P'
'K',
'M',
'T',
'G',
'P'
};
QVector<QString> downloadProcessErrorString =
{
tr("The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program."),
tr("The process crashed some time after starting successfully."),
tr("The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again."),
tr("An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel."),
tr("An error occurred when attempting to read from the process. For example, the process may not be running."),
tr("An unknown error occurred. This is the default return value of error().")
tr("The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program."),
tr("The process crashed some time after starting successfully."),
tr("The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again."),
tr("An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel."),
tr("An error occurred when attempting to read from the process. For example, the process may not be running."),
tr("An unknown error occurred. This is the default return value of error().")
};
void displayTree();
@ -175,7 +175,7 @@ class MainWindow : public QMainWindow
void passwordStore (QString account, QString password);
QString passwordGet (QString account);
private slots:
private slots:
void on_listWidget_clicked();
@ -223,7 +223,11 @@ class MainWindow : public QMainWindow
void on_khistorycombobox_currentTextChanged(const QString &arg1);
signals:
void on_khistorycombobox_editTextChanged(const QString &arg1);
void on_return_pressed(const QString &server);
signals:
void stopDownloading(QProcess *);
void progressSignal(int);
void speed(QString);

View File

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

View File

@ -1,7 +1,8 @@
#ifndef PASSWORD_H
#define PASSWORD_H
#include "mainwindow.h"
//#include "mainwindow.h"
#include "qapplication.h"
#include <qt5keychain/keychain.h>
#include <qt5keychain/qkeychain_export.h>

View File

@ -1,4 +1,6 @@
#include "mainwindow.h"
#include "tools.h"
#include "password.h"
using namespace std;
@ -12,18 +14,33 @@ extern QApplication a;
// return true in case of error
bool testRsyncReturn(MainWindow * w, QProcess * myProcess)
{
info(DEBUGMACRO, "testRsyncReturn()");
info(DEBUGMACRO, "Exit status: " + QString::number(myProcess->exitStatus()));
info(DEBUGMACRO, "Exit code: " + QString::number(myProcess->exitCode()));
if (myProcess->exitStatus() != 0 and w->stopDlAsked != true)
{
qInfo("rsync error %i : %s ", + myProcess->error(), myProcess->errorString().toStdString().c_str());
info(DEBUGMACRO, "rsync error " + myProcess->errorString());
QMessageBox::warning(
w,
a.applicationName(),
rsyncErrorStrings[myProcess->error()],
QTranslator::tr("Rsync error:\n") + rsyncErrorStrings[myProcess->error()],
//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;
}
@ -42,7 +59,7 @@ int whatIpVersion(QString ipAddress)
ulong field;
uint i;
qInfo("ipVersion %s", ipAddress.toStdString().c_str());
info(DEBUGMACRO, "ipVersion of server at " + ipAddress);
fieldList = ipAddress.split(":");
if (fieldList.count() == 8)
@ -55,7 +72,7 @@ int whatIpVersion(QString ipAddress)
return 0;
}
}
qInfo("Address is Ip V6");
info(DEBUGMACRO, "Address is Ip V6");
return 6;
}
fieldList = ipAddress.split(".");
@ -69,8 +86,35 @@ int whatIpVersion(QString ipAddress)
return 0;
}
}
qInfo("Address is ip V4");
info(DEBUGMACRO, "Address is ip V4");
return 4;
}
return 0;
}
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()

14
tools.h
View File

@ -1,6 +1,8 @@
#ifndef TOOLS_H
#define TOOLS_H
#define DEBUGMACRO QString(__FILE__) + "->" + QString(Q_FUNC_INFO) + ": " + QString::number(__LINE__) + " -"
#include <string>
#include <vector>
#include <array>
@ -10,15 +12,15 @@
#include <QProcess>
#include <QMimeDatabase>
#include <QMimeType>
#include "mainwindow.h"
using namespace std;
FILE * popen2(array<string,8> argv, string type, int & pid);
int pclose2(FILE * fp, pid_t pid);
bool testRsyncReturn(MainWindow *, QProcess *);
QString getFileType(QString finename);
int whatIpVersion(QString);
QString getFileType(QString filename);
int whatIpVersion(QString server);
void warning(QString message);
void error(QString message);
void info(QString debugHeader, QString message);
#endif // TOOLS_H