SVN commit 1116341 by bcooksley: Remove general top level category from System Settings M +0 -1 categories/CMakeLists.txt M +1 -1 categories/settings-application-appearance-and-behavior.desktop D categories/settings-general.desktop M +1 -1 categories/settings-hardware.desktop M +1 -1 categories/settings-lost-and-found.desktop M +1 -1 categories/settings-network-and-connectivity.desktop M +1 -1 categories/settings-system-administration.desktop M +1 -1 categories/settings-workspace-appearance-and-behavior.desktop M +2 -4 classic/ClassicMode.cpp M +40 -53 icons/IconMode.cpp --- trunk/KDE/kdebase/workspace/systemsettings/categories/CMakeLists.txt #1116340:1116341 @@ -23,7 +23,6 @@ settings-removable-devices.desktop settings-display.desktop - settings-general.desktop settings-accessibility.desktop settings-notifications.desktop settings-window-behaviour.desktop --- trunk/KDE/kdebase/workspace/systemsettings/categories/settings-application-appearance-and-behavior.desktop #1116340:1116341 @@ -2,7 +2,7 @@ Type=Service X-KDE-ServiceTypes=SystemSettingsCategory X-KDE-System-Settings-Category=application-appearance-and-behavior -X-KDE-System-Settings-Parent-Category=general +X-KDE-System-Settings-Parent-Category= X-KDE-Weight=80 Icon=preferences-desktop-theme --- trunk/KDE/kdebase/workspace/systemsettings/categories/settings-hardware.desktop #1116340:1116341 @@ -2,7 +2,7 @@ Type=Service X-KDE-ServiceTypes=SystemSettingsCategory X-KDE-System-Settings-Category=hardware -X-KDE-System-Settings-Parent-Category=general +X-KDE-System-Settings-Parent-Category= X-KDE-Weight=200 Icon=preferences-desktop-peripherals --- trunk/KDE/kdebase/workspace/systemsettings/categories/settings-lost-and-found.desktop #1116340:1116341 @@ -2,7 +2,7 @@ Type=Service X-KDE-ServiceTypes=SystemSettingsCategory X-KDE-System-Settings-Category=lost-and-found -X-KDE-System-Settings-Parent-Category=general +X-KDE-System-Settings-Parent-Category= X-KDE-Weight=250 Icon=applications-system --- trunk/KDE/kdebase/workspace/systemsettings/categories/settings-network-and-connectivity.desktop #1116340:1116341 @@ -2,7 +2,7 @@ Type=Service X-KDE-ServiceTypes=SystemSettingsCategory X-KDE-System-Settings-Category=network-and-connectivity -X-KDE-System-Settings-Parent-Category=general +X-KDE-System-Settings-Parent-Category= Icon=preferences-system-network-connection Name=Network and Connectivity --- trunk/KDE/kdebase/workspace/systemsettings/categories/settings-system-administration.desktop #1116340:1116341 @@ -2,7 +2,7 @@ Type=Service X-KDE-ServiceTypes=SystemSettingsCategory X-KDE-System-Settings-Category=system-administration -X-KDE-System-Settings-Parent-Category=general +X-KDE-System-Settings-Parent-Category= X-KDE-Weight=200 Icon=preferences-system --- trunk/KDE/kdebase/workspace/systemsettings/categories/settings-workspace-appearance-and-behavior.desktop #1116340:1116341 @@ -2,7 +2,7 @@ Type=Service X-KDE-ServiceTypes=SystemSettingsCategory X-KDE-System-Settings-Category=workspace-appearance-and-behavior -X-KDE-System-Settings-Parent-Category=general +X-KDE-System-Settings-Parent-Category= X-KDE-Weight=80 Icon=preferences-desktop-theme --- trunk/KDE/kdebase/workspace/systemsettings/classic/ClassicMode.cpp #1116340:1116341 @@ -84,10 +84,8 @@ { // Create the model d->model = new MenuModel( rootItem(), this ); - foreach( MenuItem * child, rootItem()->children() ) { - d->model->addException( child ); - } - // Create the model + + // Create the proxy model d->proxyModel = new MenuProxyModel( this ); d->proxyModel->setSourceModel( d->model ); d->proxyModel->sort( 0 ); --- trunk/KDE/kdebase/workspace/systemsettings/icons/IconMode.cpp #1116340:1116341 @@ -40,18 +40,16 @@ class IconMode::Private { public: - Private() : moduleView( 0 ) {} + Private() : categoryDrawer( 0 ), categoryView( 0 ), moduleView( 0 ) {} virtual ~Private() { - qDeleteAll( mCategoryDrawers ); + delete categoryDrawer; delete aboutIcon; } - QList mCategoryDrawers; - QList mViews; + KCategoryDrawer * categoryDrawer; + KCategorizedView * categoryView; QStackedWidget * mainWidget; - KTabWidget * iconWidget; - QList proxyList; - QHash proxyMap; + MenuProxyModel * proxyModel; KAboutData * aboutIcon; ModuleView * moduleView; KAction * backAction; @@ -92,7 +90,7 @@ QWidget * IconMode::mainWidget() { - if( !d->iconWidget ) { + if( !d->categoryView ) { initWidget(); } return d->mainWidget; @@ -100,36 +98,33 @@ QList IconMode::views() const { - return d->mViews; + QList list; + list.append( d->categoryView ); + return list; } void IconMode::initEvent() { - foreach( MenuItem *childItem, rootItem()->children() ) { - MenuModel *model = new MenuModel( childItem, this ); - foreach( MenuItem * child, childItem->children() ) { - model->addException( child ); - } - MenuProxyModel *proxyModel = new MenuProxyModel( this ); - proxyModel->setCategorizedModel( true ); - proxyModel->setSourceModel( model ); - proxyModel->sort( 0 ); - d->proxyMap.insert( proxyModel, childItem->name() ); - d->proxyList << proxyModel; + MenuModel * model = new MenuModel( rootItem(), this ); + foreach( MenuItem * child, rootItem()->children() ) { + model->addException( child ); } + d->proxyModel = new MenuProxyModel( this ); + d->proxyModel->setCategorizedModel( true ); + d->proxyModel->setSourceModel( model ); + d->proxyModel->sort( 0 ); + d->mainWidget = new QStackedWidget(); d->moduleView = new ModuleView( d->mainWidget ); connect( d->moduleView, SIGNAL( moduleChanged(bool) ), this, SLOT( moduleLoaded() ) ); connect( d->moduleView, SIGNAL( closeRequest() ), this, SLOT( backToOverview() ) ); - d->iconWidget = 0; + d->categoryView = 0; } void IconMode::searchChanged( const QString& text ) { - foreach( MenuProxyModel *proxyModel, d->proxyList ) { - proxyModel->setFilterRegExp( text ); - } + d->proxyModel->setFilterRegExp( text ); } void IconMode::changeModule( const QModelIndex& activeModule ) @@ -149,9 +144,9 @@ void IconMode::backToOverview() { if( d->moduleView->resolveChanges() ) { - d->mainWidget->setCurrentWidget( d->iconWidget ); + d->mainWidget->setCurrentWidget( d->categoryView ); d->moduleView->closeModules(); - d->mainWidget->setCurrentWidget( d->iconWidget ); + d->mainWidget->setCurrentWidget( d->categoryView ); d->backAction->setEnabled( false ); emit changeToolBarItems( BaseMode::Search | BaseMode::Configure | BaseMode::Quit ); emit viewChanged( false ); @@ -161,36 +156,28 @@ void IconMode::initWidget() { // Create the widget - d->iconWidget = new KTabWidget( d->mainWidget ); -#if QT_VERSION >= 0x040500 - d->iconWidget->setDocumentMode( true ); -#endif - foreach( MenuProxyModel *proxyModel, d->proxyList ) { - KCategoryDrawer *drawer = new CategoryDrawer(); - d->mCategoryDrawers << drawer; + d->categoryDrawer = new CategoryDrawer(); + d->categoryView = new CategorizedView( d->mainWidget ); - KCategorizedView *tv = new CategorizedView( d->iconWidget ); - tv->setSelectionMode( QAbstractItemView::SingleSelection ); - tv->setSpacing( KDialog::spacingHint() ); - tv->setCategoryDrawer( drawer ); - tv->setViewMode( QListView::IconMode ); - tv->setMouseTracking( true ); - tv->viewport()->setAttribute( Qt::WA_Hover ); - KFileItemDelegate *delegate = new KFileItemDelegate( tv ); - delegate->setWrapMode( QTextOption::WordWrap ); - tv->setItemDelegate( delegate ); - tv->setFrameShape( QFrame::NoFrame ); - tv->setModel( proxyModel ); - d->iconWidget->addTab( tv, d->proxyMap.value( proxyModel ) ); - connect( tv, SIGNAL( activated( const QModelIndex& ) ), - this, SLOT( changeModule(const QModelIndex& ) ) ); + d->categoryView->setSelectionMode( QAbstractItemView::SingleSelection ); + d->categoryView->setSpacing( KDialog::spacingHint() ); + d->categoryView->setCategoryDrawer( d->categoryDrawer ); + d->categoryView->setViewMode( QListView::IconMode ); + d->categoryView->setMouseTracking( true ); + d->categoryView->viewport()->setAttribute( Qt::WA_Hover ); - d->mViews << tv; - } + KFileItemDelegate *delegate = new KFileItemDelegate( d->categoryView ); + delegate->setWrapMode( QTextOption::WordWrap ); + d->categoryView->setItemDelegate( delegate ); - d->mainWidget->addWidget( d->iconWidget ); + d->categoryView->setFrameShape( QFrame::NoFrame ); + d->categoryView->setModel( d->proxyModel ); + connect( d->categoryView, SIGNAL( activated( const QModelIndex& ) ), + this, SLOT( changeModule(const QModelIndex& ) ) ); + + d->mainWidget->addWidget( d->categoryView ); d->mainWidget->addWidget( d->moduleView ); - d->mainWidget->setCurrentWidget( d->iconWidget ); + d->mainWidget->setCurrentWidget( d->categoryView ); } void IconMode::leaveModuleView() @@ -201,7 +188,7 @@ void IconMode::giveFocus() { - d->iconWidget->currentWidget()->setFocus(); + d->categoryView->setFocus(); } #include "IconMode.moc"