Merge pull request #1985 from michaelgregorius/EffectSelectDialog
Show native plugin info in the effect selection dialog
This commit is contained in:
@@ -29,6 +29,8 @@
|
||||
#include "gui_templates.h"
|
||||
#include "embed.h"
|
||||
|
||||
#include <QLabel>
|
||||
|
||||
|
||||
EffectSelectDialog::EffectSelectDialog( QWidget * _parent ) :
|
||||
QDialog( _parent ),
|
||||
@@ -173,25 +175,64 @@ void EffectSelectDialog::rowChanged( const QModelIndex & _idx,
|
||||
{
|
||||
m_currentSelection = m_effectKeys[m_model.mapToSource( _idx ).row()];
|
||||
}
|
||||
if( m_currentSelection.desc && m_currentSelection.desc->subPluginFeatures )
|
||||
if( m_currentSelection.desc )
|
||||
{
|
||||
m_descriptionWidget = new QWidget;
|
||||
QVBoxLayout * l = new QVBoxLayout( m_descriptionWidget );
|
||||
l->setMargin( 4 );
|
||||
l->setSpacing( 0 );
|
||||
|
||||
ui->scrollArea->setWidget( m_descriptionWidget );
|
||||
QHBoxLayout *hbox = new QHBoxLayout( m_descriptionWidget );
|
||||
|
||||
m_currentSelection.desc->subPluginFeatures->
|
||||
fillDescriptionWidget( m_descriptionWidget, &m_currentSelection );
|
||||
foreach( QWidget * w, m_descriptionWidget->findChildren<QWidget *>() )
|
||||
{
|
||||
if( w->parent() == m_descriptionWidget )
|
||||
{
|
||||
l->addWidget( w );
|
||||
}
|
||||
}
|
||||
l->setSizeConstraint( QLayout::SetFixedSize );
|
||||
Plugin::Descriptor const & descriptor = *( m_currentSelection.desc );
|
||||
|
||||
if ( descriptor.logo )
|
||||
{
|
||||
QLabel *logoLabel = new QLabel( m_descriptionWidget );
|
||||
logoLabel->setPixmap( descriptor.logo->pixmap() );
|
||||
logoLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||
|
||||
hbox->addWidget( logoLabel );
|
||||
hbox->setAlignment( logoLabel, Qt::AlignTop);
|
||||
}
|
||||
|
||||
QWidget *textualInfoWidget = new QWidget( m_descriptionWidget );
|
||||
|
||||
hbox->addWidget(textualInfoWidget);
|
||||
|
||||
QVBoxLayout * textWidgetLayout = new QVBoxLayout( textualInfoWidget);
|
||||
textWidgetLayout->setMargin( 4 );
|
||||
textWidgetLayout->setSpacing( 0 );
|
||||
|
||||
std::string stdName(descriptor.name);
|
||||
if ( stdName != "ladspaeffect" )
|
||||
{
|
||||
QLabel *label = new QLabel(m_descriptionWidget);
|
||||
QString labelText = "<p><b>" + tr("Name") + ":</b> " + QString::fromUtf8(descriptor.displayName) + "</p>";
|
||||
labelText += "<p><b>" + tr("Description") + ":</b> " + QString::fromUtf8(descriptor.description) + "</p>";
|
||||
labelText += "<p><b>" + tr("Author") + ":</b> " + QString::fromUtf8(descriptor.author) + "</p>";
|
||||
|
||||
label->setText(labelText);
|
||||
textWidgetLayout->addWidget(label);
|
||||
}
|
||||
|
||||
if ( m_currentSelection.desc->subPluginFeatures )
|
||||
{
|
||||
QWidget *subWidget = new QWidget(textualInfoWidget);
|
||||
QVBoxLayout * subLayout = new QVBoxLayout( subWidget );
|
||||
subLayout->setMargin( 4 );
|
||||
subLayout->setSpacing( 0 );
|
||||
m_currentSelection.desc->subPluginFeatures->
|
||||
fillDescriptionWidget( subWidget, &m_currentSelection );
|
||||
foreach( QWidget * w, subWidget->findChildren<QWidget *>() )
|
||||
{
|
||||
if( w->parent() == subWidget )
|
||||
{
|
||||
subLayout->addWidget( w );
|
||||
}
|
||||
}
|
||||
|
||||
textWidgetLayout->addWidget(subWidget);
|
||||
}
|
||||
|
||||
ui->scrollArea->setWidget( m_descriptionWidget );
|
||||
m_descriptionWidget->show();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>585</width>
|
||||
<height>547</height>
|
||||
<height>550</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -40,41 +40,20 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>200</height>
|
||||
</size>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>210</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Plugin description</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>497</width>
|
||||
<height>109</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>497</width>
|
||||
<height>109</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
|
||||
Reference in New Issue
Block a user