mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-08-20 16:25:43 -05:00
Fix dialogs being opened at OBS instead of plugin window location
This commit is contained in:
@@ -743,6 +743,11 @@ void OpenSettingsWindow()
|
||||
}
|
||||
}
|
||||
|
||||
QWidget *GetSettingsWindow()
|
||||
{
|
||||
return SettingsWindowIsOpened() ? AdvSceneSwitcher::window : nullptr;
|
||||
}
|
||||
|
||||
void SetupConnectionManager();
|
||||
void SetupWebsocketHelpers();
|
||||
|
||||
|
||||
@@ -412,5 +412,6 @@ public slots:
|
||||
};
|
||||
|
||||
void OpenSettingsWindow();
|
||||
QWidget *GetSettingsWindow();
|
||||
|
||||
} // namespace advss
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
|
||||
namespace advss {
|
||||
|
||||
QWidget *GetSettingsWindow();
|
||||
|
||||
NonModalMessageDialog::NonModalMessageDialog(const QString &message,
|
||||
bool question)
|
||||
: NonModalMessageDialog(message, question ? Type::QUESTION : Type::INFO)
|
||||
@@ -16,7 +18,10 @@ NonModalMessageDialog::NonModalMessageDialog(const QString &message,
|
||||
}
|
||||
|
||||
NonModalMessageDialog::NonModalMessageDialog(const QString &message, Type type)
|
||||
: QDialog(static_cast<QMainWindow *>(obs_frontend_get_main_window())),
|
||||
: QDialog(GetSettingsWindow()
|
||||
? GetSettingsWindow()
|
||||
: static_cast<QMainWindow *>(
|
||||
obs_frontend_get_main_window())),
|
||||
_type(type),
|
||||
_answer(QMessageBox::No)
|
||||
{
|
||||
|
||||
@@ -521,6 +521,8 @@ int GetSceneItemCount(const OBSWeakSource &sceneWeakSource)
|
||||
return count;
|
||||
}
|
||||
|
||||
QWidget *GetSettingsWindow();
|
||||
|
||||
bool DisplayMessage(const QString &msg, bool question, bool modal)
|
||||
{
|
||||
if (!modal) {
|
||||
@@ -529,8 +531,10 @@ bool DisplayMessage(const QString &msg, bool question, bool modal)
|
||||
return (answer == QMessageBox::Yes);
|
||||
} else if (question && modal) {
|
||||
auto answer = QMessageBox::question(
|
||||
static_cast<QMainWindow *>(
|
||||
obs_frontend_get_main_window()),
|
||||
GetSettingsWindow()
|
||||
? GetSettingsWindow()
|
||||
: static_cast<QMainWindow *>(
|
||||
obs_frontend_get_main_window()),
|
||||
obs_module_text("AdvSceneSwitcher.windowTitle"), msg,
|
||||
QMessageBox::Yes | QMessageBox::No);
|
||||
return answer == QMessageBox::Yes;
|
||||
|
||||
Reference in New Issue
Block a user