From e25d8686dafb0c25ff7347ee58ef7720ba509176 Mon Sep 17 00:00:00 2001 From: Triplehx3 Date: Sun, 16 Nov 2025 01:13:15 +0000 Subject: [PATCH] Fix up the loading and saving of plugins --- src/mainwindow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 833c4b2..fb8cb7b 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -77,7 +77,7 @@ void MainWindow::initSettings() for (const QString &group : settings.childGroups()) { settings.beginGroup(group); - QString pluginName = group.section('_', 0, 0); + QString pluginName = group.split("_").first(); pluginName = QUrl::fromPercentEncoding(pluginName.toUtf8()); Interface *iPlugin = nullptr; @@ -92,9 +92,11 @@ void MainWindow::initSettings() if (iPlugin) { QWidget *pluginWidget = iPlugin->pcontent(); + QString uniqueId = QUuid::createUuid().toString(); if (pluginWidget) { QMdiSubWindow *sub = mdi->addSubWindow(pluginWidget); - sub->setProperty("uniqueId", group); + sub->setProperty("name", iPlugin->pname()); + sub->setProperty("uniqueId", uniqueId); sub->restoreGeometry(settings.value("geometry").toByteArray()); sub->setAttribute(Qt::WA_DeleteOnClose); sub->show(); @@ -119,7 +121,7 @@ void MainWindow::saveSettings() settings.beginGroup("Plugins"); QList subWindows = mdi->subWindowList(); for (QMdiSubWindow* sub : subWindows) { - QString id = sub->windowTitle() + "_" + sub->property("uniqueId").toString(); + QString id = sub->property("name").toString() + "_" + sub->property("uniqueId").toString(); settings.beginGroup(id); settings.setValue("geometry", sub->saveGeometry()); settings.endGroup(); @@ -174,6 +176,7 @@ void MainWindow::changePlugin() QWidget* pluginContent = iPlugin->pcontent(); auto *sub = mdi->addSubWindow(pluginContent); sub->setProperty("uniqueId", uniqueId); + sub->setProperty("name", iPlugin->pname()); sub->setAttribute(Qt::WA_DeleteOnClose); sub->show(); }