Compare commits

...

11 Commits

6 changed files with 210 additions and 193 deletions

View File

@ -1,4 +1,4 @@
QT += core gui concurrent QT += core gui
QT += KItemViews QT += KItemViews
QT += KCompletion QT += KCompletion
QT += widgets QT += widgets
@ -8,11 +8,9 @@ QT += KDBusAddons
LIBS += -lqt5keychain LIBS += -lqt5keychain
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++17
CONFIG += c++11 #DEFINES += QTKEYCHAIN_NO_EXPORT
DEFINES += QTKEYCHAIN_NO_EXPORT
# You can make your code fail to compile if it uses deprecated APIs. # You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line. # In order to do so, uncomment the following line.
@ -41,7 +39,7 @@ TRANSLATIONS += \
INCLUDEPATH += \ INCLUDEPATH += \
/usr/include/KF5 \ /usr/include/KF5 \
/usr/include/qt5keychain/ /usr/include/qt5keychain \
# Default rules for deployment. # Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin qnx: target.path = /tmp/$${TARGET}/bin
@ -53,7 +51,7 @@ INSTALLS += documentation
INSTALLS += desktopfile INSTALLS += desktopfile
INSTALLS += icon INSTALLS += icon
RESOURCES += #RESOURCES +=
DISTFILES += \ DISTFILES += \
RsyncUI.desktop RsyncUI.desktop
@ -67,4 +65,3 @@ desktopfile.path = /usr/share/applications
desktopfile.files = RsyncUI.desktop desktopfile.files = RsyncUI.desktop
icon.path = /usr/share/icons/ icon.path = /usr/share/icons/
icon.files = RsyncUI.png icon.files = RsyncUI.png
-lqt5keychain

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.14.2, 2023-03-09T22:37:54. --> <!-- Written by QtCreator 9.0.1, 2023-03-18T12:45:23. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
@ -8,7 +8,7 @@
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.ActiveTarget</variable> <variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value> <value type="qlonglong">0</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.EditorSettings</variable> <variable>ProjectExplorer.Project.EditorSettings</variable>
@ -28,7 +28,7 @@
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap> </valuemap>
</valuemap> </valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> <value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value> <value type="int" key="EditorConfiguration.IndentSize">4</value>
@ -37,21 +37,24 @@
<value type="bool" key="EditorConfiguration.MouseHiding">true</value> <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value> <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value> <value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value> <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">1</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value> <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value> <value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value> <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value> <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value> <value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value> <value type="bool" key="EditorConfiguration.inEntireDocument">true</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value> <value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap> </valuemap>
</data> </data>
<data> <data>
@ -59,6 +62,7 @@
<valuemap type="QVariantMap"> <valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks"> <valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value> <value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value> <value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value> <value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value> <value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
@ -67,9 +71,6 @@
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/> <valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value> <value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value> <value type="bool" key="AutoTest.UseGlobal">true</value>
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools"> <valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value> <value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value> <value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
@ -89,18 +90,17 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">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.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{893f9ca6-0efa-4c08-a4a6-5a818f60a8a0}</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{893f9ca6-0efa-4c08-a4a6-5a818f60a8a0}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develope/build-RsyncUI-Desktop-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI6/../build-RsyncUI6-Desktop-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develope/build-RsyncUI-Desktop-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI6-Desktop-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap> </valuemap>
@ -108,7 +108,7 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -119,7 +119,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
@ -127,20 +127,19 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="int" key="RunSystemFunction">0</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develope/build-RsyncUI-Desktop-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI6/../build-RsyncUI6-Desktop-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develope/build-RsyncUI-Desktop-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI6-Desktop-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap> </valuemap>
@ -148,7 +147,7 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -159,7 +158,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
@ -167,22 +166,21 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value> <value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="RunSystemFunction">0</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develope/build-RsyncUI-Desktop-Profile</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/RsyncUI6/../build-RsyncUI6-Desktop-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develope/build-RsyncUI-Desktop-Profile</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-RsyncUI6-Desktop-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap> </valuemap>
@ -190,7 +188,7 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -201,7 +199,7 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
@ -209,18 +207,18 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value> <value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="RunSystemFunction">0</value>
<value type="int" key="SeparateDebugInfo">0</value> <value type="int" key="SeparateDebugInfo">0</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value> <value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
@ -230,84 +228,46 @@
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value> <value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> <value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value> <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value> <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value> <value type="QString">0</value>
<value type="int">1</value> <value type="QString">1</value>
<value type="int">2</value> <value type="QString">2</value>
<value type="int">3</value> <value type="QString">3</value>
<value type="int">4</value> <value type="QString">4</value>
<value type="int">5</value> <value type="QString">5</value>
<value type="int">6</value> <value type="QString">6</value>
<value type="int">7</value> <value type="QString">7</value>
<value type="int">8</value> <value type="QString">8</value>
<value type="int">9</value> <value type="QString">9</value>
<value type="int">10</value> <value type="QString">10</value>
<value type="int">11</value> <value type="QString">11</value>
<value type="int">12</value> <value type="QString">12</value>
<value type="int">13</value> <value type="QString">13</value>
<value type="int">14</value> <value type="QString">14</value>
</valuelist> </valuelist>
<valuelist type="QVariantList" key="CustomOutputParsers"/> <valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value> <value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">RsyncUI2</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/daniel/develop/RsyncUI6/RsyncUI6.pro</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/daniel/develop/RsyncUI/RsyncUI.pro</value> <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/daniel/develop/RsyncUI6/RsyncUI6.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/daniel/develop/RsyncUI/RsyncUI.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value> <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value> <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/daniel/develope/build-RsyncUI-Desktop-Debug</value> <value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/daniel/develop/build-RsyncUI6-Desktop-Debug</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> <value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap> </valuemap>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.TargetCount</variable> <variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value> <value type="qlonglong">1</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable> <variable>ProjectExplorer.Project.Updater.FileVersion</variable>

