made LADSPA-plugin-layouter work again after Qt4-port, other small code-fixes

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@667 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-01-18 12:21:33 +00:00
parent 0d012353f0
commit 1808379915
8 changed files with 68 additions and 42 deletions

View File

@@ -1,3 +1,23 @@
2008-01-18 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* src/widgets/combobox.cpp:
fixed painting
* src/widgets/ladspa_control_view.cpp:
* plugins/ladspa_effect/ladspa_control_dialog.cpp:
made control-layouting work again (did not work at all after Qt4-port)
* src/core/ladspa_control.cpp:
added initialization for m_link-member-variable, optimized
linkEnabledModel-initialization
* src/widgets/knob.cpp:
* plugins/ladspa_effect/ladspa_controls.cpp:
coding style fixes
* Makefile.am:
moved ladspa_control_view.cpp to src/widgets/
2008-01-17 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* plugins/ladspa_effect/Makefile.am:

View File

@@ -169,7 +169,6 @@ lmms_SOURCES = \
$(srcdir)/src/core/ladspa_2_lmms.cpp \
$(srcdir)/src/core/ladspa_manager.cpp \
$(srcdir)/src/core/ladspa_control.cpp \
$(srcdir)/src/core/ladspa_control_view.cpp \
$(srcdir)/src/core/main_window.cpp \
$(srcdir)/src/core/main.cpp \
$(srcdir)/src/core/meter_dialog.cpp \
@@ -226,6 +225,7 @@ lmms_SOURCES = \
$(srcdir)/src/widgets/group_box.cpp \
$(srcdir)/src/widgets/kmultitabbar.cpp \
$(srcdir)/src/widgets/knob.cpp \
$(srcdir)/src/widgets/ladspa_control_view.cpp \
$(srcdir)/src/widgets/lcd_spinbox.cpp \
$(srcdir)/src/widgets/led_checkbox.cpp \
$(srcdir)/src/widgets/nstate_button.cpp \

View File

