summaryrefslogtreecommitdiff
path: root/muse2/muse/mixer
diff options
context:
space:
mode:
authorOrcan Ogetbil <oget.fedora@gmail.com>2011-09-09 03:49:53 +0000
committerOrcan Ogetbil <oget.fedora@gmail.com>2011-09-09 03:49:53 +0000
commitad72332d2cbd0d22e5d49d9fd60c985e563b17d0 (patch)
tree11f22bb42664eb9e8aa2527ec175d20dd09a0390 /muse2/muse/mixer
parentd3e8a1b4c98cb3ba8b73f367ea88ad23f8dbca66 (diff)
namespace work (part deux)
Diffstat (limited to 'muse2/muse/mixer')
-rw-r--r--muse2/muse/mixer/astrip.cpp34
-rw-r--r--muse2/muse/mixer/astrip.h23
-rw-r--r--muse2/muse/mixer/auxknob.cpp5
-rw-r--r--muse2/muse/mixer/auxknob.h4
-rw-r--r--muse2/muse/mixer/mstrip.cpp32
-rw-r--r--muse2/muse/mixer/mstrip.h27
-rw-r--r--muse2/muse/mixer/panknob.cpp8
-rw-r--r--muse2/muse/mixer/rack.cpp8
-rw-r--r--muse2/muse/mixer/strip.cpp2
-rw-r--r--muse2/muse/mixer/strip.h9
10 files changed, 85 insertions, 67 deletions
diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp
index 11927e25..4084a7d4 100644
--- a/muse2/muse/mixer/astrip.cpp
+++ b/muse2/muse/mixer/astrip.cpp
@@ -601,7 +601,7 @@ void AudioStrip::updateChannels()
if (c > channel) {
for (int cc = channel; cc < c; ++cc) {
- meter[cc] = new Meter(this);
+ meter[cc] = new MusEWidget::Meter(this);
//meter[cc]->setRange(MusEConfig::config.minSlider, 10.0);
meter[cc]->setRange(MusEConfig::config.minMeter, 10.0);
meter[cc]->setFixedWidth(15);
@@ -624,14 +624,14 @@ void AudioStrip::updateChannels()
}
//---------------------------------------------------------
-// addKnob
+// addMusEWidget::Knob
// type = 0 - panorama
// 1 - aux send
//---------------------------------------------------------
-Knob* AudioStrip::addKnob(int type, int id, DoubleLabel** dlabel)
+MusEWidget::Knob* AudioStrip::addKnob(int type, int id, MusEWidget::DoubleLabel** dlabel)
{
- Knob* knob = new Knob(this);
+ MusEWidget::Knob* knob = new MusEWidget::Knob(this);
knob->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
if (type == 0)
knob->setRange(-1.0, +1.0);
@@ -644,11 +644,11 @@ Knob* AudioStrip::addKnob(int type, int id, DoubleLabel** dlabel)
else
knob->setToolTip(tr("aux send level"));
- DoubleLabel* pl;
+ MusEWidget::DoubleLabel* pl;
if (type == 0)
- pl = new DoubleLabel(0, -1.0, +1.0, this);
+ pl = new MusEWidget::DoubleLabel(0, -1.0, +1.0, this);
else
- pl = new DoubleLabel(0.0, MusEConfig::config.minSlider, 10.1, this);
+ pl = new MusEWidget::DoubleLabel(0.0, MusEConfig::config.minSlider, 10.1, this);
if (dlabel)
*dlabel = pl;
@@ -733,7 +733,7 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
int ch = 0;
for (; ch < channel; ++ch)
- meter[ch] = new Meter(this);
+ meter[ch] = new MusEWidget::Meter(this);
for (; ch < MAX_CHANNELS; ++ch)
meter[ch] = 0;
@@ -786,8 +786,8 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
int auxsSize = song->auxs()->size();
if (t->hasAuxSend()) {
for (int idx = 0; idx < auxsSize; ++idx) {
- DoubleLabel* al;
- Knob* ak = addKnob(1, idx, &al);
+ MusEWidget::DoubleLabel* al;
+ MusEWidget::Knob* ak = addKnob(1, idx, &al);
auxKnob.push_back(ak);
auxLabel.push_back(al);
double val = fast_log10(t->auxSend(idx))*20.0;
@@ -810,7 +810,7 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
sliderGrid->setContentsMargins(0, 0, 0, 0);
sliderGrid->setSpacing(0);
- slider = new Slider(this, "vol", Qt::Vertical, Slider::None);
+ slider = new MusEWidget::Slider(this, "vol", Qt::Vertical, MusEWidget::Slider::None);
slider->setCursorHoming(true);
slider->setRange(MusEConfig::config.minSlider-0.1, 10.0);
@@ -831,7 +831,7 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
sliderGrid->addItem(new QSpacerItem(2,0),0,3);
grid->addLayout(sliderGrid, _curGridRow++, 0, 1, 2);
- sl = new DoubleLabel(0.0, MusEConfig::config.minSlider, 10.0, this);
+ sl = new MusEWidget::DoubleLabel(0.0, MusEConfig::config.minSlider, 10.0, this);
sl->setSlider(slider);
sl->setFont(MusEConfig::config.fonts[1]);
sl->setBackgroundRole(QPalette::Mid);
@@ -862,7 +862,7 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
//---------------------------------------------------
if (track->canRecord()) {
- record = new TransparentToolButton(this);
+ record = new MusEWidget::TransparentToolButton(this);
record->setCheckable(true);
record->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
record->setBackgroundRole(QPalette::Mid);
@@ -919,7 +919,7 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
solo->setToolTip(tr("solo mode"));
}
- off = new TransparentToolButton(this);
+ off = new MusEWidget::TransparentToolButton(this);
QIcon iconSet;
iconSet.addPixmap(*exit1Icon, QIcon::Normal, QIcon::On);
iconSet.addPixmap(*exitIcon, QIcon::Normal, QIcon::Off);
@@ -967,7 +967,7 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
// automation type
//---------------------------------------------------
- autoType = new ComboBox();
+ autoType = new MusEWidget::ComboBox();
autoType->setFont(MusEConfig::config.fonts[1]);
autoType->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
@@ -1025,7 +1025,7 @@ AudioStrip::AudioStrip(QWidget* parent, AudioTrack* at)
void AudioStrip::iRoutePressed()
{
- RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
+ MusEWidget::RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
iR->setDown(false);
pup->exec(QCursor::pos(), track, false);
}
@@ -1036,7 +1036,7 @@ void AudioStrip::iRoutePressed()
void AudioStrip::oRoutePressed()
{
- RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
+ MusEWidget::RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
oR->setDown(false);
pup->exec(QCursor::pos(), track, true);
}
diff --git a/muse2/muse/mixer/astrip.h b/muse2/muse/mixer/astrip.h
index 19b1d8b9..fc25bb9b 100644
--- a/muse2/muse/mixer/astrip.h
+++ b/muse2/muse/mixer/astrip.h
@@ -29,17 +29,20 @@
#include "strip.h"
//#include "route.h"
+namespace MusEWidget {
+class DoubleLabel;
class Slider;
class Knob;
+class TransparentToolButton;
+}
+
//class QDialog;
class QToolButton;
//class QAction;
//class QPopupMenu;
//class PopupMenu;
class QButton;
-class TransparentToolButton;
class AudioTrack;
-class DoubleLabel;
class EffectRack;
//---------------------------------------------------------
@@ -50,19 +53,19 @@ class AudioStrip : public Strip {
Q_OBJECT
int channel;
- Slider* slider;
- DoubleLabel* sl;
+ MusEWidget::Slider* slider;
+ MusEWidget::DoubleLabel* sl;
EffectRack* rack;
- Knob* pan;
- DoubleLabel* panl;
+ MusEWidget::Knob* pan;
+ MusEWidget::DoubleLabel* panl;
- std::vector<Knob*> auxKnob;
- std::vector<DoubleLabel*> auxLabel;
+ std::vector<MusEWidget::Knob*> auxKnob;
+ std::vector<MusEWidget::DoubleLabel*> auxLabel;
QToolButton* stereo;
QToolButton* pre;
- TransparentToolButton* off;
+ MusEWidget::TransparentToolButton* off;
double volume;
double panVal;
@@ -70,7 +73,7 @@ class AudioStrip : public Strip {
//QToolButton* iR;
//QToolButton* oR;
- Knob* addKnob(int, int, DoubleLabel**);
+ MusEWidget::Knob* addKnob(int, int, MusEWidget::DoubleLabel**);
void updateOffState();
void updateVolume();
diff --git a/muse2/muse/mixer/auxknob.cpp b/muse2/muse/mixer/auxknob.cpp
index d770fe7b..a9b9c4e2 100644
--- a/muse2/muse/mixer/auxknob.cpp
+++ b/muse2/muse/mixer/auxknob.cpp
@@ -25,12 +25,14 @@
#include "auxknob.h"
#include "gconfig.h"
+namespace MusEWidget {
+
//---------------------------------------------------------
// Aux
//---------------------------------------------------------
AuxKnob::AuxKnob(QWidget* parent, int i)
- : Knob(parent, "aux")
+ : MusEWidget::Knob(parent, "aux")
{
idx = i;
setRange(MusEConfig::config.minSlider-0.1, 10.0);
@@ -53,3 +55,4 @@ void AuxKnob::valueChanged(double val)
emit auxChanged(idx, vol);
}
+} // namespace MusEWidget
diff --git a/muse2/muse/mixer/auxknob.h b/muse2/muse/mixer/auxknob.h
index 6e20b05a..c8693698 100644
--- a/muse2/muse/mixer/auxknob.h
+++ b/muse2/muse/mixer/auxknob.h
@@ -26,6 +26,8 @@
#include "knob.h"
+namespace MusEWidget {
+
//---------------------------------------------------------
// AuxKnob
//---------------------------------------------------------
@@ -44,5 +46,7 @@ class AuxKnob : public Knob {
AuxKnob(QWidget* parent, int idx);
};
+} // namespace MusEWidget
+
#endif
diff --git a/muse2/muse/mixer/mstrip.cpp b/muse2/muse/mixer/mstrip.cpp
index 17d21b21..d8e09adb 100644
--- a/muse2/muse/mixer/mstrip.cpp
+++ b/muse2/muse/mixer/mstrip.cpp
@@ -92,7 +92,7 @@ void MidiStrip::addKnob(int idx, const QString& tt, const QString& label,
mn = mc->minVal();
mx = mc->maxVal();
- Knob* knob = new Knob(this);
+ MusEWidget::Knob* knob = new MusEWidget::Knob(this);
knob->setRange(double(mn), double(mx), 1.0);
knob->setId(ctl);
@@ -102,7 +102,7 @@ void MidiStrip::addKnob(int idx, const QString& tt, const QString& label,
knob->setToolTip(tt);
knob->setEnabled(enabled);
- DoubleLabel* dl = new DoubleLabel(0.0, double(mn), double(mx), this);
+ MusEWidget::DoubleLabel* dl = new MusEWidget::DoubleLabel(0.0, double(mn), double(mx), this);
dl->setId(idx);
dl->setSpecialText(tr("off"));
dl->setToolTip(tr("double click on/off"));
@@ -203,7 +203,7 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
int mn = mc->minVal();
int mx = mc->maxVal();
- slider = new Slider(this, "vol", Qt::Vertical, Slider::None,
+ slider = new MusEWidget::Slider(this, "vol", Qt::Vertical, MusEWidget::Slider::None,
QColor(100, 255, 100));
slider->setCursorHoming(true);
slider->setRange(double(mn), double(mx), 1.0);
@@ -211,7 +211,7 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
slider->setFont(MusEConfig::config.fonts[1]);
slider->setId(CTRL_VOLUME);
- meter[0] = new Meter(this, Meter::LinMeter);
+ meter[0] = new MusEWidget::Meter(this, MusEWidget::Meter::LinMeter);
meter[0]->setRange(0, 127.0);
meter[0]->setFixedWidth(15);
connect(meter[0], SIGNAL(mousePress()), this, SLOT(resetPeaks()));
@@ -222,7 +222,7 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
sliderGrid->addWidget(meter[0], 0, 1, Qt::AlignLeft);
grid->addLayout(sliderGrid, _curGridRow++, 0, 1, 2);
- sl = new DoubleLabel(0.0, -98.0, 0.0, this);
+ sl = new MusEWidget::DoubleLabel(0.0, -98.0, 0.0, this);
sl->setFont(MusEConfig::config.fonts[1]);
sl->setBackgroundRole(QPalette::Mid);
sl->setSpecialText(tr("off"));
@@ -290,7 +290,7 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
// record, mixdownfile
//---------------------------------------------------
- record = new TransparentToolButton(this);
+ record = new MusEWidget::TransparentToolButton(this);
record->setBackgroundRole(QPalette::Mid);
record->setCheckable(true);
record->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
@@ -348,7 +348,7 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
// Special here: Must make label same size as the 'exit' button would be IF this were an audio strip...
// (The 'exit1' icon is BIGGER than the 'record on' icon.)
- TransparentToolButton* off = new TransparentToolButton(this);
+ MusEWidget::TransparentToolButton* off = new MusEWidget::TransparentToolButton(this);
QIcon iconOff;
iconOff.addPixmap(*exit1Icon, QIcon::Normal, QIcon::On);
iconOff.addPixmap(*exitIcon, QIcon::Normal, QIcon::Off);
@@ -374,7 +374,7 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
QToolTip::add(dev_ch_label, tr("output port and channel"));
*/
- off = new TransparentToolButton(this);
+ off = new MusEWidget::TransparentToolButton(this);
QIcon iconOff;
iconOff.addPixmap(*exit1Icon, QIcon::Normal, QIcon::On);
iconOff.addPixmap(*exitIcon, QIcon::Normal, QIcon::Off);
@@ -420,7 +420,7 @@ MidiStrip::MidiStrip(QWidget* parent, MidiTrack* t)
// automation mode
//---------------------------------------------------
- autoType = new ComboBox();
+ autoType = new MusEWidget::ComboBox();
autoType->setFont(MusEConfig::config.fonts[1]);
autoType->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
autoType->setEnabled(false);
@@ -674,7 +674,7 @@ void MidiStrip::updateControls()
{
//if(nvolume != volume)
//{
- // DoubleLabel ignores the value if already set...
+ // MusEWidget::DoubleLabel ignores the value if already set...
sl->setValue(sl->off() - 1.0);
//volume = nvolume;
//}
@@ -736,7 +736,7 @@ void MidiStrip::updateControls()
int npan = mp->hwCtrlState(channel, CTRL_PANPOT);
if(npan == CTRL_VAL_UNKNOWN)
{
- // DoubleLabel ignores the value if already set...
+ // MusEWidget::DoubleLabel ignores the value if already set...
//if(npan != pan)
//{
gcon->dl->setValue(gcon->dl->off() - 1.0);
@@ -788,7 +788,7 @@ void MidiStrip::updateControls()
int nvariSend = icl->second->hwVal();
if(nvariSend == CTRL_VAL_UNKNOWN)
{
- // DoubleLabel ignores the value if already set...
+ // MusEWidget::DoubleLabel ignores the value if already set...
//if(nvariSend != variSend)
//{
gcon->dl->setValue(gcon->dl->off() - 1.0);
@@ -836,7 +836,7 @@ void MidiStrip::updateControls()
int nreverbSend = icl->second->hwVal();
if(nreverbSend == CTRL_VAL_UNKNOWN)
{
- // DoubleLabel ignores the value if already set...
+ // MusEWidget::DoubleLabel ignores the value if already set...
//if(nreverbSend != reverbSend)
//{
gcon->dl->setValue(gcon->dl->off() - 1.0);
@@ -884,7 +884,7 @@ void MidiStrip::updateControls()
int nchorusSend = icl->second->hwVal();
if(nchorusSend == CTRL_VAL_UNKNOWN)
{
- // DoubleLabel ignores the value if already set...
+ // MusEWidget::DoubleLabel ignores the value if already set...
//if(nchorusSend != chorusSend)
//{
gcon->dl->setValue(gcon->dl->off() - 1.0);
@@ -1012,7 +1012,7 @@ void MidiStrip::setReverbSend(double val)
void MidiStrip::iRoutePressed()
{
- RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
+ MusEWidget::RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
iR->setDown(false);
pup->exec(QCursor::pos(), track, false);
}
@@ -1023,7 +1023,7 @@ void MidiStrip::iRoutePressed()
void MidiStrip::oRoutePressed()
{
- RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
+ MusEWidget::RoutePopupMenu* pup = MusEGlobal::muse->getRoutingPopupMenu();
oR->setDown(false);
pup->exec(QCursor::pos(), track, true);
}
diff --git a/muse2/muse/mixer/mstrip.h b/muse2/muse/mixer/mstrip.h
index 54adc161..2f0a133d 100644
--- a/muse2/muse/mixer/mstrip.h
+++ b/muse2/muse/mixer/mstrip.h
@@ -27,15 +27,20 @@
#include "strip.h"
#include <QLabel>
-class Slider;
-class DoubleLabel;
+class QAction;
class QDialog;
-class Knob;
-class QString;
-class MidiTrack;
class QLabel;
-class QAction;
+class QString;
+
+namespace MusEWidget {
+class DoubleLabel;
+class Knob;
+class Slider;
class TransparentToolButton;
+}
+
+class MidiTrack;
+
//---------------------------------------------------------
// MidiStrip
@@ -44,13 +49,13 @@ class TransparentToolButton;
class MidiStrip : public Strip {
Q_OBJECT
- Slider* slider;
- DoubleLabel* sl;
- TransparentToolButton* off;
+ MusEWidget::Slider* slider;
+ MusEWidget::DoubleLabel* sl;
+ MusEWidget::TransparentToolButton* off;
struct KNOB {
- Knob* knob;
- DoubleLabel* dl;
+ MusEWidget::Knob* knob;
+ MusEWidget::DoubleLabel* dl;
QLabel* lb;
} controller[4]; // pan variation reverb chorus
diff --git a/muse2/muse/mixer/panknob.cpp b/muse2/muse/mixer/panknob.cpp
index e78a4837..077b39e1 100644
--- a/muse2/muse/mixer/panknob.cpp
+++ b/muse2/muse/mixer/panknob.cpp
@@ -27,11 +27,11 @@
#include "track.h"
//---------------------------------------------------------
-// PanKnob
+// PanMusEWidget::Knob
//---------------------------------------------------------
-PanKnob::PanKnob(QWidget* parent, AudioTrack* s)
- : Knob(parent, "pan")
+PanMusEWidget::Knob::PanMusEWidget::Knob(QWidget* parent, AudioTrack* s)
+ : MusEWidget::Knob(parent, "pan")
{
src = s;
connect(this, SIGNAL(valueChanged(double,int)), SLOT(valueChanged(double)));
@@ -41,7 +41,7 @@ PanKnob::PanKnob(QWidget* parent, AudioTrack* s)
// panChanged
//---------------------------------------------------------
-void PanKnob::valueChanged(double val)
+void PanMusEWidget::Knob::valueChanged(double val)
{
//audio->msgSetPan(src, val);
// p4.0.21 audio->msgXXX waits. Do we really need to?
diff --git a/muse2/muse/mixer/rack.cpp b/muse2/muse/mixer/rack.cpp
index 86c3ff77..9e7dc754 100644
--- a/muse2/muse/mixer/rack.cpp
+++ b/muse2/muse/mixer/rack.cpp
@@ -414,8 +414,8 @@ void EffectRack::doubleClicked(QListWidgetItem* it)
void EffectRack::savePreset(int idx)
{
- //QString name = getSaveFileName(QString(""), plug_file_pattern, this,
- QString name = getSaveFileName(QString(""), MusEGlobal::preset_file_save_pattern, this,
+ //QString name = MusEWidget::getSaveFileName(QString(""), plug_file_pattern, this,
+ QString name = MusEWidget::getSaveFileName(QString(""), MusEGlobal::preset_file_save_pattern, this,
tr("MusE: Save Preset"));
if(name.isEmpty())
@@ -423,7 +423,7 @@ void EffectRack::savePreset(int idx)
//FILE* presetFp = fopen(name.ascii(),"w+");
bool popenFlag;
- FILE* presetFp = fileOpen(this, name, QString(".pre"), "w", popenFlag, false, true);
+ FILE* presetFp = MusEWidget::fileOpen(this, name, QString(".pre"), "w", popenFlag, false, true);
if (presetFp == 0) {
//fprintf(stderr, "EffectRack::savePreset() fopen failed: %s\n",
// strerror(errno));
@@ -590,7 +590,7 @@ void EffectRack::dropEvent(QDropEvent *event)
{
//bool popenFlag = false;
bool popenFlag;
- FILE* fp = fileOpen(this, text, ".pre", "r", popenFlag, false, false);
+ FILE* fp = MusEWidget::fileOpen(this, text, ".pre", "r", popenFlag, false, false);
if (fp)
{
Xml xml(fp);
diff --git a/muse2/muse/mixer/strip.cpp b/muse2/muse/mixer/strip.cpp
index 8f899c13..750f1623 100644
--- a/muse2/muse/mixer/strip.cpp
+++ b/muse2/muse/mixer/strip.cpp
@@ -97,7 +97,7 @@ void Strip::setLabelFont()
// Set the label's font.
label->setFont(MusEConfig::config.fonts[6]);
// Dealing with a horizontally constrained label. Ignore vertical. Use a minimum readable point size.
- autoAdjustFontSize(label, label->text(), false, true, MusEConfig::config.fonts[6].pointSize(), 5);
+ MusEUtil::autoAdjustFontSize(label, label->text(), false, true, MusEConfig::config.fonts[6].pointSize(), 5);
}
//---------------------------------------------------------
diff --git a/muse2/muse/mixer/strip.h b/muse2/muse/mixer/strip.h
index e8bf8ce1..602e6e07 100644
--- a/muse2/muse/mixer/strip.h
+++ b/muse2/muse/mixer/strip.h
@@ -36,10 +36,13 @@
class Track;
class QLabel;
//class QVBoxLayout;
-class Meter;
class QToolButton;
class QGridLayout;
+
+namespace MusEWidget {
class ComboBox;
+class Meter;
+}
static const int STRIP_WIDTH = 65;
@@ -56,7 +59,7 @@ class Strip : public QFrame {
//QVBoxLayout* layout;
QGridLayout* grid;
int _curGridRow;
- Meter* meter[MAX_CHANNELS];
+ MusEWidget::Meter* meter[MAX_CHANNELS];
bool useSoloIconSet2;
QToolButton* record;
@@ -65,7 +68,7 @@ class Strip : public QFrame {
QToolButton* iR; // Input routing button
QToolButton* oR; // Output routing button
QGridLayout* sliderGrid;
- ComboBox* autoType;
+ MusEWidget::ComboBox* autoType;
void setLabelText();
private slots: