[kde-doc-english] Re: [kde-workspace] /: Make font dpi fully configurable by the user

Anne-Marie Mahfouf annemarie.mahfouf at free.fr
Sat Jun 11 17:11:17 CEST 2011


On Saturday 11 June 2011 16:35:06 you wrote:
> 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
yes, before scripty runs and include the new strings in translations. When 
scripty has run the damage is done for translators meaning the changed string 
is marked as fuzzy and the new one is included.
> 2. wait until 4.7 is branched, and then commit to master
yes
> 3. If I commit after the 4.7 branch to master, are there still issues
> with i18n or can I commit it without problems.
when master is opened to 4.8 you follow the release plan where freezes are 
explained.

Anne-Marie


> 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/9e1de272620da40fead11dfdb705cfc3d9a
> >> 90f 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