Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDlgPreferences Class Reference

#include <kis_dlg_preferences.h>

+ Inheritance diagram for KisDlgPreferences:

Public Member Functions

bool editPreferences ()
 
 KisDlgPreferences (QWidget *parent=0, const char *name=0)
 
void showEvent (QShowEvent *event) override
 
 ~KisDlgPreferences () override
 

Private Slots

void slotButtonClicked (QAbstractButton *button)
 
void slotDefault ()
 

Private Attributes

KoConfigAuthorPagem_authorPage
 
bool m_cancelClicked {false}
 
ColorSettingsTabm_colorSettings
 
DisplaySettingsTabm_displaySettings
 
FullscreenSettingsTabm_fullscreenSettings
 
GeneralTabm_general
 
KisInputConfigurationPagem_inputConfiguration
 
QList< KPageWidgetItem * > m_pages
 
PerformanceTabm_performanceSettings
 
PopupPaletteTabm_popupPaletteSettings
 
ShortcutSettingsTabm_shortcutSettings
 
TabletSettingsTabm_tabletSettings
 

Detailed Description

Preferences dialog of KImageShop^WKrayon^WKrita

Definition at line 387 of file kis_dlg_preferences.h.

Constructor & Destructor Documentation

◆ KisDlgPreferences()

KisDlgPreferences::KisDlgPreferences ( QWidget * parent = 0,
const char * name = 0 )

Definition at line 2483 of file kis_dlg_preferences.cc.

2484 : KPageDialog(parent)
2485{
2486 Q_UNUSED(name);
2487 setWindowTitle(i18n("Configure Krita"));
2488 setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::RestoreDefaults);
2489
2490 setFaceType(KPageDialog::List);
2491
2492 // General
2493 KoVBox *vbox = new KoVBox();
2494 KPageWidgetItem *page = new KPageWidgetItem(vbox, i18n("General"));
2495 page->setObjectName("general");
2496 page->setHeader(i18n("General"));
2497 page->setIcon(KisIconUtils::loadIcon("config-general"));
2498 m_pages << page;
2499 addPage(page);
2500 m_general = new GeneralTab(vbox);
2501
2502 // Shortcuts
2503 vbox = new KoVBox();
2504 page = new KPageWidgetItem(vbox, i18n("Keyboard Shortcuts"));
2505 page->setObjectName("shortcuts");
2506 page->setHeader(i18n("Shortcuts"));
2507 page->setIcon(KisIconUtils::loadIcon("config-keyboard"));
2508 m_pages << page;
2509 addPage(page);
2511 connect(this, SIGNAL(accepted()), m_shortcutSettings, SLOT(saveChanges()));
2512 connect(this, SIGNAL(rejected()), m_shortcutSettings, SLOT(cancelChanges()));
2513
2514 // Canvas input settings
2516 page = addPage(m_inputConfiguration, i18n("Canvas Input Settings"));
2517 page->setHeader(i18n("Canvas Input"));
2518 page->setObjectName("canvasinput");
2519 page->setIcon(KisIconUtils::loadIcon("config-canvas-input"));
2520 m_pages << page;
2521
2522 // Display
2523 vbox = new KoVBox();
2524 page = new KPageWidgetItem(vbox, i18n("Display"));
2525 page->setObjectName("display");
2526 page->setHeader(i18n("Display"));
2527 page->setIcon(KisIconUtils::loadIcon("config-display"));
2528 m_pages << page;
2529 addPage(page);
2531
2532 // Color
2533 vbox = new KoVBox();
2534 page = new KPageWidgetItem(vbox, i18n("Color Management"));
2535 page->setObjectName("colormanagement");
2536 page->setHeader(i18nc("Label of color as in Color Management", "Color"));
2537 page->setIcon(KisIconUtils::loadIcon("config-color-manage"));
2538 m_pages << page;
2539 addPage(page);
2541
2542 // Performance
2543 vbox = new KoVBox();
2544 page = new KPageWidgetItem(vbox, i18n("Performance"));
2545 page->setObjectName("performance");
2546 page->setHeader(i18n("Performance"));
2547 page->setIcon(KisIconUtils::loadIcon("config-performance"));
2548 m_pages << page;
2549 addPage(page);
2551
2552 // Tablet
2553 vbox = new KoVBox();
2554 page = new KPageWidgetItem(vbox, i18n("Tablet settings"));
2555 page->setObjectName("tablet");
2556 page->setHeader(i18n("Tablet"));
2557 page->setIcon(KisIconUtils::loadIcon("config-tablet"));
2558 m_pages << page;
2559 addPage(page);
2561
2562 // full-screen mode
2563 vbox = new KoVBox();
2564 page = new KPageWidgetItem(vbox, i18n("Canvas-only settings"));
2565 page->setObjectName("canvasonly");
2566 page->setHeader(i18n("Canvas-only"));
2567 page->setIcon(KisIconUtils::loadIcon("config-canvas-only"));
2568 m_pages << page;
2569 addPage(page);
2571
2572 // Pop-up Palette
2573 vbox = new KoVBox();
2574 page = new KPageWidgetItem(vbox, i18n("Pop-up Palette"));
2575 page->setObjectName("popuppalette");
2576 page->setHeader(i18n("Pop-up Palette"));
2577 page->setIcon(KisIconUtils::loadIcon("config-popup-palette"));
2578 m_pages << page;
2579 addPage(page);
2581
2582 // Author profiles
2584 page = addPage(m_authorPage, i18nc("@title:tab Author page", "Author" ));
2585 page->setObjectName("author");
2586 page->setHeader(i18n("Author"));
2587 page->setIcon(KisIconUtils::loadIcon("user-identity"));
2588 m_pages << page;
2589
2590 KGuiItem::assign(button(QDialogButtonBox::Ok), KStandardGuiItem::ok());
2591 KGuiItem::assign(button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel());
2592 QPushButton *restoreDefaultsButton = button(QDialogButtonBox::RestoreDefaults);
2593 restoreDefaultsButton->setText(i18nc("@action:button", "Restore Defaults"));
2594
2595 connect(this, SIGNAL(accepted()), m_inputConfiguration, SLOT(saveChanges()));
2596 connect(this, SIGNAL(rejected()), m_inputConfiguration, SLOT(revertChanges()));
2597
2599 QStringList keys = preferenceSetRegistry->keys();
2600 keys.sort();
2601 Q_FOREACH(const QString &key, keys) {
2602 KisAbstractPreferenceSetFactory *preferenceSetFactory = preferenceSetRegistry->value(key);
2603 KisPreferenceSet* preferenceSet = preferenceSetFactory->createPreferenceSet();
2604 vbox = new KoVBox();
2605 page = new KPageWidgetItem(vbox, preferenceSet->name());
2606 page->setHeader(preferenceSet->header());
2607 page->setIcon(preferenceSet->icon());
2608 addPage(page);
2609 preferenceSet->setParent(vbox);
2610 preferenceSet->loadPreferences();
2611
2612 connect(restoreDefaultsButton, SIGNAL(clicked(bool)), preferenceSet, SLOT(loadDefaultPreferences()), Qt::UniqueConnection);
2613 connect(this, SIGNAL(accepted()), preferenceSet, SLOT(savePreferences()), Qt::UniqueConnection);
2614 }
2615
2616 connect(restoreDefaultsButton, SIGNAL(clicked(bool)), this, SLOT(slotDefault()));
2617
2618 KisConfig cfg(true);
2619 QString currentPageName = cfg.readEntry<QString>("KisDlgPreferences/CurrentPage");
2620 Q_FOREACH(KPageWidgetItem *page, m_pages) {
2621 if (page->objectName() == currentPageName) {
2622 setCurrentPage(page);
2623 break;
2624 }
2625 }
2626
2627 // TODO QT6: check what this code actually does?
2628#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
2629 {
2630 // HACK ALERT! Remove title widget background, thus making
2631 // it consistent across all systems
2632 const auto *titleWidget = findChild<KTitleWidget*>();
2633 if (titleWidget) {
2634 QLayoutItem *titleFrame = titleWidget->layout()->itemAt(0); // vboxLayout -> titleFrame
2635 if (titleFrame) {
2636 titleFrame->widget()->setBackgroundRole(QPalette::Window);
2637 }
2638 }
2639 }
2640#endif
2641}
virtual KisPreferenceSet * createPreferenceSet()=0
KoConfigAuthorPage * m_authorPage
PerformanceTab * m_performanceSettings
ColorSettingsTab * m_colorSettings
PopupPaletteTab * m_popupPaletteSettings
KisInputConfigurationPage * m_inputConfiguration
FullscreenSettingsTab * m_fullscreenSettings
ShortcutSettingsTab * m_shortcutSettings
TabletSettingsTab * m_tabletSettings
QList< KPageWidgetItem * > m_pages
DisplaySettingsTab * m_displaySettings
A Configuration Dialog Page to configure the canvas input.
static KisPreferenceSetRegistry * instance()
virtual QIcon icon()=0
virtual QString header()=0
virtual void loadPreferences()=0
virtual QString name()=0
const T value(const QString &id) const
QList< QString > keys() const
QString button(const QWheelEvent &ev)
QIcon loadIcon(const QString &name)

