Added StereoMono display.
This commit is contained in:
parent
eaa2e021a6
commit
76b9131d03
9 changed files with 117 additions and 12 deletions
|
@ -31,6 +31,10 @@ MainDisplay::MainDisplay (QWidget *parent) : SkinDisplay(parent)
|
||||||
m_khz->move (156, 43);
|
m_khz->move (156, 43);
|
||||||
m_khz->setNumber (44, 2);
|
m_khz->setNumber (44, 2);
|
||||||
|
|
||||||
|
m_stereo = new StereoMono (this);
|
||||||
|
m_stereo->move (212, 41);
|
||||||
|
m_stereo->setStereoMono (0, 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -21,6 +21,7 @@ class MainDisplay;
|
||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
#include "NumberDisplay.h"
|
#include "NumberDisplay.h"
|
||||||
#include "SmallNumberDisplay.h"
|
#include "SmallNumberDisplay.h"
|
||||||
|
#include "StereoMono.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
@ -38,6 +39,8 @@ class MainDisplay : public SkinDisplay
|
||||||
SmallNumberDisplay *m_kbps;
|
SmallNumberDisplay *m_kbps;
|
||||||
SmallNumberDisplay *m_khz;
|
SmallNumberDisplay *m_khz;
|
||||||
|
|
||||||
|
StereoMono *m_stereo;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setPixmaps(Skin *skin);
|
void setPixmaps(Skin *skin);
|
||||||
protected:
|
protected:
|
||||||
|
|
|
@ -8,12 +8,12 @@ MainWindow::MainWindow ()
|
||||||
|
|
||||||
m_handler = new XMMSHandler (this);
|
m_handler = new XMMSHandler (this);
|
||||||
|
|
||||||
skin = new Skin("Debian");
|
skin = new Skin("./Debian/");
|
||||||
m_display = new MainDisplay(this);
|
m_display = new MainDisplay(this);
|
||||||
|
|
||||||
setCentralWidget(m_display);
|
setCentralWidget(m_display);
|
||||||
|
|
||||||
skin->setSkin("./CleanAMP/");
|
skin->setSkin("./Debian/");
|
||||||
m_display->show();
|
m_display->show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
13
Skin.cpp
13
Skin.cpp
|
@ -1,10 +1,9 @@
|
||||||
#include "Skin.h"
|
#include "Skin.h"
|
||||||
|
|
||||||
|
|
||||||
Skin::Skin (string m_skinname) : m_skinname (m_skinname)
|
Skin::Skin (QString path)
|
||||||
{
|
{
|
||||||
m_path = QString ("./CleanAMP/");
|
m_path = path;
|
||||||
|
|
||||||
m_items = new QHash<uint, QPixmap>;
|
m_items = new QHash<uint, QPixmap>;
|
||||||
m_volume_bar = new QHash<uint, QPixmap>;
|
m_volume_bar = new QHash<uint, QPixmap>;
|
||||||
m_balance = new QHash<uint, QPixmap>;
|
m_balance = new QHash<uint, QPixmap>;
|
||||||
|
@ -230,10 +229,10 @@ Skin::BuildOther (void)
|
||||||
QPainter(painter);
|
QPainter(painter);
|
||||||
|
|
||||||
img = getPixmap("monoster.bmp");
|
img = getPixmap("monoster.bmp");
|
||||||
m_items->insert (MONO_0, img->copy(29, 0, 27, 12));
|
m_items->insert (MONO_1, img->copy(29, 0, 27, 12));
|
||||||
m_items->insert (MONO_1, img->copy(29, 12, 27, 12));
|
m_items->insert (MONO_0, img->copy(29, 12, 27, 12));
|
||||||
m_items->insert (STEREO_0, img->copy(0, 0, 29, 12));
|
m_items->insert (STEREO_1, img->copy(0, 0, 29, 12));
|
||||||
m_items->insert (STEREO_1, img->copy(0, 12, 29, 12));
|
m_items->insert (STEREO_0, img->copy(0, 12, 29, 12));
|
||||||
delete img;
|
delete img;
|
||||||
|
|
||||||
|
|
||||||
|
|
2
Skin.h
2
Skin.h
|
@ -15,7 +15,7 @@ class Skin : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
Skin(string m_skinname);
|
Skin (QString);
|
||||||
~Skin();
|
~Skin();
|
||||||
|
|
||||||
void setSkin (QString name);
|
void setSkin (QString name);
|
||||||
|
|
62
StereoMono.cpp
Normal file
62
StereoMono.cpp
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
#include "StereoMono.h"
|
||||||
|
|
||||||
|
StereoMono::StereoMono (QWidget *parent) : PixWidget (parent)
|
||||||
|
{
|
||||||
|
setMinimumSize (56, 12);
|
||||||
|
setMaximumSize (56, 12);
|
||||||
|
|
||||||
|
m_pixmap = QPixmap (56, 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
StereoMono::setPixmaps (Skin *skin)
|
||||||
|
{
|
||||||
|
m_pixmap_stereo_on = skin->getItem (Skin::STEREO_1);
|
||||||
|
m_pixmap_stereo_off = skin->getItem (Skin::STEREO_0);
|
||||||
|
m_pixmap_mono_on = skin->getItem (Skin::MONO_1);
|
||||||
|
m_pixmap_mono_off = skin->getItem (Skin::MONO_0);
|
||||||
|
|
||||||
|
setStereoMono (m_stereo, m_mono);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
StereoMono::drawPixmaps ()
|
||||||
|
{
|
||||||
|
QPainter paint;
|
||||||
|
paint.begin (&m_pixmap);
|
||||||
|
|
||||||
|
paint.drawPixmap (QRect (0, 0, 27, 12),
|
||||||
|
m_pixmap_mono,
|
||||||
|
m_pixmap.rect ());
|
||||||
|
|
||||||
|
paint.drawPixmap (QRect (27, 0, 29, 12),
|
||||||
|
m_pixmap_stereo,
|
||||||
|
m_pixmap.rect ());
|
||||||
|
paint.end ();
|
||||||
|
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
StereoMono::setStereoMono (bool stereo, bool mono)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (stereo) {
|
||||||
|
m_pixmap_stereo = m_pixmap_stereo_on;
|
||||||
|
} else {
|
||||||
|
m_pixmap_stereo = m_pixmap_stereo_off;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mono) {
|
||||||
|
m_pixmap_mono = m_pixmap_mono_on;
|
||||||
|
} else {
|
||||||
|
m_pixmap_mono = m_pixmap_mono_off;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_stereo = stereo;
|
||||||
|
m_mono = mono;
|
||||||
|
|
||||||
|
drawPixmaps ();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
27
StereoMono.h
Normal file
27
StereoMono.h
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#include "PixWidget.h"
|
||||||
|
|
||||||
|
class StereoMono : public PixWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
StereoMono (QWidget *parent);
|
||||||
|
~StereoMono () { }
|
||||||
|
|
||||||
|
void setStereoMono (bool, bool);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void setPixmaps (Skin *skin);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void drawPixmaps ();
|
||||||
|
bool m_stereo;
|
||||||
|
bool m_mono;
|
||||||
|
|
||||||
|
QPixmap m_pixmap_stereo_on;
|
||||||
|
QPixmap m_pixmap_stereo_off;
|
||||||
|
QPixmap m_pixmap_mono_on;
|
||||||
|
QPixmap m_pixmap_mono_off;
|
||||||
|
|
||||||
|
QPixmap m_pixmap_mono;
|
||||||
|
QPixmap m_pixmap_stereo;
|
||||||
|
};
|
||||||
|
|
|
@ -72,6 +72,14 @@ XMMSHandler::medialib_info (XMMSResult *res)
|
||||||
m_mw->getMD ()->m_khz->setNumber (b/1000, 2);
|
m_mw->getMD ()->m_khz->setNumber (b/1000, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (res->getDictValue ("channels:out", &b)) {
|
||||||
|
if (b == 1) {
|
||||||
|
m_mw->getMD ()->m_stereo->setStereoMono (0, 1);
|
||||||
|
} else {
|
||||||
|
m_mw->getMD ()->m_stereo->setStereoMono (1, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
delete res;
|
delete res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,8 @@ SOURCES += XmmsQT4.cpp \
|
||||||
TextBar.cpp \
|
TextBar.cpp \
|
||||||
NumberDisplay.cpp \
|
NumberDisplay.cpp \
|
||||||
XMMSHandler.cpp \
|
XMMSHandler.cpp \
|
||||||
SmallNumberDisplay.cpp
|
SmallNumberDisplay.cpp \
|
||||||
|
StereoMono.cpp
|
||||||
|
|
||||||
HEADERS += XmmsQT4.h \
|
HEADERS += XmmsQT4.h \
|
||||||
PixWidget.h \
|
PixWidget.h \
|
||||||
|
@ -22,7 +23,8 @@ HEADERS += XmmsQT4.h \
|
||||||
TextBar.h \
|
TextBar.h \
|
||||||
NumberDisplay.h \
|
NumberDisplay.h \
|
||||||
XMMSHandler.h \
|
XMMSHandler.h \
|
||||||
SmallNumberDisplay.h
|
SmallNumberDisplay.h \
|
||||||
|
StereoMono.h
|
||||||
|
|
||||||
CONFIG += link_pkgconfig
|
CONFIG += link_pkgconfig
|
||||||
CONFIG += debug
|
CONFIG += debug
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue