26_Jun
This commit is contained in:
Binary file not shown.
22308
.owncloudsync.log
22308
.owncloudsync.log
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.1, 2019-06-10T20:58:06. -->
|
||||
<!-- Written by QtCreator 4.8.2, 2020-04-28T18:29:25. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.1, 2019-06-06T18:59:52. -->
|
||||
<!-- Written by QtCreator 4.11.0, 2020-06-18T20:32:31. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
@@ -73,8 +73,6 @@
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
@@ -84,8 +82,6 @@
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
@@ -95,14 +91,12 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
@@ -112,25 +106,21 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-FliegerGame-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
@@ -140,8 +130,6 @@
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
@@ -151,14 +139,12 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
@@ -168,25 +154,21 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-FliegerGame-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
@@ -196,8 +178,6 @@
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
@@ -207,14 +187,12 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
@@ -224,34 +202,47 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<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="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>
|
||||
@@ -266,6 +257,7 @@
|
||||
<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"/>
|
||||
@@ -293,12 +285,11 @@
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">FliegerGame</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Qt/ALT/FliegerGame/FliegerGame.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">FliegerGame.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/markus/Qt/ALT/FliegerGame/FliegerGame.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
@@ -317,10 +308,10 @@
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
|
326
ALT/FliegerGame/FliegerGame.pro.user.4.9-pre1
Normal file
326
ALT/FliegerGame/FliegerGame.pro.user.4.9-pre1
Normal file
@@ -0,0 +1,326 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.1, 2019-06-06T18:59:52. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{b70b24f1-46ad-4dd1-a8b9-3130fc5cbcc1}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{f2adeb15-5e8d-4d85-a687-94c91141f754}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-FliegerGame-Desktop-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-FliegerGame-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-FliegerGame-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<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>
|
||||
<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="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.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">FliegerGame</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Qt/ALT/FliegerGame/FliegerGame.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">FliegerGame.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/markus/Qt/ALT/build-FliegerGame-Desktop-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
</qtcreator>
|
@@ -1,13 +1,15 @@
|
||||
#############################################################################
|
||||
# Makefile for building: FliegerGame
|
||||
# Generated by qmake (3.1) (Qt 5.12.0)
|
||||
# Generated by qmake (3.1) (Qt 5.12.8)
|
||||
# Project: ../FliegerGame/FliegerGame.pro
|
||||
# Template: app
|
||||
# Command: /usr/bin/qmake -o Makefile ../FliegerGame/FliegerGame.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
|
||||
# Command: /usr/lib/qt5/bin/qmake -o Makefile ../FliegerGame/FliegerGame.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
|
||||
#############################################################################
|
||||
|
||||
MAKEFILE = Makefile
|
||||
|
||||
EQ = =
|
||||
|
||||
####### Compiler, tools and options
|
||||
|
||||
CC = gcc
|
||||
@@ -15,8 +17,8 @@ CXX = g++
|
||||
DEFINES = -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
|
||||
CFLAGS = -pipe -g -Wall -W -D_REENTRANT -fPIC $(DEFINES)
|
||||
CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT -fPIC $(DEFINES)
|
||||
INCPATH = -I../FliegerGame -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/qt/mkspecs/linux-g++
|
||||
QMAKE = /usr/bin/qmake
|
||||
INCPATH = -I../FliegerGame -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++
|
||||
QMAKE = /usr/lib/qt5/bin/qmake
|
||||
DEL_FILE = rm -f
|
||||
CHK_DIR_EXISTS= test -d
|
||||
MKDIR = mkdir -p
|
||||
@@ -26,8 +28,8 @@ COPY_DIR = cp -f -R
|
||||
INSTALL_FILE = install -m 644 -p
|
||||
INSTALL_PROGRAM = install -m 755 -p
|
||||
INSTALL_DIR = cp -f -R
|
||||
QINSTALL = /usr/bin/qmake -install qinstall
|
||||
QINSTALL_PROGRAM = /usr/bin/qmake -install qinstall -exe
|
||||
QINSTALL = /usr/lib/qt5/bin/qmake -install qinstall
|
||||
QINSTALL_PROGRAM = /usr/lib/qt5/bin/qmake -install qinstall -exe
|
||||
DEL_FILE = rm -f
|
||||
SYMLINK = ln -f -s
|
||||
DEL_DIR = rmdir
|
||||
@@ -35,10 +37,10 @@ MOVE = mv -f
|
||||
TAR = tar -cf
|
||||
COMPRESS = gzip -9f
|
||||
DISTNAME = FliegerGame1.0.0
|
||||
DISTDIR = /home/markus/Qt/build-FliegerGame-Desktop-Debug/.tmp/FliegerGame1.0.0
|
||||
DISTDIR = /home/markus/Qt/ALT/build-FliegerGame-Desktop-Debug/.tmp/FliegerGame1.0.0
|
||||
LINK = g++
|
||||
LFLAGS =
|
||||
LIBS = $(SUBLIBS) -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
|
||||
LIBS = $(SUBLIBS) /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Core.so /usr/lib/x86_64-linux-gnu/libGL.so -lpthread
|
||||
AR = ar cqs
|
||||
RANLIB =
|
||||
SED = sed
|
||||
@@ -71,202 +73,97 @@ OBJECTS = Bullet.o \
|
||||
moc_Bullet.o \
|
||||
moc_Enemy.o \
|
||||
moc_Player.o
|
||||
DIST = /usr/lib/qt/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/qt/mkspecs/common/unix.conf \
|
||||
/usr/lib/qt/mkspecs/common/linux.conf \
|
||||
/usr/lib/qt/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/qt/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/qt/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/qt/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/qt/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/qt/mkspecs/qconfig.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_KAuth.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_KCoreAddons.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_KItemModels.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3danimation.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3danimation_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dcore.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dcore_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dextras.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dextras_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dinput.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dinput_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dlogic_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquick.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquick_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickextras_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickinput_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickrender_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3drender.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3drender_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_charts.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_charts_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_datavisualization.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_datavisualization_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designer.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designer_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designercomponents_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gamepad.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gamepad_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_help.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_hunspellinputmethod_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_location.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimedia.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimedia_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediagsttools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_networkauth.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_networkauth_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_nfc.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_nfc_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_packetprotocol_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioning.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioning_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qml.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qml_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmldebug_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickcontrols2_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickshapes_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quicktemplates2_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_remoteobjects.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_remoteobjects_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_repparser.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_repparser_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_script.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_script_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scripttools.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scripttools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scxml.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scxml_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sensors.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sensors_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialbus.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialbus_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialport.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialport_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_svg.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_svg_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_texttospeech.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_texttospeech_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_virtualkeyboard.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_virtualkeyboard_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webkit.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webkitwidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_websockets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_websockets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webview.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webview_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_x11extras.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_x11extras_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns_private.pri \
|
||||
/usr/lib/qt/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/qt/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/qt/mkspecs/linux-g++/qmake.conf \
|
||||
/usr/lib/qt/mkspecs/features/spec_post.prf \
|
||||
/usr/lib/qt/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/qt/mkspecs/features/toolchain.prf \
|
||||
/usr/lib/qt/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/qt/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/qt/mkspecs/features/default_post.prf \
|
||||
/usr/lib/qt/mkspecs/features/qml_debug.prf \
|
||||
/usr/lib/qt/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/qt/mkspecs/features/qt.prf \
|
||||
/usr/lib/qt/mkspecs/features/resources.prf \
|
||||
/usr/lib/qt/mkspecs/features/moc.prf \
|
||||
/usr/lib/qt/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/qt/mkspecs/features/uic.prf \
|
||||
/usr/lib/qt/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/qt/mkspecs/features/qmake_use.prf \
|
||||
/usr/lib/qt/mkspecs/features/file_copies.prf \
|
||||
/usr/lib/qt/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/qt/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/qt/mkspecs/features/yacc.prf \
|
||||
/usr/lib/qt/mkspecs/features/lex.prf \
|
||||
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_datavisualization.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_networkauth.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webkit.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webview.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Qt5Keychain.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qml_debug.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||
../FliegerGame/FliegerGame.pro ../FliegerGame/Bullet.h \
|
||||
../FliegerGame/Enemy.h \
|
||||
../FliegerGame/Game.h \
|
||||
@@ -290,409 +187,193 @@ first: all
|
||||
FliegerGame: $(OBJECTS)
|
||||
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
|
||||
|
||||
Makefile: ../FliegerGame/FliegerGame.pro /usr/lib/qt/mkspecs/linux-g++/qmake.conf /usr/lib/qt/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/qt/mkspecs/common/unix.conf \
|
||||
/usr/lib/qt/mkspecs/common/linux.conf \
|
||||
/usr/lib/qt/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/qt/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/qt/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/qt/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/qt/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/qt/mkspecs/qconfig.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_KAuth.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_KCoreAddons.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_KItemModels.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3danimation.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3danimation_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dcore.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dcore_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dextras.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dextras_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dinput.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dinput_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dlogic.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dlogic_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquick.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquick_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickanimation.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickanimation_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickextras.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickextras_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickinput.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickinput_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickrender.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickrender_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickscene2d.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickscene2d_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3drender.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3drender_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_charts.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_charts_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_datavisualization.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_datavisualization_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designer.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designer_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designercomponents_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gamepad.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gamepad_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_help.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_hunspellinputmethod_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_location.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimedia.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimedia_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediagsttools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_networkauth.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_networkauth_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_nfc.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_nfc_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_packetprotocol_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioning.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioning_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qml.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qml_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmldebug_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickcontrols2.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickcontrols2_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickshapes_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quicktemplates2_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_remoteobjects.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_remoteobjects_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_repparser.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_repparser_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_script.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_script_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scripttools.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scripttools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scxml.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scxml_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sensors.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sensors_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialbus.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialbus_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialport.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialport_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_svg.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_svg_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_texttospeech.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_texttospeech_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_virtualkeyboard.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_virtualkeyboard_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandcompositor_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webkit.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webkitwidgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_websockets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_websockets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webview.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webview_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_x11extras.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_x11extras_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns.pri \
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns_private.pri \
|
||||
/usr/lib/qt/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/qt/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/qt/mkspecs/linux-g++/qmake.conf \
|
||||
/usr/lib/qt/mkspecs/features/spec_post.prf \
|
||||
/usr/lib/qt/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/qt/mkspecs/features/toolchain.prf \
|
||||
/usr/lib/qt/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/qt/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/qt/mkspecs/features/default_post.prf \
|
||||
/usr/lib/qt/mkspecs/features/qml_debug.prf \
|
||||
/usr/lib/qt/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/qt/mkspecs/features/qt.prf \
|
||||
/usr/lib/qt/mkspecs/features/resources.prf \
|
||||
/usr/lib/qt/mkspecs/features/moc.prf \
|
||||
/usr/lib/qt/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/qt/mkspecs/features/uic.prf \
|
||||
/usr/lib/qt/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/qt/mkspecs/features/qmake_use.prf \
|
||||
/usr/lib/qt/mkspecs/features/file_copies.prf \
|
||||
/usr/lib/qt/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/qt/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/qt/mkspecs/features/yacc.prf \
|
||||
/usr/lib/qt/mkspecs/features/lex.prf \
|
||||
Makefile: ../FliegerGame/FliegerGame.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_datavisualization.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_networkauth.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webkit.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webview.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Qt5Keychain.pri \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qml_debug.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||
../FliegerGame/FliegerGame.pro \
|
||||
../FliegerGame/resourcen.qrc \
|
||||
/usr/lib/libQt5Widgets.prl \
|
||||
/usr/lib/libQt5Gui.prl \
|
||||
/usr/lib/libQt5Core.prl
|
||||
../FliegerGame/resourcen.qrc
|
||||
$(QMAKE) -o Makefile ../FliegerGame/FliegerGame.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
|
||||
/usr/lib/qt/mkspecs/features/spec_pre.prf:
|
||||
/usr/lib/qt/mkspecs/common/unix.conf:
|
||||
/usr/lib/qt/mkspecs/common/linux.conf:
|
||||
/usr/lib/qt/mkspecs/common/sanitize.conf:
|
||||
/usr/lib/qt/mkspecs/common/gcc-base.conf:
|
||||
/usr/lib/qt/mkspecs/common/gcc-base-unix.conf:
|
||||
/usr/lib/qt/mkspecs/common/g++-base.conf:
|
||||
/usr/lib/qt/mkspecs/common/g++-unix.conf:
|
||||
/usr/lib/qt/mkspecs/qconfig.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_KAuth.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_KCoreAddons.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_KItemModels.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3danimation.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3danimation_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dcore.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dcore_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dextras.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dextras_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dinput.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dinput_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dlogic.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dlogic_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquick.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquick_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickanimation.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickanimation_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickextras.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickextras_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickinput.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickinput_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickrender.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickrender_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickscene2d.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3dquickscene2d_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3drender.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_3drender_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_accessibility_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_charts.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_charts_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_core.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_core_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_datavisualization.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_datavisualization_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_dbus.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designer.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designer_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_designercomponents_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_edid_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_egl_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_fb_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gamepad.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gamepad_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_glx_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gui.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_gui_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_help.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_hunspellinputmethod_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_input_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_kms_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_location.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimedia.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimedia_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediagsttools_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_network.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_networkauth.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_networkauth_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_nfc.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_nfc_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_openglextensions_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_packetprotocol_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioning.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioning_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_positioningquick_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_printsupport.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_printsupport_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qml.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qml_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmldebug_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quick.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickcontrols2.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickcontrols2_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickshapes_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quicktemplates2_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_quickwidgets_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_remoteobjects.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_remoteobjects_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_repparser.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_repparser_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_script.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_script_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scripttools.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scripttools_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scxml.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_scxml_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sensors.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sensors_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialbus.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialbus_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialport.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_serialport_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_service_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sql.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_sql_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_svg.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_svg_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_testlib.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_testlib_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_texttospeech.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_texttospeech_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_theme_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_virtualkeyboard.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_virtualkeyboard_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_vulkan_support_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandcompositor.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_waylandcompositor_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginecoreheaders_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webkit.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webkitwidgets.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_websockets.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_websockets_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webview.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_webview_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_widgets.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_x11extras.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_x11extras_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xml.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xml_private.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns.pri:
|
||||
/usr/lib/qt/mkspecs/modules/qt_lib_xmlpatterns_private.pri:
|
||||
/usr/lib/qt/mkspecs/features/qt_functions.prf:
|
||||
/usr/lib/qt/mkspecs/features/qt_config.prf:
|
||||
/usr/lib/qt/mkspecs/linux-g++/qmake.conf:
|
||||
/usr/lib/qt/mkspecs/features/spec_post.prf:
|
||||
/usr/lib/qt/mkspecs/features/exclusive_builds.prf:
|
||||
/usr/lib/qt/mkspecs/features/toolchain.prf:
|
||||
/usr/lib/qt/mkspecs/features/default_pre.prf:
|
||||
/usr/lib/qt/mkspecs/features/resolve_config.prf:
|
||||
/usr/lib/qt/mkspecs/features/default_post.prf:
|
||||
/usr/lib/qt/mkspecs/features/qml_debug.prf:
|
||||
/usr/lib/qt/mkspecs/features/warn_on.prf:
|
||||
/usr/lib/qt/mkspecs/features/qt.prf:
|
||||
/usr/lib/qt/mkspecs/features/resources.prf:
|
||||
/usr/lib/qt/mkspecs/features/moc.prf:
|
||||
/usr/lib/qt/mkspecs/features/unix/opengl.prf:
|
||||
/usr/lib/qt/mkspecs/features/uic.prf:
|
||||
/usr/lib/qt/mkspecs/features/unix/thread.prf:
|
||||
/usr/lib/qt/mkspecs/features/qmake_use.prf:
|
||||
/usr/lib/qt/mkspecs/features/file_copies.prf:
|
||||
/usr/lib/qt/mkspecs/features/testcase_targets.prf:
|
||||
/usr/lib/qt/mkspecs/features/exceptions.prf:
|
||||
/usr/lib/qt/mkspecs/features/yacc.prf:
|
||||
/usr/lib/qt/mkspecs/features/lex.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-base.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/g++-unix.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/qconfig.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_accessibility_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_datavisualization.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_devicediscovery_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_edid_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_egl_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfs_kms_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eglfsdeviceintegration_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fb_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_fontdatabase_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_glx_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_input_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_kms_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_linuxaccessibility_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimedia.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_multimediawidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_networkauth.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_platformcompositor_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_quickwidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_service_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_theme_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_vulkan_support_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandclient.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_waylandcompositor.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webchannel.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webkit.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webkitwidgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_websockets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_webview.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xcb_qpa_lib_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_Qt5Keychain.pri:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_functions.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt_config.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_post.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/toolchain.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_pre.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resolve_config.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/default_post.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qml_debug.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/warn_on.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qt.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/resources.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/moc.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/opengl.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/uic.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/unix/thread.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/qmake_use.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/file_copies.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/testcase_targets.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/exceptions.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf:
|
||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf:
|
||||
../FliegerGame/FliegerGame.pro:
|
||||
../FliegerGame/resourcen.qrc:
|
||||
/usr/lib/libQt5Widgets.prl:
|
||||
/usr/lib/libQt5Gui.prl:
|
||||
/usr/lib/libQt5Core.prl:
|
||||
qmake: FORCE
|
||||
@$(QMAKE) -o Makefile ../FliegerGame/FliegerGame.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
|
||||
|
||||
@@ -708,7 +389,7 @@ distdir: FORCE
|
||||
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||
$(COPY_FILE) --parents ../FliegerGame/resourcen.qrc $(DISTDIR)/
|
||||
$(COPY_FILE) --parents /usr/lib/qt/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
||||
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
||||
$(COPY_FILE) --parents ../FliegerGame/Bullet.h ../FliegerGame/Enemy.h ../FliegerGame/Game.h ../FliegerGame/Health.h ../FliegerGame/Player.h ../FliegerGame/Score.h $(DISTDIR)/
|
||||
$(COPY_FILE) --parents ../FliegerGame/Bullet.cpp ../FliegerGame/Enemy.cpp ../FliegerGame/Game.cpp ../FliegerGame/Health.cpp ../FliegerGame/Player.cpp ../FliegerGame/Score.cpp ../FliegerGame/main.cpp $(DISTDIR)/
|
||||
|
||||
@@ -738,7 +419,7 @@ compiler_rcc_make_all: qrc_resourcen.cpp
|
||||
compiler_rcc_clean:
|
||||
-$(DEL_FILE) qrc_resourcen.cpp
|
||||
qrc_resourcen.cpp: ../FliegerGame/resourcen.qrc \
|
||||
/usr/bin/rcc \
|
||||
/usr/lib/qt5/bin/rcc \
|
||||
../FliegerGame/an.png \
|
||||
../FliegerGame/Enemy.png \
|
||||
../FliegerGame/s.jpeg \
|
||||
@@ -746,33 +427,33 @@ qrc_resourcen.cpp: ../FliegerGame/resourcen.qrc \
|
||||
../FliegerGame/hkm.mp3 \
|
||||
../FliegerGame/gun1.mp3 \
|
||||
../FliegerGame/boom.mp3
|
||||
/usr/bin/rcc -name resourcen ../FliegerGame/resourcen.qrc -o qrc_resourcen.cpp
|
||||
/usr/lib/qt5/bin/rcc -name resourcen ../FliegerGame/resourcen.qrc -o qrc_resourcen.cpp
|
||||
|
||||
compiler_moc_predefs_make_all: moc_predefs.h
|
||||
compiler_moc_predefs_clean:
|
||||
-$(DEL_FILE) moc_predefs.h
|
||||
moc_predefs.h: /usr/lib/qt/mkspecs/features/data/dummy.cpp
|
||||
g++ -pipe -g -Wall -W -dM -E -o moc_predefs.h /usr/lib/qt/mkspecs/features/data/dummy.cpp
|
||||
moc_predefs.h: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||
g++ -pipe -g -Wall -W -dM -E -o moc_predefs.h /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp
|
||||
|
||||
compiler_moc_header_make_all: moc_Bullet.cpp moc_Enemy.cpp moc_Player.cpp
|
||||
compiler_moc_header_clean:
|
||||
-$(DEL_FILE) moc_Bullet.cpp moc_Enemy.cpp moc_Player.cpp
|
||||
moc_Bullet.cpp: ../FliegerGame/Bullet.h \
|
||||
moc_predefs.h \
|
||||
/usr/bin/moc
|
||||
/usr/bin/moc $(DEFINES) --include /home/markus/Qt/build-FliegerGame-Desktop-Debug/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/markus/Qt/FliegerGame -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I. -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include ../FliegerGame/Bullet.h -o moc_Bullet.cpp
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/markus/Qt/ALT/build-FliegerGame-Desktop-Debug/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/markus/Qt/ALT/FliegerGame -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../FliegerGame/Bullet.h -o moc_Bullet.cpp
|
||||
|
||||
moc_Enemy.cpp: ../FliegerGame/Enemy.h \
|
||||
moc_predefs.h \
|
||||
/usr/bin/moc
|
||||
/usr/bin/moc $(DEFINES) --include /home/markus/Qt/build-FliegerGame-Desktop-Debug/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/markus/Qt/FliegerGame -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I. -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include ../FliegerGame/Enemy.h -o moc_Enemy.cpp
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/markus/Qt/ALT/build-FliegerGame-Desktop-Debug/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/markus/Qt/ALT/FliegerGame -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../FliegerGame/Enemy.h -o moc_Enemy.cpp
|
||||
|
||||
moc_Player.cpp: ../FliegerGame/Bullet.h \
|
||||
moc_Player.cpp: ../FliegerGame/Player.h \
|
||||
../FliegerGame/Bullet.h \
|
||||
../FliegerGame/Enemy.h \
|
||||
../FliegerGame/Player.h \
|
||||
moc_predefs.h \
|
||||
/usr/bin/moc
|
||||
/usr/bin/moc $(DEFINES) --include /home/markus/Qt/build-FliegerGame-Desktop-Debug/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/home/markus/Qt/FliegerGame -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I. -I/usr/include/c++/8.2.1 -I/usr/include/c++/8.2.1/x86_64-pc-linux-gnu -I/usr/include/c++/8.2.1/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include-fixed -I/usr/include ../FliegerGame/Player.h -o moc_Player.cpp
|
||||
/usr/lib/qt5/bin/moc
|
||||
/usr/lib/qt5/bin/moc $(DEFINES) --include /home/markus/Qt/ALT/build-FliegerGame-Desktop-Debug/moc_predefs.h -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/markus/Qt/ALT/FliegerGame -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../FliegerGame/Player.h -o moc_Player.cpp
|
||||
|
||||
compiler_moc_objc_header_make_all:
|
||||
compiler_moc_objc_header_clean:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Bullet.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.0)
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
@@ -12,7 +12,7 @@
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Bullet.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.0. It"
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
@@ -65,7 +65,7 @@ static const uint qt_meta_data_Bullet[] = {
|
||||
void Bullet::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
Bullet *_t = static_cast<Bullet *>(_o);
|
||||
auto *_t = static_cast<Bullet *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->move(); break;
|
||||
|
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Enemy.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.0)
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
@@ -12,7 +12,7 @@
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Enemy.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.0. It"
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
@@ -65,7 +65,7 @@ static const uint qt_meta_data_Enemy[] = {
|
||||
void Enemy::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
Enemy *_t = static_cast<Enemy *>(_o);
|
||||
auto *_t = static_cast<Enemy *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->move(); break;
|
||||
|
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Player.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.0)
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
@@ -12,7 +12,7 @@
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Player.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.0. It"
|
||||
#error "This file was generated using the moc from 5.12.8. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
@@ -65,7 +65,7 @@ static const uint qt_meta_data_Player[] = {
|
||||
void Player::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
Player *_t = static_cast<Player *>(_o);
|
||||
auto *_t = static_cast<Player *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->spawn(); break;
|
||||
|
Binary file not shown.
@@ -31,6 +31,7 @@
|
||||
#define __unix__ 1
|
||||
#define __cpp_binary_literals 201304
|
||||
#define __FLT64_DECIMAL_DIG__ 17
|
||||
#define __CET__ 3
|
||||
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||
#define __x86_64 1
|
||||
#define __cpp_variadic_templates 200704
|
||||
@@ -39,9 +40,10 @@
|
||||
#define __DBL_MIN_10_EXP__ (-307)
|
||||
#define __FINITE_MATH_ONLY__ 0
|
||||
#define __cpp_variable_templates 201304
|
||||
#define __GNUC_PATCHLEVEL__ 1
|
||||
#define __GNUC_PATCHLEVEL__ 0
|
||||
#define __FLT32_HAS_DENORM__ 1
|
||||
#define __UINT_FAST8_MAX__ 0xff
|
||||
#define __cpp_rvalue_reference 200610
|
||||
#define __has_include(STR) __has_include__(STR)
|
||||
#define __DEC64_MAX_EXP__ 385
|
||||
#define __INT8_C(c) c
|
||||
@@ -105,7 +107,7 @@
|
||||
#define __FLT64X_MIN_10_EXP__ (-4931)
|
||||
#define __LDBL_HAS_QUIET_NAN__ 1
|
||||
#define __FLT64_MANT_DIG__ 53
|
||||
#define __GNUC__ 8
|
||||
#define __GNUC__ 9
|
||||
#define __GXX_RTTI 1
|
||||
#define __pie__ 2
|
||||
#define __MMX__ 1
|
||||
@@ -120,6 +122,7 @@
|
||||
#define __cpp_raw_strings 200710
|
||||
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
|
||||
#define __DBL_HAS_INFINITY__ 1
|
||||
#define __HAVE_SPECULATION_SAFE_VALUE 1
|
||||
#define __DEC32_MIN_EXP__ (-94)
|
||||
#define __INTPTR_WIDTH__ 64
|
||||
#define __FLT32X_HAS_DENORM__ 1
|
||||
@@ -142,10 +145,9 @@
|
||||
#define __amd64 1
|
||||
#define __ATOMIC_HLE_ACQUIRE 65536
|
||||
#define __FLT32_HAS_QUIET_NAN__ 1
|
||||
#define __GNUG__ 8
|
||||
#define __GNUG__ 9
|
||||
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
|
||||
#define __SIZEOF_SIZE_T__ 8
|
||||
#define __cpp_rvalue_reference 200610
|
||||
#define __cpp_nsdmi 200809
|
||||
#define __FLT64X_MIN_EXP__ (-16381)
|
||||
#define __SIZEOF_WINT_T__ 4
|
||||
@@ -171,13 +173,12 @@
|
||||
#define __DEC128_MIN__ 1E-6143DL
|
||||
#define __REGISTER_PREFIX__
|
||||
#define __UINT16_MAX__ 0xffff
|
||||
#define __DBL_HAS_DENORM__ 1
|
||||
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
|
||||
#define __UINT8_TYPE__ unsigned char
|
||||
#define __NO_INLINE__ 1
|
||||
#define __FLT_MANT_DIG__ 24
|
||||
#define __LDBL_DECIMAL_DIG__ 21
|
||||
#define __VERSION__ "8.2.1 20181127"
|
||||
#define __VERSION__ "9.3.0"
|
||||
#define __UINT64_C(c) c ## UL
|
||||
#define __cpp_unicode_characters 200704
|
||||
#define _STDC_PREDEF_H 1
|
||||
@@ -199,6 +200,7 @@
|
||||
#define __UINT_LEAST16_TYPE__ short unsigned int
|
||||
#define __FLT64X_HAS_INFINITY__ 1
|
||||
#define unix 1
|
||||
#define __DBL_HAS_DENORM__ 1
|
||||
#define __INT16_MAX__ 0x7fff
|
||||
#define __cpp_rtti 199711
|
||||
#define __SIZE_TYPE__ long unsigned int
|
||||
@@ -349,7 +351,7 @@
|
||||
#define __DEC128_MAX_EXP__ 6145
|
||||
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __GNUC_MINOR__ 2
|
||||
#define __GNUC_MINOR__ 3
|
||||
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||
#define __INT_FAST16_WIDTH__ 64
|
||||
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||
|
95
ALT/pinchzoom/graphicsview.cpp
Normal file
95
ALT/pinchzoom/graphicsview.cpp
Normal file
@@ -0,0 +1,95 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "graphicsview.h"
|
||||
|
||||
#include <QScrollBar>
|
||||
#include <QTouchEvent>
|
||||
|
||||
GraphicsView::GraphicsView(QGraphicsScene *scene, QWidget *parent)
|
||||
: QGraphicsView(scene, parent), totalScaleFactor(1)
|
||||
{
|
||||
viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
|
||||
setDragMode(ScrollHandDrag);
|
||||
}
|
||||
|
||||
bool GraphicsView::viewportEvent(QEvent *event)
|
||||
{
|
||||
switch (event->type()) {
|
||||
case QEvent::TouchBegin:
|
||||
case QEvent::TouchUpdate:
|
||||
case QEvent::TouchEnd:
|
||||
{
|
||||
QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
|
||||
QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();
|
||||
if (touchPoints.count() == 2) {
|
||||
// determine scale factor
|
||||
const QTouchEvent::TouchPoint &touchPoint0 = touchPoints.first();
|
||||
const QTouchEvent::TouchPoint &touchPoint1 = touchPoints.last();
|
||||
qreal currentScaleFactor =
|
||||
QLineF(touchPoint0.pos(), touchPoint1.pos()).length()
|
||||
/ QLineF(touchPoint0.startPos(), touchPoint1.startPos()).length();
|
||||
if (touchEvent->touchPointStates() & Qt::TouchPointReleased) {
|
||||
// if one of the fingers is released, remember the current scale
|
||||
// factor so that adding another finger later will continue zooming
|
||||
// by adding new scale factor to the existing remembered value.
|
||||
totalScaleFactor *= currentScaleFactor;
|
||||
currentScaleFactor = 1;
|
||||
}
|
||||
setTransform(QTransform().scale(totalScaleFactor * currentScaleFactor,
|
||||
totalScaleFactor * currentScaleFactor));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return QGraphicsView::viewportEvent(event);
|
||||
}
|
65
ALT/pinchzoom/graphicsview.h
Normal file
65
ALT/pinchzoom/graphicsview.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#pragma once
|
||||
#include <QGraphicsView>
|
||||
|
||||
class GraphicsView : public QGraphicsView
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GraphicsView(QGraphicsScene *scene = 0, QWidget *parent = 0);
|
||||
|
||||
bool viewportEvent(QEvent *event) override;
|
||||
|
||||
private:
|
||||
qreal totalScaleFactor;
|
||||
};
|
BIN
ALT/pinchzoom/images/cheese.jpg
Normal file
BIN
ALT/pinchzoom/images/cheese.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
95
ALT/pinchzoom/main.cpp
Normal file
95
ALT/pinchzoom/main.cpp
Normal file
@@ -0,0 +1,95 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "graphicsview.h"
|
||||
#include "mouse.h"
|
||||
|
||||
#include <QtWidgets>
|
||||
|
||||
#include <math.h>
|
||||
|
||||
static const int MouseCount = 7;
|
||||
|
||||
//! [0]
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
//! [0]
|
||||
|
||||
//! [1]
|
||||
QGraphicsScene scene;
|
||||
scene.setSceneRect(-300, -300, 600, 600);
|
||||
//! [1] //! [2]
|
||||
scene.setItemIndexMethod(QGraphicsScene::NoIndex);
|
||||
//! [2]
|
||||
|
||||
//! [3]
|
||||
for (int i = 0; i < MouseCount; ++i) {
|
||||
Mouse *mouse = new Mouse;
|
||||
mouse->setPos(::sin((i * 6.28) / MouseCount) * 200,
|
||||
::cos((i * 6.28) / MouseCount) * 200);
|
||||
scene.addItem(mouse);
|
||||
}
|
||||
//! [3]
|
||||
|
||||
//! [4]
|
||||
GraphicsView view(&scene);
|
||||
view.setRenderHint(QPainter::Antialiasing);
|
||||
view.setBackgroundBrush(QPixmap(":/images/cheese.jpg"));
|
||||
//! [4] //! [5]
|
||||
view.setCacheMode(QGraphicsView::CacheBackground);
|
||||
view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
|
||||
//! [5] //! [6]
|
||||
view.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Colliding Mice"));
|
||||
view.showMaximized();
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
//! [6]
|
5
ALT/pinchzoom/mice.qrc
Normal file
5
ALT/pinchzoom/mice.qrc
Normal file
@@ -0,0 +1,5 @@
|
||||
<RCC>
|
||||
<qresource prefix="/" >
|
||||
<file>images/cheese.jpg</file>
|
||||
</qresource>
|
||||
</RCC>
|
205
ALT/pinchzoom/mouse.cpp
Normal file
205
ALT/pinchzoom/mouse.cpp
Normal file
@@ -0,0 +1,205 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "mouse.h"
|
||||
|
||||
#include <QGraphicsScene>
|
||||
#include <QPainter>
|
||||
#include <QRandomGenerator>
|
||||
#include <QStyleOption>
|
||||
#include <qmath.h>
|
||||
|
||||
const qreal Pi = M_PI;
|
||||
const qreal TwoPi = 2 * M_PI;
|
||||
|
||||
static qreal normalizeAngle(qreal angle)
|
||||
{
|
||||
while (angle < 0)
|
||||
angle += TwoPi;
|
||||
while (angle > TwoPi)
|
||||
angle -= TwoPi;
|
||||
return angle;
|
||||
}
|
||||
|
||||
//! [0]
|
||||
Mouse::Mouse()
|
||||
: angle(0), speed(0), mouseEyeDirection(0),
|
||||
color(QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256), QRandomGenerator::global()->bounded(256))
|
||||
{
|
||||
setTransform(QTransform().rotate(QRandomGenerator::global()->bounded(360 * 16)), true);
|
||||
startTimer(1000 / 33);
|
||||
}
|
||||
//! [0]
|
||||
|
||||
//! [1]
|
||||
QRectF Mouse::boundingRect() const
|
||||
{
|
||||
qreal adjust = 0.5;
|
||||
return QRectF(-18 - adjust, -22 - adjust,
|
||||
36 + adjust, 60 + adjust);
|
||||
}
|
||||
//! [1]
|
||||
|
||||
//! [2]
|
||||
QPainterPath Mouse::shape() const
|
||||
{
|
||||
QPainterPath path;
|
||||
path.addRect(-10, -20, 20, 40);
|
||||
return path;
|
||||
}
|
||||
//! [2]
|
||||
|
||||
//! [3]
|
||||
void Mouse::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
|
||||
{
|
||||
// Body
|
||||
painter->setBrush(color);
|
||||
painter->drawEllipse(-10, -20, 20, 40);
|
||||
|
||||
// Eyes
|
||||
painter->setBrush(Qt::white);
|
||||
painter->drawEllipse(-10, -17, 8, 8);
|
||||
painter->drawEllipse(2, -17, 8, 8);
|
||||
|
||||
// Nose
|
||||
painter->setBrush(Qt::black);
|
||||
painter->drawEllipse(QRectF(-2, -22, 4, 4));
|
||||
|
||||
// Pupils
|
||||
painter->drawEllipse(QRectF(-8.0 + mouseEyeDirection, -17, 4, 4));
|
||||
painter->drawEllipse(QRectF(4.0 + mouseEyeDirection, -17, 4, 4));
|
||||
|
||||
// Ears
|
||||
painter->setBrush(scene()->collidingItems(this).isEmpty() ? Qt::darkYellow : Qt::red);
|
||||
painter->drawEllipse(-17, -12, 16, 16);
|
||||
painter->drawEllipse(1, -12, 16, 16);
|
||||
|
||||
// Tail
|
||||
QPainterPath path(QPointF(0, 20));
|
||||
path.cubicTo(-5, 22, -5, 22, 0, 25);
|
||||
path.cubicTo(5, 27, 5, 32, 0, 30);
|
||||
path.cubicTo(-5, 32, -5, 42, 0, 35);
|
||||
painter->setBrush(Qt::NoBrush);
|
||||
painter->drawPath(path);
|
||||
}
|
||||
//! [3]
|
||||
|
||||
//! [4]
|
||||
void Mouse::timerEvent(QTimerEvent *)
|
||||
{
|
||||
//! [4]
|
||||
// Don't move too far away
|
||||
//! [5]
|
||||
QLineF lineToCenter(QPointF(0, 0), mapFromScene(0, 0));
|
||||
if (lineToCenter.length() > 150) {
|
||||
qreal angleToCenter = std::atan2(lineToCenter.dy(), lineToCenter.dx());
|
||||
angleToCenter = normalizeAngle((Pi - angleToCenter) + Pi / 2);
|
||||
|
||||
if (angleToCenter < Pi && angleToCenter > Pi / 4) {
|
||||
// Rotate left
|
||||
angle += (angle < -Pi / 2) ? 0.25 : -0.25;
|
||||
} else if (angleToCenter >= Pi && angleToCenter < (Pi + Pi / 2 + Pi / 4)) {
|
||||
// Rotate right
|
||||
angle += (angle < Pi / 2) ? 0.25 : -0.25;
|
||||
}
|
||||
} else if (::sin(angle) < 0) {
|
||||
angle += 0.25;
|
||||
} else if (::sin(angle) > 0) {
|
||||
angle -= 0.25;
|
||||
//! [5] //! [6]
|
||||
}
|
||||
//! [6]
|
||||
|
||||
// Try not to crash with any other mice
|
||||
//! [7]
|
||||
QList<QGraphicsItem *> dangerMice = scene()->items(QPolygonF()
|
||||
<< mapToScene(0, 0)
|
||||
<< mapToScene(-30, -50)
|
||||
<< mapToScene(30, -50));
|
||||
foreach (QGraphicsItem *item, dangerMice) {
|
||||
if (item == this)
|
||||
continue;
|
||||
|
||||
QLineF lineToMouse(QPointF(0, 0), mapFromItem(item, 0, 0));
|
||||
qreal angleToMouse = std::atan2(lineToMouse.dy(), lineToMouse.dx());
|
||||
angleToMouse = normalizeAngle((Pi - angleToMouse) + Pi / 2);
|
||||
|
||||
if (angleToMouse >= 0 && angleToMouse < Pi / 2) {
|
||||
// Rotate right
|
||||
angle += 0.5;
|
||||
} else if (angleToMouse <= TwoPi && angleToMouse > (TwoPi - Pi / 2)) {
|
||||
// Rotate left
|
||||
angle -= 0.5;
|
||||
//! [7] //! [8]
|
||||
}
|
||||
//! [8] //! [9]
|
||||
}
|
||||
//! [9]
|
||||
|
||||
// Add some random movement
|
||||
//! [10]
|
||||
if (dangerMice.size() > 1 && QRandomGenerator::global()->bounded(10) == 0) {
|
||||
if (QRandomGenerator::global()->bounded(1))
|
||||
angle += QRandomGenerator::global()->bounded(1 / 500.0);
|
||||
else
|
||||
angle -= QRandomGenerator::global()->bounded(1 / 500.0);
|
||||
}
|
||||
//! [10]
|
||||
|
||||
//! [11]
|
||||
speed += (-50 + QRandomGenerator::global()->bounded(100)) / 100.0;
|
||||
|
||||
qreal dx = ::sin(angle) * 10;
|
||||
mouseEyeDirection = (qAbs(dx / 5) < 1) ? 0 : dx / 5;
|
||||
|
||||
setTransform(QTransform().rotate(dx), true);
|
||||
setPos(mapToParent(0, -(3 + sin(speed) * 3)));
|
||||
}
|
||||
//! [11]
|
80
ALT/pinchzoom/mouse.h
Normal file
80
ALT/pinchzoom/mouse.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef MOUSE_H
|
||||
#define MOUSE_H
|
||||
|
||||
#include <QGraphicsObject>
|
||||
|
||||
//! [0]
|
||||
class Mouse : public QGraphicsObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Mouse();
|
||||
|
||||
QRectF boundingRect() const override;
|
||||
QPainterPath shape() const override;
|
||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
QWidget *widget) override;
|
||||
|
||||
protected:
|
||||
void timerEvent(QTimerEvent *event) override;
|
||||
|
||||
private:
|
||||
qreal angle;
|
||||
qreal speed;
|
||||
qreal mouseEyeDirection;
|
||||
QColor color;
|
||||
};
|
||||
//! [0]
|
||||
|
||||
#endif
|
BIN
ALT/pinchzoom/pinchzoom
Executable file
BIN
ALT/pinchzoom/pinchzoom
Executable file
Binary file not shown.
16
ALT/pinchzoom/pinchzoom.pro
Normal file
16
ALT/pinchzoom/pinchzoom.pro
Normal file
@@ -0,0 +1,16 @@
|
||||
QT += widgets
|
||||
|
||||
HEADERS += \
|
||||
mouse.h \
|
||||
graphicsview.h
|
||||
SOURCES += \
|
||||
main.cpp \
|
||||
mouse.cpp \
|
||||
graphicsview.cpp
|
||||
|
||||
RESOURCES += \
|
||||
mice.qrc
|
||||
|
||||
# install
|
||||
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/touch/pinchzoom
|
||||
INSTALLS += target
|
317
ALT/pinchzoom/pinchzoom.pro.user
Normal file
317
ALT/pinchzoom/pinchzoom.pro.user
Normal file
@@ -0,0 +1,317 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.11.0, 2020-06-22T19:24:43. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{b70b24f1-46ad-4dd1-a8b9-3130fc5cbcc1}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{f2adeb15-5e8d-4d85-a687-94c91141f754}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-pinchzoom-Desktop-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-pinchzoom-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/ALT/build-pinchzoom-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<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="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>
|
||||
<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.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Qt/ALT/pinchzoom/pinchzoom.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/markus/Qt/ALT/pinchzoom/pinchzoom.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/markus/Qt/ALT/build-pinchzoom-Desktop-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
326
ChatSystem/ChatSystem.pro.user
Normal file
326
ChatSystem/ChatSystem.pro.user
Normal file
@@ -0,0 +1,326 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2020-03-10T19:03:40. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{b70b24f1-46ad-4dd1-a8b9-3130fc5cbcc1}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{f2adeb15-5e8d-4d85-a687-94c91141f754}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-ChatSystem-Desktop-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-ChatSystem-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-ChatSystem-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<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>
|
||||
<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="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.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">ChatSystem</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Qt/ChatSystem/ChatSystem.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">ChatSystem.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/markus/Qt/build-ChatSystem-Desktop-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
</qtcreator>
|
@@ -1,24 +1,94 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow" >
|
||||
<property name="geometry" >
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
<width>720</width>
|
||||
<height>481</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<property name="windowTitle">
|
||||
<string>MainWindow</string>
|
||||
</property>
|
||||
<widget class="QMenuBar" name="menuBar" />
|
||||
<widget class="QToolBar" name="mainToolBar" />
|
||||
<widget class="QWidget" name="centralWidget" />
|
||||
<widget class="QStatusBar" name="statusBar" />
|
||||
<widget class="QWidget" name="centralWidget">
|
||||
<widget class="QPushButton" name="pushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>380</y>
|
||||
<width>81</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Enter</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>80</x>
|
||||
<y>380</y>
|
||||
<width>361</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>240</x>
|
||||
<y>140</y>
|
||||
<width>104</width>
|
||||
<height>78</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPlainTextEdit" name="plainTextEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>250</x>
|
||||
<y>40</y>
|
||||
<width>104</width>
|
||||
<height>78</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextBrowser" name="textBrowser">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>410</x>
|
||||
<y>50</y>
|
||||
<width>256</width>
|
||||
<height>192</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menuBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>720</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QToolBar" name="mainToolBar">
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QStatusBar" name="statusBar"/>
|
||||
</widget>
|
||||
<layoutDefault spacing="6" margin="11" />
|
||||
<pixmapfunction></pixmapfunction>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@@ -17,6 +17,14 @@ DEFINES += QT_DEPRECATED_WARNINGS
|
||||
SOURCES += \
|
||||
main.cpp
|
||||
|
||||
INCLUDEPATH += $$PWD/../My_LIB_TCP_V2/ \
|
||||
$$PWD/../My_LIB_TCP_SERVER_V2/
|
||||
|
||||
HEADERS += $$PWD/../My_LIB_TCP_V2/my_tcp_lib.h \
|
||||
$$PWD/../My_LIB_TCP_SERVER_V2/server_tcp_lib.h
|
||||
SOURCES += $$PWD/../My_LIB_TCP_V2/my_tcp_lib.cpp \
|
||||
$$PWD/../My_LIB_TCP_SERVER_V2/server_tcp_lib.cpp
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
|
@@ -1,8 +1,53 @@
|
||||
#include <QCoreApplication>
|
||||
#include "my_tcp_lib.h"
|
||||
#include "server_tcp_lib.h"
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
|
||||
return a.exec();
|
||||
/* 1. Start Server
|
||||
* 2. Create in Loop Threads, which try to connect(QThread, which can emit signals && timeout system)
|
||||
* -> pushpack to vector
|
||||
* 3. Accept incomming connection with reconnect request
|
||||
*/
|
||||
|
||||
TCP_SERVER server;
|
||||
|
||||
server.startListening(4001);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -23,7 +23,7 @@ tags
|
||||
.DS_Store
|
||||
.directory
|
||||
*.debug
|
||||
Makefile*
|
||||
Makefile?*
|
||||
*.prl
|
||||
*.app
|
||||
moc_*.cpp
|
||||
@@ -71,3 +71,8 @@ Thumbs.db
|
||||
*.dll
|
||||
*.exe
|
||||
|
||||
#Own adds:
|
||||
g++/
|
||||
|
||||
Makefile
|
||||
S_New4
|
@@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
ConnetionsManager::ConnetionsManager()
|
||||
: stop(false)
|
||||
: isAdmin(false), stop(false)
|
||||
{
|
||||
server = new TCP_SERVER();
|
||||
server->autoCleanUpInTheEnd = false;
|
||||
@@ -17,15 +17,15 @@ ConnetionsManager::~ConnetionsManager()
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) ) {
|
||||
if( ! this->wait(3000) )
|
||||
std::cout << " Stop connectionmanager thread failed" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//stop server
|
||||
if( server->stopListening() != 0 )
|
||||
std::cout << "Stop server failed: " << server->getLastError() << std::endl;
|
||||
if( server->isListening() )
|
||||
if( server->stopListening() != 0 )
|
||||
std::cout << "Stop server failed: " << server->getLastError() << std::endl;
|
||||
|
||||
//delete server
|
||||
delete server;
|
||||
@@ -63,30 +63,24 @@ int ConnetionsManager::start_Thread(bool PORT_BASED, std::vector<ConnetionsManag
|
||||
|
||||
void ConnetionsManager::run()
|
||||
{
|
||||
if(startServer() != 0) {
|
||||
emit showMSG("Fatal Error in startServer()");
|
||||
return;
|
||||
}
|
||||
//Start Server
|
||||
if(startServer() != 0)
|
||||
return emit showMSG("Fatal Error in startServer()");
|
||||
|
||||
if(startAllTryConnector() != 0) {
|
||||
emit showMSG("Fatal Error in startAllTryConnector()");
|
||||
return;
|
||||
}
|
||||
|
||||
//Nur noch accepten
|
||||
while ( ! stop ) {
|
||||
if(acceptClient() != 0) {
|
||||
emit showMSG("Fatal Error in acceptClient()");
|
||||
return;
|
||||
}
|
||||
}
|
||||
//TryConnnect to All Peers in List
|
||||
else if(startAllTryConnector() != 0)
|
||||
return emit showMSG("Fatal Error in startAllTryConnector()");
|
||||
|
||||
//Accept all new Peers
|
||||
while ( ! stop )
|
||||
if(acceptClient() != 0)
|
||||
return emit showMSG("Fatal Error in acceptClient()");
|
||||
}
|
||||
|
||||
int ConnetionsManager::startAllTryConnector()
|
||||
{
|
||||
for (auto &pc : computers) {
|
||||
// std::cout << "Start tryconnect to: " << pc.ip << ":" << pc.port << std::endl;
|
||||
std::cout << "Start tryconnect to: " << pc.ip << ":" << pc.port << std::endl;
|
||||
|
||||
TryConnector * newTryConnector = new TryConnector();
|
||||
newTryConnector->deleteLater(); ///<--------------------------------Test--------------------------------------------
|
||||
@@ -110,11 +104,14 @@ int ConnetionsManager::startServer()
|
||||
sleep(3);
|
||||
}
|
||||
emit showMSG("SERVER gestartet: @" + QString::fromStdString(server->getHostName()) + ":" + QString::number(computers.at(0).port));
|
||||
std::cout << "Server gestartet auf Port: " << computers.at(0).port << std::endl;
|
||||
|
||||
|
||||
//clear
|
||||
computers.erase(computers.begin());
|
||||
std::string hostname = server->getHostName();
|
||||
|
||||
//remove own ip, so that you don't connect to your own server
|
||||
for ( unsigned i = 0; i < computers.size(); ++i)
|
||||
if(computers.at(i).ip == hostname)
|
||||
computers.erase(computers.begin() + i);
|
||||
@@ -180,7 +177,7 @@ int ConnetionsManager::acceptClient()
|
||||
}
|
||||
|
||||
//Send name, port, ip ...
|
||||
newPeer->sendInfoData(server->getListeningPort());
|
||||
newPeer->sendInfoData(server->getListeningPort(), isAdmin);
|
||||
|
||||
emit ConnectionsListChanged();
|
||||
//emit showMSG(QString::fromStdString(" -> New Client: " + newCLIENT.getIpAddress() + ":" + std::to_string(newCLIENT.getPort())));
|
||||
@@ -211,12 +208,12 @@ void ConnetionsManager::TryConnectorFinished(TryConnector *who)
|
||||
}
|
||||
|
||||
//Send name, port, ip ...
|
||||
newPeer->sendInfoData(server->getListeningPort());
|
||||
newPeer->sendInfoData(server->getListeningPort(), isAdmin);
|
||||
|
||||
emit ConnectionsListChanged();
|
||||
//emit showMSG(QString::fromStdString(" -> New Client: " + who->getIp() + ":" + std::to_string(who->getPort())));
|
||||
} else if (who->getState() == STATE::TIME_OUT_TRY_OUT) {
|
||||
std::cout << "-> Connect to " << who->getIp() << ":" << who->getPort() << " timedout." << std::endl;
|
||||
// } else if (who->getState() == STATE::TIME_OUT_TRY_OUT) {
|
||||
// std::cout << "-> Connect to " << who->getIp() << ":" << who->getPort() << " timedout." << std::endl;
|
||||
|
||||
} else if(who->getState() == STATE::UNDEFINED) {
|
||||
std::cout << "-> Thread for Connecting to " << who->getIp() << ":" << who->getPort() << " never started." << std::endl;
|
||||
@@ -243,7 +240,7 @@ void ConnetionsManager::PeerConnectionGetsError(Peer *who)
|
||||
for (unsigned i = 0; i < Connections.size(); ++i) {
|
||||
if(Connections.at(i) == who && (++check)) {
|
||||
Connections.erase(Connections.begin() + i);
|
||||
std::cout << "DEBUG: Delete Peer, cause getError, with Port: " << who->getPort() << std::endl;
|
||||
//std::cout << "DEBUG: Delete Peer, cause getError, with Port: " << who->getPort() << std::endl;
|
||||
delete who;//->deleteLater();
|
||||
}
|
||||
}
|
@@ -28,6 +28,8 @@ public:
|
||||
void sendtoAllPeers(QString msg);
|
||||
std::vector<Peer *> &getConnectionList();
|
||||
|
||||
bool isAdmin;
|
||||
|
||||
|
||||
private:
|
||||
void run();
|
||||
@@ -43,6 +45,8 @@ private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
signals:
|
||||
void showMSG(QString msg);
|
||||
void ConnectionsListChanged();
|
166
DezChat/ConnectionsStuff/peer.cpp
Normal file
166
DezChat/ConnectionsStuff/peer.cpp
Normal file
@@ -0,0 +1,166 @@
|
||||
#include "peer.h"
|
||||
|
||||
Peer::Peer(const CLIENT &cli)
|
||||
: cli_v1(cli), isCLIENT(true), stop(false), is_Admin(false), name("UNKNOWN")
|
||||
{
|
||||
this->cli_v1.autoCleanUpInTheEnd = false;
|
||||
this->cli_v2.autoCleanUpInTheEnd = false;
|
||||
//Save ip in var, which will be deletet after disconnect...
|
||||
this->ip_connectedTo = cli.getIpAddress();
|
||||
|
||||
}
|
||||
|
||||
Peer::Peer(const client_TCP_Lib &cli, std::string ip_connectedTo, unsigned short port_connectedTo)
|
||||
: cli_v2(cli), isCLIENT(false), stop(false), is_Admin(false), port_connectedTo(port_connectedTo), name("UNKNOWN"), ip_connectedTo(ip_connectedTo)
|
||||
{
|
||||
this->cli_v1.autoCleanUpInTheEnd = false;
|
||||
this->cli_v2.autoCleanUpInTheEnd = false;
|
||||
}
|
||||
|
||||
Peer::~Peer()
|
||||
{
|
||||
std::cout << "~Peer(): port: " << getPort() << std::endl;
|
||||
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) )
|
||||
std::cout << "Terminating Thread timeouted: " << __func__ << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
if( this->isConnected() && this->closeSocket() != 0)
|
||||
std::cout << "!-> CloseSocket failed: " << cli_v1.getLastError() << std::endl;
|
||||
}
|
||||
|
||||
void Peer::send_to(QString msg)
|
||||
{
|
||||
msg.push_back('|');
|
||||
|
||||
if( ((isCLIENT) ? cli_v1.send_(msg.toStdString().c_str(), static_cast<unsigned>(msg.toStdString().length()) ) :
|
||||
send(cli_v2.getConnectionSocket(), msg.toStdString().c_str(), static_cast<unsigned>(msg.toStdString().length()), 0)) <= 0 ) {
|
||||
std::cerr << "DEBUG: emit -> send failed to: " << this->getFullName().toStdString() << std::endl;
|
||||
emit sendFailed(this);
|
||||
}
|
||||
}
|
||||
|
||||
int Peer::startReciver()
|
||||
{
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 0 : 1;
|
||||
}
|
||||
|
||||
void Peer::sendInfoData(const unsigned short ownServerListeningPort, bool adminstate)
|
||||
{
|
||||
this->send_to("PORT=" + QString::number(ownServerListeningPort));
|
||||
this->send_to("JOIN_TIME=" + QTime::currentTime().toString() );
|
||||
this->send_to("JOINED=" + getUserName() );
|
||||
this->send_to("VERSION=" + QString::number(VERSION) );
|
||||
|
||||
this->send_to("adminstatus=" + QString(adminstate ? "true" : "false"));
|
||||
|
||||
}
|
||||
|
||||
int Peer::closeSocket()
|
||||
{
|
||||
return (isCLIENT) ? cli_v1.closeSocket() : cli_v2.closeSocket();
|
||||
}
|
||||
|
||||
bool Peer::isConnected()
|
||||
{
|
||||
return (isCLIENT) ? cli_v1.isConnected() : cli_v2.isConnected();
|
||||
}
|
||||
|
||||
std::string Peer::getIp() const
|
||||
{
|
||||
return ip_connectedTo;
|
||||
}
|
||||
|
||||
|
||||
std::string Peer::getLastError()
|
||||
{
|
||||
return (isCLIENT) ? cli_v1.getLastError() : cli_v2.getLastError();
|
||||
}
|
||||
|
||||
unsigned short Peer::getPort() const
|
||||
{
|
||||
return port_connectedTo;
|
||||
}
|
||||
|
||||
QString Peer::getName() const
|
||||
{
|
||||
return QString::fromStdString(name);
|
||||
}
|
||||
|
||||
QString Peer::getUserName() const
|
||||
{
|
||||
return ( (qgetenv("USER").isEmpty()) ? qgetenv("USERNAME") : qgetenv("USER") );
|
||||
}
|
||||
|
||||
QString Peer::getFullName() const
|
||||
{
|
||||
return QString("<" + getName() + "@" + QString::fromStdString(getIp()) + ":" + QString::number(getPort()) + ">");
|
||||
}
|
||||
|
||||
QString Peer::getJoinTime() const
|
||||
{
|
||||
return QString::fromStdString(joinTime);
|
||||
}
|
||||
|
||||
bool Peer::isAdmin() const
|
||||
{
|
||||
return is_Admin;
|
||||
}
|
||||
|
||||
void Peer::set_isAdmin(bool state)
|
||||
{
|
||||
is_Admin = state;
|
||||
}
|
||||
|
||||
void Peer::setConnectedToPort(unsigned short port)
|
||||
{
|
||||
port_connectedTo = port;
|
||||
}
|
||||
|
||||
void Peer::setName(std::string name)
|
||||
{
|
||||
this->name = name;
|
||||
}
|
||||
|
||||
void Peer::setJoinTime(std::string time)
|
||||
{
|
||||
joinTime = time;
|
||||
}
|
||||
|
||||
void Peer::run()
|
||||
{
|
||||
std::vector<char> buffer;
|
||||
std::string stringBuffer;
|
||||
char c;
|
||||
|
||||
while ( ! stop ) {
|
||||
buffer.clear();
|
||||
do {
|
||||
if( ( ( isCLIENT ) ? cli_v1.recv_(&c, 1) : recv(cli_v2.getConnectionSocket(), &c, 1, 0) ) <= 0) {
|
||||
std::cerr << "DEBUG: emit -> rev failed from: " << this->getFullName().toStdString() << std::endl;
|
||||
return emit recvdFailed(this);
|
||||
} else
|
||||
buffer.push_back(c);
|
||||
} while (c != '|' && ! stop);
|
||||
|
||||
if(buffer.data() && buffer.size() > 0) {
|
||||
buffer.pop_back();
|
||||
buffer.push_back('\0');
|
||||
|
||||
if( (stringBuffer = std::string(buffer.data())) .find("=") == std::string::npos) {
|
||||
std::cout << "INVALID MSG: '" << buffer.data() << "'" << std::endl;
|
||||
continue;
|
||||
} else
|
||||
emit recvdMessage(this, QString::fromStdString(stringBuffer));
|
||||
}
|
||||
}
|
||||
emit recvdFailed(this);
|
||||
}
|
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <QTime>
|
||||
#include <QThread>
|
||||
#define VERSION "2.2"
|
||||
#define VERSION 2
|
||||
|
||||
|
||||
class Peer : public QThread
|
||||
@@ -19,7 +19,7 @@ public:
|
||||
|
||||
void send_to(QString msg);
|
||||
int startReciver();
|
||||
void sendInfoData(const unsigned short ownServerListeningPort);
|
||||
void sendInfoData(const unsigned short ownServerListeningPort, bool adminstate);
|
||||
|
||||
int closeSocket();
|
||||
bool isConnected();
|
||||
@@ -32,6 +32,9 @@ public:
|
||||
QString getFullName() const;
|
||||
QString getJoinTime() const;
|
||||
|
||||
bool isAdmin() const;
|
||||
void set_isAdmin(bool state);
|
||||
|
||||
void setConnectedToPort(unsigned short port);
|
||||
void setName(std::string name);
|
||||
void setJoinTime(std::string time);
|
||||
@@ -45,7 +48,7 @@ private:
|
||||
client_TCP_Lib cli_v2;
|
||||
|
||||
const bool isCLIENT;
|
||||
bool stop;
|
||||
bool stop, is_Admin;
|
||||
unsigned short port_connectedTo;
|
||||
std::string name, ip_connectedTo, joinTime;
|
||||
|
164
DezChat/ConnectionsStuff/tryconnector.cpp
Normal file
164
DezChat/ConnectionsStuff/tryconnector.cpp
Normal file
@@ -0,0 +1,164 @@
|
||||
#include "tryconnector.h"
|
||||
/*
|
||||
Connector::Connector()
|
||||
: returnValue(-1)
|
||||
{
|
||||
client.autoCleanUpInTheEnd = false;
|
||||
}
|
||||
|
||||
Connector::~Connector()
|
||||
{
|
||||
//std::cout << "~Connector()" << std::endl;
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) ) {
|
||||
std::cout << "Terminating Thread timeouted: " << __func__ << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int Connector::ConnectTo()
|
||||
{
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 0 : 1;
|
||||
}
|
||||
|
||||
int Connector::getReturnValue()
|
||||
{
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
void Connector::run()
|
||||
{
|
||||
returnValue = client.connectTo(client.getIpByName(ip), port);
|
||||
}
|
||||
*/
|
||||
|
||||
///----------------------------------------------------------------------------------------->
|
||||
|
||||
|
||||
TryConnector::TryConnector(void)
|
||||
: state(UNDEFINED)
|
||||
{
|
||||
client_.autoCleanUpInTheEnd = false;
|
||||
|
||||
}
|
||||
|
||||
TryConnector::~TryConnector()
|
||||
{
|
||||
//std::cout << "~TryConnector()" << std::endl;
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) )
|
||||
std::cout << "Terminating Thread timeouted: " << __func__ << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int TryConnector::tryConnectTo(std::string ip, unsigned short port)
|
||||
{
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
|
||||
//this->connector.ip = ip;
|
||||
//this->connector.port = port;
|
||||
this->ip = ip;
|
||||
this->port = port;
|
||||
|
||||
this->start();
|
||||
return this->isRunning() ? 0 : 1;
|
||||
}
|
||||
|
||||
|
||||
const client_TCP_Lib &TryConnector::client()
|
||||
{
|
||||
return client_;
|
||||
}
|
||||
|
||||
const STATE &TryConnector::getState()
|
||||
{
|
||||
return this->state;
|
||||
}
|
||||
|
||||
const std::string &TryConnector::getIp()
|
||||
{
|
||||
return ip;
|
||||
}
|
||||
|
||||
const unsigned short &TryConnector::getPort()
|
||||
{
|
||||
return port;
|
||||
}
|
||||
|
||||
|
||||
void TryConnector::run()
|
||||
{
|
||||
this->state = STATE::UNDEFINED;
|
||||
this->state = (client_.connectTo(ip, port, 200, 3) == 0) ? STATE::OK : STATE::UNDEFINED_ERROR;
|
||||
emit finished(this);
|
||||
return;
|
||||
|
||||
|
||||
/*
|
||||
this->state = STATE::UNDEFINED;
|
||||
if(connector.ConnectTo() != 0) {
|
||||
this->state = STATE::UNDEFINED_ERROR;
|
||||
|
||||
} else {
|
||||
unsigned timeout_HectSec = 200;
|
||||
// 3 Versuche bei Timeout
|
||||
for (int Try = 1; Try <= 3; ++Try) {
|
||||
|
||||
for (unsigned time = 1; time <= timeout_HectSec; ++time) {
|
||||
|
||||
if(connector.isRunning()) {
|
||||
usleep(10000); // sleep 0,01s
|
||||
if(time > 100)
|
||||
std::cout << ( "\33[2K\r" "Waited " + std::to_string(static_cast<double>(time) / 100 ) + "sec..." ) << std::flush;
|
||||
} else {
|
||||
this->state = (this->connector.getReturnValue() == 0) ? STATE::OK : STATE::UNDEFINED_ERROR;
|
||||
//std::cout << "Thread finished mit res = " << connector.getReturnValue() << std::endl;
|
||||
break;
|
||||
}
|
||||
|
||||
if(time == timeout_HectSec) {
|
||||
this->state = TIME_OUT_TRY_OUT;
|
||||
std::cout << "Connect to "<<connector.ip << ":" <<connector.port << " failed: TIMEOUT." << std::endl;
|
||||
|
||||
if(connector.isRunning()) {
|
||||
connector.quit();
|
||||
if( ! connector.wait(500) ) {
|
||||
connector.terminate();
|
||||
if( ! connector.wait(3000) )
|
||||
std::cout << "Terminating Connector Thread timeouted: " << __func__ << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(this->state != STATE::TIME_OUT_TRY_OUT)
|
||||
break;
|
||||
else {
|
||||
if(connector.ConnectTo() != 0) {
|
||||
this->state = STATE::UNDEFINED_ERROR;
|
||||
std::cout << "Failed to start Connector Thread" << std::endl;
|
||||
break;
|
||||
}
|
||||
std::cout << "WARNUNG: " << Try << ". Versuch von 3 bei TryConnect." << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
emit finished(this);
|
||||
*/
|
||||
}
|
@@ -12,10 +12,9 @@ enum STATE {
|
||||
OK = 0,
|
||||
UNDEFINED = 1,
|
||||
UNDEFINED_ERROR = 2,
|
||||
TIME_OUT_TRY_OUT = 3
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
class Connector : public QThread
|
||||
{
|
||||
@@ -36,7 +35,7 @@ private:
|
||||
int returnValue;
|
||||
|
||||
};
|
||||
|
||||
*/
|
||||
|
||||
class TryConnector: public QThread
|
||||
{
|
||||
@@ -48,15 +47,22 @@ public:
|
||||
|
||||
int tryConnectTo(std::string ip, unsigned short port);
|
||||
|
||||
|
||||
const STATE &getState();
|
||||
|
||||
const std::string &getIp();
|
||||
const unsigned short &getPort();
|
||||
const client_TCP_Lib &client();
|
||||
|
||||
|
||||
|
||||
private:
|
||||
void run();
|
||||
STATE state;
|
||||
Connector connector;
|
||||
//Connector connector;
|
||||
std::string ip;
|
||||
unsigned short port;
|
||||
client_TCP_Lib client_;
|
||||
|
||||
signals:
|
||||
void finished(TryConnector * who);
|
@@ -5,26 +5,45 @@
|
||||
#-------------------------------------------------
|
||||
|
||||
SOURCES += \
|
||||
connetionsmanager.cpp \
|
||||
peer.cpp \
|
||||
tryconnector.cpp \
|
||||
chatwidget.cpp
|
||||
HEADERS += connetionsmanager.h \
|
||||
peer.h \
|
||||
tryconnector.h \
|
||||
chatwidget.h
|
||||
ConnectionsStuff/connetionsmanager.cpp \
|
||||
ConnectionsStuff/peer.cpp \
|
||||
ConnectionsStuff/tryconnector.cpp \
|
||||
chatwidget.cpp \
|
||||
wormio_game/enemy.cpp \
|
||||
wormio_game/enemymanager.cpp \
|
||||
wormio_game/game.cpp \
|
||||
wormio_game/player.cpp \
|
||||
wormio_game/wormio_scene.cpp \
|
||||
wormio_game/wormpart.cpp
|
||||
|
||||
INCLUDEPATH += $$PWD/../My_LIB_TCP_V2/ \
|
||||
$$PWD/../My_LIB_TCP_SERVER_V2/
|
||||
HEADERS += \
|
||||
ConnectionsStuff/connetionsmanager.h \
|
||||
ConnectionsStuff/peer.h \
|
||||
ConnectionsStuff/tryconnector.h \
|
||||
chatwidget.h \
|
||||
wormio_game/enemy.h \
|
||||
wormio_game/enemymanager.h \
|
||||
wormio_game/game.h \
|
||||
wormio_game/player.h \
|
||||
wormio_game/wormio_graphicsview.h \
|
||||
wormio_game/wormio_scene.h \
|
||||
wormio_game/wormpart.h
|
||||
|
||||
HEADERS += $$PWD/../My_LIB_TCP_V2/my_tcp_lib.h \
|
||||
$$PWD/../My_LIB_TCP_SERVER_V2/server_tcp_lib.h
|
||||
SOURCES += $$PWD/../My_LIB_TCP_V2/my_tcp_lib.cpp \
|
||||
$$PWD/../My_LIB_TCP_SERVER_V2/server_tcp_lib.cpp
|
||||
INCLUDEPATH += $$PWD/../TCP_LIB_CLIENT_V2/ \
|
||||
$$PWD/../TCP_LIB_SERVER_V2/
|
||||
|
||||
HEADERS += $$PWD/../TCP_LIB_CLIENT_V2/my_tcp_lib.h \
|
||||
$$PWD/../TCP_LIB_SERVER_V2/server_tcp_lib.h
|
||||
SOURCES += $$PWD/../TCP_LIB_CLIENT_V2/my_tcp_lib.cpp \
|
||||
$$PWD/../TCP_LIB_SERVER_V2/server_tcp_lib.cpp
|
||||
|
||||
|
||||
QT += core gui
|
||||
|
||||
win32-msvc* {
|
||||
LIBS+= -lws2_32
|
||||
}
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
TARGET = DezChat
|
||||
@@ -57,3 +76,6 @@ FORMS += \
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
|
||||
RESOURCES += \
|
||||
resources.qrc
|
||||
|
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2020-04-04T20:29:56. -->
|
||||
<!-- Written by QtCreator 4.11.0, 2020-06-25T22:08:40. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{b70b24f1-46ad-4dd1-a8b9-3130fc5cbcc1}</value>
|
||||
<value type="QByteArray">{eb4bb7e5-aff6-46e2-a25b-e6924c782e77}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
@@ -64,17 +64,15 @@
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{f2adeb15-5e8d-4d85-a687-94c91141f754}</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{fa846b3f-39f5-424e-9853-7a4271f9e064}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-DezChat-Desktop-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Downloads/Qt/build-DezChat-Desktop-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
@@ -84,8 +82,6 @@
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
@@ -95,14 +91,12 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
@@ -112,36 +106,30 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-DezChat-Desktop-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Downloads/Qt/build-DezChat-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
@@ -151,14 +139,12 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
@@ -168,36 +154,30 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-DezChat-Desktop-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Downloads/Qt/build-DezChat-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
@@ -207,14 +187,12 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
@@ -224,34 +202,47 @@
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<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="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>
|
||||
@@ -266,6 +257,7 @@
|
||||
<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"/>
|
||||
@@ -293,12 +285,11 @@
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">DezChat</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Qt/DezChat/DezChat.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">DezChat.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Downloads/Qt/DezChat/DezChat.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/markus/Downloads/Qt/DezChat/DezChat.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
|
||||
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
@@ -306,217 +297,21 @@
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/markus/Qt/build-DezChat-Desktop-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt4</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt4</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{7ef5ec43-5dd3-4614-856e-b0a88843bee2}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-DezChat-Qt4-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-DezChat-Qt4-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<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>
|
||||
<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="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.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">DezChat</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Qt/DezChat/DezChat.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">DezChat.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/markus/Downloads/Qt/build-DezChat-Desktop-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">2</value>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,47 +0,0 @@
|
||||
#ifndef PEER_H
|
||||
#define PEER_H
|
||||
|
||||
#include "my_tcp_lib.h"
|
||||
#include "server_tcp_lib.h"
|
||||
|
||||
#include <QThread>
|
||||
|
||||
|
||||
class TryConnector: public QThread
|
||||
{
|
||||
public:
|
||||
enum STATE {
|
||||
UNDEFINED,
|
||||
CONNECTING,
|
||||
OK,
|
||||
UNKNOWN_ERROR,
|
||||
TIMEOUT
|
||||
};
|
||||
|
||||
|
||||
TryConnector();
|
||||
|
||||
int tryConnectTo(std::string ip, unsigned short port);
|
||||
STATE getState();
|
||||
std::string getIp();
|
||||
unsigned short getPort();
|
||||
|
||||
client_TCP_Lib client;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void run();
|
||||
std::string ip;
|
||||
unsigned short port;
|
||||
STATE state;
|
||||
|
||||
|
||||
signals:
|
||||
void finished();
|
||||
void startConnecting();
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // PEER_H
|
@@ -1,48 +0,0 @@
|
||||
#ifndef CONNETIONSMANAGER_H
|
||||
#define CONNETIONSMANAGER_H
|
||||
|
||||
#include "TryConnector.h"
|
||||
|
||||
#include <vector>
|
||||
#include <QThread>
|
||||
|
||||
class ConnetionsManager : public QThread
|
||||
{
|
||||
public:
|
||||
std::string replace(std::string str, std::string substr1, std::string substr2);
|
||||
struct PC {
|
||||
std::string ip;
|
||||
unsigned short port;
|
||||
};
|
||||
|
||||
|
||||
ConnetionsManager();
|
||||
int start(std::vector<PC> computers);
|
||||
|
||||
private:
|
||||
|
||||
TCP_SERVER * server;
|
||||
std::vector<TryConnector*> Connections;
|
||||
std::vector<PC> computers;
|
||||
|
||||
|
||||
|
||||
int startServer();
|
||||
int startTryConnectThreads();
|
||||
|
||||
void run();
|
||||
|
||||
|
||||
struct ThreadData {
|
||||
ThreadData(std::vector<Peer*> *clients) { this->clients = clients; }
|
||||
std::vector<Peer*> *clients;
|
||||
};
|
||||
|
||||
|
||||
|
||||
signals:
|
||||
void showMSG(QString msg);
|
||||
|
||||
};
|
||||
|
||||
#endif // CONNETIONSMANAGER_H
|
@@ -1,51 +0,0 @@
|
||||
#ifndef CONNETIONSMANAGER_H
|
||||
#define CONNETIONSMANAGER_H
|
||||
|
||||
#include "peer.h"
|
||||
#include "tryconnector.h"
|
||||
|
||||
#include <vector>
|
||||
#include <QThread>
|
||||
|
||||
class ConnetionsManager : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
struct PC {
|
||||
PC();
|
||||
PC(std::string ip, unsigned short port) : ip(ip), port(port) {}
|
||||
std::string ip;
|
||||
unsigned short port;
|
||||
};
|
||||
|
||||
|
||||
ConnetionsManager();
|
||||
int start(std::vector<PC> computers);
|
||||
|
||||
private:
|
||||
|
||||
TCP_SERVER * server;
|
||||
std::vector<Peer*> Connections;
|
||||
std::vector<PC> computers;
|
||||
|
||||
|
||||
void run();
|
||||
|
||||
|
||||
struct ThreadData {
|
||||
ThreadData(std::vector<Peer*> *clients) { this->clients = clients; }
|
||||
std::vector<Peer*> *clients;
|
||||
};
|
||||
|
||||
|
||||
|
||||
signals:
|
||||
void showMSG(QString msg);
|
||||
|
||||
public slots:
|
||||
void TryConnectorFinished(TryConnector * who);
|
||||
void TryConnectorStartedConnecting(TryConnector * who);
|
||||
|
||||
};
|
||||
|
||||
#endif // CONNETIONSMANAGER_H
|
@@ -1,103 +0,0 @@
|
||||
#include "connetionsmanager.h"
|
||||
|
||||
|
||||
ConnetionsManager::ConnetionsManager()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int ConnetionsManager::start_Thread(std::vector<ConnetionsManager::PC> computers)
|
||||
{
|
||||
this->computers = computers;
|
||||
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 1 : 0;
|
||||
}
|
||||
|
||||
|
||||
void ConnetionsManager::run()
|
||||
{
|
||||
/*
|
||||
* 1. Start Server
|
||||
* 2. Create in Loop Threads, which try to connect(QThread, which can emit signals && timeout system)
|
||||
* -> pushpack to vector
|
||||
* 3. Accept incomming connection with NOOOO reconnect request
|
||||
*
|
||||
*
|
||||
*Bei Start versucht jeder Mit allen eine Verbingung aufzubauen =>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
//Server Starten
|
||||
for (int i = 0; i < 6; ++i) {
|
||||
if(i == 5)
|
||||
return;
|
||||
if( server.startListening(computers.at(i).port) != 0 ) {
|
||||
std::cout << "Start Server failed:" << server.getLastError() << std::endl;
|
||||
// return;
|
||||
} else {
|
||||
computers.erase(computers.begin() + i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Start Try- Verbindungsaufbau
|
||||
for (unsigned pcID = 1; pcID < computers.size(); ++pcID) {
|
||||
TryConnector * newTryConnector = new TryConnector();
|
||||
if( newTryConnector->tryConnectTo(computers.at(pcID).ip, computers.at(pcID).port) ) {
|
||||
std::cout << "Tryconnect failed to: " << computers.at(pcID).ip << ":" << computers.at(pcID).port << std::endl;
|
||||
}
|
||||
//
|
||||
connect(newTryConnector, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
connect(newTryConnector, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Nur noch accepten
|
||||
while (true) {
|
||||
CLIENT newCLIENT;
|
||||
if( server.acceptClient(newCLIENT) != 0) {
|
||||
std::cout << "accept failed:" << server.getLastError() << std::endl;
|
||||
continue;
|
||||
}
|
||||
Peer * newPeer = new Peer(newCLIENT);
|
||||
Connections.push_back(newPeer);
|
||||
|
||||
std::cout << "Accpedted: " << newCLIENT.getIpAddress() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorFinished(TryConnector *who)
|
||||
{
|
||||
disconnect(who, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
emit showMSG(who->getState() == who->OK ? "OK" : "NON OK");
|
||||
std::cout << who->getIp() << ": State: " << who->getState() << std::endl;
|
||||
std::cout << who->getIp() << ": lError: " << who->client.getLastError() << std::endl;
|
||||
|
||||
if(who->getState() == who->OK) {
|
||||
Peer * newPeer = new Peer(who->client);
|
||||
Connections.push_back(newPeer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
delete who;
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorStartedConnecting(TryConnector *who)
|
||||
{
|
||||
connect(who, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
emit showMSG(who->getState() == who->CONNECTING ? "Connecting...." + QString::fromStdString("who->client.getLastError()") : "NON OK...");
|
||||
std::cout << "Starting connecting to: " << who->getIp() << std::endl;
|
||||
|
||||
}
|
@@ -1,108 +0,0 @@
|
||||
#include "connetionsmanager.h"
|
||||
|
||||
|
||||
ConnetionsManager::ConnetionsManager()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int ConnetionsManager::start_Thread(std::vector<ConnetionsManager::PC> computers)
|
||||
{
|
||||
this->computers = computers;
|
||||
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 1 : 0;
|
||||
}
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
void ConnetionsManager::run()
|
||||
{
|
||||
/*
|
||||
* 1. Start Server
|
||||
* 2. Create in Loop Threads, which try to connect(QThread, which can emit signals && timeout system)
|
||||
* -> pushpack to vector
|
||||
* 3. Accept incomming connection with NOOOO reconnect request
|
||||
*
|
||||
*
|
||||
*Bei Start versucht jeder Mit allen eine Verbingung aufzubauen =>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
//Server Starten
|
||||
for (unsigned i = 0; i < 6; ++i) {
|
||||
if(i == 5)
|
||||
return;
|
||||
if( server.startListening(computers.at(i).port) != 0 ) {
|
||||
std::cout << "Start Server failed:" << server.getLastError() << std::endl;
|
||||
// return;
|
||||
} else {
|
||||
std::cout << "Connected to: " << computers.at(i).ip << ":" << computers.at(i).port << std::endl;
|
||||
computers.erase(computers.begin() + i);
|
||||
for ( auto &e : computers)
|
||||
std::cout << " => Rest: " << e.ip << ":" << e.port << std::endl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Start Try- Verbindungsaufbau
|
||||
for (unsigned pcID = 0; pcID < computers.size(); ++pcID) {
|
||||
TryConnector * newTryConnector = new TryConnector();
|
||||
if( newTryConnector->tryConnectTo(computers.at(pcID).ip, computers.at(pcID).port) ) {
|
||||
std::cout << "Tryconnect failed to: " << computers.at(pcID).ip << ":" << computers.at(pcID).port << std::endl;
|
||||
}
|
||||
//
|
||||
connect(newTryConnector, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
connect(newTryConnector, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Nur noch accepten
|
||||
while (QApplication::exec()) {
|
||||
CLIENT newCLIENT;
|
||||
if( server.acceptClient(newCLIENT) != 0) {
|
||||
std::cout << "accept failed:" << server.getLastError() << std::endl;
|
||||
continue;
|
||||
}
|
||||
Peer * newPeer = new Peer(newCLIENT);
|
||||
Connections.push_back(newPeer);
|
||||
|
||||
std::cout << " -> Accpedted: " << newCLIENT.getIpAddress() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorFinished(TryConnector *who)
|
||||
{
|
||||
disconnect(who, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
emit showMSG(who->getState() == who->OK ? "OK" : "NON OK");
|
||||
//std::cout << who->getIp() << ": State: " << who->getState() << std::endl;
|
||||
std::cout << who->getIp() << ": lError: " << who->client.getLastError() << std::endl;
|
||||
|
||||
if(who->getState() == who->OK) {
|
||||
Peer * newPeer = new Peer(who->client);
|
||||
Connections.push_back(newPeer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
delete who;
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorStartedConnecting(TryConnector *who)
|
||||
{
|
||||
connect(who, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
emit showMSG(who->getState() == who->CONNECTING ? "Connecting...." + QString::fromStdString("who->client.getLastError()") : "NON OK...");
|
||||
|
||||
//std::cout << "Starting connecting to: " << who->getIp() << std::endl;
|
||||
|
||||
}
|
@@ -1,126 +0,0 @@
|
||||
#include "connetionsmanager.h"
|
||||
|
||||
|
||||
ConnetionsManager::ConnetionsManager()
|
||||
: stop(false)
|
||||
{
|
||||
server = new TCP_SERVER();
|
||||
}
|
||||
|
||||
ConnetionsManager::~ConnetionsManager()
|
||||
{
|
||||
stop = true;
|
||||
if(this->isRunning()) {
|
||||
//this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
//this->terminate();
|
||||
if( ! this->wait(10000) ) {
|
||||
std::cout << " Stop connectionmanager thread failed" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
delete server;
|
||||
|
||||
for( auto &e : Connections)
|
||||
delete e;
|
||||
}
|
||||
|
||||
int ConnetionsManager::start_Thread(std::vector<ConnetionsManager::PC> computers)
|
||||
{
|
||||
this->computers = computers;
|
||||
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 1 : 0;
|
||||
}
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
void ConnetionsManager::run()
|
||||
{
|
||||
/*
|
||||
* 1. Start Server
|
||||
* 2. Create in Loop Threads, which try to connect(QThread, which can emit signals && timeout system)
|
||||
* -> pushpack to vector
|
||||
* 3. Accept incomming connection with NOOOO reconnect request
|
||||
*
|
||||
*
|
||||
*Bei Start versucht jeder Mit allen eine Verbingung aufzubauen =>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
//Server Starten
|
||||
for (unsigned i = 0; i < 6; ++i) {
|
||||
if(i == 5)
|
||||
return;
|
||||
if( server->startListening(computers.at(i).port) != 0 ) {
|
||||
std::cout << "Start Server failed:" << server->getLastError() << std::endl;
|
||||
// return;
|
||||
} else {
|
||||
std::cout << "Connected to: " << computers.at(i).ip << ":" << computers.at(i).port << std::endl;
|
||||
computers.erase(computers.begin() + i);
|
||||
for ( auto &e : computers)
|
||||
std::cout << " => Rest: " << e.ip << ":" << e.port << std::endl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Start Try- Verbindungsaufbau
|
||||
for (unsigned pcID = 0; pcID < computers.size(); ++pcID) {
|
||||
TryConnector * newTryConnector = new TryConnector();
|
||||
if( newTryConnector->tryConnectTo(computers.at(pcID).ip, computers.at(pcID).port) ) {
|
||||
std::cout << "Tryconnect failed to: " << computers.at(pcID).ip << ":" << computers.at(pcID).port << std::endl;
|
||||
}
|
||||
//
|
||||
connect(newTryConnector, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
connect(newTryConnector, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Nur noch accepten
|
||||
while ( ! stop ) {
|
||||
CLIENT newCLIENT;
|
||||
if( server->acceptClient(newCLIENT) != 0) {
|
||||
std::cout << "accept failed:" << server->getLastError() << std::endl;
|
||||
continue;
|
||||
}
|
||||
Peer * newPeer = new Peer(newCLIENT);
|
||||
Connections.push_back(newPeer);
|
||||
|
||||
std::cout << " -> Accpedted: " << newCLIENT.getIpAddress() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorFinished(TryConnector *who)
|
||||
{
|
||||
disconnect(who, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
emit showMSG(who->getState() == who->OK ? "OK" : "NON OK");
|
||||
//std::cout << who->getIp() << ": State: " << who->getState() << std::endl;
|
||||
std::cout << who->getIp() << ": lError: " << who->client.getLastError() << std::endl;
|
||||
|
||||
if(who->getState() == who->OK) {
|
||||
Peer * newPeer = new Peer(who->client);
|
||||
Connections.push_back(newPeer);
|
||||
}
|
||||
|
||||
delete who;
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorStartedConnecting(TryConnector *who)
|
||||
{
|
||||
connect(who, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
emit showMSG(who->getState() == who->CONNECTING ? "Connecting...." + QString::fromStdString("who->client.getLastError()") : "NON OK...");
|
||||
|
||||
//std::cout << "Starting connecting to: " << who->getIp() << std::endl;
|
||||
|
||||
}
|
@@ -1,147 +0,0 @@
|
||||
#include "connetionsmanager.h"
|
||||
|
||||
|
||||
ConnetionsManager::ConnetionsManager()
|
||||
: stop(false)
|
||||
{
|
||||
server = new TCP_SERVER();
|
||||
}
|
||||
|
||||
ConnetionsManager::~ConnetionsManager()
|
||||
{
|
||||
stop = true;
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) ) {
|
||||
std::cout << " Stop connectionmanager thread failed" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( ! server->stopListening() ) {
|
||||
std::cout << "Stop server failed" << std::endl;
|
||||
}
|
||||
|
||||
delete server;
|
||||
|
||||
for( auto &e : Connections)
|
||||
delete e;
|
||||
}
|
||||
|
||||
int ConnetionsManager::start_Thread(std::vector<ConnetionsManager::PC> computers)
|
||||
{
|
||||
this->computers = computers;
|
||||
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 1 : 0;
|
||||
}
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
void ConnetionsManager::run()
|
||||
{
|
||||
/*
|
||||
* 1. Start Server
|
||||
* 2. Create in Loop Threads, which try to connect(QThread, which can emit signals && timeout system)
|
||||
* -> pushpack to vector
|
||||
* 3. Accept incomming connection with NOOOO reconnect request
|
||||
*
|
||||
*
|
||||
*Bei Start versucht jeder Mit allen eine Verbingung aufzubauen =>
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
//Server Starten
|
||||
for (unsigned i = 0; i < 6; ++i) {
|
||||
if(i == 5)
|
||||
return;
|
||||
if( server->startListening(computers.at(i).port) != 0 ) {
|
||||
std::cout << "Start Server failed:" << server->getLastError() << std::endl;
|
||||
// return;
|
||||
} else {
|
||||
emit showMSG("SERVER: " + QString::fromStdString(computers.at(i).ip) + ":" + QString::number(computers.at(i).port));
|
||||
|
||||
std::cout << "Connected to: " << computers.at(i).ip << ":" << computers.at(i).port << std::endl;
|
||||
computers.erase(computers.begin() + i);
|
||||
for ( auto &e : computers)
|
||||
std::cout << " => Rest: " << e.ip << ":" << e.port << std::endl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Start Try- Verbindungsaufbau
|
||||
for (unsigned pcID = 0; pcID < computers.size(); ++pcID) {
|
||||
TryConnector * newTryConnector = new TryConnector();
|
||||
if( newTryConnector->tryConnectTo(computers.at(pcID).ip, computers.at(pcID).port) ) {
|
||||
std::cout << "Tryconnect failed to: " << computers.at(pcID).ip << ":" << computers.at(pcID).port << std::endl;
|
||||
}
|
||||
//
|
||||
connect(newTryConnector, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
connect(newTryConnector, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Nur noch accepten
|
||||
while ( ! stop ) {
|
||||
CLIENT newCLIENT;
|
||||
if( server->acceptClient(newCLIENT) != 0) {
|
||||
std::cout << "accept failed:" << server->getLastError() << std::endl;
|
||||
continue;
|
||||
}
|
||||
Peer * newPeer = new Peer(newCLIENT);
|
||||
connect(newPeer, SIGNAL(recvdMessage(Peer*,QString)), this, SLOT(MessageWeiterLeitung(Peer*,QString)));
|
||||
Connections.push_back(newPeer);
|
||||
|
||||
emit ConnectionsListChanged();
|
||||
emit showMSG(QString::fromStdString(" -> New Client: " + newCLIENT.getIpAddress() + ":" + std::to_string(newCLIENT.getPort())));
|
||||
|
||||
std::cout << " -> Accpedted: " << newCLIENT.getIpAddress() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorFinished(TryConnector *who)
|
||||
{
|
||||
disconnect(who, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
emit showMSG(QString::fromStdString(who->client.getLastError()));
|
||||
|
||||
//std::cout << who->getIp() << ": State: " << who->getState() << std::endl;
|
||||
std::cout << who->getIp() << ": lError: " << who->client.getLastError() << std::endl;
|
||||
|
||||
if(who->getState() == who->OK) {
|
||||
Peer * newPeer = new Peer(who->client);
|
||||
connect(newPeer, SIGNAL(recvdMessage(Peer*,QString)), this, SLOT(MessageWeiterLeitung(Peer*,QString)));
|
||||
|
||||
Connections.push_back(newPeer);
|
||||
emit ConnectionsListChanged();
|
||||
emit showMSG(QString::fromStdString(" -> New Client: " + who->getIp() + ":" + std::to_string(who->getPort())));
|
||||
|
||||
}
|
||||
|
||||
delete who;
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorStartedConnecting(TryConnector *who)
|
||||
{
|
||||
connect(who, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
//emit showMSG(who->getState() == who->CONNECTING ? "Connecting...." + QString::fromStdString("who->client.getLastError()") : "NON OK...");
|
||||
|
||||
//std::cout << "Starting connecting to: " << who->getIp() << std::endl;
|
||||
|
||||
}
|
||||
|
||||
void ConnetionsManager::MessageWeiterLeitung(Peer *who, QString msg)
|
||||
{
|
||||
emit sendMessageWeiterLeitung(who, msg);
|
||||
}
|
@@ -1,154 +0,0 @@
|
||||
#include "connetionsmanager.h"
|
||||
|
||||
|
||||
ConnetionsManager::ConnetionsManager()
|
||||
: stop(false)
|
||||
{
|
||||
server = new TCP_SERVER();
|
||||
server->autoCleanUpInTheEnd = false;
|
||||
}
|
||||
|
||||
ConnetionsManager::~ConnetionsManager()
|
||||
{
|
||||
stop = true;
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) ) {
|
||||
std::cout << " Stop connectionmanager thread failed" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( ! server->stopListening() ) {
|
||||
std::cout << "Stop server failed" << std::endl;
|
||||
}
|
||||
|
||||
delete server;
|
||||
|
||||
for( auto &e : Connections)
|
||||
delete e;
|
||||
}
|
||||
|
||||
int ConnetionsManager::start_Thread(std::vector<ConnetionsManager::PC> computers)
|
||||
{
|
||||
this->computers = computers;
|
||||
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 1 : 0;
|
||||
}
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
void ConnetionsManager::run()
|
||||
{
|
||||
//bei schule dann anderes.. ip anders port same
|
||||
|
||||
if(/*schule*/ false ) {
|
||||
while ( ! server->startListening(computers.at(0).port) ) {
|
||||
emit showMSG("Error: Server konnte nicht gestartet werden: '"
|
||||
+ QString::fromStdString(server->getLastError())
|
||||
+ "' -> Läuft das Program vielleicht bereits? - Retry in 10 Sekunden.");
|
||||
sleep(10);
|
||||
} computers.erase(computers.begin());
|
||||
|
||||
} else {
|
||||
//Server Starten
|
||||
for ( unsigned i = 0; i < computers.size(); ++i) {
|
||||
if( server->startListening(computers.at(i).port) != 0 ) {
|
||||
std::cout << "Start Server failed:" << server->getLastError() << std::endl;
|
||||
if(i == )
|
||||
} else {
|
||||
emit showMSG("SERVER: " + QString::fromStdString(computers.at(i).ip) + ":" + QString::number(computers.at(i).port));
|
||||
std::cout << "Connected to: " << computers.at(i).ip << ":" << computers.at(i).port << std::endl;
|
||||
computers.erase(computers.begin() + i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Start Try- Verbindungsaufbau
|
||||
for (unsigned pcID = 0; pcID < computers.size(); ++pcID) {
|
||||
TryConnector * newTryConnector = new TryConnector();
|
||||
if( newTryConnector->tryConnectTo(computers.at(pcID).ip, computers.at(pcID).port) ) {
|
||||
std::cout << "Tryconnect failed to: " << computers.at(pcID).ip << ":" << computers.at(pcID).port << std::endl;
|
||||
}
|
||||
//
|
||||
connect(newTryConnector, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
connect(newTryConnector, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Nur noch accepten
|
||||
while ( ! stop ) {
|
||||
CLIENT newCLIENT;
|
||||
newCLIENT.autoCleanUpInTheEnd = false; // not auto clossocket in destruktor
|
||||
|
||||
if( server->acceptClient(newCLIENT) != 0) {
|
||||
std::cout << "accept failed:" << server->getLastError() << std::endl;
|
||||
continue;
|
||||
}
|
||||
Peer * newPeer = new Peer(newCLIENT);
|
||||
connect(newPeer, SIGNAL(recvdMessage(Peer*,QString)), this, SLOT(MessageWeiterLeitung(Peer*,QString)));
|
||||
Connections.push_back(newPeer);
|
||||
if( newPeer->startReciver() != 0 ) {
|
||||
std::cout << "Start recver from pper failed" << std::endl;
|
||||
}
|
||||
|
||||
emit ConnectionsListChanged();
|
||||
emit showMSG(QString::fromStdString(" -> New Client: " + newCLIENT.getIpAddress() + ":" + std::to_string(newCLIENT.getPort())));
|
||||
|
||||
std::cout << " -> Accpedted: " << newCLIENT.getIpAddress() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorFinished(TryConnector *who)
|
||||
{
|
||||
disconnect(who, SIGNAL(finished(TryConnector*)), this, SLOT(TryConnectorFinished(TryConnector*)));
|
||||
emit showMSG(QString::fromStdString(who->client.getLastError()));
|
||||
|
||||
//std::cout << who->getIp() << ": State: " << who->getState() << std::endl;
|
||||
std::cout << who->getIp() << ": lError: " << who->client.getLastError() << std::endl;
|
||||
|
||||
if(who->getState() == who->OK) {
|
||||
Peer * newPeer = new Peer(who->client);
|
||||
connect(newPeer, SIGNAL(recvdMessage(Peer*,QString)), this, SLOT(MessageWeiterLeitung(Peer*,QString)));
|
||||
if( newPeer->startReciver() != 0 ) {
|
||||
std::cout << "Start recver from pper failed" << std::endl;
|
||||
}
|
||||
|
||||
Connections.push_back(newPeer);
|
||||
emit ConnectionsListChanged();
|
||||
emit showMSG(QString::fromStdString(" -> New Client: " + who->getIp() + ":" + std::to_string(who->getPort())));
|
||||
|
||||
}
|
||||
|
||||
delete who;
|
||||
}
|
||||
|
||||
void ConnetionsManager::TryConnectorStartedConnecting(TryConnector *who)
|
||||
{
|
||||
connect(who, SIGNAL(startConnecting(TryConnector*)), this, SLOT(TryConnectorStartedConnecting(TryConnector*)));
|
||||
//emit showMSG(who->getState() == who->CONNECTING ? "Connecting...." + QString::fromStdString("who->client.getLastError()") : "NON OK...");
|
||||
|
||||
//std::cout << "Starting connecting to: " << who->getIp() << std::endl;
|
||||
|
||||
}
|
||||
|
||||
void ConnetionsManager::MessageWeiterLeitung(Peer *who, QString msg)
|
||||
{
|
||||
emit sendMessageWeiterLeitung(who, msg);
|
||||
}
|
@@ -1,36 +0,0 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(&manager, SIGNAL(showMSG(QString)), this, SLOT(printInfo(QString)));
|
||||
|
||||
|
||||
std::vector<ConnetionsManager::PC> pcs;
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4000));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4001));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4002));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4003));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4004));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4005));
|
||||
|
||||
manager.start(pcs);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void MainWindow::on_lineEdit_returnPressed()
|
||||
{
|
||||
printInfo(ui->lineEdit->text());
|
||||
}
|
||||
|
||||
void MainWindow::printInfo(QString str)
|
||||
{
|
||||
ui->statusBar->showMessage(str, 4000);
|
||||
}
|
@@ -1,49 +0,0 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow), manager(new ConnetionsManager)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(manager, SIGNAL(showMSG(QString)), this, SLOT(printInfo(QString)));
|
||||
connect(manager, SIGNAL(ConnectionsListChanged()), this, SLOT(updateClientList()));
|
||||
|
||||
|
||||
std::vector<ConnetionsManager::PC> pcs;
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4200));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4201));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4202));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4203));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4204));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4205));
|
||||
|
||||
if( ! manager->start_Thread(pcs) )
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete manager;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::printInfo(QString str)
|
||||
{
|
||||
ui->chat->append(str + "\n");
|
||||
std::cout << "add: " << str.toStdString() << std::endl;
|
||||
}
|
||||
|
||||
void MainWindow::updateClientList()
|
||||
{
|
||||
this->ui->Connections->clear();
|
||||
for( auto &e : manager->Connections)
|
||||
this->ui->Connections->addItem(QString("<PeerName>@" + QString::fromStdString(e->getIp()) + ":" + QString::number(e->getPort())));
|
||||
}
|
||||
|
||||
void MainWindow::on_inputLine_returnPressed()
|
||||
{
|
||||
printInfo(ui->inputLine->text());
|
||||
ui->inputLine->clear();
|
||||
}
|
@@ -1,66 +0,0 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow), manager(new ConnetionsManager)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(manager, SIGNAL(showMSG(QString)), this, SLOT(printInfo(QString)));
|
||||
connect(manager, SIGNAL(ConnectionsListChanged()), this, SLOT(updateClientList()));
|
||||
connect(manager, SIGNAL(sendMessageWeiterLeitung(Peer *,QString)), this, SLOT(recvedMSG(Peer *,QString)));
|
||||
|
||||
|
||||
std::vector<ConnetionsManager::PC> pcs;
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4000));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4001));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4002));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4003));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4004));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4005));
|
||||
|
||||
if( ! manager->start_Thread(pcs) )
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete manager;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::printInfo(QString str)
|
||||
{
|
||||
ui->chat->append("<PROGRAM>: " + str);
|
||||
std::cout << "add: " << str.toStdString() << std::endl;
|
||||
}
|
||||
|
||||
void MainWindow::recvedMSG(Peer *who, QString msg)
|
||||
{
|
||||
ui->chat->append(QString::fromStdString("<" + who->getName() + ">: ") + msg);
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::updateClientList()
|
||||
{
|
||||
this->ui->Connections->clear();
|
||||
for( auto &e : manager->Connections)
|
||||
this->ui->Connections->addItem(QString("<PeerName>@" + QString::fromStdString(e->getIp()) + ":" + QString::number(e->getPort())));
|
||||
}
|
||||
|
||||
void MainWindow::on_inputLine_returnPressed()
|
||||
{
|
||||
ui->chat->append("<ICH>: " + ui->inputLine->text());
|
||||
|
||||
//sending....
|
||||
|
||||
for (auto &e : manager->Connections) {
|
||||
if( e->send_to(ui->inputLine->text()) <= 0) {
|
||||
std::cout << "sendfailed: " << e->getLastError() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
ui->inputLine->clear();
|
||||
|
||||
}
|
@@ -1,68 +0,0 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow), manager(new ConnetionsManager)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
connect(manager, SIGNAL(showMSG(QString)), this, SLOT(printInfo(QString)));
|
||||
connect(manager, SIGNAL(ConnectionsListChanged()), this, SLOT(updateClientList()));
|
||||
connect(manager, SIGNAL(sendMessageWeiterLeitung(Peer *,QString)), this, SLOT(recvedMSG(Peer *,QString)));
|
||||
|
||||
|
||||
std::vector<ConnetionsManager::PC> pcs;
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4000));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4001));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4002));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4003));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4004));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4005));
|
||||
|
||||
if( ! manager->start_Thread(pcs) )
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete manager;
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::printInfo(QString str)
|
||||
{
|
||||
ui->chat->append("<PROGRAM>: " + str);
|
||||
std::cout << "add: " << str.toStdString() << std::endl;
|
||||
}
|
||||
|
||||
void MainWindow::recvedMSG(Peer *who, QString msg)
|
||||
{
|
||||
ui->chat->append(QString::fromStdString("<" + who->getName() + ">: ") + msg);
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::updateClientList()
|
||||
{
|
||||
this->ui->Connections->clear();
|
||||
for( auto &e : manager->Connections)
|
||||
this->ui->Connections->addItem(QString("<PeerName>@" + QString::fromStdString(e->getIp()) + ":" + QString::number(e->getPort())));
|
||||
}
|
||||
|
||||
void MainWindow::on_inputLine_returnPressed()
|
||||
{
|
||||
ui->chat->append("<ICH>: " + ui->inputLine->text());
|
||||
|
||||
//sending....
|
||||
|
||||
for (auto &e : manager->Connections) {
|
||||
if( e->send_to(ui->inputLine->text()) <= 0) {
|
||||
perror("sendfailed");
|
||||
std::cout << "sendfailed: " << e->getLastError() << std::endl;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
ui->inputLine->clear();
|
||||
|
||||
}
|
@@ -1,18 +0,0 @@
|
||||
#include "peer.h"
|
||||
|
||||
Peer::Peer(CLIENT cli)
|
||||
: isCLIENT(true)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Peer::Peer(client_TCP_Lib cli)
|
||||
: isCLIENT(true)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Peer::run()
|
||||
{
|
||||
|
||||
}
|
@@ -1,23 +0,0 @@
|
||||
#ifndef PEER_H
|
||||
#define PEER_H
|
||||
|
||||
#include "my_tcp_lib.h"
|
||||
#include "server_tcp_lib.h"
|
||||
|
||||
#include <QThread>
|
||||
|
||||
|
||||
class Peer : QThread
|
||||
{
|
||||
public:
|
||||
Peer(CLIENT cli);
|
||||
Peer(client_TCP_Lib cli);
|
||||
const bool isCLIENT;
|
||||
|
||||
|
||||
|
||||
private:
|
||||
void run();
|
||||
};
|
||||
|
||||
#endif // PEER_H
|
@@ -1,47 +0,0 @@
|
||||
#ifndef TRYCONNECTOR_H
|
||||
#define TRYCONNECTOR_H
|
||||
|
||||
#include "my_tcp_lib.h"
|
||||
#include "server_tcp_lib.h"
|
||||
|
||||
#include <QThread>
|
||||
|
||||
class TryConnector: public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum STATE {
|
||||
UNDEFINED,
|
||||
CONNECTING,
|
||||
OK,
|
||||
UNKNOWN_ERROR,
|
||||
TIMEOUT
|
||||
};
|
||||
|
||||
|
||||
TryConnector();
|
||||
|
||||
int tryConnectTo(std::string ip, unsigned short port);
|
||||
STATE getState();
|
||||
std::string getIp();
|
||||
unsigned short getPort();
|
||||
|
||||
client_TCP_Lib client;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void run();
|
||||
std::string ip;
|
||||
unsigned short port;
|
||||
STATE state;
|
||||
|
||||
|
||||
signals:
|
||||
void finished(TryConnector * who);
|
||||
void startConnecting(TryConnector * who);
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // TRYCONNECTOR_H
|
0
DezChat/README.md
Normal file
0
DezChat/README.md
Normal file
@@ -11,8 +11,7 @@ ChatWidget::ChatWidget(QWidget *widget)
|
||||
|
||||
}
|
||||
|
||||
|
||||
void ChatWidget::addMsgOldStyle(QString msg, const Peer *who, Qt::Alignment alignment, const QColor &color)
|
||||
void ChatWidget::addMsg(QString msg, Qt::Alignment alignment, const QColor &color, const Peer *colorByPeer)
|
||||
{
|
||||
if (msg.isEmpty())
|
||||
return;
|
||||
@@ -22,7 +21,7 @@ void ChatWidget::addMsgOldStyle(QString msg, const Peer *who, Qt::Alignment alig
|
||||
|
||||
//save old color + set new color
|
||||
QColor color_ = this->textColor();
|
||||
this->setTextColor( (color == Qt::white) ? getColorByPeer(who) : color );
|
||||
this->setTextColor( (colorByPeer) ? getColorByPeer(colorByPeer) : color );
|
||||
|
||||
//print msg + set aligment
|
||||
this->append(msg);
|
||||
@@ -31,51 +30,19 @@ void ChatWidget::addMsgOldStyle(QString msg, const Peer *who, Qt::Alignment alig
|
||||
//set old color + scroll down
|
||||
this->setTextColor(color_);
|
||||
this->verticalScrollBar()->setValue(this->verticalScrollBar()->maximum());
|
||||
|
||||
}
|
||||
|
||||
void ChatWidget::addMsg(QString msg, Qt::Alignment alignment, const QColor &color)
|
||||
void ChatWidget::addSenderNameAndMSG(const Peer *who, QString msg, QString cusomMsg)
|
||||
{
|
||||
if (msg.isEmpty())
|
||||
return;
|
||||
|
||||
//Wichtig, da sonst die ausgewählte stelle gefärbt und verschoben wird
|
||||
this->moveCursor(QTextCursor::End);
|
||||
|
||||
|
||||
//print msg + set aligment
|
||||
this->append(msg);
|
||||
this->setAlignment( alignment );
|
||||
|
||||
//set default QTextFormat
|
||||
this->moveCursor(QTextCursor::End);
|
||||
QTextCursor cursor(this->textCursor());
|
||||
cursor.select(QTextCursor::SelectionType::LineUnderCursor);
|
||||
cursor.setCharFormat(QTextCharFormat());
|
||||
|
||||
this->moveCursor(QTextCursor::End);
|
||||
moveCursor(QTextCursor::MoveOperation::Up);
|
||||
|
||||
//save old color + set new color
|
||||
QColor color_ = this->textColor();
|
||||
this->setTextColor( color );
|
||||
|
||||
moveCursor(QTextCursor::MoveOperation::End);
|
||||
|
||||
//set old color + scroll down
|
||||
this->setTextColor(color_);
|
||||
this->verticalScrollBar()->setValue(this->verticalScrollBar()->maximum());
|
||||
|
||||
}
|
||||
|
||||
void ChatWidget::addSenderName(const Peer *who, QString customText)
|
||||
{
|
||||
this->moveCursor(QTextCursor::End);
|
||||
///---->Name + Time
|
||||
QColor color_ = this->textColor();
|
||||
this->setTextColor( getColorByPeer(who) );
|
||||
|
||||
//print msg + set aligment
|
||||
this->append(QTime::currentTime().toString("hh:mm") + ((who) ? (" ~" + who->getName()) : " Du") + customText +":");
|
||||
this->append(QTime::currentTime().toString("hh:mm") + ((who) ? (" ~" + who->getName()) : " Du") + cusomMsg +":");
|
||||
this->setAlignment( (who) ? Qt::AlignLeft : Qt::AlignRight );
|
||||
|
||||
this->moveCursor(QTextCursor::End);
|
||||
@@ -88,22 +55,31 @@ void ChatWidget::addSenderName(const Peer *who, QString customText)
|
||||
|
||||
//set old color + scroll down
|
||||
this->setTextColor(color_);
|
||||
///<----
|
||||
|
||||
///---> Message
|
||||
//print msg + set aligment
|
||||
this->append(msg);
|
||||
|
||||
//set default QTextFormat
|
||||
this->moveCursor(QTextCursor::End);
|
||||
cursor.select(QTextCursor::SelectionType::LineUnderCursor);
|
||||
cursor.setCharFormat(QTextCharFormat());
|
||||
|
||||
///<----
|
||||
|
||||
this->verticalScrollBar()->setValue(this->verticalScrollBar()->maximum());
|
||||
}
|
||||
|
||||
|
||||
QColor ChatWidget::getColorByPeer(const Peer *peer)
|
||||
{
|
||||
if( ! colorMap.contains(peer) )
|
||||
setNewColorToPeer(peer);
|
||||
return colorMap[peer];
|
||||
return ( colorMap.contains(peer) ) ? colorMap[peer] : setNewColorToPeer(peer);
|
||||
}
|
||||
|
||||
void ChatWidget::setNewColorToPeer(const Peer *peer)
|
||||
QColor ChatWidget::setNewColorToPeer(const Peer *peer)
|
||||
{
|
||||
size_t ColorListLength = (sizeof(colorList)/sizeof(*colorList));
|
||||
colorMap.insert(peer, colorList[ ( colorCounter % ColorListLength ) ] );
|
||||
colorCounter++;
|
||||
return colorMap.insert(peer, colorList[ ( ( colorCounter ++ ) % (sizeof(colorList)/sizeof(*colorList)) ) ] ).value();
|
||||
}
|
||||
|
||||
|
||||
|
@@ -5,7 +5,7 @@
|
||||
#include <QMap>
|
||||
#include <QScrollBar>
|
||||
|
||||
#include "peer.h"
|
||||
#include "ConnectionsStuff/peer.h"
|
||||
|
||||
|
||||
class ChatWidget : public QTextEdit
|
||||
@@ -13,14 +13,13 @@ class ChatWidget : public QTextEdit
|
||||
Q_OBJECT
|
||||
public:
|
||||
ChatWidget(QWidget * widget);
|
||||
void addMsgOldStyle(QString msg, const Peer *who,Qt::Alignment alignment = Qt::AlignLeft, const QColor &color = Qt::white);
|
||||
void addMsg(QString msg, Qt::Alignment alignment = Qt::AlignLeft, const QColor &color = Qt::black);
|
||||
void addSenderName(const Peer *who, QString customText = "");
|
||||
void addMsg(QString msg, Qt::Alignment alignment = Qt::AlignLeft, const QColor &color = Qt::black, const Peer *colorByPeer = nullptr);
|
||||
void addSenderNameAndMSG(const Peer *who, QString msg, QString customText = "");
|
||||
|
||||
QColor getColorByPeer(const Peer *peer);
|
||||
|
||||
private:
|
||||
void setNewColorToPeer(const Peer *peer);
|
||||
QColor setNewColorToPeer(const Peer *peer);
|
||||
|
||||
const QColor colorList[14] = { Qt::black, Qt::blue, Qt::darkBlue, Qt::green, Qt::darkGreen,
|
||||
Qt::darkCyan, Qt::red, Qt::darkRed,
|
||||
|
@@ -17,19 +17,35 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
|
||||
if(/* DISABLES CODE: Schul-Version */ Port_Home_Version) {
|
||||
for (unsigned short i = 0; i < 32; ++i)
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 4100 + i));
|
||||
pcs.push_back(ConnetionsManager::PC("127.0.0.1", 5000 + i));
|
||||
} else {
|
||||
pcs.push_back(ConnetionsManager::PC("SERVER_PORT", 4000));
|
||||
for (int i = 0; i < 34; ++i)
|
||||
pcs.push_back(ConnetionsManager::PC("CR01-PC" + std::string((i < 10) ? "0" : "") + std::to_string(i), 4000));
|
||||
}
|
||||
pcs.push_back(ConnetionsManager::PC("SERVER_PORT", 5000));
|
||||
for (int i = 0; i < 35; ++i) {
|
||||
pcs.push_back(ConnetionsManager::PC("CR01-PC" + std::string((i < 10) ? "0" : "") + std::to_string(i), 5000));
|
||||
//pcs.push_back(ConnetionsManager::PC("CR02-PC" + std::string((i < 10) ? "0" : "") + std::to_string(i), 5000));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if( ! manager->start_Thread(Port_Home_Version, pcs) )
|
||||
exit(-1);
|
||||
updateClientList();
|
||||
|
||||
timerID = startTimer(100);
|
||||
timerID = startTimer(100); // 100
|
||||
|
||||
|
||||
//------------------>Game View
|
||||
|
||||
game = new Game(this);
|
||||
|
||||
game->hide();
|
||||
|
||||
|
||||
this->joinGame();
|
||||
|
||||
//setMouseTracking(true);
|
||||
//view.scene->installEventFilter(this);
|
||||
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
@@ -40,10 +56,11 @@ MainWindow::~MainWindow()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void MainWindow::timerEvent(QTimerEvent *)
|
||||
void MainWindow::timerEvent(QTimerEvent * e)
|
||||
{
|
||||
manager->sendtoAllPeers("PING=" + QString::number(manager->getConnectionList().size()) );
|
||||
timerForWarningMSG++;
|
||||
game->player->Worm.at(0)->timerEvent(e);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,18 +81,13 @@ void MainWindow::recvedMSG(Peer *who, QString msg)
|
||||
wrongClientCountCounter++;
|
||||
if(timerForWarningMSG > 100 && (timerForWarningMSG = 0) == 0)
|
||||
if(wrongClientCountCounter > 10 && (wrongClientCountCounter = 0) == 0)
|
||||
ui->chat->addMsg(QString::fromStdString("<WARNUNG> Anzahl Verbindungen stimmt nicht überein...Bitte Starte das Programm neu."), Qt::AlignCenter, "orange" );
|
||||
|
||||
ui->chat->addMsg("<WARNUNG> Anzahl Verbindungen stimmt nicht überein...Bitte Starte das Programm neu.", Qt::AlignCenter, "orange" );
|
||||
|
||||
} else if(what == "MSG") {
|
||||
//ui->chat->append(QString::fromStdString("<" + who->name + ">: " + value) );
|
||||
//std::cout << "Recied MSG: " << value << std::endl;
|
||||
if(oldPrintStyle)
|
||||
ui->chat->addMsgOldStyle( who->getFullName() + " " + QString::fromStdString(value), who );
|
||||
else {
|
||||
ui->chat->addSenderName(who);
|
||||
ui->chat->addMsg(QString::fromStdString(value));
|
||||
}
|
||||
ui->chat->addMsg( who->getFullName() + " " + QString::fromStdString(value), Qt::AlignLeft, nullptr, who );
|
||||
else
|
||||
ui->chat->addSenderNameAndMSG(who, QString::fromStdString(value));
|
||||
|
||||
} else if(what == "JOINED") {
|
||||
who->setName(value);
|
||||
@@ -90,12 +102,24 @@ void MainWindow::recvedMSG(Peer *who, QString msg)
|
||||
updateClientList();
|
||||
|
||||
} else if(what == "PRIVATE_MSG") {
|
||||
if(oldPrintStyle)
|
||||
ui->chat->addMsgOldStyle( "</MSG> " + who->getFullName() + QString::fromStdString(value), who );
|
||||
else {
|
||||
ui->chat->addSenderName(who, " > flüstert dir zu");
|
||||
ui->chat->addMsg(QString::fromStdString(value), Qt::AlignLeft, Qt::darkGray);
|
||||
size_t pos1 = value.find("#");
|
||||
if(pos1 == std::string::npos) {
|
||||
std::cout << "-> Error: PRIVATE_MSG_MESSAGE is invalid: no # found" << std::endl;
|
||||
return;
|
||||
}
|
||||
size_t pos2 = value.find("#", pos1 + 1);
|
||||
if(pos2 == std::string::npos) {
|
||||
std::cout << "-> Error: PRIVATE_MSG_MESSAGE is invalid: no second # found" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
std::string toWho = value.substr(pos1 + 1, pos2 - pos1 - 1);
|
||||
value.erase(pos1, pos2 +1);
|
||||
|
||||
if(oldPrintStyle)
|
||||
ui->chat->addMsg( "</MSG> " + who->getFullName() + " -> " + QString::fromStdString(toWho) + ": " + QString::fromStdString(value), Qt::AlignLeft, nullptr, who);
|
||||
else
|
||||
ui->chat->addSenderNameAndMSG(who, QString::fromStdString(value)," > flüstert " + QString::fromStdString(toWho) +" zu" + ((toWho == "dir") ? "" : " (ADMIN CATCHED)"));
|
||||
|
||||
} else if(what == "JOIN_TIME") {
|
||||
who->setJoinTime(value);
|
||||
@@ -104,23 +128,40 @@ void MainWindow::recvedMSG(Peer *who, QString msg)
|
||||
ui->chat->addMsg(QString::fromStdString("<DEBUG>: " + value), Qt::AlignCenter, "gray" );
|
||||
|
||||
} else if(what == "VERSION") {
|
||||
if(value != VERSION) {
|
||||
if( stoi(value) != VERSION ) {
|
||||
ui->chat->addMsg("<ERROR> Falsche Programmversion: Client " + who->getFullName() + ": '" +
|
||||
QString::fromStdString( value + "' ungleich eigener: '" + VERSION + "'"), Qt::AlignCenter, "orange" );
|
||||
who->send_to("=" ); // SOLANGE KEIN PING PONG => UPDATE TCP
|
||||
if( who->closeSocket() != 0)
|
||||
perror("Closesocket failed.");
|
||||
return;
|
||||
QString::fromStdString( value + "' ungleich eigener: '" + std::to_string(VERSION) + "'"), Qt::AlignCenter, "red" );
|
||||
|
||||
if(stoi(value) < VERSION) {
|
||||
std::cout << " -> Selber höhere Version => Closesocket to " << who->getFullName().toStdString() << std::endl;
|
||||
if(who->isConnected()) {
|
||||
if(who->closeSocket() != 0)
|
||||
perror("Closesocket failed.");
|
||||
} else
|
||||
perror("couldn't Closesocket from wrong version client: not connected");
|
||||
} else
|
||||
std::cout << " -> Selber niedrigere Version => Wait for Closesocket from " << who->getFullName().toStdString() << std::endl;
|
||||
}
|
||||
|
||||
} else if(what == "") {
|
||||
std::cout << "INVALID MSG: '" << msg.toStdString() << "'" << std::endl;
|
||||
|
||||
} else if(what == "adminstatus") {
|
||||
if (value == "true") {
|
||||
who->set_isAdmin(true);
|
||||
if(manager->isAdmin) {
|
||||
ui->chat->addMsg( who->getName() + " hat sich zum Admin befördert.", Qt::AlignCenter, "orange");
|
||||
}
|
||||
} else if ( value == "gofalse") {
|
||||
who->set_isAdmin(false);
|
||||
if(manager->isAdmin) {
|
||||
ui->chat->addMsg( who->getName() + " hat sich vom Admin degratiert.", Qt::AlignCenter, "orange");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
std::cout << "ERROR: UNKNOWN MSG: '" << msg.toStdString() << std::endl;
|
||||
ui->chat->addMsg(QString::fromStdString("<ERROR> Unbekannter Nachrichtentype: '"+ what +"' mit value='" + value + "'"), Qt::AlignCenter, "red" );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::updateClientList()
|
||||
@@ -138,7 +179,13 @@ void MainWindow::on_inputLine_returnPressed()
|
||||
QString line = ui->inputLine->text();
|
||||
ui->inputLine->clear();
|
||||
|
||||
if(line.startsWith('/')) {
|
||||
if( line == "lol" ) {
|
||||
this->joinGame();
|
||||
return;
|
||||
|
||||
|
||||
|
||||
} else if(line.startsWith('/')) {
|
||||
ui->chat->addMsg("Executing: '" + line + "'...");
|
||||
|
||||
if(line.startsWith("/clear", Qt::CaseInsensitive)) {
|
||||
@@ -151,34 +198,32 @@ void MainWindow::on_inputLine_returnPressed()
|
||||
+ manager->getConnectionList().at(i)->getJoinTime() + " VectorIndex: " + QString::number(i));
|
||||
}
|
||||
|
||||
} else if (line.startsWith("/-1", Qt::CaseInsensitive)) {
|
||||
if(manager->getConnectionList().size())
|
||||
this->manager->getConnectionList().at(0)->closeSocket();
|
||||
} else if (line.startsWith("/-", Qt::CaseInsensitive)) {
|
||||
|
||||
|
||||
} else if (line.startsWith("/msg <", Qt::CaseInsensitive)) {
|
||||
line.remove(0, 5);
|
||||
|
||||
int pos = line.indexOf("> ");
|
||||
if(pos == -1) {
|
||||
ui->chat->addMsg("<Console>: Error: Ungültiger Client: '" + line + "'", Qt::AlignCenter, "red");
|
||||
return;
|
||||
}
|
||||
if(pos == -1)
|
||||
return ui->chat->addMsg("<Console>: Error: Ungültiger Client: '" + line + "'", Qt::AlignCenter, "red");
|
||||
|
||||
|
||||
QString recver = line.left(pos + 1);
|
||||
line.remove(0, pos + 2);
|
||||
|
||||
bool ok = false;
|
||||
for( auto &c : manager->getConnectionList() ) {
|
||||
if( recver == c->getFullName() ) {
|
||||
c->send_to( "PRIVATE_MSG=" + line );
|
||||
ok = true;
|
||||
if( recver == c->getFullName() || c->isAdmin() ) {
|
||||
//Wenn empfänger überinstimmt auch wenn dieser admin ist, dann verwende "dir"
|
||||
c->send_to( "PRIVATE_MSG=#" + QString( ( (recver == c->getFullName()) ? "dir" : recver ) ) + "#" + line );
|
||||
//Nur wenn ein nicht admin empfänger gefunden worden ist, setze on auf true, sonst kommt keine "kein passender client" nachricht
|
||||
if( recver == c->getFullName() )
|
||||
ok = true;
|
||||
}
|
||||
}
|
||||
if( !ok ) {
|
||||
ui->chat->addMsg("<Console>: Error: Unbekannter Client: '" + recver + "'", Qt::AlignCenter, "red");
|
||||
return;
|
||||
}
|
||||
|
||||
if( !ok )
|
||||
return ui->chat->addMsg("<Console>: Error: Unbekannter Client: '" + recver + "'", Qt::AlignCenter, "red");
|
||||
|
||||
} else if (line.startsWith("/setPrintStyle ", Qt::CaseInsensitive)) {
|
||||
if(line.length() > 15) {
|
||||
@@ -187,18 +232,33 @@ void MainWindow::on_inputLine_returnPressed()
|
||||
else if (line[15] == '2')
|
||||
oldPrintStyle = false;
|
||||
else
|
||||
ui->chat->addMsg("<Console>: Error: Unbekannter StyleSheet: " + QString(line.at(15)), Qt::AlignCenter, Qt::red);
|
||||
ui->chat->addMsg("<Console>: Error: Unbekannter StyleSheet: " + QString(line.at(15)), Qt::AlignCenter, "red");
|
||||
} else
|
||||
ui->chat->addMsg("<Console>: Error: StyleSheet ID fehlt.", Qt::AlignCenter, Qt::red);
|
||||
ui->chat->addMsg("<Console>: Error: StyleSheet ID fehlt.", Qt::AlignCenter, "red");
|
||||
|
||||
} else if (line.startsWith("/help", Qt::CaseInsensitive)) {
|
||||
ui->chat->addMsg("Liste:\t/help\t\t-> Gibt diese Liste aus.");
|
||||
ui->chat->addMsg("\t/clear\t\t-> Löscht den Chat (nur bei dir).");
|
||||
ui->chat->addMsg("\t/msg <Client> <msg>\t-> Privatnachricht an diesen Client");
|
||||
ui->chat->addMsg("\t\t\t Tip: Doppelklick auf den Namen rechts in der Liste.");
|
||||
ui->chat->addMsg("\t/setPrintStyle <1/2>\t -> AusgabeAussehen: Style 1 oder 2.");
|
||||
ui->chat->addMsg("\t/setPrintStyle <1/2>\t-> AusgabeAussehen: Style 1 oder 2.");
|
||||
|
||||
|
||||
} else if (line.startsWith("/login ", Qt::CaseInsensitive)) {
|
||||
line.remove(0, 7);
|
||||
if (line.contains("admin")){
|
||||
manager->sendtoAllPeers("adminstatus=true");
|
||||
manager->isAdmin = true;
|
||||
ui->chat->addMsg("<Console> Adminstatus confirmed", Qt::AlignCenter, "red");
|
||||
}
|
||||
|
||||
} else if (line.startsWith("/logout", Qt::CaseInsensitive)) {
|
||||
if(manager->isAdmin) {
|
||||
manager->sendtoAllPeers("adminstatus=gofalse");
|
||||
manager->isAdmin = false;
|
||||
ui->chat->addMsg("<Console> Adminstatus removed", Qt::AlignCenter, "red");
|
||||
}
|
||||
|
||||
} else {
|
||||
ui->chat->addMsg("<Console>: Error: Unbekannter Befehl: '" + line + "'", Qt::AlignCenter, "red");
|
||||
}
|
||||
@@ -206,21 +266,85 @@ void MainWindow::on_inputLine_returnPressed()
|
||||
|
||||
} else {
|
||||
if(oldPrintStyle)
|
||||
ui->chat->addMsgOldStyle("<ICH>: " + line, nullptr, Qt::AlignRight );
|
||||
else {
|
||||
ui->chat->addSenderName(nullptr);
|
||||
ui->chat->addMsg(line, Qt::AlignRight);
|
||||
}
|
||||
ui->chat->addMsg("<ICH>: " + line, Qt::AlignRight );
|
||||
else
|
||||
ui->chat->addSenderNameAndMSG(nullptr, line);
|
||||
//--------------> SEND MESSAGES
|
||||
manager->sendtoAllPeers("MSG=" + line);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void MainWindow::on_Connections_itemDoubleClicked(QListWidgetItem *item)
|
||||
{
|
||||
//std::cout << "Item gedoppelklickt: "<<item->text().toStdString() << std::endl;
|
||||
ui->inputLine->setText("/msg " + item->text() + " ");
|
||||
}
|
||||
|
||||
void MainWindow::joinGame()
|
||||
{
|
||||
this->setFixedSize(1200, 800);
|
||||
game->setGeometry( 10, 10, this->width() - 20, this->height() - 20);
|
||||
|
||||
//set chat things invisible
|
||||
this->ui->chat->hide();
|
||||
this->ui->Connections->hide();
|
||||
this->ui->inputLine->hide();
|
||||
this->ui->label->hide();
|
||||
|
||||
|
||||
//set game visible
|
||||
this->game->show();
|
||||
this->game->setFocus();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::leaveGame()
|
||||
{
|
||||
//make game invisible
|
||||
this->game->hide();
|
||||
|
||||
|
||||
//set old things visible
|
||||
this->ui->chat->hide();
|
||||
this->ui->Connections->hide();
|
||||
this->ui->inputLine->hide();
|
||||
this->ui->label->hide();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
bool MainWindow::eventFilter(QObject *watched, QEvent *event)
|
||||
{
|
||||
std::cout << "got evet" << std::endl;
|
||||
|
||||
// this->view.scene->updateTest(e->x(), e->y());
|
||||
if(watched == view.scene){
|
||||
// press event
|
||||
QGraphicsSceneMouseEvent *mouseSceneEvent;
|
||||
if(event->type() == QEvent::GraphicsSceneMousePress){
|
||||
mouseSceneEvent = static_cast<QGraphicsSceneMouseEvent *>(event);
|
||||
qDebug() << mouseSceneEvent->scenePos()<<mouseSceneEvent->lastScenePos();
|
||||
// your logic here
|
||||
}
|
||||
// move event
|
||||
else if (event->type() == QEvent::GraphicsSceneMouseMove) {
|
||||
mouseSceneEvent = static_cast<QGraphicsSceneMouseEvent *>(event);
|
||||
qDebug() << mouseSceneEvent->scenePos()<<mouseSceneEvent->lastScenePos();
|
||||
// your logic here
|
||||
|
||||
std::cout << "Moved to: " << mouseSceneEvent->scenePos().x() << " " << mouseSceneEvent->scenePos().y() << std::endl;
|
||||
}
|
||||
// release event
|
||||
else if (event->type() == QEvent::GraphicsSceneMouseRelease) {
|
||||
mouseSceneEvent = static_cast<QGraphicsSceneMouseEvent *>(event);
|
||||
qDebug() << mouseSceneEvent->scenePos()<<mouseSceneEvent->lastScenePos();
|
||||
// your logic here
|
||||
}
|
||||
}
|
||||
|
||||
return QMainWindow::eventFilter(watched, event);
|
||||
}
|
||||
|
||||
*/
|
||||
|
@@ -3,7 +3,13 @@
|
||||
|
||||
#include <QListWidget>
|
||||
#include <QMainWindow>
|
||||
#include "connetionsmanager.h"
|
||||
#include "ConnectionsStuff/connetionsmanager.h"
|
||||
|
||||
#include "wormio_game/game.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <qdebug.h>
|
||||
|
||||
|
||||
|
||||
@@ -18,8 +24,8 @@ class MainWindow : public QMainWindow
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow();
|
||||
void timerEvent(QTimerEvent *);
|
||||
|
||||
void timerEvent(QTimerEvent * e);
|
||||
private slots:
|
||||
void printInfo(QString str);
|
||||
void recvedMSG(Peer *who, QString msg);
|
||||
@@ -33,6 +39,18 @@ private:
|
||||
ConnetionsManager *manager;
|
||||
int timerID, timerForWarningMSG, wrongClientCountCounter;
|
||||
bool oldPrintStyle;
|
||||
|
||||
|
||||
|
||||
//Game
|
||||
|
||||
public:
|
||||
void joinGame();
|
||||
void leaveGame();
|
||||
|
||||
|
||||
Game * game;
|
||||
|
||||
};
|
||||
|
||||
#endif // MAINWINDOW_H
|
||||
|
@@ -16,6 +16,12 @@
|
||||
<height>550</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>1000</width>
|
||||
<height>550</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Serverloser Chat Version 2.0</string>
|
||||
</property>
|
||||
@@ -48,7 +54,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Message:</string>
|
||||
<string>Neu Nachricht:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
193
DezChat/peer.cpp
193
DezChat/peer.cpp
@@ -1,193 +0,0 @@
|
||||
#include "peer.h"
|
||||
|
||||
Peer::Peer(const CLIENT &cli)
|
||||
: cli_v1(cli), isCLIENT(true), stop(false), name("UNKNOWN")
|
||||
{
|
||||
this->cli_v1.autoCleanUpInTheEnd = false;
|
||||
this->cli_v2.autoCleanUpInTheEnd = false;
|
||||
}
|
||||
|
||||
Peer::Peer(const client_TCP_Lib &cli, std::string ip_connectedTo, unsigned short port_connectedTo)
|
||||
: cli_v2(cli), isCLIENT(false), stop(false), port_connectedTo(port_connectedTo), name("UNKNOWN"), ip_connectedTo(ip_connectedTo)
|
||||
{
|
||||
this->cli_v1.autoCleanUpInTheEnd = false;
|
||||
this->cli_v2.autoCleanUpInTheEnd = false;
|
||||
}
|
||||
|
||||
Peer::~Peer()
|
||||
{
|
||||
std::cout << "~Peer(): port: " << getPort() << std::endl;
|
||||
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) ) {
|
||||
std::cout << "Terminating Thread timeouted: " << __func__ << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(this->isConnected())
|
||||
if( this->closeSocket() != 0)
|
||||
std::cout << "!-> CloseSocket failed: " << cli_v1.getLastError() << std::endl;
|
||||
}
|
||||
|
||||
void Peer::send_to(QString msg)
|
||||
{
|
||||
msg.push_back('|');
|
||||
|
||||
if(isCLIENT) {
|
||||
//std::cout << "send to socket: " << cli_v1.getSocket() << std::endl;
|
||||
if( cli_v1.send_(msg.toStdString().c_str(), static_cast<unsigned>(msg.toStdString().length()) ) <= 0) {
|
||||
std::cout << "emit -> sned failed" << std::endl;
|
||||
|
||||
emit sendFailed(this);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
//std::cout << "send to socket: " << cli_v2.getConnectionSocket() << std::endl;
|
||||
if( send(cli_v2.getConnectionSocket(), msg.toStdString().c_str(), static_cast<unsigned>(msg.toStdString().length()), 0) <= 0) {
|
||||
std::cout << "emit -> sned failed" << std::endl;
|
||||
|
||||
emit sendFailed(this);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int Peer::closeSocket()
|
||||
{
|
||||
if(isCLIENT)
|
||||
return cli_v1.closeSocket();
|
||||
else
|
||||
return cli_v2.closeSocket();
|
||||
}
|
||||
|
||||
bool Peer::isConnected()
|
||||
{
|
||||
if(isCLIENT)
|
||||
return cli_v1.isConnected();
|
||||
else
|
||||
return cli_v2.isConnected();
|
||||
}
|
||||
|
||||
int Peer::startReciver()
|
||||
{
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 0 : 1;
|
||||
}
|
||||
|
||||
void Peer::sendInfoData(const unsigned short ownServerListeningPort)
|
||||
{
|
||||
this->send_to("PORT=" + QString::number(ownServerListeningPort));
|
||||
this->send_to("VERSION=" + QString(VERSION) );
|
||||
this->send_to("JOIN_TIME=" + QTime::currentTime().toString() );
|
||||
|
||||
this->send_to("JOINED=" + getUserName() );
|
||||
|
||||
}
|
||||
|
||||
std::string Peer::getIp() const
|
||||
{
|
||||
if(isCLIENT) {
|
||||
return cli_v1.getIpAddress();
|
||||
} else {
|
||||
return ip_connectedTo;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
std::string Peer::getLastError()
|
||||
{
|
||||
if(isCLIENT) {
|
||||
return cli_v1.getLastError();
|
||||
} else {
|
||||
return cli_v2.getLastError();
|
||||
}
|
||||
}
|
||||
|
||||
unsigned short Peer::getPort() const
|
||||
{
|
||||
if(isCLIENT) {
|
||||
return port_connectedTo;
|
||||
} else {
|
||||
return port_connectedTo;
|
||||
}
|
||||
}
|
||||
|
||||
QString Peer::getName() const
|
||||
{
|
||||
return QString::fromStdString(name);
|
||||
}
|
||||
|
||||
QString Peer::getUserName() const
|
||||
{
|
||||
return ( (qgetenv("USER").isEmpty()) ? qgetenv("USERNAME") : qgetenv("USER") );
|
||||
}
|
||||
|
||||
QString Peer::getFullName() const
|
||||
{
|
||||
return QString("<" + getName() + "@" + QString::fromStdString(getIp()) + ":" + QString::number(getPort()) + ">");
|
||||
}
|
||||
|
||||
QString Peer::getJoinTime() const
|
||||
{
|
||||
return QString::fromStdString(joinTime);
|
||||
}
|
||||
|
||||
void Peer::setConnectedToPort(unsigned short port)
|
||||
{
|
||||
port_connectedTo = port;
|
||||
}
|
||||
|
||||
void Peer::setName(std::string name)
|
||||
{
|
||||
this->name = name;
|
||||
}
|
||||
|
||||
void Peer::setJoinTime(std::string time)
|
||||
{
|
||||
joinTime = time;
|
||||
}
|
||||
|
||||
void Peer::run()
|
||||
{
|
||||
//emit recvdMessage(this, "DEBUG=Start ReciveThread: From: " + QString::fromStdString( this->getIp() )+ ":" + QString::number( this->getPort() ) );
|
||||
std::vector<char> buffer;
|
||||
|
||||
while ( ! stop ) {
|
||||
buffer.clear();
|
||||
|
||||
ssize_t recvedbytes;
|
||||
char c;
|
||||
do {
|
||||
if( isCLIENT )
|
||||
recvedbytes = cli_v1.recv_(&c, 1);
|
||||
else
|
||||
recvedbytes = recv(cli_v2.getConnectionSocket(), &c, 1, 0);
|
||||
|
||||
if(recvedbytes <= 0) {
|
||||
std::cout << "emit -> rev failed" << std::endl;
|
||||
emit recvdFailed(this);
|
||||
return;
|
||||
} else
|
||||
buffer.push_back(c);
|
||||
|
||||
} while (c != '|');
|
||||
|
||||
if(buffer.size() > 0)
|
||||
buffer.pop_back();
|
||||
buffer.push_back('\0');
|
||||
|
||||
std::string stringBuffer;
|
||||
if(!buffer.data() || (stringBuffer = std::string(buffer.data())) .find("=") == std::string::npos) {
|
||||
std::cout << "INVALID MSG: '" << buffer.data() << "'" << std::endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
emit recvdMessage(this, QString::fromStdString(stringBuffer));
|
||||
}
|
||||
}
|
6
DezChat/resources.qrc
Normal file
6
DezChat/resources.qrc
Normal file
@@ -0,0 +1,6 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>wormio_game/Ressources/test.png</file>
|
||||
<file>wormio_game/Ressources/slitherio_background_543a4c3cc8.jpg</file>
|
||||
</qresource>
|
||||
</RCC>
|
@@ -1,111 +0,0 @@
|
||||
#include "tryconnector.h"
|
||||
|
||||
Connector::Connector()
|
||||
: returnValue(-1)
|
||||
{
|
||||
client.autoCleanUpInTheEnd = false;
|
||||
}
|
||||
|
||||
Connector::~Connector()
|
||||
{
|
||||
//std::cout << "~Connector()" << std::endl;
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) ) {
|
||||
std::cout << "Terminating Thread timeouted: " << __func__ << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int Connector::ConnectTo()
|
||||
{
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
this->start();
|
||||
return this->isRunning() ? 0 : 1;
|
||||
}
|
||||
|
||||
int Connector::getReturnValue()
|
||||
{
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
void Connector::run()
|
||||
{
|
||||
returnValue = client.connectTo(client.getIpByName(ip), port);
|
||||
}
|
||||
|
||||
|
||||
TryConnector::TryConnector(void)
|
||||
: state(UNDEFINED)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TryConnector::~TryConnector()
|
||||
{
|
||||
//std::cout << "~TryConnector()" << std::endl;
|
||||
if(this->isRunning()) {
|
||||
this->quit();
|
||||
if( ! this->wait(500) ) {
|
||||
this->terminate();
|
||||
if( ! this->wait(3000) ) {
|
||||
std::cout << "Terminating Thread timeouted: " << __func__ << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int TryConnector::tryConnectTo(std::string ip, unsigned short port)
|
||||
{
|
||||
if(this->isRunning())
|
||||
return -1;
|
||||
|
||||
this->connector.ip = ip;
|
||||
this->connector.port = port;
|
||||
|
||||
this->start();
|
||||
return this->isRunning() ? 0 : 1;
|
||||
}
|
||||
|
||||
const client_TCP_Lib &TryConnector::client() { return connector.client; }
|
||||
|
||||
const STATE &TryConnector::getState() { return this->state; }
|
||||
|
||||
const std::string &TryConnector::getIp() { return connector.ip; }
|
||||
|
||||
const unsigned short &TryConnector::getPort() { return connector.port; }
|
||||
|
||||
|
||||
void TryConnector::run()
|
||||
{
|
||||
this->state = STATE::UNDEFINED;
|
||||
if(connector.ConnectTo() != 0) {
|
||||
this->state = STATE::UNDEFINED_ERROR;
|
||||
|
||||
} else {
|
||||
unsigned timeout_HectSec = 200;
|
||||
for (unsigned time = 1; time <= timeout_HectSec; ++time) {
|
||||
|
||||
if(connector.isRunning()) {
|
||||
usleep(10000); // sleep 0,01s
|
||||
if(time > 100)
|
||||
std::cout << ( "Waited " + std::to_string(static_cast<double>(time) / 100 ) + "sec...\n" ) << std::flush;
|
||||
} else {
|
||||
this->state = (this->connector.getReturnValue() == 0) ? STATE::OK : STATE::UNDEFINED_ERROR;
|
||||
//std::cout << "Thread finished mit res = " << connector.getReturnValue() << std::endl;
|
||||
break;
|
||||
}
|
||||
|
||||
if(time == timeout_HectSec) {
|
||||
this->state = TIME_OUT_TRY_OUT;
|
||||
std::cout << "Connect to "<<connector.ip << ":" <<connector.port << " failed: TIMEOUT." << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
emit finished(this);
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
BIN
DezChat/wormio_game/Ressources/test.png
Normal file
BIN
DezChat/wormio_game/Ressources/test.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
7
DezChat/wormio_game/enemy.cpp
Normal file
7
DezChat/wormio_game/enemy.cpp
Normal file
@@ -0,0 +1,7 @@
|
||||
#include "enemy.h"
|
||||
|
||||
Enemy::Enemy(QGraphicsScene *scene)
|
||||
: scene(scene)
|
||||
{
|
||||
|
||||
}
|
19
DezChat/wormio_game/enemy.h
Normal file
19
DezChat/wormio_game/enemy.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef ENEMY_H
|
||||
#define ENEMY_H
|
||||
|
||||
#include <QPixmap>
|
||||
#include <QGraphicsPixmapItem>
|
||||
#include <QGraphicsItem>
|
||||
#include <QGraphicsScene>
|
||||
#include <QObject>
|
||||
|
||||
class Enemy : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
Enemy(QGraphicsScene * scene);
|
||||
|
||||
QGraphicsScene * scene;
|
||||
};
|
||||
|
||||
#endif // ENEMY_H
|
8
DezChat/wormio_game/enemymanager.cpp
Normal file
8
DezChat/wormio_game/enemymanager.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
#include "enemymanager.h"
|
||||
|
||||
|
||||
EnemyManager::EnemyManager(QGraphicsScene *scene)
|
||||
: scene(scene)
|
||||
{
|
||||
|
||||
}
|
17
DezChat/wormio_game/enemymanager.h
Normal file
17
DezChat/wormio_game/enemymanager.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#ifndef ENEMYMANAGER_H
|
||||
#define ENEMYMANAGER_H
|
||||
|
||||
#include <QGraphicsScene>
|
||||
|
||||
class EnemyManager
|
||||
{
|
||||
public:
|
||||
|
||||
EnemyManager( QGraphicsScene * scene);
|
||||
QGraphicsScene *scene;
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // ENEMYMANAGER_H
|
106
DezChat/wormio_game/game.cpp
Normal file
106
DezChat/wormio_game/game.cpp
Normal file
@@ -0,0 +1,106 @@
|
||||
#include "game.h"
|
||||
|
||||
Game::Game(QWidget *parant)
|
||||
: QGraphicsView(parant)
|
||||
{
|
||||
//create scene
|
||||
scene = new QGraphicsScene(this);
|
||||
//set scene
|
||||
this->setScene(scene);
|
||||
|
||||
//Create Player
|
||||
player = new Player(scene);
|
||||
|
||||
//create enemyManager with Acces on Scene
|
||||
enemyManager = new EnemyManager(scene);
|
||||
|
||||
//create minimap
|
||||
miniMap = new QGraphicsRectItem();
|
||||
|
||||
this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
|
||||
Koords = new QGraphicsSimpleTextItem();
|
||||
connect(this->scene, SIGNAL(sceneRectChanged(QRectF)), this, SLOT(sceneRectChanged(QRectF)));
|
||||
Koords->setBrush(Qt::blue);
|
||||
|
||||
achsen[0].setLine(-1000, 0, 1000, 0);
|
||||
achsen[1].setLine(0, -1000, 0, 1000);
|
||||
scene->addItem(&achsen[0]);
|
||||
scene->addItem(&achsen[1]);
|
||||
///achsen[0].setPen(QPen(Qt::white));
|
||||
///achsen[1].setPen(QPen(Qt::white));
|
||||
achsen[0].setPen(QPen(Qt::white, 3));
|
||||
|
||||
scene->addItem(&achsen[2]);
|
||||
//achsen[2].setPen(QPen(Qt::white));
|
||||
|
||||
this->setMouseTracking(true);
|
||||
MouseKoords = new QGraphicsSimpleTextItem();
|
||||
scene->addItem(MouseKoords);
|
||||
///MouseKoords->setBrush(Qt::white);
|
||||
|
||||
|
||||
|
||||
//this->scene->setMinimumRenderSize(100);
|
||||
scene->setSceneRect(0, 0, 500, 500);
|
||||
|
||||
|
||||
mapBorder = new QGraphicsRectItem();
|
||||
mapBorder->setRect(-500, -500, 4000, 4000);
|
||||
mapBorder->setPen(QPen(Qt::black, 1000));
|
||||
scene->addItem(mapBorder);
|
||||
|
||||
|
||||
//this->setBackgroundBrush(QBrush(QColor(Qt::gray)));
|
||||
setBackgroundBrush(QImage(":/wormio_game/Ressources/slitherio_background_543a4c3cc8.jpg"));
|
||||
scene->addItem(Koords);
|
||||
|
||||
|
||||
|
||||
//mini map:
|
||||
scene->addItem(miniMap);
|
||||
miniMap->setPen(QPen(Qt::white, 3));
|
||||
miniMap->setRect(0, 0, 200, 200);
|
||||
|
||||
|
||||
}
|
||||
|
||||
#include <QMouseEvent>
|
||||
#include <iostream>
|
||||
#include <QGraphicsWidget>
|
||||
|
||||
void Game::mouseMoveEvent(QMouseEvent *event)
|
||||
{
|
||||
player->rotateHead( mapToScene( event->pos() ), &achsen[2] );
|
||||
|
||||
MouseKoords->setText("Mouse-Pos: x" + QString::number(event->x()) + " y=" + QString::number(event->y())
|
||||
+ "\n -> MaptoScene: x=" + QString::number(mapToScene(event->pos()).x()) + " + y=" + QString::number(mapToScene(event->pos()).y()) );
|
||||
MouseKoords->setPos(mapToScene(this->pos()).x() + 600, mapToScene(this->pos()).y() + 30);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Game::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
player->speed ++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Game::sceneRectChanged(const QRectF &rect)
|
||||
{
|
||||
Koords->setText("SceneRect: x=" + QString::number(scene->sceneRect().x()) + " y=" + QString::number(scene->sceneRect().y())
|
||||
+ " w=" + QString::number(scene->sceneRect().x()) + " h=" + QString::number(scene->sceneRect().x())
|
||||
+ "\n RectPosMiddle: x=" + QString::number(player->Worm.at(0)->rect().x() + 50 ) + " y=" + QString::number( player->Worm.at(0)->rect().y() + 50 ) );
|
||||
|
||||
Koords->setPos(mapToScene(this->pos()).x() + 600, mapToScene(this->pos()).y() );
|
||||
|
||||
|
||||
|
||||
|
||||
//re-setpos map:
|
||||
miniMap->setPos(mapToScene(this->pos()).x() + this->width() - 10 - 230, mapToScene(this->pos()).y() + 10);
|
||||
|
||||
}
|
53
DezChat/wormio_game/game.h
Normal file
53
DezChat/wormio_game/game.h
Normal file
@@ -0,0 +1,53 @@
|
||||
#ifndef GAME_H
|
||||
#define GAME_H
|
||||
|
||||
#include <QGraphicsView>
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsSimpleTextItem>
|
||||
#include <QThread>
|
||||
#include <QGraphicsRectItem>
|
||||
|
||||
#include "player.h"
|
||||
#include "enemymanager.h"
|
||||
#include <QScrollBar>
|
||||
|
||||
|
||||
class Game : public QGraphicsView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
Game( QWidget * parant);
|
||||
|
||||
//tests
|
||||
QGraphicsSimpleTextItem * Koords;
|
||||
QGraphicsSimpleTextItem * MouseKoords;
|
||||
|
||||
QGraphicsLineItem achsen[3];
|
||||
|
||||
|
||||
|
||||
//important/save
|
||||
QGraphicsScene * scene;
|
||||
|
||||
Player * player;
|
||||
EnemyManager * enemyManager;
|
||||
|
||||
QGraphicsRectItem * mapBorder;
|
||||
QGraphicsRectItem * miniMap;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void mouseMoveEvent(QMouseEvent *event) override;
|
||||
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
|
||||
public slots:
|
||||
|
||||
void sceneRectChanged(const QRectF &rect);
|
||||
|
||||
};
|
||||
|
||||
#endif // GAME_H
|
108
DezChat/wormio_game/player.cpp
Normal file
108
DezChat/wormio_game/player.cpp
Normal file
@@ -0,0 +1,108 @@
|
||||
#include "player.h"
|
||||
|
||||
Player::Player(QGraphicsScene *scene)
|
||||
: scene(scene), isLiving(false)
|
||||
{
|
||||
radius = 60;
|
||||
speed = 10;
|
||||
initLength = 100;
|
||||
|
||||
//init worm
|
||||
for(int i = 0; i < initLength; i++) {
|
||||
WormPart * wp = new WormPart(radius);
|
||||
Worm.prepend( wp );
|
||||
scene->addItem( wp );
|
||||
}
|
||||
|
||||
|
||||
moveTimer = new QTimer(this);
|
||||
moveTimer->setInterval(20);
|
||||
connect(moveTimer, SIGNAL(timeout()), this, SLOT(move()));
|
||||
moveTimer->start();
|
||||
|
||||
this->startTimer(20);
|
||||
}
|
||||
|
||||
#include <iostream>
|
||||
#include <QApplication>
|
||||
|
||||
void Player::timerEvent(QTimerEvent *event)
|
||||
{
|
||||
|
||||
/*
|
||||
//move last behind vect(0) && set pos from vec(0)
|
||||
//move vect 0
|
||||
Worm.move(Worm.size() - 1, 1);
|
||||
Worm.at(1)->setPos(Worm.at(0)->rect().x() + radius, Worm.at(0)->rect().y() + radius );
|
||||
|
||||
//std::cout << "Worm: " << Worm.at(1)->rect().x() << " " << Worm.at(1)->rect().y() << " - " << Worm.at(0)->rect().x() << " " << Worm.at(0)->rect().y() << std::endl;
|
||||
|
||||
|
||||
//move player
|
||||
auto & head = Worm.at(0);
|
||||
|
||||
|
||||
//std::cout << "Moved" << std::endl;
|
||||
double STEP_SIZE = speed;
|
||||
double theta = head->rotation() - 90;
|
||||
|
||||
double dy = STEP_SIZE * qSin(qDegreesToRadians(theta));
|
||||
double dx = STEP_SIZE * qCos(qDegreesToRadians(theta));
|
||||
|
||||
//this->moveBy(dx, dy);
|
||||
head->setRect(head->rect().x() + dx, head->rect().y() + dy, radius*2, radius*2);
|
||||
head->setTransformOriginPoint(head->rect().x() + radius, head->rect().y() + radius);
|
||||
|
||||
|
||||
//scene()->setSceneRect(scene()->sceneRect().x() - 1, 100, 100, 100);
|
||||
scene->setSceneRect(head->sceneBoundingRect());
|
||||
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
void Player::rotateHead(QPointF mousePos, QGraphicsLineItem * debugLine)
|
||||
{
|
||||
|
||||
QLineF ln(QPointF( this->Worm.at(0)->rect().x() + this->radius ,
|
||||
this->Worm.at(0)->rect().y() + this->radius ),
|
||||
mousePos );
|
||||
|
||||
debugLine->setLine(ln);
|
||||
|
||||
this->Worm.at(0)->setRotation(-1* ln.angle() + 90 );
|
||||
std::cout << this->Worm.at(0)->rect().x() << " " << this->Worm.at(0)->rect().y() << " - " << this->Worm.at(0)->rect().width() << " " << this->Worm.at(0)->rect().height() << std::endl;
|
||||
}
|
||||
|
||||
void Player::move()
|
||||
{
|
||||
//move last behind vect(0) && set pos from vec(0) && move vect 0
|
||||
Worm.move(Worm.size() - 1, 1);
|
||||
Worm.at(1)->setPos(Worm.at(0)->pos().x() + radius, Worm.at(0)->pos().y() + radius ); // <-- Kopf is gedreht, rest aber nicht ==> pos != pos => center == center
|
||||
///QLineF ln(Worm.at(1)->getCenter(), Worm.at(0)->getCenter());
|
||||
///Worm.at(1)->setPos( Worm.at(1)->getCenter().x() + ln.dx(), Worm.at(1)->getCenter().x() + ln.dy() );
|
||||
|
||||
|
||||
//move player
|
||||
|
||||
auto & head = Worm.at(0);
|
||||
|
||||
double STEP_SIZE = speed;
|
||||
double theta = head->rotation() - 90;
|
||||
|
||||
double dy = STEP_SIZE * qSin(qDegreesToRadians(theta));
|
||||
double dx = STEP_SIZE * qCos(qDegreesToRadians(theta));
|
||||
|
||||
//this->moveBy(dx, dy);
|
||||
head->setRect(head->pos().x() + dx, head->pos().y() + dy, radius*2, radius*2);
|
||||
//head->setPos( head->rect().x() + dx, head->rect().y() + dy );
|
||||
|
||||
head->setTransformOriginPoint( head->getCenter() ); // head->rect().x() + radius, head->rect().y() + radius
|
||||
|
||||
//set plkayer to mid
|
||||
scene->setSceneRect(head->rect());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
52
DezChat/wormio_game/player.h
Normal file
52
DezChat/wormio_game/player.h
Normal file
@@ -0,0 +1,52 @@
|
||||
#ifndef PLAYER_H
|
||||
#define PLAYER_H
|
||||
|
||||
#include <QPixmap>
|
||||
#include <QGraphicsPixmapItem>
|
||||
#include <QGraphicsItem>
|
||||
|
||||
#include <QGraphicsScene>
|
||||
#include <QMouseEvent>
|
||||
#include <QObject>
|
||||
#include <QTimer>
|
||||
#include <QVector>
|
||||
|
||||
#include "wormio_game/wormpart.h"
|
||||
#include <QtMath>
|
||||
|
||||
|
||||
class Player : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
Player(QGraphicsScene * scene);
|
||||
QGraphicsScene * scene;
|
||||
QVector <WormPart *> Worm;
|
||||
|
||||
|
||||
void timerEvent(QTimerEvent *event) override;
|
||||
|
||||
int radius, speed, length, initLength;
|
||||
|
||||
QPointF save;
|
||||
|
||||
|
||||
QTimer * moveTimer;
|
||||
|
||||
|
||||
bool isLiving;
|
||||
void join();
|
||||
void rotateHead(QPointF mousePos, QGraphicsLineItem *debugLine);
|
||||
|
||||
|
||||
public slots:
|
||||
void move();
|
||||
|
||||
signals:
|
||||
void died();
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // PLAYER_H
|
98
DezChat/wormio_game/wormio_scene.cpp
Normal file
98
DezChat/wormio_game/wormio_scene.cpp
Normal file
@@ -0,0 +1,98 @@
|
||||
#include "wormio_scene.h"
|
||||
|
||||
WormIO_Scene::WormIO_Scene()
|
||||
{
|
||||
|
||||
|
||||
/* QPolygonF Triangle;
|
||||
Triangle.append(QPointF(-10.,0));
|
||||
Triangle.append(QPointF(0.,-10));
|
||||
Triangle.append(QPointF(10.,0));
|
||||
Triangle.append(QPointF(-10.,0));
|
||||
|
||||
trangle = new QGraphicsPolygonItem(Triangle);
|
||||
*/
|
||||
|
||||
|
||||
this->addItem( trangle );
|
||||
//this->setFocus();
|
||||
|
||||
|
||||
|
||||
//r1.setRect(-100, -100, 100, 100);
|
||||
// r1.setRect(-300, -300, 300, 300);
|
||||
// this->addItem(&r1);
|
||||
// this->addItem(&r2);
|
||||
|
||||
// QPointF scenePoint = mapToScene(event->Pos());
|
||||
|
||||
|
||||
|
||||
|
||||
/*line = new QGraphicsLineItem( (this->width() / 2) - 1 ,( this->height() / 2) -1, (this->width() / 2) + 1 ,( this->height() / 2) + 1);
|
||||
this->addItem(line);
|
||||
line2 = new QGraphicsLineItem( (this->width() / 2) -1 ,( this->height() / 2) + 1 , (this->width() / 2) + 1 ,( this->height() / 2) - 1);
|
||||
this->addItem(line2);
|
||||
*/
|
||||
line3 = new QGraphicsLineItem;
|
||||
this->addItem(line3);
|
||||
|
||||
//line4 = new QGraphicsLineItem;
|
||||
//this->addItem(line4);
|
||||
|
||||
|
||||
x = 10 ;
|
||||
y = 10;
|
||||
|
||||
circel = new QGraphicsEllipseItem(x -50, y -50, 100, 100 );
|
||||
this->addItem( circel );
|
||||
|
||||
|
||||
this->setSceneRect(-250, -250, 500, 500);
|
||||
this->setBackgroundBrush( QBrush(Qt::green) );
|
||||
|
||||
this->startTimer(1000);
|
||||
|
||||
}
|
||||
|
||||
#include <iostream>
|
||||
#include <qmath.h>
|
||||
|
||||
void WormIO_Scene::timerEvent(QTimerEvent *)
|
||||
{
|
||||
this->sceneRect().setRect(this->sceneRect().x() + 100, this->sceneRect().y(), this->sceneRect().width(), this->sceneRect().height());
|
||||
std::cout << "t.." << std::endl;
|
||||
}
|
||||
|
||||
|
||||
void WormIO_Scene::updateTest(int x_P2, int y_P2)
|
||||
{
|
||||
// x = R( r^2 / 1 + m^2 )
|
||||
double r = 100;
|
||||
|
||||
double x_P1 = this->x,
|
||||
y_P1 = this->y;
|
||||
|
||||
double delta_y = ( y_P2 - y_P1 ),
|
||||
delta_x = ( x_P2 - x_P1 );
|
||||
|
||||
if(delta_x == 0) {
|
||||
delta_x = 1;
|
||||
delta_y = MAXFLOAT * ((delta_y < 0) ? -1 : 1);
|
||||
}
|
||||
double m = ( delta_y / delta_x );
|
||||
|
||||
double dx = (( delta_x > 0 ) ? 1 : -1) * sqrt( (r * r) / ( 1 + (m * m) ) );
|
||||
double dy = m * dx;
|
||||
|
||||
double x = x_P1 + dx;
|
||||
double y = y_P1 + dy;
|
||||
|
||||
|
||||
line3->setLine( x_P1 , y_P1, x, y);
|
||||
|
||||
//this->setSceneRect(this->x + dx, this->y + dy, 500, 500);
|
||||
|
||||
//trangle->moveBy(x_add, y_add);
|
||||
}
|
||||
|
42
DezChat/wormio_game/wormio_scene.h
Normal file
42
DezChat/wormio_game/wormio_scene.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef WORMIO_SCENE_H
|
||||
#define WORMIO_SCENE_H
|
||||
|
||||
#include <QGraphicsScene>
|
||||
#include <QGraphicsRectItem>
|
||||
#include <QGraphicsSceneMouseEvent>
|
||||
#include <QGraphicsEllipseItem>
|
||||
#include <QGraphicsPolygonItem>
|
||||
|
||||
#include <QGraphicsLineItem>
|
||||
|
||||
class WormIO_Scene : public QGraphicsScene
|
||||
{
|
||||
|
||||
public:
|
||||
WormIO_Scene();
|
||||
|
||||
QGraphicsEllipseItem * circel;
|
||||
QGraphicsPolygonItem * trangle;
|
||||
QGraphicsLineItem * line;
|
||||
QGraphicsLineItem * line2;
|
||||
|
||||
QGraphicsLineItem * line3;
|
||||
|
||||
QGraphicsLineItem * line4;
|
||||
|
||||
QGraphicsRectItem r1, r2;
|
||||
|
||||
|
||||
void timerEvent(QTimerEvent *) override;
|
||||
|
||||
void updateTest(int x_P2, int y_P2);
|
||||
|
||||
double x, y;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // WORMIO_SCENE_H
|
39
DezChat/wormio_game/wormpart.cpp
Normal file
39
DezChat/wormio_game/wormpart.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "wormpart.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
|
||||
WormPart::WormPart(int radius, QGraphicsItem *parant)
|
||||
: QGraphicsEllipseItem(parant), radius(radius)
|
||||
{
|
||||
//setPixmap(QPixmap(":/wormio_game/Ressources/test.png"));
|
||||
//setScale(1);
|
||||
setRotation(90);
|
||||
//this->setBrush(Qt::blue);
|
||||
|
||||
//this->setPos(500, 300);
|
||||
|
||||
this->setRect(0, 0, 120, 120); // size
|
||||
this->setPos(1500, 100);
|
||||
|
||||
this->setBrush(Qt::green);
|
||||
std::cout << "new wormpart" << std::endl;
|
||||
|
||||
|
||||
this->setPen(QPen(QColor::fromRgb(0, 0, 0, 20))); // Rand transparenter
|
||||
}
|
||||
|
||||
#include <qmath.h>
|
||||
|
||||
void WormPart::timerEvent(QTimerEvent *ev)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
QPointF WormPart::getCenter()
|
||||
{
|
||||
return QPointF(this->pos().x() + radius, this->pos().y() + radius);
|
||||
|
||||
return QPointF(this->rect().x() + radius, this->rect().y() + radius);
|
||||
}
|
24
DezChat/wormio_game/wormpart.h
Normal file
24
DezChat/wormio_game/wormpart.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#ifndef WORMPART_H
|
||||
#define WORMPART_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QPixmap>
|
||||
#include <QGraphicsPixmapItem>
|
||||
#include <QGraphicsItem>
|
||||
|
||||
#include <QGraphicsScene>
|
||||
|
||||
|
||||
|
||||
class WormPart : public QObject, public QGraphicsEllipseItem
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
WormPart(int radius, QGraphicsItem * parant = nullptr);
|
||||
void timerEvent(QTimerEvent * ev);
|
||||
QPointF getCenter();
|
||||
int radius = 60;
|
||||
|
||||
};
|
||||
|
||||
#endif // WORMPART_H
|
@@ -1,40 +0,0 @@
|
||||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2020-03-07T12:47:53
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
TARGET = Dezentraler_Chat
|
||||
TEMPLATE = app
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
# any feature of Qt which has been marked as deprecated (the exact warnings
|
||||
# depend on your compiler). Please consult the documentation of the
|
||||
# deprecated API in order to know how to port your code away from it.
|
||||
DEFINES += QT_DEPRECATED_WARNINGS
|
||||
|
||||
# You can also make your code fail to compile if you use deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
CONFIG += c++11
|
||||
|
||||
SOURCES += \
|
||||
main.cpp \
|
||||
mainwindow.cpp
|
||||
|
||||
HEADERS += \
|
||||
mainwindow.h
|
||||
|
||||
FORMS += \
|
||||
mainwindow.ui
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
326
Dezentraler_Chat/Dezentraler_Chat.pro.user
Normal file
326
Dezentraler_Chat/Dezentraler_Chat.pro.user
Normal file
@@ -0,0 +1,326 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2020-03-07T19:34:30. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{b70b24f1-46ad-4dd1-a8b9-3130fc5cbcc1}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{f2adeb15-5e8d-4d85-a687-94c91141f754}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-Dezentraler_Chat-Desktop-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-Dezentraler_Chat-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/markus/Qt/build-Dezentraler_Chat-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Erstellen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment-Konfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<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>
|
||||
<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="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.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Dezentraler_Chat</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/markus/Qt/Dezentraler_Chat/Dezentraler_Chat.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">Dezentraler_Chat.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/markus/Qt/build-Dezentraler_Chat-Desktop-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
</qtcreator>
|
@@ -1,14 +0,0 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
delete ui;
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
|
||||
namespace Ui {
|
||||
class MainWindow;
|
||||
}
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow();
|
||||
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
};
|
||||
|
||||
#endif // MAINWINDOW_H
|
@@ -1,24 +0,0 @@
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<string>MainWindow</string>
|
||||
</property>
|
||||
<widget class="QMenuBar" name="menuBar" />
|
||||
<widget class="QToolBar" name="mainToolBar" />
|
||||
<widget class="QWidget" name="centralWidget" />
|
||||
<widget class="QStatusBar" name="statusBar" />
|
||||
</widget>
|
||||
<layoutDefault spacing="6" margin="11" />
|
||||
<pixmapfunction></pixmapfunction>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@@ -1,8 +0,0 @@
|
||||
#include <QCoreApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
|
||||
return a.exec();
|
||||
}
|
@@ -1,6 +0,0 @@
|
||||
#include "server_tcp_lib.h"
|
||||
|
||||
server_TCP_Lib::server_TCP_Lib()
|
||||
{
|
||||
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
#ifndef SERVER_TCP_LIB_H
|
||||
#define SERVER_TCP_LIB_H
|
||||
|
||||
|
||||
class server_TCP_Lib
|
||||
{
|
||||
public:
|
||||
server_TCP_Lib();
|
||||
};
|
||||
|
||||
#endif // SERVER_TCP_LIB_H
|
@@ -1,27 +0,0 @@
|
||||
QT -= gui
|
||||
|
||||
CONFIG += c++11 console
|
||||
CONFIG -= app_bundle
|
||||
|
||||
# The following define makes your compiler emit warnings if you use
|
||||
# any Qt feature that has been marked deprecated (the exact warnings
|
||||
# depend on your compiler). Please consult the documentation of the
|
||||
# deprecated API in order to know how to port your code away from it.
|
||||
DEFINES += QT_DEPRECATED_WARNINGS
|
||||
|
||||
# You can also make your code fail to compile if it uses deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
SOURCES += \
|
||||
main.cpp \
|
||||
my_tcp_lib.cpp
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
|
||||
HEADERS += \
|
||||
my_tcp_lib.h
|
@@ -1,26 +0,0 @@
|
||||
#include <iostream>
|
||||
#include "my_tcp_lib.h"
|
||||
|
||||
|
||||
int main(/*int argc, char *argv[]*/)
|
||||
{
|
||||
client_TCP_Lib client;
|
||||
|
||||
while ( client.connectViaSocks5Proxy("127.0.0.1", 9050, "home.obermui.de", 30356) /*!= 0*/ ) {
|
||||
std::cout << "Error: Connect to Server failed: " << client.getLastError() << std::endl;
|
||||
sleep(1);
|
||||
}
|
||||
std::cout << "Status: " << client.getLastError() << std::endl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
@@ -1,288 +0,0 @@
|
||||
#include "my_tcp_lib.h"
|
||||
|
||||
|
||||
|
||||
client_TCP_Lib::client_TCP_Lib()
|
||||
: connectionSocket(-1)
|
||||
{
|
||||
//Inizialisieren winsocks
|
||||
#ifdef __WIN32
|
||||
WSADATA wsaData;
|
||||
if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0) {
|
||||
perror("WSAStartup failed");
|
||||
exit(15);
|
||||
}
|
||||
#endif
|
||||
#ifdef linux
|
||||
//Signal Ignorieren: SIGPIPE
|
||||
signal(SIGPIPE, SIG_IGN); // IGNORE SIGPIPE: if server close Connection, don't stop Program
|
||||
#endif
|
||||
}
|
||||
|
||||
client_TCP_Lib::~client_TCP_Lib()
|
||||
{
|
||||
closeSocket();
|
||||
//cleanup winsocks
|
||||
#ifdef __WIN32
|
||||
WSACleanup();
|
||||
#endif
|
||||
}
|
||||
|
||||
std::string client_TCP_Lib::getLastError()
|
||||
{
|
||||
return this->errorMessage;
|
||||
}
|
||||
|
||||
int client_TCP_Lib::connectTo(const std::string &serverIPv4, const unsigned short &serverPort)
|
||||
{
|
||||
if(this->isConnected()) {
|
||||
this->setErrorMessage("Already connected.");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Create a SOCKET for connecting to server
|
||||
if ( (connectionSocket = socket(AF_INET, SOCK_STREAM , 0)) == -1 ) {
|
||||
this->setErrorMessage("Creating socket failed", true);
|
||||
return 2;
|
||||
}
|
||||
|
||||
//Setup SettingsStruckt with protocolltype ip and port
|
||||
memset(&serverAddress, 0, sizeof (serverAddress));
|
||||
serverAddress.sin_addr.s_addr = inet_addr(serverIPv4.c_str());
|
||||
serverAddress.sin_family = AF_INET;
|
||||
serverAddress.sin_port = htons( serverPort );
|
||||
|
||||
//Connect to remote server
|
||||
if ( connect(connectionSocket , reinterpret_cast< struct sockaddr * >(&serverAddress) , sizeof(serverAddress)) == -1 ) {
|
||||
this->setErrorMessage("Connect to server '" + serverIPv4 + ":" + std::to_string(serverPort) + "' failed", true, true);
|
||||
return 3;
|
||||
}
|
||||
|
||||
this->setErrorMessage( ("Connected to: " + serverIPv4 + ":" + std::to_string(serverPort)) );
|
||||
return 0;
|
||||
}
|
||||
|
||||
int client_TCP_Lib::connectViaSocks4Proxy(const std::string &proxyIPv4, const unsigned short &proxyPort, const std::string &serverIPv4, const unsigned short &serverPort,
|
||||
const std::string &proxyUserName)
|
||||
{
|
||||
int iResult = 0;
|
||||
size_t nlen;
|
||||
unsigned char msg[512]; //generally we don't need a big array but domains names can be long some times.
|
||||
memset(msg, 0, sizeof (msg));
|
||||
|
||||
//Connect to Proxy
|
||||
if( (iResult = connectTo(proxyIPv4, proxyPort)) != 0)
|
||||
return iResult;
|
||||
|
||||
msg[0] = 0x04; // Socks4 Standart
|
||||
msg[1] = 0x01; // 1 ist die Verbindungsanfrage
|
||||
msg[2] = static_cast<unsigned char>(serverPort>>8); //Server Port: Split 2 Byte short in 2 * 1Byte UChar
|
||||
msg[3] = static_cast<unsigned char>(serverPort); //..
|
||||
|
||||
size_t pos = 0;
|
||||
std::string addr = serverIPv4;
|
||||
addr.push_back('.');
|
||||
for(int i = 4; i < 8; i++) {
|
||||
if( (pos = addr.find(".")) == std::string::npos ) {
|
||||
this->setErrorMessage("Invalid server IPv4 address: '" + serverIPv4 + "'.", false, true);
|
||||
return 4;
|
||||
}
|
||||
msg[i] = static_cast<unsigned char>( atoi(addr.substr(0, pos).c_str()) );
|
||||
addr.erase(0, pos + 1);
|
||||
}
|
||||
|
||||
strcpy(reinterpret_cast<char*>(&msg[8]), proxyUserName.c_str()); // Caste die array pos 8 in pointer und copy von da weg den Benutzernamen rein; wenn name ="" => copy ""
|
||||
msg[ 8 + proxyUserName.length() ] = 0x00; // Am ende des benutzernamens füge 0x00 hinzu == ende des namens // wenn name nichts: ann stelle 8;
|
||||
nlen = 8 + proxyUserName.length() +1 ; // speichere letzte benütze position
|
||||
|
||||
//Send server ip, port, username to server
|
||||
if (send(connectionSocket, reinterpret_cast<char*>( msg ), nlen, 0) == -1) {
|
||||
this->setErrorMessage("Send data to proxy failed", true, true);
|
||||
return 5;
|
||||
}
|
||||
|
||||
//Recive Status from Proxy
|
||||
if( (iResult = static_cast<int>( recv(connectionSocket, reinterpret_cast<char*>( msg ), 8, 0))) == 0) {
|
||||
this->setErrorMessage("Proxy closed connection while reciving status.", false, true);
|
||||
return 6;
|
||||
} else if (iResult < 0) {
|
||||
this->setErrorMessage("Reciving status from proxy failed", true, true);
|
||||
return 7;
|
||||
}
|
||||
|
||||
//Check Proxy Reply:
|
||||
switch (msg[1]) {
|
||||
case 90:
|
||||
this->setErrorMessage("Connected via proxy " + proxyIPv4 + ":" + std::to_string(proxyPort) + " to " + serverIPv4 + ":" + std::to_string(serverPort) + ".");
|
||||
return 0;
|
||||
case 91:
|
||||
this->setErrorMessage("Proxy sended error: Request rejected or failed.", false, true);
|
||||
return 11;
|
||||
case 92:
|
||||
this->setErrorMessage("Proxy sended error: Request rejected becasue SOCKS server cannot connect to identd on the client.", false, true);
|
||||
return 12;
|
||||
case 93:
|
||||
this->setErrorMessage("Proxy sended error: Request rejected because the client program and identd report different user-ids.", false, true);
|
||||
return 13;
|
||||
default:
|
||||
this->setErrorMessage("Unknown proxy reply: " + std::to_string(msg[1]), false, true);
|
||||
return 20;
|
||||
}
|
||||
}
|
||||
|
||||
int client_TCP_Lib::connectViaSocks5Proxy(const std::string &proxyIPv4, const unsigned short &proxyPort, const std::string &domainName, const unsigned short &serverPort, const std::string &proxyUserName, const std::string &proxyPassword)
|
||||
{
|
||||
size_t nlen = 0;
|
||||
unsigned char msg[512];//generally we don't need a big array but domains names can be long some times.
|
||||
memset(msg, 0, sizeof (msg));
|
||||
|
||||
if( connectTo(proxyIPv4, proxyPort) != 0)
|
||||
return -1;
|
||||
|
||||
//Sending wanted Mehtoden:
|
||||
msg[0] = 0x05; // Socks 5 Version
|
||||
msg[1] = 0x02; // Acceptiert 2 Möglichkeiten für Autentifizierung:
|
||||
msg[2] = 0x00; // 1. Keine Authentifizierung benötigt
|
||||
msg[3] = 0x02; // 2. Authentifizierung mit Benutzername und Passwort
|
||||
|
||||
|
||||
if ( send(this->connectionSocket, reinterpret_cast<char*>( msg ), 4 /* msg[0->3] */, 0) == -1 ) {
|
||||
this->setErrorMessage("Send methods to Proxy failed.", false, true);
|
||||
return 10;
|
||||
|
||||
} else if( recv(this->connectionSocket, reinterpret_cast<char*>( msg ), 2, 0) <= 0 ) {
|
||||
this->setErrorMessage("Recive Methode from Proxy failed.", false, true);
|
||||
return 11;
|
||||
}
|
||||
|
||||
if(msg[1] == 0xFF) {
|
||||
this->setErrorMessage("Proxy doesn't accept methode(s).", false, true);
|
||||
return 12;
|
||||
|
||||
} else if (msg[1] == 0x02) { //username/password authentication
|
||||
msg[0] = 0x01;
|
||||
msg[1] = static_cast<unsigned char>( proxyUserName.length() );
|
||||
strcpy(reinterpret_cast<char*>( &msg[2]), proxyUserName.c_str());
|
||||
nlen = 2 + msg[1];
|
||||
msg[ nlen++ ] = static_cast<unsigned char>(proxyPassword.length());
|
||||
strcpy(reinterpret_cast<char*>(&msg[nlen]), proxyPassword.c_str());
|
||||
nlen += proxyPassword.length();
|
||||
|
||||
if (send(this->connectionSocket,reinterpret_cast<char*>(msg), nlen, 0) == -1) {
|
||||
this->setErrorMessage("Send username and password to proxy failed.", false, true);
|
||||
return 13;
|
||||
|
||||
} else if( recv(this->connectionSocket,reinterpret_cast<char*>( msg ), 8, 0) <= 0) {
|
||||
this->setErrorMessage("Recive status after sending login data to Proxy failed.", false, true);
|
||||
return 14;
|
||||
}
|
||||
|
||||
if (msg[1] != 0x00) {
|
||||
this->setErrorMessage("Authenticating tp proxy with User and Password failed.", false, true);
|
||||
return 15;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (msg[1] == 0x00) { //no authentication or alredy logged in
|
||||
|
||||
msg[0] = 0x05;
|
||||
msg[1] = 0x01;
|
||||
msg[2] = 0x00;
|
||||
msg[3] = 0x03;
|
||||
msg[4] = static_cast<unsigned char>( domainName.length() );
|
||||
strcpy(reinterpret_cast<char*>( &msg[5] ), domainName.c_str());
|
||||
nlen = domainName.length() + 5;
|
||||
msg[nlen++] = static_cast<unsigned char>( serverPort>>8 );
|
||||
msg[nlen++] = static_cast<unsigned char>( serverPort );
|
||||
|
||||
} else {
|
||||
this->setErrorMessage("Proxy sended unknown methode: " + std::to_string(msg[1]), false, true);
|
||||
return 16;
|
||||
}
|
||||
|
||||
if (send(this->connectionSocket,reinterpret_cast<char*>( msg ), nlen,0) == -1) {
|
||||
this->setErrorMessage("Send server address to proxy failed.", false, true);
|
||||
return 17;
|
||||
|
||||
} else if( recv(this->connectionSocket,reinterpret_cast<char*>( msg ), 8, 0) <= 0 ) {
|
||||
this->setErrorMessage("Recive connect status from Proxy failed.", false, true);
|
||||
return 18;
|
||||
}
|
||||
|
||||
|
||||
switch (msg[1]) {
|
||||
case 0x00:
|
||||
this->setErrorMessage("Connected via proxy " + proxyIPv4 + ":" + std::to_string(proxyPort) + " to " + domainName + ":" + std::to_string(serverPort) + ".");
|
||||
return 0;
|
||||
case 0x01:
|
||||
this->setErrorMessage("Request rejected or failed.", false, true);
|
||||
return 21;
|
||||
case 0x02:
|
||||
this->setErrorMessage("Connection not allowed by ruleset.", false, true);;
|
||||
return 22;
|
||||
case 0x03:
|
||||
this->setErrorMessage("Network unreachable.", false, true);;
|
||||
return 23;
|
||||
case 0x04:
|
||||
this->setErrorMessage("Host unreachable.", false, true);;
|
||||
return 24;
|
||||
case 0x05:
|
||||
this->setErrorMessage("Connection refused by destination host.", false, true);;
|
||||
return 25;
|
||||
case 0x06:
|
||||
this->setErrorMessage("TTL expired.", false, true);;
|
||||
return 26;
|
||||
case 0x07:
|
||||
this->setErrorMessage("Command not supported / protocol error.", false, true);;
|
||||
return 27;
|
||||
case 0x08:
|
||||
this->setErrorMessage("Address type not supported.", false, true);;
|
||||
return 28;
|
||||
default:
|
||||
this->setErrorMessage("Unknown error: " +std::to_string( msg[1] ), false, true);
|
||||
return 30;
|
||||
}
|
||||
}
|
||||
|
||||
int client_TCP_Lib::getConnectionSocket()
|
||||
{
|
||||
return connectionSocket;
|
||||
}
|
||||
|
||||
bool client_TCP_Lib::isConnected()
|
||||
{
|
||||
return (this->connectionSocket != -1);
|
||||
}
|
||||
|
||||
int client_TCP_Lib::closeSocket()
|
||||
{
|
||||
int res;
|
||||
#ifdef __WIN32
|
||||
res = closesocket(connectionSocket);
|
||||
#endif
|
||||
#ifdef linux
|
||||
res = close(connectionSocket);
|
||||
#endif
|
||||
this->connectionSocket = -1;
|
||||
return res;
|
||||
}
|
||||
|
||||
std::string client_TCP_Lib::getIpByName(std::string name)
|
||||
{
|
||||
struct hostent * record = gethostbyname(name.c_str());
|
||||
return (record == nullptr) ? "" : inet_ntoa( *reinterpret_cast<in_addr*>(record->h_addr) );
|
||||
}
|
||||
|
||||
std::string client_TCP_Lib::getHostName()
|
||||
{
|
||||
char buffer[255];
|
||||
return ( gethostname(buffer, (sizeof (buffer) / sizeof (char))) == -1) ? "" : buffer;
|
||||
}
|
||||
|
||||
void client_TCP_Lib::setErrorMessage(const std::string &txt, bool withPerrorText, bool closesocket)
|
||||
{
|
||||
this->errorMessage = txt + ((withPerrorText) ? ": " + std::string( std::strerror(errno) ) : "");
|
||||
if(closesocket)
|
||||
closeSocket();
|
||||
}
|
@@ -1,54 +0,0 @@
|
||||
#ifndef MY_TCP_LIB_H
|
||||
#define MY_TCP_LIB_H
|
||||
|
||||
#include <string>
|
||||
#include <unistd.h> // close()
|
||||
#include <cstring> // std::strerror
|
||||
|
||||
#ifdef __WIN32
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#ifdef linux
|
||||
#include <sys/socket.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <netdb.h> // for hostent ( getIpByName-Func )
|
||||
#include <signal.h> // für signal() function: ignore SIGPIPE
|
||||
#endif
|
||||
|
||||
class client_TCP_Lib
|
||||
{
|
||||
public:
|
||||
client_TCP_Lib();
|
||||
~client_TCP_Lib();
|
||||
|
||||
int connectTo(const std::string &serverIPv4, const unsigned short &serverPort);
|
||||
int connectViaSocks4Proxy(const std::string &proxyIPv4, const unsigned short &proxyPort,
|
||||
const std::string &serverIPv4, const unsigned short &serverPort,
|
||||
const std::string &proxyUserName = "");
|
||||
|
||||
int connectViaSocks5Proxy(const std::string &proxyIPv4, const unsigned short &proxyPort,
|
||||
const std::string &domainName, const unsigned short &serverPort,
|
||||
const std::string &proxyUserName = "", const std::string &proxyPassword = "");
|
||||
|
||||
int getConnectionSocket();
|
||||
int closeSocket();
|
||||
|
||||
|
||||
bool isConnected();
|
||||
std::string getLastError();
|
||||
|
||||
std::string getIpByName(std::string name);
|
||||
std::string getHostName();
|
||||
|
||||
private:
|
||||
std::string errorMessage;
|
||||
sockaddr_in serverAddress;
|
||||
int connectionSocket;
|
||||
|
||||
void setErrorMessage(const std::string &txt, bool withPerrorText = false, bool closesocket = false);
|
||||
|
||||
};
|
||||
|
||||
#endif // MY_TCP_LIB_H
|
@@ -1,5 +1,30 @@
|
||||
## Changelog
|
||||
|
||||
#4.0.4
|
||||
* Fix Error: Konnte Position von script async= nicht finden
|
||||
|
||||
#4.0.2/3
|
||||
* Entferne /embed bei Vivo und ignoriere Groß-& Kleinschreib. Bei -l & -g
|
||||
|
||||
#4.0.1
|
||||
* Behebe falsche Position von der 0 bei der Zeit im LogFile
|
||||
|
||||
#4.0.0
|
||||
* Füge Architekture ARM v6 hinzu
|
||||
|
||||
#3.9.1/2/3
|
||||
* Behebe Fehler bei der Replace Funktion + Farben bei der LogFile ausgabe
|
||||
|
||||
#3.9.0
|
||||
* Neu: Möglichkeit, mehrere Dateien mit -o anzugeben
|
||||
* Im DefaultFile: Schreibe nun, wenn nicht verändert mit -o Ausgabe ins LogFile
|
||||
|
||||
#3.8.0
|
||||
* Log System
|
||||
|
||||
#3.6.3 -> 3.8
|
||||
* SIEHE IN GIT COMMITS
|
||||
|
||||
### v3.6.2
|
||||
* Füge ChangeLog Datei hinzu
|
||||
|
||||
|
@@ -12,12 +12,20 @@ Aufruf: S_New4 [Unteroption] [PARAMETER]...
|
||||
s.to umwandeln.
|
||||
|
||||
### Unteroptionen:
|
||||
"--help" Gibt dieses Helpmenue aus.
|
||||
"--version" Gibt die Version des Programmes aus.
|
||||
"--update" Modus um das Programm zu aktualisieren.
|
||||
Updater funktioniert nur bei: Windows/Linux -
|
||||
x86 Architekutur - 64 Bit Systemen und Arm6 32 Bit.
|
||||
"--remove" Modus um Ordner mit Einstellungen/
|
||||
Zwischengespeicherte-Dateien zu löschen.
|
||||
"url" Modus um eigene Redirect-Links umzuwandeln.
|
||||
"default" Modus um Links von Serien zu bekommen.
|
||||
"search" Modus um Serien zu suchen.
|
||||
"info" Modus um Infos einer Serien zu bekommen.
|
||||
"clean" Modus um Cookie-Files zu löschen.
|
||||
"news" Modus um neusten 75 Folgen auf s.to zu sehen.
|
||||
"log" Modus um Log Datei zu sehen / leeren.
|
||||
|
||||
### Verzeichnisse:
|
||||
Ordner zum zwischenspeichern der Cookies und der AccountNummer:
|
||||
@@ -32,7 +40,7 @@ Aufruf: S_New4 [Unteroption] [PARAMETER]...
|
||||
##### S_New4 hat einen Updater der für folgende Systeme funktioniert:
|
||||
##### * Windows, 64 Bit Programm ( Die neue Version ist immer 64 Bit ), x86 Architektur
|
||||
##### * Linux, 64 Bit Programm ( Die neue Version ist immer 64 Bit ), x86 Architektur
|
||||
|
||||
##### * Linux, 32 Bit Programm ( Die neue Version ist immer 32 Bit ), ARM v6
|
||||
|
||||
|
||||
|
||||
@@ -50,7 +58,7 @@ Aufruf: S_New4 [Unteroption] [PARAMETER]...
|
||||
|
||||
#### g++
|
||||
```sh
|
||||
g++ --std=c++14 accountManager.cpp accountManager.h main.cpp pageManager.cpp pageManager.h parameterManager.cpp parameterManager.h programManager.cpp programManager.h -lcurl -lpthread -o S_New4
|
||||
g++ --std=c++14 accountManager.cpp accountManager.h main.cpp pageManager.cpp pageManager.h parameterManager.cpp parameterManager.h programManager.cpp programManager.h logger.h logger.cpp -lcurl -lpthread -o S_New4
|
||||
```
|
||||
|
||||
#### QT-Style:
|
||||
@@ -58,7 +66,7 @@ Aufruf: S_New4 [Unteroption] [PARAMETER]...
|
||||
qmake && make
|
||||
```
|
||||
|
||||
### Windows: (x86_64 Architekture)
|
||||
### Windows: (nur x86_64 Architekture, wenn beigefügte Libraries verwendet werden möchten)
|
||||
|
||||
##### Abhängigkeiten:
|
||||
|
||||
|
0
S_New4/src/.parameterManager.h.~6ae9c21
Normal file
0
S_New4/src/.parameterManager.h.~6ae9c21
Normal file
@@ -26,7 +26,8 @@ SOURCES += \
|
||||
pageManager.cpp \
|
||||
parameterManager.cpp \
|
||||
programManager.cpp \
|
||||
accountManager.cpp
|
||||
accountManager.cpp \
|
||||
logger.cpp
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
@@ -37,4 +38,5 @@ HEADERS += \
|
||||
pageManager.h \
|
||||
parameterManager.h \
|
||||
programManager.h \
|
||||
accountManager.h
|
||||
accountManager.h \
|
||||
logger.h
|
||||
|
87
S_New4/src/logger.cpp
Normal file
87
S_New4/src/logger.cpp
Normal file
@@ -0,0 +1,87 @@
|
||||
#include "logger.h"
|
||||
|
||||
|
||||
|
||||
Logger::Logger(std::string logFilePath)
|
||||
: filePath(logFilePath)
|
||||
{
|
||||
if(openFile(filePath))
|
||||
exit(234);
|
||||
}
|
||||
|
||||
Logger::~Logger()
|
||||
{
|
||||
file.close();
|
||||
}
|
||||
|
||||
std::string Logger::getFilePath()
|
||||
{
|
||||
return filePath;
|
||||
}
|
||||
|
||||
int Logger::logCommandLine(std::string logText)
|
||||
{
|
||||
std::time_t now = std::time(nullptr);
|
||||
struct tm *tm_now = localtime(&now);
|
||||
std::string date((tm_now->tm_mday < 10 ? "0" : "") + std::to_string(tm_now->tm_mday) + "." +
|
||||
(tm_now->tm_mon +1 < 10 ? "0" : "" ) + std::to_string(tm_now->tm_mon +1) + "." +
|
||||
std::to_string(1900 + tm_now->tm_year) + " - " +
|
||||
(tm_now->tm_hour < 10 ? "0" : "" ) + std::to_string(tm_now->tm_hour) + ":" +
|
||||
(tm_now->tm_min < 10 ? "0" : "" ) + std::to_string(tm_now->tm_min));
|
||||
return writetoFile( " -> " + date + ": \"" + logText + "\"");
|
||||
}
|
||||
|
||||
int Logger::logSubLine(std::string line)
|
||||
{
|
||||
return writetoFile("\t\t" + line);
|
||||
}
|
||||
|
||||
std::string Logger::getLogText()
|
||||
{
|
||||
return std::string((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
|
||||
}
|
||||
|
||||
int Logger::clearFile()
|
||||
{
|
||||
//close it
|
||||
file.close();
|
||||
|
||||
//open it empty + close it
|
||||
std::ofstream ofs;
|
||||
ofs.open(filePath, std::ofstream::out | std::ofstream::trunc);
|
||||
if(!ofs.is_open()) {
|
||||
perror("Open File for clearing failed");
|
||||
return 35;
|
||||
}
|
||||
ofs.close();
|
||||
|
||||
//reopen it
|
||||
return openFile(filePath);
|
||||
}
|
||||
|
||||
int Logger::writetoFile(std::string t)
|
||||
{
|
||||
file << t << std::endl;
|
||||
return file.good();
|
||||
}
|
||||
|
||||
int Logger::openFile(std::string path)
|
||||
{
|
||||
file.open(path, std::ios::in | std::ios::out | std::ios::app);
|
||||
if(!file.is_open()) {
|
||||
//Exestiert nicht => Erstelle Datei
|
||||
std::ofstream ofs(path);
|
||||
if(!ofs.is_open()) {
|
||||
perror((" => Error: Konnte LogDatei nicht erstellen: '" + path + "'").c_str());
|
||||
return (5656);
|
||||
} else {
|
||||
ofs.close();
|
||||
}
|
||||
file.open(path);
|
||||
if(!file.is_open()) {
|
||||
perror((" => Error: Konnte LogDatei nicht öffnen: '" + path + "'").c_str());
|
||||
return (5657);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
31
S_New4/src/logger.h
Normal file
31
S_New4/src/logger.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef LOGGER_H
|
||||
#define LOGGER_H
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <streambuf>
|
||||
#include <ctime> // std::time, localtime ...
|
||||
|
||||
|
||||
|
||||
class Logger
|
||||
{
|
||||
public:
|
||||
Logger(std::string logFilePath);
|
||||
~Logger();
|
||||
std::string getFilePath();
|
||||
std::fstream file;
|
||||
|
||||
int logCommandLine(std::string logText);
|
||||
int logSubLine(std::string line);
|
||||
std::string getLogText();
|
||||
int clearFile();
|
||||
|
||||
private:
|
||||
std::string filePath;
|
||||
int writetoFile(std::string t);
|
||||
int openFile(std::string path);
|
||||
};
|
||||
|
||||
#endif // LOGGER_H
|
@@ -12,6 +12,9 @@ int main(int argc, char *argv[])
|
||||
std::cout << " => Error: Das Auswerten der Parameter ist fehlgeschlagen!" << std::endl;
|
||||
return res;
|
||||
} else {
|
||||
return mainProgram.start(&settings);
|
||||
if( (res = mainProgram.start(&settings)) != 0 )
|
||||
std::cout << (" => Entschuldigung, ein Fehler ist aufgetreten!\n Bei wiederholtem Auftreten verwenden Sie -d, --debug für mehr Infos\n"
|
||||
" oder --update um, falls vorhanden, auf eine neuere Version des Programms zu wechseln") << std::endl;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
@@ -49,7 +49,7 @@ static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
|
||||
return written;
|
||||
}
|
||||
|
||||
Reply PageManager::getServerRequest(std::string Url, bool useCookies, std::string data, bool generateCookieFile)
|
||||
Reply PageManager::getServerRequest(std::string Url, bool useCookies, std::string data, bool generateCookieFile, bool UrlAfterRedirectOnlyNeeded)
|
||||
{
|
||||
CURL *curl;
|
||||
CURLcode res;
|
||||
@@ -97,6 +97,27 @@ Reply PageManager::getServerRequest(std::string Url, bool useCookies, std::strin
|
||||
perror((std::string("\33[2K\r => Error: curl_easy_perform() failed: ") + curl_easy_strerror(res)).c_str());
|
||||
return Reply("-1");
|
||||
} else {
|
||||
|
||||
//Try to use to (new) url
|
||||
if(UrlAfterRedirectOnlyNeeded) {
|
||||
res = curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url);
|
||||
if( res != CURLE_OK || !url ) {
|
||||
perror((std::string("\33[2K\r => Error: curl_easy_getinfo failed: ") + curl_easy_strerror(res)).c_str());
|
||||
return Reply("-1");
|
||||
} else {
|
||||
if(url != Url) {
|
||||
if(debugMode)
|
||||
std::cout << " => WARNING: Use Url after Error getServerRequest, cause it chanced and only url needed" << std::endl;
|
||||
Url = url; // after curl_easy_cleanup(), url (char * ) == invalid
|
||||
curl_easy_cleanup(curl);
|
||||
return Reply("", Url);
|
||||
} else {
|
||||
if(debugMode)
|
||||
std::cout << " => WARNING: Want to Use Url after Error getServerRequest, but url didn't chacnge, too" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::cout << std::string( "\33[2K\r => Warning: Versuch " + std::to_string(timeout) + " von " + std::to_string(maxTimeout) + ": curl_easy_perform() failed: " + curl_easy_strerror(res) )<< std::flush;
|
||||
sleep(1);
|
||||
}
|
||||
@@ -208,7 +229,9 @@ int PageManager::login(Account account)
|
||||
if(debugMode)
|
||||
std::cout << " > Melde mit neuem Account an: Email: " << account.Email << " Passowort: " << account.Password << std::endl;
|
||||
|
||||
std::string html = getServerRequest("https://s.to/login", false, std::string("email=" + account.Email + "&password=" + account.Password), true ).html;
|
||||
auto reply = getServerRequest("https://serienstream.sx/login", false, std::string("email=" + account.Email + "&password=" + account.Password), true );
|
||||
std::string html = reply.html;
|
||||
|
||||
if(html == "" )
|
||||
return 0;
|
||||
else if (html.find("Das Feld Email muss eine gültige E-Mail-Adresse enthalten.") != std::string::npos)
|
||||
@@ -230,19 +253,19 @@ int PageManager::login(Account account)
|
||||
|
||||
std::string PageManager::getUrlAfterRedirect(std::string Url)
|
||||
{
|
||||
return getServerRequest(Url, true).url;
|
||||
return getServerRequest(Url, true, "", false, true).url;
|
||||
}
|
||||
|
||||
std::string PageManager::checkName(std::string Name)
|
||||
{
|
||||
std::string name = replace(Name, " ", "-");
|
||||
|
||||
std::string html = getServerRequest("https://s.to/serie/stream/" + name).html;
|
||||
std::string html = getServerRequest("https://serienstream.sx/serie/stream/" + name).html;
|
||||
if(html.find("Die gewünschte Serie wurde nicht gefunden oder ist im Moment deaktiviert.") != std::string::npos) {
|
||||
std::cout << "\33[2K\r => Error: Die gewünschte Serie wurde nicht gefunden oder ist im Moment deaktiviert: '" << Name << "'" << std::endl;
|
||||
std::cout << "\33[2K\r => Die gewünschte Serie wurde nicht gefunden oder ist im Moment deaktiviert: '" << Name << "'" << std::endl;
|
||||
return "-1";
|
||||
} else if (html.find("404 - Seite nicht gefunden") != std::string::npos) {
|
||||
std::cout << "\33[2K\r => Error: Ungültiger Name: '" << Name << "'" << std::endl;
|
||||
std::cout << "\33[2K\r => Ungültiger Name: '" << Name << "'" << std::endl;
|
||||
return "-1";
|
||||
} else if (html == "-1" || html == "") {
|
||||
return "-2";
|
||||
@@ -255,23 +278,28 @@ std::string PageManager::checkName(std::string Name)
|
||||
|
||||
std::string PageManager::getLinks(std::string HTML)
|
||||
{
|
||||
//Entderne alles vor den Links
|
||||
size_t pos = HTML.find("<ul class=\"row\">");
|
||||
if(pos == std::string::npos) {
|
||||
std::cout << " => Error: Konnte Position von \"" << "<ul class=\"row\">" << " nicht finden" <<std::endl;
|
||||
return "";
|
||||
}
|
||||
|
||||
HTML.erase(0,pos);
|
||||
|
||||
pos = HTML.find("<script async=");
|
||||
//Entferne alles nach den Links
|
||||
//pos = HTML.find("<script async=");
|
||||
pos = HTML.find("<script data-cfasync=\"");
|
||||
if(pos == std::string::npos) {
|
||||
std::cout << " => Error: Konnte Position von \"" << "<script async=" << "\" nicht finden" <<std::endl;
|
||||
return "";
|
||||
}
|
||||
|
||||
HTML.erase(pos,HTML.length() - pos);
|
||||
|
||||
//Erstezte alle NewLine Zeichen durch nichts => 1Ne Zeile
|
||||
HTML = replace(HTML, "\n", ""); //HTML.replace("\n","").replace("</span>", "\n");
|
||||
//Erstezte alle </span> Zeichen durch \n => 1 Hoster pro Zeil
|
||||
HTML = replace(HTML, "</span>", "\n");
|
||||
//Greppe alle Zeilen mit Hoster
|
||||
HTML = grep(HTML,"href=\"/redirect/");
|
||||
|
||||
std::istringstream iStrStream( HTML + "\n" );
|
||||
@@ -334,15 +362,6 @@ std::string PageManager::getLinks(std::string HTML)
|
||||
|
||||
}
|
||||
|
||||
std::string PageManager::replace(std::string str, std::string substr1, std::string substr2)
|
||||
{
|
||||
if(substr1 == "")
|
||||
return str;
|
||||
size_t index = 0;
|
||||
for (index = str.find(substr1, index); index != std::string::npos; index = str.find(substr1, index + substr1.length()) )
|
||||
str.replace(index, substr1.length(), substr2);
|
||||
return str;
|
||||
}
|
||||
|
||||
int PageManager::counterContains(std::string text, std::string substring_with_prozent_i_for_number, int starte_mit_dieser_Zahl)
|
||||
{
|
||||
@@ -446,25 +465,27 @@ int PageManager::compareVersions(std::string Version1, std::string Version2)
|
||||
|
||||
}
|
||||
|
||||
int PageManager::writeToFile(std::string path, std::string text)
|
||||
int PageManager::writeToFile(std::vector<std::string> paths, std::string text)
|
||||
{
|
||||
if(path == "")
|
||||
if(paths.size() == 0)
|
||||
return 0;
|
||||
std::ofstream of;
|
||||
of.open(path, std::ios::out | std::ios::app);
|
||||
if(!of.is_open()) {
|
||||
perror(" => Error: Konnte Output Datei nicht öffnen");
|
||||
return -1;
|
||||
for(auto path : paths) {
|
||||
of.open(path, std::ios::out | std::ios::app);
|
||||
if(!of.is_open()) {
|
||||
perror((" => Error: Konnte Output: '" + path + "' Datei nicht öffnen").c_str());
|
||||
return -1;
|
||||
}
|
||||
of << text << std::endl;
|
||||
of.close();
|
||||
}
|
||||
of << text << std::endl;
|
||||
of.close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::string PageManager::chooseHosterLink(std::string HosterList, std::string Hoster_with_Highst_Priority_at_First, std::string languages_with_highst_priority_at_first)
|
||||
std::string PageManager::chooseHosterLink(std::string HosterList, std::string Hoster_with_Highst_Priority_at_First, std::string languages_with_highst_priority_at_first, bool withWarnMsg)
|
||||
{
|
||||
std::istringstream SListLang ( replace( languages_with_highst_priority_at_first, ",", "\n") + "\n" );
|
||||
std::istringstream SListHoster( replace( Hoster_with_Highst_Priority_at_First, ",", "\n") + "\n" );
|
||||
|
||||
int LangId = 0;
|
||||
size_t pos = 0;
|
||||
@@ -473,13 +494,16 @@ std::string PageManager::chooseHosterLink(std::string HosterList, std::string Ho
|
||||
|
||||
//Für jede Sprache:
|
||||
while (getline(SListLang, langId).good()) {
|
||||
//Erst in schleife: weil es sonst ein problem wegen dem readdevice beim 2.ten durchlauf gibt
|
||||
std::istringstream SListHoster( replace( Hoster_with_Highst_Priority_at_First, ",", "\n") + "\n" );
|
||||
|
||||
if(langId == "")
|
||||
continue;
|
||||
else if ( langId == "GerDub" )
|
||||
else if ( upper_string( langId ) == "GERDUB" )
|
||||
LangId=1;
|
||||
else if ( langId == "Eng" )
|
||||
else if ( upper_string( langId ) == "ENG" )
|
||||
LangId=2;
|
||||
else if ( langId == "GerSub" )
|
||||
else if ( upper_string( langId ) == "GERSUB" )
|
||||
LangId=3;
|
||||
else {
|
||||
std::cout << " => Error: Unbekannte Sprache: " << langId << std::endl;
|
||||
@@ -491,17 +515,31 @@ std::string PageManager::chooseHosterLink(std::string HosterList, std::string Ho
|
||||
//std::cout << "Alle Folgen mi der Sprache " << langId << ":\n'" << LanguageSortedHoster << "'" << std::endl;
|
||||
|
||||
//Wenn keine Links zu der Sprache gefunden worden sind
|
||||
if(LanguageSortedHoster == "")
|
||||
if(LanguageSortedHoster == "") {
|
||||
if(withWarnMsg)
|
||||
std::cout << "Warnung: Es wurden keine Links für die Sprache '" <<langId << "' gefunden." << std::endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
//Upper all Hoster Name in List:
|
||||
for (size_t posHoster = LanguageSortedHoster.find("hoster=\""); posHoster != std::string::npos; posHoster = LanguageSortedHoster.find("hoster=\"", posHoster + 8)) {
|
||||
size_t posNextAnfz = LanguageSortedHoster.find("\"", posHoster + 8);
|
||||
if(posNextAnfz == std::string::npos) {
|
||||
std::cout << " => Error: Konnte \" in chooseHosterLink() nicht finden." << std::endl;
|
||||
break;
|
||||
} else
|
||||
LanguageSortedHoster.replace(posHoster + 8, posNextAnfz - posHoster - 8, upper_string(LanguageSortedHoster.substr(posHoster + 8, posNextAnfz - posHoster - 8)) );
|
||||
}
|
||||
|
||||
//Für jeden Angegebenen Hoster:
|
||||
while (getline(SListHoster, hoster).good()) {
|
||||
//Wenn es den hoster bei dieser prache nicht gibt, wähle nächsten
|
||||
if(LanguageSortedHoster.find("hoster=\"" + hoster + "\"") == std::string::npos) {
|
||||
//std::cout << "Hoster " << hoster << " gibt es bei der sprache" << langId << " nicht " << std::endl;
|
||||
if(LanguageSortedHoster.find( "hoster=\"" + upper_string(hoster) + "\"" ) == std::string::npos) {
|
||||
if(withWarnMsg)
|
||||
std::cout << "Warnung: Hoster " << hoster << " gibt es bei der sprache" << langId << " nicht " << std::endl;
|
||||
continue;
|
||||
}
|
||||
Line = grep(LanguageSortedHoster, ("hoster=\"" + hoster + "\"" ) );
|
||||
Line = grep(LanguageSortedHoster + "\n", ("hoster=\"" + upper_string(hoster) + "\"" ) );
|
||||
pos = Line.find("href=\"");
|
||||
if(pos == std::string::npos) {
|
||||
std::cout << " => Error: Konnte 'href=\"' in chooseHosterLink() nicht finden." << std::endl;
|
||||
@@ -518,6 +556,39 @@ std::string PageManager::chooseHosterLink(std::string HosterList, std::string Ho
|
||||
return Line.erase(pos, Line.length()-pos);
|
||||
}
|
||||
|
||||
if(withWarnMsg) {
|
||||
std::cout << "Warnung: Die Hoster '" << Hoster_with_Highst_Priority_at_First << "' gab es für die Sprache '" << langId << "' nicht." << std::endl;
|
||||
std::cout << "INFO: Andere Hoster zu dieser Sprache: \n" << LanguageSortedHoster << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
std::string PageManager::getLinkAfterHosterBasedOperation(std::string url)
|
||||
{
|
||||
size_t pos1 = 0, pos2 = 0;
|
||||
if(debugMode)
|
||||
std::cout << "Convert url: " << url << " ->"<< std::endl;
|
||||
|
||||
if((pos1 = url.find("://")) == std::string::npos) {
|
||||
std::cout << " => Error: Konnte '://' in getLinkAfterHosterBasedOperation() nicht finden." << std::endl;
|
||||
return "";
|
||||
} else if((pos2 = url.find(".", pos1 + 3)) == std::string::npos) {
|
||||
std::cout << " => Error: Konnte '.' nach '://' in getLinkAfterHosterBasedOperation() nicht finden." << std::endl;
|
||||
return "";
|
||||
}
|
||||
|
||||
std::string hoster = url.substr(pos1 + 3, pos2 - pos1 - 3);
|
||||
if(hoster == "vivo") {
|
||||
url = replace(url, "/embed/", "/");
|
||||
url = replace(url, "http://", "https://");
|
||||
|
||||
} else if (hoster == "...") {
|
||||
|
||||
}
|
||||
|
||||
if(debugMode)
|
||||
std::cout << " -> zu... " << url << std::endl;
|
||||
return url;
|
||||
}
|
||||
|
@@ -30,27 +30,27 @@ public:
|
||||
void setCookieFilePath(std::string path);
|
||||
void setDebugMode(bool status);
|
||||
|
||||
Reply getServerRequest(std::string Url, bool useCookies = false, std::string data = "", bool generateCookieFile = false);
|
||||
Reply getServerRequest(std::string Url, bool useCookies = false, std::string data = "", bool generateCookieFile = false, bool UrlAfterRedirectOnlyNeeded = false);
|
||||
int downLoadToFile(std::string filePath, std::string url);
|
||||
|
||||
int login(Account account);
|
||||
std::string getUrlAfterRedirect(std::string Url);
|
||||
std::string checkName(std::string Name);
|
||||
std::string getLinks(std::string HTML);
|
||||
std::string chooseHosterLink(std::string HosterList, std::string Hoster_with_Highst_Priority_at_First, std::string languages_with_highst_priority_at_first);
|
||||
std::string chooseHosterLink(std::string HosterList, std::string Hoster_with_Highst_Priority_at_First, std::string languages_with_highst_priority_at_first, bool withWarnMsg);
|
||||
std::string getLinkAfterHosterBasedOperation(std::string url);
|
||||
|
||||
std::string replace(std::string str, std::string substr1, std::string substr2);
|
||||
int counterContains(std::string text, std::string substring_with_prozent_i_for_number, int starte_mit_dieser_Zahl = 1);
|
||||
std::string grep(std::string text, std::string substring, bool IgnoreCaseSensetifity = false);
|
||||
std::string upper_string(const std::string& str);
|
||||
static std::string upper_string(const std::string& str);
|
||||
size_t getDate();
|
||||
std::string getExePath();
|
||||
|
||||
int compareVersions(std::string Version1, std::string Version2);
|
||||
|
||||
int writeToFile(std::string path, std::string text);
|
||||
int writeToFile(std::vector<std::string> paths, std::string text);
|
||||
|
||||
const std::string UrlPraefix = "https://s.to/serie/stream/";
|
||||
const std::string UrlPraefix = "https://serienstream.sx/serie/stream/";
|
||||
std::string sock5Proxy;
|
||||
private:
|
||||
std::string cookieFilePath;
|
||||
|
@@ -38,6 +38,7 @@ int setPaths(Settings &settings)
|
||||
settings.cookieFilePath = CacheDir + "S_New4_cookies";
|
||||
settings.accountNumberPath = CacheDir + "Account_Number";
|
||||
settings.lastUpdateDateFilePath = CacheDir + "LastUpdateDate";
|
||||
settings.logFilePath = CacheDir + "LogFile";
|
||||
|
||||
settings.accountFilePath = SettingsDir + "Accounts";
|
||||
settings.serienListPath = SettingsDir + "SerienListe";
|
||||
@@ -69,7 +70,19 @@ int manageParameter(Settings &settings, int argc, char **argv)
|
||||
return 1;
|
||||
}
|
||||
|
||||
std::vector<std::string> res = compare("help\n--help\ndefault\nurl\n--version\nsearch\ninfo\nclean\nnews\n--update\n--remove", argv[1]);
|
||||
//LogCommand...
|
||||
Logger logger(settings.logFilePath);
|
||||
std::string command;
|
||||
for (int i = 0; i < argc; ++i)
|
||||
if(argv[i])
|
||||
command += std::string(argv[i]) + " ";
|
||||
if(command.length() > 0)
|
||||
command.pop_back();
|
||||
logger.logCommandLine(command);
|
||||
|
||||
//Find out right subProgramm
|
||||
|
||||
std::vector<std::string> res = compare("help\n--help\ndefault\nurl\n--version\nsearch\ninfo\nclean\nnews\n--update\n--remove\nlog", argv[1]);
|
||||
if(res.size() != 1) {
|
||||
if(res.size() == 0)
|
||||
std::cout << " => Error: Keine Unteroption für " << argv[1] << " gefunden." << std::endl;
|
||||
@@ -118,6 +131,12 @@ int manageParameter(Settings &settings, int argc, char **argv)
|
||||
} else if (isSame(argv, "--remove")) {
|
||||
return unterOption_RemoveSettings_or_CacheDir(&settings, argc, argv);
|
||||
|
||||
} else if (isSame(argv, "log")) {
|
||||
if(unterOption_printLogFile(&settings, argc, argv) != -1)
|
||||
return 49;
|
||||
logger.logCommandLine(command);
|
||||
return -1;
|
||||
|
||||
} else {
|
||||
std::cout << " => Error: Invalid option '" << argv[1] << "', but not detected in compare-Function" << std::endl;
|
||||
return 3;
|
||||
@@ -166,7 +185,13 @@ int loadDefaulOptions(Settings &settings)
|
||||
|
||||
ofs << "# -> Einstellung gleicht dem Parameter -o [Pfad], --output-file," << std::endl;
|
||||
ofs << "# falls dieser in der ausgeführeten Unterfunktion vorhanden ist:" << std::endl;
|
||||
ofs << "#OutputFile=/tmp/a" << std::endl << std::endl;
|
||||
ofs << "# Hier auch mehrere Pfade Möglich..:" << std::endl;
|
||||
ofs << "#OutputFile=/tmp/a" << std::endl;
|
||||
ofs << "#OutputFile=/tmp/b" << std::endl;
|
||||
ofs << "# -> Log-to-LogFile: Speichere Ausgabe im LogFile - LogFile u.a. beim" << std::endl;
|
||||
ofs << "# JD2-Renamer Skript nötig. Auch anderer Pfad möglich." << std::endl;
|
||||
ofs << "OutputFile=" << settings.logFilePath<< std::endl << std::endl;
|
||||
|
||||
|
||||
ofs << "#" << std::endl << "# -> Einstellungen für default Modus:" << std::endl << "#" << std::endl << std::endl;
|
||||
|
||||
@@ -268,8 +293,8 @@ int loadDefaulOptions(Settings &settings)
|
||||
if(!isNumber(data) ) {
|
||||
std::cout << " => Error_Defaults: Thread-Max Ungültige Zahl: " << data << std::endl;
|
||||
return 18;
|
||||
} else if (settings.maxThreads > 10) {
|
||||
std::cout << " => Error_Defaults: Thread-Max: Zahl größer 10: " << data << std::endl;
|
||||
} else if (settings.maxThreads > 4) {
|
||||
std::cout << " => Error_Defaults: Thread-Max: Zahl größer 4: " << data << std::endl;
|
||||
return 19;
|
||||
}
|
||||
if(settings.debugMode)
|
||||
@@ -300,9 +325,9 @@ int loadDefaulOptions(Settings &settings)
|
||||
std::cout << " > Defaults: search-AchteAufGroßUndKleinschreibung: " << settings.search_IgnoreUpperLower << std::endl;
|
||||
|
||||
} else if (what == "OutputFile") {
|
||||
settings.outputFilePath = data;
|
||||
settings.outputFilePaths.push_back(data);
|
||||
if(settings.debugMode)
|
||||
std::cout << " > Defaults: OutputFile: " << settings.outputFilePath << std::endl;
|
||||
std::cout << " > Defaults: OutputFile: " << settings.outputFilePaths.back() << std::endl;
|
||||
|
||||
} else if (what == "search_UpdateWarnungNachTagen") {
|
||||
if(!isNumber(data)) {
|
||||
@@ -314,11 +339,8 @@ int loadDefaulOptions(Settings &settings)
|
||||
if(settings.debugMode)
|
||||
std::cout << " > Defaults: search_UpdateWarnungNachTagen: " << settings.updateWarningDays << std::endl;
|
||||
|
||||
} else if (what == "") {
|
||||
|
||||
} else if (what == "") {
|
||||
|
||||
} else if (what == "") {
|
||||
} else if (what == "test") {
|
||||
//test
|
||||
|
||||
} else {
|
||||
std::cout << " => Warnung: Unbekannte Default-Option: '" << what << "'." << std::endl;
|
||||
@@ -336,7 +358,7 @@ int unterOption_help(Settings &settings)
|
||||
<< " -> Mit diesem Programm kann man die Download-Urls" << std::endl
|
||||
<< " oder Informationen von Serien bekommen." << std::endl
|
||||
<< " -> Mit diesem Programm kann man Redirect-Links von" << std::endl
|
||||
<< " s.to umwandeln." << std::endl
|
||||
<< " serienstream.sx umwandeln." << std::endl
|
||||
<< std::endl;
|
||||
|
||||
std::cout << "Unteroptionen:" << std::endl
|
||||
@@ -344,7 +366,7 @@ int unterOption_help(Settings &settings)
|
||||
<< "\t\"--version\"\tGibt die Version des Programmes aus." << std::endl
|
||||
<< "\t\"--update\"\tModus um das Programm zu aktualisieren." << std::endl
|
||||
<< "\t \tUpdater funktioniert nur bei: Windows/Linux -" << std::endl
|
||||
<< "\t \tx86 Architekutur - 64 Bit Systemen." << std::endl
|
||||
<< "\t \tx86 Architekutur - 64 Bit Systemen und ARM v6 Syst." << std::endl
|
||||
<< "\t\"--remove\"\tModus um Ordner mit Einstellungen/" << std::endl
|
||||
<< "\t \tZwischengespeicherte-Dateien zu löschen." << std::endl
|
||||
<< "\t\"url\"\t\tModus um eigene Redirect-Links umzuwandeln." << std::endl
|
||||
@@ -352,7 +374,8 @@ int unterOption_help(Settings &settings)
|
||||
<< "\t\"search\"\tModus um Serien zu suchen." << std::endl
|
||||
<< "\t\"info\"\t\tModus um Infos einer Serien zu bekommen." << std::endl
|
||||
<< "\t\"clean\"\t\tModus um Cookie-Files zu löschen." << std::endl
|
||||
<< "\t\"news\"\t\tModus um neusten 75 Folgen auf s.to zu sehen." << std::endl
|
||||
<< "\t\"news\"\t\tModus um neusten 75 Folgen auf serienstream.sx zu sehen." << std::endl
|
||||
<< "\t\"log\"\t\tModus um Log Datei zu sehen / leeren." << std::endl
|
||||
<< std::endl;
|
||||
|
||||
std::cout << "Verzeichnisse:" << std::endl
|
||||
@@ -417,9 +440,9 @@ int unterOption_default(Settings *settings, int argc, char ** argv)
|
||||
break;
|
||||
case 'o':
|
||||
if(optarg)
|
||||
settings->outputFilePath = optarg;
|
||||
settings->outputFilePaths.push_back(optarg);
|
||||
if(settings->debugMode)
|
||||
std::cout << "Pfad zu Output-Datei: " << settings->outputFilePath << std::endl;
|
||||
std::cout << "Pfad zu Output-Datei: " << settings->outputFilePaths.back() << std::endl;
|
||||
break;
|
||||
|
||||
case 'e':
|
||||
@@ -494,8 +517,8 @@ int unterOption_default(Settings *settings, int argc, char ** argv)
|
||||
if(!isNumber(optarg)) {
|
||||
std::cout << " => Error: [-t]: Thread-Max: Ungültige Zahl: " << optarg << std::endl;
|
||||
return 18;
|
||||
} else if (settings->maxThreads > 10 && !settings->debugMode) {
|
||||
std::cout << " => Error: [-t]: Thread-Max: Zahl ist größer 10: " << optarg << std::endl;
|
||||
} else if (settings->maxThreads > 4 && !settings->debugMode) {
|
||||
std::cout << " => Error: [-t]: Thread-Max: Zahl ist größer 4: " << optarg << std::endl;
|
||||
return 19;
|
||||
}
|
||||
if(settings->debugMode)
|
||||
@@ -606,8 +629,8 @@ void unterOption_default_help(std::string programName)
|
||||
<< " Standart: 127.0.0.1:9050 - Port 0 um Proxy zu deaktivieren." << std::endl << std::endl
|
||||
<< "AUSGABEOPTIONEN:" << std::endl
|
||||
<< " -o [Pfad], --output-file [Pfad]" << std::endl
|
||||
<< " Mit diere Option kann man ein (nichtvorhandenes) Text-Datei" << std::endl
|
||||
<< " angeben, inwelches die umgewandelten Redirect-Links geschrieben" << std::endl
|
||||
<< " Mit diere Option kann man eine (nichtvorhandene) Text-Datei" << std::endl
|
||||
<< " angeben, inwelche die umgewandelten Redirect-Links geschrieben" << std::endl
|
||||
<< " werden. Beachte: Wenn die Datei von -C existiert, dann" << std::endl
|
||||
<< " schreibt das Programm kein 'Name: ...' in die Datei." << std::endl
|
||||
<< " -c, --colorless" << std::endl
|
||||
@@ -650,7 +673,7 @@ void unterOption_default_help(std::string programName)
|
||||
<< " Thread, bis die angegebene Anzahl an Threads erreicht" << std::endl
|
||||
<< " wurde. Dannm wartet es auf das Enden der Threads und" << std::endl
|
||||
<< " beginnt von vorne. Verwende 0 um das Multihreading zu" << std::endl
|
||||
<< " deaktivieren. Maximal 10 Threads." << std::endl
|
||||
<< " deaktivieren. Maximal 4 Threads. ( s.to hat bereits Ddos Schutz !!! )" << std::endl
|
||||
<< " Standart: 0" << std::endl << std::endl
|
||||
<< "HELPMENUE:" << std::endl
|
||||
<< " -h, --help" << std::endl
|
||||
@@ -683,9 +706,9 @@ int unterOption_url(Settings *settings, int argc, char **argv)
|
||||
break;
|
||||
case 'o':
|
||||
if(optarg)
|
||||
settings->outputFilePath = optarg;
|
||||
settings->outputFilePaths.push_back(optarg);
|
||||
if(settings->debugMode)
|
||||
std::cout << "Pfad zu Output-Datei: " << settings->outputFilePath << std::endl;
|
||||
std::cout << "Pfad zu Output-Datei: " << settings->outputFilePaths.back() << std::endl;
|
||||
break;
|
||||
case 'c':
|
||||
settings->colorless = true;
|
||||
@@ -733,8 +756,8 @@ void unterOption_url_help(std::string programName)
|
||||
std::cout << "Beschreibung:" << std::endl
|
||||
<< " Mit dieser Unterfunktion von " << programName << " können eigene" << std::endl
|
||||
<< " Redirect-Links umgewandelt werden. Beispiel:" << std::endl
|
||||
<< " https://s.to/redirect/44498xy -> https://vivolvox.xy/123xy" << std::endl
|
||||
<< " Der Link kann folgen Aussehen: {[*]s.to}/redirect/[*]." << std::endl
|
||||
<< " https://serienstream.sx/redirect/44498xy -> https://vivolvox.xy/123xy" << std::endl
|
||||
<< " Der Link kann folgen Aussehen: {[*]serienstream.sx}/redirect/[*]." << std::endl
|
||||
<< " Standartwerte können im Defaultfile geändert werden." << std::endl << std::endl;
|
||||
|
||||
std::cout << "OPTIONEN:" << std::endl
|
||||
@@ -838,10 +861,10 @@ void unterOption_search_help(std::string programName)
|
||||
<< " " << programName << " search [OPTION]... [{-u, --update}&|/{-l, --last-update}] [Name]" << std::endl << std::endl;
|
||||
|
||||
std::cout << "Beschreibung:" << std::endl
|
||||
<< " Mit dieser Unterfunktion des Programms kann man Serien auf s.to suchen." << std::endl
|
||||
<< " Mit dieser Unterfunktion des Programms kann man Serien auf serienstream.sx suchen." << std::endl
|
||||
<< " Tipp: Falls deine Serie nicht gefunden wird, entferne einen Teil" << std::endl
|
||||
<< " am Ende deines SuchNamens und wiederhole die Suche." << std::endl
|
||||
<< " Tipp: Wenn deine Serie sehr neu auf s.to ist, und deshalb nicht gefunden" << std::endl
|
||||
<< " Tipp: Wenn deine Serie sehr neu auf serienstream.sx ist, und deshalb nicht gefunden" << std::endl
|
||||
<< " wird, verwende die Option -u, um die Liste zu aktualisieren." << std::endl << std::endl;
|
||||
|
||||
std::cout << "AKTUALISIERUNG:" << std::endl
|
||||
@@ -881,6 +904,7 @@ int unterOption_info(Settings *settings, int argc, char **argv)
|
||||
int c = 0;
|
||||
const option long_opts[] = {
|
||||
{"socks5-proxy", required_argument, nullptr, 'p'},
|
||||
{"output-file", required_argument, nullptr, 'o'},
|
||||
|
||||
{"help", no_argument, nullptr, 'h'},
|
||||
{"colorless", no_argument, nullptr, 'c'},
|
||||
@@ -891,12 +915,18 @@ int unterOption_info(Settings *settings, int argc, char **argv)
|
||||
|
||||
};
|
||||
|
||||
while( ( c = getopt_long (argc, argv, "p:hcds", long_opts, nullptr) ) != -1 ) {
|
||||
while( ( c = getopt_long (argc, argv, "p:o:hcds", long_opts, nullptr) ) != -1 ) {
|
||||
switch(c) {
|
||||
case 'p':
|
||||
if(!optarg || setS5ProxytoSettings(*settings, optarg) != 0)
|
||||
return 2;
|
||||
break;
|
||||
case 'o':
|
||||
if(optarg)
|
||||
settings->outputFilePaths.push_back(optarg);
|
||||
if(settings->debugMode)
|
||||
std::cout << "Pfad zu Output-Datei: " << settings->outputFilePaths.back() << std::endl;
|
||||
break;
|
||||
case 'h':
|
||||
unterOption_info_help(settings->programName);
|
||||
return -1;
|
||||
@@ -958,6 +988,9 @@ void unterOption_info_help(std::string programName)
|
||||
<< " -s, --skip-episoden-names" << std::endl
|
||||
<< " Mit dieser Option kann man die Ausgabe der Namen der" << std::endl
|
||||
<< " einzelnen Folgen ausschalten." << std::endl << std::endl
|
||||
<< " -o [Pfad], --output-file [Pfad]" << std::endl
|
||||
<< " Mit diere Option kann man eine (nichtvorhandene) Text-Datei" << std::endl
|
||||
<< " angeben, inwelche die Infos geschrieben werden." << std::endl
|
||||
<< " -h, --help" << std::endl
|
||||
<< " Mit dieser Option wird dieses Helpmenue ausgegeben." << std::endl;
|
||||
}
|
||||
@@ -1202,7 +1235,7 @@ void unterOption_news_help(std::string programName)
|
||||
std::cout << "Aufruf: " << programName << " news [OPTION]..." << std::endl << std::endl;
|
||||
|
||||
std::cout << "Beschreibung:" << std::endl
|
||||
<< " Mit dieser Unterfunktion kann man die neuesten 75 Folgen auf s.to sehen." << std::endl << std::endl;
|
||||
<< " Mit dieser Unterfunktion kann man die neuesten 75 Folgen auf serienstream.sx sehen." << std::endl << std::endl;
|
||||
|
||||
std::cout << "OPTIONEN:" << std::endl
|
||||
<< " -p [ip:port/ip/port], --socks5-proxy [ip:port/ip/port]" << std::endl
|
||||
@@ -1426,3 +1459,109 @@ bool isSame(char **argv, std::string FunktionName)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int unterOption_printLogFile(Settings *settings, int argc, char **argv)
|
||||
{
|
||||
settings->modus = Modus::PRINT_LOG_FILE_MODUS;
|
||||
|
||||
int c = 0;
|
||||
const option long_opts[] = {
|
||||
{"help", no_argument, nullptr, 'h'},
|
||||
{"print", no_argument, nullptr, 'p'},
|
||||
{"clear", no_argument, nullptr, 'C'},
|
||||
{"colorless", no_argument, nullptr, 'c'},
|
||||
{nullptr, no_argument, nullptr, 0}
|
||||
|
||||
};
|
||||
|
||||
bool printMode = false, ClearMode = false;
|
||||
|
||||
while( ( c = getopt_long (argc, argv, "hpCc", long_opts, nullptr) ) != -1 ) {
|
||||
switch(c) {
|
||||
|
||||
case 'h':
|
||||
unterOption_printLogFile(settings->programName);
|
||||
return -1;
|
||||
case 'p':
|
||||
printMode = true;
|
||||
if(settings->debugMode)
|
||||
std::cout << "printMode: true" << std::endl;
|
||||
break;
|
||||
case 'C':
|
||||
ClearMode = true;
|
||||
if(settings->debugMode)
|
||||
std::cout << "ClearMode: true" << std::endl;
|
||||
break;
|
||||
case 'c':
|
||||
settings->colorless = true;
|
||||
if(settings->debugMode)
|
||||
std::cout << "Farblos: true" << std::endl;
|
||||
break;
|
||||
default:
|
||||
std::cout << "Aufruf: " << settings->programName << " log [OPTION]..." << std::endl;
|
||||
std::cout << "\"" << settings->programName << " log --help\" liefert weitere Informationen." << std::endl;
|
||||
return 21;
|
||||
}
|
||||
}
|
||||
|
||||
if(!printMode && !ClearMode) {
|
||||
std::cout << " => Error: Fehlende Parameter: -p oder -c." << std::endl;
|
||||
std::cout << "\"" << settings->programName << " log --help\" liefert weitere Informationen." << std::endl;
|
||||
return 34;
|
||||
}
|
||||
|
||||
// Main-Program:......
|
||||
|
||||
std::string clearColor = "\033[0m";
|
||||
|
||||
if(printMode && settings->colorless)
|
||||
std::cout << Logger(settings->logFilePath).getLogText() << std::endl;
|
||||
else if(printMode) {
|
||||
std::string text = settings->logFilePath + ":\n" + Logger(settings->logFilePath).getLogText();
|
||||
//Command Lines
|
||||
text = replace(text, ": \"", clearColor + ": " + "\033[94m" + "\"");
|
||||
text = replace(text, "\n -> ", std::string("\n -> ")+ "\033[95m" );
|
||||
|
||||
//Good Links
|
||||
text = replace(text, ": http", clearColor + ": " + "\033[92m" + "http");
|
||||
text = replace(text, "\nS", std::string("\n" ) + "\033[33m" + "S");
|
||||
|
||||
//Names:
|
||||
text = replace(text, "\nName: ", "\n" + std::string("\033[93m") + "Name: " + std::string("\033[96m"));
|
||||
|
||||
//Line/ Text - End
|
||||
text = replace(text, "\n", "\n" + clearColor);
|
||||
text.append(clearColor);
|
||||
std::cout << text << std::endl;
|
||||
}
|
||||
if(ClearMode)
|
||||
if(Logger(settings->logFilePath).clearFile())
|
||||
return 12;
|
||||
return -1;
|
||||
}
|
||||
|
||||
void unterOption_printLogFile(std::string programName)
|
||||
{
|
||||
std::cout << "Aufruf: " << programName << " log [OPTION]..." << std::endl << std::endl;
|
||||
|
||||
std::cout << "Beschreibung:" << std::endl
|
||||
<< " Mit dieser Unterfunktion kann man die Log Datei sehen/leeren." << std::endl << std::endl;
|
||||
|
||||
std::cout << "OPTIONEN:" << std::endl
|
||||
<< " -p, --print" << std::endl
|
||||
<< " Mit dieser Option wird das LogFile ausgegeben." << std::endl
|
||||
<< " -C, --clear" << std::endl
|
||||
<< " Mit dieser Option wird das LogFile geleert." << std::endl
|
||||
<< " -c, --colorless" << std::endl
|
||||
<< " Mit dieser Option kann man die farbige Ausgabe ausstellen." << std::endl << std::endl;
|
||||
}
|
||||
|
||||
std::string replace(std::string str, std::string substr1, std::string substr2)
|
||||
{
|
||||
if(substr1 == "")
|
||||
return str;
|
||||
size_t index = 0;
|
||||
for (index = str.find(substr1, index); index != std::string::npos; index = str.find(substr1, index + substr2.length() ) )
|
||||
str.replace(index, substr1.length(), substr2);
|
||||
return str;
|
||||
}
|
||||
|
@@ -19,11 +19,14 @@
|
||||
#include <unistd.h> // readlink()
|
||||
#include <dirent.h>
|
||||
|
||||
#include "logger.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#define UpdaterCloudUrlWithPath "https://cloud.obermui.de/s/H47Xoqy2czfJzYp/download?path=%2F&files="
|
||||
|
||||
enum Modus {
|
||||
EXIT = -1,
|
||||
DEFAULT_MODUS = 0,
|
||||
@@ -32,11 +35,11 @@ enum Modus {
|
||||
INFO_MODUS = 3,
|
||||
NEWS_MODUS = 4,
|
||||
UPDATE_MODUS = 5,
|
||||
REMOVE_SETTINGS_AND_CACHE_MODUS = 6
|
||||
REMOVE_SETTINGS_AND_CACHE_MODUS = 6,
|
||||
PRINT_LOG_FILE_MODUS
|
||||
|
||||
};
|
||||
|
||||
|
||||
struct Settings {
|
||||
Settings() {}
|
||||
Settings(std::string name) : name(name) {}
|
||||
@@ -46,13 +49,13 @@ struct Settings {
|
||||
#if defined (_X86_) || defined (__amd64__) || defined (_M_IX86)
|
||||
// Wenn das Betriebsystem LINUX ist und 64 Bit ist:
|
||||
#if defined (__linux) && ( defined (_LP64) || defined (__LP64__))
|
||||
const std::string VersionFileUrl = "https://cloud.obermui.de/s/H47Xoqy2czfJzYp/download?path=%2F&files=Version-LINx86.txt";
|
||||
const std::string ProgrammFileUrl = "https://cloud.obermui.de/s/H47Xoqy2czfJzYp/download?path=%2F&files=S_New4-LINx86";
|
||||
const std::string VersionFileUrl = UpdaterCloudUrlWithPath + std::string("Version-LINx86.txt");
|
||||
const std::string ProgrammFileUrl = UpdaterCloudUrlWithPath + std::string("S_New4-LINx86");
|
||||
#else
|
||||
//Wenn das Betriebsystem Windows ist und 64 Bit ist
|
||||
#if defined (_WIN64)
|
||||
const std::string VersionFileUrl = "https://cloud.obermui.de/s/H47Xoqy2czfJzYp/download?path=%2F&files=Version-WINx86.txt";
|
||||
const std::string ProgrammFileUrl = "https://cloud.obermui.de/s/H47Xoqy2czfJzYp/download?path=%2F&files=S_New4-WINx86.exe";
|
||||
const std::string VersionFileUrl = UpdaterCloudUrlWithPath + std::string("Version-WINx86.txt");
|
||||
const std::string ProgrammFileUrl = UpdaterCloudUrlWithPath + std::string("S_New4-WINx86.exe");
|
||||
#else
|
||||
//Ungültiges Betriebsystem => Error
|
||||
#error Kein Windows oder Linux 64 Bit System: Der Updater Fuktion wird nicht Funktionieren! Remove this Line in the Code to use S_New4 without the Updater. ( But your System must be Windows or Linux )
|
||||
@@ -63,9 +66,15 @@ struct Settings {
|
||||
|
||||
//Nicht x86 Architekture
|
||||
#else
|
||||
#error Falsche Architektur: Der Updater Fuktion wird nicht Funktionieren! Remove this Line in the Code to use S_New4 without the Updater. ( But your System must be Windows or Linux )
|
||||
const std::string VersionFileUrl = "";
|
||||
const std::string ProgrammFileUrl = "";
|
||||
//Raspberry Pi -> ARMv6 -> 32Bit
|
||||
#if defined(__ARM_ARCH_6__) && defined (__linux)
|
||||
const std::string VersionFileUrl = UpdaterCloudUrlWithPath + std::string("Version-LIN-ARMv6.txt");
|
||||
const std::string ProgrammFileUrl = UpdaterCloudUrlWithPath + std::string("S_New4-LIN-ARMv6");
|
||||
#else
|
||||
#error Falsche Architektur: Der Updater Fuktion wird nicht Funktionieren! Remove this Line in the Code to use S_New4 without the Updater. ( But your System must be Windows or Linux )
|
||||
const std::string VersionFileUrl = "";
|
||||
const std::string ProgrammFileUrl = "";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
std::string name,
|
||||
@@ -76,17 +85,19 @@ struct Settings {
|
||||
lastUpdateDateFilePath = "",
|
||||
configDir="",
|
||||
cacheDir="",
|
||||
logFilePath="",
|
||||
|
||||
defaultsFilePath = "",
|
||||
proxy_ip = "127.0.0.1",
|
||||
languages = "GerDub,GerSub,Eng,",
|
||||
genaueHoster = "",
|
||||
version = "3.7.3",
|
||||
defaultFileVersion="1.7",
|
||||
outputFilePath = "",
|
||||
version = "4.1.3",
|
||||
defaultFileVersion="1.8",
|
||||
default_checkPath = "",
|
||||
default_Searchmuster = "S%Staffel%E%Folge%";
|
||||
|
||||
std::vector<std::string> outputFilePaths;
|
||||
|
||||
Modus modus = Modus::EXIT;
|
||||
bool colorless = false,
|
||||
debugMode = false,
|
||||
@@ -106,6 +117,7 @@ struct Settings {
|
||||
unsigned maxThreads = 0;
|
||||
|
||||
};
|
||||
std::string replace(std::string str, std::string substr1, std::string substr2);
|
||||
|
||||
int manageParameter(Settings &settings, int argc, char ** argv);
|
||||
int loadDefaulOptions(Settings & settings);
|
||||
@@ -149,6 +161,9 @@ void unterOption_update_help(std::string programName);
|
||||
int unterOption_RemoveSettings_or_CacheDir(Settings * settings, int argc, char **argv);
|
||||
void unterOption_RemoveSettings_or_CacheDire_help(std::string programName);
|
||||
|
||||
int unterOption_printLogFile(Settings * settings, int argc, char **argv);
|
||||
void unterOption_printLogFile(std::string programName);
|
||||
|
||||
int setS5ProxytoSettings(Settings &settings, std::string optarg);
|
||||
|
||||
|
||||
|
1602
S_New4/src/programManager (conflicted copy 2020-06-05 152719).cpp
Normal file
1602
S_New4/src/programManager (conflicted copy 2020-06-05 152719).cpp
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user