From b4f3266b2ecc6dbb84e39ccb4ccd740f3ff172cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Sat, 16 Mar 2013 21:12:33 +0100 Subject: [PATCH] YACReaderLibrary recuerda ahora el estado de la ventana tras cerrar y cuando se vuelve de fullscreen --- YACReaderLibrary/library_window.cpp | 19 ++++++++++++++++++- YACReaderLibrary/library_window.h | 2 ++ YACReaderLibrary/main.cpp | 5 +++-- common/yacreader_global.h | 3 +++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 7e1cd743..d0109240 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -47,6 +47,17 @@ void LibraryWindow::setupUI() createConnections(); setWindowTitle(tr("YACReader Library")); + + setMinimumSize(800,480); + + //restore + if(settings->contains(MAIN_WINDOW_GEOMETRY)) + restoreGeometry(settings->value(MAIN_WINDOW_GEOMETRY).toByteArray()); + else + showMaximized(); + + if(settings->contains(MAIN_WINDOW_STATE)) + restoreState(settings->value(MAIN_WINDOW_STATE).toByteArray()); } void LibraryWindow::doLayout() @@ -1186,7 +1197,7 @@ void LibraryWindow::toNormal() libraryToolBar->show(); comicFlow->show(); - showMaximized(); + showNormal(); } void LibraryWindow::setFoldersFilter(QString filter) @@ -1461,4 +1472,10 @@ QString LibraryWindow::getFolderName(const QString & libraryName, qulonglong id) db.close(); QSqlDatabase::removeDatabase(libraries.value(libraryName)); return name; +} + +void LibraryWindow::closeEvent ( QCloseEvent * event ) +{ + settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry()); + settings->setValue(MAIN_WINDOW_STATE, saveState()); } \ No newline at end of file diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index f16fc538..1a0a9f8d 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -161,6 +161,8 @@ private: //settings QSettings * settings; +protected: + virtual void closeEvent ( QCloseEvent * event ); public: LibraryWindow(); public slots: diff --git a/YACReaderLibrary/main.cpp b/YACReaderLibrary/main.cpp index 53336922..9767c070 100644 --- a/YACReaderLibrary/main.cpp +++ b/YACReaderLibrary/main.cpp @@ -31,8 +31,9 @@ int main( int argc, char ** argv ) #endif LibraryWindow * mw = new LibraryWindow(); - mw->resize(800,480); - mw->showMaximized(); + mw->show(); + /*mw->resize(800,480); + mw->showMaximized();*/ return app.exec(); } diff --git a/common/yacreader_global.h b/common/yacreader_global.h index b75131ff..06b9fa68 100644 --- a/common/yacreader_global.h +++ b/common/yacreader_global.h @@ -43,6 +43,9 @@ #define V_SYNC "V_SYNC" #define SERVER_ON "SERVER_ON" +#define MAIN_WINDOW_GEOMETRY "MAIN_WINDOW_GEOMETRY" +#define MAIN_WINDOW_STATE "MAIN_WINDOW_STATE" + enum FlowType { CoverFlowLike=0,