CVS commit by mornfall: Grant a wish to ervin: clicking on a package already having a tab just brings the relevant tab into foreground, instead of opening new one.
M +10 -1 kapture/kapture.cpp 1.18 M +1 -1 libkapture/nodeview.cpp 1.3 M +2 -0 libkapture/nodeview.h 1.2 M +2 -0 libkapture/pkgnodeview.cpp 1.21 M +2 -1 libkapture/pkgnodeview.h 1.7 --- kdenonbeta/kdedebian/kapture/kapture/kapture.cpp #1.17:1.18 @@ -129,9 +129,18 @@ void Kapture::showNode (capture::TreeNod { NodeView *v = 0; + for (int i = 0; i <= m_nodesShown; i ++) { + v = dynamic_cast <NodeView *> (m_nodeTabs -> page (i)); + if (v) + kdDebug () << "compare: " << v -> node () << " vs " << n << endl; + if (v && v -> node () == n) { + m_nodeTabs -> setCurrentPage (i); + return; + } + } if (n -> type () == TreeNode::PkgNode) { m_nodesShown ++; PkgNodeView *details = new kapture::PkgNodeView (this, "details"); details -> setManager (m_man); - details -> setPackage ((TreePkgNode::castNode (n)) -> pkg ()); + details -> showNode (n); v = details; } --- kdenonbeta/kdedebian/kapture/libkapture/nodeview.cpp #1.2:1.3 @@ -9,5 +9,5 @@ using namespace kapture; /* {{{ */ NodeView::NodeView (QWidget *parent, const char *name) - : QWidget (parent, name), m_man (0) + : QWidget (parent, name), m_man (0), m_node (0) { //PkgManager::registerWatcher (this); --- kdenonbeta/kdedebian/kapture/libkapture/nodeview.h #1.1:1.2 @@ -33,4 +33,5 @@ namespace kapture { ~NodeView (); void setManager (KaptureManager *man); + TreeNode *node () { return m_node; }; // virtual void refresh (); // virtual void rebuild (); @@ -39,4 +40,5 @@ namespace kapture { protected: KaptureManager *m_man; + TreeNode *m_node; }; }; --- kdenonbeta/kdedebian/kapture/libkapture/pkgnodeview.cpp #1.20:1.21 @@ -100,4 +100,6 @@ void PkgNodeView::setPackage (pkgCache:: void PkgNodeView::setPackage (TreeNode *pkg) { + m_node = pkg; + kdDebug () << "PkgNodeView::setPackage, m_node = " << m_node << endl; setPackage (TreePkgNode::castNode (pkg) -> pkg ()); } --- kdenonbeta/kdedebian/kapture/libkapture/pkgnodeview.h #1.6:1.7 @@ -67,8 +67,9 @@ namespace kapture { virtual void rebuild (); public slots: - void setPackage (pkgCache::PkgIterator pkg); void setPackage (TreeNode *pkg); void setVersion (pkgCache::VerIterator V); virtual bool showNode (capture::TreeNode *n); + protected slots: + void setPackage (pkgCache::PkgIterator pkg); protected: QBoxLayout *m_layout;