|
@@ -454,11 +454,11 @@ void cmCursesMainForm::UpdateProgress(const std::string& msg, float prog)
|
|
|
this->LastProgress.append(progressBarCompleted, '#');
|
|
this->LastProgress.append(progressBarCompleted, '#');
|
|
|
this->LastProgress.append(progressBarWidth - progressBarCompleted, ' ');
|
|
this->LastProgress.append(progressBarWidth - progressBarCompleted, ' ');
|
|
|
this->LastProgress += "] " + msg + "...";
|
|
this->LastProgress += "] " + msg + "...";
|
|
|
|
|
+ this->DisplayOutputs(std::string());
|
|
|
} else {
|
|
} else {
|
|
|
this->Outputs.emplace_back(msg);
|
|
this->Outputs.emplace_back(msg);
|
|
|
|
|
+ this->DisplayOutputs(msg);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- this->DisplayOutputs();
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
int cmCursesMainForm::Configure(int noconfigure)
|
|
int cmCursesMainForm::Configure(int noconfigure)
|
|
@@ -590,7 +590,7 @@ void cmCursesMainForm::AddError(const std::string& message,
|
|
|
{
|
|
{
|
|
|
this->Outputs.emplace_back(message);
|
|
this->Outputs.emplace_back(message);
|
|
|
this->HasNonStatusOutputs = true;
|
|
this->HasNonStatusOutputs = true;
|
|
|
- this->DisplayOutputs();
|
|
|
|
|
|
|
+ this->DisplayOutputs(message);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void cmCursesMainForm::RemoveEntry(const char* value)
|
|
void cmCursesMainForm::RemoveEntry(const char* value)
|
|
@@ -996,18 +996,22 @@ void cmCursesMainForm::ResetOutputs()
|
|
|
this->LastProgress.clear();
|
|
this->LastProgress.clear();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void cmCursesMainForm::DisplayOutputs()
|
|
|
|
|
|
|
+void cmCursesMainForm::DisplayOutputs(std::string const& newOutput)
|
|
|
{
|
|
{
|
|
|
int xi;
|
|
int xi;
|
|
|
int yi;
|
|
int yi;
|
|
|
getmaxyx(stdscr, yi, xi);
|
|
getmaxyx(stdscr, yi, xi);
|
|
|
|
|
|
|
|
- auto newLogForm = new cmCursesLongMessageForm(
|
|
|
|
|
- this->Outputs, this->LastProgress.c_str(),
|
|
|
|
|
- cmCursesLongMessageForm::ScrollBehavior::ScrollDown);
|
|
|
|
|
- CurrentForm = newLogForm;
|
|
|
|
|
- this->LogForm.reset(newLogForm);
|
|
|
|
|
- this->LogForm->Render(1, 1, xi, yi);
|
|
|
|
|
|
|
+ if (CurrentForm != this->LogForm.get()) {
|
|
|
|
|
+ auto newLogForm = new cmCursesLongMessageForm(
|
|
|
|
|
+ this->Outputs, this->LastProgress.c_str(),
|
|
|
|
|
+ cmCursesLongMessageForm::ScrollBehavior::ScrollDown);
|
|
|
|
|
+ CurrentForm = newLogForm;
|
|
|
|
|
+ this->LogForm.reset(newLogForm);
|
|
|
|
|
+ this->LogForm->Render(1, 1, xi, yi);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this->LogForm->UpdateContent(newOutput, this->LastProgress);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const char* cmCursesMainForm::s_ConstHelpMessage =
|
|
const char* cmCursesMainForm::s_ConstHelpMessage =
|