From kde-commits Sat Aug 23 18:34:57 2008 From: Alex Merry Date: Sat, 23 Aug 2008 18:34:57 +0000 To: kde-commits Subject: branches/KDE/4.1/kdebase/workspace/libs/plasma Message-Id: <1219516497.276685.22072.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=121951650902656 SVN commit 851474 by alexmerry: Fix memory leak M +7 -7 appletbrowser.cpp M +2 -2 appletbrowser/kcategorizeditemsview.cpp M +2 -2 appletbrowser/kcategorizeditemsview_p.h M +4 -4 appletbrowser/kcategorizeditemsviewdelegate.cpp M +2 -2 appletbrowser/kcategorizeditemsviewmodels.cpp M +1 -1 appletbrowser/kcategorizeditemsviewmodels_p.h --- branches/KDE/4.1/kdebase/workspace/libs/plasma/appletbrowser.cpp #851473:851474 @@ -91,7 +91,7 @@ filterModel.clear(); filterModel.addFilter(i18n("All Widgets"), - KCategorizedItemsViewModels::Filter(), new KIcon("plasma")); + KCategorizedItemsViewModels::Filter(), KIcon("plasma")); // Recommended emblems and filters QRegExp rx("recommended[.]([0-9A-Za-z]+)[.]caption"); @@ -108,22 +108,22 @@ QString icon = configGroup.readEntry("recommended." + id + ".icon"); QString plugins = configGroup.readEntry("recommended." + id + ".plugins"); - appletList->addEmblem(i18n("Recommended by %1", caption), new KIcon(icon), + appletList->addEmblem(i18n("Recommended by %1", caption), KIcon(icon), KCategorizedItemsViewModels::Filter("recommended." + id, true)); filterModel.addFilter(i18n("Recommended by %1", caption), - KCategorizedItemsViewModels::Filter("recommended." + id, true), new KIcon(icon)); + KCategorizedItemsViewModels::Filter("recommended." + id, true), KIcon(icon)); } // Filters: Special filterModel.addFilter(i18n("My Favorite Widgets"), KCategorizedItemsViewModels::Filter("favorite", true), - new KIcon("bookmarks")); + KIcon("bookmarks")); filterModel.addFilter(i18n("Widgets I Have Used Before"), KCategorizedItemsViewModels::Filter("used", true), - new KIcon("view-history")); + KIcon("view-history")); filterModel.addFilter(i18n("Currently Running Widgets"), KCategorizedItemsViewModels::Filter("running", true), - new KIcon("view-history")); + KIcon("view-history")); filterModel.addSeparator(i18n("Categories:")); @@ -154,7 +154,7 @@ layout->addWidget(appletList); // Other Emblems - appletList->addEmblem(i18n("Widgets I Have Used Before"), new KIcon("view-history"), + appletList->addEmblem(i18n("Widgets I Have Used Before"), KIcon("view-history"), KCategorizedItemsViewModels::Filter("used", true)); initFilters(); --- branches/KDE/4.1/kdebase/workspace/libs/plasma/appletbrowser/kcategorizeditemsview.cpp #851473:851474 @@ -185,8 +185,8 @@ itemsView->setColumnWidth(2, m_delegate->columnWidth(2, m_viewWidth)); } -void KCategorizedItemsView::addEmblem(const QString & title, QIcon * icon, const Filter & filter) { - m_emblems[title] = QPair(filter, icon); +void KCategorizedItemsView::addEmblem(const QString & title, const QIcon & icon, const Filter & filter) { + m_emblems[title] = QPair(filter, icon); } void KCategorizedItemsView::clearEmblems() { --- branches/KDE/4.1/kdebase/workspace/libs/plasma/appletbrowser/kcategorizeditemsview_p.h #851473:851474 @@ -55,7 +55,7 @@ void setFilterModel(QStandardItemModel * model); ///< Sets the filters model void setItemModel(QStandardItemModel * model); ///< Sets the item model, as mentioned items must implement AbstractItem class - void addEmblem(const QString & title, QIcon * icon, const Filter & filter); + void addEmblem(const QString & title, const QIcon & icon, const Filter & filter); void clearEmblems(); QList < AbstractItem * > selectedItems() const; @@ -92,7 +92,7 @@ int m_viewWidth; - QMap < QString, QPair < Filter, QIcon * > > m_emblems; + QMap < QString, QPair < Filter, QIcon > > m_emblems; AbstractItem * getItemByProxyIndex(const QModelIndex & index) const; friend class KCategorizedItemsViewDelegate; --- branches/KDE/4.1/kdebase/workspace/libs/plasma/appletbrowser/kcategorizeditemsviewdelegate.cpp #851473:851474 @@ -135,7 +135,7 @@ // Counting the number of emblems for this item int emblemCount = 0; - QPair < Filter, QIcon * > emblem; + QPair < Filter, QIcon > emblem; foreach (emblem, m_parent->m_emblems) { if (item->passesFiltering(emblem.first)) ++emblemCount; } @@ -176,7 +176,7 @@ int emblemLeft = leftToRight ? (left + width - EMBLEM_ICON_SIZE) : left; // - FAV_ICON_SIZE - 2 * UNIVERSAL_PADDING foreach (emblem, m_parent->m_emblems) { if (item->passesFiltering(emblem.first)) { - emblem.second->paint(&p, + emblem.second.paint(&p, emblemLeft, top + UNIVERSAL_PADDING, EMBLEM_ICON_SIZE, EMBLEM_ICON_SIZE, Qt::AlignCenter, iconMode); if (leftToRight) { @@ -214,10 +214,10 @@ left + width - FAV_ICON_SIZE - UNIVERSAL_PADDING, top + UNIVERSAL_PADDING, FAV_ICON_SIZE, FAV_ICON_SIZE, Qt::AlignCenter, iconMode); - const KIcon * icon = (item->isFavorite())? & m_removeIcon : & m_favoriteAddIcon; + const KIcon & icon = (item->isFavorite())? m_removeIcon : m_favoriteAddIcon; if ((option.state & QStyle::State_MouseOver) && (m_onFavoriteIconItem != item)) - icon->paint(painter, + icon.paint(painter, left + width - EMBLEM_ICON_SIZE - UNIVERSAL_PADDING, top + UNIVERSAL_PADDING, EMBLEM_ICON_SIZE, EMBLEM_ICON_SIZE, Qt::AlignCenter, iconMode); } --- branches/KDE/4.1/kdebase/workspace/libs/plasma/appletbrowser/kcategorizeditemsviewmodels.cpp #851473:851474 @@ -57,12 +57,12 @@ } void DefaultFilterModel::addFilter(const QString & caption, - const Filter & filter, const KIcon * icon) + const Filter & filter, const KIcon & icon) { QList newRow; QStandardItem * item = new QStandardItem(caption); item->setData(qVariantFromValue(filter)); - if (icon) item->setIcon(*icon); + if (!icon.isNull()) item->setIcon(icon); newRow << item; appendRow(newRow); --- branches/KDE/4.1/kdebase/workspace/libs/plasma/appletbrowser/kcategorizeditemsviewmodels_p.h #851473:851474 @@ -92,7 +92,7 @@ * @param caption The localized string to be displayed as a name of the filter * @param filter The filter structure */ - void addFilter(const QString & caption, const Filter & filter, const KIcon * icon = NULL); + void addFilter(const QString & caption, const Filter & filter, const KIcon & icon = KIcon()); /** * Adds a separator to the model