46daa75bbe
Update to 4.9.2 OBS-URL: https://build.opensuse.org/request/show/137401 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kmix?expand=0&rev=1
180 lines
6.4 KiB
Diff
180 lines
6.4 KiB
Diff
diff -urNB kmix/apps/KMixApp.cpp new/apps/KMixApp.cpp
|
|
--- kmix/apps/KMixApp.cpp 2012-05-06 15:05:05.318647177 +0200
|
|
+++ new/apps/KMixApp.cpp 2012-06-29 07:41:11.625298597 +0200
|
|
@@ -22,9 +22,11 @@
|
|
#include "KMixApp.h"
|
|
#include "apps/kmix.h"
|
|
#include <kdebug.h>
|
|
+#include <kcmdlineargs.h>
|
|
|
|
|
|
bool KMixApp::_keepVisibility = false;
|
|
+bool KMixApp::_autoStart = false;
|
|
|
|
KMixApp::KMixApp()
|
|
: KUniqueApplication(), m_kmix( 0 )
|
|
@@ -51,6 +53,17 @@
|
|
// There are 3 cases for a new instance
|
|
|
|
//kDebug(67100) << "KMixApp::newInstance() isRestored()=" << isRestored() << "_keepVisibility=" << _keepVisibility;
|
|
+
|
|
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
|
|
+
|
|
+ if (args->isSet("autostart"))
|
|
+ {
|
|
+ kapp->disableSessionManagement();
|
|
+
|
|
+ if ( m_kmix )
|
|
+ return 0;
|
|
+ }
|
|
+
|
|
static bool first = true;
|
|
if ( !first )
|
|
{ // There already exists an instance/window
|
|
@@ -118,6 +131,11 @@
|
|
_keepVisibility = val_keepVisibility;
|
|
}
|
|
|
|
+void KMixApp::autoStart(bool val_autoStart) {
|
|
+ //kDebug(67100) << "KMixApp::autoStart()";
|
|
+ _autoStart = val_autoStart;
|
|
+}
|
|
+
|
|
/*
|
|
void
|
|
KMixApp::quitExtended()
|
|
diff -urNB kmix/apps/KMixApp.h new/apps/KMixApp.h
|
|
--- kmix/apps/KMixApp.h 2012-05-06 15:05:05.319647178 +0200
|
|
+++ new/apps/KMixApp.h 2012-06-29 07:41:11.648298584 +0200
|
|
@@ -36,6 +36,7 @@
|
|
public slots:
|
|
//void quitExtended(); // For a hack on visibility()
|
|
static void keepVisibility(bool);
|
|
+ static void autoStart(bool);
|
|
/*
|
|
signals:
|
|
void stopUpdatesOnVisibility();
|
|
@@ -43,6 +44,7 @@
|
|
private:
|
|
KMixWindow *m_kmix;
|
|
static bool _keepVisibility;
|
|
+ static bool _autoStart;
|
|
};
|
|
|
|
#endif
|
|
diff -urNB kmix/apps/kmix.cpp new/apps/kmix.cpp
|
|
--- kmix/apps/kmix.cpp 2012-06-28 10:51:13.281867033 +0200
|
|
+++ new/apps/kmix.cpp 2012-06-29 07:42:05.518300726 +0200
|
|
@@ -30,9 +30,11 @@
|
|
#include <qradiobutton.h>
|
|
#include <QCursor>
|
|
#include <QString>
|
|
+#include <QTimer>
|
|
|
|
|
|
// include files for KDE
|
|
+#include <kcmdlineargs.h>
|
|
#include <kcombobox.h>
|
|
#include <kiconloader.h>
|
|
#include <kmessagebox.h>
|
|
@@ -106,6 +108,9 @@
|
|
fixConfigAfterRead();
|
|
theKMixDeviceManager->initHotplug();
|
|
connect(theKMixDeviceManager, SIGNAL(plugged(const char*,QString,QString&)), SLOT (plugged(const char*,QString,QString&)) );
|
|
+ if (KCmdLineArgs::parsedArgs()->isSet("autostart") && ! Mixer::mixers().first())
|
|
+ QTimer::singleShot(0, kapp, SLOT(quit()));
|
|
+
|
|
connect(theKMixDeviceManager, SIGNAL(unplugged(QString)), SLOT (unplugged(QString)) );
|
|
if ( m_startVisible && ! invisible)
|
|
show(); // Started visible
|
|
@@ -364,6 +369,7 @@
|
|
config.writeEntry( "Labels", m_showLabels );
|
|
config.writeEntry( "startkdeRestore", m_onLogin );
|
|
config.writeEntry( "VolumeFeedback", m_beepOnVolumeChange );
|
|
+ config.writeEntry( "AutoStart", m_autoStart );
|
|
config.writeEntry( "DefaultCardOnStart", m_defaultCardOnStart );
|
|
config.writeEntry( "ConfigVersion", KMIX_CONFIG_VERSION );
|
|
config.writeEntry( "AutoUseMultimediaKeys", m_autouseMultimediaKeys );
|
|
@@ -486,6 +492,7 @@
|
|
m_onLogin = config.readEntry("startkdeRestore", true );
|
|
setBeepOnVolumeChange(config.readEntry("VolumeFeedback", false ));
|
|
m_startVisible = config.readEntry("Visible", false);
|
|
+ m_autoStart = config.readEntry("AutoStart", true);
|
|
m_multiDriverMode = config.readEntry("MultiDriver", false);
|
|
const QString& orientationString = config.readEntry("Orientation", "Vertical");
|
|
m_defaultCardOnStart = config.readEntry( "DefaultCardOnStart", "" );
|
|
@@ -1116,6 +1123,7 @@
|
|
m_prefDlg->m_volumeChk->setEnabled( m_showDockWidget );
|
|
m_prefDlg->m_onLogin->setChecked( m_onLogin );
|
|
m_prefDlg->m_beepOnVolumeChange->setChecked( m_beepOnVolumeChange );
|
|
+ m_prefDlg->m_disableAutoStart->setChecked( !m_autoStart );
|
|
|
|
m_prefDlg->m_showTicks->setChecked( m_showTicks );
|
|
m_prefDlg->m_showLabels->setChecked( m_showLabels );
|
|
@@ -1158,6 +1166,7 @@
|
|
m_volumeWidget = prefDlg->m_volumeChk->isChecked();
|
|
m_onLogin = prefDlg->m_onLogin->isChecked();
|
|
setBeepOnVolumeChange(prefDlg->m_beepOnVolumeChange->isChecked());
|
|
+ m_autoStart = !prefDlg->m_disableAutoStart->isChecked();
|
|
|
|
if ( prefDlg->_rbVertical->isChecked() ) {
|
|
m_toplevelOrientation = Qt::Vertical;
|
|
diff -urNB kmix/apps/kmix.h new/apps/kmix.h
|
|
--- kmix/apps/kmix.h 2012-06-28 10:51:13.281867033 +0200
|
|
+++ new/apps/kmix.h 2012-06-29 07:41:11.648298584 +0200
|
|
@@ -111,6 +111,7 @@
|
|
|
|
bool m_showDockWidget;
|
|
bool m_volumeWidget;
|
|
+ bool m_autoStart;
|
|
bool m_showTicks;
|
|
bool m_showLabels;
|
|
bool m_onLogin;
|
|
diff -urNB kmix/apps/main.cpp new/apps/main.cpp
|
|
--- kmix/apps/main.cpp 2012-05-13 18:15:50.358563713 +0200
|
|
+++ new/apps/main.cpp 2012-06-29 07:41:11.649298588 +0200
|
|
@@ -61,6 +61,7 @@
|
|
|
|
KCmdLineOptions options;
|
|
options.add("keepvisibility", ki18n("Inhibits the unhiding of the KMix main window, if KMix is already running."));
|
|
+ options.add("autostart", ki18n("Used by kmix_autostart.desktop"));
|
|
KCmdLineArgs::addCmdLineOptions( options ); // Add our own options.
|
|
KUniqueApplication::addCmdLineOptions();
|
|
|
|
@@ -68,6 +69,8 @@
|
|
bool hasArgKeepvisibility = args->isSet("keepvisibility");
|
|
//kDebug(67100) << "hasArgKeepvisibility=" << hasArgKeepvisibility;
|
|
KMixApp::keepVisibility(hasArgKeepvisibility);
|
|
+ bool hasAutoStart = args->isSet("autostart");
|
|
+ KMixApp::autoStart(hasAutoStart);
|
|
|
|
if (!KMixApp::start())
|
|
return 0;
|
|
diff -urNB kmix/gui/kmixprefdlg.cpp new/gui/kmixprefdlg.cpp
|
|
--- kmix/gui/kmixprefdlg.cpp 2012-06-28 10:51:13.282867033 +0200
|
|
+++ new/gui/kmixprefdlg.cpp 2012-06-29 07:41:11.649298588 +0200
|
|
@@ -83,6 +83,12 @@
|
|
m_beepOnVolumeChange = new QCheckBox( i18n("Volume Feedback"), m_generalTab );
|
|
l->addWidget( m_beepOnVolumeChange );
|
|
|
|
+ l = new QHBoxLayout();
|
|
+ layout->addItem( l );
|
|
+ l->addSpacing(10);
|
|
+ m_disableAutoStart = new QCheckBox( i18n("Disable automatic startup on login"), m_generalTab );
|
|
+ l->addWidget( m_disableAutoStart );
|
|
+
|
|
|
|
|
|
// -----------------------------------------------------------
|
|
diff -urNB kmix/gui/kmixprefdlg.h new/gui/kmixprefdlg.h
|
|
--- kmix/gui/kmixprefdlg.h 2012-06-28 10:51:13.282867033 +0200
|
|
+++ new/gui/kmixprefdlg.h 2012-06-29 07:41:11.649298588 +0200
|
|
@@ -57,6 +57,7 @@
|
|
QCheckBox *m_showLabels;
|
|
QCheckBox *m_onLogin;
|
|
QCheckBox *m_beepOnVolumeChange;
|
|
+ QCheckBox *m_disableAutoStart;
|
|
QRadioButton *_rbVertical;
|
|
QRadioButton *_rbHorizontal;
|
|
};
|