Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 4 additions & 20 deletions include/gui_templates.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,35 +25,19 @@
#ifndef LMMS_GUI_TEMPLATES_H
#define LMMS_GUI_TEMPLATES_H

#include "lmmsconfig.h"

#include <algorithm>
#include <QApplication>
#include <QFont>
#include <QGuiApplication>

// TODO: remove once qt5 support is dropped
#if (QT_VERSION < QT_VERSION_CHECK(6,0,0))
#include <QScreen>
#endif

namespace lmms::gui
{


// return DPI-independent font-size - font with returned font-size has always
// the same size in pixels
inline QFont pointSize(QFont fontPointer, float fontSize)
// Convenience method to set the font size in pixels
inline QFont adjustedToPixelSize(QFont font, int size)
{
// to calculate DPI of a screen to make it HiDPI ready
qreal devicePixelRatio = QGuiApplication::primaryScreen()->devicePixelRatio();
qreal scaleFactor = std::max(devicePixelRatio, 1.0); // Ensure scaleFactor is at least 1.0

fontPointer.setPointSizeF(fontSize * scaleFactor);
return fontPointer;
font.setPixelSize(size);
return font;
}


} // namespace lmms::gui

#endif // LMMS_GUI_TEMPLATES_H
3 changes: 1 addition & 2 deletions plugins/AudioFileProcessor/AudioFileProcessorView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,6 @@ AudioFileProcessorView::AudioFileProcessorView(Instrument* instrument,
// interpolation selector
m_interpBox = new ComboBox(this);
m_interpBox->setGeometry(142, 62, 82, ComboBox::DEFAULT_HEIGHT);
m_interpBox->setFont(pointSize(m_interpBox->font(), 8));

// wavegraph
m_waveView = 0;
Expand Down Expand Up @@ -228,7 +227,7 @@ void AudioFileProcessorView::paintEvent(QPaintEvent*)

int idx = a->sample().sampleFile().length();

p.setFont(pointSize(font(), 8));
p.setFont(adjustedToPixelSize(font(), 8));

QFontMetrics fm(p.font());

Expand Down
2 changes: 1 addition & 1 deletion plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ void AudioFileProcessorWaveView::paintEvent(QPaintEvent * pe)
p.fillRect(s_padding, s_padding, m_graph.width(), 14, g);

p.setPen(QColor(255, 255, 255));
p.setFont(pointSize(font(), 8));
p.setFont(adjustedToPixelSize(font(), 8));

QString length_text;
const int length = m_sample->sampleDuration().count();
Expand Down
4 changes: 2 additions & 2 deletions plugins/CarlaBase/Carla.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,7 @@ CarlaInstrumentView::CarlaInstrumentView(CarlaInstrument* const instrument, QWid
m_toggleUIButton->setCheckable( true );
m_toggleUIButton->setChecked( false );
m_toggleUIButton->setIcon( embed::getIconPixmap( "zoom" ) );
m_toggleUIButton->setFont(pointSize(m_toggleUIButton->font(), 8));
m_toggleUIButton->setFont(adjustedToPixelSize(m_toggleUIButton->font(), 8));
connect( m_toggleUIButton, SIGNAL( clicked(bool) ), this, SLOT( toggleUI( bool ) ) );

m_toggleUIButton->setToolTip(
Expand All @@ -642,7 +642,7 @@ CarlaInstrumentView::CarlaInstrumentView(CarlaInstrument* const instrument, QWid
m_toggleParamsWindowButton = new QPushButton(tr("Params"), this);
m_toggleParamsWindowButton->setIcon(embed::getIconPixmap("controller"));
m_toggleParamsWindowButton->setCheckable(true);
m_toggleParamsWindowButton->setFont(pointSize(m_toggleParamsWindowButton->font(), 8));
m_toggleParamsWindowButton->setFont(adjustedToPixelSize(m_toggleParamsWindowButton->font(), 8));
#if CARLA_VERSION_HEX < CARLA_MIN_PARAM_VERSION
m_toggleParamsWindowButton->setEnabled(false);
m_toggleParamsWindowButton->setToolTip(tr("Available from Carla version 2.1 and up."));
Expand Down
3 changes: 0 additions & 3 deletions plugins/DualFilter/DualFilterControlDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
#include "Knob.h"
#include "LedCheckBox.h"
#include "ComboBox.h"
#include "gui_templates.h"

namespace lmms::gui
{
Expand Down Expand Up @@ -76,12 +75,10 @@ DualFilterControlDialog::DualFilterControlDialog( DualFilterControls* controls )

auto m_filter1ComboBox = new ComboBox(this);
m_filter1ComboBox->setGeometry( 19, 70, 137, ComboBox::DEFAULT_HEIGHT );
m_filter1ComboBox->setFont(pointSize(m_filter1ComboBox->font(), 8));
m_filter1ComboBox->setModel( &controls->m_filter1Model );

auto m_filter2ComboBox = new ComboBox(this);
m_filter2ComboBox->setGeometry( 217, 70, 137, ComboBox::DEFAULT_HEIGHT );
m_filter2ComboBox->setFont(pointSize(m_filter2ComboBox->font(), 8));
m_filter2ComboBox->setModel( &controls->m_filter2Model );
}

Expand Down
2 changes: 0 additions & 2 deletions plugins/LadspaBrowser/LadspaBrowser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
#include <QLabel>


#include "gui_templates.h"
#include "LadspaDescription.h"
#include "LadspaPortDialog.h"
#include "TabBar.h"
Expand Down Expand Up @@ -172,7 +171,6 @@ QWidget * LadspaBrowserView::createTab( QWidget * _parent, const QString & _txt,
auto title = new QLabel(type + _txt, tab);
QFont f = title->font();
f.setBold( true );
title->setFont(pointSize(f, 12));

layout->addSpacing( 5 );
layout->addWidget( title );
Expand Down
6 changes: 0 additions & 6 deletions plugins/Monstro/Monstro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
#include "ComboBox.h"
#include "Engine.h"
#include "InstrumentTrack.h"
#include "gui_templates.h"
#include "lmms_math.h"
#include "interpolation.h"

Expand Down Expand Up @@ -1694,7 +1693,6 @@ QWidget * MonstroView::setupOperatorsView( QWidget * _parent )

m_osc2WaveBox = new ComboBox( view );
m_osc2WaveBox -> setGeometry( 204, O2ROW + 7, 42, ComboBox::DEFAULT_HEIGHT );
m_osc2WaveBox->setFont(pointSize(m_osc2WaveBox->font(), 8));

maketinyled( m_osc2SyncHButton, 212, O2ROW - 3, tr( "Hard sync oscillator 2" ) )
maketinyled( m_osc2SyncRButton, 191, O2ROW - 3, tr( "Reverse sync oscillator 2" ) )
Expand All @@ -1709,26 +1707,22 @@ QWidget * MonstroView::setupOperatorsView( QWidget * _parent )

m_osc3Wave1Box = new ComboBox( view );
m_osc3Wave1Box -> setGeometry( 160, O3ROW + 7, 42, ComboBox::DEFAULT_HEIGHT );
m_osc3Wave1Box->setFont(pointSize(m_osc3Wave1Box->font(), 8));

m_osc3Wave2Box = new ComboBox( view );
m_osc3Wave2Box -> setGeometry( 204, O3ROW + 7, 42, ComboBox::DEFAULT_HEIGHT );
m_osc3Wave2Box->setFont(pointSize(m_osc3Wave2Box->font(), 8));

maketinyled( m_osc3SyncHButton, 212, O3ROW - 3, tr( "Hard sync oscillator 3" ) )
maketinyled( m_osc3SyncRButton, 191, O3ROW - 3, tr( "Reverse sync oscillator 3" ) )

m_lfo1WaveBox = new ComboBox( view );
m_lfo1WaveBox -> setGeometry( 2, LFOROW + 7, 42, ComboBox::DEFAULT_HEIGHT );
m_lfo1WaveBox->setFont(pointSize(m_lfo1WaveBox->font(), 8));

maketsknob( m_lfo1AttKnob, LFOCOL1, LFOROW, tr( "Attack" ), " ms", "lfoKnob" )
maketsknob( m_lfo1RateKnob, LFOCOL2, LFOROW, tr( "Rate" ), " ms", "lfoKnob" )
makeknob( m_lfo1PhsKnob, LFOCOL3, LFOROW, tr( "Phase" ), tr( " deg" ), "lfoKnob" )

m_lfo2WaveBox = new ComboBox( view );
m_lfo2WaveBox -> setGeometry( 127, LFOROW + 7, 42, ComboBox::DEFAULT_HEIGHT );
m_lfo2WaveBox->setFont(pointSize(m_lfo2WaveBox->font(), 8));

maketsknob(m_lfo2AttKnob, LFOCOL4, LFOROW, tr("Attack"), " ms", "lfoKnob")
maketsknob(m_lfo2RateKnob, LFOCOL5, LFOROW, tr("Rate"), " ms", "lfoKnob")
Expand Down
4 changes: 2 additions & 2 deletions plugins/Patman/Patman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -545,7 +545,7 @@ void PatmanView::updateFilename()
m_displayFilename = "";
int idx = m_pi->m_patchFile.length();

QFontMetrics fm(pointSize(font(), 8));
QFontMetrics fm(adjustedToPixelSize(font(), 8));

// simple algorithm for creating a text from the filename that
// matches in the white rectangle
Expand Down Expand Up @@ -615,7 +615,7 @@ void PatmanView::paintEvent( QPaintEvent * )
{
QPainter p( this );

p.setFont(pointSize(font() ,8));
p.setFont(adjustedToPixelSize(font() ,8));
p.drawText( 8, 116, 235, 16,
Qt::AlignLeft | Qt::TextSingleLine | Qt::AlignVCenter,
m_displayFilename );
Expand Down
2 changes: 0 additions & 2 deletions plugins/Stk/Mallets/Mallets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
#include "AudioEngine.h"
#include "ConfigManager.h"
#include "Engine.h"
#include "gui_templates.h"
#include "GuiApplication.h"
#include "InstrumentTrack.h"

Expand Down Expand Up @@ -450,7 +449,6 @@ MalletsInstrumentView::MalletsInstrumentView( MalletsInstrument * _instrument,

m_presetsCombo = new ComboBox( this, tr( "Instrument" ) );
m_presetsCombo->setGeometry( 140, 50, 99, ComboBox::DEFAULT_HEIGHT );
m_presetsCombo->setFont(pointSize(m_presetsCombo->font(), 8));

connect( &_instrument->m_presetsModel, SIGNAL( dataChanged() ),
this, SLOT( changePreset() ) );
Expand Down
9 changes: 5 additions & 4 deletions plugins/Vestige/Vestige.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -583,11 +583,12 @@ VestigeInstrumentView::VestigeInstrumentView( Instrument * _instrument,

m_selPresetButton->setMenu(menu);

constexpr int buttonFontSize = 12;

m_toggleGUIButton = new QPushButton( tr( "Show/hide GUI" ), this );
m_toggleGUIButton->setGeometry( 20, 130, 200, 24 );
m_toggleGUIButton->setIcon( embed::getIconPixmap( "zoom" ) );
m_toggleGUIButton->setFont(pointSize(m_toggleGUIButton->font(), 8));
m_toggleGUIButton->setFont(adjustedToPixelSize(m_toggleGUIButton->font(), buttonFontSize));
connect( m_toggleGUIButton, SIGNAL( clicked() ), this,
SLOT( toggleGUI() ) );

Expand All @@ -596,7 +597,7 @@ VestigeInstrumentView::VestigeInstrumentView( Instrument * _instrument,
this);
note_off_all_btn->setGeometry( 20, 160, 200, 24 );
note_off_all_btn->setIcon( embed::getIconPixmap( "stop" ) );
note_off_all_btn->setFont(pointSize(note_off_all_btn->font(), 8));
note_off_all_btn->setFont(adjustedToPixelSize(note_off_all_btn->font(), buttonFontSize));
connect( note_off_all_btn, SIGNAL( clicked() ), this,
SLOT( noteOffAll() ) );

Expand Down Expand Up @@ -881,7 +882,7 @@ void VestigeInstrumentView::paintEvent( QPaintEvent * )
tr( "No VST plugin loaded" );
QFont f = p.font();
f.setBold( true );
p.setFont(pointSize(f, 10));
p.setFont(adjustedToPixelSize(f, 10));
p.setPen( QColor( 255, 255, 255 ) );
p.drawText( 10, 100, plugin_name );

Expand All @@ -893,7 +894,7 @@ void VestigeInstrumentView::paintEvent( QPaintEvent * )
{
p.setPen( QColor( 0, 0, 0 ) );
f.setBold( false );
p.setFont(pointSize(f, 8));
p.setFont(adjustedToPixelSize(f, 8));
p.drawText( 10, 114, tr( "by " ) +
m_vi->m_plugin->vendorString() );
p.setPen( QColor( 255, 255, 255 ) );
Expand Down
2 changes: 1 addition & 1 deletion plugins/VstEffect/VstEffectControlDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ VstEffectControlDialog::VstEffectControlDialog( VstEffectControls * _ctl ) :
tb->addWidget(space1);

tbLabel = new QLabel( tr( "Effect by: " ), this );
tbLabel->setFont(pointSize(f, 7));
tbLabel->setFont(adjustedToPixelSize(f, 7));
tbLabel->setTextFormat(Qt::RichText);
tbLabel->setAlignment( Qt::AlignTop | Qt::AlignLeft );
tb->addWidget( tbLabel );
Expand Down
6 changes: 4 additions & 2 deletions plugins/ZynAddSubFx/ZynAddSubFx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
#include "DataFile.h"
#include "InstrumentPlayHandle.h"
#include "InstrumentTrack.h"
#include "gui_templates.h"
#include "Song.h"
#include "StringPairDrag.h"
#include "RemoteZynAddSubFx.h"
Expand Down Expand Up @@ -541,7 +540,10 @@ ZynAddSubFxView::ZynAddSubFxView( Instrument * _instrument, QWidget * _parent )
m_toggleUIButton->setCheckable( true );
m_toggleUIButton->setChecked( false );
m_toggleUIButton->setIcon( embed::getIconPixmap( "zoom" ) );
m_toggleUIButton->setFont(pointSize(m_toggleUIButton->font(), 8));
QFont f = m_toggleUIButton->font();
f.setPointSizeF(12);
m_toggleUIButton->setFont(f);

connect( m_toggleUIButton, SIGNAL( toggled( bool ) ), this,
SLOT( toggleUI() ) );

Expand Down
4 changes: 2 additions & 2 deletions src/gui/EffectView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
{
auto ctls_btn = new QPushButton(tr("Controls"), this);
QFont f = ctls_btn->font();
ctls_btn->setFont(pointSize(f, 8));
ctls_btn->setFont(adjustedToPixelSize(f, 10));
ctls_btn->setGeometry( 150, 14, 50, 20 );
connect( ctls_btn, SIGNAL(clicked()),
this, SLOT(editControls()));
Expand Down Expand Up @@ -257,7 +257,7 @@ void EffectView::paintEvent( QPaintEvent * )
QPainter p( this );
p.drawPixmap( 0, 0, m_bg );

QFont f = pointSize(font(), 7.5f);
QFont f = adjustedToPixelSize(font(), 10);
f.setBold( true );
p.setFont( f );

Expand Down
2 changes: 1 addition & 1 deletion src/gui/Lv2ViewBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ Lv2ViewBase::Lv2ViewBase(QWidget* meAsWidget, Lv2ControlBase *ctrlBase) :
m_toggleUIButton->setCheckable(true);
m_toggleUIButton->setChecked(false);
m_toggleUIButton->setIcon(embed::getIconPixmap("zoom"));
m_toggleUIButton->setFont(pointSize(m_toggleUIButton->font(), 8));
m_toggleUIButton->setFont(adjustedToPixelSize(m_toggleUIButton->font(), 8));
btnBox->addWidget(m_toggleUIButton, 0);
}
btnBox->addStretch(1);
Expand Down
2 changes: 1 addition & 1 deletion src/gui/MixerChannelView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ namespace lmms::gui

m_renameLineEdit = new QLineEdit{mixerName, nullptr};
m_renameLineEdit->setFixedWidth(65);
m_renameLineEdit->setFont(pointSize(font(), 7.5f));
m_renameLineEdit->setFont(adjustedToPixelSize(font(), 12));
m_renameLineEdit->setReadOnly(true);
m_renameLineEdit->installEventFilter(this);

Expand Down
7 changes: 3 additions & 4 deletions src/gui/editors/AutomationEditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1040,8 +1040,7 @@ void AutomationEditor::paintEvent(QPaintEvent * pe )
QBrush bgColor = p.background();
p.fillRect( 0, 0, width(), height(), bgColor );

// set font-size to 8
p.setFont(pointSize(p.font(), 8));
p.setFont(adjustedToPixelSize(p.font(), 10));

int grid_height = height() - TOP_MARGIN - SCROLLBAR_SIZE;

Expand Down Expand Up @@ -1383,9 +1382,9 @@ void AutomationEditor::paintEvent(QPaintEvent * pe )
}
else
{
QFont f = p.font();
QFont f = font();
f.setBold( true );
p.setFont(pointSize(f, 14));
p.setFont(f);
p.setPen( QApplication::palette().color( QPalette::Active,
QPalette::BrightText ) );
p.drawText( VALUES_WIDTH + 20, TOP_MARGIN + 40,
Expand Down
13 changes: 6 additions & 7 deletions src/gui/editors/PianoRoll.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
#include "DetuningHelper.h"
#include "embed.h"
#include "GuiApplication.h"
#include "gui_templates.h"
#include "InstrumentTrack.h"
#include "MainWindow.h"
#include "MidiClip.h"
Expand Down Expand Up @@ -3335,9 +3334,9 @@ void PianoRoll::paintEvent(QPaintEvent * pe )
m_whiteKeyWidth, noteEditBottom() - keyAreaBottom()), bgColor);

// display note editing info
//QFont f = p.font();
f.setBold( false );
p.setFont(pointSize(f, 10));
f.setBold(false);
f.setPixelSize(10);
p.setFont(f);
p.setPen(m_noteModeColor);
p.drawText( QRect( 0, keyAreaBottom(),
m_whiteKeyWidth, noteEditBottom() - keyAreaBottom()),
Expand Down Expand Up @@ -3598,9 +3597,9 @@ void PianoRoll::paintEvent(QPaintEvent * pe )
}
else
{
QFont f = p.font();
f.setBold( true );
p.setFont(pointSize(f, 14));
QFont f = font();
f.setBold(true);
p.setFont(f);
p.setPen( QApplication::palette().color( QPalette::Active,
QPalette::BrightText ) );
p.drawText(m_whiteKeyWidth + 20, PR_TOP_MARGIN + 40,
Expand Down
7 changes: 2 additions & 5 deletions src/gui/instrument/EnvelopeAndLfoView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -207,15 +207,12 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
m_lfoWaveBtnGrp->addButton( random_lfo_btn );

m_x100Cb = new LedCheckBox( tr( "FREQ x 100" ), this );
m_x100Cb->setFont(pointSize(m_x100Cb->font(), 6.5));
m_x100Cb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 36 );
m_x100Cb->setToolTip(tr("Multiply LFO frequency by 100"));


m_controlEnvAmountCb = new LedCheckBox( tr( "MODULATE ENV AMOUNT" ),
this );
m_controlEnvAmountCb = new LedCheckBox(tr("MOD ENV AMOUNT"), this);
m_controlEnvAmountCb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 54 );
m_controlEnvAmountCb->setFont(pointSize(m_controlEnvAmountCb->font(), 6.5));
m_controlEnvAmountCb->setToolTip(
tr( "Control envelope amount by this LFO" ) );

Expand Down Expand Up @@ -340,7 +337,7 @@ void EnvelopeAndLfoView::paintEvent( QPaintEvent * )
// draw LFO-graph
p.drawPixmap(LFO_GRAPH_X, LFO_GRAPH_Y, m_lfoGraph);

p.setFont(pointSize(p.font(), 8));
p.setFont(adjustedToPixelSize(p.font(), 8));

const float gray_amount = 1.0f - fabsf( m_amountKnob->value<float>() );

Expand Down
Loading