[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/akregator/src
From:       Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date:       2008-03-23 23:43:20
Message-ID: 1206315800.626458.23092.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 789340 by osterfeld:

add EditSubscriptionCommand

 M  +1 -0      CMakeLists.txt  
 M  +4 -9      deletesubscriptioncommand.cpp  
 A             editsubscriptioncommand.cpp   [License: GPL (v2+) (+Qt exception)]
 A             editsubscriptioncommand.h   [License: GPL (v2+) (+Qt exception)]
 M  +9 -30     mainwidget.cpp  
 M  +0 -4      mainwidget.h  


--- trunk/KDE/kdepim/akregator/src/CMakeLists.txt #789339:789340
@@ -77,6 +77,7 @@
    articleviewer.cpp 
    articleformatter.cpp
    addfeeddialog.cpp 
+   editsubscriptioncommand.cpp
    feedpropertiesdialog.cpp 
    tabwidget.cpp 
    progressmanager.cpp 
--- trunk/KDE/kdepim/akregator/src/deletesubscriptioncommand.cpp #789339:789340
@@ -43,7 +43,7 @@
 class DeleteNodeVisitor : public TreeNodeVisitor
 {
     public:
-        DeleteNodeVisitor() : m_widget( 0 ), m_job( 0 ) {}
+        explicit DeleteNodeVisitor( QWidget* parent ) : m_widget( parent ), m_job( 0 \
) {}  
         
         bool visitFolder( Folder* node )
@@ -87,8 +87,6 @@
         }
         
 
-        void setWidget( QWidget* widget ) { m_widget = widget; }
-        
         DeleteSubscriptionJob* createJob( TreeNode* node )
         {
             m_job = 0;
@@ -124,20 +122,17 @@
     
     FeedList* m_list;
     int m_subscriptionId;
-    DeleteNodeVisitor* m_visitor;
 };
 
 DeleteSubscriptionCommand::Private::Private( DeleteSubscriptionCommand* qq ) : q( qq \
                ),
                                                                                \
                m_list( 0 ),
-                                                                               \
                m_subscriptionId( -1 ),
-                                                                               \
m_visitor( new DeleteNodeVisitor ) +                                                  \
m_subscriptionId( -1 )  {
     
 }
 
 DeleteSubscriptionCommand::Private::~Private()
 {
-    delete m_visitor;
 }
 
 DeleteSubscriptionCommand::DeleteSubscriptionCommand( QObject* parent ) : Command( \
parent ), d( new Private( this ) ) @@ -177,9 +172,9 @@
 
 void DeleteSubscriptionCommand::Private::startDelete()
 {
-    m_visitor->setWidget( q->parentWidget() );
     TreeNode* const node = m_list->findByID( m_subscriptionId );
-    DeleteSubscriptionJob* job = m_visitor->createJob( node );
+    DeleteNodeVisitor visitor( q->parentWidget() );
+    DeleteSubscriptionJob* job = visitor.createJob( node );
     if ( !job )
     {
         q->done();
--- trunk/KDE/kdepim/akregator/src/mainwidget.cpp #789339:789340
@@ -34,6 +34,7 @@
 #include "akregator_part.h"
 #include "browserframe.h"
 #include "deletesubscriptioncommand.h"
+#include "editsubscriptioncommand.h"
 #include "feed.h"
 #include "feedlist.h"
 #include "feedpropertiesdialog.h"
@@ -85,30 +86,6 @@
 using namespace Akregator;
 using namespace Solid;
 
-class Akregator::MainWidget::EditNodePropertiesVisitor : public TreeNodeVisitor
-{
-    public:
-        EditNodePropertiesVisitor(MainWidget* mainWidget) : m_mainWidget(mainWidget) \
                {}
-
-        virtual bool visitFolder(Folder* node)
-        {
-            m_mainWidget->m_feedListView->startNodeRenaming(node);
-            return true;
-        }
-
-        virtual bool visitFeed(Feed* node)
-        {
-            QPointer<FeedPropertiesDialog> dlg = new FeedPropertiesDialog( \
                m_mainWidget, "edit_feed" );
-            dlg->setFeed(node);
-            dlg->exec();
-            delete dlg;
-            return true;
-        }
-    private:
-
-        MainWidget* m_mainWidget;
-};
-
 Akregator::MainWidget::~MainWidget()
 {
     // if m_shuttingDown is false, slotOnShutdown was not called. That
@@ -122,7 +99,6 @@
  : QWidget(parent), m_feedList( 0 ), m_viewMode(NormalView), \
m_actionManager(actionManager)  {
     setObjectName(name);
-    m_editNodePropertiesVisitor = new EditNodePropertiesVisitor(this);
 
     m_actionManager->initMainWidget(this);
     m_actionManager->initFrameManager(Kernel::self()->frameManager());
@@ -323,7 +299,6 @@
 
     delete m_mainTab;
     delete m_mainFrame;
-    delete m_editNodePropertiesVisitor;
 
     Settings::self()->writeConfig();
 }
@@ -765,10 +740,14 @@
 
 void Akregator::MainWidget::slotFeedModify()
 {
-    TreeNode* node = m_selectionController->selectedSubscription();
-    if (node)
-        m_editNodePropertiesVisitor->visit(node);
-
+    TreeNode* const node = m_selectionController->selectedSubscription();
+    if ( !node )
+        return;    
+    EditSubscriptionCommand* cmd = new EditSubscriptionCommand( this );
+    cmd->setParentWidget( this );
+    cmd->setSubscription( m_feedList, node->id() );
+    cmd->setSubscriptionListView( m_feedListView );
+    cmd->start();
 }
 
 void Akregator::MainWidget::slotNextUnreadArticle()
--- trunk/KDE/kdepim/akregator/src/mainwidget.h #789339:789340
@@ -262,10 +262,6 @@
         bool m_displayingAboutPage;
 
         ActionManagerImpl* m_actionManager;
-
-        friend class EditNodePropertiesVisitor;
-        class EditNodePropertiesVisitor;
-        EditNodePropertiesVisitor* m_editNodePropertiesVisitor;
 };
 
 } // namespace Akregator


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic