diff --git a/saoriwindow.cpp b/saoriwindow.cpp index 8cf9391..253f19c 100644 --- a/saoriwindow.cpp +++ b/saoriwindow.cpp @@ -46,7 +46,13 @@ ui->mdiArea->setActivationOrder(QMdiArea::ActivationHistoryOrder); connect(m_configDialog,&SaoriConfigureDialog::accountsUpdated,this,&SaoriWindow::updateTimelineList); m_tray = new SaoriSystemTray(); - connect(m_tray,&SaoriSystemTray::showMainwindow,this,&SaoriWindow::show); + connect(m_tray,&SaoriSystemTray::showMainwindow,this,[=](){ + if (isHidden()) { + setGeometry(m_geometry); + move(m_geometry.topLeft()); + show(); + } + }); updateTimelineList(); openPinedView(); } @@ -193,6 +199,7 @@ void SaoriWindow::closeEvent(QCloseEvent *event) { + m_geometry = geometry(); if (SaoriApplication::saori()->setting()->value(SAORI_SETTING_CLOSEBEHIDE,SAORI_SETTING_CLOSEBEHIDE_DEFAULT).toBool()) { hide(); event->ignore(); diff --git a/saoriwindow.h b/saoriwindow.h index 3073889..2783234 100644 --- a/saoriwindow.h +++ b/saoriwindow.h @@ -61,6 +61,7 @@ protected: SaoriConfigureDialog *m_configDialog; SaoriSystemTray *m_tray; + QRect m_geometry; private slots: void on_timelineTree_itemDoubleClicked(QTreeWidgetItem *item, int);