SOURCES: kdepim-branch.diff - updated

arekm arekm at pld-linux.org
Tue Jan 17 16:01:27 CET 2006


Author: arekm                        Date: Tue Jan 17 15:01:27 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- updated

---- Files affected:
SOURCES:
   kdepim-branch.diff (1.13 -> 1.14) 

---- Diffs:

================================================================
Index: SOURCES/kdepim-branch.diff
diff -u SOURCES/kdepim-branch.diff:1.13 SOURCES/kdepim-branch.diff:1.14
--- SOURCES/kdepim-branch.diff:1.13	Sun Jan  8 23:35:46 2006
+++ SOURCES/kdepim-branch.diff	Tue Jan 17 16:01:21 2006
@@ -1,19 +1,31 @@
 Index: akregator/ChangeLog
 ===================================================================
---- akregator/ChangeLog	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/ChangeLog	(.../branches/KDE/3.5/kdepim)	(revision 495790)
-@@ -2,9 +2,20 @@
+--- akregator/ChangeLog	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/ChangeLog	(.../branches/KDE/3.5/kdepim)	(revision 499311)
+@@ -1,10 +1,31 @@
+ Akregator ChangeLog
  ===================
- (c) 2004, 2005 the Akregator authors.
+-(c) 2004, 2005 the Akregator authors.
++(c) 2004-2006 the Akregator authors.
  
 +Changes after 1.2:
++-----------------------------
 +
 +Bug fixes:
 +
-+ 2006/01/08 Fix problems with keyboard navigation getting stuck on duplicated articles
-+            and prevent creation of new items when selecting an unread dupe (#114997) -fo
-+ 2005/12/05 Wait 30 minutes before retrying fetching when fetching failed (host down, parsing error) 
-+            (#113358) -fo
++ 2006/01/16 Fix article order in Combined View: sort by date (reversed) (#118055) -fo
++ 2006/01/15 Fix parsing of Atom 1.0 feeds with escaped HTML in it: Don't show tags
++            as text (#112491, #117938) -fo
++ 2006/01/10 Select next item in article list when deleting the selected article
++            (single selection mode only) (#119724) -fo
++ 2006/01/10 Fix item handling in the feed list, avoid crashes as happening 
++            after moving a folder and deleting a subitem afterwards 
++            (#118659) -fo
++ 2006/01/08 Fix problems with keyboard navigation getting stuck on duplicated
++            articles and prevent creation of new items when selecting an unread
++            dupe (#114997) -fo
++ 2005/12/05 Wait 30 minutes before retrying fetching when fetching failed (host
++            down, parsing error) (#113358) -fo
 +
  Changes after 1.0:
  -----------------------------
@@ -23,10 +35,22 @@
  New features:
         - add "Save link as" to context menus -fo
         
+Index: akregator/src/articleviewer.cpp
+===================================================================
+--- akregator/src/articleviewer.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/articleviewer.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
+@@ -637,6 +637,7 @@
+         return slotClear();
+ 
+     QValueList<Article> articles = m_node->articles();
++    qHeapSort(articles);
+     QValueList<Article>::ConstIterator end = articles.end();
+     QValueList<Article>::ConstIterator it = articles.begin();
+ 
 Index: akregator/src/notificationmanager.cpp
 ===================================================================
---- akregator/src/notificationmanager.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/notificationmanager.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/notificationmanager.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/notificationmanager.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -33,7 +33,7 @@
  #include "feed.h"
  #include "notificationmanager.h"
@@ -45,8 +69,8 @@
  #include "notificationmanager.moc"
 Index: akregator/src/treenodeitem.cpp
 ===================================================================
---- akregator/src/treenodeitem.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/treenodeitem.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/treenodeitem.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/treenodeitem.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -34,7 +34,7 @@
  
  #include <kdebug.h>
@@ -67,8 +91,8 @@
 +} // namespace Akregator
 Index: akregator/src/tagnodeitem.cpp
 ===================================================================
---- akregator/src/tagnodeitem.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/tagnodeitem.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/tagnodeitem.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/tagnodeitem.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -33,7 +33,7 @@
  #include <qpoint.h>
  #include <qpopupmenu.h>
@@ -86,8 +110,8 @@
 +
 Index: akregator/src/feed.cpp
 ===================================================================
---- akregator/src/feed.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/feed.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/feed.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/feed.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -62,9 +62,14 @@
          bool markImmediatelyAsRead;
          bool useNotification;
@@ -146,8 +170,8 @@
          return;
 Index: akregator/src/articlelistview.cpp
 ===================================================================
---- akregator/src/articlelistview.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/articlelistview.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/articlelistview.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/articlelistview.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -59,9 +59,21 @@
  class ArticleListView::ArticleListViewPrivate
  {
@@ -182,7 +206,94 @@
      d->noneSelected = true;
      d->node = 0;
      d->columnMode = ArticleListViewPrivate::feedMode;
-@@ -524,7 +537,7 @@
+@@ -355,6 +368,12 @@
+ {
+     setUpdatesEnabled(false);
+ 
++    // if only one item is selected and this selected item
++    // is deleted, we will select the next item in the list
++    bool singleSelected = selectedArticles().count() == 1;
++    
++    QListViewItem* next = 0; // the item to select if a selected item is deleted
++    
+     for (QValueList<Article>::ConstIterator it = list.begin(); it != list.end(); ++it)
+     {
+         
+@@ -362,8 +381,16 @@
+         {
+             ArticleItem* ali = d->articleMap[*it];
+ 
+-            if ((*it).isDeleted()) // if article was set to deleted, delete item
++            if (ali && (*it).isDeleted()) // if article was set to deleted, delete item
+             {
++                if (singleSelected && ali->isSelected())
++                {
++                    if (ali->itemBelow())
++                        next = ali->itemBelow();
++                    else if (ali->itemAbove())
++                        next = ali->itemAbove();
++                }
++                
+                 d->articleMap.remove(*it);
+                 delete ali;
+             }
+@@ -377,22 +404,55 @@
+         }
+     }
+ 
++    // if the only selected item was deleted, select
++    // an item next to it
++    if (singleSelected && next != 0)
++    {
++        setSelected(next, true);
++        setCurrentItem(next);
++    }
++
+     setUpdatesEnabled(true);
+     triggerUpdate();
+ }
+ 
+ void ArticleListView::slotArticlesRemoved(TreeNode* /*node*/, const QValueList<Article>& list)
+ {
++    // if only one item is selected and this selected item
++    // is deleted, we will select the next item in the list
++    bool singleSelected = selectedArticles().count() == 1;
++
++    QListViewItem* next = 0; // the item to select if a selected item is deleted
++    
+     setUpdatesEnabled(false);
++    
+     for (QValueList<Article>::ConstIterator it = list.begin(); it != list.end(); ++it)
+     {
+         if (d->articleMap.contains(*it))
+         {
+             ArticleItem* ali = d->articleMap[*it];
+             d->articleMap.remove(*it);
++            
++            if (singleSelected && ali->isSelected())
++            {
++                if (ali->itemBelow())
++                    next = ali->itemBelow();
++                else if (ali->itemAbove())
++                    next = ali->itemAbove();
++            }
++            
+             delete ali;
+         }
+     }
++    
++    // if the only selected item was deleted, select
++    // an item next to it
++    if (singleSelected && next != 0)
++    {
++        setSelected(next, true);
++        setCurrentItem(next);
++    }
++
+     setUpdatesEnabled(true);
+     triggerUpdate();
+ }
+@@ -524,7 +584,7 @@
          clearSelection();
          setSelected(d->articleMap[a], true);
          setCurrentItem(d->articleMap[a]);
@@ -191,7 +302,7 @@
      }
  }
  
-@@ -542,7 +555,7 @@
+@@ -542,7 +602,7 @@
          clearSelection();
          setSelected(d->articleMap[a], true);
          setCurrentItem(d->articleMap[a]);
@@ -200,7 +311,7 @@
      }
  }
  
-@@ -572,7 +585,7 @@
+@@ -572,7 +632,7 @@
          setCurrentItem(d->articleMap[a]);
          clearSelection();
          setSelected(d->articleMap[a], true);
@@ -209,7 +320,7 @@
      }
  }
  
-@@ -602,7 +615,7 @@
+@@ -602,7 +662,7 @@
          setCurrentItem(d->articleMap[a]);
          clearSelection();
          setSelected(d->articleMap[a], true);
@@ -220,8 +331,8 @@
  
 Index: akregator/src/mainwindow.cpp
 ===================================================================
---- akregator/src/mainwindow.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/mainwindow.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/mainwindow.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/mainwindow.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -59,7 +59,7 @@
  #include <qtimer.h>
  
@@ -240,10 +351,74 @@
  #include "mainwindow.moc"
  
  
+Index: akregator/src/librss/tools_p.cpp
+===================================================================
+--- akregator/src/librss/tools_p.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/librss/tools_p.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
+@@ -45,24 +45,42 @@
+ 		return QString::null;
+ 
+ 	QDomElement e = node.toElement();
+-	QString result;
++        QString result = e.text().stripWhiteSpace(); // let's assume plain text
+ 
+-	if (elemName == "content" && ((e.hasAttribute("mode") && e.attribute("mode") == "xml") || !e.hasAttribute("mode")))
+-		result = childNodesAsXML(node);
+-	else
+-		result = e.text();
+-
+-	bool hasPre = result.contains("<pre>",false);
+-	bool hasHtml = hasPre || result.contains("<");	// FIXME: test if we have html, should be more clever -> regexp
+-	if(!isInlined && !hasHtml)						// perform nl2br if not a inline elt and it has no html elts
+-		result = result = result.replace(QChar('\n'), "<br />");
+-	if(!hasPre)										// strip white spaces if no <pre>
+-		result = result.simplifyWhiteSpace();
+-
+-	if (result.isEmpty())
+-		return QString::null;
+-
+-	return result;
++        bool doHTMLCheck = true;
++ 
++        if (elemName == "content") // we have Atom here
++        {
++            doHTMLCheck = false;
++            // the first line is always the Atom 0.3, the second Atom 1.0
++            if (( e.hasAttribute("mode") && e.attribute("mode") == "escaped" && e.attribute("type") == "text/html" )
++            || (!e.hasAttribute("mode") && e.attribute("type") == "html"))
++            {
++                result = KCharsets::resolveEntities(e.text().simplifyWhiteSpace()); // escaped html
++            }
++            else if (( e.hasAttribute("mode") && e.attribute("mode") == "escaped" && e.attribute("type") == "text/plain" )
++                       || (!e.hasAttribute("mode") && e.attribute("type") == "text"))
++            {
++                result = e.text().stripWhiteSpace(); // plain text
++            }
++            else if (( e.hasAttribute("mode") && e.attribute("mode") == "xml" )
++                       || (!e.hasAttribute("mode") && e.attribute("type") == "xhtml"))
++            {
++                result = childNodesAsXML(e); // embedded XHMTL
++            }
++        }        
++        
++        if (doHTMLCheck) // check for HTML; not necessary for Atom:content
++        {
++            bool hasPre = result.contains("<pre>",false);
++            bool hasHtml = hasPre || result.contains("<");	// FIXME: test if we have html, should be more clever -> regexp
++            if(!isInlined && !hasHtml)						// perform nl2br if not a inline elt and it has no html elts
++                    result = result = result.replace(QChar('\n'), "<br />");
++            if(!hasPre)										// strip white spaces if no <pre>
++                    result = result.simplifyWhiteSpace();
++        }
++        
++        return result.isEmpty() ? QString::null : result;
+ }
+ 
+ QString RSS::extractTitle(const QDomNode & parent)
 Index: akregator/src/actionmanagerimpl.cpp
 ===================================================================
---- akregator/src/actionmanagerimpl.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/actionmanagerimpl.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/actionmanagerimpl.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/actionmanagerimpl.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -69,14 +69,14 @@
      public:
      NodeSelectVisitor(ActionManagerImpl* manager) : m_manager(manager) {}
@@ -263,8 +438,8 @@
          m_manager->action("feed_modify")->setText(i18n("&Edit Feed..."));
 Index: akregator/src/mk4storage/metakit/src/column.cpp
 ===================================================================
---- akregator/src/mk4storage/metakit/src/column.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/mk4storage/metakit/src/column.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/mk4storage/metakit/src/column.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/mk4storage/metakit/src/column.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -1441,8 +1441,9 @@
        Set(index_++, c4_Bytes (ptr, length));
      }
@@ -278,9 +453,9 @@
  }
 Index: akregator/src/mk4storage/akregator_mk4storage_plugin.desktop
 ===================================================================
---- akregator/src/mk4storage/akregator_mk4storage_plugin.desktop	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/mk4storage/akregator_mk4storage_plugin.desktop	(.../branches/KDE/3.5/kdepim)	(revision 495790)
-@@ -5,8 +5,10 @@
+--- akregator/src/mk4storage/akregator_mk4storage_plugin.desktop	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/mk4storage/akregator_mk4storage_plugin.desktop	(.../branches/KDE/3.5/kdepim)	(revision 499311)
+@@ -5,12 +5,15 @@
  Name[cs]=Metakit ĂşloĹžiĹĄtÄ›
  Name[da]=Metakit lagringsgrĂŚnseflade
  Name[de]=Metakit Archiv-Modul
@@ -291,7 +466,12 @@
  Name[fr]=Stockage avec Metakit
  Name[is]=Metakit geymslu bakendi
  Name[it]=Backend archiviazione metakit
-@@ -21,20 +23,23 @@
+ Name[nb]=Metakit lagringsbakstykke
++Name[nds]=Metakit-Archivmoduul
+ Name[nl]=Metakit-opslagbackend
+ Name[nn]=Metakit-lagringsbakstykke
+ Name[pl]=System przechowywania Metakit
+@@ -21,35 +24,39 @@
  Name[sr at Latn]=Sistem za smeĹĄtanje Meta kompleta
  Name[sv]=Metakit lagringsgränssnitt
  Name[uk]=ĐŸŃ€ĐžĐłŃ€Đ°ĐźĐ° ĐˇĐąĐľŃ€Ń–ĐłĐ°Đ˝Đ˝Ń Metakit
@@ -315,8 +495,10 @@
 +Comment[ja]=Akregator ç”¨ăƒ—ăƒŠă‚°ă‚¤ăƒł
  Comment[lt]=Akregator skirtas priedas
  Comment[nb]=Programtillegg for Akregator
++Comment[nds]=Moduul fĂśr Akregator
  Comment[nl]=Plugin voor Akregator
-@@ -43,13 +48,13 @@
+ Comment[nn]=Programtillegg til Akregator
+ Comment[pl]=Wtyczka dla Akregatora
  Comment[pt]='Plugin' para o Akregator
  Comment[pt_BR]=Plugin para o Akregator
  Comment[ru]=ĐœĐžĐ´ŃƒĐťŃŒ для Akregator
@@ -333,8 +515,8 @@
  
 Index: akregator/src/propertiesdialog.cpp
 ===================================================================
---- akregator/src/propertiesdialog.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/propertiesdialog.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/propertiesdialog.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/propertiesdialog.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -36,7 +36,7 @@
  #include <qbuttongroup.h>
  #include <qradiobutton.h>
@@ -354,8 +536,8 @@
  // vim: ts=4 sw=4 et
 Index: akregator/src/akregator_view.h
 ===================================================================
---- akregator/src/akregator_view.h	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/akregator_view.h	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/akregator_view.h	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/akregator_view.h	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -32,6 +32,7 @@
  
  #include <kurl.h>
@@ -421,8 +603,8 @@
  
 Index: akregator/src/feeditem.cpp
 ===================================================================
---- akregator/src/feeditem.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 495790)
-+++ akregator/src/feeditem.cpp	(.../branches/KDE/3.5/kdepim)	(revision 495790)
+--- akregator/src/feeditem.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/feeditem.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
 @@ -32,7 +32,7 @@
  #include <kiconloader.h>
  #include <qstring.h>
@@ -438,10 +620,202 @@
  
 +} // namespace Akregator
 +
+Index: akregator/src/feedlistview.cpp
+===================================================================
+--- akregator/src/feedlistview.cpp	(.../tags/KDE/3.5.0/kdepim)	(revision 499311)
++++ akregator/src/feedlistview.cpp	(.../branches/KDE/3.5/kdepim)	(revision 499311)
+@@ -71,6 +71,7 @@
+     ConnectNodeVisitor* connectNodeVisitor;
+     DisconnectNodeVisitor* disconnectNodeVisitor;
+     CreateItemVisitor* createItemVisitor;
++    DeleteItemVisitor* deleteItemVisitor;
+     DragAndDropVisitor* dragAndDropVisitor;
+ };
+ 
+@@ -186,6 +187,57 @@
+         NodeListView* m_view;
+ };
+ 
++class NodeListView::DeleteItemVisitor : public TreeNodeVisitor
++{
++    public:
++        
++        DeleteItemVisitor(NodeListView* view) : m_view(view) {}
++        
++        virtual bool visitTreeNode(TreeNode* node)
++        {
++            TreeNodeItem* item = m_view->d->itemDict.take(node);
++    
++            if (!item)
++                return true;
++    
++            if ( m_selectNeighbour && item->isSelected() )
++            {
++                if (item->itemBelow())
++                    m_view->setSelected(item->itemBelow(), true);
++                else if (item->itemAbove())
++                    m_view->setSelected(item->itemAbove(), true);
++                else
++                    m_view->setSelected(item, false);
++            }
++            
++            delete item;
++            return true;
++        
++        }
++        
++        virtual bool visitFolder(Folder* node)
++        {
++            // delete child items recursively before deleting parent
++            QValueList<TreeNode*> children = node->children();
++            for (QValueList<TreeNode*>::ConstIterator it =  children.begin(); it != children.end(); ++it )
++                visit(*it);
++            
++            visitTreeNode(node);
++            
++            return true;
++        }
++        
++        void deleteItem(TreeNode* node, bool selectNeighbour)
++        {
++            m_selectNeighbour = selectNeighbour;
++            visit(node);
++        }
++        
++    private:
++        NodeListView* m_view;
++        bool m_selectNeighbour;
++};
++
+ class NodeListView::CreateItemVisitor : public TreeNodeVisitor
+ {
+     public:
+@@ -193,7 +245,6 @@
+ 
+         virtual bool visitTagNode(TagNode* node)
+         {
+-            kdDebug() << "create item for " << node->title() << endl;
+             TagNodeItem* item = 0;
+             TreeNode* prev = node->prevSibling();
+             FolderItem* parentItem = static_cast<FolderItem*>(m_view->findNodeItem(node->parent()));
+@@ -281,9 +332,9 @@
+                     item = new FolderItem(m_view, node);
+             }
+             m_view->d->itemDict.insert(node, item);
++            
++            // add children recursively
+             QValueList<TreeNode*> children = node->children();
+-
+-            // add children recursively
+             for (QValueList<TreeNode*>::ConstIterator it =  children.begin(); it != children.end(); ++it )
+                 visit(*it);
+ 
+@@ -333,6 +384,7 @@
+     d->connectNodeVisitor = new ConnectNodeVisitor(this),
+     d->disconnectNodeVisitor = new DisconnectNodeVisitor(this);
+     d->createItemVisitor = new CreateItemVisitor(this);
++    d->deleteItemVisitor = new DeleteItemVisitor(this);
+     d->dragAndDropVisitor = new DragAndDropVisitor(this);
+ 
+     setMinimumSize(150, 150);
+@@ -372,6 +424,7 @@
+     delete d->connectNodeVisitor;
+     delete d->disconnectNodeVisitor;
+     delete d->createItemVisitor;
++    delete d->deleteItemVisitor;
+     delete d->dragAndDropVisitor;
+     delete d;
+     d = 0;
+@@ -841,9 +894,12 @@
+ 
+ void NodeListView::slotSelectionChanged(QListViewItem* item)
+ {
+- TreeNodeItem* ni = dynamic_cast<TreeNodeItem*> (item);
++    TreeNodeItem* ni = dynamic_cast<TreeNodeItem*> (item);
++    
+     if (ni)
++    {
+         emit signalNodeSelected(ni->node());
++    }
+ }
+ 
+ void NodeListView::slotItemRenamed(QListViewItem* item, int col, const QString& text)
+@@ -855,7 +911,6 @@
+     {
+         if (text != ni->node()->title())
+         {
+-            kdDebug() << "renamed item to \"" << text << "\"" << endl;
+             ni->node()->setTitle(text);
+         }
+     }
+@@ -874,9 +929,12 @@
+     if (!feed->favicon().isNull())
+     {
+         TreeNodeItem* item = findNodeItem(feed);
+-        KIconEffect iconEffect;
+-        QPixmap tempIcon = iconEffect.apply(feed->favicon(), KIcon::Small, KIcon::DisabledState);
+-        item->setPixmap(0, tempIcon);
++        if (item)
++        {
++            KIconEffect iconEffect;
++            QPixmap tempIcon = iconEffect.apply(feed->favicon(), KIcon::Small, KIcon::DisabledState);
++            item->setPixmap(0, tempIcon);
++        }
+     }
+ 
+ }
+@@ -904,17 +962,14 @@
+       
+ void NodeListView::slotNodeAdded(TreeNode* node)
+ {
+-    d->createItemVisitor->visit(node);
+-    kdDebug() << "NodeListView::slotNodeAdded: " << node->title() << endl;
++    if (node)
++        d->createItemVisitor->visit(node);
+ }
+ 
+ void NodeListView::slotNodeRemoved(Folder* /*parent*/, TreeNode* node)
+ {
+-    if (!node)
+-        return;
+-    kdDebug() << "NodeListView::slotNodeRemoved: " << node->title() << endl; 
+-    disconnectFromNode(node);
+-    delete d->itemDict.take(node);
++    if (node)
++        d->deleteItemVisitor->deleteItem(node, false);
+ }
+ 
+ void NodeListView::connectToNode(TreeNode* node)
+@@ -957,23 +1012,8 @@
+ 
+ void NodeListView::slotNodeDestroyed(TreeNode* node)
+ {
+-    TreeNodeItem* item = findNodeItem(node);
+-    
+-    d->itemDict.remove(node);
+-
+-    if (!item)
+-        return;
+-    
+-    if ( item->isSelected() )
+-    {
+-        if (item->itemBelow())
+-            setSelected(item->itemBelow(), true);
+-        else if (item->itemAbove())
+-            setSelected(item->itemAbove(), true);
+-        else
+-            setSelected(item, false);
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/kdepim-branch.diff?r1=1.13&r2=1.14&f=u



More information about the pld-cvs-commit mailing list