From 978403797ed96f20b63b7e3e024ca820fa1c8f69 Mon Sep 17 00:00:00 2001 From: Robert Knight Date: Wed, 15 Aug 2007 15:41:59 +0000 Subject: [PATCH] Use KMainWindow's provided facilities to save and restore window size instead of trying to record the line/column size of the last closed session which produces the wrong results for various reasons. svn path=/trunk/KDE/kdebase/apps/konsole/; revision=700456 --- src/MainWindow.cpp | 3 +++ src/ViewManager.cpp | 11 ++++++++--- src/ViewManager.h | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 829db690a..05c29a479 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -83,6 +83,9 @@ MainWindow::MainWindow() // replace standard shortcuts which cannot be used in a terminal // (as they are reserved for use by terminal programs) correctShortcuts(); + + // enable save and restore of window size + setAutoSaveSettings("MainWindow",true); } void MainWindow::correctShortcuts() diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp index 371279a7e..013d14215 100644 --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -295,8 +295,8 @@ void ViewManager::sessionFinished() Q_ASSERT(session); // record the size of the last session - qDebug() << "Recording session size: " << session->size(); - setDefaultDisplaySize( session->size().height() , session->size().width() ); + //qDebug() << "Recording session size: " << session->size(); + //setDefaultDisplaySize( session->size().height() , session->size().width() ); // close attached views QList children = _viewSplitter->findChildren(); @@ -475,12 +475,15 @@ void ViewManager::createView(Session* session) applyProfile(display,session->profileKey()); // set initial size +#if 0 int defaultLines = 0; int defaultColumns = 0; getDefaultDisplaySize(defaultLines,defaultColumns); qDebug() << "Setting default display size to " << QSize(defaultColumns,defaultLines); display->setSize(defaultColumns,defaultLines); - +#endif + display->setSize(80,40); + ViewProperties* properties = createController(session,display); _sessionMap[display] = session; @@ -498,6 +501,7 @@ void ViewManager::createView(Session* session) } } +#if 0 void ViewManager::getDefaultDisplaySize(int& lines , int& columns) const { const KConfigGroup group = KGlobal::config()->group("Last Session"); @@ -510,6 +514,7 @@ void ViewManager::setDefaultDisplaySize(int lines , int columns) KConfigGroup group = KGlobal::config()->group("Last Session"); group.writeEntry("WindowSize",QSize(columns,lines)); } +#endif ViewContainer* ViewManager::createContainer(const QString& profileKey) { diff --git a/src/ViewManager.h b/src/ViewManager.h index 8d7d61e4a..728b3df45 100644 --- a/src/ViewManager.h +++ b/src/ViewManager.h @@ -215,8 +215,8 @@ private: SessionController* createController(Session* session , TerminalDisplay* display); // save and load default size for new displays - void setDefaultDisplaySize(int lines , int columns); - void getDefaultDisplaySize(int& lines , int& columns) const; + //void setDefaultDisplaySize(int lines , int columns); + //void getDefaultDisplaySize(int& lines , int& columns) const; private: QPointer _viewSplitter;