[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/systemsettings
From: Ben Cooksley <bcooksley () kde ! org>
Date: 2010-06-18 10:56:22
Message-ID: 20100618105622.7CCA2AC8D7 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1139476 by bcooksley:
Use the model for retrieving the list of modules to display, to ensure they are \
sorted.
M +1 -2 classic/ClassicMode.cpp
M +1 -1 core/CMakeLists.txt
M +11 -10 core/ModuleView.cpp
M +3 -2 core/ModuleView.h
M +1 -2 icons/IconMode.cpp
--- trunk/KDE/kdebase/workspace/systemsettings/classic/ClassicMode.cpp \
#1139475:1139476 @@ -159,8 +159,7 @@
d->classicCategory->changeModule(activeModule);
emit viewChanged( false );
} else {
- MenuItem *menuItem = d->proxyModel->data( activeModule, Qt::UserRole \
).value<MenuItem*>();
- d->moduleView->loadModule( menuItem );
+ d->moduleView->loadModule( activeModule );
}
}
--- trunk/KDE/kdebase/workspace/systemsettings/core/CMakeLists.txt #1139475:1139476
@@ -26,7 +26,7 @@
target_link_libraries( systemsettingsview ${KDE4_KDECORE_LIBS} ${KDE4_KCMUTILS_LIBS} \
)
-set_target_properties( systemsettingsview PROPERTIES SOVERSION 1 )
+set_target_properties( systemsettingsview PROPERTIES SOVERSION 2 )
install( TARGETS systemsettingsview ${INSTALL_TARGETS_DEFAULT_ARGS} )
install( FILES ${systemsettingsview_LIB_HDRS} DESTINATION \
${INCLUDE_INSTALL_DIR}/systemsettingsview COMPONENT Devel )
--- trunk/KDE/kdebase/workspace/systemsettings/core/ModuleView.cpp #1139475:1139476
@@ -28,6 +28,7 @@
#include <QWhatsThis>
#include <QScrollArea>
#include <QVBoxLayout>
+#include <QAbstractItemModel>
#include <KDebug>
#include <KDialog>
@@ -124,23 +125,23 @@
return 0;
}
-void ModuleView::loadModule( MenuItem *menuItem )
+void ModuleView::loadModule( QModelIndex menuItem )
{
- if ( !menuItem ) {
+ if ( !menuItem.isValid() ) {
return;
}
- QList<KCModuleInfo*> modules;
- if ( menuItem->children().empty() ) {
- modules << &menuItem->item();
- } else {
- foreach ( MenuItem *child, menuItem->children() ) {
- modules << &child->item();
+ QList<QModelIndex> indexes;
+ for ( int done = 0; menuItem.model()->rowCount( menuItem ) > done; done = 1 + \
done ) { + indexes << menuItem.model()->index( done, 0, menuItem );
}
+ if ( indexes.empty() ) {
+ indexes << menuItem;
}
- foreach ( KCModuleInfo *module, modules ) {
- addModule(module);
+ foreach ( QModelIndex module, indexes ) {
+ MenuItem *menuItem = module.data( Qt::UserRole ).value<MenuItem*>();
+ addModule( &menuItem->item() );
}
// changing state is not needed here as the adding / changing of pages does it
}
--- trunk/KDE/kdebase/workspace/systemsettings/core/ModuleView.h #1139475:1139476
@@ -22,6 +22,7 @@
#define MODULE_VIEW_H
#include <QtGui/QWidget>
+#include <QtCore/QModelIndex>
#include "systemsettingsview_export.h"
class MenuItem;
@@ -95,9 +96,9 @@
* Loads the module specified by menuItem.\n
* If the module has children, they will all be loaded instead of the module.
*
- * @param menuItem the MenuItem that you want to load.
+ * @param menuItem the QModelIndex that you want to load. Must be sourced from \
either MenuModel or MenuProxyModel
*/
- void loadModule( MenuItem *menuItem );
+ void loadModule( QModelIndex menuItem );
/**
* Will open KHelpCenter, and load the help for the active module.
--- trunk/KDE/kdebase/workspace/systemsettings/icons/IconMode.cpp #1139475:1139476
@@ -130,8 +130,7 @@
void IconMode::changeModule( const QModelIndex& activeModule )
{
d->moduleView->closeModules();
- MenuItem *menuItem = activeModule.model()->data( activeModule, Qt::UserRole \
).value<MenuItem*>();
- d->moduleView->loadModule( menuItem );
+ d->moduleView->loadModule( activeModule );
}
void IconMode::moduleLoaded()
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic