diff --git a/core/ModuleView.cpp b/core/ModuleView.cpp
--- a/core/ModuleView.cpp
+++ b/core/ModuleView.cpp
@@ -61,6 +61,7 @@
QPushButton* mReset = nullptr;
QPushButton* mDefault = nullptr;
QPushButton* mHelp = nullptr;
+ QLabel* mHeader = nullptr;
bool pageChangeSupressed;
};
@@ -175,13 +176,25 @@
}
// Create the scroller
+ QWidget *mainWidget = new QWidget( this );
+ QVBoxLayout *layout = new QVBoxLayout( mainWidget );
+ layout->setSpacing(0);
+ d->mHeader = new QLabel( mainWidget );
+ QFont headerFont = d->mHeader->font();
+ //Emulate the look and size of the header in the QML modules
+ headerFont.setPointSize(headerFont.pointSize() * 1.6);
+ headerFont.setWeight( QFont::Light );
+ d->mHeader->setFont( headerFont );
+ layout->addWidget(d->mHeader);
+
QScrollArea * moduleScroll = new QScrollArea( this );
+ layout->addWidget(moduleScroll);
// Prepare the scroll area
moduleScroll->setWidgetResizable( true );
moduleScroll->setFrameStyle( QFrame::NoFrame );
moduleScroll->viewport()->setAutoFillBackground( false );
// Create the page
- KPageWidgetItem *page = new KPageWidgetItem( moduleScroll, module->moduleName() );
+ KPageWidgetItem *page = new KPageWidgetItem( mainWidget );
// Provide information to the users
if( module->service()->hasServiceType(QStringLiteral("SystemSettingsExternalApp")) || // Is it an external app?
@@ -217,15 +230,12 @@
return;
}
- page->setHeader( moduleInfo->comment() );
- page->setIcon( QIcon::fromTheme( moduleInfo->icon() ) );
- if( light ) {
- return;
- }
-
- if( moduleProxy && moduleProxy->realModule()->useRootOnlyMessage() ) {
- page->setHeader( moduleInfo->comment() + QStringLiteral("
") + moduleProxy->realModule()->rootOnlyMessage() + QStringLiteral("") );
- page->setIcon( KDE::icon( moduleInfo->icon(), QStringList() << QStringLiteral("dialog-warning") ) );
+ //HACK: not much other ways to detect is a qml kcm
+ if (moduleProxy->realModule()->inherits("KCModuleQml")) {
+ d->mHeader->setVisible( false );
+ } else {
+ d->mHeader->setText(moduleInfo->comment());
+ d->mHeader->setVisible( true );
}
}