Looking usable

This commit is contained in:
maxstrb 2026-02-26 13:27:33 +01:00
parent 8f91475499
commit 4bdfce0ad1
7 changed files with 39 additions and 282 deletions

View file

@ -1,19 +1,19 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
if [[ ! -d "/mnt/removable/Projects/Rust/floating-calculator" ]]; then if [[ ! -d "/home/maxag/Projects/Rust/floating-calculator" ]]; then
echo "Cannot find source directory; Did you move it?" echo "Cannot find source directory; Did you move it?"
echo "(Looking for "/mnt/removable/Projects/Rust/floating-calculator")" echo "(Looking for "/home/maxag/Projects/Rust/floating-calculator")"
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again' echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
exit 1 exit 1
fi fi
# rebuild the cache forcefully # rebuild the cache forcefully
_nix_direnv_force_reload=1 direnv exec "/mnt/removable/Projects/Rust/floating-calculator" true _nix_direnv_force_reload=1 direnv exec "/home/maxag/Projects/Rust/floating-calculator" true
# Update the mtime for .envrc. # Update the mtime for .envrc.
# This will cause direnv to reload again - but without re-building. # This will cause direnv to reload again - but without re-building.
touch "/mnt/removable/Projects/Rust/floating-calculator/.envrc" touch "/home/maxag/Projects/Rust/floating-calculator/.envrc"
# Also update the timestamp of whatever profile_rc we have. # Also update the timestamp of whatever profile_rc we have.
# This makes sure that we know we are up to date. # This makes sure that we know we are up to date.
touch -r "/mnt/removable/Projects/Rust/floating-calculator/.envrc" "/mnt/removable/Projects/Rust/floating-calculator/.direnv"/*.rc touch -r "/home/maxag/Projects/Rust/floating-calculator/.envrc" "/home/maxag/Projects/Rust/floating-calculator/.direnv"/*.rc

View file

@ -0,0 +1 @@
/nix/store/a4780bxfsf30qy5r6mwsg1crhbir9zp6-source

View file

@ -1 +0,0 @@
/nix/store/kcr4344gjcn3bapm00x8mj1lcbq5ad0d-source

View file

@ -47,7 +47,7 @@ NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1'
export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu
NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu='1' NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu='1'
export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu
NIX_BUILD_CORES='16' NIX_BUILD_CORES='12'
export NIX_BUILD_CORES export NIX_BUILD_CORES
NIX_CC='/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0' NIX_CC='/nix/store/a245z3cvf9x9sn0xlk6k8j9xhxbhda1z-gcc-wrapper-15.2.0'
export NIX_CC export NIX_CC
@ -65,7 +65,7 @@ NIX_ENFORCE_NO_NATIVE='1'
export NIX_ENFORCE_NO_NATIVE export NIX_ENFORCE_NO_NATIVE
NIX_HARDENING_ENABLE='bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs' NIX_HARDENING_ENABLE='bindnow format fortify fortify3 libcxxhardeningextensive libcxxhardeningfast pic relro stackclashprotection stackprotector strictoverflow zerocallusedregs'
export NIX_HARDENING_ENABLE export NIX_HARDENING_ENABLE
NIX_LDFLAGS='-rpath /mnt/removable/Projects/Rust/floating-calculator/outputs/out/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib' NIX_LDFLAGS='-rpath /home/maxag/Projects/Rust/floating-calculator/outputs/out/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib'
export NIX_LDFLAGS export NIX_LDFLAGS
NIX_LDFLAGS_FOR_TARGET=' -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib' NIX_LDFLAGS_FOR_TARGET=' -L/nix/store/9k0snv1492aqrkahlai724yd53qszh7z-rust-default-1.93.1/lib -L/nix/store/81cfgyhfaadhh0vs4nf74yhcclgbav87-libxml2-2.15.1/lib -L/nix/store/c5p8phmycgqjfrwzf0cpc740b6gvdac5-gmp-with-cxx-6.3.0/lib -L/nix/store/rx9c12rcc10273xrgb21kcpglddh1sry-mpfr-4.2.2/lib -L/nix/store/q34rjcffjcmhbnsx8nd6w0i2xamz66i3-icu4c-76.1/lib -L/nix/store/wwkx16bp7i0v7qalqc3cdqr477pc21h8-libqalculate-5.9.0/lib -L/nix/store/ri9paa3mri4kqakljak8ldvbcp7lpmif-zlib-1.3.1/lib -L/nix/store/s644cyhhkg9zjgk924ap5wwr96jn71d3-libffi-3.5.2/lib -L/nix/store/ykz6g9bnl3kka132wiw355rzk0bibdqn-gettext-0.25.1/lib -L/nix/store/fgzpllmvbk3l258j0f3ib7k44lksbqnp-glib-2.86.3/lib'
export NIX_LDFLAGS_FOR_TARGET export NIX_LDFLAGS_FOR_TARGET
@ -187,7 +187,7 @@ name='nix-shell-env'
export name export name
nativeBuildInputs='' nativeBuildInputs=''
export nativeBuildInputs export nativeBuildInputs
out='/mnt/removable/Projects/Rust/floating-calculator/outputs/out' out='/home/maxag/Projects/Rust/floating-calculator/outputs/out'
export out export out
outputBin='out' outputBin='out'
outputDev='out' outputDev='out'
@ -220,7 +220,7 @@ declare -a preFixupHooks=('_moveToShare' '_multioutDocs' '_multioutDevs' )
preInstallPhases=' glibPreInstallPhase' preInstallPhases=' glibPreInstallPhase'
preferLocalBuild='1' preferLocalBuild='1'
export preferLocalBuild export preferLocalBuild
prefix='/mnt/removable/Projects/Rust/floating-calculator/outputs/out' prefix='/home/maxag/Projects/Rust/floating-calculator/outputs/out'
declare -a propagatedBuildDepFiles=('propagated-build-build-deps' 'propagated-native-build-inputs' 'propagated-build-target-deps' ) declare -a propagatedBuildDepFiles=('propagated-build-build-deps' 'propagated-native-build-inputs' 'propagated-build-target-deps' )
propagatedBuildInputs='' propagatedBuildInputs=''
export propagatedBuildInputs export propagatedBuildInputs

View file

@ -1,30 +0,0 @@
{
"$schema": "https://download.qt.io/official_releases/qtcreator/latest/installer_source/jsonschemas/project.json",
"build.configuration": [
{
"name": "cargo build",
"steps": [
{
"arguments": [
"build"
],
"executable": "cargo",
"workingDirectory": "%{ActiveProject:ProjectDirectory}"
}
]
}
],
"files.exclude": [
".qtcreator/project.json.user"
],
"targets": [
{
"arguments": [
"run"
],
"executable": "cargo",
"name": "cargo run",
"workingDirectory": "%{ActiveProject:ProjectDirectory}"
}
]
}

View file

@ -1,223 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 18.0.2, 2026-02-22T20:04:56. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{5d8e8680-89de-4c24-ba30-601d18fb330e}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoDetect">true</value>
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.LineEndingBehavior">0</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="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<value type="bool" key="AutoTest.ApplyFilter">false</value>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">8</value>
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
<value type="int" key="RcSync">0</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="bool" key="HasPerBcDcs">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b8a5a6e7-b294-43dc-8d9b-fbedef43caf2}</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/removable/Projects/Rust/floating-calculator</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.ProcessStep.Arguments">build</value>
<value type="QString" key="ProjectExplorer.ProcessStep.Command">cargo</value>
<value type="QString" key="ProjectExplorer.ProcessStep.WorkingDirectory">%{ActiveProject:ProjectDirectory}</value>
<value type="QString" key="ProjectExplorer.ProcessStep.WorkingDirectoryRelativeBasePath">/mnt/removable/Projects/Rust/floating-calculator</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.ProcessStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">cargo build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">WorkspaceProject.BuildConfiguration</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">cargo run</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">WorkspaceProject.RunConfiguration:</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">cargo run1</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="Workspace.RunConfiguration.Arguments">run</value>
<value type="QString" key="Workspace.RunConfiguration.Executable">cargo</value>
<value type="QString" key="Workspace.RunConfiguration.WorkingDirectory.default">%{ActiveProject:ProjectDirectory}</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
<valuemap type="QVariantMap" key="extraInfo">
<value type="bool" key="forSetup">true</value>
<value type="QString" key="name">cargo build</value>
<valuelist type="QVariantList" key="steps">
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="arguments">
<value type="QString">build</value>
</valuelist>
<value type="QString" key="executable">cargo</value>
<value type="QString" key="workingDirectory">%{ActiveProject:ProjectDirectory}</value>
</valuemap>
</valuelist>
</valuemap>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph dwarf,4096 -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">cargo run</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">WorkspaceProject.RunConfiguration:</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">cargo run1</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.UniqueId"></value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="Workspace.RunConfiguration.Arguments">run</value>
<value type="QString" key="Workspace.RunConfiguration.Executable">cargo</value>
<value type="QString" key="Workspace.RunConfiguration.WorkingDirectory.default">%{ActiveProject:ProjectDirectory}</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">1</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

View file

@ -1,5 +1,6 @@
use iced::widget::{Column, Container, Id, TextInput, container, operation, stack, text}; use iced::widget::{Column, Id, TextInput, column, container, operation, text, text_input};
use iced::{Color, Element, Event, Task as Command}; use iced::{Background, Color, Element, Event, Task as Command};
use iced::{Border, color};
use iced_layershell::application; use iced_layershell::application;
use iced_layershell::reexport::Anchor; use iced_layershell::reexport::Anchor;
use iced_layershell::settings::{LayerShellSettings, Settings, StartMode}; use iced_layershell::settings::{LayerShellSettings, Settings, StartMode};
@ -131,39 +132,48 @@ fn update(state: &mut State, message: Message) -> Command<Message> {
} }
} }
fn view(state: &State) -> Container<'_, Message> { fn view(state: &State) -> Element<'_, Message> {
let input: TextInput<'_, Message> = let input: TextInput<'_, Message> =
TextInput::new("Type something here...", &state.current_message) TextInput::new("Type something here...", &state.current_message)
.on_input(Message::TextInput) .on_input(Message::TextInput)
.on_submit(Message::TextSubmit) .on_submit(Message::TextSubmit)
.id(state.input_id.clone()); .id(state.input_id.clone());
let input = input.style(|_theme, _status| text_input::Style {
background: Background::Color(Color::TRANSPARENT),
border: Border::default(),
icon: Color::TRANSPARENT,
placeholder: color!(0xbbbbbb),
value: Color::WHITE,
selection: color!(0x0000ff),
});
let content = Column::with_children( let content = Column::with_children(
std::iter::once(input.into()) std::iter::once(input.into())
.chain( .chain(state.history.iter().rev().map(|msg| {
state column![
.history text!("{}", msg.promt).size(12).color(color!(0x999999)),
.iter() text!(" {}", msg.output)
.rev() ]
.map(|msg| text!("{}", msg.output).into()), .into()
) }))
.collect::<Vec<Element<_>>>(), .collect::<Vec<Element<_>>>(),
); );
let bg = container(iced::widget::Space::new()) container(content)
.width(iced::Length::Fill) .width(iced::Length::Fill)
.height(iced::Length::Fill) .height(iced::Length::Fill)
.padding(8.)
.style(|_theme| container::Style { .style(|_theme| container::Style {
text_color: Some(Color::WHITE),
background: Some(iced::Background::Color(Color::from_rgba8(30, 30, 46, 0.75))), background: Some(iced::Background::Color(Color::from_rgba8(30, 30, 46, 0.75))),
border: iced::Border::default()
.rounded(15.)
.color(color!(0xaaaaff))
.width(2.),
..Default::default() ..Default::default()
}); })
.into()
let layered = stack![bg, content];
container(layered).style(|_theme| container::Style {
text_color: Some(Color::WHITE),
..Default::default()
})
} }
fn style(_state: &State, theme: &iced::Theme) -> iced::theme::Style { fn style(_state: &State, theme: &iced::Theme) -> iced::theme::Style {