View File

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

View File

@ -69,29 +69,24 @@
<context> <context>
<name>LoginDialog</name> <name>LoginDialog</name>
<message> <message>
<location filename="login.ui" line="17"/>
<source>RsyncUI request</source> <source>RsyncUI request</source>
<translation>Requête RsyncUI</translation> <translation type="vanished">Requête RsyncUI</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="51"/>
<source>Login name</source> <source>Login name</source>
<translation>Identifiant</translation> <translation type="vanished">Identifiant</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="79"/>
<source>Enter login</source> <source>Enter login</source>
<translation>Entrez votre identifiant</translation> <translation type="vanished">Entrez votre identifiant</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="86"/>
<source>Password</source> <source>Password</source>
<translation>Mot de passe</translation> <translation type="vanished">Mot de passe</translation>
</message> </message>
<message> <message>
<location filename="login.ui" line="102"/>
<source>Enter password</source> <source>Enter password</source>
<translation>Entrez votre mot de passe</translation> <translation type="vanished">Entrez votre mot de passe</translation>
</message> </message>
</context> </context>
<context> <context>
@ -221,32 +216,32 @@
<translation>Paramètres</translation> <translation>Paramètres</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="123"/> <location filename="mainwindow.h" line="125"/>
<source>KB</source> <source>KB</source>
<translation>Ko</translation> <translation>Ko</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="124"/> <location filename="mainwindow.h" line="126"/>
<source>MB</source> <source>MB</source>
<translation>Mo</translation> <translation>Mo</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="125"/> <location filename="mainwindow.h" line="127"/>
<source>GB</source> <source>GB</source>
<translation>Go</translation> <translation>Go</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="126"/> <location filename="mainwindow.h" line="128"/>
<source>TB</source> <source>TB</source>
<translation>To</translation> <translation>To</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="127"/> <location filename="mainwindow.h" line="129"/>
<source>PB</source> <source>PB</source>
<translation>Po</translation> <translation>Po</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="61"/> <location filename="mainwindow.cpp" line="59"/>
<source>You click on file to enqueue it, and RyncUI Download one file a time</source> <source>You click on file to enqueue it, and RyncUI Download one file a time</source>
<oldsource>Client for rsync server&lt;br&gt;&lt;br&gt;You click on file to enqueue it, and RyncUI Download one file a time</oldsource> <oldsource>Client for rsync server&lt;br&gt;&lt;br&gt;You click on file to enqueue it, and RyncUI Download one file a time</oldsource>
<translation>&lt;h3&gt;Utilisation&lt;/h3&gt; <translation>&lt;h3&gt;Utilisation&lt;/h3&gt;
@ -279,92 +274,97 @@ Cliquez sur un fichier pour le supprimer de la file et une fenêtre de confirmat
Permet de quitter le programme</translation> Permet de quitter le programme</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="75"/>
<source>Path</source> <source>Path</source>
<translation>Chemin</translation> <translation>Chemin</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="75"/>
<source>Size</source> <source>Size</source>
<translation>Taille</translation> <translation>Taille</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="75"/>
<source>Type</source> <source>Type</source>
<translation>Type</translation> <translation>Type</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="78"/> <location filename="mainwindow.cpp" line="75"/>
<source>Date</source> <source>Date</source>
<translation>Date</translation> <translation>Date</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="102"/>
<source>KB/s</source> <source>KB/s</source>
<translation>Ko/s</translation> <translation>Ko/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="102"/>
<source>MB/s</source> <source>MB/s</source>
<translation>Mo/s</translation> <translation>Mo/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="102"/>
<source>GB/s</source> <source>GB/s</source>
<translation>Go/s</translation> <translation>Go/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="102"/>
<source>TB/s</source> <source>TB/s</source>
<translation>To/s</translation> <translation>To/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="105"/> <location filename="mainwindow.cpp" line="102"/>
<source>PB/s</source> <source>PB/s</source>
<translation>Po/s</translation> <translation>Po/s</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="123"/> <location filename="mainwindow.cpp" line="120"/>
<source>A list of interrupted downloads exists, do you want to continue downloading ? if not the list will be cleared</source> <source>A list of interrupted downloads exists, do you want to continue downloading ? if not the list will be cleared</source>
<translation>Une liste de téléchargement existe, voulez-vous utiliser cette liste ? si non, elle sera effacée</translation> <translation>Une liste de téléchargement existe, voulez-vous utiliser cette liste ? si non, elle sera effacée</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="152"/> <location filename="mainwindow.cpp" line="149"/>
<source>&amp;Quit</source> <source>&amp;Quit</source>
<translation>&amp;Quitter</translation> <translation>&amp;Quitter</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="209"/> <location filename="mainwindow.cpp" line="206"/>
<source>Clicking Save button, You can save the list of downloads <source>Clicking Save button, You can save the list of downloads
</source> </source>
<translation>Vous pouvez enregistrer la liste des téléchargements en cliquant sur &quot;enregister&quot; <translation>Vous pouvez enregistrer la liste des téléchargements en cliquant sur &quot;enregister&quot;
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="215"/> <location filename="mainwindow.cpp" line="212"/>
<source>Exiting will stop downloading, and will clear the download queue. <source>Exiting will stop downloading, and will clear the download queue.
Do you want to exit ?</source> Do you want to exit ?</source>
<translation>Si vous sortez, les téléchargements seront arrêter. <translation>Si vous sortez, les téléchargements seront arrêter.
Voulez-vous vraiment sortir ?</translation> Voulez-vous vraiment sortir ?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="253"/> <location filename="mainwindow.cpp" line="250"/>
<source>The program will keep running in the system tray. To terminate the program, choose &lt;b&gt;Quit&lt;/b&gt; in the context menu of the system tray entry.</source> <source>The program will keep running in the system tray. To terminate the program, choose &lt;b&gt;Quit&lt;/b&gt; in the context menu of the system tray entry.</source>
<translation>Le programme continue dans la boîte à miniatures. Pour quitter le programme cliquez sur l&apos;icône &lt;b&gt;Quitter&lt;/b&gt; ou dans les menu contextuel.</translation> <translation>Le programme continue dans la boîte à miniatures. Pour quitter le programme cliquez sur l&apos;icône &lt;b&gt;Quitter&lt;/b&gt; ou dans les menu contextuel.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="513"/> <location filename="mainwindow.cpp" line="551"/>
<source>Authentication failed</source>
<translation>Mauvais mot de passe ou utilisateur</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="604"/>
<source>The processus does&apos;nt respond: </source> <source>The processus does&apos;nt respond: </source>
<translation>Le processus ne répond pas: </translation> <translation>Le processus ne répond pas: </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="599"/> <location filename="mainwindow.cpp" line="690"/>
<source>server does not exists</source> <source>server does not exists</source>
<translation>Le serveur n&apos;existe pas</translation> <translation>Le serveur n&apos;existe pas</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="633"/> <location filename="mainwindow.cpp" line="726"/>
<location filename="mainwindow.cpp" line="745"/> <location filename="mainwindow.cpp" line="886"/>
<source>Dir</source> <source>Dir</source>
<translation>dossier</translation> <translation>dossier</translation>
</message> </message>
@ -373,146 +373,161 @@ Voulez-vous vraiment sortir ?</translation>
<translation type="vanished">Doc</translation> <translation type="vanished">Doc</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="773"/> <location filename="mainwindow.cpp" line="914"/>
<source>File is partially downloaded. Do you want to resume download ? if no, the file will be deleted from destination directory</source> <source>File is partially downloaded. Do you want to resume download ? if no, the file will be deleted from destination directory</source>
<translation>Le document est déjà partiellement téléchargé. Voulez vous continuer le téléchargemnt ? Si non, il sera supprimer du dossier de destination</translation> <translation>Le document est déjà partiellement téléchargé. Voulez vous continuer le téléchargemnt ? Si non, il sera supprimer du dossier de destination</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="790"/> <location filename="mainwindow.cpp" line="931"/>
<source>File is already downloaded. Do you want to reload it ? The old file will be deleted</source> <source>File is already downloaded. Do you want to reload it ? The old file will be deleted</source>
<translation>Le document est déjà téléchargé. Voulez-vous le télécharger à nouveau ? L&apos;ancien fichier sera effacé</translation> <translation>Le document est déjà téléchargé. Voulez-vous le télécharger à nouveau ? L&apos;ancien fichier sera effacé</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="827"/> <location filename="mainwindow.cpp" line="968"/>
<source>File is already downloading</source> <source>File is already downloading</source>
<translation>Le document est déjà en téléchargement</translation> <translation>Le document est déjà en téléchargement</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="852"/> <location filename="mainwindow.cpp" line="998"/>
<source>Starting downloading <source>Starting downloading
</source> </source>
<translation>Démarrage du téléchargement <translation>Démarrage du téléchargement
</translation> </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="867"/> <location filename="mainwindow.cpp" line="1013"/>
<source>finished</source> <source>finished</source>
<translation>Terminé</translation> <translation>Terminé</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="877"/> <location filename="mainwindow.cpp" line="1023"/>
<source>Rsync process crashed</source> <source>Rsync process crashed</source>
<translation>Le processus rsync à planté</translation> <translation>Le processus rsync à planté</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="884"/> <location filename="mainwindow.cpp" line="1030"/>
<source>stopped by user</source> <source>stopped by user</source>
<translation>stoppé par l&apos;utilisateur</translation> <translation>stoppé par l&apos;utilisateur</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="895"/> <location filename="mainwindow.cpp" line="1041"/>
<source> <source>
Do you want to retry?</source> Do you want to retry?</source>
<translation> <translation>
Voulez-vous -essayer?</translation> Voulez-vous -essayer?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="904"/> <location filename="mainwindow.cpp" line="1050"/>
<source>Download </source> <source>Download </source>
<translation>Téléchargement </translation> <translation>Téléchargement </translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1257"/>
<source>RsyncUI Request</source> <source>RsyncUI Request</source>
<translation>Requête RsyncUI</translation> <translation type="vanished">Requête RsyncUI</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1258"/> <location filename="mainwindow.cpp" line="1391"/>
<source>Hidden service name</source> <source>Hidden service name</source>
<translation>Nom du servcice caché</translation> <translation>Nom du servcice caché</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="56"/> <location filename="mainwindow.cpp" line="54"/>
<source>Version</source> <source>Version</source>
<translation>Version</translation> <translation>Version</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="55"/> <location filename="mainwindow.cpp" line="53"/>
<source>&lt;h2&gt;Client for rsync server&lt;/h2&gt;</source> <source>&lt;h2&gt;Client for rsync server&lt;/h2&gt;</source>
<translation>&lt;h2&gt;Client pour serveur rsync&lt;/h2&gt;</translation> <translation>&lt;h2&gt;Client pour serveur rsync&lt;/h2&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="57"/> <location filename="mainwindow.cpp" line="55"/>
<source>Licence</source> <source>Licence</source>
<translation>License</translation> <translation>License</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="58"/> <location filename="mainwindow.cpp" line="56"/>
<source>Author</source> <source>Author</source>
<translation>Auteur</translation> <translation>Auteur</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="59"/> <location filename="mainwindow.cpp" line="57"/>
<source>EMail</source> <source>EMail</source>
<translation>Courriel</translation> <translation>Courriel</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="60"/> <location filename="mainwindow.cpp" line="58"/>
<source>Source code</source> <source>Source code</source>
<translation>Code source</translation> <translation>Code source</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1073"/> <location filename="mainwindow.cpp" line="821"/>
<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"/>
<source> Request</source>
<translation> Requête de mot de passe</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="835"/>
<source>Enter password</source>
<translation>Entrez votre mot de passe</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="1225"/>
<source>Since the save path is linked to service, you need to select a service before you can select a folder</source> <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> <translation>Vous devez sélectionnez un service pour pouvoir sélectionnez un dossier par défaut</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="1078"/> <location filename="mainwindow.cpp" line="1230"/>
<source>Choose folder where to save file</source> <source>Choose folder where to save file</source>
<translation>Choisissez un dossier enregistrer le document</translation> <translation>Choisissez un dossier enregistrer le document</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="969"/> <location filename="mainwindow.cpp" line="1121"/>
<source>Do you want to stop downloading and delete this file from download queue ?</source> <source>Do you want to stop downloading and delete this file from download queue ?</source>
<translation>Voulez-vous arrêter le téléchargement et enlever ce fichier de la file de téléchargement ?</translation> <translation>Voulez-vous arrêter le téléchargement et enlever ce fichier de la file de téléchargement ?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="983"/> <location filename="mainwindow.cpp" line="1136"/>
<source>Do you want to delete this file from download queue ?</source> <source>Do you want to delete this file from download queue ?</source>
<translation>Voulez-vous enlever ce fichier de la file de téléchargement ?</translation> <translation>Voulez-vous enlever ce fichier de la file de téléchargement ?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="122"/> <location filename="mainwindow.h" line="124"/>
<source>B</source> <source>B</source>
<translation>o</translation> <translation>o</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="139"/> <location filename="mainwindow.h" line="141"/>
<source>The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program.</source> <source>The process failed to start. Either the invoked program is missing, or you may have insufficient permissions or resources to invoke the program.</source>
<translation>Le processus échoué, soit le programme est manquant, soit vous n&apos;avez pas l&apos;autorisation de l&apos;exécuter.</translation> <translation>Le processus échoué, soit le programme est manquant, soit vous n&apos;avez pas l&apos;autorisation de l&apos;exécuter.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="140"/> <location filename="mainwindow.h" line="142"/>
<source>The process crashed some time after starting successfully.</source> <source>The process crashed some time after starting successfully.</source>
<translation>Le processus à planté après avoir démarré avec succès.</translation> <translation>Le processus à planté après avoir démarré avec succès.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="141"/> <location filename="mainwindow.h" line="143"/>
<source>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</source> <source>The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.</source>
<translation>La fonction waitFor...() a dépassé la limite de temps, you pouvez essayer de la relancer.</translation> <translation>La fonction waitFor...() a dépassé la limite de temps, you pouvez essayer de la relancer.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="142"/> <location filename="mainwindow.h" line="144"/>
<source>An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel.</source> <source>An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel.</source>
<translation>Une erreur est survenue lors de l&apos;envoi des données vers le processus. Le processus est peut être arrté ou il a fermé son canal d&apos;entrée.</translation> <translation>Une erreur est survenue lors de l&apos;envoi des données vers le processus. Le processus est peut être arrté ou il a fermé son canal d&apos;entrée.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="143"/> <location filename="mainwindow.h" line="145"/>
<source>An error occurred when attempting to read from the process. For example, the process may not be running.</source> <source>An error occurred when attempting to read from the process. For example, the process may not be running.</source>
<translation>Une erreur est survenue lors de la lecturee de données, le processus est probablement arrêté.</translation> <translation>Une erreur est survenue lors de la lecturee de données, le processus est probablement arrêté.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.h" line="144"/> <location filename="mainwindow.h" line="146"/>
<source>An unknown error occurred. This is the default return value of error().</source> <source>An unknown error occurred. This is the default return value of error().</source>
<translation>Une erreur inconnue est survenue. C&apos;est la valeur de retour par défaut de error().</translation> <translation>Une erreur inconnue est survenue. C&apos;est la valeur de retour par défaut de error().</translation>
</message> </message>
@ -520,87 +535,87 @@ Voulez-vous ré-essayer?</translation>
<context> <context>
<name>QTranslator</name> <name>QTranslator</name>
<message> <message>
<location filename="mainwindow.cpp" line="12"/> <location filename="mainwindow.cpp" line="13"/>
<source>Success. The rsync command completed successfully without any errors.</source> <source>Success. The rsync command completed successfully without any errors.</source>
<translation>Succès. La command rsync s&apos;est terminée sans erreurs.</translation> <translation>Succès. La command rsync s&apos;est terminée sans erreurs.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="13"/> <location filename="mainwindow.cpp" line="14"/>
<source>Syntax or usage error. There was a problem with the syntax of the rsync command or with the options specified.</source> <source>Syntax or usage error. There was a problem with the syntax of the rsync command or with the options specified.</source>
<translation>Erreur de syntaxe ou d&apos;usage. il y a un problème avec la synaxe de rsync ou avec les paramètres spécifiés.</translation> <translation>Erreur de syntaxe ou d&apos;usage. il y a un problème avec la synaxe de rsync ou avec les paramètres spécifiés.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="14"/> <location filename="mainwindow.cpp" line="15"/>
<source>Protocol incompatibility. There was a problem with the protocol version or negotiation between the rsync client and server.</source> <source>Protocol incompatibility. There was a problem with the protocol version or negotiation between the rsync client and server.</source>
<translation>Incompatibilité de protocole. Il y a eu un problème avec la version du protocole ou la négotiation avec le serveur rsync.</translation> <translation>Incompatibilité de protocole. Il y a eu un problème avec la version du protocole ou la négotiation avec le serveur rsync.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="15"/> <location filename="mainwindow.cpp" line="16"/>
<source>Errors selecting input/output files, dirs. There was a problem with the source or destination file or directory specified in the rsync command.</source> <source>Errors selecting input/output files, dirs. There was a problem with the source or destination file or directory specified in the rsync command.</source>
<translation>Erreurs dans la sélection des fichiers ou dossiers. il y a eu une problème avec le fichier/dossier source ou destination spécifié.</translation> <translation>Erreurs dans la sélection des fichiers ou dossiers. il y a eu une problème avec le fichier/dossier source ou destination spécifié.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="16"/> <location filename="mainwindow.cpp" line="17"/>
<source>Requested action not supported: An attempt was made to use an unsupported action or option.</source> <source>Requested action not supported: An attempt was made to use an unsupported action or option.</source>
<translation>Action non suportée. Une tentative d&apos;utiliser une action, ou une option, non supportée à é faite.</translation> <translation>Action non suportée. Une tentative d&apos;utiliser une action, ou une option, non supportée à é faite.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="17"/> <location filename="mainwindow.cpp" line="18"/>
<source>Error starting client-server protocol. There was an error starting the client-server protocol.</source> <source>Error starting client-server protocol. There was an error starting the client-server protocol.</source>
<translation>Erreur de démarrage du protocole client-seveur. Il ya eu une erreur en démarrant le protocole slient-serveur.</translation> <translation>Erreur de démarrage du protocole client-seveur. Il ya eu une erreur en démarrant le protocole slient-serveur.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="18"/> <location filename="mainwindow.cpp" line="19"/>
<source>Daemon unable to append to log-file. The rsync daemon was unable to write to its log file.</source> <source>Daemon unable to append to log-file. The rsync daemon was unable to write to its log file.</source>
<translation>Le démon rsyncd n&apos;arrive pas écrire dans son fichier de log.</translation> <translation>Le démon rsyncd n&apos;arrive pas écrire dans son fichier de log.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="19"/> <location filename="mainwindow.cpp" line="20"/>
<source>Error in socket I/O. There was an error with the socket input/output.</source> <source>Error in socket I/O. There was an error with the socket input/output.</source>
<translation>Erreur d&apos;entrée/sortie socket. Il y a eu une erreur d&apos;entrée/sortie sur le socket.</translation> <translation>Erreur d&apos;entrée/sortie socket. Il y a eu une erreur d&apos;entrée/sortie sur le socket.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="20"/> <location filename="mainwindow.cpp" line="21"/>
<source>Error in file I/O. There was an error reading or writing to a file.</source> <source>Error in file I/O. There was an error reading or writing to a file.</source>
<translation>Erreur de &apos;entrée/sortie. Il y a eu une erreur de lecture/écriture sur un fichier.</translation> <translation>Erreur de &apos;entrée/sortie. Il y a eu une erreur de lecture/écriture sur un fichier.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="21"/> <location filename="mainwindow.cpp" line="22"/>
<source>Error in rsync protocol data stream. There was an error in the rsync protocol data stream.</source> <source>Error in rsync protocol data stream. There was an error in the rsync protocol data stream.</source>
<translation>Erreur dans le protocole de flux de données de rsync.</translation> <translation>Erreur dans le protocole de flux de données de rsync.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="22"/> <location filename="mainwindow.cpp" line="23"/>
<source>Errors with program diagnostics. There was an error generating program diagnostics.</source> <source>Errors with program diagnostics. There was an error generating program diagnostics.</source>
<translation>Erreur avec les diagnostiques du programme.</translation> <translation>Erreur avec les diagnostiques du programme.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="23"/> <location filename="mainwindow.cpp" line="24"/>
<source>Error in IPC code. There was an error in the inter-process communication (IPC) code.</source> <source>Error in IPC code. There was an error in the inter-process communication (IPC) code.</source>
<translation>Erreur dans le code IPC. IL y a eu une erreur dans la communication inter-processus.</translation> <translation>Erreur dans le code IPC. IL y a eu une erreur dans la communication inter-processus.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="24"/> <location filename="mainwindow.cpp" line="25"/>
<source>Received SIGUSR1 or SIGINT. The rsync process was interrupted by a signal.</source> <source>Received SIGUSR1 or SIGINT. The rsync process was interrupted by a signal.</source>
<translation>Reçu les signaux SIGUSR1 ou SIGINT. Le processus rsync a é interrompu par un signal.</translation> <translation>Reçu les signaux SIGUSR1 ou SIGINT. Le processus rsync a é interrompu par un signal.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="25"/> <location filename="mainwindow.cpp" line="26"/>
<source>Some error returned by waitpid(). An error occurred while waiting for a child process to complete.</source> <source>Some error returned by waitpid(). An error occurred while waiting for a child process to complete.</source>
<translation>Erreurs retournées par waitpid().Une erreur est survenue pendant l&apos;attente de la complétion du processus fils.</translation> <translation>Erreurs retournées par waitpid().Une erreur est survenue pendant l&apos;attente de la complétion du processus fils.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="26"/> <location filename="mainwindow.cpp" line="27"/>
<source>Error allocating core memory buffers. There was an error allocating memory buffers.</source> <source>Error allocating core memory buffers. There was an error allocating memory buffers.</source>
<translation>Erreur d&apos;allocation des buffers mémoire.</translation> <translation>Erreur d&apos;allocation des buffers mémoire.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="27"/> <location filename="mainwindow.cpp" line="28"/>
<source>Partial transfer due to error. The rsync command completed with an error, but some files may have been transferred successfully.</source> <source>Partial transfer due to error. The rsync command completed with an error, but some files may have been transferred successfully.</source>
<translation>Transfert partiel due à une erreur. La command rsync s&apos;est terminée avec une erreur, mais des fichiers on é transférés avec succès.</translation> <translation>Transfert partiel due à une erreur. La command rsync s&apos;est terminée avec une erreur, mais des fichiers on é transférés avec succès.</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="28"/> <location filename="mainwindow.cpp" line="29"/>
<source>Partial transfer due to vanished source files. Some source files disappeared before they could be transferred.</source> <source>Partial transfer due to vanished source files. Some source files disappeared before they could be transferred.</source>
<translation>Transfert partiel à la disparition des fichiers source. Des fichiers source ont disparu avec d&apos;avoir é transférés.</translation> <translation>Transfert partiel à la disparition des fichiers source. Des fichiers source ont disparu avec d&apos;avoir é transférés.</translation>
</message> </message>

