File indexing completed on 2024-10-13 06:42:16
0001 /* 0002 This file is part of Killbots. 0003 0004 SPDX-FileCopyrightText: 2007-2009 Parker Coates <coates@kde.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #include "optionspage.h" 0010 0011 #include <KComboBox> 0012 #include <KLocalizedString> 0013 0014 #include <QCheckBox> 0015 #include <QFormLayout> 0016 #include <QGridLayout> 0017 #include <QLabel> 0018 #include <QSlider> 0019 0020 Killbots::OptionsPage::OptionsPage(QWidget *parent) 0021 : QWidget(parent) 0022 { 0023 const QStringList clickActionList { 0024 i18nc("@item:inlistbox No action on click", "Nothing"), 0025 i18nc("@action", "Step"), 0026 i18nc("@action", "Repeated Step"), 0027 i18nc("@action", "Teleport"), 0028 i18nc("@action", "Teleport Safely"), 0029 i18nc("@action", "Teleport (Safely if Possible)"), 0030 i18nc("@action", "Wait Out Round"), 0031 }; 0032 0033 kcfg_MiddleClickAction = new KComboBox(); 0034 kcfg_MiddleClickAction->setObjectName(QStringLiteral("kcfg_MiddleClickAction")); 0035 kcfg_MiddleClickAction->addItems(clickActionList); 0036 0037 kcfg_RightClickAction = new KComboBox(); 0038 kcfg_RightClickAction->setObjectName(QStringLiteral("kcfg_RightClickAction")); 0039 kcfg_RightClickAction->addItems(clickActionList); 0040 0041 kcfg_AnimationSpeed = new QSlider(Qt::Horizontal); 0042 kcfg_AnimationSpeed->setObjectName(QStringLiteral("kcfg_AnimationSpeed")); 0043 kcfg_AnimationSpeed->setSingleStep(1); 0044 kcfg_AnimationSpeed->setMinimumWidth(200); 0045 QLabel *slowLabel = new QLabel(i18nc("@item:inrange", "Slow")); 0046 slowLabel->setAlignment(Qt::AlignLeft); 0047 QLabel *fastLabel = new QLabel(i18nc("@item:inrange", "Fast")); 0048 fastLabel->setAlignment(Qt::AlignCenter); 0049 QLabel *instantLabel = new QLabel(i18nc("@item:inrange", "Instant")); 0050 instantLabel->setAlignment(Qt::AlignRight); 0051 0052 QGridLayout *speedLayout = new QGridLayout(); 0053 speedLayout->setContentsMargins(0, 0, 0, 0); 0054 speedLayout->setSpacing(0); 0055 speedLayout->addWidget(kcfg_AnimationSpeed, 0, 0, 1, 3); 0056 speedLayout->addWidget(slowLabel, 1, 0); 0057 speedLayout->addWidget(fastLabel, 1, 1); 0058 speedLayout->addWidget(instantLabel, 1, 2); 0059 0060 QLabel *speedLabel = new QLabel(i18nc("@label:slider", "Animation &speed:")); 0061 speedLabel->setBuddy(kcfg_AnimationSpeed); 0062 0063 kcfg_PreventUnsafeMoves = new QCheckBox(i18nc("@option:check", "Prevent &unsafe moves")); 0064 kcfg_PreventUnsafeMoves->setObjectName(QStringLiteral("kcfg_PreventUnsafeMoves")); 0065 0066 QFormLayout *formLayout = new QFormLayout(this); 0067 formLayout->setContentsMargins(0, 0, 0, 0); 0068 formLayout->addRow(i18nc("@label:listbox", "&Middle-click action:"), kcfg_MiddleClickAction); 0069 formLayout->addRow(i18nc("@label:listbox", "&Right-click action:"), kcfg_RightClickAction); 0070 formLayout->addItem(new QSpacerItem(0, 16, QSizePolicy::Minimum, QSizePolicy::Fixed)); 0071 formLayout->addRow(speedLabel, speedLayout); 0072 formLayout->addItem(new QSpacerItem(0, 16, QSizePolicy::Minimum, QSizePolicy::Fixed)); 0073 formLayout->addRow(nullptr, kcfg_PreventUnsafeMoves); 0074 } 0075 0076 Killbots::OptionsPage::~OptionsPage() 0077 { 0078 } 0079 0080 #include "moc_optionspage.cpp"