summaryrefslogtreecommitdiff
path: root/lib/nes/app/ui
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-02-06 16:40:27 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-02-06 16:40:27 +0100
commitdbed1c0fa5599b1b96c221b89b10f1e350351645 (patch)
tree1a4809d3cac122179e1faced6a56d234a04d96b1 /lib/nes/app/ui
parentd1b61b02b1a6bdaa337ff060eda3d3d5fb67827d (diff)
refactor: file_browser::item -> file_browser::entry
Diffstat (limited to 'lib/nes/app/ui')
-rw-r--r--lib/nes/app/ui/CMakeLists.txt2
-rw-r--r--lib/nes/app/ui/screen-browser.cc27
-rw-r--r--lib/nes/app/ui/screen-browser.hh2
-rw-r--r--lib/nes/app/ui/screen-settings.cc5
-rw-r--r--lib/nes/app/ui/screen-settings.hh16
5 files changed, 37 insertions, 15 deletions
diff --git a/lib/nes/app/ui/CMakeLists.txt b/lib/nes/app/ui/CMakeLists.txt
index 37720c1..c43bb13 100644
--- a/lib/nes/app/ui/CMakeLists.txt
+++ b/lib/nes/app/ui/CMakeLists.txt
@@ -9,6 +9,8 @@ target_sources(
screen-browser.cc
screen-freeze.hh
screen-freeze.cc
+ screen-settings.hh
+ screen-settings.cc
screen-error.hh
screen-error.cc
screen-confirm-quit.hh
diff --git a/lib/nes/app/ui/screen-browser.cc b/lib/nes/app/ui/screen-browser.cc
index 4643e1c..1b515bd 100644
--- a/lib/nes/app/ui/screen-browser.cc
+++ b/lib/nes/app/ui/screen-browser.cc
@@ -8,16 +8,15 @@
namespace nes::app
{
auto screen_browser::selection_impl::render_item(
- renderer& renderer, item const& item, i32 const x, i32 const y, u32 const width,
- color const color) const -> void
+ renderer& renderer, item const& item, i32 const x, i32 const y, u32 const width, color const c) const -> void
{
- switch (item.base.get_type())
+ switch (item.entry.get_type())
{
- case file_browser::item_type::file: renderer.render_mask_tile(x, y, tiles::icon_cartridge, color); break;
- case file_browser::item_type::directory: renderer.render_mask_tile(x, y, tiles::icon_directory, color); break;
+ case file_browser::entry_type::file: renderer.render_mask_tile(x, y, tiles::icon_cartridge, c); break;
+ case file_browser::entry_type::directory: renderer.render_mask_tile(x, y, tiles::icon_directory, c); break;
}
- renderer.render_text(x + 2, y, item.base.get_name(), color, text_attributes{}
+ renderer.render_text(x + 2, y, item.entry.get_name(), c, text_attributes{}
.set_ellipsize_mode(ellipsize_mode::end)
.set_max_width(width - 2));
}
@@ -31,7 +30,7 @@ namespace nes::app
if (page == 0)
{
items[count].is_parent = true;
- items[count].base = file_browser::item{ file_browser::item_type::directory, "[Parent Directory]" };
+ items[count].entry = file_browser::entry{ file_browser::entry_type::directory, "[Parent Directory]" };
count += 1;
}
else
@@ -44,11 +43,11 @@ namespace nes::app
file_browser_.seek(position);
while (count < page_size)
{
- auto item = file_browser::item{};
- if (!file_browser_.read_next(&item)) { break; }
+ auto entry = file_browser::entry{};
+ if (!file_browser_.read_next(&entry)) { break; }
items[count].is_parent = false;
- items[count].base = item;
+ items[count].entry = entry;
count += 1;
}
@@ -125,18 +124,18 @@ namespace nes::app
refresh();
if (navigation_steps_ > 0) { navigation_steps_ -= 1; }
}
- else if (selected->base.get_type() == file_browser::item_type::directory)
+ else if (selected->entry.get_type() == file_browser::entry_type::directory)
{
- if (auto const s = file_browser_.navigate(selected->base.get_name()); s != status::success)
+ if (auto const s = file_browser_.navigate(selected->entry.get_name()); s != status::success)
{
return action::show_error("Unable to navigate to directory", s);
}
refresh();
navigation_steps_ += 1;
}
- else if (selected->base.get_type() == file_browser::item_type::file)
+ else if (selected->entry.get_type() == file_browser::entry_type::file)
{
- return action::launch_game(selected->base.get_name());
+ return action::launch_game(selected->entry.get_name());
}
}
}
diff --git a/lib/nes/app/ui/screen-browser.hh b/lib/nes/app/ui/screen-browser.hh
index 0ccf0b6..4ba6e73 100644
--- a/lib/nes/app/ui/screen-browser.hh
+++ b/lib/nes/app/ui/screen-browser.hh
@@ -16,7 +16,7 @@ namespace nes::app
struct item
{
bool is_parent{ false };
- file_browser::item base{};
+ file_browser::entry entry{};
};
class selection_impl final : public selection<item, page_size>
diff --git a/lib/nes/app/ui/screen-settings.cc b/lib/nes/app/ui/screen-settings.cc
new file mode 100644
index 0000000..4d32662
--- /dev/null
+++ b/lib/nes/app/ui/screen-settings.cc
@@ -0,0 +1,5 @@
+//
+// Created by Hannes Schulze on 06.02.25.
+//
+
+#include "screen-settings.hh"
diff --git a/lib/nes/app/ui/screen-settings.hh b/lib/nes/app/ui/screen-settings.hh
new file mode 100644
index 0000000..8f510ca
--- /dev/null
+++ b/lib/nes/app/ui/screen-settings.hh
@@ -0,0 +1,16 @@
+//
+// Created by Hannes Schulze on 06.02.25.
+//
+
+#ifndef SCREEN_SETTINGS_HH
+#define SCREEN_SETTINGS_HH
+
+
+
+class screen_settings {
+
+};
+
+
+
+#endif //SCREEN_SETTINGS_HH