From bd924d00acaec482a466865709edbf6833f905a4 Mon Sep 17 00:00:00 2001 From: Nippy Date: Fri, 26 Jun 2026 17:31:35 +0200 Subject: test selector --- .../desktopselect/DesktopBackend.cpp | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 raveos-calamares-module/desktopselect/DesktopBackend.cpp (limited to 'raveos-calamares-module/desktopselect/DesktopBackend.cpp') 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; +} -- cgit v1.3