References button(), KisAbstractPreferenceSetFactory::createPreferenceSet(), KisPreferenceSet::header(), KisPreferenceSet::icon(), KisPreferenceSetRegistry::instance(), KoGenericRegistry< T >::keys(), KisIconUtils::loadIcon(), KisPreferenceSet::loadPreferences(), m_authorPage, m_colorSettings, m_displaySettings, m_fullscreenSettings, m_general, m_inputConfiguration, m_pages, m_performanceSettings, m_popupPaletteSettings, m_shortcutSettings, m_tabletSettings, KisPreferenceSet::name(), KisConfig::readEntry(), slotDefault(), and KoGenericRegistry< T >::value().

◆ ~KisDlgPreferences()

KisDlgPreferences::~KisDlgPreferences ( )
override

Definition at line 2643 of file kis_dlg_preferences.cc.

2644{
2645 KisConfig cfg(true);
2646 cfg.writeEntry<QString>("KisDlgPreferences/CurrentPage", currentPage()->objectName());
2647}

References KisConfig::writeEntry().

Member Function Documentation

◆ editPreferences()

bool KisDlgPreferences::editPreferences ( )

Definition at line 2697 of file kis_dlg_preferences.cc.

2698{
2699 connect(this->buttonBox(), SIGNAL(clicked(QAbstractButton*)), this, SLOT(slotButtonClicked(QAbstractButton*)));
2700
2701 int retval = exec();
2702 Q_UNUSED(retval);
2703
2704 if (!m_cancelClicked) {
2705 // General settings
2706 KisConfig cfg(false);
2707 KisImageConfig cfgImage(false);
2708
2709 cfg.setNewCursorStyle(m_general->cursorStyle());
2710 cfg.setNewOutlineStyle(m_general->outlineStyle());
2711 cfg.setSeparateEraserCursor(m_general->m_chkSeparateEraserCursor->isChecked());
2712 cfg.setEraserCursorStyle(m_general->eraserCursorStyle());
2713 cfg.setEraserOutlineStyle(m_general->eraserOutlineStyle());
2714 cfg.setColorSamplerPreviewStyle(m_general->colorSamplerPreviewStyle());
2715 cfg.setColorSamplerPreviewCircleDiameter(m_general->colorSamplerPreviewCircleDiameter());
2716 cfg.setColorSamplerPreviewCircleThickness(m_general->colorSamplerPreviewCircleThickness());
2717 cfg.setColorSamplerPreviewCircleOutlineEnabled(m_general->colorSamplerPreviewCircleOutlineEnabled());
2718 cfg.setColorSamplerPreviewCircleExtraCirclesEnabled(m_general->colorSamplerPreviewCircleExtraCirclesEnabled());
2719
2720 cfg.setShowRootLayer(m_general->showRootLayer());
2721 cfg.setShowOutlineWhilePainting(m_general->showOutlineWhilePainting());
2722 cfg.setForceAlwaysFullSizedOutline(!m_general->m_changeBrushOutline->isChecked());
2723 cfg.setShowEraserOutlineWhilePainting(m_general->showEraserOutlineWhilePainting());
2724 cfg.setForceAlwaysFullSizedEraserOutline(!m_general->m_changeEraserBrushOutline->isChecked());
2725 cfg.setSessionOnStartup(m_general->sessionOnStartup());
2726 cfg.setSaveSessionOnQuit(m_general->saveSessionOnQuit());
2727
2728 KConfigGroup group = KSharedConfig::openConfig()->group("File Dialogs");
2729 group.writeEntry("DontUseNativeFileDialog", !m_general->m_chkNativeFileDialog->isChecked());
2730
2731 cfgImage.setMaxBrushSize(m_general->intMaxBrushSize->value());
2732 cfg.setIgnoreHighFunctionKeys(m_general->chkIgnoreHighFunctionKeys->isChecked());
2733
2734 cfg.writeEntry<bool>("use_custom_system_font", m_general->chkUseCustomFont->isChecked());
2735 if (m_general->chkUseCustomFont->isChecked()) {
2736 cfg.writeEntry<QString>("custom_system_font", m_general->cmbCustomFont->currentFont().family());
2737 cfg.writeEntry<int>("custom_font_size", m_general->intFontSize->value());
2738 }
2739 else {
2740 cfg.writeEntry<QString>("custom_system_font", "");
2741 cfg.writeEntry<int>("custom_font_size", -1);
2742 }
2743
2744 cfg.writeEntry<int>("mdi_viewmode", m_general->mdiMode());
2745 cfg.setMDIBackgroundColor(m_general->m_mdiColor->color().toXML());
2746 cfg.setMDIBackgroundImage(m_general->m_backgroundimage->text());
2747 cfg.writeEntry<int>("mdi_rubberband", m_general->m_chkRubberBand->isChecked());
2748 cfg.setAutoSaveInterval(m_general->autoSaveInterval());
2749 cfg.writeEntry("autosavefileshidden", m_general->chkHideAutosaveFiles->isChecked());
2750
2751 cfg.setBackupFile(m_general->m_backupFileCheckBox->isChecked());
2752 cfg.writeEntry("backupfilelocation", m_general->cmbBackupFileLocation->currentIndex());
2753 cfg.writeEntry("backupfilesuffix", m_general->txtBackupFileSuffix->text());
2754 cfg.writeEntry("numberofbackupfiles", m_general->intNumBackupFiles->value());
2755
2756
2757 cfg.setShowCanvasMessages(m_general->showCanvasMessages());
2758 cfg.setCompressKra(m_general->compressKra());
2759 cfg.setTrimKra(m_general->trimKra());
2760 cfg.setTrimFramesImport(m_general->trimFramesImport());
2761 cfg.setExportMimeType(m_general->exportMimeType());
2762 cfg.setUseZip64(m_general->useZip64());
2763 cfg.setPasteFormat(m_general->m_pasteFormatGroup.checkedId());
2764
2765 const QString configPath = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
2766 QSettings kritarc(configPath + QStringLiteral("/kritadisplayrc"), QSettings::IniFormat);
2767 kritarc.setValue("EnableHiDPI", m_general->m_chkHiDPI->isChecked());
2768#ifdef HAVE_HIGH_DPI_SCALE_FACTOR_ROUNDING_POLICY
2769 kritarc.setValue("EnableHiDPIFractionalScaling", m_general->m_chkHiDPIFractionalScaling->isChecked());
2770#endif
2771 kritarc.setValue("LogUsage", m_general->chkUsageLogging->isChecked());
2772
2773 cfg.setToolOptionsInDocker(m_general->toolOptionsInDocker());
2774
2775 cfg.writeEntry<bool>("useCreamyAlphaDarken", (bool)!m_general->cmbFlowMode->currentIndex());
2776 cfg.writeEntry<bool>("useSubtractiveBlendingForCmykColorSpaces", (bool)!m_general->cmbCmykBlendingMode->currentIndex());
2777
2778 cfg.setZoomSteps(m_general->zoomSteps());
2779 cfg.setLongPressEnabled(m_general->longPressEnabled());
2780 cfg.setKineticScrollingEnabled(m_general->kineticScrollingEnabled());
2781 cfg.setKineticScrollingGesture(m_general->kineticScrollingGesture());
2782 cfg.setKineticScrollingSensitivity(m_general->kineticScrollingSensitivity());
2783 cfg.setKineticScrollingHideScrollbars(m_general->kineticScrollingHiddenScrollbars());
2784
2785 cfg.setZoomMarginSize(m_general->zoomMarginSize());
2786
2787 cfg.setSwitchSelectionCtrlAlt(m_general->switchSelectionCtrlAlt());
2788 cfg.setTouchPainting(KisConfig::TouchPainting(m_general->cmbTouchPainting->currentIndex()));
2789 cfg.writeEntry("useTouchPressureSensitivity", m_general->chkTouchPressureSensitivity->isChecked());
2790 cfg.setActivateTransformToolAfterPaste(m_general->chkEnableTransformToolAfterPaste->isChecked());
2791 cfg.setZoomHorizontal(m_general->chkZoomHorizontally->isChecked());
2792 cfg.setSelectionActionBar(m_general->chkEnableSelectionActionBar->isChecked());
2793 cfg.setConvertToImageColorspaceOnImport(m_general->convertToImageColorspaceOnImport());
2794 cfg.setUndoStackLimit(m_general->undoStackSize());
2795 cfg.setCumulativeUndoRedo(m_general->chkCumulativeUndo->isChecked());
2796 cfg.setCumulativeUndoData(m_general->m_cumulativeUndoData);
2797
2798 // Animation..
2799 cfg.setAutoPinLayersToTimeline(m_general->autopinLayersToTimeline());
2800 cfg.setAdaptivePlaybackRange(m_general->adaptivePlaybackRange());
2801 cfg.setAutoZoomTimelineToPlaybackRange(m_general->autoZoomTimelineToPlaybackRange());
2802
2803#ifdef Q_OS_ANDROID
2804 QFileInfo fi(m_general->m_resourceFolderSelector->currentData(Qt::UserRole).value<QString>());
2805#else
2806 QFileInfo fi(m_general->m_urlResourceFolder->fileName());
2807#endif
2808 if (fi.isWritable()) {
2809 cfg.writeEntry(KisResourceLocator::resourceLocationKey, fi.filePath());
2810 }
2811
2813 cfg.setRenamePastedLayers(m_general->renamePastedLayers());
2815
2816 // Color settings
2818 cfg.setUseSystemMonitorProfile(m_colorSettings->m_page->chkUseSystemMonitorProfile->isChecked());
2819 for (int i = 0; i < QApplication::screens().count(); ++i) {
2820 if (m_colorSettings->m_page->chkUseSystemMonitorProfile->isChecked()) {
2821 int currentIndex = m_colorSettings->m_monitorProfileWidgets[i]->currentIndex();
2822 QString monitorid = m_colorSettings->m_monitorProfileWidgets[i]->itemData(currentIndex).toString();
2823 cfg.setMonitorForScreen(i, monitorid);
2824 } else {
2825 cfg.setMonitorProfile(i,
2826 m_colorSettings->m_monitorProfileWidgets[i]->currentUnsqueezedText(),
2827 m_colorSettings->m_page->chkUseSystemMonitorProfile->isChecked());
2828 }
2829 }
2830 } else {
2831 cfg.setEnableCanvasSurfaceColorSpaceManagement(m_colorSettings->m_chkEnableCanvasColorSpaceManagement->isChecked());
2832 cfg.setCanvasSurfaceColorSpaceManagementMode(m_colorSettings->m_canvasSurfaceColorSpace->currentData().value<ColorSettingsTab::CanvasSurfaceMode>());
2833 cfg.setCanvasSurfaceBitDepthMode(m_colorSettings->m_canvasSurfaceBitDepth->currentData().value<ColorSettingsTab::CanvasSurfaceBitDepthMode>());
2834 }
2835 cfg.setUseDefaultColorSpace(m_colorSettings->m_page->useDefColorSpace->isChecked());
2836 if (cfg.useDefaultColorSpace())
2837 {
2838 KoID currentWorkingColorSpace = m_colorSettings->m_page->cmbWorkingColorSpace->currentItem();
2839 cfg.setWorkingColorSpace(currentWorkingColorSpace.id());
2840 cfg.defColorModel(KoColorSpaceRegistry::instance()->colorSpaceColorModelId(currentWorkingColorSpace.id()).id());
2841 cfg.setDefaultColorDepth(KoColorSpaceRegistry::instance()->colorSpaceColorDepthId(currentWorkingColorSpace.id()).id());
2842 }
2843
2844 cfg.writeEntry("ExrDefaultColorProfile", m_colorSettings->m_page->cmbColorProfileForEXR->currentText());
2845
2846 cfgImage.setDefaultProofingConfig(*m_colorSettings->m_page->wdgProofingOptions->currentProofingConfig());
2847 cfg.setUseBlackPointCompensation(m_colorSettings->m_page->chkBlackpoint->isChecked());
2848 cfg.setAllowLCMSOptimization(m_colorSettings->m_page->chkAllowLCMSOptimization->isChecked());
2849 cfg.setForcePaletteColors(m_colorSettings->m_page->chkForcePaletteColor->isChecked());
2850 cfg.setPasteBehaviour(m_colorSettings->m_pasteBehaviourGroup.checkedId());
2851 cfg.setRenderIntent(m_colorSettings->m_page->cmbMonitorIntent->currentIndex());
2852
2853 // Tablet settings
2854 cfg.setPressureTabletCurve( m_tabletSettings->m_page->pressureCurve->curve().toString() );
2855 cfg.setUseRightMiddleTabletButtonWorkaround(
2856 m_tabletSettings->m_page->chkUseRightMiddleClickWorkaround->isChecked());
2857
2858#if defined Q_OS_WIN && (defined QT5_HAS_WINTAB_SWITCH || QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
2859 cfg.setUseWin8PointerInput(m_tabletSettings->m_page->radioWin8PointerInput->isChecked());
2860
2861# if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
2862 // Qt6 supports switching the tablet API on the fly
2863 using QWindowsApplication = QNativeInterface::Private::QWindowsApplication;
2864 if (auto nativeWindowsApp = dynamic_cast<QWindowsApplication *>(QGuiApplicationPrivate::platformIntegration())) {
2865 nativeWindowsApp->setWinTabEnabled(!cfg.useWin8PointerInput());
2866 }
2867# endif
2868#endif
2869 cfg.writeEntry<bool>("useTimestampsForBrushSpeed", m_tabletSettings->m_page->chkUseTimestampsForBrushSpeed->isChecked());
2870
2871#if KRITA_QT_HAS_ANDROID_EMULATE_MOUSE_BUTTONS_FOR_PAGE_UP_DOWN
2872 cfg.setUsePageUpDownMouseButtonEmulationWorkaround(
2873 m_tabletSettings->m_page->chkUsePageUpDownMouseButtonEmulationWorkaround->isChecked());
2874#endif
2875
2876#if KRITA_QT_HAS_ANDROID_IGNORE_HISTORIC_TABLET_EVENTS
2877 cfg.setUseIgnoreHistoricTabletEventsWorkaround(
2878 m_tabletSettings->m_page->chkUseIgnoreHistoricTabletEventsWorkaround->isChecked());
2879#endif
2880
2881 cfg.writeEntry<int>("maxAllowedSpeedValue", m_tabletSettings->m_page->intMaxAllowedBrushSpeed->value());
2882 cfg.writeEntry<int>("speedValueSmoothing", m_tabletSettings->m_page->intBrushSpeedSmoothing->value());
2883 // the angle is saved in clockwise direction to be consistent with Drawing Angle, so negate
2884 cfg.writeEntry<int>("tiltDirectionOffset", -m_tabletSettings->m_page->tiltDirectionOffsetAngle->angle());
2885
2887
2888 if (!cfg.useOpenGL() && m_displaySettings->grpOpenGL->isChecked())
2889 cfg.setCanvasState("TRY_OPENGL");
2890
2891 if (m_displaySettings->grpOpenGL->isChecked()) {
2893 m_displaySettings->cmbPreferredRenderer->itemData(
2894 m_displaySettings->cmbPreferredRenderer->currentIndex()).toInt());
2896 } else {
2898 }
2899
2900 cfg.setUseOpenGLTextureBuffer(m_displaySettings->chkUseTextureBuffer->isChecked());
2901 cfg.setOpenGLFilteringMode(m_displaySettings->cmbFilterMode->currentIndex());
2902 cfg.setRootSurfaceFormat(&kritarc, indexToFormat(m_displaySettings->cmbPreferedRootSurfaceFormat->currentIndex()));
2903 cfg.setAssistantsDrawMode(indexToAssistantDrawMode(m_displaySettings->cmbAssistantsDrawMode->currentIndex()));
2904
2905 cfg.setCheckSize(m_displaySettings->intCheckSize->value());
2906 cfg.setScrollingCheckers(m_displaySettings->chkMoving->isChecked());
2907 cfg.setCheckersColor1(m_displaySettings->colorChecks1->color().toQColor());
2908 cfg.setCheckersColor2(m_displaySettings->colorChecks2->color().toQColor());
2909 cfg.setCanvasBorderColor(m_displaySettings->canvasBorder->color().toQColor());
2910 cfg.setHideScrollbars(m_displaySettings->hideScrollbars->isChecked());
2911 KoColor c = m_displaySettings->btnSelectionOverlayColor->color();
2912 c.setOpacity(m_displaySettings->sldSelectionOverlayOpacity->value());
2913 cfgImage.setSelectionOverlayMaskColor(c.toQColor());
2914 cfgImage.setSelectionOutlineOpacity(m_displaySettings->sldSelectionOutlineOpacity->value());
2915 cfg.setAntialiasCurves(m_displaySettings->chkCurveAntialiasing->isChecked());
2916 cfg.setAntialiasSelectionOutline(m_displaySettings->chkSelectionOutlineAntialiasing->isChecked());
2917 cfg.setShowSingleChannelAsColor(m_displaySettings->chkChannelsAsColor->isChecked());
2918 cfg.setHidePopups(m_displaySettings->chkHidePopups->isChecked());
2919
2920 cfg.setHideDockersFullscreen(m_fullscreenSettings->chkDockers->checkState());
2921 cfg.setHideMenuFullscreen(m_fullscreenSettings->chkMenu->checkState());
2922 cfg.setHideScrollbarsFullscreen(m_fullscreenSettings->chkScrollbars->checkState());
2923 cfg.setHideStatusbarFullscreen(m_fullscreenSettings->chkStatusbar->checkState());
2924 cfg.setHideTitlebarFullscreen(m_fullscreenSettings->chkTitlebar->checkState());
2925 cfg.setHideToolbarFullscreen(m_fullscreenSettings->chkToolbar->checkState());
2926
2927 cfg.setCursorMainColor(m_general->cursorColorButton->color().toQColor());
2928 cfg.setEraserCursorMainColor(m_general->eraserCursorColorButton->color().toQColor());
2929 cfg.setPixelGridColor(m_displaySettings->pixelGridColorButton->color().toQColor());
2930 cfg.setPixelGridDrawingThreshold(m_displaySettings->pixelGridDrawingThresholdBox->value() / 100);
2931
2934
2935 cfg.logImportantSettings();
2936 cfg.writeEntry("forcedDpiForQtFontBugWorkaround", m_general->forcedFontDpi());
2937 }
2938
2939 return !m_cancelClicked;
2940}
QButtonGroup m_pasteBehaviourGroup
QPointer< QCheckBox > m_chkEnableCanvasColorSpaceManagement
QPointer< KisSqueezedComboBox > m_canvasSurfaceBitDepth
QPointer< KisSqueezedComboBox > m_canvasSurfaceColorSpace
QList< KisSqueezedComboBox * > m_monitorProfileWidgets
WdgColorSettings * m_page
KisConfig::SessionOnStartup sessionOnStartup() const
bool kineticScrollingHiddenScrollbars()
bool saveSessionOnQuit() const
int colorSamplerPreviewCircleDiameter() const
bool autoZoomTimelineToPlaybackRange()
KisConfig::ColorSamplerPreviewStyle colorSamplerPreviewStyle() const
bool colorSamplerPreviewCircleExtraCirclesEnabled() const
bool convertToImageColorspaceOnImport()
QButtonGroup m_pasteFormatGroup
OutlineStyle eraserOutlineStyle()
int kineticScrollingSensitivity()
KisCumulativeUndoData m_cumulativeUndoData
QString exportMimeType()
bool showOutlineWhilePainting()
CursorStyle eraserCursorStyle()
bool colorSamplerPreviewCircleOutlineEnabled() const
OutlineStyle outlineStyle()
bool showEraserOutlineWhilePainting()
CursorStyle cursorStyle()
qreal colorSamplerPreviewCircleThickness() const
CanvasSurfaceBitDepthMode
Definition kis_config.h:189
void slotButtonClicked(QAbstractButton *button)
void setRenameDuplicatedLayers(bool value)
void setRenameMergedLayers(bool value)
static void setUserPreferredOpenGLRendererConfig(OpenGLRenderer renderer)
static const QString resourceLocationKey
void setOpacity(quint8 alpha)
Definition KoColor.cpp:333
void toQColor(QColor *c) const
a convenience method for the above.
Definition KoColor.cpp:198
Definition KoID.h:30
QString id() const
Definition KoID.cpp:63
WdgTabletSettings * m_page
int toInt(const QString &str, bool *ok=nullptr)
static KoColorSpaceRegistry * instance()
KoID colorSpaceColorDepthId(const QString &_colorSpaceId) const
KoID colorSpaceColorModelId(const QString &_colorSpaceId) const

