From 1aea3a4e3bdefde6d495bd11b81fe7a2c67ae0e9 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Sun, 4 Dec 2005 13:16:22 +0000 Subject: [PATCH] similar patch to fix 117658 svn path=/trunk/KDE/kdegraphics/kpdf/; revision=485452 --- part.cpp | 9 ++++++++- part.h | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/part.cpp b/part.cpp index 175498c0e..fcf8f1afa 100644 --- a/part.cpp +++ b/part.cpp @@ -276,6 +276,8 @@ Part::Part(QWidget *parentWidget, const char *widgetName, connect( m_watcher, SIGNAL( dirty( const QString& ) ), this, SLOT( slotFileDirty( const QString& ) ) ); m_dirtyHandler = new QTimer( this ); connect( m_dirtyHandler, SIGNAL( timeout() ),this, SLOT( slotDoFileDirty() ) ); + m_saveSplitterSizeTimer = new QTimer( this ); + connect( m_saveSplitterSizeTimer, SIGNAL( timeout() ),this, SLOT( reallySaveSplitterSize() ) ); slotNewConfig(); @@ -575,10 +577,15 @@ void Part::cannotQuit() } void Part::saveSplitterSize() +{ + m_saveSplitterSizeTimer->start(500, true); +} + +void Part::reallySaveSplitterSize() { KpdfSettings::setSplitterSizes( m_splitter->sizes() ); KpdfSettings::writeConfig(); -} +} //BEGIN go to page dialog class KPDFGotoPageDialog : public KDialogBase diff --git a/part.h b/part.h index e23ef9491..73ae57131 100644 --- a/part.h +++ b/part.h @@ -114,7 +114,8 @@ protected slots: void enableTOC(bool enable); void psTransformEnded(); void cannotQuit(); - void saveSplitterSize(); + void saveSplitterSize(); + void reallySaveSplitterSize(); void setMimeTypes(KIO::Job *job); public slots: @@ -143,6 +144,11 @@ private: // static instances counter static unsigned int m_count; + + // this is a hack because we can not use writeConfig on part destructor + // and we don't want to writeconfig every time someone moves the splitter + // so we use a QTimer each 500 ms + QTimer *m_saveSplitterSizeTimer; KDirWatch *m_watcher; QTimer *m_dirtyHandler;