eepp: Fixed UI Editor crash when opening projects.

ecode: Status Build Output Controller crash fix. Added icons to the status bar buttons.
This commit is contained in:
Martín Lucas Golini
2023-06-13 20:44:49 -03:00
parent de4875b255
commit c0aabb56d8
5 changed files with 83 additions and 63 deletions

View File

@@ -455,15 +455,19 @@ void StatusBuildOutputController::createContainer() {
if ( mContainer )
return;
const auto XML = R"xml(
<RelativeLayout id="build_output" lw="mp" lh="mp" visible="false">
<rellayce class="status_build_output_cont" lw="mp" lh="mp">
<CodeEditor id="build_output_output" lw="mp" lh="mp" />
<TableView id="build_output_issues" lw="mp" lh="mp" visible="false" />
<SelectButton id="but_build_output_issues" text="@string(issues, Issues)" lg="bottom|right" margin-right="1dp" margin-bottom="18dp" margin-right="18dp" />
<SelectButton id="but_build_output_output" text="@string(output, Output)" layout-to-left-of="but_build_output_issues" selected="true" />
</rellayce>
</RelativeLayout>
<rellayce id="build_output" lw="mp" lh="mp" visible="false" class="status_build_output_cont" lw="mp" lh="mp">
<CodeEditor id="build_output_output" lw="mp" lh="mp" />
<TableView id="build_output_issues" lw="mp" lh="mp" visible="false" />
<SelectButton id="but_build_output_issues" text="@string(issues, Issues)" lg="bottom|right" margin-right="1dp" margin-bottom="18dp" margin-right="18dp" />
<SelectButton id="but_build_output_output" text="@string(output, Output)" layout-to-left-of="but_build_output_issues" selected="true" />
</rellayce>
)xml";
if ( mMainSplitter->getLastWidget() != nullptr ) {
mMainSplitter->getLastWidget()->setVisible( false );
mMainSplitter->getLastWidget()->setParent( mUISceneNode );
}
mContainer = mApp->getUISceneNode()
->loadLayoutFromString( XML, mMainSplitter )
->asType<UIRelativeLayoutCommandExecuter>();
@@ -513,19 +517,18 @@ void StatusBuildOutputController::createContainer() {
} );
mBuildOutput = editor;
mContainer->setVisible( false );
auto cont = mContainer->getFirstChild()->asType<UIRelativeLayoutCommandExecuter>();
cont->setCommand( "build-output-show-build-output", [this]() { showBuildOutput(); } );
cont->setCommand( "build-output-show-build-issues", [this]() { showIssues(); } );
cont->getKeyBindings().addKeybind( { KEY_1, KeyMod::getDefaultModifier() },
"build-output-show-build-output" );
cont->getKeyBindings().addKeybind( { KEY_2, KeyMod::getDefaultModifier() },
"build-output-show-build-issues" );
mContainer->setCommand( "build-output-show-build-output", [this]() { showBuildOutput(); } );
mContainer->setCommand( "build-output-show-build-issues", [this]() { showIssues(); } );
mContainer->getKeyBindings().addKeybind( { KEY_1, KeyMod::getDefaultModifier() },
"build-output-show-build-output" );
mContainer->getKeyBindings().addKeybind( { KEY_2, KeyMod::getDefaultModifier() },
"build-output-show-build-issues" );
mButOutput->onClick( [this]( auto ) { showBuildOutput(); } );
mButIssues->onClick( [this]( auto ) { showIssues(); } );
mButOutput->setTooltipText(
cont->getKeyBindings().getCommandKeybindString( "build-output-show-build-output" ) );
mContainer->getKeyBindings().getCommandKeybindString( "build-output-show-build-output" ) );
mButIssues->setTooltipText(
cont->getKeyBindings().getCommandKeybindString( "build-output-show-build-issues" ) );
mContainer->getKeyBindings().getCommandKeybindString( "build-output-show-build-issues" ) );
}
} // namespace ecode