File indexing completed on 2024-04-28 17:06:06
0001 /* 0002 SPDX-FileCopyrightText: 2004 Csaba Karai <krusader@users.sourceforge.net> 0003 SPDX-FileCopyrightText: 2004-2022 Krusader Krew <https://krusader.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "kgadvanced.h" 0009 #include "../defaults.h" 0010 0011 // QtWidgets 0012 #include <QGridLayout> 0013 #include <QLabel> 0014 0015 #include <KI18n/KLocalizedString> 0016 #include <KIOCore/KProtocolInfo> 0017 0018 KgAdvanced::KgAdvanced(bool first, QWidget *parent) 0019 : KonfiguratorPage(first, parent) 0020 { 0021 QWidget *innerWidget = new QFrame(this); 0022 setWidget(innerWidget); 0023 setWidgetResizable(true); 0024 auto *kgAdvancedLayout = new QGridLayout(innerWidget); 0025 kgAdvancedLayout->setSpacing(6); 0026 0027 // -------------------------- GENERAL GROUPBOX ---------------------------------- 0028 0029 QGroupBox *generalGrp = createFrame(i18n("General"), innerWidget); 0030 QGridLayout *generalGrid = createGridLayout(generalGrp); 0031 0032 KONFIGURATOR_CHECKBOX_PARAM generalSettings[] = 0033 // cfg_class cfg_name default text restart tooltip 0034 {{"Advanced", 0035 "AutoMount", 0036 _AutoMount, 0037 i18n("Automount filesystems"), 0038 false, 0039 i18n("When stepping into a folder which is defined as a mount point in the <b>fstab</b>, try mounting it with the defined parameters.")}}; 0040 0041 KonfiguratorCheckBoxGroup *generals = createCheckBoxGroup(1, 0, generalSettings, 1, generalGrp); 0042 0043 generalGrid->addWidget(generals, 1, 0); 0044 0045 QLabel *labelNonMount = addLabel(generalGrid, 2, 0, i18n("MountMan will not (un)mount the following mount-points:"), generalGrp); 0046 KonfiguratorEditBox *nonMountPoints = createEditBox("Advanced", "Nonmount Points", _NonMountPoints, labelNonMount, generalGrp, false); 0047 generalGrid->addWidget(nonMountPoints, 2, 1); 0048 0049 #ifdef BSD 0050 generals->find("AutoMount")->setEnabled(false); /* disable AutoMount on BSD */ 0051 #endif 0052 0053 kgAdvancedLayout->addWidget(generalGrp, 0, 0); 0054 0055 // ----------------------- CONFIRMATIONS GROUPBOX ------------------------------- 0056 0057 QGroupBox *confirmGrp = createFrame(i18n("Confirmations"), innerWidget); 0058 QGridLayout *confirmGrid = createGridLayout(confirmGrp); 0059 0060 addLabel(confirmGrid, 0, 0, i18n("\nRequest user confirmation for the following operations:\n"), confirmGrp); 0061 0062 KONFIGURATOR_CHECKBOX_PARAM confirmations[] = 0063 // cfg_class cfg_name default text restart ToolTip 0064 {{"Advanced", "Confirm Unempty Dir", _ConfirmUnemptyDir, i18n("Deleting non-empty folders"), false, ""}, 0065 {"Advanced", "Confirm Delete", _ConfirmDelete, i18n("Deleting files"), false, ""}, 0066 {"Advanced", "Confirm Copy", _ConfirmCopy, i18n("Copying files"), false, ""}, 0067 {"Advanced", "Confirm Move", _ConfirmMove, i18n("Moving files"), false, ""}, 0068 {"Advanced", 0069 "Confirm Feed to Listbox", 0070 _ConfirmFeedToListbox, 0071 i18n("Confirm feed to listbox"), 0072 false, 0073 i18n("Ask for a result name when feeding items to the listbox. By default the standard value is used.")}, 0074 {"Notification Messages", "Confirm Remove UserAction", true, i18n("Removing Useractions"), false, ""}}; 0075 0076 KonfiguratorCheckBoxGroup *confWnd = createCheckBoxGroup(2, 0, confirmations, 6, confirmGrp); 0077 0078 confirmGrid->addWidget(confWnd, 1, 0); 0079 0080 kgAdvancedLayout->addWidget(confirmGrp, 1, 0); 0081 0082 // ------------------------ FINE-TUNING GROUPBOX -------------------------------- 0083 0084 QGroupBox *fineTuneGrp = createFrame(i18n("Fine-Tuning"), innerWidget); 0085 QGridLayout *fineTuneGrid = createGridLayout(fineTuneGrp); 0086 fineTuneGrid->setAlignment(Qt::AlignLeft | Qt::AlignTop); 0087 0088 const QString cacheTip = 0089 i18n("The icon cache size influences how fast the contents of a panel can be displayed. However, too large a cache might consume your memory."); 0090 QLabel *label = new QLabel(i18n("Icon cache size (KB):"), fineTuneGrp); 0091 fineTuneGrid->addWidget(label, 0, 0); 0092 KonfiguratorSpinBox *spinBox = createSpinBox("Advanced", "Icon Cache Size", _IconCacheSize, 1, 8192, label, fineTuneGrp, false, cacheTip); 0093 spinBox->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); 0094 fineTuneGrid->addWidget(spinBox, 0, 1); 0095 0096 QLabel *labelArgUpdate = addLabel(fineTuneGrid, 1, 0, i18n("Arguments of updatedb:"), fineTuneGrp); 0097 KonfiguratorEditBox *updatedbArgs = createEditBox("Locate", "UpdateDB Arguments", "", labelArgUpdate, fineTuneGrp, false); 0098 fineTuneGrid->addWidget(updatedbArgs, 1, 1); 0099 0100 kgAdvancedLayout->addWidget(fineTuneGrp, 2, 0); 0101 }