summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-06-02 14:34:01 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-06-02 14:34:23 +0900
commit31e8d7b9730b3602acf615cd348204891290c057 (patch)
tree1e314b3b2e1fb9741b15a7ddbe7f10f96738aa04
parent729d966302ae52043aca87fdda768a65ccf0ea09 (diff)
downloadtdemultimedia-31e8d7b9730b3602acf615cd348204891290c057.tar.gz
tdemultimedia-31e8d7b9730b3602acf615cd348204891290c057.zip
KMix: fixed 'select channel' dialog cancel logic.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
-rw-r--r--kmix/dialogselectmaster.cpp46
-rw-r--r--kmix/dialogselectmaster.h3
-rw-r--r--kmix/kmixdockwidget.cpp2
3 files changed, 29 insertions, 22 deletions
diff --git a/kmix/dialogselectmaster.cpp b/kmix/dialogselectmaster.cpp
index 06b8d22c..7dbd9d13 100644
--- a/kmix/dialogselectmaster.cpp
+++ b/kmix/dialogselectmaster.cpp
@@ -38,7 +38,7 @@
#include "mixdevice.h"
#include "mixer.h"
-DialogSelectMaster::DialogSelectMaster( Mixer *mixer )
+DialogSelectMaster::DialogSelectMaster(Mixer *mixer)
: KDialogBase( Plain, i18n( "Select Master Channel" ), Ok|Cancel, Ok )
{
_layout = 0;
@@ -69,8 +69,8 @@ void DialogSelectMaster::createWidgets(Mixer *ptr_mixer)
m_vboxChannels = new TQVBox(m_mainFrame);
_layout->add(m_vboxChannels);
- if ( Mixer::mixers().count() > 1 ) {
- //kdDebug(67100) << "DialogSelectMaster::createPage count()>1" << "\n";
+ if (Mixer::mixers().count() > 1) {
+ //kdDebug(67100) << "DialogSelectMaster::createWidgets count()>1" << "\n";
// More than one Mixer => show Combo-Box to select Mixer
// Mixer widget line
TQHBox *hboxMixerName = new TQHBox(m_vboxChannels);
@@ -84,19 +84,12 @@ void DialogSelectMaster::createWidgets(Mixer *ptr_mixer)
TQToolTip::add(m_cMixer, i18n("Current mixer"));
connect(m_cMixer, TQT_SIGNAL(activated(int)), this, TQT_SLOT(createPageByID(int)));
- //int id=1;
for ( Mixer *mixer = Mixer::mixers().first(); mixer !=0; mixer = Mixer::mixers().next() ) {
- m_cMixer->insertItem( mixer->mixerName() );
- if ( ptr_mixer == mixer ) {
- // Make the current Mixer the current item in the ComboBos
- m_cMixer->setCurrentItem( m_cMixer->count()-1 );
- }
- //id++;
- } // end for all_Mixers
- } // end if (more_than_1_Mixer)
+ m_cMixer->insertItem(mixer->mixerName());
+ }
+ }
TQLabel *qlbl = new TQLabel( i18n("Select the channel representing the master volume:"), m_vboxChannels );
- _layout->addWidget(qlbl);
m_scrollableChannelSelector = new TQScrollView(m_vboxChannels, "scrollableChannelSelector");
m_scrollableChannelSelector->viewport()->setBackgroundMode(TQt::PaletteBackground);
@@ -104,8 +97,11 @@ void DialogSelectMaster::createWidgets(Mixer *ptr_mixer)
m_buttonGroupForScrollView = new TQButtonGroup(this); // invisible TQButtonGroup
m_buttonGroupForScrollView->hide();
- createPage(ptr_mixer);
+ connect( this, TQT_SIGNAL(okClicked()) , this, TQT_SLOT(apply()) );
+}
+void DialogSelectMaster::show(Mixer *curr_mixer)
+{
kapp->config()->setGroup(0);
bool useDefaultMaster = kapp->config()->readBoolEntry("UseDefaultMaster", true);
if (useDefaultMaster)
@@ -118,7 +114,16 @@ void DialogSelectMaster::createWidgets(Mixer *ptr_mixer)
}
masterSelectionChanged(0);
- connect( this, TQT_SIGNAL(okClicked()) , this, TQT_SLOT(apply()) );
+ for (Mixer *mixer = Mixer::mixers().first(); mixer; mixer = Mixer::mixers().next())
+ {
+ if (curr_mixer == mixer)
+ {
+ m_cMixer->setCurrentItem(mixer->mixerName());
+ }
+ }
+ createPage(curr_mixer);
+
+ KDialog::show();
}
void DialogSelectMaster::masterSelectionChanged(int _unused)
@@ -132,9 +137,10 @@ void DialogSelectMaster::masterSelectionChanged(int _unused)
*/
void DialogSelectMaster::createPageByID(int mixerId)
{
- //kdDebug(67100) << "DialogSelectMaster::createPage()" << endl;
+ //kdDebug(67100) << "DialogSelectMaster::createPageByID()" << endl;
Mixer *mixer = Mixer::mixers().at(mixerId);
- if ( mixer == 0 ) {
+ if (!mixer)
+ {
kdError(67100) << "DialogSelectMaster::createPage(): Invalid Mixer (mixerID=" << mixerId << ")" << endl;
return; // can not happen
}
@@ -145,7 +151,7 @@ void DialogSelectMaster::createPageByID(int mixerId)
* Create RadioButton's for the Mixer with number 'mixerId'.
* @par mixerId The Mixer, for which the RadioButton's should be created.
*/
-void DialogSelectMaster::createPage(Mixer* mixer)
+void DialogSelectMaster::createPage(Mixer *mixer)
{
/** --- Reset page -----------------------------------------------
@@ -186,7 +192,7 @@ void DialogSelectMaster::createPage(Mixer* mixer)
}
}
- m_vboxForScrollView->show(); // show() is neccesary starting with the second call to createPage()
+ m_vboxForScrollView->show(); // show() is necessary starting with the second call to createPage()
}
@@ -202,7 +208,7 @@ void DialogSelectMaster::apply()
//kdDebug(67100) << "DialogSelectMaster::apply(): default master=" << m_defaultMaster->isChecked() << ", card=" << soundcard_id << ", channel=" << channel_id << endl;
Mixer *mixer = Mixer::mixers().at(soundcard_id);
if ( mixer == 0 ) {
- kdError(67100) << "DialogSelectMaster::createPage(): Invalid Mixer (mixerID=" << soundcard_id << ")" << endl;
+ kdError(67100) << "DialogSelectMaster::apply(): Invalid Mixer (mixerID=" << soundcard_id << ")" << endl;
return; // can not happen
}
else {
diff --git a/kmix/dialogselectmaster.h b/kmix/dialogselectmaster.h
index 88ce89f4..ea26798a 100644
--- a/kmix/dialogselectmaster.h
+++ b/kmix/dialogselectmaster.h
@@ -18,8 +18,9 @@ class DialogSelectMaster : public KDialogBase
Q_OBJECT
public:
- DialogSelectMaster(Mixer *);
+ DialogSelectMaster(Mixer *mixer);
~DialogSelectMaster();
+ void show(Mixer *curr_mixer);
signals:
void newMasterSelected(bool defaultMaster, int soundcard_id, const TQString &channel_id);
diff --git a/kmix/kmixdockwidget.cpp b/kmix/kmixdockwidget.cpp
index 1900f184..125e16da 100644
--- a/kmix/kmixdockwidget.cpp
+++ b/kmix/kmixdockwidget.cpp
@@ -173,7 +173,7 @@ void KMixDockWidget::selectMaster()
_dsm = new DialogSelectMaster(m_mixer);
connect(_dsm, TQT_SIGNAL(newMasterSelected(bool, int, const TQString&)), TQT_SLOT( handleNewMaster(bool, int, const TQString&)));
}
- _dsm->show();
+ _dsm->show(m_mixer);
}