📝 docs: more detailed explanation

This commit is contained in:
eshanized
2025-01-02 07:31:10 +05:30
parent 3ba4af7008
commit b71d7d6cf9

View File

@@ -329,69 +329,83 @@ void SnigdhaOSBlackbox::populateSelectWidget(QString filename, QString label) {
} }
void SnigdhaOSBlackbox::updateState(State state) { void SnigdhaOSBlackbox::updateState(State state) {
// Only update the UI if the state has changed.
if (currentState != state) { if (currentState != state) {
currentState = state; currentState = state; // Update the current state.
this->show();
this->activateWindow();
this->raise();
// Ensure the application window is visible and in focus.
this->show(); // Make the window visible.
this->activateWindow(); // Bring the window to the front.
this->raise(); // Raise the window above others.
// Handle the new state.
switch (state) { switch (state) {
case State::WELCOME: case State::WELCOME:
ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Show the welcome screen.
ui->textStackedWidget->setCurrentWidget(ui->textWidget_welcome); ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Switch to the text widget.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); ui->textStackedWidget->setCurrentWidget(ui->textWidget_welcome); // Show the welcome message.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); // Set appropriate buttons.
break; break;
case State::INTERNET: case State::INTERNET:
ui->mainStackedWidget->setCurrentWidget(ui->mainStackedWidget); // Show the internet connection status screen.
ui->waitingWidget_text->setText("Waiting For Internet Connection..."); ui->mainStackedWidget->setCurrentWidget(ui->mainStackedWidget); // Switch to the main stack.
doInternetUpRequest(); ui->waitingWidget_text->setText("Waiting For Internet Connection..."); // Display waiting message.
doInternetUpRequest(); // Trigger an internet connection check.
break; break;
case State::UPDATE: case State::UPDATE:
ui->mainStackedWidget->setCurrentWidget(ui->waitingWidget); // Show the update progress screen.
ui->waitingWidget_text->setText("Please Wait! Till We Finish The Update..."); ui->mainStackedWidget->setCurrentWidget(ui->waitingWidget); // Switch to the waiting widget.
doUpdate(); ui->waitingWidget_text->setText("Please Wait! Till We Finish The Update..."); // Display update message.
doUpdate(); // Start the update process.
break; break;
case State::UPDATE_RETRY: case State::UPDATE_RETRY:
ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Show the update retry screen.
ui->textStackedWidget->setCurrentWidget(ui->textWidget_updateRetry); ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Switch to the text widget.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Yes | QDialogButtonBox::No); ui->textStackedWidget->setCurrentWidget(ui->textWidget_updateRetry); // Show the retry message.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Yes | QDialogButtonBox::No); // Set retry buttons.
break; break;
case State::QUIT: case State::QUIT:
ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Show the quit confirmation screen.
ui->textStackedWidget->setCurrentWidget(ui->textWidget_quit); ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Switch to the text widget.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Reset); ui->textStackedWidget->setCurrentWidget(ui->textWidget_quit); // Show the quit message.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Reset); // Set quit buttons.
break; break;
case State::SELECT: case State::SELECT:
ui->mainStackedWidget->setCurrentWidget(ui->waitingWidget); // Show the selection screen.
populateSelectWidget(); ui->mainStackedWidget->setCurrentWidget(ui->waitingWidget); // Switch to the waiting widget.
populateSelectWidget(); // Populate the selection UI dynamically.
break; break;
case State::APPLY: case State::APPLY:
ui->mainStackedWidget->setCurrentWidget(ui->waitingWidget); // Show the apply changes screen.
ui->waitingWidget_text->setText("We are applying the changes..."); ui->mainStackedWidget->setCurrentWidget(ui->waitingWidget); // Switch to the waiting widget.
doApply(); ui->waitingWidget_text->setText("We are applying the changes..."); // Display applying message.
doApply(); // Start applying changes.
break; break;
case State::APPLY_RETRY: case State::APPLY_RETRY:
ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Show the apply retry screen.
ui->textStackedWidget->setCurrentWidget(ui->textWidget_applyRetry); ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Switch to the text widget.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Yes | QDialogButtonBox::No | QDialogButtonBox::Reset); ui->textStackedWidget->setCurrentWidget(ui->textWidget_applyRetry); // Show the retry message.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Yes | QDialogButtonBox::No | QDialogButtonBox::Reset); // Set retry buttons.
break; break;
case State::SUCCESS: case State::SUCCESS:
ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Show the success screen.
ui->textStackedWidget->setCurrentWidget(ui->textWidget_success); ui->mainStackedWidget->setCurrentWidget(ui->textWidget); // Switch to the text widget.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Ok); ui->textStackedWidget->setCurrentWidget(ui->textWidget_success); // Show the success message.
ui->textWidget_buttonBox->setStandardButtons(QDialogButtonBox::Ok); // Set success button.
break; break;
} }
} }
} }
void SnigdhaOSBlackbox::updateState(QString state) { void SnigdhaOSBlackbox::updateState(QString state) {
if (state == "POST_UPDATE"){ if (state == "POST_UPDATE"){
updateState(State::SELECT); updateState(State::SELECT);