Restore position in AOApplication
This commit is contained in:
parent
8fac2ada62
commit
e34b2534ed
@ -51,18 +51,7 @@ void AOApplication::construct_lobby()
|
|||||||
|
|
||||||
w_lobby = new Lobby(this, net_manager);
|
w_lobby = new Lobby(this, net_manager);
|
||||||
|
|
||||||
auto point = Options::getInstance().windowPosition("lobby");
|
centerOrMoveWidgetOnPrimaryScreen(w_lobby);
|
||||||
if (!Options::getInstance().restoreWindowPositionEnabled() || !point.has_value() || !pointExistsOnScreen(point.value()))
|
|
||||||
{
|
|
||||||
QRect geometry = QGuiApplication::primaryScreen()->geometry();
|
|
||||||
int x = (geometry.width() - w_lobby->width()) / 2;
|
|
||||||
int y = (geometry.height() - w_lobby->height()) / 2;
|
|
||||||
w_lobby->move(x, y);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
w_lobby->move(point->x(), point->y());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Options::getInstance().discordEnabled())
|
if (Options::getInstance().discordEnabled())
|
||||||
{
|
{
|
||||||
@ -104,10 +93,7 @@ void AOApplication::construct_courtroom()
|
|||||||
|
|
||||||
w_courtroom = new Courtroom(this);
|
w_courtroom = new Courtroom(this);
|
||||||
|
|
||||||
QRect geometry = QGuiApplication::primaryScreen()->geometry();
|
centerOrMoveWidgetOnPrimaryScreen(w_courtroom);
|
||||||
int x = (geometry.width() - w_courtroom->width()) / 2;
|
|
||||||
int y = (geometry.height() - w_courtroom->height()) / 2;
|
|
||||||
w_courtroom->move(x, y);
|
|
||||||
|
|
||||||
if (demo_server != nullptr)
|
if (demo_server != nullptr)
|
||||||
{
|
{
|
||||||
@ -245,6 +231,24 @@ bool AOApplication::pointExistsOnScreen(QPoint point)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AOApplication::centerOrMoveWidgetOnPrimaryScreen(QWidget *widget)
|
||||||
|
{
|
||||||
|
auto point = Options::getInstance().windowPosition(widget->objectName());
|
||||||
|
qDebug() << widget->objectName();
|
||||||
|
qDebug() << point.has_value();
|
||||||
|
if (!Options::getInstance().restoreWindowPositionEnabled() || !point.has_value() || !pointExistsOnScreen(point.value()))
|
||||||
|
{
|
||||||
|
QRect geometry = QGuiApplication::primaryScreen()->geometry();
|
||||||
|
int x = (geometry.width() - widget->width()) / 2;
|
||||||
|
int y = (geometry.height() - widget->height()) / 2;
|
||||||
|
widget->move(x, y);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
widget->move(point->x(), point->y());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#if (defined(_WIN32) || defined(_WIN64))
|
#if (defined(_WIN32) || defined(_WIN64))
|
||||||
void AOApplication::load_bass_plugins()
|
void AOApplication::load_bass_plugins()
|
||||||
{
|
{
|
||||||
|
@ -326,6 +326,7 @@ public:
|
|||||||
QString log_filename;
|
QString log_filename;
|
||||||
|
|
||||||
bool pointExistsOnScreen(QPoint point);
|
bool pointExistsOnScreen(QPoint point);
|
||||||
|
void centerOrMoveWidgetOnPrimaryScreen(QWidget *widget);
|
||||||
|
|
||||||
void initBASS();
|
void initBASS();
|
||||||
static void load_bass_plugins();
|
static void load_bass_plugins();
|
||||||
|
@ -11,6 +11,7 @@ Courtroom::Courtroom(AOApplication *p_ao_app)
|
|||||||
, ao_app{p_ao_app}
|
, ao_app{p_ao_app}
|
||||||
{
|
{
|
||||||
setWindowFlags((this->windowFlags() | Qt::CustomizeWindowHint) & ~Qt::WindowMaximizeButtonHint);
|
setWindowFlags((this->windowFlags() | Qt::CustomizeWindowHint) & ~Qt::WindowMaximizeButtonHint);
|
||||||
|
setObjectName("courtroom");
|
||||||
|
|
||||||
ao_app->initBASS();
|
ao_app->initBASS();
|
||||||
keepalive_timer = new QTimer(this);
|
keepalive_timer = new QTimer(this);
|
||||||
@ -1370,16 +1371,6 @@ void Courtroom::done_received()
|
|||||||
|
|
||||||
show();
|
show();
|
||||||
|
|
||||||
if (Options::getInstance().restoreWindowPositionEnabled())
|
|
||||||
{
|
|
||||||
auto maybe_point = Options::getInstance().windowPosition("courtroom");
|
|
||||||
if (maybe_point.has_value() && ao_app->pointExistsOnScreen(maybe_point.value()))
|
|
||||||
{
|
|
||||||
qDebug() << maybe_point.value();
|
|
||||||
QMainWindow::move(maybe_point.value());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ui_spectator->show();
|
ui_spectator->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1917,8 +1908,7 @@ void Courtroom::set_judge_buttons()
|
|||||||
|
|
||||||
void Courtroom::closeEvent(QCloseEvent *event)
|
void Courtroom::closeEvent(QCloseEvent *event)
|
||||||
{
|
{
|
||||||
Options::getInstance().setWindowPosition("courtroom", pos());
|
Options::getInstance().setWindowPosition(objectName(), pos());
|
||||||
qDebug() << pos();
|
|
||||||
QMainWindow::closeEvent(event);
|
QMainWindow::closeEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ Lobby::Lobby(AOApplication *p_ao_app, NetworkManager *p_net_manager)
|
|||||||
, net_manager{p_net_manager}
|
, net_manager{p_net_manager}
|
||||||
{
|
{
|
||||||
reloadUi();
|
reloadUi();
|
||||||
|
setObjectName("lobby");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lobby::on_tab_changed(int index)
|
void Lobby::on_tab_changed(int index)
|
||||||
@ -83,7 +84,7 @@ int Lobby::pageSelected()
|
|||||||
|
|
||||||
void Lobby::closeEvent(QCloseEvent *event)
|
void Lobby::closeEvent(QCloseEvent *event)
|
||||||
{
|
{
|
||||||
Options::getInstance().setWindowPosition("lobby", pos());
|
Options::getInstance().setWindowPosition(objectName(), pos());
|
||||||
QMainWindow::closeEvent(event);
|
QMainWindow::closeEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user