diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..7eba6a7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,728 @@
+#############################################################################
+# Makefile for building: RsyncUI
+# Generated by qmake (3.1) (Qt 5.15.2)
+# Project: RsyncUI.pro
+# Template: app
+# Command: /usr/bin/qmake -o Makefile RsyncUI.pro
+#############################################################################
+
+MAKEFILE = Makefile
+
+EQ = =
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_XML_LIB -DQT_DBUS_LIB -DQT_CORE_LIB
+CFLAGS = -pipe -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
+CXXFLAGS = -pipe -std=gnu++0x -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
+INCPATH = -I. -I/usr/include/KF5 -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I. -I. -I/usr/lib64/qt5/mkspecs/linux-g++
+QMAKE = /usr/bin/qmake
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = cp -f
+COPY_DIR = cp -f -R
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = cp -f -R
+QINSTALL = /usr/bin/qmake -install qinstall
+QINSTALL_PROGRAM = /usr/bin/qmake -install qinstall -exe
+DEL_FILE = rm -f
+SYMLINK = ln -f -s
+DEL_DIR = rmdir
+MOVE = mv -f
+TAR = tar -cf
+COMPRESS = gzip -9f
+DISTNAME = RsyncUI1.0.0
+DISTDIR = /home/daniel/develop/RsyncUI/.tmp/RsyncUI1.0.0
+LINK = g++
+LFLAGS = -Wl,-O1
+LIBS = $(SUBLIBS) /usr/lib64/libKF5ItemViews.so /usr/lib64/libKF5Completion.so /usr/lib64/libQt5Widgets.so /usr/lib64/libKF5ConfigGui.so /usr/lib64/libQt5Gui.so /usr/lib64/libQt5Concurrent.so /usr/lib64/libKF5ConfigCore.so /usr/lib64/libQt5Xml.so /usr/lib64/libKF5CoreAddons.so /usr/lib64/libKF5DBusAddons.so /usr/lib64/libQt5DBus.so /usr/lib64/libQt5Core.so -lGL -lpthread
+AR = ar cqs
+RANLIB =
+SED = sed
+STRIP = strip
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = downloadfile.cpp \
+ main.cpp \
+ mainwindow.cpp \
+ tools.cpp moc_downloadfile.cpp \
+ moc_mainwindow.cpp
+OBJECTS = downloadfile.o \
+ main.o \
+ mainwindow.o \
+ tools.o \
+ moc_downloadfile.o \
+ moc_mainwindow.o
+DIST = /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
+ /usr/lib64/qt5/mkspecs/common/unix.conf \
+ /usr/lib64/qt5/mkspecs/common/linux.conf \
+ /usr/lib64/qt5/mkspecs/common/sanitize.conf \
+ /usr/lib64/qt5/mkspecs/common/gcc-base.conf \
+ /usr/lib64/qt5/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib64/qt5/mkspecs/common/g++-base.conf \
+ /usr/lib64/qt5/mkspecs/common/g++-unix.conf \
+ /usr/lib64/qt5/mkspecs/qconfig.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_Attica.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KActivities.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KArchive.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KAuth.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KAuthCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KBookmarks.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCMUtils.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCodecs.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCompletion.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KConfigCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KConfigGui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KConfigWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCoreAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCrash.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KDBusAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KDeclarative.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KGlobalAccel.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KGuiAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KI18n.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIconThemes.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOGui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KItemModels.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KItemViews.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KJobWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNewStuff.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNewStuffCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNotifications.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNotifyConfig.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNTLM.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KParts.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KRunner.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KService.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KTextEditor.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KTextWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWaylandClient.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWaylandServer.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWindowSystem.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KXmlGui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_help_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_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 \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioningquick_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qml_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmlmodels_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmltest_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quick_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_svg_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_vulkan_support_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 \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_QuickAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_ThreadWeaver.pri \
+ /usr/lib64/qt5/mkspecs/features/qt_functions.prf \
+ /usr/lib64/qt5/mkspecs/features/qt_config.prf \
+ /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf \
+ /usr/lib64/qt5/mkspecs/features/spec_post.prf \
+ .qmake.stash \
+ /usr/lib64/qt5/mkspecs/features/exclusive_builds.prf \
+ /usr/lib64/qt5/mkspecs/features/toolchain.prf \
+ /usr/lib64/qt5/mkspecs/features/default_pre.prf \
+ /usr/lib64/qt5/mkspecs/features/resolve_config.prf \
+ /usr/lib64/qt5/mkspecs/features/default_post.prf \
+ /usr/lib64/qt5/mkspecs/features/warn_on.prf \
+ /usr/lib64/qt5/mkspecs/features/qt.prf \
+ /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 \
+ /usr/lib64/qt5/mkspecs/features/qmake_use.prf \
+ /usr/lib64/qt5/mkspecs/features/file_copies.prf \
+ /usr/lib64/qt5/mkspecs/features/testcase_targets.prf \
+ /usr/lib64/qt5/mkspecs/features/exceptions.prf \
+ /usr/lib64/qt5/mkspecs/features/yacc.prf \
+ /usr/lib64/qt5/mkspecs/features/lex.prf \
+ RsyncUI.pro downloadfile.h \
+ mainwindow.h \
+ tools.h downloadfile.cpp \
+ main.cpp \
+ mainwindow.cpp \
+ tools.cpp
+QMAKE_TARGET = RsyncUI
+DESTDIR =
+TARGET = RsyncUI
+
+
+first: all
+####### Build rules
+
+RsyncUI: ui_mainwindow.h $(OBJECTS)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+Makefile: RsyncUI.pro /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf /usr/lib64/qt5/mkspecs/features/spec_pre.prf \
+ /usr/lib64/qt5/mkspecs/common/unix.conf \
+ /usr/lib64/qt5/mkspecs/common/linux.conf \
+ /usr/lib64/qt5/mkspecs/common/sanitize.conf \
+ /usr/lib64/qt5/mkspecs/common/gcc-base.conf \
+ /usr/lib64/qt5/mkspecs/common/gcc-base-unix.conf \
+ /usr/lib64/qt5/mkspecs/common/g++-base.conf \
+ /usr/lib64/qt5/mkspecs/common/g++-unix.conf \
+ /usr/lib64/qt5/mkspecs/qconfig.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_Attica.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KActivities.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KArchive.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KAuth.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KAuthCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KBookmarks.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCMUtils.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCodecs.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCompletion.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KConfigCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KConfigGui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KConfigWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCoreAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KCrash.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KDBusAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KDeclarative.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KGlobalAccel.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KGuiAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KI18n.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIconThemes.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOFileWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOGui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KIOWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KItemModels.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KItemViews.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KJobWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNewStuff.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNewStuffCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNotifications.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNotifyConfig.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KNTLM.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KParts.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KRunner.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KService.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KTextEditor.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KTextWidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWaylandClient.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWaylandServer.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWidgetsAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KWindowSystem.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_KXmlGui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_gui.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_gui_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_help.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_help_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_network.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_network_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_opengl.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_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 \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioningquick.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_positioningquick_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_printsupport.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qml.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qml_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmlmodels.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmlmodels_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmltest.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_qmltest_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quick.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quick_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_svg.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_svg_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_testlib.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_vulkan_support_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 \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xml.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_lib_xml_private.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_QuickAddons.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_Solid.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.pri \
+ /usr/lib64/qt5/mkspecs/modules/qt_ThreadWeaver.pri \
+ /usr/lib64/qt5/mkspecs/features/qt_functions.prf \
+ /usr/lib64/qt5/mkspecs/features/qt_config.prf \
+ /usr/lib64/qt5/mkspecs/linux-g++/qmake.conf \
+ /usr/lib64/qt5/mkspecs/features/spec_post.prf \
+ .qmake.stash \
+ /usr/lib64/qt5/mkspecs/features/exclusive_builds.prf \
+ /usr/lib64/qt5/mkspecs/features/toolchain.prf \
+ /usr/lib64/qt5/mkspecs/features/default_pre.prf \
+ /usr/lib64/qt5/mkspecs/features/resolve_config.prf \
+ /usr/lib64/qt5/mkspecs/features/default_post.prf \
+ /usr/lib64/qt5/mkspecs/features/warn_on.prf \
+ /usr/lib64/qt5/mkspecs/features/qt.prf \
+ /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 \
+ /usr/lib64/qt5/mkspecs/features/qmake_use.prf \
+ /usr/lib64/qt5/mkspecs/features/file_copies.prf \
+ /usr/lib64/qt5/mkspecs/features/testcase_targets.prf \
+ /usr/lib64/qt5/mkspecs/features/exceptions.prf \
+ /usr/lib64/qt5/mkspecs/features/yacc.prf \
+ /usr/lib64/qt5/mkspecs/features/lex.prf \
+ RsyncUI.pro
+ $(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:
+/usr/lib64/qt5/mkspecs/common/sanitize.conf:
+/usr/lib64/qt5/mkspecs/common/gcc-base.conf:
+/usr/lib64/qt5/mkspecs/common/gcc-base-unix.conf:
+/usr/lib64/qt5/mkspecs/common/g++-base.conf:
+/usr/lib64/qt5/mkspecs/common/g++-unix.conf:
+/usr/lib64/qt5/mkspecs/qconfig.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_Attica.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KActivities.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KArchive.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KAuth.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KAuthCore.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KBookmarks.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KCMUtils.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KCodecs.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KCompletion.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KConfigCore.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KConfigGui.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KConfigWidgets.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KCoreAddons.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KCrash.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KDBusAddons.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KDeclarative.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KGlobalAccel.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KGuiAddons.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KI18n.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KIconThemes.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KIOCore.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KIOFileWidgets.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KIOGui.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KIOWidgets.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KItemModels.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KItemViews.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KJobWidgets.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KNewStuff.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KNewStuffCore.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KNotifications.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KNotifyConfig.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KNTLM.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KParts.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KRunner.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KService.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KSyntaxHighlighting.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KTextEditor.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KTextWidgets.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KWaylandClient.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KWaylandServer.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KWidgetsAddons.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KWindowSystem.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_KXmlGui.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_core.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_core_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_dbus.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_edid_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_egl_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_fb_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_glx_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_gui.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_gui_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_help.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_help_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_input_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_kms_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_network.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_network_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_opengl.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_opengl_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_openglextensions_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:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_positioningquick.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_positioningquick_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_printsupport.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_printsupport_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qml.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qml_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qmldebug_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qmldevtools_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qmlmodels.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qmlmodels_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qmltest.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_qmltest_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_quick.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_quick_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_quickwidgets_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_service_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_sql.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_sql_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_svg.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_svg_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_testlib.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_testlib_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_texttospeech_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_theme_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_vulkan_support_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:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_x11extras_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_xkbcommon_support_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_xml.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_lib_xml_private.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_QuickAddons.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_Solid.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_SonnetCore.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_SonnetUi.pri:
+/usr/lib64/qt5/mkspecs/modules/qt_ThreadWeaver.pri:
+/usr/lib64/qt5/mkspecs/features/qt_functions.prf:
+/usr/lib64/qt5/mkspecs/features/qt_config.prf:
+/usr/lib64/qt5/mkspecs/linux-g++/qmake.conf:
+/usr/lib64/qt5/mkspecs/features/spec_post.prf:
+.qmake.stash:
+/usr/lib64/qt5/mkspecs/features/exclusive_builds.prf:
+/usr/lib64/qt5/mkspecs/features/toolchain.prf:
+/usr/lib64/qt5/mkspecs/features/default_pre.prf:
+/usr/lib64/qt5/mkspecs/features/resolve_config.prf:
+/usr/lib64/qt5/mkspecs/features/default_post.prf:
+/usr/lib64/qt5/mkspecs/features/warn_on.prf:
+/usr/lib64/qt5/mkspecs/features/qt.prf:
+/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:
+/usr/lib64/qt5/mkspecs/features/qmake_use.prf:
+/usr/lib64/qt5/mkspecs/features/file_copies.prf:
+/usr/lib64/qt5/mkspecs/features/testcase_targets.prf:
+/usr/lib64/qt5/mkspecs/features/exceptions.prf:
+/usr/lib64/qt5/mkspecs/features/yacc.prf:
+/usr/lib64/qt5/mkspecs/features/lex.prf:
+RsyncUI.pro:
+qmake: FORCE
+ @$(QMAKE) -o Makefile RsyncUI.pro
+
+qmake_all: FORCE
+
+
+all: Makefile RsyncUI
+
+dist: distdir FORCE
+ (cd `dirname $(DISTDIR)` && $(TAR) $(DISTNAME).tar $(DISTNAME) && $(COMPRESS) $(DISTNAME).tar) && $(MOVE) `dirname $(DISTDIR)`/$(DISTNAME).tar.gz . && $(DEL_FILE) -r $(DISTDIR)
+
+distdir: FORCE
+ @test -d $(DISTDIR) || mkdir -p $(DISTDIR)
+ $(COPY_FILE) --parents $(DIST) $(DISTDIR)/
+ $(COPY_FILE) --parents /usr/lib64/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents downloadfile.h mainwindow.h tools.h $(DISTDIR)/
+ $(COPY_FILE) --parents downloadfile.cpp main.cpp mainwindow.cpp tools.cpp $(DISTDIR)/
+ $(COPY_FILE) --parents mainwindow.ui $(DISTDIR)/
+ $(COPY_FILE) --parents languages/RsyncUI_fr_FR.ts $(DISTDIR)/
+
+
+clean: compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) *~ core *.core
+
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) .qmake.stash
+ -$(DEL_FILE) Makefile
+
+
+####### Sub-libraries
+
+mocclean: compiler_moc_header_clean compiler_moc_objc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_objc_header_make_all compiler_moc_source_make_all
+
+check: first
+
+benchmark: first
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_moc_predefs_make_all: moc_predefs.h
+compiler_moc_predefs_clean:
+ -$(DEL_FILE) moc_predefs.h
+moc_predefs.h: /usr/lib64/qt5/mkspecs/features/data/dummy.cpp
+ g++ -pipe -std=gnu++0x -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -fno-strict-aliasing -DPIC -fPIC -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib64/qt5/mkspecs/features/data/dummy.cpp
+
+compiler_moc_header_make_all: moc_downloadfile.cpp moc_mainwindow.cpp
+compiler_moc_header_clean:
+ -$(DEL_FILE) moc_downloadfile.cpp moc_mainwindow.cpp
+moc_downloadfile.cpp: downloadfile.h \
+ ui_mainwindow.h \
+ moc_predefs.h \
+ /usr/lib64/qt5/bin/moc
+ /usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/10 -I/usr/include/c++/10/x86_64-mageia-linux-gnu -I/usr/include/c++/10/backward -I/usr/lib/gcc/x86_64-mageia-linux-gnu/10/include -I/usr/local/include -I/usr/include downloadfile.h -o moc_downloadfile.cpp
+
+moc_mainwindow.cpp: mainwindow.h \
+ downloadfile.h \
+ ui_mainwindow.h \
+ moc_predefs.h \
+ /usr/lib64/qt5/bin/moc
+ /usr/lib64/qt5/bin/moc $(DEFINES) --include /home/daniel/develop/RsyncUI/moc_predefs.h -I/usr/lib64/qt5/mkspecs/linux-g++ -I/home/daniel/develop/RsyncUI -I/usr/include/KF5 -I/usr/include/KF5/KItemViews -I/usr/include/KF5/KCompletion -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/KF5/KConfigGui -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtConcurrent -I/usr/include/KF5/KConfigCore -I/usr/include/qt5/QtXml -I/usr/include/KF5/KCoreAddons -I/usr/include/KF5/KDBusAddons -I/usr/include/qt5/QtDBus -I/usr/include/qt5/QtCore -I/usr/include/c++/10 -I/usr/include/c++/10/x86_64-mageia-linux-gnu -I/usr/include/c++/10/backward -I/usr/lib/gcc/x86_64-mageia-linux-gnu/10/include -I/usr/local/include -I/usr/include mainwindow.h -o moc_mainwindow.cpp
+
+compiler_moc_objc_header_make_all:
+compiler_moc_objc_header_clean:
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_uic_make_all: ui_mainwindow.h
+compiler_uic_clean:
+ -$(DEL_FILE) ui_mainwindow.h
+ui_mainwindow.h: mainwindow.ui \
+ /usr/lib64/qt5/bin/uic \
+ /usr/include/KF5/KCompletion/kcombobox.h \
+ /usr/include/KF5/KCompletion/khistorycombobox.h \
+ /usr/include/KF5/KCompletion/klineedit.h \
+ /usr/include/KF5/KItemViews/ktreewidgetsearchline.h
+ /usr/lib64/qt5/bin/uic mainwindow.ui -o ui_mainwindow.h
+
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_predefs_clean compiler_moc_header_clean compiler_uic_clean
+
+####### Compile
+
+downloadfile.o: downloadfile.cpp mainwindow.h \
+ downloadfile.h \
+ ui_mainwindow.h \
+ tools.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o downloadfile.o downloadfile.cpp
+
+main.o: main.cpp mainwindow.h \
+ downloadfile.h \
+ ui_mainwindow.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp
+
+mainwindow.o: mainwindow.cpp mainwindow.h \
+ downloadfile.h \
+ ui_mainwindow.h \
+ tools.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
+
+tools.o: tools.cpp mainwindow.h \
+ downloadfile.h \
+ ui_mainwindow.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tools.o tools.cpp
+
+moc_downloadfile.o: moc_downloadfile.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_downloadfile.o moc_downloadfile.cpp
+
+moc_mainwindow.o: moc_mainwindow.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
+
+####### Install
+
+install_target: first FORCE
+ @test -d $(INSTALL_ROOT)/usr/bin/ || mkdir -p $(INSTALL_ROOT)/usr/bin/
+ $(QINSTALL_PROGRAM) $(QMAKE_TARGET) $(INSTALL_ROOT)/usr/bin/$(QMAKE_TARGET)
+ -$(STRIP) $(INSTALL_ROOT)/usr/bin/$(QMAKE_TARGET)
+
+uninstall_target: FORCE
+ -$(DEL_FILE) $(INSTALL_ROOT)/usr/bin/$(QMAKE_TARGET)
+ -$(DEL_DIR) $(INSTALL_ROOT)/usr/bin/
+
+
+install_lang: first FORCE
+ @test -d $(INSTALL_ROOT)/languages || mkdir -p $(INSTALL_ROOT)/languages
+ $(QINSTALL) /home/daniel/develop/RsyncUI/languages/RsyncUI_fr_FR.qm $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.qm
+ $(QINSTALL) /home/daniel/develop/RsyncUI/languages/RsyncUI_fr_FR.ts $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.ts
+
+uninstall_lang: FORCE
+ -$(DEL_FILE) -r $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.ts
+ -$(DEL_FILE) -r $(INSTALL_ROOT)/languages/RsyncUI_fr_FR.qm
+ -$(DEL_DIR) $(INSTALL_ROOT)/languages/
+
+
+install: install_target install_lang FORCE
+
+uninstall: uninstall_target uninstall_lang FORCE
+
+FORCE:
+
diff --git a/RsyncUI.pro b/RsyncUI.pro
index acc92a1..7c53530 100644
--- a/RsyncUI.pro
+++ b/RsyncUI.pro
@@ -30,12 +30,16 @@ FORMS += \
mainwindow.ui
TRANSLATIONS += \
- RsyncUI_fr_FR.ts
+ languages/RsyncUI_fr_FR.ts
INCLUDEPATH += \
/usr/include/KF5
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
-else: unix:!android: target.path = /opt/$${TARGET}/bin
+else: unix:!android: target.path = /usr/bin/
!isEmpty(target.path): INSTALLS += target
+
+lang.path = /languages
+lang.files = languages/*
+INSTALLS += lang
diff --git a/RsyncUI_fr_FR.ts b/RsyncUI_fr_FR.ts
deleted file mode 100644
index 5fa9855..0000000
--- a/RsyncUI_fr_FR.ts
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
- MainWindow
-
-
-
- Fenêtre principale
-
-
-
-
- Serveur
- Serveur
-
-
-
-
- Port
-
-
-
-
- Downloading
- Téléchargement
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- debug
-
-
-
-
- Chemin
-
-
-
-
- Taille
-
-
-
-
-
-
-
-
-
- Le serveur n'existe pas
-
-
-
-
- Choisissez le dossier où enregistrer
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/downloadfile.h b/downloadfile.h
index 130db1e..da0b1c0 100644
--- a/downloadfile.h
+++ b/downloadfile.h
@@ -2,7 +2,7 @@
#define DOWNLOADFILE_H
#include
-#include "ui_mainwindow.h"
+//#include "ui_mainwindow.h"
class MainWindow;
diff --git a/languages/fr/RsyncUI_fr_FR.qm b/languages/fr/RsyncUI_fr_FR.qm
new file mode 100644
index 0000000..3d78c29
Binary files /dev/null and b/languages/fr/RsyncUI_fr_FR.qm differ
diff --git a/main.cpp b/main.cpp
index 01e0f28..dd6c8c7 100644
--- a/main.cpp
+++ b/main.cpp
@@ -3,12 +3,21 @@
#include
#include
#include
-#include
#include
+#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
+
+ QTranslator myappTranslator;
+ QLocale localeName = QLocale::system();
+ QString localeFile = "./RsyncUI_" + localeName.name() + ".qm";
+ if (myappTranslator.load(localeFile))
+ {
+ a.installTranslator(&myappTranslator);
+ }
+
MainWindow w;
w.show();
return a.exec();
diff --git a/mainwindow.cpp b/mainwindow.cpp
index ca45711..9bfc6f0 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -20,9 +20,9 @@
#include
#include
#include
-#include
#include
#include
+#include
using namespace std;
@@ -37,10 +37,16 @@ MainWindow::MainWindow(QWidget *parent)
QCoreApplication::setOrganizationName("RsyncUI");
QCoreApplication::setApplicationName("RsyncUI");
+ // init shortcut
+
+ // QShortcut * shortcut = new QShortcut(QKeySequence("Return"), this);
+ loadSettings();
+
// connectors
connect(&downloadO, &downloadFile::progressSignal, ui->progressBar, &QProgressBar::setValue);
connect(&downloadO, &downloadFile::finishedSignal, this, &MainWindow::downloadFinished);
connect(this, &MainWindow::stopDownloading, &downloadO, &downloadFile::cancelled);
+ //connect(shortcut, SIGNAL(activated()), this, SLOT(returnPressed()));
// init of widgets
ui->ktreewidgetsearchline->setTreeWidget(ui->treeWidget);
@@ -48,10 +54,12 @@ MainWindow::MainWindow(QWidget *parent)
ui->treeWidget->setHeaderLabels({tr("Path"), tr("Size")} );
ui->progressBar->hide();
- loadSettings();
-
populateList();
+}
+void MainWindow::returnPressed()
+{
+ populateList();
}
MainWindow::~MainWindow()
@@ -84,6 +92,7 @@ void MainWindow::populateTree()
stringstream ss;
vector path;
+ ui->treeWidget->clear();
if (!this->connexion.server.empty() and this->connexion.port > 0 and this->connexion.port < 65536)
{
QGuiApplication::setOverrideCursor(Qt::WaitCursor);
@@ -103,11 +112,11 @@ void MainWindow::populateList()
QString server;
QString port;
+ ui->listWidget->clear();
server = ui->khistorycombobox->currentText();
this->connexion.server.assign(server.toStdString());
ss << ui->portEdit->text().toStdString();
ss >> this->connexion.port;
- QGuiApplication::setOverrideCursor(Qt::WaitCursor);
this->settings.beginGroup("connexion/server");
if (this->settings.contains(server))
@@ -134,7 +143,9 @@ void MainWindow::populateList()
}
// "waiting" cursor
// load and display rsync services of the rsync server
+ QGuiApplication::setOverrideCursor(Qt::WaitCursor);
listServices();
+ QGuiApplication::restoreOverrideCursor(); //setOverrideCursor(Qt::ArrowCursor);
}
}
this->settings.endGroup();
@@ -149,7 +160,6 @@ void MainWindow::listServices()
vector v;
char service[4096];
- ui->listWidget->clear();
sprintf(cmd, "rsync --contimeout=10 -P \"%s::\" --port %d ", this->connexion.server.c_str(), this->connexion.port );
redi::ipstream in(cmd, redi::pstreams::pstdout | redi::pstreams::pstderr);
while (getline(in.out(), line))
@@ -236,8 +246,11 @@ bool MainWindow::isIpAddress(string server)
return false;
}
}
+ return true;
+ }else
+ {
+ return false;
}
- return true;
}
bool MainWindow::validateServer(string server)
@@ -304,17 +317,17 @@ void MainWindow::on_khistorycombobox_returnPressed()
void MainWindow::on_khistorycombobox_currentIndexChanged(int i)
{
- this->populateList();
+ populateList();
}
void MainWindow::on_portEdit_returnPressed()
{
- populateList();
+ //populateList();
}
-void MainWindow::on_actionDownload_triggered()
+void MainWindow::on_connectButton_clicked()
{
-
+ populateList();
}
QTreeWidgetItem * MainWindow::addTreeRoot(QString name, QString fileSize)
@@ -342,7 +355,7 @@ QTreeWidgetItem * MainWindow::addTreeChild(QTreeWidgetItem *parent, QString name
return treeItem;
}
-void MainWindow::on_listWidget_clicked(const QModelIndex &index)
+void MainWindow::on_listWidget_clicked()
{
vector v;
v = explode(ui->listWidget->currentItem()->text().toStdString(), '\n', 2);
@@ -350,11 +363,10 @@ void MainWindow::on_listWidget_clicked(const QModelIndex &index)
populateTree();
}
-void MainWindow::on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column)
+void MainWindow::on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item)
{
QFuture future;
QFileDialog dialog;
- QCheckBox *cb = new QCheckBox("Okay I understand");
item = ui->treeWidget->currentItem();
this->downloading.path = item->text(0).toStdString();
diff --git a/mainwindow.h b/mainwindow.h
index 544dccb..e50272e 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -1,6 +1,7 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
+#include "tools.h"
#include
#include
#include
@@ -81,11 +82,11 @@ class MainWindow : public QMainWindow
void on_portEdit_returnPressed();
- void on_actionDownload_triggered();
+ //void on_actionDownload_triggered();
- void on_listWidget_clicked(const QModelIndex &index);
+ void on_listWidget_clicked();
- void on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column);
+ void on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item);
void downloadFinished();
@@ -97,10 +98,14 @@ class MainWindow : public QMainWindow
void on_actionAbout_Qt_triggered();
- void on_khistorycombobox_currentIndexChanged(int i);
+ void on_khistorycombobox_currentIndexChanged(int);
void on_DefaultSaveFolder_triggered();
+ void returnPressed();
+
+ void on_connectButton_clicked();
+
signals:
void stopDownloading(int);
diff --git a/mainwindow.ui b/mainwindow.ui
index 8bfaf92..50771de 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -156,6 +156,19 @@
+ -
+
+
+
+
+
+ Connection
+
+
+ Return
+
+
+
-
diff --git a/tools.cpp b/tools.cpp
index 2002a9f..2bbcb25 100644
--- a/tools.cpp
+++ b/tools.cpp
@@ -1,5 +1,6 @@
#include "mainwindow.h"
#include
+#include
#include
#include
#include
@@ -47,55 +48,68 @@ FILE * popen2(array argv, string type, int & pid)
{
pid_t child_pid;
int fd[2];
- pipe(fd);
+ QString message;
- if((child_pid = fork()) == -1)
+ if (pipe(fd) == -1)
+ {
+ message = "Open pipe failed" + QString::fromStdString(strerror(errno));
+ QMessageBox::warning(
+ NULL,
+ "RsyncUI",
+ message);
+ }else
{
- perror("fork");
- exit(1);
- }
- /* child process */
- if (child_pid == 0)
- {
- if (type == "r")
+ if((child_pid = fork()) == -1)
{
- close(fd[READ]); //Close the READ end of the pipe since the child's fd is write-only
- dup2(fd[WRITE], 1); //Redirect stdout to pipe
+ perror("fork");
+ exit(1);
+ }
+
+ /* child process */
+ if (child_pid == 0)
+ {
+ if (type == "r")
+ {
+ close(fd[READ]); //Close the READ end of the pipe since the child's fd is write-only
+ dup2(fd[WRITE], 1); //Redirect stdout to pipe
+ }
+ else
+ {
+ close(fd[WRITE]); //Close the WRITE end of the pipe since the child's fd is read-only
+ dup2(fd[READ], 0); //Redirect stdin to pipe
+ }
+
+ setpgid(child_pid, child_pid); //Needed so negative PIDs can kill children of /bin/sh
+ if (execl(argv[0].c_str(), argv[0].c_str(), argv[1].c_str(), argv[2].c_str(), argv[3].c_str(), argv[4].c_str(), argv[5].c_str(), NULL ) == -1)
+ {
+ perror("execl error => ");
+ }
+ exit (0);
}
else
{
- close(fd[WRITE]); //Close the WRITE end of the pipe since the child's fd is read-only
- dup2(fd[READ], 0); //Redirect stdin to pipe
+ if (type == "r")
+ {
+ close(fd[WRITE]); //Close the WRITE end of the pipe since parent's fd is read-only
+ }
+ else
+ {
+ close(fd[READ]); //Close the READ end of the pipe since parent's fd is write-only
+ }
}
- setpgid(child_pid, child_pid); //Needed so negative PIDs can kill children of /bin/sh
- if (execl(argv[0].c_str(), argv[0].c_str(), argv[1].c_str(), argv[2].c_str(), argv[3].c_str(), argv[4].c_str(), argv[5].c_str(), NULL ) == -1)
- {
- perror("execl error => ");
- }
- exit (0);
- }
- else
- {
+
+ pid = child_pid;
+
if (type == "r")
{
- close(fd[WRITE]); //Close the WRITE end of the pipe since parent's fd is read-only
- }
- else
- {
- close(fd[READ]); //Close the READ end of the pipe since parent's fd is write-only
+ return fdopen(fd[READ], "r");
}
+
+ return fdopen(fd[WRITE], "w");
}
-
- pid = child_pid;
-
- if (type == "r")
- {
- return fdopen(fd[READ], "r");
- }
-
- return fdopen(fd[WRITE], "w");
+ return 0;
}
int pclose2(FILE * fp, pid_t pid)
diff --git a/tools.h b/tools.h
index cfc25c2..01593d8 100644
--- a/tools.h
+++ b/tools.h
@@ -3,12 +3,14 @@
#include
#include
-#include "mainwindow.h"
+#include
using namespace std;
-const vector explode(const string& s, const char& c, int n = 0);
+const vector explode(const string& s, const char& c, int n);
+
FILE * popen2(array argv, string type, int & pid);
+
int pclose2(FILE * fp, pid_t pid);
#endif // TOOLS_H