Skip to content

Commit

Permalink
Check if we have OptionsDialog when trying to add a new message (#11986
Browse files Browse the repository at this point in the history
…) (#11987)

Fixes #11985
  • Loading branch information
adeas31 committed Feb 14, 2024
1 parent cdab037 commit b20dd5b
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 18 deletions.
28 changes: 14 additions & 14 deletions OMEdit/OMEditLIB/MainWindow.cpp
Expand Up @@ -411,6 +411,20 @@ void MainWindow::setUpMainWindow(threadData_t *threadData)
}
OptionsDialog::instance()->saveSimulationSettings();
OptionsDialog::instance()->saveNFAPISettings();
// create tabs from MessagesWidget
QTabBar::ButtonPosition closeSide = (QTabBar::ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, mpMessagesTabWidget);
MessagesTabWidget *pMessagesTabWidget = MessagesWidget::instance()->getMessagesTabWidget();
for (int i = 0; i < pMessagesTabWidget->count(); ++i) {
createMessageTab(pMessagesTabWidget->tabText(i), true);
QWidget *pTabButtonWidget = mpMessagesTabWidget->tabBar()->tabButton(i, closeSide);
if (pTabButtonWidget) {
pTabButtonWidget->deleteLater();
}
mpMessagesTabWidget->tabBar()->setTabButton(i, closeSide, 0);
}
// since createMessageTab() changes the index so switch it back to 0.
mpMessagesTabWidget->setCurrentIndex(0);
mpMessagesTabWidget->setVisible(!mpMessagesDockWidget->isVisible());
// restore OMEdit widgets state
QSettings *pSettings = Utilities::getApplicationSettings();
if (OptionsDialog::instance()->getGeneralSettingsPage()->getPreserveUserCustomizations()) {
Expand Down Expand Up @@ -451,20 +465,6 @@ void MainWindow::setUpMainWindow(threadData_t *threadData)
if (OptionsDialog::instance()->getGeneralSettingsPage()->getEnableAutoSaveGroupBox()->isChecked()) {
mpAutoSaveTimer->start();
}
// create tabs from MessagesWidget
QTabBar::ButtonPosition closeSide = (QTabBar::ButtonPosition)style()->styleHint(QStyle::SH_TabBar_CloseButtonPosition, 0, mpMessagesTabWidget);
MessagesTabWidget *pMessagesTabWidget = MessagesWidget::instance()->getMessagesTabWidget();
for (int i = 0; i < pMessagesTabWidget->count(); ++i) {
createMessageTab(pMessagesTabWidget->tabText(i), true);
QWidget *pTabButtonWidget = mpMessagesTabWidget->tabBar()->tabButton(i, closeSide);
if (pTabButtonWidget) {
pTabButtonWidget->deleteLater();
}
mpMessagesTabWidget->tabBar()->setTabButton(i, closeSide, 0);
}
// since createMessageTab() changes the index so switch it back to 0.
mpMessagesTabWidget->setCurrentIndex(0);
mpMessagesTabWidget->setVisible(!mpMessagesDockWidget->isVisible());
}

/*!
Expand Down
10 changes: 7 additions & 3 deletions OMEdit/OMEditLIB/Modeling/MessagesWidget.cpp
Expand Up @@ -619,10 +619,14 @@ void MessagesWidget::addGUIMessage(MessageItem messageItem)
break;
}
mpMessagesTabWidget->setCurrentWidget(mpAllMessageWidget);
if (!OptionsDialog::instance()->getMessagesPage()->getEnlargeMessageBrowserCheckBox()->isChecked()) {
if (OptionsDialog::isCreated()) {
if (!OptionsDialog::instance()->getMessagesPage()->getEnlargeMessageBrowserCheckBox()->isChecked()) {
emit messageAdded();
} else {
MainWindow::instance()->animateMessagesTabWidgetForNewMessage(messageItem.getErrorType());
}
} else { // this block is called when some message appear during the startup. See #11985.
emit messageAdded();
} else {
MainWindow::instance()->animateMessagesTabWidgetForNewMessage(messageItem.getErrorType());
}
}

Expand Down
2 changes: 1 addition & 1 deletion OMEdit/OMEditLIB/Options/OptionsDialog.h
Expand Up @@ -87,11 +87,11 @@ class OptionsDialog : public QDialog

static OptionsDialog *mpInstance;
public:
static bool isCreated() {return mpInstance != 0;}
static OptionsDialog* instance() {
create();
return mpInstance;
}
~OptionsDialog() { mpInstance = nullptr; }
void readSettings();
void readGeneralSettings();
void readLibrariesSettings();
Expand Down

0 comments on commit b20dd5b

Please sign in to comment.