void DockContainer::nextToolView() { QPtrList< KMultiTabBarTab > *tabs = m_tb->tabs(); int pos = tabs->findRef(m_tb->tab(oldtab)); if(pos == -1) return; pos++; if(pos >= (int)tabs->count()) pos = 0; KMultiTabBarTab *tab = tabs->at(pos); if(!tab) return; // can never happen here, but who knows m_tb->setTab(tab->id(), true); tabClicked(tab->id()); }
KMultiTabBarTab* KMultiTabBarInternal::tab(int id) const { QListIterator<KMultiTabBarTab*> it(m_tabs); while (it.hasNext()) { KMultiTabBarTab *tab = it.next(); if (tab->id()==id) return tab; } return 0; }
bool Sidebar::eventFilter(QObject *obj, QEvent *ev) { if (ev->type() == QEvent::ContextMenu) { QContextMenuEvent *e = (QContextMenuEvent *) ev; KMultiTabBarTab *bt = dynamic_cast<KMultiTabBarTab*>(obj); if (bt) { //kDebug() << "Request for popup"; m_popupButton = bt->id(); ToolView *w = m_idToWidget[m_popupButton]; if (w) { KMenu *p = new KMenu (this); if (!w->plugin.isNull()) { Kate::PluginConfigPageInterface* pcpi=dynamic_cast<Kate::PluginConfigPageInterface*>(w->plugin.data()); if (pcpi) { if (pcpi->configPages()>0) p->addAction(i18n("Configure ..."))->setData(20); } } p->addTitle(SmallIcon("view_remove"), i18n("Behavior")); p->addAction(w->persistent ? KIcon("view-restore") : KIcon("view-fullscreen"), w->persistent ? i18n("Make Non-Persistent") : i18n("Make Persistent") ) -> setData(10); p->addTitle(SmallIcon("move"), i18n("Move To")); if (position() != 0) p->addAction(KIcon("go-previous"), i18n("Left Sidebar"))->setData(0); if (position() != 1) p->addAction(KIcon("go-next"), i18n("Right Sidebar"))->setData(1); if (position() != 2) p->addAction(KIcon("go-up"), i18n("Top Sidebar"))->setData(2); if (position() != 3) p->addAction(KIcon("go-down"), i18n("Bottom Sidebar"))->setData(3); connect(p, SIGNAL(triggered(QAction*)), this, SLOT(buttonPopupActivate(QAction*))); p->exec(e->globalPos()); delete p; return true; } } }
void KMdiDockContainer::prevToolView() { kdDebug( 760 ) << k_funcinfo << endl; TQPtrList<KMultiTabBarTab>* tabs = m_tb->tabs(); int pos = tabs->findRef( m_tb->tab( oldtab ) ); if ( pos == -1 ) return ; pos--; if ( pos < 0 ) pos = tabs->count() - 1; KMultiTabBarTab *tab = tabs->at( pos ); if ( !tab ) return ; //can never happen here, but who knows m_tb->setTab( tab->id(), true ); tabClicked( tab->id() ); }
bool Sidebar::eventFilter(QObject *obj, QEvent *ev) { if (ev->type()==QEvent::ContextMenu) { QContextMenuEvent *e = (QContextMenuEvent *) ev; KMultiTabBarTab *bt = dynamic_cast<KMultiTabBarTab*>(obj); if (bt) { kdDebug()<<"Request for popup"<<endl; m_popupButton = bt->id(); ToolView *w = m_idToWidget[m_popupButton]; if (w) { KPopupMenu *p = new KPopupMenu (this); p->insertTitle(SmallIcon("view_remove"), i18n("Behavior"), 50); p->insertItem(w->persistent ? SmallIconSet("window_nofullscreen") : SmallIconSet("window_fullscreen"), w->persistent ? i18n("Make Non-Persistent") : i18n("Make Persistent"), 10); p->insertTitle(SmallIcon("move"), i18n("Move To"), 51); if (position() != 0) p->insertItem(SmallIconSet("back"), i18n("Left Sidebar"),0); if (position() != 1) p->insertItem(SmallIconSet("forward"), i18n("Right Sidebar"),1); if (position() != 2) p->insertItem(SmallIconSet("up"), i18n("Top Sidebar"),2); if (position() != 3) p->insertItem(SmallIconSet("down"), i18n("Bottom Sidebar"),3); connect(p, SIGNAL(activated(int)), this, SLOT(buttonPopupActivate(int))); p->exec(e->globalPos()); delete p; return true; } } }
bool KMdiDockContainer::eventFilter( TQObject *obj, TQEvent *event ) { switch ( event->type() ) { case TQEvent::MouseButtonPress: { KMultiTabBarTab* kmtbTab = tqt_dynamic_cast<KMultiTabBarTab*>( obj ); if ( !kmtbTab ) { kdDebug(760) << k_funcinfo << "Got a mouse button press but we have no tab" << endl; break; } KDockWidget* w = m_revMap[ kmtbTab->id() ]; if ( !w ) { kdDebug(760) << k_funcinfo << "Got a mouse button press but we have no widget" << endl; break; } if ( !w->getHeader() ) { kdDebug(760) << k_funcinfo << "Got a mouse button press but we have no header" << endl; break; } KDockWidgetHeader *hdr = ::tqqt_cast<KDockWidgetHeader*>( w->getHeader() ); if ( !hdr ) { kdDebug(760) << "Wrong header type in KMdiDockContainer::eventFilter" << endl; break; } m_dockManager = w->dockManager(); m_dragPanel = TQT_TQOBJECT(hdr->dragPanel()); if ( m_dragPanel ) m_movingState = WaitingForMoveStart; delete m_startEvent; m_startEvent = new TQMouseEvent( * ( ( TQMouseEvent* ) event ) ); } break; case TQEvent::MouseButtonRelease: if ( m_movingState == Moving ) { m_movingState = NotMoving; TQApplication::postEvent( m_dragPanel, new TQMouseEvent( * ( ( TQMouseEvent* ) event ) ) ); delete m_startEvent; m_startEvent = 0; } case TQEvent::MouseMove: if ( m_movingState == WaitingForMoveStart ) { TQPoint p( ( ( TQMouseEvent* ) event )->pos() - m_startEvent->pos() ); if ( p.manhattanLength() > TDEGlobalSettings::dndEventDelay() ) { m_dockManager->eventFilter( m_dragPanel, TQT_TQEVENT(m_startEvent) ); m_dockManager->eventFilter( m_dragPanel, event ); m_movingState = Moving; } } else if ( m_movingState == Moving ) m_dockManager->eventFilter( m_dragPanel, event ); break; default: break; } return false; }