diff --git a/.ecode/project_build.json b/.ecode/project_build.json
index f05254b4e..60f6498ea 100644
--- a/.ecode/project_build.json
+++ b/.ecode/project_build.json
@@ -339,6 +339,12 @@
"command": "${project_root}/bin/eepp-richtext-debug",
"name": "eepp-richtext-debug",
"working_dir": "${project_root}/bin"
+ },
+ {
+ "args": "",
+ "command": "${project_root}/bin/eepp-treeviewmodel-debug",
+ "name": "eepp-treeviewmodel-debug",
+ "working_dir": "${project_root}/bin"
}
],
"var": {
diff --git a/bin/assets/ui/breeze.css b/bin/assets/ui/breeze.css
index 014e7bcd7..9fb5c6db3 100644
--- a/bin/assets/ui/breeze.css
+++ b/bin/assets/ui/breeze.css
@@ -687,6 +687,11 @@ Window::border::bottom {
background-color: var(--separator);
}
+DropDownList {
+ padding-right: 16dp;
+ text-overflow: ellipsis;
+}
+
DropDownList,
ComboBox::Button {
foreground-image: url("data:image/svg,");
diff --git a/include/eepp/ui.hpp b/include/eepp/ui.hpp
index a35f8d276..ece198740 100644
--- a/include/eepp/ui.hpp
+++ b/include/eepp/ui.hpp
@@ -86,6 +86,7 @@
#include
#include
#include
+#include
#include
#include
diff --git a/include/eepp/ui/models/stringmapmodel.hpp b/include/eepp/ui/models/stringmapmodel.hpp
new file mode 100644
index 000000000..f653f95e9
--- /dev/null
+++ b/include/eepp/ui/models/stringmapmodel.hpp
@@ -0,0 +1,144 @@
+#ifndef EE_UI_MODELS_STRINGMAPMODEL_HPP
+#define EE_UI_MODELS_STRINGMAPMODEL_HPP
+
+#include
+#include
+#include
+#include