File indexing completed on 2024-04-28 15:51:42
0001 /* 0002 SPDX-FileCopyrightText: 2006 Pino Toscano <toscano.pino@tiscali.it> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "dlgperformance.h" 0008 0009 #include <KLocalizedString> 0010 0011 #include <QCheckBox> 0012 #include <QComboBox> 0013 #include <QFormLayout> 0014 #include <QLabel> 0015 0016 #include "settings_core.h" 0017 0018 DlgPerformance::DlgPerformance(QWidget *parent) 0019 : QWidget(parent) 0020 , m_memoryExplanationLabel(new QLabel(this)) 0021 { 0022 QFormLayout *layout = new QFormLayout(this); 0023 0024 // BEGIN Checkbox: transparency effects 0025 QCheckBox *useTransparencyEffects = new QCheckBox(this); 0026 useTransparencyEffects->setText(i18nc("@option:check Config dialog, performance page", "Enable transparency effects")); 0027 useTransparencyEffects->setObjectName(QStringLiteral("kcfg_EnableCompositing")); 0028 layout->addRow(i18nc("@label Config dialog, performance page", "CPU usage:"), useTransparencyEffects); 0029 // END Checkbox: transparency effects 0030 0031 layout->addRow(new QLabel(this)); 0032 0033 // BEGIN Radio buttons: memory usage 0034 QComboBox *m_memoryLevel = new QComboBox(this); 0035 m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Low")); 0036 m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Normal (default)")); 0037 m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Aggressive")); 0038 m_memoryLevel->addItem(i18nc("@item:inlistbox Config dialog, performance page, memory usage", "Greedy")); 0039 m_memoryLevel->setObjectName(QStringLiteral("kcfg_MemoryLevel")); 0040 layout->addRow(i18nc("@label:listbox Config dialog, performance page, memory usage", "Memory usage:"), m_memoryLevel); 0041 0042 // Setup and initialize explanation label: 0043 m_memoryExplanationLabel->setWordWrap(true); 0044 layout->addRow(m_memoryExplanationLabel); 0045 m_memoryLevel->setCurrentIndex(0); 0046 slotMemoryLevelSelected(0); 0047 connect(m_memoryLevel, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &DlgPerformance::slotMemoryLevelSelected); 0048 // END Radio buttons: memory usage 0049 0050 layout->addRow(new QLabel(this)); 0051 0052 // BEGIN Checkboxes: rendering options 0053 QCheckBox *useTextAntialias = new QCheckBox(this); 0054 useTextAntialias->setText(i18nc("@option:check Config dialog, performance page", "Enable text antialias")); 0055 useTextAntialias->setObjectName(QStringLiteral("kcfg_TextAntialias")); 0056 layout->addRow(i18nc("@title:group Config dialog, performance page", "Rendering options:"), useTextAntialias); 0057 0058 QCheckBox *useGraphicsAntialias = new QCheckBox(this); 0059 useGraphicsAntialias->setText(i18nc("@option:check Config dialog, performance page", "Enable graphics antialias")); 0060 useGraphicsAntialias->setObjectName(QStringLiteral("kcfg_GraphicsAntialias")); 0061 layout->addRow(QString(), useGraphicsAntialias); 0062 0063 QCheckBox *useTextHinting = new QCheckBox(this); 0064 useTextHinting->setText(i18nc("@option:check Config dialog, performance page", "Enable text hinting")); 0065 useTextHinting->setObjectName(QStringLiteral("kcfg_TextHinting")); 0066 layout->addRow(QString(), useTextHinting); 0067 // END Checkboxes: rendering options 0068 0069 // m_dlg->cpuLabel->setPixmap(QIcon::fromTheme(QStringLiteral("cpu")).pixmap(32)); 0070 // 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 0071 } 0072 0073 void DlgPerformance::slotMemoryLevelSelected(int which) 0074 { 0075 switch (which) { 0076 case 0: 0077 m_memoryExplanationLabel->setText(i18n("Keeps used memory as low as possible. Do not reuse anything. (For systems with low memory.)")); 0078 break; 0079 case 1: 0080 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.)")); 0081 break; 0082 case 2: 0083 m_memoryExplanationLabel->setText(i18n("Keeps everything in memory. Preload next pages. Boost searches. (For systems with more than 4GB of memory.)")); 0084 break; 0085 case 3: 0086 // xgettext: no-c-format 0087 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.)")); 0088 break; 0089 } 0090 }