[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/klipper
From: Esben Mose Hansen <kde () mosehansen ! dk>
Date: 2005-02-10 17:35:30
Message-ID: 20050210173530.99E691D1BB () office ! kde ! org
[Download RAW message or body]
CVS commit by esben:
Patch by Lubos Lunak to save data on session end without enabling session management.
The patch has been slightly modified (added comments, move unneeded declarations from headerfile) by me.
M +1 -0 main.cpp 1.44
M +24 -1 toplevel.cpp 1.172
M +2 -1 toplevel.h 1.61
--- kdebase/klipper/toplevel.cpp #1.171:1.172
@@ -92,4 +92,26 @@ namespace {
}
+/**
+ * Helper class to save history upon session exit.
+ */
+class KlipperSessionManaged : public KSessionManaged
+{
+public:
+ KlipperSessionManaged( KlipperWidget* k )
+ : klipper( k )
+ {}
+
+ /**
+ * Save state upon session exit.
+ *
+ * Saving history on session save
+ */
+ virtual bool commitData( QSessionManager& ) {
+ klipper->saveSession();
+ return true;
+ }
+private:
+ KlipperWidget* klipper;
+};
extern bool qt_qclipboard_bailout_hack;
@@ -108,4 +130,5 @@ KlipperWidget::KlipperWidget( QWidget *p
, m_config( config )
, m_pendingContentsCheck( false )
+ , session_managed( new KlipperSessionManaged( this ))
{
qt_qclipboard_bailout_hack = true;
@@ -164,5 +187,4 @@ KlipperWidget::KlipperWidget( QWidget *p
readProperties(m_config);
- connect(kapp, SIGNAL(saveYourself()), SLOT(saveSession()));
connect(kapp, SIGNAL(settingsChanged(int)), SLOT(slotSettingsChanged(int)));
@@ -204,4 +226,5 @@ KlipperWidget::KlipperWidget( QWidget *p
KlipperWidget::~KlipperWidget()
{
+ delete session_managed;
delete showTimer;
delete hideTimer;
--- kdebase/klipper/toplevel.h #1.60:1.61
@@ -40,4 +40,5 @@ class KAction;
class QMimeSource;
class HistoryItem;
+class KlipperSessionManaged;
class KlipperWidget : public QWidget, public DCOPObject
@@ -200,4 +201,5 @@ private:
bool blockFetchingNewData();
+ KlipperSessionManaged* session_managed;
};
--- kdebase/klipper/main.cpp #1.43:1.44
@@ -47,4 +47,5 @@ extern "C" int KDE_EXPORT kdemain(int ar
}
KUniqueApplication app;
+ app.disableSessionManagement();
Klipper *toplevel = new Klipper();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic