mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-19 16:31:21 +00:00
Use KApplication::sessionSaving() to determine if Dolphin is closed by
the session manager - there's no need to reinvent the wheel ;-) Thanks to Lubos Lunak for the hint. svn path=/trunk/KDE/kdebase/apps/; revision=1013726
This commit is contained in:
parent
1d75c9dcae
commit
8e17757ae3
|
@ -28,7 +28,7 @@
|
|||
#include <QtDBus/QDBusConnection>
|
||||
|
||||
DolphinApplication::DolphinApplication() :
|
||||
m_lastId(0), m_closedBySessionManager(false)
|
||||
m_lastId(0)
|
||||
{
|
||||
new ApplicationAdaptor(this);
|
||||
QDBusConnection::sessionBus().registerObject("/dolphin/Application", this);
|
||||
|
@ -100,17 +100,6 @@ int DolphinApplication::newInstance()
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool DolphinApplication::closedBySessionManager() const
|
||||
{
|
||||
return m_closedBySessionManager;
|
||||
}
|
||||
|
||||
void DolphinApplication::commitData(QSessionManager& sessionManager) {
|
||||
m_closedBySessionManager = true;
|
||||
KUniqueApplication::commitData(sessionManager);
|
||||
m_closedBySessionManager = false;
|
||||
}
|
||||
|
||||
int DolphinApplication::openWindow(const KUrl& url)
|
||||
{
|
||||
DolphinMainWindow* win = createMainWindow();
|
||||
|
|
|
@ -56,20 +56,6 @@ public:
|
|||
/** @see KUniqueApplication::newInstance(). */
|
||||
virtual int newInstance();
|
||||
|
||||
/**
|
||||
* Find out if Dolphin is closed directly by the user or
|
||||
* by the session manager because the session is closed
|
||||
*/
|
||||
bool closedBySessionManager() const;
|
||||
|
||||
/**
|
||||
* This virtual function is called by the session manager when
|
||||
* it closes Dolphin. It is reimplemented to make the information
|
||||
* if Dolphin is closed by the session manager or not accessible in
|
||||
* DolphinMainWindow (via the function closedBySessionManager()).
|
||||
*/
|
||||
virtual void commitData(QSessionManager& sessionManager);
|
||||
|
||||
public slots:
|
||||
int openWindow(const KUrl& url);
|
||||
int openSplitWindow(const KUrl& leftUrl,const KUrl& rightUrl);
|
||||
|
@ -81,9 +67,6 @@ protected:
|
|||
private:
|
||||
QList<DolphinMainWindow*> m_mainWindows;
|
||||
int m_lastId;
|
||||
|
||||
/** Is true if Dolphin is closed by the session manager **/
|
||||
bool m_closedBySessionManager;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -430,7 +430,7 @@ void DolphinMainWindow::closeEvent(QCloseEvent* event)
|
|||
// by the session manager because the session is closed
|
||||
bool closedByUser = true;
|
||||
DolphinApplication *application = qobject_cast<DolphinApplication*>(qApp);
|
||||
if (application && application->closedBySessionManager()) {
|
||||
if (application && application->sessionSaving()) {
|
||||
closedByUser = false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue