OutputWidget::OutputWidget(QWidget* parent, ToolViewData* tvdata) : QWidget( parent ), tabwidget(0), data(tvdata) { setWindowTitle(i18n("Output View")); setWindowIcon(tvdata->icon); QVBoxLayout* layout = new QVBoxLayout(this); layout->setMargin(0); if( data->type & KDevelop::IOutputView::MultipleView ) { tabwidget = new KTabWidget(this); layout->addWidget( tabwidget ); m_closeButton = new QToolButton( this ); connect( m_closeButton, SIGNAL( clicked() ), this, SLOT( closeActiveView() ) ); m_closeButton->setIcon( KIcon("tab-close") ); m_closeButton->adjustSize(); m_closeButton->setToolTip( i18n( "Close the currently active output view") ); tabwidget->setCornerWidget( m_closeButton, Qt::TopRightCorner ); } else if ( data->type == KDevelop::IOutputView::HistoryView ) { stackwidget = new QStackedWidget( this ); layout->addWidget( stackwidget ); previousAction = new KAction( KIcon( "go-previous" ), i18n("Previous"), this ); connect(previousAction, SIGNAL(triggered()), this, SLOT(previousOutput())); addAction(previousAction); nextAction = new KAction( KIcon( "go-next" ), i18n("Next"), this ); connect(nextAction, SIGNAL(triggered()), this, SLOT(nextOutput())); addAction(nextAction); } activateOnSelect = new KToggleAction( KIcon(), i18n("Select activated Item"), this ); addAction(activateOnSelect); activateOnSelect->setChecked( true ); focusOnSelect = new KToggleAction( KIcon(), i18n("Focus when selecting Item"), this ); addAction(focusOnSelect); focusOnSelect->setChecked( false ); connect( data, SIGNAL( outputAdded( int ) ), this, SLOT( addOutput( int ) ) ); connect( this, SIGNAL( outputRemoved( int, int ) ), data->plugin, SIGNAL( outputRemoved( int, int ) ) ); connect( data->plugin, SIGNAL(selectNextItem()), this, SLOT(selectNextItem()) ); connect( data->plugin, SIGNAL(selectPrevItem()), this, SLOT(selectPrevItem()) ); foreach( int id, data->outputdata.keys() ) { changeModel( id ); changeDelegate( id ); } enableActions(); }
void CGUIDialog::setSelection(const unsigned int sel) { const int steps = sel-mSelection; if(steps == 0) return; if(steps > 0) { for(int c=0 ; c<steps ; c++) selectNextItem(); } else { for(int c=0 ; c<-steps ; c++) selectPrevItem(); } }
bool CGUIDialog::sendEvent( const std::shared_ptr<CEvent> &command ) { if( CommandEvent *ev = dynamic_cast<CommandEvent*>(command.get()) ) { // Send all the other events the active control element int i=0; for( auto &it : mControlList ) { //if( (i == mSelection) && it->getHovered() ) if( i == mSelection ) { if( !it->getHovered() ) { it->setHovered( (i == mSelection) ); } else { if( it->sendEvent(ev->mCommand) ) return true; } } else { it->setHovered( false ); } i++; } if(ev->mCommand == IC_DOWN) { selectNextItem(); return true; } else if(ev->mCommand == IC_UP) { selectPrevItem(); return true; } } return false; }