diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp index 3b081f057..c8968fe94 100644 --- a/linphone-app/src/app/App.cpp +++ b/linphone-app/src/app/App.cpp @@ -528,12 +528,20 @@ void App::smartShowWindow (QQuickWindow *window) { window->show(); window->raise();// Raise ensure to get focus on Mac window->requestActivate(); + QSettings settings; + if(settings.contains("geometry")) + window->setGeometry(settings.value("geometry").toRect()); } // ----------------------------------------------------------------------------- bool App::hasFocus () const { return getMainWindow()->isActive() || (mCallsWindow && mCallsWindow->isActive()); } +void App::saveGeometry(){ + QSettings settings; + settings.setValue("geometry", getMainWindow()->geometry()); +} + void App::stateChanged(Qt::ApplicationState pState) { DesktopTools::applicationStateChanged(pState); auto core = CoreManager::getInstance(); @@ -1106,4 +1114,4 @@ void App::checkForUpdates(bool force) { CoreManager::getInstance()->getCore()->checkForUpdate( Utils::appStringToCoreString(applicationVersion()) ); -} +} \ No newline at end of file diff --git a/linphone-app/src/app/App.hpp b/linphone-app/src/app/App.hpp index 7075c98ec..91917f51d 100644 --- a/linphone-app/src/app/App.hpp +++ b/linphone-app/src/app/App.hpp @@ -41,7 +41,6 @@ class DefaultTranslator; class ImageListModel; class Notifier; - class App : public SingleApplication { Q_OBJECT @@ -117,6 +116,8 @@ public: Q_INVOKABLE static void smartShowWindow (QQuickWindow *window); Q_INVOKABLE static void checkForUpdates(bool force = false); + Q_INVOKABLE void saveGeometry(); + public slots: void stateChanged(Qt::ApplicationState); diff --git a/linphone-app/ui/views/App/Main/MainWindow.qml b/linphone-app/ui/views/App/Main/MainWindow.qml index b60cc6661..7a471eec5 100644 --- a/linphone-app/ui/views/App/Main/MainWindow.qml +++ b/linphone-app/ui/views/App/Main/MainWindow.qml @@ -48,7 +48,9 @@ ApplicationWindow { // --------------------------------------------------------------------------- onActiveFocusItemChanged: Logic.handleActiveFocusItemChanged(activeFocusItem) - onClosing: Logic.handleClosing(close) + onClosing: {App.saveGeometry() + Logic.handleClosing(close) + } // ---------------------------------------------------------------------------