=== modified file 'katapult/katapult/katapultconfigdlg.cpp' --- katapult/katapult/katapultconfigdlg.cpp +++ katapult/katapult/katapultconfigdlg.cpp @@ -91,7 +91,7 @@ QStringList displays = settings->displayNames(); display->displayName->insertStringList(displays); - display->displayName->setCurrentItem(displays.findIndex(settings->displayName())); + display->displayName->setCurrentItem(settings->displayNumber()); displayConfig = 0; addDisplaySettings(); @@ -144,7 +144,7 @@ void KatapultConfigDlg::activateDisplay(int index) { - settings->setDisplayName(display->displayName->text(index)); + settings->setDisplayName(settings->displayIds()[index]); addDisplaySettings(); } === modified file 'katapult/katapult/katapultsettings.cpp' --- katapult/katapult/katapultsettings.cpp +++ katapult/katapult/katapultsettings.cpp @@ -222,6 +222,16 @@ return _displayNames; } +QStringList KatapultSettings::displayIds() const +{ + return _displayIds; +} + +int KatapultSettings::displayNumber() const +{ + return _displayIds.findIndex(_displayName); +} + KatapultDisplay * KatapultSettings::display() const { return _display; @@ -239,6 +249,11 @@ return _catalogNames; } +QStringList KatapultSettings::catalogIds() const +{ + return _catalogIds; +} + QStringList KatapultSettings::activeCatalogNames() const { return _activeCatalogNames; @@ -246,7 +261,7 @@ QStringList KatapultSettings::inactiveCatalogNames() const { - QStringList inactiveCatalogs, catalogs = _catalogNames; + QStringList inactiveCatalogs, catalogs = _catalogIds; for(QStringList::Iterator it = catalogs.begin(); it != catalogs.end(); ++it) { if(!_activeCatalogNames.contains(*it)) @@ -278,29 +293,37 @@ { _activeCatalogs.clear(); _catalogNames.clear(); + _catalogIds.clear(); ActionRegistry::self()->clear(); KTrader::OfferList offers = KTrader::self()->query("Katapult/Catalog"); KTrader::OfferList::ConstIterator it; for(it = offers.begin(); it != offers.end(); ++it) { + QString id; + KService::Ptr service = *it; KatapultCatalog *catalog; - QString name = service->name(); - - _catalogNames.append(name); - - if(_activeCatalogNames.contains(name)) + + if(!service->property("X-Katapult-ID", QVariant::String).toString().isEmpty()) + id = service->property("X-Katapult-ID", QVariant::String).toString(); + else + id = service->name(); + + _catalogNames.append(service->name()); + _catalogIds.append(id); + + if(_activeCatalogNames.contains(id)) { int errCode = 0; catalog = KParts::ComponentFactory::createInstanceFromService (service, 0, 0, QStringList(), &errCode); if(catalog != 0) { - KConfigGroup group(kapp->config(), QString("Catalogs/%1").arg(name)); + KConfigGroup group(kapp->config(), QString("Catalogs/%1").arg(id)); catalog->readSettings(&group); catalog->initialize(); - _activeCatalogs.insert(name, catalog); + _activeCatalogs.insert(id, catalog); } } } @@ -315,6 +338,7 @@ } _displayNames.clear(); + _displayIds.clear(); KTrader::OfferList offers = KTrader::self()->query("Katapult/Display"); KTrader::OfferList::ConstIterator it; @@ -323,7 +347,12 @@ KService::Ptr service = *it; _displayNames.append(service->name()); - if(service->name() == _displayName) + if(!service->property("X-Katapult-ID", QVariant::String).toString().isEmpty()) + _displayIds.append(service->property("X-Katapult-ID", QVariant::String).toString()); + else + _displayIds.append(service->name()); + + if(_displayIds.last() == _displayName) { int errCode = 0; _display = KParts::ComponentFactory::createInstanceFromService === modified file 'katapult/katapult/katapultsettings.h' --- katapult/katapult/katapultsettings.h +++ katapult/katapult/katapultsettings.h @@ -64,11 +64,14 @@ // display settings QString displayName() const; QStringList displayNames() const; + QStringList displayIds() const; + int displayNumber() const; KatapultDisplay * display() const; void setDisplayName(QString name); // catalog settings QStringList catalogNames() const; + QStringList catalogIds() const; QStringList activeCatalogNames() const; QStringList inactiveCatalogNames() const; QDict activeCatalogs() const; @@ -106,10 +109,11 @@ // display settings QString _displayName; QStringList _displayNames; + QStringList _displayIds; KatapultDisplay *_display; // catalog settings - QStringList _catalogNames, _activeCatalogNames; + QStringList _catalogNames, _catalogIds, _activeCatalogNames; QDict _activeCatalogs; }; === modified file 'katapult/plugins/catalogs/amarokcatalog/katapult_amarokcatalog.desktop' --- katapult/plugins/catalogs/amarokcatalog/katapult_amarokcatalog.desktop +++ katapult/plugins/catalogs/amarokcatalog/katapult_amarokcatalog.desktop @@ -12,3 +12,4 @@ ServiceTypes=Katapult/Catalog Type=Service X-KDE-Library=katapult_amarokcatalog +X-Katapult-ID=Amarok Catalog === modified file 'katapult/plugins/catalogs/bookmarkcatalog/katapult_bookmarkcatalog.desktop' --- katapult/plugins/catalogs/bookmarkcatalog/katapult_bookmarkcatalog.desktop +++ katapult/plugins/catalogs/bookmarkcatalog/katapult_bookmarkcatalog.desktop @@ -11,3 +11,4 @@ ServiceTypes=Katapult/Catalog Type=Service X-KDE-Library=katapult_bookmarkcatalog +X-Katapult-ID=Bookmark Catalog === modified file 'katapult/plugins/catalogs/calculatorcatalog/katapult_calculatorcatalog.desktop' --- katapult/plugins/catalogs/calculatorcatalog/katapult_calculatorcatalog.desktop +++ katapult/plugins/catalogs/calculatorcatalog/katapult_calculatorcatalog.desktop @@ -12,3 +12,4 @@ ServiceTypes=Katapult/Catalog Type=Service X-KDE-Library=katapult_calculatorcatalog +X-Katapult-ID=Calculator Catalog === modified file 'katapult/plugins/catalogs/documentcatalog/katapult_documentcatalog.desktop' --- katapult/plugins/catalogs/documentcatalog/katapult_documentcatalog.desktop +++ katapult/plugins/catalogs/documentcatalog/katapult_documentcatalog.desktop @@ -11,3 +11,4 @@ ServiceTypes=Katapult/Catalog Type=Service X-KDE-Library=katapult_documentcatalog +X-Katapult-ID=Document Catalog === modified file 'katapult/plugins/catalogs/programcatalog/katapult_programcatalog.desktop' --- katapult/plugins/catalogs/programcatalog/katapult_programcatalog.desktop +++ katapult/plugins/catalogs/programcatalog/katapult_programcatalog.desktop @@ -11,3 +11,4 @@ ServiceTypes=Katapult/Catalog Type=Service X-KDE-Library=katapult_programcatalog +X-Katapult-ID=Program Catalog === modified file 'katapult/plugins/display/glassdisplay/katapult_glassdisplay.desktop' --- katapult/plugins/display/glassdisplay/katapult_glassdisplay.desktop +++ katapult/plugins/display/glassdisplay/katapult_glassdisplay.desktop @@ -10,3 +10,4 @@ ServiceTypes=Katapult/Display Type=Service X-KDE-Library=katapult_glassdisplay +X-Katapult-ID=Glass Display === modified file 'katapult/plugins/display/puredisplay/katapult_puredisplay.desktop' --- katapult/plugins/display/puredisplay/katapult_puredisplay.desktop +++ katapult/plugins/display/puredisplay/katapult_puredisplay.desktop @@ -10,3 +10,4 @@ ServiceTypes=Katapult/Display Type=Service X-KDE-Library=katapult_puredisplay +X-Katapult-ID=Pure Display