From afccfbbc05ab28abf26694d7afbf40a2f5d3d9a9 Mon Sep 17 00:00:00 2001 From: Dawson Matthews Date: Fri, 23 Jan 2026 18:50:07 -0700 Subject: [PATCH] Creating a non-functional GUI --- .../all_attributes.md | 0 .../load-display-profile.sh | 0 .../save-display-profile.sh | 0 src/__pycache__/mainwindow.cpython-314.pyc | Bin 0 -> 14915 bytes .../profile_manager.cpython-314.pyc | Bin 0 -> 8134 bytes src/__pycache__/save_dialog.cpython-314.pyc | Bin 0 -> 5066 bytes src/main.py | 21 ++ src/mainwindow.py | 263 ++++++++++++++++++ src/profile_manager.py | 139 +++++++++ src/save_dialog.py | 77 +++++ 10 files changed, 500 insertions(+) rename all_attributes.md => resources/all_attributes.md (100%) rename load-display-profile.sh => scripts/load-display-profile.sh (100%) rename save-display-profile.sh => scripts/save-display-profile.sh (100%) create mode 100644 src/__pycache__/mainwindow.cpython-314.pyc create mode 100644 src/__pycache__/profile_manager.cpython-314.pyc create mode 100644 src/__pycache__/save_dialog.cpython-314.pyc create mode 100644 src/main.py create mode 100644 src/mainwindow.py create mode 100644 src/profile_manager.py create mode 100644 src/save_dialog.py diff --git a/all_attributes.md b/resources/all_attributes.md similarity index 100% rename from all_attributes.md rename to resources/all_attributes.md diff --git a/load-display-profile.sh b/scripts/load-display-profile.sh similarity index 100% rename from load-display-profile.sh rename to scripts/load-display-profile.sh diff --git a/save-display-profile.sh b/scripts/save-display-profile.sh similarity index 100% rename from save-display-profile.sh rename to scripts/save-display-profile.sh diff --git a/src/__pycache__/mainwindow.cpython-314.pyc b/src/__pycache__/mainwindow.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c1ba51564175a40ec586efd69410ddeb9304d5a1 GIT binary patch literal 14915 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