References GeneralTab::adaptivePlaybackRange(), KoConfigAuthorPage::apply(), GeneralTab::autopinLayersToTimeline(), GeneralTab::autoSaveInterval(), GeneralTab::autoZoomTimelineToPlaybackRange(), GeneralTab::colorSamplerPreviewCircleDiameter(), GeneralTab::colorSamplerPreviewCircleExtraCirclesEnabled(), GeneralTab::colorSamplerPreviewCircleOutlineEnabled(), GeneralTab::colorSamplerPreviewCircleThickness(), GeneralTab::colorSamplerPreviewStyle(), KoColorSpaceRegistry::colorSpaceColorDepthId(), KoColorSpaceRegistry::colorSpaceColorModelId(), GeneralTab::compressKra(), GeneralTab::convertToImageColorspaceOnImport(), GeneralTab::cursorStyle(), KisConfig::defColorModel(), GeneralTab::eraserCursorStyle(), GeneralTab::eraserOutlineStyle(), GeneralTab::exportMimeType(), GeneralTab::forcedFontDpi(), KoID::id(), KoColorSpaceRegistry::instance(), GeneralTab::kineticScrollingEnabled(), GeneralTab::kineticScrollingGesture(), GeneralTab::kineticScrollingHiddenScrollbars(), GeneralTab::kineticScrollingSensitivity(), KisConfig::logImportantSettings(), GeneralTab::longPressEnabled(), m_authorPage, m_cancelClicked, ColorSettingsTab::m_canvasSurfaceBitDepth, ColorSettingsTab::m_canvasSurfaceColorSpace, ColorSettingsTab::m_chkEnableCanvasColorSpaceManagement, ColorSettingsTab::m_colorManagedByOS, m_colorSettings, GeneralTab::m_cumulativeUndoData, m_displaySettings, m_fullscreenSettings, m_general, ColorSettingsTab::m_monitorProfileWidgets, ColorSettingsTab::m_page, TabletSettingsTab::m_page, ColorSettingsTab::m_pasteBehaviourGroup, GeneralTab::m_pasteFormatGroup, m_performanceSettings, m_popupPaletteSettings, m_tabletSettings, GeneralTab::mdiMode(), GeneralTab::outlineStyle(), GeneralTab::renameDuplicatedLayers(), GeneralTab::renameMergedLayers(), GeneralTab::renamePastedLayers(), KisOpenGL::RendererNone, KisResourceLocator::resourceLocationKey, PerformanceTab::save(), PopupPaletteTab::save(), GeneralTab::saveSessionOnQuit(), GeneralTab::sessionOnStartup(), KisConfig::setActivateTransformToolAfterPaste(), KisConfig::setAdaptivePlaybackRange(), KisConfig::setAllowLCMSOptimization(), KisConfig::setAntialiasCurves(), KisConfig::setAntialiasSelectionOutline(), KisConfig::setAssistantsDrawMode(), KisConfig::setAutoPinLayersToTimeline(), KisConfig::setAutoSaveInterval(), KisConfig::setAutoZoomTimelineToPlaybackRange(), KisConfig::setBackupFile(), KisConfig::setCanvasBorderColor(), KisConfig::setCanvasState(), KisConfig::setCanvasSurfaceBitDepthMode(), KisConfig::setCanvasSurfaceColorSpaceManagementMode(), KisConfig::setCheckersColor1(), KisConfig::setCheckersColor2(), KisConfig::setCheckSize(), KisConfig::setColorSamplerPreviewCircleDiameter(), KisConfig::setColorSamplerPreviewCircleExtraCirclesEnabled(), KisConfig::setColorSamplerPreviewCircleOutlineEnabled(), KisConfig::setColorSamplerPreviewCircleThickness(), KisConfig::setColorSamplerPreviewStyle(), KisConfig::setCompressKra(), KisConfig::setConvertToImageColorspaceOnImport(), KisConfig::setCumulativeUndoData(), KisConfig::setCumulativeUndoRedo(), KisConfig::setCursorMainColor(), KisConfig::setDefaultColorDepth(), KisImageConfig::setDefaultProofingConfig(), KisConfig::setEnableCanvasSurfaceColorSpaceManagement(), KisConfig::setEraserCursorMainColor(), KisConfig::setEraserCursorStyle(), KisConfig::setEraserOutlineStyle(), KisConfig::setExportMimeType(), KisConfig::setForceAlwaysFullSizedEraserOutline(), KisConfig::setForceAlwaysFullSizedOutline(), KisConfig::setForcePaletteColors(), KisConfig::setHideDockersFullscreen(), KisConfig::setHideMenuFullscreen(), KisConfig::setHidePopups(), KisConfig::setHideScrollbars(), KisConfig::setHideScrollbarsFullscreen(), KisConfig::setHideStatusbarFullscreen(), KisConfig::setHideTitlebarFullscreen(), KisConfig::setHideToolbarFullscreen(), KisConfig::setIgnoreHighFunctionKeys(), KisConfig::setKineticScrollingEnabled(), KisConfig::setKineticScrollingGesture(), KisConfig::setKineticScrollingHideScrollbars(), KisConfig::setKineticScrollingSensitivity(), KisConfig::setLongPressEnabled(), KisImageConfig::setMaxBrushSize(), KisConfig::setMDIBackgroundColor(), KisConfig::setMDIBackgroundImage(), KisConfig::setMonitorForScreen(), KisConfig::setMonitorProfile(), KisConfig::setNewCursorStyle(), KisConfig::setNewOutlineStyle(), KoColor::setOpacity(), KisConfig::setOpenGLFilteringMode(), KisConfig::setPasteBehaviour(), KisConfig::setPasteFormat(), KisConfig::setPixelGridColor(), KisConfig::setPixelGridDrawingThreshold(), KisConfig::setPressureTabletCurve(), KisImageConfig::setRenameDuplicatedLayers(), KisImageConfig::setRenameMergedLayers(), KisConfig::setRenamePastedLayers(), KisConfig::setRenderIntent(), KisConfig::setRootSurfaceFormat(), KisConfig::setSaveSessionOnQuit(), KisConfig::setScrollingCheckers(), KisConfig::setSelectionActionBar(), KisImageConfig::setSelectionOutlineOpacity(), KisImageConfig::setSelectionOverlayMaskColor(), KisConfig::setSeparateEraserCursor(), KisConfig::setSessionOnStartup(), KisConfig::setShowCanvasMessages(), KisConfig::setShowEraserOutlineWhilePainting(), KisConfig::setShowOutlineWhilePainting(), KisConfig::setShowRootLayer(), KisConfig::setShowSingleChannelAsColor(), KisConfig::setSwitchSelectionCtrlAlt(), KisConfig::setToolOptionsInDocker(), KisConfig::setTouchPainting(), KisConfig::setTrimFramesImport(), KisConfig::setTrimKra(), KisConfig::setUndoStackLimit(), KisConfig::setUseBlackPointCompensation(), KisConfig::setUseDefaultColorSpace(), KisConfig::setUseOpenGLTextureBuffer(), KisConfig::setUseRightMiddleTabletButtonWorkaround(), KisOpenGL::setUserPreferredOpenGLRendererConfig(), KisConfig::setUseSystemMonitorProfile(), KisConfig::setUseWin8PointerInput(), KisConfig::setUseZip64(), KisConfig::setWorkingColorSpace(), KisConfig::setZoomHorizontal(), KisConfig::setZoomMarginSize(), KisConfig::setZoomSteps(), GeneralTab::showCanvasMessages(), GeneralTab::showEraserOutlineWhilePainting(), GeneralTab::showOutlineWhilePainting(), GeneralTab::showRootLayer(), slotButtonClicked(), GeneralTab::switchSelectionCtrlAlt(), GeneralTab::toolOptionsInDocker(), KoColor::toQColor(), GeneralTab::trimFramesImport(), GeneralTab::trimKra(), GeneralTab::undoStackSize(), KisConfig::useDefaultColorSpace(), KisConfig::useOpenGL(), KisConfig::useWin8PointerInput(), GeneralTab::useZip64(), KisConfig::writeEntry(), GeneralTab::zoomMarginSize(), and GeneralTab::zoomSteps().

