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 AssetType::markDependantsForReload() { Shift::Property *ass = asset(); if (!ass) { return; } for(auto op = ass->output(); op; op = op->nextOutput()) { Shift::Property* owner = op; while(owner) { QUuid id; Asset *a = owner->castTo<Asset>(); if(a) { id = a->uuid(); } else if(auto t = owner->castTo<AssetType>()) { id = t->assetUuid(); } if(!id.isNull()) { if (id != assetUuid()) { project()->getAssetManager()->markForReload(id); } break; } owner = owner->parent(); } } }