[devel] kdenonbeta/kdedebian/kapture/kapture

Peter Rockai <[email protected]> Wed, 9 Feb 2005 23:00:44 +0100 (CET)
Newsgroups gmane.comp.kde.devel.debian
Message-ID <20050209220044.ABC9E1BB65__37932.3332258084$1107986447$gmane$org@office.kde.org>
CVS commit by mornfall: 

Unbreak "tab foregrounding" in case you try to open already-open package...
The idea seems broken though, i'll try to re-think.


  M +16 -5     kapture.cpp   1.48
  M +4 -2      kapture.h   1.23


--- kdenonbeta/kdedebian/kapture/kapture/kapture.cpp  #1.47:1.48
@@ -130,8 +130,7 @@ Kapture::Kapture()
 }
 
-void Kapture::newIteratorView (Iterator i)
+bool Kapture::foregroundIterator( Iterator i )
 {
-    if (i == Iterator ()) return;
-    kdDebug() << "Kapture::newIteratorView (nonempty iterator)" << endl;
+    if (i == Iterator ()) return false;
     IteratorView *v = 0;
     for (int j = 0; j <= m_iteratorsShown; j ++) {
@@ -140,11 +139,21 @@ void Kapture::newIteratorView (Iterator 
             m_iteratorTabs -> setCurrentPage (j);
             iteratorTabChanged (v);
-            return;
+            return true;
         }
     } // XXX: fix this... uptade: huh?
-    m_iteratorsShown ++;
+    return false;
+}
+
+void Kapture::newIteratorView (Iterator i)
+{
+    if (i == Iterator ()) return;
+    kdDebug() << "Kapture::newIteratorView (nonempty iterator)" << endl;
+    if (foregroundIterator( i ))
+        return;
+    IteratorView *v = 0;
     v = m_iteratorViewFact -> create (this, i, true);
     kdDebug() << "iteratorView: " << v << endl;
     if (v) {
+        m_iteratorsShown ++;
         v -> setUseHistory (true);
         v -> setIteratorActor (this);
@@ -173,4 +182,6 @@ void Kapture::iteratorTabChanged (QWidge
 void Kapture::showIterator (Iterator i)
 {
+    if (foregroundIterator( i ))
+        return;
     if (m_curIteratorView) {
         m_curIteratorView -> showIterator (i);

--- kdenonbeta/kdedebian/kapture/kapture/kapture.h  #1.22:1.23
@@ -1,2 +1,3 @@
+// -*- C++ -*-
 #ifndef KAPTURE_H
 #define KAPTURE_H
@@ -43,6 +44,7 @@ class Kapture : public KDockMainWindow, 
 
     public slots:
-        void newIteratorView (aptFront::Iterator);
-        void showIterator (aptFront::Iterator);
+        void newIteratorView( aptFront::Iterator );
+        void showIterator( aptFront::Iterator );
+                bool foregroundIterator( aptFront::Iterator );
         void closeNodeView ();