diff --git a/app/app.pro b/app/app.pro index abe89c0b7..6d09a0234 100644 --- a/app/app.pro +++ b/app/app.pro @@ -233,7 +233,8 @@ HEADERS = src/main.h \ src/controllers/shortcutSettings/ShortcutSettingsController.h \ src/models/shortcutSettings/ShortcutSettingsModel.h \ src/views/appConfigWindow/AppConfigPage_Keyboard.h \ - src/views/shortcutSettings/HotKeyGrabber.h + src/views/shortcutSettings/HotKeyGrabber.h \ + src/libraries/wyedit/EditorConfigKeyboard.h lessThan(QT_MAJOR_VERSION,5) { HEADERS+=src/libraries/qtSingleApplication/qtsingleapplication.h \ @@ -362,7 +363,8 @@ SOURCES = src/main.cpp \ src/controllers/shortcutSettings/ShortcutSettingsController.cpp \ src/models/shortcutSettings/ShortcutSettingsModel.cpp \ src/views/appConfigWindow/AppConfigPage_Keyboard.cpp \ - src/views/shortcutSettings/HotKeyGrabber.cpp + src/views/shortcutSettings/HotKeyGrabber.cpp \ + src/libraries/wyedit/EditorConfigKeyboard.cpp lessThan(QT_MAJOR_VERSION,5) { SOURCES+=src/libraries/qtSingleApplication/qtsingleapplication.cpp \ diff --git a/app/src/libraries/wyedit/EditorConfigDialog.cpp b/app/src/libraries/wyedit/EditorConfigDialog.cpp index 5186d144e..849622f36 100644 --- a/app/src/libraries/wyedit/EditorConfigDialog.cpp +++ b/app/src/libraries/wyedit/EditorConfigDialog.cpp @@ -7,6 +7,7 @@ #include "EditorConfigDialog.h" #include "EditorConfigFont.h" #include "EditorConfigMisc.h" +#include "EditorConfigKeyboard.h" EditorConfigDialog::EditorConfigDialog(QWidget *parent) : QWidget(parent) @@ -16,6 +17,7 @@ EditorConfigDialog::EditorConfigDialog(QWidget *parent) : QWidget(parent) configDialog->setWindowTitle(tr("Editor settings")); configDialog->addWidget(new EditorConfigFont(this),tr("Fonts")); + configDialog->addWidget(new EditorConfigKeyboard(this),tr("Keyboard")); configDialog->addWidget(new EditorConfigMisc(this),tr("Misc")); configDialog->exec(); diff --git a/app/src/libraries/wyedit/EditorConfigKeyboard.cpp b/app/src/libraries/wyedit/EditorConfigKeyboard.cpp new file mode 100644 index 000000000..6d35829cd --- /dev/null +++ b/app/src/libraries/wyedit/EditorConfigKeyboard.cpp @@ -0,0 +1,86 @@ +#include +#include +#include +#include + +#include "../../main.h" + +#include "EditorConfigKeyboard.h" + + +EditorConfigKeyboard::EditorConfigKeyboard(QWidget *parent) : ConfigPage(parent) +{ + setupUi(); + setupSignals(); + assembly(); +} + + +EditorConfigKeyboard::~EditorConfigKeyboard() +{ + +} + +void EditorConfigKeyboard::setupUi(void) +{ + qDebug() << "Create keyboard config page"; + + // Кнопка редактирования файла конфигурации распределения кнопок по панелям инструментов редактора + editToolButtonsConfigFile = new QPushButton(this); + editToolButtonsConfigFile->setText(tr("Edit ToolButtons")); + editToolButtonsConfigFile->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed, QSizePolicy::ToolButton)); +} + + +// Связывание сигналов, генерируемых объектами класса и слотов для их обработки +void EditorConfigKeyboard::setupSignals(void) +{ + connect(editToolButtonsConfigFile, &QPushButton::clicked, + this, &EditorConfigKeyboard::onClickedEditToolButtonsConfigFile); +} + + +// Создание жиджетов панели "Keyboard" +void EditorConfigKeyboard::assembly(void) +{ + // Группирующая рамка + QGroupBox *toolButtonsBox=new QGroupBox(this); + toolButtonsBox->setTitle(tr("ToolButtons preferences")); + + // Вставка виджетов в группирующую рамку + QVBoxLayout *toolButtonsLayout = new QVBoxLayout(this); + toolButtonsLayout->addWidget(editToolButtonsConfigFile); + toolButtonsBox->setLayout(toolButtonsLayout); + + // Сборка основного слоя + QVBoxLayout *centralLayout=new QVBoxLayout(this); + centralLayout->addWidget(toolButtonsBox); + centralLayout->addStretch(); + + // Установка основного слоя + setLayout(centralLayout); +} + + +// Запуск диалога распределения кнопок по панелям инструментов редактора +void EditorConfigKeyboard::onClickedEditToolButtonsConfigFile(void) +{ +// ShortcutSettingsScreen shortcutSettingsScreen; +// shortcutSettingsScreen.setWindowTitle(tr("Keyboard config")); + +// shortcutSettingsScreen.exec(); +} + + +// Возвращает признак необходимости перезагрузки MyTetra, +// в зависимости от уровеня сложности вносимых изменений +// 0 - изменения можно делать на лету, перезагрузка MyTetra не нужна +// 1 - для принятия изменений нужна перезагрузка MyTetra +int EditorConfigKeyboard::applyChanges(void) +{ + qDebug() << "Apply changes editor misc"; + + int result = 0; + + return result; +} diff --git a/app/src/libraries/wyedit/EditorConfigKeyboard.h b/app/src/libraries/wyedit/EditorConfigKeyboard.h new file mode 100644 index 000000000..51af052d2 --- /dev/null +++ b/app/src/libraries/wyedit/EditorConfigKeyboard.h @@ -0,0 +1,51 @@ +#ifndef EDITORCONFIGKEYBOARD_H +#define EDITORCONFIGKEYBOARD_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "views/appConfigWindow/ConfigPage.h" + +class EditorConfig; + + +class EditorConfigKeyboard : public ConfigPage +{ + Q_OBJECT + +public: + EditorConfigKeyboard(QWidget *parent = nullptr); + virtual ~EditorConfigKeyboard(void); + + int applyChanges(void); + +private slots: + void onClickedEditToolButtonsConfigFile(void); + +protected: + + QPushButton *editToolButtonsConfigFile; + + void setupUi(void); + void setupSignals(void); + void assembly(void); + +private: + + EditorConfig *conf; + + QLabel *indentStepLabel; + QLabel *indentStepFlexion; + QSpinBox *indentStep; + +}; + + +#endif // EDITORCONFIGKEYBOARD_H +