@@ -41,13 +41,14 @@ ladspaControlDialog::ladspaControlDialog( ladspaControls * _ctl ) :
QHBoxLayout * effectLay = new QHBoxLayout();
mainLay->addLayout( effectLay );
int rows = static_cast<int>( sqrt(
static_cast<double>( _ctl->m_controlCount ) ) );
const int cols = static_cast<int>( sqrt(
static_cast<double>( _ctl->m_controlCount /
_ctl->m_processors ) ) );
for( ch_cnt_t proc = 0; proc < _ctl->m_processors; proc++ )
{
control_list_t & controls = _ctl->m_controls[proc];
int row_cnt = 0;
int row = 0;
int col = 0;
buffer_data_t last_port = NONE;
QGroupBox * grouper;
@@ -61,6 +62,9 @@ ladspaControlDialog::ladspaControlDialog( ladspaControls * _ctl ) :
{
grouper = new QGroupBox( this );
}
QGridLayout * gl = new QGridLayout( grouper );
grouper->setLayout( gl );
grouper->setAlignment( Qt::Vertical );
for( control_list_t::iterator it = controls.begin();
@@ -68,28 +72,23 @@ ladspaControlDialog::ladspaControlDialog( ladspaControls * _ctl ) :
{
if( (*it)->getPort()->proc == proc )
{
if( last_port == NONE ||
(*it)->getPort()->data_type != TOGGLED ||
( (*it)->getPort()->data_type == TOGGLED &&
last_port == TOGGLED ) )
if( last_port != NONE &&
(*it)->getPort()->data_type ==
TOGGLED &&
!( (*it)->getPort()->data_type ==
TOGGLED &&
last_port == TOGGLED ) )
{
new ladspaControlView( grouper, *it );
++row;
col = 0;
}
else
gl->addWidget( new ladspaControlView(
grouper, *it ),
row, col );
if( ++col == cols )
{
while( row_cnt < rows )
{
new QWidget( grouper );
row_cnt++;
}
new ladspaControlView( grouper, *it );
row_cnt = 0;
}
row_cnt++;
if( row_cnt == ( rows - 1 ) )
{
row_cnt = 0;
++row;
col = 0;
}
last_port = (*it)->getPort()->data_type;
}

View File

@@ -43,10 +43,10 @@ ladspaControls::ladspaControls( ladspaEffect * _eff,
for( ch_cnt_t proc = 0; proc < m_processors; proc++ )
{
control_list_t p;
bool linked_control = ( m_processors > 1 && proc == 0 );
const bool linked_control = ( m_processors > 1 && proc == 0 );
buffer_data_t last_port = NONE;
for( multi_proc_t::iterator it = controls.begin();
it != controls.end(); it++ )
{
@@ -69,7 +69,7 @@ ladspaControls::ladspaControls( ladspaEffect * _eff,
}
}
}
m_controls.append( p );
}
}

View File

@@ -31,16 +31,16 @@
ladspaControl::ladspaControl( model * _parent, port_desc_t * _port,
track * _track, bool _link ) :
model( _parent ),
m_link( _link ),
m_port( _port ),
m_linkEnabledModel( FALSE, FALSE, TRUE, boolModel::defaultRelStep(),
m_linkEnabledModel( _link, FALSE, TRUE, boolModel::defaultRelStep(),
this ),
m_toggledModel( FALSE, FALSE, TRUE, boolModel::defaultRelStep(),
this ),
m_knobModel( 0, 0, 0, 1, this )
{
if( _link )
if( m_link )
{
m_linkEnabledModel.setValue( FALSE );
m_linkEnabledModel.setTrack( _track );
connect( &m_linkEnabledModel, SIGNAL( dataChanged() ),
this, SLOT( linkStateChanged() ) );

View File

@@ -202,10 +202,10 @@ void comboBox::paintEvent( QPaintEvent * _pe )
tx += pm.width() + 2;
}
p.setPen( QColor( 64, 64, 64 ) );
p.drawText( tx+1, p.fontMetrics().height()-1,
p.drawText( tx+1, p.fontMetrics().height()-3,
model()->currentText() );
p.setPen( QColor( 224, 224, 224 ) );
p.drawText( tx, p.fontMetrics().height()-2,
p.drawText( tx, p.fontMetrics().height()-4,
model()->currentText() );
}
}

View File

@@ -84,8 +84,6 @@ knob::knob( int _knob_num, QWidget * _parent, const QString & _name ) :
m_knobPixmap = new QPixmap( embed::getIconPixmap( QString( "knob0" +
QString::number( m_knobNum + 1 ) ).toAscii().constData() ) );
//setRange( 0.0f, 100.0f, 1.0f );
setFixedSize( m_knobPixmap->width(), m_knobPixmap->height() );
setTotalAngle( 270.0f );
}
@@ -451,7 +449,7 @@ void knob::paintEvent( QPaintEvent * _me )
p.translate( -ur.x(), -ur.y() );
drawKnob( &p );
if( m_label != "" )
if( !m_label.isEmpty() )
{
p.setFont( pointSize<6>( p.font() ) );
p.setPen( QColor( 64, 64, 64 ) );

View File

@@ -40,6 +40,8 @@ ladspaControlView::ladspaControlView( QWidget * _parent,
m_ctl( _ctl )
{
QHBoxLayout * layout = new QHBoxLayout( this );
layout->setMargin( 0 );
layout->setSpacing( 0 );
ledCheckBox * link = NULL;
@@ -62,13 +64,17 @@ ladspaControlView::ladspaControlView( QWidget * _parent,
QString::null,
ledCheckBox::GREEN );
toggle->setModel( m_ctl->getToggledModel() );
setFixedSize( toggle->width(), toggle->height() );
if( m_ctl->m_link )
layout->addWidget( toggle );
if( link != NULL )
{
layout->addWidget( toggle );
setFixedSize( link->width() + toggle->width(),
toggle->height() );
}
else
{
setFixedSize( toggle->width(),
toggle->height() );
}
break;
}
@@ -93,13 +99,16 @@ ladspaControlView::ladspaControlView( QWidget * _parent,
knb->setLabel( m_ctl->getPort()->name );
knb->setHintText( tr( "Value:" ) + " ", "" );
knb->setWhatsThis( tr( "Sorry, no help available." ) );
setFixedSize( knb->width(), knb->height() );
if( m_ctl->m_link )
layout->addWidget( knb );
if( link != NULL )
{
layout->addWidget( knb );
setFixedSize( link->width() + knb->width(),
knb->height() );
}
else
{
setFixedSize( knb->width(), knb->height() );
}
}
}