File indexing completed on 2024-04-28 17:06:09
0001 /* 0002 SPDX-FileCopyrightText: 2004 Jonas Bähr <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 "kguseractions.h" 0009 #include "../ActionMan/actionman.h" 0010 #include "../defaults.h" 0011 0012 // QtWidgets 0013 #include <QGridLayout> 0014 #include <QLabel> 0015 #include <QPushButton> 0016 0017 #include <KI18n/KLocalizedString> 0018 0019 KgUserActions::KgUserActions(bool first, QWidget *parent) 0020 : KonfiguratorPage(first, parent) 0021 { 0022 QWidget *innerWidget = new QFrame(this); 0023 setWidget(innerWidget); 0024 setWidgetResizable(true); 0025 auto *kgUserActionLayout = new QGridLayout(innerWidget); 0026 0027 // ============= Info Group ============= 0028 QGroupBox *InfoGroup = createFrame(i18n("Information"), innerWidget); 0029 QGridLayout *InfoGrid = createGridLayout(InfoGroup); 0030 0031 // terminal for the UserActions 0032 QLabel *labelInfo = new QLabel(i18n("Here you can configure settings about useractions.\n" 0033 "To set up, configure and manage your useractions please use ActionMan."), 0034 InfoGroup); 0035 InfoGrid->addWidget(labelInfo, 0, 0); 0036 QPushButton *actionmanButton = new QPushButton(i18n("Start ActionMan"), InfoGroup); 0037 connect(actionmanButton, &QPushButton::clicked, this, &KgUserActions::startActionMan); 0038 InfoGrid->addWidget(actionmanButton, 1, 0); 0039 0040 kgUserActionLayout->addWidget(InfoGroup, 0, 0); 0041 0042 // ============= Terminal Group ============= 0043 QGroupBox *terminalGroup = createFrame(i18n("Terminal execution"), innerWidget); 0044 QGridLayout *terminalGrid = createGridLayout(terminalGroup); 0045 0046 // terminal for the UserActions 0047 QLabel *labelTerminal = new QLabel(i18n("Terminal for UserActions:"), terminalGroup); 0048 terminalGrid->addWidget(labelTerminal, 0, 0); 0049 KonfiguratorURLRequester *urlReqUserActions = 0050 createURLRequester("UserActions", "Terminal", _UserActions_Terminal, labelTerminal, terminalGroup, false, QString(), FIRST_PAGE, false); 0051 terminalGrid->addWidget(urlReqUserActions, 0, 1); 0052 labelTerminal = new QLabel(i18n("%t will be replaced by the title of the action,\n%d with the workdir."), terminalGroup); 0053 terminalGrid->addWidget(labelTerminal, 1, 1); 0054 0055 kgUserActionLayout->addWidget(terminalGroup, 1, 0); 0056 0057 // ============= Outputcollection Group ============= 0058 QGroupBox *outputGroup = createFrame(i18n("Output collection"), innerWidget); 0059 QGridLayout *outputGrid = createGridLayout(outputGroup); 0060 0061 QWidget *hboxWidget = new QWidget(outputGroup); 0062 auto *hbox = new QHBoxLayout(hboxWidget); 0063 QLabel *lbel = new QLabel(i18n("Normal font:"), hboxWidget); 0064 hbox->addWidget(lbel); 0065 0066 KonfiguratorFontChooser *chser = createFontChooser("UserActions", "Normal Font", _UserActions_NormalFont, lbel, hboxWidget); 0067 hbox->addWidget(chser); 0068 0069 QWidget *spcer = createSpacer(hboxWidget); 0070 hbox->addWidget(spcer); 0071 outputGrid->addWidget(hboxWidget, 2, 0); 0072 0073 hboxWidget = new QWidget(outputGroup); 0074 hbox = new QHBoxLayout(hboxWidget); 0075 0076 lbel = new QLabel(i18n("Font with fixed width:"), hboxWidget); 0077 hbox->addWidget(lbel); 0078 0079 chser = createFontChooser("UserActions", "Fixed Font", _UserActions_FixedFont, lbel, hboxWidget); 0080 hbox->addWidget(chser); 0081 0082 spcer = createSpacer(hboxWidget); 0083 hbox->addWidget(spcer); 0084 0085 outputGrid->addWidget(hboxWidget, 3, 0); 0086 0087 KonfiguratorCheckBox *useFixed = 0088 createCheckBox("UserActions", "Use Fixed Font", _UserActions_UseFixedFont, i18n("Use fixed width font as default"), outputGroup); 0089 outputGrid->addWidget(useFixed, 4, 0); 0090 0091 kgUserActionLayout->addWidget(outputGroup, 2, 0); 0092 } 0093 0094 void KgUserActions::startActionMan() 0095 { 0096 ActionMan actionMan(static_cast<QWidget *>(this)); 0097 }