Hello community,
here is the log from the commit of package kdemultimedia4
checked in at Wed Nov 28 23:29:03 CET 2007.
--------
--- KDE/kdemultimedia4/kdemultimedia4.changes 2007-11-14 17:36:23.000000000 +0100
+++ /mounts/work_src_done/STABLE/kdemultimedia4/kdemultimedia4.changes 2007-11-21 18:57:35.000000000 +0100
@@ -1,0 +2,5 @@
+Wed Nov 21 18:57:35 CET 2007 - dmueller@suse.de
+
+- update to 3.96.1
+
+-------------------------------------------------------------------
Old:
----
kdemultimedia-3.96.0.tar.bz2
New:
----
kdemultimedia-3.96.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdemultimedia4.spec ++++++
--- /var/tmp/diff_new_pack.Q15446/_old 2007-11-28 23:28:31.000000000 +0100
+++ /var/tmp/diff_new_pack.Q15446/_new 2007-11-28 23:28:31.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package kdemultimedia4 (Version 3.96.0)
+# spec file for package kdemultimedia4 (Version 3.96.1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,9 +17,9 @@
Group: System/GUI/KDE
Summary: kdemultimedia base package
Url: http://www.kde.org
-Version: 3.96.0
+Version: 3.96.1
Release: 1
-%define rversion 3.96.0
+%define rversion 3.96.1
Source0: kdemultimedia-%rversion.tar.bz2
Source1: _upstream
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -214,7 +214,6 @@
--------
The KDE Team
-
%files -n libkcddb4-devel -f filelists/libkcddb.devel
%defattr(-,root,root)
%doc COPYING COPYING-DOCS README
@@ -258,7 +257,6 @@
--------
The KDE Team
-
%files -n libkcompactdisc4-devel -f filelists/libkcompactdisc.devel
%defattr(-,root,root)
%doc COPYING COPYING-DOCS
@@ -318,7 +316,10 @@
%files -f filelists/exclude
%defattr(-,root,root)
%doc COPYING COPYING-DOCS README
+
%changelog
+* Wed Nov 21 2007 - dmueller@suse.de
+- update to 3.96.1
* Wed Nov 14 2007 - dmueller@suse.de
- update to 3.96.0
* Wed Nov 07 2007 - dmueller@suse.de
++++++ kdemultimedia-3.96.0.tar.bz2 -> kdemultimedia-3.96.1.tar.bz2 ++++++
Files old/kdemultimedia-3.96.0/doc/juk/index.cache.bz2 and new/kdemultimedia-3.96.1/doc/juk/index.cache.bz2 differ
Files old/kdemultimedia-3.96.0/doc/kmix/index.cache.bz2 and new/kdemultimedia-3.96.1/doc/kmix/index.cache.bz2 differ
Files old/kdemultimedia-3.96.0/doc/kscd/index.cache.bz2 and new/kdemultimedia-3.96.1/doc/kscd/index.cache.bz2 differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/juk/juk.cpp new/kdemultimedia-3.96.1/juk/juk.cpp
--- old/kdemultimedia-3.96.0/juk/juk.cpp 2007-10-31 21:42:30.000000000 +0100
+++ new/kdemultimedia-3.96.1/juk/juk.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -256,7 +256,7 @@
act = new KToggleAction(i18n("Save &Play Queue on Exit"), collection);
collection->addAction("saveUpcomingTracks", act);
- connect(m_toggleSystemTrayAction, SIGNAL(toggled(bool)),
+ connect(m_toggleSystemTrayAction, SIGNAL(triggered(bool)),
this, SLOT(slotToggleSystemTray(bool)));
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/juk/systemtray.cpp new/kdemultimedia-3.96.1/juk/systemtray.cpp
--- old/kdemultimedia-3.96.0/juk/systemtray.cpp 2007-10-08 09:42:17.000000000 +0200
+++ new/kdemultimedia-3.96.1/juk/systemtray.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -120,7 +120,7 @@
// This should be initialized to the number of labels that are used.
m_labels.fill(0, 3);
- m_appPix = loadIcon("juk_dock");
+ m_appPix = loadIcon("juk");
m_playPix = createPixmap("media-playback-start");
m_pausePix = createPixmap("media-playback-pause");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kioslave/audiocd/CMakeLists.txt new/kdemultimedia-3.96.1/kioslave/audiocd/CMakeLists.txt
--- old/kdemultimedia-3.96.0/kioslave/audiocd/CMakeLists.txt 2007-08-29 11:56:50.000000000 +0200
+++ new/kdemultimedia-3.96.1/kioslave/audiocd/CMakeLists.txt 2007-11-21 11:48:16.000000000 +0100
@@ -10,6 +10,7 @@
${CMAKE_BINARY_DIR}/libkcddb
${CMAKE_SOURCE_DIR}/libkcompactdisc
${CMAKE_BINARY_DIR}/libkcompactdisc
+ ${CDPARANOIA_INCLUDE_DIR}
)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kioslave/audiocd/plugins/wav/CMakeLists.txt new/kdemultimedia-3.96.1/kioslave/audiocd/plugins/wav/CMakeLists.txt
--- old/kdemultimedia-3.96.0/kioslave/audiocd/plugins/wav/CMakeLists.txt 2007-07-26 12:44:48.000000000 +0200
+++ new/kdemultimedia-3.96.1/kioslave/audiocd/plugins/wav/CMakeLists.txt 2007-11-21 11:48:15.000000000 +0100
@@ -1,5 +1,5 @@
-include_directories( ${CMAKE_SOURCE_DIR}/libkcddb ${CMAKE_CURRENT_SOURCE_DIR}/.. )
+include_directories( ${CMAKE_SOURCE_DIR}/libkcddb ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CDPARANOIA_INCLUDE_DIR} )
########### next target ###############
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/guiprofile.cpp new/kdemultimedia-3.96.1/kmix/guiprofile.cpp
--- old/kdemultimedia-3.96.0/kmix/guiprofile.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/guiprofile.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -75,8 +75,9 @@
GUIProfile::~GUIProfile()
{
- // !!! must delete all std::map and std::set content and instances here.
- // QString content is reference counted and probably doesn't need to be deleted explicitly.
+ qDeleteAll(_controls);
+ qDeleteAll(_tabs);
+ qDeleteAll(_products);
}
bool GUIProfile::readProfile(QString& ref_fileName)
@@ -89,6 +90,7 @@
xmlReader->setContentHandler(gpp);
bool ok = xmlReader->parse( source );
delete gpp;
+ delete xmlReader;
//std::cout << "Raw Profile: " << *this;
if ( ok ) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/KMixApp.cpp new/kdemultimedia-3.96.1/kmix/KMixApp.cpp
--- old/kdemultimedia-3.96.0/kmix/KMixApp.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/KMixApp.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -78,7 +78,7 @@
{
//kDebug(67100) << "KMixApp::newInstance() !m_kmix";
m_kmix = new KMixWindow;
- connect(this, SIGNAL(stopUpdatesOnVisibility()), m_kmix, SLOT(stopVisibilityUpdates()));
+ //connect(this, SIGNAL(stopUpdatesOnVisibility()), m_kmix, SLOT(stopVisibilityUpdates()));
if ( isSessionRestored() && KMainWindow::canBeRestored(0) )
{
m_kmix->restore(0, false);
@@ -94,7 +94,7 @@
_keepVisibility = val_keepVisibility;
}
-
+/*
void
KMixApp::quitExtended()
{
@@ -105,5 +105,6 @@
emit stopUpdatesOnVisibility();
quit();
}
+*/
#include "KMixApp.moc"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/KMixApp.h new/kdemultimedia-3.96.1/kmix/KMixApp.h
--- old/kdemultimedia-3.96.0/kmix/KMixApp.h 2006-10-26 04:29:29.000000000 +0200
+++ new/kdemultimedia-3.96.1/kmix/KMixApp.h 2007-11-21 11:48:15.000000000 +0100
@@ -34,12 +34,12 @@
int newInstance ();
public slots:
- void quitExtended(); // For a hack on visibility()
+ //void quitExtended(); // For a hack on visibility()
static void keepVisibility(bool);
-
+/*
signals:
void stopUpdatesOnVisibility();
-
+*/
private:
KMixWindow *m_kmix;
static bool _keepVisibility;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/kmix.cpp new/kdemultimedia-3.96.1/kmix/kmix.cpp
--- old/kdemultimedia-3.96.0/kmix/kmix.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/kmix.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -56,6 +56,7 @@
#include "kmixprefdlg.h"
#include "kmixdockwidget.h"
#include "kmixtoolbox.h"
+//#include "osd.h" // Postponed to KDE4.1
/* KMixWindow
@@ -65,8 +66,8 @@
: KXmlGuiWindow(0),
m_showTicks( true ),
m_showMenubar(true),
- m_isVisible (false), // initialize, as we don't trigger a hideEvent()
- m_visibilityUpdateAllowed( true ),
+// m_isVisible (false), // initialize, as we don't trigger a hideEvent()
+// m_visibilityUpdateAllowed( true ),
m_multiDriverMode (false), // -<- I never-ever want the multi-drivermode to be activated by accident
m_dockWidget()
{
@@ -189,6 +190,9 @@
saveBaseConfig();
saveViewConfig();
saveVolumes();
+#ifdef __GNUC_
+#warn We must Sync here, or we will lose configuration data. The reson for that is unknown.
+#endif
KGlobal::config()->sync();
}
@@ -200,7 +204,8 @@
config.writeEntry( "Position", pos() );
// Cannot use isVisible() here, as in the "aboutToQuit()" case this widget is already hidden.
// (Please note that the problem was only there when quitting via Systray - esken).
- config.writeEntry( "Visible", m_isVisible );
+ // Using it again, as internal behaviour has changed with KDE4
+ config.writeEntry( "Visible", isVisible() );
config.writeEntry( "Menubar", _actionShowMenubar->isChecked() );
config.writeEntry( "AllowDocking", m_showDockWidget );
config.writeEntry( "TrayVolumeControl", m_volumeWidget );
@@ -359,19 +364,20 @@
void KMixWindow::plugged( const char* driverName, const QString& udi, QString& dev)
{
kDebug(67100) << "Plugged: dev=" << dev << "(" << driverName << ") udi=" << udi << "\n";
- QString driverNameString; driverNameString = driverName;
- if ( driverNameString == "ALSA" ) {
- int devNum = dev.toInt();
- kDebug(67100) << "Plugged: devNum=" << devNum << "\n";
- Mixer *mixer = new Mixer( driverNameString, devNum );
+ QString driverNameString;
+ driverNameString = driverName;
+ int devNum = dev.toInt();
+ Mixer *mixer = new Mixer( driverNameString, devNum );
+ if ( mixer != 0 ) {
+ kDebug(67100) << "Plugged: dev=" << dev << "\n";
MixerToolBox::instance()->possiblyAddMixer(mixer);
recreateGUI();
}
- else if ( driverNameString == "OSS" ) {
- }
- else {
- // Unknown driver
- }
+
+// Test code for OSD. But OSD is postponed to KDE4.1
+// OSDWidget* osd = new OSDWidget(0);
+// osd->volChanged(70, true);
+
}
void KMixWindow::unplugged( const QString& udi)
@@ -600,6 +606,7 @@
menuBar()->setVisible(_actionShowMenubar->isChecked());
}
+/*
void KMixWindow::showEvent( QShowEvent * )
{
if ( m_visibilityUpdateAllowed )
@@ -614,11 +621,11 @@
}
}
-
void KMixWindow::stopVisibilityUpdates()
{
m_visibilityUpdateAllowed = false;
}
+*/
void KMixWindow::slotHWInfo()
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/kmix.desktop new/kdemultimedia-3.96.1/kmix/kmix.desktop
--- old/kdemultimedia-3.96.0/kmix/kmix.desktop 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/kmix.desktop 2007-11-21 11:48:15.000000000 +0100
@@ -70,7 +70,6 @@
GenericName[zh_TW]=音效混音器
Name=KMix
Name[af]=Kmix
-Name[ca]=Kmix
Name[eo]=Miksilo
Name[lv]=KMiks
Name[ne]=केडीई मिक्स
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/kmixdevicemanager.cpp new/kdemultimedia-3.96.1/kmix/kmixdevicemanager.cpp
--- old/kdemultimedia-3.96.0/kmix/kmixdevicemanager.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/kmixdevicemanager.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -19,28 +19,19 @@
*/
#include "kmixdevicemanager.h"
+#include
#include <iostream>
-#include <QString>
#include <QObject>
+#include <QRegExp>
+#include <QString>
#include
#include
#include
-/*
-#include
-#include
-#include
-#include
-
-#include "version.h"
-
-static const char description[] =
-I18N_NOOP("kmixd - Soundcard Mixer Device Manager");
-*/
KMixDeviceManager* KMixDeviceManager::s_KMixDeviceManager = 0;
KMixDeviceManager::KMixDeviceManager()
@@ -136,19 +127,28 @@
Solid::AudioInterface *audiohw = device.asSolid::AudioInterface();
if (audiohw && (audiohw->deviceType() & ( Solid::AudioInterface::AudioControl))) {
QString dev;
- switch (audiohw->driver()) {
+ QRegExp devExpr("^\\D+(\\d+)$");
+ switch (audiohw->driver()) {
case Solid::AudioInterface::Alsa:
- dev = audiohw->driverHandle().toList().first().toString();
- std::cout << ">>> Plugged ALSA ='" << udi.toUtf8().data() << "'\n";
- emit plugged("ALSA", udi, dev);
+ if ( _hotpluggingBackend == "ALSA" || _hotpluggingBackend == "*" ) {
+ dev = audiohw->driverHandle().toList().first().toString();
+ emit plugged("ALSA", udi, dev);
+ }
break;
case Solid::AudioInterface::OpenSoundSystem:
- dev = audiohw->driverHandle().toString();
- std::cout << ">>> Plugged OSS ='" << udi.toUtf8().data() << "'\n";
- emit plugged("OSS", udi, dev);
+ if ( _hotpluggingBackend == "OSS" || _hotpluggingBackend == "*" ) {
+ dev = audiohw->driverHandle().toString();
+ if ( devExpr.indexIn(dev) > -1 ) {
+ dev = devExpr.cap(1); // Get device number from device name (e.g "/dev/mixer1" or "/dev/sound/mixer2")
+ }
+ else {
+ dev = "0"; // "/dev/mixer" or "/dev/sound/mixer"
+ }
+ emit plugged("OSS", udi, dev);
+ }
break;
default:
- std::cout << ">>> Plugged UNKNOWN (ignored)\n";
+ kError(67100) << "Plugged UNKNOWN Audio device (ignored)";
break;
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/kmixdevicemanager.h new/kdemultimedia-3.96.1/kmix/kmixdevicemanager.h
--- old/kdemultimedia-3.96.0/kmix/kmixdevicemanager.h 2007-11-06 08:59:57.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/kmixdevicemanager.h 2007-11-21 11:48:15.000000000 +0100
@@ -30,6 +30,7 @@
public:
static KMixDeviceManager* instance();
void initHotplug();
+ void setHotpluggingBackends(QString& backendName) { _hotpluggingBackend = backendName; } ;
QString getUDI_ALSA(int num);
QString getUDI_OSS(QString& devname);
@@ -40,6 +41,8 @@
private:
KMixDeviceManager();
~KMixDeviceManager();
+ QString _hotpluggingBackend;
+
private slots:
void pluggedSlot(const QString&);
void unpluggedSlot(const QString&);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/kmixdockwidget.cpp new/kdemultimedia-3.96.1/kmix/kmixdockwidget.cpp
--- old/kdemultimedia-3.96.0/kmix/kmixdockwidget.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/kmixdockwidget.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -60,7 +60,7 @@
m_mixer = Mixer::getGlobalMasterMixer(); // ugly, but we'll live with that for now
createMasterVolWidget();
createActions();
- connect(this, SIGNAL(quitSelected()), kapp, SLOT(quitExtended()));
+ //connect(this, SIGNAL(quitSelected()), kapp, SLOT(quitExtended()));
}
KMixDockWidget::~KMixDockWidget()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/kmix.h new/kdemultimedia-3.96.1/kmix/kmix.h
--- old/kdemultimedia-3.96.0/kmix/kmix.h 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/kmix.h 2007-11-21 11:48:15.000000000 +0100
@@ -76,8 +76,6 @@
void clearMixerWidgets();
virtual bool queryClose();
- void showEvent( QShowEvent * );
- void hideEvent( QHideEvent * );
public slots:
void quit();
@@ -88,7 +86,10 @@
//void loadVolumes();
void saveVolumes();
virtual void applyPrefs( KMixPrefDlg *prefDlg );
- void stopVisibilityUpdates();
+
+ //void stopVisibilityUpdates();
+ //void showEvent( QShowEvent * );
+ //void hideEvent( QHideEvent * );
void newMixerShown(int tabIndex);
@@ -103,7 +104,7 @@
bool m_onLogin;
bool m_startVisible;
bool m_showMenubar;
- bool m_isVisible;
+// bool m_isVisible;
bool m_visibilityUpdateAllowed;
bool m_multiDriverMode; // Not officially supported.
Qt::Orientation m_toplevelOrientation;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/kmix.notifyrc new/kdemultimedia-3.96.1/kmix/kmix.notifyrc
--- old/kdemultimedia-3.96.0/kmix/kmix.notifyrc 2007-11-14 11:30:52.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/kmix.notifyrc 2007-11-21 11:48:15.000000000 +0100
@@ -1,6 +1,7 @@
[Global]
IconName=kmix
Comment=Sound Mixer
+Comment[ca]=Mesclador de so
Comment[de]=Lautstärkeregler
Comment[el]=Μείκτης ήχου
Comment[es]=Mezclador de sonido
@@ -12,12 +13,14 @@
Comment[nds]=Klangmischer
Comment[nl]=Geluidsmixer
Comment[pt]=Mistura de Som
-Comment[pt_BR]=Mistura de Som
+Comment[pt_BR]=Mixer de Som
Comment[sv]=Ljudmixer
+Comment[x-test]=xxSound Mixerxx
Comment[zh_TW]=音效混音器
[Event/MasterFallback]
Name=Audio Device Fallback
+Name[ca]=Dispositiu d'àudio alternatiu
Name[de]=Sicherungs-Audiogerät
Name[el]=Αναπληρωματική συσκευή ήχου
Name[es]=Dispositivo de audio alternativo
@@ -29,10 +32,12 @@
Name[nds]=Klang-Opbackreedschap
Name[nl]=Terugvalapparaat voor geluid
Name[pt]=Dispositivo Alternativo de Áudio:
-Name[pt_BR]=Dispositivo Alternativo de Áudio:
+Name[pt_BR]=Dispositivo de Áudio para "Fallback"
Name[sv]=Reservljudenhet
+Name[x-test]=xxAudio Device Fallbackxx
Name[zh_TW]=預設音效裝置
Comment=Notification on automatic fallback if the preferred devices in unavailable
+Comment[ca]=Notificació del funcionament automàtic del de reserva si els dispositius preferits no estan disponibles
Comment[de]=Benachrichtigung bei automatischem Wechsel zu der Sicherung, wenn das bevorzugte Gerät nicht verfügbar ist
Comment[el]=Ειδοποίηση αυτόματης χρήσης της αναπληρωματικής συσκευής ήχου, αν η προκαθορισμένη δεν είναι διαθέσιμη
Comment[es]=Notificación sobre la selección automática de un dispositivo de audio alternativo si no está disponible el dispositivo preferido
@@ -44,8 +49,9 @@
Comment[nds]=Bescheed, wenn de vörtrocken Reedschap nich verföögbor is un de Opbackreedschap bruukt warrt
Comment[nl]=Melding van automatische terugval als het apparaat van voorkeur niet beschikbaar is
Comment[pt]=Notificação de última instância se os dispositivos preferidos estiverem indisponíveis
-Comment[pt_BR]=Notificação de última instância se os dispositivos preferidos estiverem indisponíveis
+Comment[pt_BR]=Notificação de "fallback" automático se os dispositivos preferidos estiverem indisponíveis
Comment[sv]=Underrättelse vid automatisk återgång om önskade enheter inte är tillgängliga
+Comment[x-test]=xxNotification on automatic fallback if the preferred devices in unavailablexx
Comment[zh_TW]=若是選用的裝置無法使用時,通知會自動使用預設的裝置
Contexts=Application
Action=Popup
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mdwenum.cpp new/kdemultimedia-3.96.1/kmix/mdwenum.cpp
--- old/kdemultimedia-3.96.0/kmix/mdwenum.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mdwenum.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -119,10 +119,10 @@
void MDWEnum::showContextMenu()
{
- if( m_mixerwidget == NULL )
+ if( m_view == 0 )
return;
- KMenu *menu = m_mixerwidget->getPopup();
+ KMenu *menu = m_view->getPopup();
QPoint pos = QCursor::pos();
menu->popup( pos );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mdwslider.cpp new/kdemultimedia-3.96.1/kmix/mdwslider.cpp
--- old/kdemultimedia-3.96.0/kmix/mdwslider.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mdwslider.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -240,8 +240,7 @@
// --- LABEL -----------------------------------------------
if ( hasVolumeSliders ) {
- // When we have volume sliders, we but the label left of them (in an own layout). Otherwise see below
- kDebug(67100) << ">>> Adding the Default label at _layout (standard)";
+ // When we have volume sliders, we put the label left of them (in an own layout). Otherwise see below at "if ( ! hasVolumeSliders )"
addDefaultLabel( _layout, _orientation);
}
@@ -278,7 +277,6 @@
// -- SLIDERS, LEDS AND ICON
if ( ! hasVolumeSliders ) {
// When we don't have volume sliders, we but the label left of them (in an own layout). Otherwise see below
- kDebug(67100) << ">>> Adding the Default label at volLayout (Switch!)";
addDefaultLabel( volLayout, _orientation );
}
else {
@@ -310,7 +308,7 @@
m_iconLabelSimple = 0L;
if ( showMuteLED ) {
- //kDebug(67100) << ">>> MixDevice " << m_mixdevice->readableName() << " icon calculation:" << endl;
+ //kDebug(67100) << ">>> MixDevice " << m_mixdevice->readableName() << " icon calculation:";
setIcon( m_mixdevice->type() );
m_iconLayout->addWidget( m_iconLabelSimple );
QString muteTip( m_mixdevice->readableName() );
@@ -320,7 +318,7 @@
m_qcb = new QCheckBox(this);
m_iconLayout->addWidget( m_qcb );
m_qcb->installEventFilter(this);
- m_muteText = new QLabel("Mute", this);
+ m_muteText = new QLabel(i18n( "Mute"), this);
m_iconLayout->addWidget( m_muteText );
m_muteText->installEventFilter(this);
connect ( m_qcb, SIGNAL( toggled(bool) ), this, SLOT(toggleMuted() ) );
@@ -376,7 +374,7 @@
QString muteTip( i18n( "Capture/Uncapture %1", m_mixdevice->readableName() ) );
m_captureLED->setToolTip( muteTip ); // @todo: Whatsthis, explaining the device
- m_captureText = new QLabel("Capture", this);
+ m_captureText = new QLabel(i18n("Capture"), this);
reclayout->addWidget( m_captureText );
m_captureText->installEventFilter(this);
} // has capture LED
@@ -546,7 +544,7 @@
else
{
m_iconLabelSimple->setPixmap( miniDevPM );
- //kDebug(67100) << " > simple > icontype=" < simple > icontype=" <configurationUpdate();
}
}
@@ -944,10 +943,10 @@
void MDWSlider::showContextMenu()
{
- if( m_mixerwidget == NULL )
+ if( m_view == 0 )
return;
- KMenu *menu = m_mixerwidget->getPopup();
+ KMenu *menu = m_view->getPopup();
menu->addTitle( SmallIcon( "kmix" ), m_mixdevice->readableName() );
if ( m_slidersPlayback.count()>1 || m_slidersCapture.count()>1) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mdwswitch.cpp new/kdemultimedia-3.96.1/kmix/mdwswitch.cpp
--- old/kdemultimedia-3.96.0/kmix/mdwswitch.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mdwswitch.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -161,10 +161,10 @@
void MDWSwitch::showContextMenu()
{
- if( m_mixerwidget == NULL )
+ if( m_view == 0 )
return;
- KMenu *menu = m_mixerwidget->getPopup();
+ KMenu *menu = m_view->getPopup();
QPoint pos = QCursor::pos();
menu->popup( pos );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mixdevicewidget.cpp new/kdemultimedia-3.96.1/kmix/mixdevicewidget.cpp
--- old/kdemultimedia-3.96.0/kmix/mixdevicewidget.cpp 2007-06-27 12:59:22.000000000 +0200
+++ new/kdemultimedia-3.96.1/kmix/mixdevicewidget.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -60,7 +60,7 @@
MixDeviceWidget::MixDeviceWidget(MixDevice* md,
bool small, Qt::Orientation orientation,
QWidget* parent, ViewBase* mw) :
- QWidget( parent ), m_mixdevice( md ), m_mixerwidget( mw ),
+ QWidget( parent ), m_mixdevice( md ), m_view( mw ),
m_disabled( false ), _orientation( orientation ), m_small( small )
{
_mdwActions = new KActionCollection( this );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mixdevicewidget.h new/kdemultimedia-3.96.1/kmix/mixdevicewidget.h
--- old/kdemultimedia-3.96.0/kmix/mixdevicewidget.h 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mixdevicewidget.h 2007-11-21 11:48:15.000000000 +0100
@@ -77,7 +77,7 @@
protected:
MixDevice* m_mixdevice;
KActionCollection* _mdwActions;
- ViewBase* m_mixerwidget;
+ ViewBase* m_view;
bool m_disabled;
Qt::Orientation _orientation;
bool m_small;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mixer_alsa9.cpp new/kdemultimedia-3.96.1/kmix/mixer_alsa9.cpp
--- old/kdemultimedia-3.96.0/kmix/mixer_alsa9.cpp 2007-11-06 08:59:57.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mixer_alsa9.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -132,7 +132,7 @@
QString msg("No UDI found for '");
msg += devName;
msg += "'. Hotplugging not possible";
- kDebug(67100) << msg << endl;
+ kDebug(67100) << msg;
}
// Run a loop over all controls of the card
unsigned int idx = 0;
@@ -195,8 +195,10 @@
if ( volPlay != 0 ) md->addPlaybackVolume(*volPlay);
if ( volCapture != 0 ) md->addCaptureVolume (*volCapture);
if ( enumList.count() > 0 ) md->addEnums(enumList);
-
- m_mixDevices.append( md );
+
+ m_mixDevices.append( md );
+
+ qDeleteAll(enumList); // clear temporary list
// --- Recommended master ----------------------------------------
if ( mdID == "PCM:0" ) {
@@ -344,7 +346,7 @@
int ret = snd_mixer_selem_get_enum_item_name(elem, iEnum, 99, buffer);
buffer[99] = 0; // protect from overflow
if ( ret == 0 ) {
- QString* enumName = new QString(buffer);
+ QString* enumName = new QString(buffer); // these QString* items are deleted above (search fo "clear temporary list")
enumList.append( enumName);
} // enumName could be read successfully
} // for all enum items of this device
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mixer_backend.cpp new/kdemultimedia-3.96.1/kmix/mixer_backend.cpp
--- old/kdemultimedia-3.96.0/kmix/mixer_backend.cpp 2007-08-29 11:56:50.000000000 +0200
+++ new/kdemultimedia-3.96.1/kmix/mixer_backend.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -25,7 +25,7 @@
#include "mixer.h"
Mixer_Backend::Mixer_Backend(Mixer *mixer, int device) :
- m_devnum (device) , m_isOpen(false), m_recommendedMaster(0), _mixer(mixer)
+ m_devnum (device) , m_isOpen(false), m_recommendedMaster(0), _mixer(mixer), _pollingTimer(0)
{
// In all cases create a QTimer. We will use it once as a singleShot(), even if something smart
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mixer.cpp new/kdemultimedia-3.96.1/kmix/mixer.cpp
--- old/kdemultimedia-3.96.0/kmix/mixer.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mixer.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -92,6 +92,7 @@
kDebug() << "=> Check Unregister DBUS object " << m_dbusName;
//QDBusConnection::sessionBus().unregisterObject(m_dbusName);
close();
+ delete _mixerBackend;
}
void Mixer::volumeSave( KConfig *config )
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mixer_oss.cpp new/kdemultimedia-3.96.1/kmix/mixer_oss.cpp
--- old/kdemultimedia-3.96.0/kmix/mixer_oss.cpp 2007-11-06 08:59:57.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mixer_oss.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -119,7 +119,7 @@
QString msg("No UDI found for '");
msg += finalDeviceName;
msg += "'. Hotplugging not possible";
- kDebug(67100) << msg << endl;
+ kDebug(67100) << msg;
}
int devmask, recmask, i_recsrc, stereodevs;
// Mixer is open. Now define properties
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/mixertoolbox.cpp new/kdemultimedia-3.96.1/kmix/mixertoolbox.cpp
--- old/kdemultimedia-3.96.0/kmix/mixertoolbox.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/mixertoolbox.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -28,6 +28,7 @@
#include
#include "guiprofile.h"
+#include "kmixdevicemanager.h"
#include "mixdevice.h"
#include "mixer.h"
@@ -185,6 +186,11 @@
{
// this will only be possible by hacking the config-file, as it will not be officially supported
ref_hwInfoString += "\nExperimental multiple-Driver mode activated";
+ QString allDrivermatch("*");
+ KMixDeviceManager::instance()->setHotpluggingBackends(allDrivermatch);
+ }
+ else {
+ KMixDeviceManager::instance()->setHotpluggingBackends(driverInfoUsed);
}
kDebug(67100) << ref_hwInfoString << endl << "Total number of detected Mixers: " << Mixer::mixers().count();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/TODO new/kdemultimedia-3.96.1/kmix/TODO
--- old/kdemultimedia-3.96.0/kmix/TODO 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/TODO 2007-11-21 11:48:15.000000000 +0100
@@ -1,20 +1,18 @@
TODO list
KDE4
-1) Remove ComboBox and replace it by a TabBar "corner widget" (like the konsole session menu)
-Status: OK (you can "cycle" through your soundcards now)
+1) Remove ComboBox and replace it by a TabBar "corner widget" (Postponed: Not for KDE4.0)
+(like the konsole session menu)
-2) Replace "confusing green LED" (Under work. 90% done)
-Uses now a checkbox. Open issue: Add a label to the left, telling the user this is a mute button)
+2) Replace "confusing green LED" (DONE)
-3) Replace "confusing red LED" (Pending)
+3) Replace "confusing red LED" (DONE)
-4) Change "id" of capture controls in mixer_alsa9.cpp.
+4) Change "id" of capture controls in mixer_alsa9.cpp. (DONE)
Rationale: We need this, so that no control id conflicts arise.
e.g. if there is a "PCM play" and a "PCM capture", everything will work strange.
Especially saving and restoring will fail. But there can also be a lot of runtime issues,
at ANY place that uses mixer ID's (and there are a lot!)
-Status: OK
5) Move balance slider out of bottom and make it a virtual control.
Status: Pending
@@ -26,13 +24,13 @@
7) Several bug reports, including the Audigy stuff. (DONE)
-8) Resolve show issue after starting KMix (Pending)
+8) Resolve show issue after starting KMix (DONE)
9) Get Global Keyboard Shurtcuts work again (Pending)
-10) Layout: KMix can be made so small that Labels are partially hidden (Pending)
+10) Layout: KMix can be made so small that Labels are partially hidden (DONE)
-11) Layout: MDWSwitch layout has to be redone
+11) Layout: MDWSwitch layout has to be redone (Pending)
------------------------------------------------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/viewbase.cpp new/kdemultimedia-3.96.1/kmix/viewbase.cpp
--- old/kdemultimedia-3.96.0/kmix/viewbase.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/viewbase.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -36,6 +36,7 @@
#include
// KMix
#include "dialogviewconfiguration.h"
+#include "guiprofile.h"
#include "kmixtoolbox.h"
#include "mixdevicewidget.h"
#include "mixer.h"
@@ -80,6 +81,7 @@
ViewBase::~ViewBase() {
delete _mixSet;
+ delete _guiprof;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/viewdockareapopup.cpp new/kdemultimedia-3.96.1/kmix/viewdockareapopup.cpp
--- old/kdemultimedia-3.96.0/kmix/viewdockareapopup.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/viewdockareapopup.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -44,7 +44,7 @@
// Users will not be able to close the Popup without opening the KMix main window then.
// See Bug #93443, #96332 and #96404 for further details. -- esken
ViewDockAreaPopup::ViewDockAreaPopup(QWidget* parent, const char* name, Mixer* mixer, ViewBase::ViewFlags vflags, GUIProfile *guiprof, KMixDockWidget *dockW )
- : ViewBase(parent, name, mixer, Qt::Popup | Qt::MSWindowsFixedSizeDialogHint , vflags, guiprof), _mdw(0), _dock(dockW)
+ : ViewBase(parent, name, mixer, Qt::Popup | Qt::MSWindowsFixedSizeDialogHint , vflags, guiprof), _mdw(0), _dock(dockW), _hideTimer(0)
{
QBoxLayout *layout = new QHBoxLayout( this );
_frame = new QFrame( this );
@@ -62,6 +62,7 @@
}
ViewDockAreaPopup::~ViewDockAreaPopup() {
+ delete _hideTimer;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/viewsliders.cpp new/kdemultimedia-3.96.1/kmix/viewsliders.cpp
--- old/kdemultimedia-3.96.0/kmix/viewsliders.cpp 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/viewsliders.cpp 2007-11-21 11:48:15.000000000 +0100
@@ -69,6 +69,7 @@
}
ViewSliders::~ViewSliders() {
+ qDeleteAll(_separators);
}
@@ -78,8 +79,8 @@
MixDeviceWidget *mdw;
Qt::Orientation orientation = (_vflags & ViewBase::Vertical) ? Qt::Horizontal : Qt::Vertical;
- /* Hint: We allow to put Enum's in the same View as sliders and switches.
- Normally you won't do this, but the creator of the Profile is at least free to do so if he wishes. */
+
+
if ( md->isEnum() ) {
mdw = new MDWEnum(
md, // MixDevice (parameter)
@@ -90,9 +91,14 @@
_layoutEnum->addWidget(mdw);
} // an enum
else {
- QFrame *_frm = new QFrame(this);
- _frm->setFrameStyle(QFrame::VLine | QFrame::Raised);
- _layoutSliders->addWidget(_frm);
+ // add a separator before the device
+ QFrame *_frm = new QFrame(this);
+ if ( orientation == Qt::Vertical)
+ _frm->setFrameStyle(QFrame::VLine | QFrame::Raised);
+ else
+ _frm->setFrameStyle(QFrame::HLine | QFrame::Raised);
+ _separators.insert(md->id(),_frm);
+ _layoutSliders->addWidget(_frm);
mdw = new MDWSlider(
md, // MixDevice (parameter)
true, // Show Mute LED
@@ -103,6 +109,8 @@
this ); // View widget
_layoutSliders->addWidget(mdw);
}
+
+
return mdw;
}
@@ -167,20 +175,30 @@
}
void ViewSliders::configurationUpdate() {
- // Adjust height of top part by setting it to the maximum of all mdw's
- int topPartExtent = 0;
- int bottomPartExtent = 0;
- for ( int i=0; i<_mdws.count(); i++ ) {
- MDWSlider* mdw = ::qobject_cast(_mdws[i]);
- if ( mdw && mdw->playbackExtentHint() > topPartExtent ) topPartExtent = mdw->playbackExtentHint();
- if ( mdw && mdw->playbackExtentHint() > bottomPartExtent ) bottomPartExtent = mdw->playbackExtentHint();
- }
- kDebug(67100) << "topPartExtent is " << topPartExtent;
- for ( int i=0; i<_mdws.count(); i++ ) {
- MDWSlider* mdw = ::qobject_cast(_mdws[i]);
- if ( mdw ) mdw->setPlaybackExtent(topPartExtent);
- if ( mdw ) mdw->setCaptureExtent(bottomPartExtent);
- }
+ // Adjust height of top part by setting it to the maximum of all mdw's
+ int topPartExtent = 0;
+ int bottomPartExtent = 0;
+ for ( int i=0; i<_mdws.count(); i++ ) {
+ MDWSlider* mdw = ::qobject_cast(_mdws[i]);
+ if ( mdw && mdw->playbackExtentHint() > topPartExtent ) topPartExtent = mdw->playbackExtentHint();
+ if ( mdw && mdw->playbackExtentHint() > bottomPartExtent ) bottomPartExtent = mdw->playbackExtentHint();
+ }
+ kDebug(67100) << "topPartExtent is " << topPartExtent;
+ bool firstVisibleControlFound = false;
+ for ( int i=0; i<_mdws.count(); i++ ) {
+ MDWSlider* mdw = ::qobject_cast(_mdws[i]);
+ if ( mdw ) {
+ mdw->setPlaybackExtent(topPartExtent);
+ mdw->setCaptureExtent(bottomPartExtent);
+ bool thisControlIsVisible = mdw->isVisibleTo(this);
+ bool showSeparator = ( firstVisibleControlFound && thisControlIsVisible);
+ if ( _separators.contains( mdw->mixDevice()->id() )) {
+ QFrame* sep = _separators[mdw->mixDevice()->id()];
+ sep->setVisible(showSeparator);
+ }
+ if ( thisControlIsVisible ) firstVisibleControlFound=true;
+ }
+ } // for all MDW's
_layoutMDW->activate();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdemultimedia-3.96.0/kmix/viewsliders.h new/kdemultimedia-3.96.1/kmix/viewsliders.h
--- old/kdemultimedia-3.96.0/kmix/viewsliders.h 2007-11-14 01:19:14.000000000 +0100
+++ new/kdemultimedia-3.96.1/kmix/viewsliders.h 2007-11-21 11:48:15.000000000 +0100
@@ -22,6 +22,8 @@
#define ViewSliders_h
class QBoxLayout;
+#include <QFrame>
+#include <QHash>
class QWidget;
class Mixer;
@@ -46,6 +48,7 @@
QBoxLayout* _layoutMDW;
QLayout* _layoutSliders;
QLayout* _layoutEnum;
+ QHash _separators;
};
#endif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org