Merge branch 'master' into ed_refac
This commit is contained in:
12
.mailmap
12
.mailmap
@@ -1,4 +1,6 @@
|
||||
Alexandre Almeida <wilsalx@gmail.com> <meta.lx@hotmail.com>
|
||||
Tobias Doerffel <tobias.doerffel@gmail.com>
|
||||
Dave French <dave.french3@googlemail.com>
|
||||
Paul Giblock <drfaygo@gmail.com> <pgib@users.sf.net>
|
||||
Paul Giblock <drfaygo@gmail.com> <p@pgiblock.net>
|
||||
Andrew Kelley <superjoe30@gmail.com> <andrew.r.kelley@gmail.com>
|
||||
@@ -6,6 +8,14 @@ Andrew Kelley <superjoe30@gmail.com> <andy@debian.superjoesoftware>
|
||||
Janne Sinisalo <janne.m.sinisalo@gmail.com> <janne@janne-desktop.(none)>
|
||||
Raine M. Ekman <raine@iki.fi> <raine@raine.(none)>
|
||||
Raine M. Ekman <raine@iki.fi> <raine@raine.damex.fi>
|
||||
Lukas W <lukaswhl@googlemail.com> <lukaswhl@gmail.com>
|
||||
Lukas W <lukaswhl@gmail.com> <lukaswhl@googlemail.com>
|
||||
Vesa <contact.diizy@nbl.fi> <vesa@isokone.(none)>
|
||||
Vesa <contact.diizy@nbl.fi> <diizy@users.noreply.github.com>
|
||||
Tres Finocchiaro <tres.finocchiaro@gmail.com>
|
||||
Tres Finocchiaro <tres.finocchiaro@gmail.com> <tres@ubuntu-1204.(none)>
|
||||
Tres Finocchiaro <tres.finocchiaro@gmail.com> <tresf@github.com>
|
||||
Rüdiger Ranft <rudi@qzzq.de> <_rdi_@web.de>
|
||||
Spekular <Spekularr@gmail.com> <Spekular@users.noreply.github.com>
|
||||
unfa <unfa00@gmail.com> <unfa@unfa.(none)>
|
||||
mikobuntu <chrissy.mc.1@hotmail.co.uk> <mikobuntu@mikobuntu-Aspire-5332.(none)>
|
||||
Jonathan Aquilina <eagles051387@gmail.com>
|
||||
|
||||
@@ -18,7 +18,7 @@ script:
|
||||
- if [ $TARGET_OS == win32 ]; then ../build_mingw32 || ../build_mingw32; fi
|
||||
- if [ $TARGET_OS == win64 ]; then ../build_mingw64 || ../build_mingw64; fi
|
||||
- if [ $TARGET_OS == linux ]; then cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make -j4 VERBOSE=1; fi
|
||||
- if [ $TARGET_OS != linux ]; then make; fi
|
||||
- if [ $TARGET_OS != linux ]; then make VERBOSE=1; fi
|
||||
before_deploy: make package
|
||||
deploy:
|
||||
provider: releases
|
||||
|
||||
@@ -364,13 +364,22 @@ IF(NOT LMMS_BUILD_APPLE)
|
||||
ENDIF()
|
||||
|
||||
# Due to a regression in gcc-4.8.X, we need to disable array-bounds check
|
||||
IF (CMAKE_COMPILER_IS_GNUCXX AND ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "4.8.0") OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8.0")))
|
||||
IF (CMAKE_COMPILER_IS_GNUCXX AND ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "4.8.0") OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8.0") OR LMMS_BUILD_WIN32))
|
||||
SET(WERROR_FLAGS "${WERROR_FLAGS} -Wno-array-bounds")
|
||||
ENDIF()
|
||||
|
||||
SET(CMAKE_C_FLAGS "-O2 -g ${WERROR_FLAGS} ${CMAKE_C_FLAGS}")
|
||||
SET(CMAKE_CXX_FLAGS "-O2 -g -fno-exceptions ${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}")
|
||||
SET(CMAKE_C_FLAGS_DEBUG "-DLMMS_DEBUG")
|
||||
IF(NOT CMAKE_BUILD_TYPE)
|
||||
message(STATUS "Setting build type to 'Release' as none was specified.")
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
|
||||
# Set the possible values of build type for cmake-gui
|
||||
SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
|
||||
"MinSizeRel" "RelWithDebInfo")
|
||||
ENDIF()
|
||||
|
||||
SET(CMAKE_C_FLAGS "${WERROR_FLAGS} ${CMAKE_C_FLAGS}")
|
||||
SET(CMAKE_CXX_FLAGS "-fno-exceptions ${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}")
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DLMMS_DEBUG")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DLMMS_DEBUG")
|
||||
|
||||
|
||||
# people simply updating git will still have this and mess up build with it
|
||||
|
||||
@@ -91,6 +91,7 @@ private slots:
|
||||
void toggleWarnAfterSetup( bool _enabled );
|
||||
void toggleDisplaydBV( bool _enabled );
|
||||
void toggleMMPZ( bool _enabled );
|
||||
void toggleDisableBackup( bool _enabled );
|
||||
void toggleHQAudioDev( bool _enabled );
|
||||
|
||||
void openWorkingDir();
|
||||
@@ -124,6 +125,7 @@ private:
|
||||
bool m_warnAfterSetup;
|
||||
bool m_displaydBV;
|
||||
bool m_MMPZ;
|
||||
bool m_disableBackup;
|
||||
bool m_hqAudioDev;
|
||||
|
||||
|
||||
|
||||
@@ -2,5 +2,5 @@ INCLUDE(BuildPlugin)
|
||||
INCLUDE_DIRECTORIES(${FFTW3F_INCLUDE_DIRS})
|
||||
LINK_DIRECTORIES(${FFTW3F_LIBRARY_DIRS})
|
||||
LINK_LIBRARIES(${FFTW3F_LIBRARIES})
|
||||
BUILD_PLUGIN(eq EqEffect.cpp EqControls.cpp EqControlsDialog.cpp EqFilter.h EqParameterWidget.cpp EqFader.h EqSpectrumView.h DBvModel.cpp DBvModel.h
|
||||
MOCFILES EqControls.h EqParameterWidget.h EqFader.h DBvModel.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
|
||||
BUILD_PLUGIN(eq EqEffect.cpp EqControls.cpp EqControlsDialog.cpp EqFilter.h EqParameterWidget.cpp EqFader.h EqSpectrumView.h
|
||||
MOCFILES EqControls.h EqParameterWidget.h EqFader.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
#include "DBvModel.h"
|
||||
|
||||
DBvModel::DBvModel(float val, float min, float max, float step,
|
||||
Model *parent, const QString &displayName,
|
||||
bool defaultConstructed) :
|
||||
FloatModel( val, min, max, step, parent, displayName, defaultConstructed )
|
||||
{
|
||||
connect(this, SIGNAL( dataChanged() ), this,SLOT( calcAmp() ) );
|
||||
}
|
||||
|
||||
void DBvModel::calcAmp()
|
||||
{
|
||||
m_amp = dbvToAmp( value() );
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
#ifndef DBVMODEL
|
||||
#define DBVMODEL
|
||||
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
|
||||
class DBvModel : public FloatModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DBvModel( float val = 0, float min = 0, float max = 0, float step = 0,
|
||||
Model * parent = NULL,
|
||||
const QString& displayName = QString(),
|
||||
bool defaultConstructed = false );
|
||||
inline float getAmp() const
|
||||
{
|
||||
return m_amp;
|
||||
}
|
||||
|
||||
private slots:
|
||||
void calcAmp();
|
||||
|
||||
private:
|
||||
float m_amp;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // DBVMODEL
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "EffectControls.h"
|
||||
#include "EqControlsDialog.h"
|
||||
#include "Knob.h"
|
||||
#include "DBvModel.h"
|
||||
|
||||
|
||||
class EqEffect;
|
||||
|
||||
@@ -83,8 +83,8 @@ public:
|
||||
private:
|
||||
EqEffect* m_effect;
|
||||
|
||||
DBvModel m_inGainModel;
|
||||
DBvModel m_outGainModel;
|
||||
FloatModel m_inGainModel;
|
||||
FloatModel m_outGainModel;
|
||||
FloatModel m_lowShelfGainModel;
|
||||
FloatModel m_para1GainModel;
|
||||
FloatModel m_para2GainModel;
|
||||
|
||||
@@ -52,7 +52,9 @@ Plugin::Descriptor PLUGIN_EXPORT eq_plugin_descriptor =
|
||||
|
||||
EqEffect::EqEffect(Model *parent, const Plugin::Descriptor::SubPluginFeatures::Key *key) :
|
||||
Effect( &eq_plugin_descriptor, parent, key ),
|
||||
m_eqControls( this )
|
||||
m_eqControls( this ),
|
||||
m_inGain( 1.0 ),
|
||||
m_outGain( 1.0 )
|
||||
{
|
||||
|
||||
}
|
||||
@@ -73,13 +75,21 @@ bool EqEffect::processAudioBuffer(sampleFrame *buf, const fpp_t frames)
|
||||
{
|
||||
return( false );
|
||||
}
|
||||
if( m_eqControls.m_outGainModel.isValueChanged() )
|
||||
{
|
||||
m_outGain = dbvToAmp(m_eqControls.m_outGainModel.value());
|
||||
}
|
||||
if( m_eqControls.m_inGainModel.isValueChanged() )
|
||||
{
|
||||
m_inGain = dbvToAmp(m_eqControls.m_inGainModel.value());
|
||||
}
|
||||
m_eqControls.m_inProgress = true;
|
||||
double outSum = 0.0;
|
||||
for( fpp_t f = 0; f < frames; ++f )
|
||||
{
|
||||
outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1];
|
||||
}
|
||||
const float outGain = m_eqControls.m_outGainModel.getAmp();
|
||||
const float outGain = m_outGain;
|
||||
const int sampleRate = Engine::mixer()->processingSampleRate();
|
||||
sampleFrame m_inPeak = { 0, 0 };
|
||||
|
||||
@@ -91,7 +101,7 @@ bool EqEffect::processAudioBuffer(sampleFrame *buf, const fpp_t frames)
|
||||
{
|
||||
m_eqControls.m_inFftBands.clear();
|
||||
}
|
||||
gain(buf , frames, m_eqControls.m_inGainModel.getAmp() , &m_inPeak );
|
||||
gain(buf , frames, m_inGain , &m_inPeak );
|
||||
m_eqControls.m_inPeakL = m_eqControls.m_inPeakL < m_inPeak[0] ? m_inPeak[0] : m_eqControls.m_inPeakL;
|
||||
m_eqControls.m_inPeakR = m_eqControls.m_inPeakR < m_inPeak[1] ? m_inPeak[1] : m_eqControls.m_inPeakR;
|
||||
|
||||
|
||||
@@ -85,6 +85,9 @@ private:
|
||||
EqLp12Filter m_lp480;
|
||||
EqLp12Filter m_lp481;
|
||||
|
||||
float m_inGain;
|
||||
float m_outGain;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -441,23 +441,15 @@ void AutomationPattern::flipX( int length )
|
||||
for( int i = 0; i <= numPoints; i++ )
|
||||
{
|
||||
tempValue = valueAt( ( iterate + i ).key() );
|
||||
cleanObjects();
|
||||
MidiTime newTime = MidiTime( length - ( iterate + i ).key() );
|
||||
tempMap[newTime] = tempValue;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//for ( int i = 0; ( iterate + i ).key() < length ; i++ )
|
||||
//{
|
||||
// tempValue = valueAt( ( iterate + i ).key() );
|
||||
//}
|
||||
//putValue( MidiTime( length ) , tempValue, false);
|
||||
//numPoints++;
|
||||
for( int i = 0; i <= numPoints; i++ )
|
||||
{
|
||||
tempValue = valueAt( ( iterate + i ).key() );
|
||||
cleanObjects();
|
||||
MidiTime newTime;
|
||||
|
||||
if ( ( iterate + i ).key() <= length )
|
||||
|
||||
@@ -248,10 +248,18 @@ bool DataFile::writeFile( const QString& filename )
|
||||
// make sure the file has been written correctly
|
||||
if( QFileInfo( outfile.fileName() ).size() > 0 )
|
||||
{
|
||||
// remove old backup file
|
||||
QFile::remove( fullNameBak );
|
||||
// move current file to backup file
|
||||
QFile::rename( fullName, fullNameBak );
|
||||
if( ConfigManager::inst()->value( "app", "disablebackup" ).toInt() )
|
||||
{
|
||||
// remove current file
|
||||
QFile::remove( fullName );
|
||||
}
|
||||
else
|
||||
{
|
||||
// remove old backup file
|
||||
QFile::remove( fullNameBak );
|
||||
// move current file to backup file
|
||||
QFile::rename( fullName, fullNameBak );
|
||||
}
|
||||
// move temporary file to current file
|
||||
QFile::rename( fullNameTemp, fullName );
|
||||
|
||||
|
||||
@@ -221,7 +221,7 @@ bool EffectChain::processAudioBuffer( sampleFrame * _buf, const fpp_t _frames, b
|
||||
it = m_effects.end()-1;
|
||||
printf( "numerical overflow after processing "
|
||||
"plugin \"%s\"\n", ( *it )->
|
||||
publicName().toUtf8().constData() );
|
||||
descriptor()->name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#include "Pattern.h"
|
||||
#include "SampleBuffer.h"
|
||||
#include "SampleTrack.h"
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
SampleRecordHandle::SampleRecordHandle( SampleTCO* tco ) :
|
||||
@@ -116,9 +116,9 @@ void SampleRecordHandle::createSampleBuffer( SampleBuffer** sampleBuf )
|
||||
// make sure buffer is cleaned up properly at the end...
|
||||
sampleFrame * data_ptr = data;
|
||||
|
||||
#ifdef LMMS_DEBUG
|
||||
|
||||
assert( data != NULL );
|
||||
#endif
|
||||
|
||||
// now copy all buffers into big buffer
|
||||
for( bufferList::const_iterator it = m_buffers.begin();
|
||||
it != m_buffers.end(); ++it )
|
||||
|
||||
@@ -237,9 +237,9 @@ int AudioDevice::convertToS16( const surroundSampleFrame * _ab,
|
||||
|
||||
void AudioDevice::clearS16Buffer( int_sample_t * _outbuf, const fpp_t _frames )
|
||||
{
|
||||
#ifdef LMMS_DEBUG
|
||||
|
||||
assert( _outbuf != NULL );
|
||||
#endif
|
||||
|
||||
memset( _outbuf, 0, _frames * channels() * BYTES_PER_INT_SAMPLE );
|
||||
}
|
||||
|
||||
|
||||
@@ -76,9 +76,9 @@ void AudioSampleRecorder::createSampleBuffer( SampleBuffer** sampleBuf )
|
||||
// make sure buffer is cleaned up properly at the end...
|
||||
sampleFrame * data_ptr = data;
|
||||
|
||||
#ifdef LMMS_DEBUG
|
||||
|
||||
assert( data != NULL );
|
||||
#endif
|
||||
|
||||
// now copy all buffers into big buffer
|
||||
for( BufferList::ConstIterator it = m_buffers.begin();
|
||||
it != m_buffers.end(); ++it )
|
||||
|
||||
@@ -259,11 +259,16 @@ void AutomationPatternView::paintEvent( QPaintEvent * )
|
||||
|
||||
QLinearGradient lingrad( 0, 0, 0, height() );
|
||||
QColor c;
|
||||
|
||||
if( !( m_pat->getTrack()->isMuted() || m_pat->isMuted() ) )
|
||||
c = isSelected() ? QColor( 0, 0, 224 )
|
||||
: styleColor;
|
||||
c = styleColor;
|
||||
else
|
||||
c = QColor( 80,80,80 );
|
||||
c = QColor( 80, 80, 80 );
|
||||
|
||||
if( isSelected() == true )
|
||||
{
|
||||
c = QColor( qMax( c.red() - 128, 0 ), qMax( c.green() - 128, 0 ), 255 );
|
||||
}
|
||||
|
||||
lingrad.setColorAt( 1, c.darker( 300 ) );
|
||||
lingrad.setColorAt( 0, c );
|
||||
|
||||
@@ -73,9 +73,9 @@ inline void labelWidget( QWidget * _w, const QString & _txt )
|
||||
f.setBold( true );
|
||||
title->setFont( pointSize<12>( f ) );
|
||||
|
||||
#ifdef LMMS_DEBUG
|
||||
|
||||
assert( dynamic_cast<QBoxLayout *>( _w->layout() ) != NULL );
|
||||
#endif
|
||||
|
||||
dynamic_cast<QBoxLayout *>( _w->layout() )->addSpacing( 5 );
|
||||
dynamic_cast<QBoxLayout *>( _w->layout() )->addWidget( title );
|
||||
dynamic_cast<QBoxLayout *>( _w->layout() )->addSpacing( 10 );
|
||||
@@ -94,6 +94,8 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
|
||||
m_displaydBV( ConfigManager::inst()->value( "app",
|
||||
"displaydbv" ).toInt() ),
|
||||
m_MMPZ( !ConfigManager::inst()->value( "app", "nommpz" ).toInt() ),
|
||||
m_disableBackup( !ConfigManager::inst()->value( "app",
|
||||
"disablebackup" ).toInt() ),
|
||||
m_hqAudioDev( ConfigManager::inst()->value( "mixer",
|
||||
"hqaudio" ).toInt() ),
|
||||
m_workingDir( ConfigManager::inst()->workingDir() ),
|
||||
@@ -300,6 +302,15 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
|
||||
connect( disableAutoquit, SIGNAL( toggled( bool ) ),
|
||||
this, SLOT( toggleDisableAutoquit( bool ) ) );
|
||||
|
||||
LedCheckBox * disableBackup = new LedCheckBox(
|
||||
tr( "Create backup file when saving a project" ),
|
||||
misc_tw );
|
||||
labelNumber++;
|
||||
disableBackup->move( XDelta, YDelta*labelNumber );
|
||||
disableBackup->setChecked( m_disableBackup );
|
||||
connect( disableBackup, SIGNAL( toggled( bool ) ),
|
||||
this, SLOT( toggleDisableBackup( bool ) ) );
|
||||
|
||||
misc_tw->setFixedHeight( YDelta*labelNumber + HeaderSize );
|
||||
|
||||
|
||||
@@ -806,6 +817,8 @@ void SetupDialog::accept()
|
||||
QString::number( m_displaydBV ) );
|
||||
ConfigManager::inst()->setValue( "app", "nommpz",
|
||||
QString::number( !m_MMPZ ) );
|
||||
ConfigManager::inst()->setValue( "app", "disablebackup",
|
||||
QString::number( !m_disableBackup ) );
|
||||
ConfigManager::inst()->setValue( "mixer", "hqaudio",
|
||||
QString::number( m_hqAudioDev ) );
|
||||
ConfigManager::inst()->setValue( "ui", "smoothscroll",
|
||||
@@ -958,6 +971,14 @@ void SetupDialog::toggleMMPZ( bool _enabled )
|
||||
|
||||
|
||||
|
||||
void SetupDialog::toggleDisableBackup( bool _enabled )
|
||||
{
|
||||
m_disableBackup = _enabled;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SetupDialog::toggleHQAudioDev( bool _enabled )
|
||||
{
|
||||
m_hqAudioDev = _enabled;
|
||||
|
||||
@@ -1905,9 +1905,9 @@ void AutomationEditor::zoomingXChanged()
|
||||
{
|
||||
const QString & zfac = m_zoomingXModel.currentText();
|
||||
m_ppt = zfac.left( zfac.length() - 1 ).toInt() * DEFAULT_PPT / 100;
|
||||
#ifdef LMMS_DEBUG
|
||||
|
||||
assert( m_ppt > 0 );
|
||||
#endif
|
||||
|
||||
m_timeLine->setPixelsPerTact( m_ppt );
|
||||
update();
|
||||
}
|
||||
|
||||
@@ -3777,9 +3777,9 @@ void PianoRoll::zoomingChanged()
|
||||
{
|
||||
const QString & zfac = m_zoomingModel.currentText();
|
||||
m_ppt = zfac.left( zfac.length() - 1 ).toInt() * DEFAULT_PR_PPT / 100;
|
||||
#ifdef LMMS_DEBUG
|
||||
|
||||
assert( m_ppt > 0 );
|
||||
#endif
|
||||
|
||||
m_timeLine->setPixelsPerTact( m_ppt );
|
||||
update();
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ void BBTCOView::paintEvent( QPaintEvent * )
|
||||
{
|
||||
QPainter p( this );
|
||||
|
||||
QColor col = m_bbTCO->m_useStyleColor
|
||||
QColor col = m_bbTCO->m_useStyleColor
|
||||
? p.pen().brush().color()
|
||||
: m_bbTCO->colorObj();
|
||||
|
||||
@@ -224,10 +224,10 @@ void BBTCOView::paintEvent( QPaintEvent * )
|
||||
{
|
||||
col = QColor( 160, 160, 160 );
|
||||
}
|
||||
|
||||
if( isSelected() == true )
|
||||
{
|
||||
col = QColor( qMax( col.red() - 128, 0 ),
|
||||
qMax( col.green() - 128, 0 ), 255 );
|
||||
col = QColor( qMax( col.red() - 128, 0 ), qMax( col.green() - 128, 0 ), 255 );
|
||||
}
|
||||
|
||||
QLinearGradient lingrad( 0, 0, 0, height() );
|
||||
|
||||
@@ -908,11 +908,15 @@ void PatternView::paintEvent( QPaintEvent * )
|
||||
|
||||
if(( m_pat->m_patternType != Pattern::BeatPattern ) &&
|
||||
!( m_pat->getTrack()->isMuted() || m_pat->isMuted() ))
|
||||
c = isSelected() ? QColor( 0, 0, 224 )
|
||||
: styleColor;
|
||||
c = styleColor;
|
||||
else
|
||||
c = QColor( 80, 80, 80 );
|
||||
|
||||
if( isSelected() == true )
|
||||
{
|
||||
c = QColor( qMax( c.red() - 128, 0 ), qMax( c.green() - 128, 0 ), 255 );
|
||||
}
|
||||
|
||||
if( m_pat->m_patternType != Pattern::BeatPattern )
|
||||
{
|
||||
lingrad.setColorAt( 1, c.darker( 300 ) );
|
||||
|
||||
@@ -341,9 +341,14 @@ void SampleTCOView::paintEvent( QPaintEvent * _pe )
|
||||
|
||||
QColor c;
|
||||
if( !( m_tco->getTrack()->isMuted() || m_tco->isMuted() ) )
|
||||
c = isSelected() ? QColor( 0, 0, 224 )
|
||||
: styleColor;
|
||||
else c = QColor( 80, 80, 80 );
|
||||
c = styleColor;
|
||||
else
|
||||
c = QColor( 80, 80, 80 );
|
||||
|
||||
if( isSelected() == true )
|
||||
{
|
||||
c = QColor( qMax( c.red() - 128, 0 ), qMax( c.green() - 128, 0 ), 255 );
|
||||
}
|
||||
|
||||
QLinearGradient grad( 0, 0, 0, height() );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user