View File

@ -1,5 +1,6 @@
#include "mainwindow.h" #include "mainwindow.h"
#include <QComboBox> #include <QComboBox>
#include <QTextBlock>
using namespace std; using namespace std;
@ -382,7 +383,8 @@ bool MainWindow::testServicePresence(QString service, bool askPassword)
QStringList v; QStringList v;
QProcess *myProcess; QProcess *myProcess;
bool returnValue = false; bool returnValue = false;
QEventLoop loop; int loop =0;
bool r = false;
cmd = "/usr/bin/rsync"; cmd = "/usr/bin/rsync";
param << "--contimeout=10" << "-nq" << "--port=" + QString::number(this->connexion.port) << this->connexion.server + "::" + service; param << "--contimeout=10" << "-nq" << "--port=" + QString::number(this->connexion.port) << this->connexion.server + "::" + service;
@ -404,9 +406,10 @@ bool MainWindow::testServicePresence(QString service, bool askPassword)
} }
if (line.contains("auth failed")) if (line.contains("auth failed"))
{ {
if (askPassword) if (askPassword == true and loop >=2 and r == true)
{ {
getUserPassword(&this->connexion); r = getUserPassword(&this->connexion);
loop++;
} }
returnValue = true; returnValue = true;
} }
@ -486,6 +489,8 @@ bool MainWindow::scanDir(QString server, int portN, QTreeWidgetItem *parent, QSt
bool readOk = false; bool readOk = false;
bool passwdOk = false; bool passwdOk = false;
int nChild = 0; int nChild = 0;
bool r;
static uint looping;
myProcess = new QProcess(this); myProcess = new QProcess(this);
myProcess->setProcessChannelMode(QProcess::MergedChannels); myProcess->setProcessChannelMode(QProcess::MergedChannels);
@ -511,6 +516,7 @@ bool MainWindow::scanDir(QString server, int portN, QTreeWidgetItem *parent, QSt
myProcess->start(cmd, param); myProcess->start(cmd, param);
this->rescan = true;
// waiting for response of the server with a timeout of 10 seconds // waiting for response of the server with a timeout of 10 seconds
do do
@ -529,10 +535,23 @@ bool MainWindow::scanDir(QString server, int portN, QTreeWidgetItem *parent, QSt
} }
if (line.contains("auth failed")) if (line.contains("auth failed"))
{ {
myProcess->readAllStandardOutput(); myProcess->readAllStandardOutput();
getUserPassword(&this->connexion); r = getUserPassword(&this->connexion);
this->rescan = true; if (looping <= 1)
return 0; {
this->rescan = true;
looping++;
}else
{
this->rescan = false;
looping = 0;
QMessageBox::warning(
this,
a.applicationName(),
tr("Authentication failed" )
);
}
return false;
} }
// extracting name, size and if is dir/file // extracting name, size and if is dir/file
@ -592,7 +611,7 @@ bool MainWindow::scanDir(QString server, int portN, QTreeWidgetItem *parent, QSt
testRsyncReturn(this, myProcess); testRsyncReturn(this, myProcess);
myProcess->close(); myProcess->close();
} }
return 0; return false;
} }
// Verify if server address is IP address // Verify if server address is IP address
@ -608,7 +627,7 @@ bool MainWindow::isIpAddress(QString server)
for (auto element : r) for (auto element : r)
{ {
elementN = element.toInt(&ok); elementN = element.toInt(&ok);
if (elementN < 0 or elementN > 255 or ok == false) if ((elementN < 0) or (elementN > 255) or ok == false)
{ {
return false; return false;
} }
@ -691,6 +710,8 @@ void MainWindow::on_connectButton_clicked()
// add parent in treeview // add parent in treeview
void MainWindow::addTreeItem(QString name, QString fileSize, QString fullsize, QString type, QString date, bool isDir=false, QTreeWidgetItem *parent=nullptr) void MainWindow::addTreeItem(QString name, QString fileSize, QString fullsize, QString type, QString date, bool isDir=false, QTreeWidgetItem *parent=nullptr)
{ {
QFont * font = new QFont();
QTreeWidgetItem *treeItem; QTreeWidgetItem *treeItem;
if (parent != nullptr) if (parent != nullptr)
{ {
@ -707,6 +728,22 @@ void MainWindow::addTreeItem(QString name, QString fileSize, QString fullsize, Q
}else }else
{ {
// item is a file // item is a file
if (QFile::exists(this->downloading.savePath + "/" + name))
{
QBrush b (Qt::green);
treeItem->setForeground(0, b);
treeItem->setFont(0, *font);
}else
{
this->settings.beginGroup("Downloaded/");
if (this->settings.contains(name))
{
QBrush b (Qt::red);
treeItem->setForeground(0, b);
treeItem->setFont(0, *font);
}
this->settings.endGroup();
}
treeItem->setText(1,type); treeItem->setText(1,type);
} }
treeItem->setText(0, name); treeItem->setText(0, name);
@ -758,8 +795,8 @@ void MainWindow::preparePopulateTree()
bool MainWindow::getUserPassword(Connexion * object) bool MainWindow::getUserPassword(Connexion * object)
{ {
QStringList logins; QStringList logins;
QString login; QString login = "";
QString password; QString password = "";
QString server; QString server;
QString service; QString service;
int c; int c;
@ -801,10 +838,12 @@ bool MainWindow::getUserPassword(Connexion * object)
if (!ok or password.isEmpty()) if (!ok or password.isEmpty())
{ {
password = ""; password = "";
returnValue = false;
} }
}else }else
{ {
password = getPassword(login); password = getPassword(login);
returnValue = true;
} }
object->user = login; object->user = login;
object->password = password; object->password = password;
@ -822,7 +861,7 @@ bool MainWindow::getUserPassword(Connexion * object)
//Slot activated when a file is clicked in the treeview //Slot activated when a file is clicked in the treeview
void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, bool downloadDir) void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, bool downloadDir)
{ {
QFileDialog dialog; //#QFileDialog dialog;
QTreeWidgetItem * itemR; QTreeWidgetItem * itemR;
QString path; QString path;
QString str; QString str;
@ -830,6 +869,7 @@ void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, bool downloadD
int sizeFromRsync; int sizeFromRsync;
itemR = item; itemR = item;
this->rescan = true;
// assembling path from treewidget // assembling path from treewidget
path = item->text(0); path = item->text(0);
@ -935,6 +975,7 @@ void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, bool downloadD
{ {
scanDir(this->connexion.server, this->connexion.port, item, this->connexion.service + "/" + path +"/"); scanDir(this->connexion.server, this->connexion.port, item, this->connexion.service + "/" + path +"/");
item->setExpanded(true); item->setExpanded(true);
} }
} }
@ -1017,6 +1058,10 @@ void MainWindow::downloadFinished(int exitCode, QProcess::ExitStatus exitStatus)
if (retry == false) if (retry == false)
{ {
QString filename = ui->listDownload->item(0)->text();
pos = filename.contains(" => ");
filename.resize(pos);
this->settings.setValue("Downloaded/" + ui->listDownload->item(0)->text(), true);
delete ui->listDownload->takeItem(0); delete ui->listDownload->takeItem(0);
} }
this->downloading.clear(); this->downloading.clear();

View File

@ -88,7 +88,7 @@ class Downloading
class About class About
{ {
public: public:
QString version = "2.10.1"; QString version = "2.11.5";
QString author = "Daniel TARTAVEL-JEANNOT"; QString author = "Daniel TARTAVEL-JEANNOT";
QString licence = "GPL_V3"; QString licence = "GPL_V3";
QString description; QString description;