summaryrefslogtreecommitdiff
path: root/raveos-calamares-module/desktopselect/DesktopBackend.cpp
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-06-26 17:31:35 +0200
committerNippy <nippy@rp1.hu>2026-06-26 17:31:35 +0200
commitbd924d00acaec482a466865709edbf6833f905a4 (patch)
tree49632ec36c5360c91bee0a2cf107e717280a89b5 /raveos-calamares-module/desktopselect/DesktopBackend.cpp
parent69aa2e2836af1f5177187bdef2ebd9eefdbfc95a (diff)
downloadRaveOS-PKGBUILD-bd924d00acaec482a466865709edbf6833f905a4.tar.gz
RaveOS-PKGBUILD-bd924d00acaec482a466865709edbf6833f905a4.zip
test selector
Diffstat (limited to 'raveos-calamares-module/desktopselect/DesktopBackend.cpp')
-rw-r--r--raveos-calamares-module/desktopselect/DesktopBackend.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/raveos-calamares-module/desktopselect/DesktopBackend.cpp b/raveos-calamares-module/desktopselect/DesktopBackend.cpp
new file mode 100644
index 0000000..9fd1cc2
--- /dev/null
+++ b/raveos-calamares-module/desktopselect/DesktopBackend.cpp
@@ -0,0 +1,35 @@
+#include "DesktopBackend.h"
+
+DesktopBackend::DesktopBackend(QObject* parent)
+ : QObject(parent)
+{}
+
+void DesktopBackend::setDesktops(const QVariantList& desktops)
+{
+ m_desktops = desktops;
+ m_selectedIndex = -1;
+ emit desktopsChanged();
+ emit selectedIndexChanged();
+}
+
+void DesktopBackend::selectDesktop(int index)
+{
+ if (index == m_selectedIndex)
+ return;
+ if (index < 0 || index >= m_desktops.size())
+ return;
+ m_selectedIndex = index;
+ emit selectedIndexChanged();
+ emit selectionMade();
+}
+
+QStringList DesktopBackend::selectedPackages() const
+{
+ if (m_selectedIndex < 0 || m_selectedIndex >= m_desktops.size())
+ return {};
+ const QVariantMap desktop = m_desktops[m_selectedIndex].toMap();
+ QStringList pkgs;
+ for (const auto& v : desktop.value("packages").toList())
+ pkgs << v.toString();
+ return pkgs;
+}