◆ showEvent()

void KisDlgPreferences::showEvent ( QShowEvent * event)
override

Definition at line 2649 of file kis_dlg_preferences.cc.

2649 {
2650 KPageDialog::showEvent(event);
2651 button(QDialogButtonBox::Cancel)->setAutoDefault(false);
2652 button(QDialogButtonBox::Ok)->setAutoDefault(false);
2653 button(QDialogButtonBox::RestoreDefaults)->setAutoDefault(false);
2654 button(QDialogButtonBox::Cancel)->setDefault(false);
2655 button(QDialogButtonBox::Ok)->setDefault(false);
2656 button(QDialogButtonBox::RestoreDefaults)->setDefault(false);
2657}

References button().

◆ slotButtonClicked

void KisDlgPreferences::slotButtonClicked ( QAbstractButton * button)
privateslot

Definition at line 2659 of file kis_dlg_preferences.cc.

2660{
2661 if (buttonBox()->buttonRole(button) == QDialogButtonBox::RejectRole) {
2662 m_cancelClicked = true;
2663 }
2664}

References button(), and m_cancelClicked.

◆ slotDefault

void KisDlgPreferences::slotDefault ( )
privateslot

Definition at line 2666 of file kis_dlg_preferences.cc.

2667{
2668 if (currentPage()->objectName() == "general") {
2670 }
2671 else if (currentPage()->objectName() == "shortcuts") {
2673 }
2674 else if (currentPage()->objectName() == "display") {
2676 }
2677 else if (currentPage()->objectName() == "colormanagement") {
2679 }
2680 else if (currentPage()->objectName() == "performance") {
2682 }
2683 else if (currentPage()->objectName() == "tablet") {
2685 }
2686 else if (currentPage()->objectName() == "canvasonly") {
2688 }
2689 else if (currentPage()->objectName() == "canvasinput") {
2691 }
2692 else if (currentPage()->objectName() == "popuppalette") {
2694 }
2695}
void load(bool requestDefault)

