[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-pim
Subject: [Kde-pim] KDE/kdepim/kaddressbook/features
From: Kevin Krammer <kevin.krammer () gmx ! at>
Date: 2008-08-20 21:26:47
Message-ID: 1219267607.821613.19336.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 850163 by krake:
Improved handling of treewidget items for sub resources, e.g. avoid double creation, \
handle removeSubResource signal, etc.
Everybody using sub resource plugins please test as well
CCMAIL: kde-pim@kde.org
M +29 -2 resourceselection.cpp
M +3 -0 resourceselection.h
--- trunk/KDE/kdepim/kaddressbook/features/resourceselection.cpp #850162:850163
@@ -340,7 +340,13 @@
return;
KABCResourceItem *item = static_cast<KABCResourceItem *>( foundItems[0] );
- (void)new KABCResourceItem( resource, item, subResource );
+
+ // make sure all other sub items have already been created
+ item->createSubresourceItems();
+
+ // check if we already have an item for it
+ if ( !findSubResourceItem( resource, subResource ) )
+ (void)new KABCResourceItem( resource, item, subResource );
}
// Remove an entry
@@ -349,8 +355,10 @@
const QString& subResource )
{
kDebug(5720) << resource->resourceName() << subResource;
+
+ KABCResourceItem *item = findSubResourceItem( resource, subResource );
+ delete item;
// TODO
- //delete findItemByIdentifier( resource );
//emitResourcesChanged();
}
@@ -359,6 +367,25 @@
return static_cast<KABCResourceItem*>( mListView->currentItem() );
}
+KABCResourceItem* ResourceSelection::findSubResourceItem( KABC::ResourceABC \
*resource, + const QString \
&subResource ) +{
+ QTreeWidgetItemIterator parentIt( mListView );
+ for ( ; *parentIt; ++parentIt ) {
+ if ( static_cast<KABCResourceItem*>(*parentIt)->resource() != resource )
+ continue;
+
+ QTreeWidgetItemIterator childIt( *parentIt );
+ for ( ; *childIt; ++childIt ) {
+ KABCResourceItem *item = static_cast<KABCResourceItem*>(*childIt);
+ if ( item->resourceIdentifier() == subResource )
+ return item;
+ }
+ }
+
+ return 0;
+}
+
void ResourceSelection::initGUI()
{
QBoxLayout *topLayout = new QVBoxLayout( this );
--- trunk/KDE/kdepim/kaddressbook/features/resourceselection.h #850162:850163
@@ -67,6 +67,9 @@
KABCResourceItem* selectedItem() const;
+ KABCResourceItem* findSubResourceItem( KABC::ResourceABC *resource,
+ const QString &subResource );
+
QTreeWidget *mListView;
QAbstractButton *mAddButton;
QAbstractButton *mEditButton;
_______________________________________________
KDE PIM mailing list kde-pim@kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic