From e2de64d6f1beb9e492daf5b886e19933c1fa41dd Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmix/KMixApp.cpp | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 kmix/KMixApp.cpp (limited to 'kmix/KMixApp.cpp') diff --git a/kmix/KMixApp.cpp b/kmix/KMixApp.cpp new file mode 100644 index 00000000..74b84f43 --- /dev/null +++ b/kmix/KMixApp.cpp @@ -0,0 +1,71 @@ +/* + * KMix -- KDE's full featured mini mixer + * + * Copyright (C) 2000 Stefan Schimanski + * Copyright (C) 2001 Preston Brown + * Copyright (C) 2003 Sven Leiber + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include "KMixApp.h" +#include "kmix.h" +#include + + +KMixApp::KMixApp() + : KUniqueApplication(), m_kmix( 0 ) +{ +} + + +KMixApp::~KMixApp() +{ + delete m_kmix; +} + + +int +KMixApp::newInstance() +{ + if ( m_kmix ) + { + m_kmix->show(); + } + else + { + m_kmix = new KMixWindow; + connect(this, SIGNAL(stopUpdatesOnVisibility()), m_kmix, SLOT(stopVisibilityUpdates())); + if ( isRestored() && KMainWindow::canBeRestored(0) ) + { + m_kmix->restore(0, FALSE); + } + } + + return 0; +} + + +void +KMixApp::quitExtended() +{ + // This method is here for quiting from the dock icon: When directly calling + // quit(), the main window will be hidden before saving the configuration. + // isVisible() would return on quit always false (which would be bad). + emit stopUpdatesOnVisibility(); + quit(); +} + +#include "KMixApp.moc" -- cgit v1.2.1