From 5951208c1b09927592858b4b9ce89d1d5c2d6167 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Tue, 10 Mar 2015 19:48:48 +0100 Subject: [PATCH] Add Modules page to DebugWindow. --- src/libcalamaresui/utils/DebugWindow.cpp | 31 ++++++++++++++++++++++++ src/libcalamaresui/utils/DebugWindow.ui | 17 +++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/utils/DebugWindow.cpp b/src/libcalamaresui/utils/DebugWindow.cpp index a69ee9fe0..0be37a2e9 100644 --- a/src/libcalamaresui/utils/DebugWindow.cpp +++ b/src/libcalamaresui/utils/DebugWindow.cpp @@ -22,8 +22,12 @@ #include "JobQueue.h" #include "Job.h" #include "GlobalStorage.h" +#include "modulesystem/ModuleManager.h" +#include "modulesystem/Module.h" #include +#include +#include #include namespace Calamares { @@ -34,6 +38,7 @@ DebugWindow::DebugWindow() setupUi( this ); + // GlobalStorage page QJsonModel* jsonModel = new QJsonModel( this ); globalStorageView->setModel( jsonModel ); @@ -47,6 +52,7 @@ DebugWindow::DebugWindow() jsonModel->loadJson( QJsonDocument::fromVariant( gs->m ).toJson() ); globalStorageView->expandAll(); + // JobQueue page jobQueueText->setReadOnly( true ); connect( JobQueue::instance(), &JobQueue::queueChanged, [ this ]( const QList< Calamares::job_ptr >& jobs ) @@ -60,6 +66,31 @@ DebugWindow::DebugWindow() jobQueueText->setText( text.join( '\n' ) ); } ); + // Modules page + QSplitter* splitter = new QSplitter( modulesTab ); + modulesTab->layout()->addWidget( splitter ); + splitter->addWidget( modulesListView ); + splitter->addWidget( moduleConfigView ); + + QStringListModel* modulesModel = new QStringListModel( ModuleManager::instance()->availableModules() ); + modulesListView->setModel( modulesModel ); + modulesListView->setSelectionMode( QAbstractItemView::SingleSelection ); + + QJsonModel* moduleConfigModel = new QJsonModel( this ); + moduleConfigView->setModel( moduleConfigModel ); + + connect( modulesListView->selectionModel(), &QItemSelectionModel::selectionChanged, + [ this, moduleConfigModel ] + { + QString moduleName = modulesListView->currentIndex().data().toString(); + Module* module = ModuleManager::instance()->module( moduleName ); + if ( module ) + { + moduleConfigModel->loadJson( QJsonDocument::fromVariant( module->configurationMap() ).toJson() ); + moduleConfigView->expandAll(); + } + } ); + CALAMARES_RETRANSLATE( retranslateUi( this ); ) } diff --git a/src/libcalamaresui/utils/DebugWindow.ui b/src/libcalamaresui/utils/DebugWindow.ui index 8038c1338..a445e8ad1 100644 --- a/src/libcalamaresui/utils/DebugWindow.ui +++ b/src/libcalamaresui/utils/DebugWindow.ui @@ -19,7 +19,7 @@ 0 - + GlobalStorage @@ -29,7 +29,7 @@ - + JobQueue @@ -39,6 +39,19 @@ + + + Modules + + + + + + + + + +