Add ${relative_dir} useful to solve case mentioned at https://github.com/SpartanJ/ecode/discussions/876

This commit is contained in:
Martín Lucas Golini
2026-04-15 00:34:49 -03:00
parent 4a4da521d9
commit f95f32eeba
6 changed files with 71 additions and 73 deletions

View File

@@ -242,8 +242,8 @@ class UIBuildStep : public UILinearLayout {
findByClass( "reuse_previous_terminal" ) );
mDataBindHolder += UIDataBindBool::New( &mStep->useStatusBarTerminal,
findByClass( "use_statusbar_terminal" ) );
mDataBindHolder += UIDataBindBool::New( &mStep->stripAnsiCodes,
findByClass( "strip_ansi_codes" ) );
mDataBindHolder +=
UIDataBindBool::New( &mStep->stripAnsiCodes, findByClass( "strip_ansi_codes" ) );
}
protected:
@@ -305,16 +305,17 @@ class UIBuildStep : public UILinearLayout {
runInTerminal->setVisible( true );
runInTerminal->setChecked( buildStep->runInTerminal );
runInTerminal->on( Event::OnValueChange, [reusePreviousTerminal, runInTerminal,
useStatusBarTerminal, stripAnsiCodes]( auto ) {
reusePreviousTerminal->setEnabled( runInTerminal->isChecked() );
useStatusBarTerminal->setEnabled( runInTerminal->isChecked() );
stripAnsiCodes->setEnabled( !runInTerminal->isChecked() );
if ( !runInTerminal->isChecked() ) {
reusePreviousTerminal->setChecked( false );
useStatusBarTerminal->setChecked( false );
}
} );
runInTerminal->on( Event::OnValueChange,
[reusePreviousTerminal, runInTerminal, useStatusBarTerminal,
stripAnsiCodes]( auto ) {
reusePreviousTerminal->setEnabled( runInTerminal->isChecked() );
useStatusBarTerminal->setEnabled( runInTerminal->isChecked() );
stripAnsiCodes->setEnabled( !runInTerminal->isChecked() );
if ( !runInTerminal->isChecked() ) {
reusePreviousTerminal->setChecked( false );
useStatusBarTerminal->setChecked( false );
}
} );
reusePreviousTerminal->setVisible( true );
reusePreviousTerminal->setEnabled( buildStep->runInTerminal );
@@ -451,7 +452,7 @@ static const auto SETTINGS_PANEL_XML = R"xml(
<PushButton id="custom_var_del" icon="icon(delete-bin, 12dp)" min-width="20dp" tooltip="@string(del_custom_variable, Delete Selected Variable)" lg="center" />
</vbox>
</hbox>
<TextView class="span" lw="mp" lh="wc" word-wrap="true" text='@string(custom_variables_desc_3, "There are predefined custom variables available to use:&#10;${project_root}: The folder / project root directory.&#10;${build_type}: The build type selected to build the project.&#10;${os}: The current operating system name.&#10;${arch}: The current operating architecture.&#10;${nproc}: The number of logical processing units.&#10;${current_doc}: The last or current focused document path.&#10;${current_doc_name}: The last or current focused document name without extension.&#10;${current_doc_dir}: The last or current focused document directory.")' />
<TextView class="span" lw="mp" lh="wc" word-wrap="true" text='@string(custom_variables_desc_3, "There are predefined custom variables available to use:&#10;${project_root}: The folder / project root directory.&#10;${build_type}: The build type selected to build the project.&#10;${os}: The current operating system name.&#10;${arch}: The current operating architecture.&#10;${nproc}: The number of logical processing units.&#10;${current_doc}: The last or current focused document path.&#10;${current_doc_name}: The last or current focused document name without extension.&#10;${current_doc_dir}: The last or current focused document directory.&#10;${relative_dir}: The relative directory path between ${project_root} and ${current_doc_dir}.")' />
</vbox>
<vbox lw="mp" lh="wc" class="build_environment">