[kde-doc-english] Re: [kde-workspace] /: Make font dpi fully configurable by the user
Lukas Sommer
SommerLuk at gmail.com
Sat Jun 11 16:35:06 CEST 2011
Hi Anne-Marie.
I'm sorry for inconvenience. I thought that with the review on
reviewboard, this would be okay.
So if you say this is a problem for 4.7, so I asume that 4.7 is still
not branched from master and until 4.7 has been branched, we can't
commit any new features? (Or is there another development branch?)
So, what do I have to do?
1. revert the commit
2. wait until 4.7 is branched, and then commit to master
3. If I commit after the 4.7 branch to master, are there still issues
with i18n or can I commit it without problems.
I'm sorry. Next time I'll make it better. (It was my first commit.)
Best regards.
Lukas
2011/6/11 Anne-Marie Mahfouf <annemarie.mahfouf at free.fr>:
> Hi Lucas,
>
> It looks like you changed a string (you should have asked i18n people prior to
> committing) and you committed a feature which is not allowed in the 4.7
> feature plan.
> http://techbase.kde.org/Schedules/KDE4/4.7_Release_Schedule
>
> Best regards,
>
> Anne-Marie
>
> On Saturday 11 June 2011 11:42:56 Lukas Sommer wrote:
>> Git commit 9e1de272620da40fead11dfdb705cfc3d9a90f10 by Lukas Sommer.
>> Committed on 11/06/2011 at 11:34.
>> Pushed by sommer into branch 'master'.
>>
>> Make font dpi fully configurable by the user
>>
>> Adopts startkde.cmake to accept dpi values different from 96 and 120.
>>
>> Adopts the UI in kcontrol to make dpi values from 1 to 1000 possible.
>> The spinbox uses steps of 24 dpi because the common dpi values 72,
>> 96 and 120 are all multiples of 24. As some fonts are optimized for
>> these resolutions, this could make fonts look better.
>> FEATURE: 190489
>> FIXED-IN: 4.7
>> REVIEW: 101410
>> GUI:
>> DIGEST:
>>
>> M +28 -20 kcontrol/fonts/fonts.cpp
>> M +4 -3 kcontrol/fonts/fonts.h
>> M +2 -6 startkde.cmake
>>
>> http://commits.kde.org/kde-workspace/9e1de272620da40fead11dfdb705cfc3d9a90f
>> 10
>>
>> diff --git a/kcontrol/fonts/fonts.cpp b/kcontrol/fonts/fonts.cpp
>> index 0cd2666..a9b5ef2 100644
>> --- a/kcontrol/fonts/fonts.cpp
>> +++ b/kcontrol/fonts/fonts.cpp
>> @@ -13,6 +13,7 @@
>> #include <QDir>
>> #include <QLabel>
>> #include <QPushButton>
>> +#include <QSpinBox>
>> #include <QtCore/QSettings>
>>
>>
>> @@ -625,14 +626,11 @@ KFonts::KFonts(QWidget *parent, const QVariantList
>> &args) lay->addWidget( aaSettingsButton, 0, 2 );
>> connect(cbAA, SIGNAL(activated(int)), SLOT(slotUseAntiAliasing()));
>> #endif
>> - label = new QLabel( i18n( "Force fonts DPI:" ), this );
>> - label->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
>> - lay->addWidget( label, 1, 0 );
>> - comboForceDpi = new QComboBox( this );
>> - label->setBuddy( comboForceDpi );
>> - comboForceDpi->insertItem( DPINone, i18nc("Force fonts DPI", "Disabled"
>> )); // change DPISetti ng type if order changes -
>> comboForceDpi->insertItem( DPI96, i18n( "96 DPI" ));
>> - comboForceDpi->insertItem( DPI120, i18n( "120 DPI" ));
>> + checkboxForceDpi = new QCheckBox( i18n( "Force fonts DPI:" ), this );
>> + lay->addWidget( checkboxForceDpi, 1, 0 );
>> + spinboxDpi = new QSpinBox( this );
>> + spinboxDpi->setRange(1, 1000);
>> + spinboxDpi->setSingleStep(24); // The common DPI values 72, 96 and 120
>> are multiples of 24 QString whatsthis = i18n(
>> "<p>This option forces a specific DPI value for fonts. It may be
>> useful" " when the real DPI of the hardware is not detected properly and
>> it" @@ -644,9 +642,13 @@ KFonts::KFonts(QWidget *parent, const
>> QVariantList &args) " ServerLocalArgs= in $KDEDIR/share/config/kdm/kdmrc).
>> When fonts do not render" " properly with real DPI value better fonts
>> should be used or configuration" " of font hinting should be checked.</p>"
>> );
>> - comboForceDpi->setWhatsThis(whatsthis);
>> - connect( comboForceDpi, SIGNAL( activated( int )), SLOT( changed()));
>> - lay->addWidget( comboForceDpi, 1, 1 );
>> + spinboxDpi->setWhatsThis(whatsthis);
>> + checkboxForceDpi->setChecked(false);
>> + spinboxDpi->setEnabled(false);
>> + connect( spinboxDpi, SIGNAL( valueChanged(int)), SLOT( changed()));
>> + connect( checkboxForceDpi, SIGNAL( toggled(bool)), SLOT( changed()));
>> + connect( checkboxForceDpi, SIGNAL( toggled(bool)), spinboxDpi, SLOT(
>> setEnabled(bool))); + lay->addWidget( spinboxDpi, 1, 1 );
>>
>> layout->addStretch(1);
>>
>> @@ -681,7 +683,8 @@ void KFonts::defaults()
>> cbAA->setCurrentIndex( useAA );
>> aaSettings->defaults();
>> #endif
>> - comboForceDpi->setCurrentIndex( DPINone );
>> + checkboxForceDpi->setChecked( false );
>> + spinboxDpi->setValue( 96 );
>> emit changed(true);
>> }
>>
>> @@ -701,9 +704,15 @@ void KFonts::load()
>> KConfig _cfgfonts( "kcmfonts" );
>> KConfigGroup cfgfonts(&_cfgfonts, "General");
>> int dpicfg = cfgfonts.readEntry( "forceFontDPI", 0 );
>> - DPISetting dpi = dpicfg == 120 ? DPI120 : dpicfg == 96 ? DPI96 :
>> DPINone; - comboForceDpi->setCurrentIndex( dpi );
>> - dpi_original = dpi;
>> + if (dpicfg <= 0) {
>> + checkboxForceDpi->setChecked(false);
>> + spinboxDpi->setValue(96);
>> + dpi_original = 0;
>> + } else {
>> + checkboxForceDpi->setChecked(true);
>> + spinboxDpi->setValue(dpicfg);
>> + dpi_original = dpicfg;
>> + };
>> #ifdef HAVE_FONTCONFIG
>> if( cfgfonts.readEntry( "dontChangeAASettings", true )) {
>> useAA_original = useAA = AASystem;
>> @@ -727,16 +736,15 @@ void KFonts::save()
>>
>> KConfig _cfgfonts( "kcmfonts" );
>> KConfigGroup cfgfonts(&_cfgfonts, "General");
>> - DPISetting dpi = static_cast< DPISetting >(
>> comboForceDpi->currentIndex()); - const int dpi2value[] = { 0, 96, 120 };
>> - cfgfonts.writeEntry( "forceFontDPI", dpi2value[ dpi ] );
>> + int dpi = ( checkboxForceDpi->isChecked() ? spinboxDpi->value() : 0 );
>> + cfgfonts.writeEntry( "forceFontDPI", dpi );
>> #ifdef HAVE_FONTCONFIG
>> cfgfonts.writeEntry( "dontChangeAASettings", cbAA->currentIndex() ==
>> AASystem ); #endif
>> cfgfonts.sync();
>> // if the setting is reset in the module, remove the dpi value,
>> // otherwise don't explicitly remove it and leave any possible
>> system-wide value - if( dpi == DPINone && dpi_original != DPINone ) {
>> + if( dpi == 0 && dpi_original != 0 ) {
>> KProcess proc;
>> proc << "xrdb" << "-quiet" << "-remove" << "-nocpp";
>> proc.start();
>> @@ -777,7 +785,7 @@ void KFonts::save()
>> if( aaSave || (useAA != useAA_original) || dpi != dpi_original) {
>> KMessageBox::information(this,
>> i18n(
>> - "<p>Some changes such as anti-aliasing will only affect newly
>> started applications.</p>" + "<p>Some changes such as anti-aliasing
>> or DPI will only affect newly started applications.</p>" ), i18n("Font
>> Settings Changed"), "FontSettingsChanged");
>> useAA_original = useAA;
>> dpi_original = dpi;
>> diff --git a/kcontrol/fonts/fonts.h b/kcontrol/fonts/fonts.h
>> index 2c722d4..2a1b940 100644
>> --- a/kcontrol/fonts/fonts.h
>> +++ b/kcontrol/fonts/fonts.h
>> @@ -20,6 +20,7 @@
>>
>> class QCheckBox;
>> class QComboBox;
>> +class QSpinBox;
>> class KDoubleNumInput;
>> class FontAASettings;
>>
>> @@ -116,9 +117,9 @@ private:
>> FontAASettings *aaSettings;
>> #endif
>>
>> - enum DPISetting { DPINone, DPI96, DPI120 };
>> - DPISetting dpi_original;
>> - QComboBox* comboForceDpi;
>> + int dpi_original;
>> + QCheckBox *checkboxForceDpi;
>> + QSpinBox* spinboxDpi;
>> QList<FontUseItem *> fontUseList;
>> };
>>
>> diff --git a/startkde.cmake b/startkde.cmake
>> index dde9c23..afec4eb 100755
>> --- a/startkde.cmake
>> +++ b/startkde.cmake
>> @@ -130,13 +130,9 @@ fi
>>
>> . krandrstartup 2>/dev/null
>>
>> -if test "$kcmfonts_general_forcefontdpi" -eq 120; then
>> +if test "$kcmfonts_general_forcefontdpi" -ne 0; then
>> xrdb -quiet -merge -nocpp <<EOF
>> -Xft.dpi: 120
>> -EOF
>> -elif test "$kcmfonts_general_forcefontdpi" -eq 96; then
>> - xrdb -quiet -merge -nocpp <<EOF
>> -Xft.dpi: 96
>> +Xft.dpi: $kcmfonts_general_forcefontdpi
>> EOF
>> fi
>>
>> _______________________________________________
>> kde-doc-english mailing list
>> kde-doc-english at kde.org
>> https://mail.kde.org/mailman/listinfo/kde-doc-english
>
More information about the kde-doc-english
mailing list