2021-05-24 07:25:56 +00:00
/*
SPDX - FileCopyrightText : 2006 Pino Toscano < toscano . pino @ tiscali . it >
SPDX - License - Identifier : GPL - 2.0 - or - later
*/
2006-03-31 15:14:47 +00:00
2007-04-19 18:30:20 +00:00
# include "dlgperformance.h"
2021-01-01 01:09:10 +00:00
# include <KLocalizedString>
2006-03-31 17:55:18 +00:00
2021-01-01 01:09:10 +00:00
# include <QCheckBox>
# include <QComboBox>
# include <QFormLayout>
# include <QLabel>
2016-07-16 22:56:11 +00:00
# include "settings_core.h"
2006-03-31 15:14:47 +00:00
DlgPerformance : : DlgPerformance ( QWidget * parent )
: QWidget ( parent )
2021-01-01 01:09:10 +00:00
, m_memoryExplanationLabel ( new QLabel ( this ) )
2006-03-31 15:14:47 +00:00
{
2021-01-01 01:09:10 +00:00
QFormLayout * layout = new QFormLayout ( this ) ;
2006-03-31 15:14:47 +00:00
2021-01-01 01:09:10 +00:00
// BEGIN Checkbox: transparency effects
QCheckBox * useTransparencyEffects = new QCheckBox ( this ) ;
useTransparencyEffects - > setText ( i18nc ( " @option:check Config dialog, performance page " , " Enable transparency effects " ) ) ;
useTransparencyEffects - > setObjectName ( QStringLiteral ( " kcfg_EnableCompositing " ) ) ;
layout - > addRow ( i18nc ( " @label Config dialog, performance page " , " CPU usage: " ) , useTransparencyEffects ) ;
// END Checkbox: transparency effects
2006-03-31 17:55:18 +00:00
2021-01-01 01:09:10 +00:00
layout - > addRow ( new QLabel ( this ) ) ;
2016-07-16 22:56:11 +00:00
2021-01-01 01:09:10 +00:00
// BEGIN Radio buttons: memory usage
QComboBox * m_memoryLevel = new QComboBox ( this ) ;
m_memoryLevel - > addItem ( i18nc ( " @item:inlistbox Config dialog, performance page, memory usage " , " Low " ) ) ;
m_memoryLevel - > addItem ( i18nc ( " @item:inlistbox Config dialog, performance page, memory usage " , " Normal (default) " ) ) ;
m_memoryLevel - > addItem ( i18nc ( " @item:inlistbox Config dialog, performance page, memory usage " , " Aggressive " ) ) ;
m_memoryLevel - > addItem ( i18nc ( " @item:inlistbox Config dialog, performance page, memory usage " , " Greedy " ) ) ;
m_memoryLevel - > setObjectName ( QStringLiteral ( " kcfg_MemoryLevel " ) ) ;
layout - > addRow ( i18nc ( " @label:listbox Config dialog, performance page, memory usage " , " Memory usage: " ) , m_memoryLevel ) ;
2016-07-16 22:56:11 +00:00
2021-01-01 01:09:10 +00:00
// Setup and initialize explanation label:
m_memoryExplanationLabel - > setWordWrap ( true ) ;
layout - > addRow ( m_memoryExplanationLabel ) ;
m_memoryLevel - > setCurrentIndex ( 0 ) ;
slotMemoryLevelSelected ( 0 ) ;
connect ( m_memoryLevel , QOverload < int > : : of ( & QComboBox : : currentIndexChanged ) , this , & DlgPerformance : : slotMemoryLevelSelected ) ;
// END Radio buttons: memory usage
2006-03-31 15:14:47 +00:00
2021-01-01 01:09:10 +00:00
layout - > addRow ( new QLabel ( this ) ) ;
// BEGIN Checkboxes: rendering options
QCheckBox * useTextAntialias = new QCheckBox ( this ) ;
useTextAntialias - > setText ( i18nc ( " @option:check Config dialog, performance page " , " Enable text antialias " ) ) ;
useTextAntialias - > setObjectName ( QStringLiteral ( " kcfg_TextAntialias " ) ) ;
layout - > addRow ( i18nc ( " @title:group Config dialog, performance page " , " Rendering options: " ) , useTextAntialias ) ;
QCheckBox * useGraphicsAntialias = new QCheckBox ( this ) ;
useGraphicsAntialias - > setText ( i18nc ( " @option:check Config dialog, performance page " , " Enable graphics antialias " ) ) ;
useGraphicsAntialias - > setObjectName ( QStringLiteral ( " kcfg_GraphicsAntialias " ) ) ;
layout - > addRow ( QString ( ) , useGraphicsAntialias ) ;
QCheckBox * useTextHinting = new QCheckBox ( this ) ;
useTextHinting - > setText ( i18nc ( " @option:check Config dialog, performance page " , " Enable text hinting " ) ) ;
useTextHinting - > setObjectName ( QStringLiteral ( " kcfg_TextHinting " ) ) ;
layout - > addRow ( QString ( ) , useTextHinting ) ;
// END Checkboxes: rendering options
// m_dlg->cpuLabel->setPixmap(QIcon::fromTheme(QStringLiteral("cpu")).pixmap(32));
// m_dlg->memoryLabel->setPixmap( QIcon::fromTheme( "kcmmemory" ).pixmap( 32 ) ); // TODO: enable again when proper icon is available TODO: Figure out a new place in the layout for these pixmaps
2007-06-08 22:29:07 +00:00
}
2021-01-01 01:09:10 +00:00
void DlgPerformance : : slotMemoryLevelSelected ( int which )
2006-03-31 15:14:47 +00:00
{
2006-06-19 14:55:03 +00:00
switch ( which ) {
case 0 :
2021-01-01 01:09:10 +00:00
m_memoryExplanationLabel - > setText ( i18n ( " Keeps used memory as low as possible. Do not reuse anything. (For systems with low memory.) " ) ) ;
2006-06-19 14:55:03 +00:00
break ;
case 1 :
2021-01-01 01:09:10 +00:00
m_memoryExplanationLabel - > setText ( i18n ( " A good compromise between memory usage and speed gain. Preload next page and boost searches. (For systems with 2GB of memory, typically.) " ) ) ;
2006-06-19 14:55:03 +00:00
break ;
case 2 :
2021-01-01 01:09:10 +00:00
m_memoryExplanationLabel - > setText ( i18n ( " Keeps everything in memory. Preload next pages. Boost searches. (For systems with more than 4GB of memory.) " ) ) ;
2006-06-19 14:55:03 +00:00
break ;
2012-03-08 23:12:20 +00:00
case 3 :
2012-03-09 09:33:54 +00:00
// xgettext: no-c-format
2021-01-01 01:09:10 +00:00
m_memoryExplanationLabel - > setText ( i18n ( " Loads and keeps everything in memory. Preload all pages. (Will use at maximum 50% of your total memory or your free memory, whatever is bigger.) " ) ) ;
2012-03-08 23:12:20 +00:00
break ;
2006-06-19 14:55:03 +00:00
}
2006-03-31 15:14:47 +00:00
}