diff --git a/clients/tde/src/app/remotemdi.cpp b/clients/tde/src/app/remotemdi.cpp index 10d4fc8..e6a65a3 100644 --- a/clients/tde/src/app/remotemdi.cpp +++ b/clients/tde/src/app/remotemdi.cpp @@ -65,14 +65,6 @@ RemoteMDI::RemoteMDI() // Create the status bar statusBar()->message(i18n("No view!")); - // Create the list of the opened windows - m_listBox = new KListBox(this); - m_listBox->setCaption(i18n("Opened windows")); - addToolWindow(m_listBox, KDockWidget::DockLeft, getMainDockWidget()); - - connect(m_listBox, SIGNAL(executed(TQListBoxItem *)), this, SLOT(listBoxExecuted(TQListBoxItem*))); - connect(m_listBox, SIGNAL(rightButtonClicked(TQListBoxItem*, const TQPoint&)), this, SLOT(listBoxRightClicked(TQListBoxItem*))); - processLockouts(); } @@ -198,12 +190,16 @@ void RemoteMDI::disconnectFromServer() { connect_action->setEnabled(false); disconnect_action->setEnabled(false); - for (TQValueList< KMdiChildView *>::iterator it = m_window.begin(); it != m_window.end(); ++it ) { - // Get the view - KMdiChildView *view = *it; - // Close it - closeSpecifiedWindow(view); + // Close all windows + KMdiIterator *it = createIterator(); + while (it->currentItem()) { + KMdiChildView *c = dynamic_cast(it->currentItem()); + if (c) { + closeSpecifiedWindow(c); + } + it->next(); } + deleteIterator(it); if (m_rsvSvrSocket) { m_rsvSvrSocket->clearPendingData(); @@ -279,10 +275,6 @@ void RemoteMDI::openNewWindow(KMdiChildView *view) { } (new TQHBoxLayout(view))->setAutoAdd( true ); - // Add the item to the window list - m_window.append(view); - m_listBox->insertItem(view->tabCaption()); - // Add to the MDI and set as current if (mdiMode() == KMdi::ToplevelMode) { addWindow(view, KMdi::Detach); @@ -309,10 +301,6 @@ void RemoteMDI::childWindowCloseRequest(KMdiChildView *pWnd) { void RemoteMDI::currentChanged(KMdiChildView *current) { // Update status bar and list box statusBar()->message(i18n( "%1 activated").arg(current->tabCaption())); - - TQListBoxItem *item = m_listBox->findItem(current->tabCaption()); - assert(item); - m_listBox->setCurrentItem(item); } void RemoteMDI::closeCurrent() { @@ -327,14 +315,6 @@ void RemoteMDI::closeSpecifiedWindow(KMdiChildView *window) { // Notify the status bar of the removal of the window statusBar()->message(i18n("%1 removed").arg(window->tabCaption())); - // Remove from the window list - m_window.remove(m_window.find(window)); - - // Remove from the list box - TQListBoxItem *item = m_listBox->findItem(window->tabCaption()); - assert(item); - delete item; - // We could also call removeWindowFromMdi, but it doesn't delete the // pointer. This way, we're sure that the view will get deleted. closeWindow(window); @@ -346,43 +326,6 @@ void RemoteMDI::closeSpecifiedWindow(KMdiChildView *window) { } } -void RemoteMDI::listBoxExecuted(TQListBoxItem *item) { - // Get the current item's text - TQString text = item->text(); - - // Active the corresponding tab - for (TQValueList< KMdiChildView *>::iterator it = m_window.begin(); it != m_window.end(); ++it ) { - // Get the view - KMdiChildView *view = *it; - assert(view); - - // Is the view we need to show? - if (view->caption() == text) { - view->activate(); - break; - } - } -} - -void RemoteMDI::listBoxRightClicked(TQListBoxItem *item) { - // Get the current item's text - TQString text = item->text(); - - // Bring up a menu for the corresponding window - // RAJA FIXME - for (TQValueList< KMdiChildView *>::iterator it = m_window.begin(); it != m_window.end(); ++it ) { - // Get the view - KMdiChildView *view = *it; - assert(view); - - // Is the view we need to show? - if (view->caption() == text) { - view->activate(); - break; - } - } -} - void RemoteMDI::childClosed(KMdiChildView * w) { assert(w); @@ -393,26 +336,24 @@ void RemoteMDI::childClosed(KMdiChildView * w) { // Notify the status bar of the removal of the window statusBar()->message(i18n("%1 removed").arg(w->tabCaption())); - // Remove from the window list - m_window.remove(m_window.find(w)); - - // Remove from the list box - TQListBoxItem *item = m_listBox->findItem( w->tabCaption() ); - assert(item); - delete item; - // Remove the view from MDI, BUT DO NOT DELETE IT! It is automatically deleted by TQt since it was closed. removeWindowFromMdi(w); } bool RemoteMDI::queryClose() { // Close all open connections - for (TQValueList< KMdiChildView *>::iterator it = m_window.begin(); it != m_window.end(); ++it ) { - RemoteLab::InstrumentView* iview = dynamic_cast(*it); - if (iview) { - iview->closeConnections(); + KMdiIterator *it = createIterator(); + while (it->currentItem()) { + KMdiChildView *c = dynamic_cast(it->currentItem()); + if (c) { + RemoteLab::InstrumentView* iview = dynamic_cast(c); + if (iview) { + iview->closeConnections(); + } } + it->next(); } + deleteIterator(it); // Save current MDI settings (window positions, etc.) KConfig *c = kapp->config(); diff --git a/clients/tde/src/app/remotemdi.h b/clients/tde/src/app/remotemdi.h index 1be1b70..84b5a82 100644 --- a/clients/tde/src/app/remotemdi.h +++ b/clients/tde/src/app/remotemdi.h @@ -53,8 +53,6 @@ class RemoteMDI : public KMdiMainFrm void currentChanged(KMdiChildView *current); void closeCurrent(); void closeSpecifiedWindow(KMdiChildView *window); - void listBoxExecuted(TQListBoxItem *); - void listBoxRightClicked(TQListBoxItem *); void childClosed(KMdiChildView *w); private slots: @@ -73,9 +71,6 @@ class RemoteMDI : public KMdiMainFrm unsigned m_children; TQString m_serverHost; - - TQValueList m_window; - KListBox *m_listBox; TDEKerberosClientSocket* m_rsvSvrSocket;