Skip to content

Commit

Permalink
Merge a88198d into b66f668
Browse files Browse the repository at this point in the history
  • Loading branch information
dicene committed Aug 13, 2019
2 parents b66f668 + a88198d commit 8100849
Show file tree
Hide file tree
Showing 2 changed files with 263 additions and 0 deletions.
261 changes: 261 additions & 0 deletions src/dlgTriggerEditor.cpp
Expand Up @@ -504,6 +504,12 @@ dlgTriggerEditor::dlgTriggerEditor(Host* pH)
showDebugAreaAction->setStatusTip(tr("Shows/Hides the separate Central Debug Console - when being displayed the system will be slower."));
connect(showDebugAreaAction, &QAction::triggered, this, &dlgTriggerEditor::slot_debug_mode);

QShortcut *nextSectionShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Tab), this);
QObject::connect(nextSectionShortcut, &QShortcut::activated, this, &dlgTriggerEditor::slot_next_section);

QShortcut *previousSectionShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Tab), this);
QObject::connect(previousSectionShortcut, &QShortcut::activated, this, &dlgTriggerEditor::slot_previous_section);

toolBar = new QToolBar();
toolBar2 = new QToolBar();

Expand Down Expand Up @@ -7078,6 +7084,261 @@ void dlgTriggerEditor::slot_debug_mode()
mudlet::mpDebugArea->setWindowTitle("Central Debug Console");
}

void dlgTriggerEditor::slot_next_section()
{
switch (mCurrentView) {
case EditorViewType::cmTriggerView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
treeWidget_triggers->setFocus();
return;
} else if (treeWidget_triggers->hasFocus()) {
mpTriggersMainArea->lineEdit_trigger_name->setFocus();
return;
} else if (mpTriggersMainArea->hasFocus()) {
mTriggerPatternEdit[0]->lineEdit_pattern->setFocus();
return;
} else {
for (auto child : mpTriggersMainArea->scrollArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpSourceEditorEdbee->setFocus();
return;
}
}
for (auto child : mpTriggersMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mTriggerPatternEdit[0]->lineEdit_pattern->setFocus();
return;
}
}
}
break;
case EditorViewType::cmTimerView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
treeWidget_timers->setFocus();
return;
} else if (treeWidget_timers->hasFocus()) {
mpTimersMainArea->lineEdit_timer_name->setFocus();
return;
} else {
for (auto child : mpTimersMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpSourceEditorEdbee->setFocus();
return;
}
}
}
break;
case EditorViewType::cmAliasView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
treeWidget_aliases->setFocus();
return;
} else if (treeWidget_aliases->hasFocus()) {
mpAliasMainArea->lineEdit_alias_name->setFocus();
return;
} else {
for (auto child : mpAliasMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpSourceEditorEdbee->setFocus();
return;
}
}
}
break;
case EditorViewType::cmScriptView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
treeWidget_scripts->setFocus();
return;
} else if (treeWidget_scripts->hasFocus()) {
mpScriptsMainArea->lineEdit_script_name->setFocus();
return;
} else {
for (auto child : mpScriptsMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpSourceEditorEdbee->setFocus();
return;
}
}
}
break;
case EditorViewType::cmActionView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
treeWidget_actions->setFocus();
return;
} else if (treeWidget_actions->hasFocus()) {
mpActionsMainArea->lineEdit_action_name->setFocus();
return;
} else {
for (auto child : mpActionsMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpSourceEditorEdbee->setFocus();
return;
}
}
}
break;
case EditorViewType::cmKeysView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
treeWidget_keys->setFocus();
return;
} else if (treeWidget_keys->hasFocus()) {
mpKeysMainArea->lineEdit_key_name->setFocus();
return;
} else {
for (auto child : mpKeysMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpSourceEditorEdbee->setFocus();
return;
}
}
}
break;
case EditorViewType::cmVarsView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
treeWidget_variables->setFocus();
return;
} else if (treeWidget_variables->hasFocus()) {
mpVarsMainArea->lineEdit_var_name->setFocus();
return;
} else {
for (auto child : mpVarsMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpSourceEditorEdbee->setFocus();
return;
}
}
}
break;
case EditorViewType::cmUnknownView:
return;
};
}

void dlgTriggerEditor::slot_previous_section()
{
switch (mCurrentView) {
case EditorViewType::cmTriggerView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
mTriggerPatternEdit[0]->lineEdit_pattern->setFocus();
return;
} else if (treeWidget_triggers->hasFocus()) {
mpSourceEditorEdbee->setFocus();
return;
} else {
for (auto child : mpTriggersMainArea->scrollArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
mpTriggersMainArea->lineEdit_trigger_name->setFocus();
return;
}
}
for (auto child : mpTriggersMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
treeWidget_triggers->setFocus();
return;
}
}
}
break;
case EditorViewType::cmTimerView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
mpTimersMainArea->lineEdit_timer_name->setFocus();
return;
} else if (treeWidget_timers->hasFocus()) {
mpSourceEditorEdbee->setFocus();
return;
} else {
for (auto child : mpTimersMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
treeWidget_timers->setFocus();
return;
}
}
}
break;
case EditorViewType::cmAliasView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
mpAliasMainArea->lineEdit_alias_name->setFocus();
return;
} else if (treeWidget_aliases->hasFocus()) {
mpSourceEditorEdbee->setFocus();
return;
} else {
for (auto child : mpAliasMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
treeWidget_aliases->setFocus();
return;
}
}
}
break;
case EditorViewType::cmScriptView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
mpScriptsMainArea->lineEdit_script_name->setFocus();
return;
} else if (treeWidget_scripts->hasFocus()) {
mpSourceEditorEdbee->setFocus();
return;
} else {
for (auto child : mpScriptsMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
treeWidget_scripts->setFocus();
return;
}
}
}
break;
case EditorViewType::cmActionView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
mpActionsMainArea->lineEdit_action_name->setFocus();
return;
} else if (treeWidget_actions->hasFocus()) {
mpSourceEditorEdbee->setFocus();
return;
} else {
for (auto child : mpActionsMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
treeWidget_actions->setFocus();
return;
}
}
}
break;
case EditorViewType::cmKeysView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
mpKeysMainArea->lineEdit_key_name->setFocus();
return;
} else if (treeWidget_keys->hasFocus()) {
mpSourceEditorEdbee->setFocus();
return;
} else {
for (auto child : mpKeysMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
treeWidget_keys->setFocus();
return;
}
}
}
break;
case EditorViewType::cmVarsView:
if (QString("edbee::TextEditorComponent").compare(QApplication::focusWidget()->metaObject()->className()) == 0) {
mpVarsMainArea->lineEdit_var_name->setFocus();
return;
} else if (treeWidget_variables->hasFocus()) {
mpSourceEditorEdbee->setFocus();
return;
} else {
for (auto child : mpVarsMainArea->findChildren<QWidget *>()) {
if (child->hasFocus()){
treeWidget_variables->setFocus();
return;
}
}
}
break;
case EditorViewType::cmUnknownView:
return;
};
}

void dlgTriggerEditor::exportTrigger(const QString& fileName)
{
QString name;
Expand Down
2 changes: 2 additions & 0 deletions src/dlgTriggerEditor.h
Expand Up @@ -226,6 +226,8 @@ public slots:
void slot_import();
void slot_viewStatsAction();
void slot_debug_mode();
void slot_next_section();
void slot_previous_section();
void slot_show_timers();
void slot_show_triggers();
void slot_show_scripts();
Expand Down

0 comments on commit 8100849

Please sign in to comment.