References PerformanceTab::load(), m_colorSettings, m_displaySettings, m_fullscreenSettings, m_general, m_inputConfiguration, m_performanceSettings, m_popupPaletteSettings, m_shortcutSettings, m_tabletSettings, GeneralTab::setDefault(), ShortcutSettingsTab::setDefault(), ColorSettingsTab::setDefault(), TabletSettingsTab::setDefault(), DisplaySettingsTab::setDefault(), FullscreenSettingsTab::setDefault(), PopupPaletteTab::setDefault(), and KisInputConfigurationPage::setDefaults().

Member Data Documentation

◆ m_authorPage

KoConfigAuthorPage* KisDlgPreferences::m_authorPage
private

Definition at line 411 of file kis_dlg_preferences.h.

◆ m_cancelClicked

bool KisDlgPreferences::m_cancelClicked {false}
private

Definition at line 422 of file kis_dlg_preferences.h.

422{false};

◆ m_colorSettings

ColorSettingsTab* KisDlgPreferences::m_colorSettings
private

Definition at line 404 of file kis_dlg_preferences.h.

◆ m_displaySettings

DisplaySettingsTab* KisDlgPreferences::m_displaySettings
private

Definition at line 406 of file kis_dlg_preferences.h.

◆ m_fullscreenSettings

