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

List:       kde-commits
Subject:    kdenonbeta/kopete/libkopete
From:       Michel Hermier <michel.hermier () wanadoo ! fr>
Date:       2003-07-12 8:23:55
[Download RAW message or body]

CVS commit by hermier: 

Moved the view life cycle of the KopeteView to the KMMF.
Commented the original signals definitions KopeteView as it was a mistake, left there \
asan internal/develloper note. This changes allow to not use *_cast in plugins while \
using the signals for the KopeteView. This should allow the users of \
KMMF::getActiveView to implement it "correcly".


  M +25 -0     kopetemessagemanagerfactory.cpp   1.55
  M +15 -0     kopetemessagemanagerfactory.h   1.34
  M +3 -3      ui/kopeteview.h   1.8


--- kdenonbeta/kopete/libkopete/kopetemessagemanagerfactory.cpp  #1.54:1.55
@@ -19,4 +19,6 @@
 
 #include <kapplication.h>
+
+#include "ui/kopeteview.h"
 #include "kopetecontact.h"
 
@@ -156,8 +158,31 @@ KopeteView * KopeteMessageManagerFactory
                 return 0L;
         }
+
+        QObject *viewObject = dynamic_cast<QObject *>(newView);
+        if(viewObject)
+        {
+                connect(viewObject, SIGNAL(activated(KopeteView *)),
+                        this, SLOT(slotViewActivated(KopeteView *)));
+                connect(viewObject, SIGNAL(closing(KopeteView *)),
+                        this, SLOT(slotViewClosing(KopeteView *)));
+        }
+        else
+        {
+                kdWarning(14010) << "Failed to cast view to QObject *" << endl;
+        }
+
         emit viewCreated( newView ) ;
         return newView;
 }
 
+void KopeteMessageManagerFactory::slotViewActivated(KopeteView *view)
+{
+        emit viewActivated(view);
+}
+
+void KopeteMessageManagerFactory::slotViewClosing(KopeteView *view)
+{
+        emit viewClosing(view);
+}
 
 #include "kopetemessagemanagerfactory.moc"

--- kdenonbeta/kopete/libkopete/kopetemessagemanagerfactory.h  #1.33:1.34
@@ -135,4 +135,15 @@ signals:
          */
         void viewCreated( KopeteView * );
+
+        /**
+         * A view as been activated(manually only?).
+         */
+        void viewActivated( KopeteView *view );
+
+        /*
+         * A view is about to close.
+         */
+        void viewClosing( KopeteView *view );
+
         /**
          * a new KMM has been created
@@ -154,4 +165,8 @@ signals:
          */
         void getActiveView(KopeteView*& ); public: void activeView(KopeteView*&v) { \
emit getActiveView(v); } +
+private slots:
+        void slotViewActivated(KopeteView *view);
+        void slotViewClosing(KopeteView *view);
 
 private:

--- kdenonbeta/kopete/libkopete/ui/kopeteview.h  #1.7:1.8
@@ -134,15 +134,15 @@ class KopeteView
                  * signal is emitted
                  */
-                virtual void messageSent( KopeteMessage & ) = 0;
+//              virtual void messageSent( KopeteMessage & ) = 0;
 
                 /**
                  * SIGNAL Emitted when the view is closing.
                  */
-                virtual void closing( KopeteView * ) = 0;
+//              virtual void closing( KopeteView * ) = 0;
 
                 /**
                  * SIGNAL Emitted when the view is activated ( raised by the user )
                  */
-                virtual void activated( KopeteView * ) = 0;
+//              virtual void activated( KopeteView * ) = 0;
 
 


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

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