FullscreenSettingsTab* KisDlgPreferences::m_fullscreenSettings
private

Definition at line 408 of file kis_dlg_preferences.h.

◆ m_general

GeneralTab* KisDlgPreferences::m_general
private

Definition at line 402 of file kis_dlg_preferences.h.

◆ m_inputConfiguration

KisInputConfigurationPage* KisDlgPreferences::m_inputConfiguration
private

Definition at line 409 of file kis_dlg_preferences.h.

◆ m_pages

QList<KPageWidgetItem*> KisDlgPreferences::m_pages
private

Definition at line 413 of file kis_dlg_preferences.h.

◆ m_performanceSettings

PerformanceTab* KisDlgPreferences::m_performanceSettings
private

Definition at line 405 of file kis_dlg_preferences.h.

◆ m_popupPaletteSettings

PopupPaletteTab* KisDlgPreferences::m_popupPaletteSettings
private

Definition at line 410 of file kis_dlg_preferences.h.

◆ m_shortcutSettings

ShortcutSettingsTab* KisDlgPreferences::m_shortcutSettings
private

Definition at line 403 of file kis_dlg_preferences.h.

◆ m_tabletSettings

TabletSettingsTab* KisDlgPreferences::m_tabletSettings
private

Definition at line 407 of file kis_dlg_preferences.h.


The documentation for this class was generated from the following files: