OTHER: Fixes to Skin handling

Fixed grapicglitches in equalizer, and added close button to equalizer
This commit is contained in:
Thomas Frauendorfer 2008-05-16 01:55:25 +02:00
parent b4e4b365b3
commit f0211e3958
5 changed files with 62 additions and 18 deletions

View file

@ -55,14 +55,17 @@ Skin::setSizes ()
<< QSize (23, 12) // BUTTON_MW_PLS
<< QSize (46, 15) // BUTTON_MW_SHUFFLE
<< QSize (28, 15) // BUTTON_MW_REPEAT
<< QSize ( 9, 9) // BUTTON_MW_SHADED_SHADE
<< QSize () // BUTTON_EQ_CLOSE
<< QSize () // BUTTON_EQ_SHADE
<< QSize ( 9, 9) // BUTTON_MW_SHADED_UNSHADE
<< QSize ( 9, 9) // BUTTON_EQ_CLOSE
<< QSize ( 9, 9) // BUTTON_EQ_SHADE
<< QSize (25, 12) // BUTTON_EQ_ACTIVE
<< QSize (33, 12) // BUTTON_EQ_AUTO
<< QSize (44, 12) // BUTTON_EQ_PRESET
<< QSize () // BUTTON_EQ_SHADED_CLOSE
<< QSize () // BUTTON_EQ_SHADED_UNSHADE
<< QSize ( 9, 9) // BUTTON_PLS_CLOSE
<< QSize ( 9, 9) // BUTTON_PLS_SHADE
<< QSize () // BUTTON_PLS_SHADED_UNSHADE
<< QSize () // SLIDER_POSBAR
<< QSize (248, 10) // SLIDER_POSBAR_BGS
<< QSize (14, 11) // SLIDER_VOLUMEBAR
@ -92,14 +95,17 @@ Skin::setPositions ()
<< QPoint (242, 58) // BUTTON_MW_PLS
<< QPoint (164, 89) // BUTTON_MW_SHUFFLE
<< QPoint (210, 89) // BUTTON_MW_REPEAT
<< QPoint (254, 3) // BUTTON_MW_SHADED_SHADE
<< QPoint () // BUTTON_EQ_CLOSE
<< QPoint () // BUTTON_EQ_SHADE
<< QPoint (254, 3) // BUTTON_MW_SHADED_UNSHADE
<< QPoint (264, 3) // BUTTON_EQ_CLOSE
<< QPoint (254 ,3) // BUTTON_EQ_SHADE
<< QPoint ( 14, 18) // BUTTON_EQ_ACTIVE
<< QPoint ( 39, 18) // BUTTON_EQ_AUTO
<< QPoint (217, 18) // BUTTON_EQ_PRESET
<< QPoint () // BUTTON_EQ_SHADED_CLOSE
<< QPoint () // BUTTON_EQ_SHADED_UNSHADE
<< QPoint () // BUTTON_PLS_CLOSE
<< QPoint () // BUTTON_PLS_SHADE
<< QPoint () // BUTTON_PLS_SHADED_UNSHADE
<< QPoint () // SLIDER_POSBAR
<< QPoint ( 16, 72) // SLIDER_POSBAR_BGS
<< QPoint () // SLIDER_VOLUMEBAR
@ -115,12 +121,27 @@ void
Skin::BuildEqualizer (void)
{
QPixmap *img = getPixmap ("eqmain");
if (img) {
QPixmap *imgex = getPixmap ("eq_ex");
if (img && imgex) {
m_items[EQ_WIN_BG] = img->copy (0, 0, 275, 116);
m_items[EQ_WIN_GRAPH_BG] = img->copy (0, 294, 113, 19);
if (img->height () > 294) {
m_items[EQ_WIN_GRAPH_BG] = img->copy (0, 294, 113, qMin (19, img->height () - 294));
} else {
m_items[EQ_WIN_GRAPH_BG] = QPixmap ();
}
QIcon icon;
icon.addPixmap (img->copy ( 0, 116, 9, 9), QIcon::Normal, QIcon::Off);
icon.addPixmap (img->copy ( 0, 125, 9, 9), QIcon::Active, QIcon::Off);
m_icons[BUTTON_EQ_CLOSE] = icon;
icon = QIcon ();
icon.addPixmap (img->copy (254, 3, 9, 9), QIcon::Normal, QIcon::Off);
icon.addPixmap (imgex->copy ( 1, 38, 9, 9), QIcon::Active, QIcon::Off);
m_icons[BUTTON_EQ_SHADE] = icon;
icon = QIcon ();
icon.addPixmap (img->copy ( 10, 119, 25, 12), QIcon::Normal, QIcon::Off);
icon.addPixmap (img->copy (128, 119, 25, 12), QIcon::Active, QIcon::Off);
icon.addPixmap (img->copy ( 69, 119, 25, 12), QIcon::Normal, QIcon::On);
@ -193,7 +214,7 @@ Skin::BuildPlaylist (void)
m_playlist[PLS_CLOSE_BTN_0] = tmp.copy(14, 3, 9, 9);
m_playlist[PLS_CLOSE_BTN_1] = img->copy(52, 42, 9, 9);
m_playlist[PLS_SHADE_BTN_0] = tmp.copy(14, 3, 9, 9);
m_playlist[PLS_SHADE_BTN_0] = tmp.copy(5, 3, 9, 9);
m_playlist[PLS_SHADE_BTN_1] = img->copy(62, 42, 9, 9);
m_playlist[PLS_MAX_BTN_0] = img->copy(150, 42, 9, 9);
@ -533,7 +554,7 @@ Skin::BuildTitleBar (void)
icon = QIcon ();
icon.addPixmap (img->copy (0, 27, 9, 9), QIcon::Normal, QIcon::Off);
icon.addPixmap (img->copy (9, 27, 9, 9), QIcon::Active, QIcon::Off);
m_icons[BUTTON_MW_SHADED_SHADE] = icon;
m_icons[BUTTON_MW_SHADED_UNSHADE] = icon;
m_items[TITLEBAR_0] = img->copy(27, 0, 275, 14);
m_items[TITLEBAR_1] = img->copy(27, 15, 275, 14);

View file

@ -68,16 +68,21 @@ class Skin : public QObject
BUTTON_MW_SHUFFLE,
BUTTON_MW_REPEAT,
/* Mainwindow buttons shaded */
BUTTON_MW_SHADED_SHADE,
BUTTON_MW_SHADED_UNSHADE,
/* Equalizer buttons */
BUTTON_EQ_CLOSE,
BUTTON_EQ_SHADE,
BUTTON_EQ_ACTIVE,
BUTTON_EQ_AUTO,
BUTTON_EQ_PRESET,
/* Equalizer buttons shaded */
BUTTON_EQ_SHADED_CLOSE,
BUTTON_EQ_SHADED_UNSHADE,
/* Playlist buttons */
BUTTON_PLS_CLOSE,
BUTTON_PLS_SHADE,
/* Playlist buttons shaded */
BUTTON_PLS_SHADED_UNSHADE,
/* Sliders */
SLIDER_POSBAR,
SLIDER_POSBAR_BGS,

View file

@ -47,8 +47,8 @@ TitleBar::TitleBar (QWidget *parent, bool shaded) : PixWidget (parent)
if (shaded) {
m_shadebtn = new PixmapButton (this);
m_shadebtn->resize (skin->getSize (Skin::BUTTON_MW_SHADED_SHADE));
m_shadebtn->move (skin->getPos (Skin::BUTTON_MW_SHADED_SHADE));
m_shadebtn->resize (skin->getSize (Skin::BUTTON_MW_SHADED_UNSHADE));
m_shadebtn->move (skin->getPos (Skin::BUTTON_MW_SHADED_UNSHADE));
} else {
m_shadebtn = new PixmapButton (this);
m_shadebtn->resize (skin->getSize (Skin::BUTTON_MW_SHADE));
@ -152,7 +152,7 @@ TitleBar::setPixmaps (Skin *skin)
m_menubtn->setIcon (skin->getIcon (Skin::BUTTON_MW_MENU));
m_minimize->setIcon (skin->getIcon (Skin::BUTTON_MW_MINIMIZE));
if (m_shaded) {
m_shadebtn->setIcon (skin->getIcon (Skin::BUTTON_MW_SHADED_SHADE));
m_shadebtn->setIcon (skin->getIcon (Skin::BUTTON_MW_SHADED_UNSHADE));
} else {
m_shadebtn->setIcon (skin->getIcon (Skin::BUTTON_MW_SHADE));
}

View file

@ -58,13 +58,24 @@ EqualizerWidget::EqualizerWidget (QWidget *parent) : QWidget (parent)
connect (skin, SIGNAL(skinChanged(Skin *)),
this, SLOT(setPixmaps(Skin *)));
m_closebtn = new PixmapButton (this);
m_closebtn->resize (skin->getSize (Skin::BUTTON_EQ_CLOSE));
m_closebtn->move (skin->getPos (Skin::BUTTON_EQ_CLOSE));
connect (m_closebtn, SIGNAL (clicked ()), parent, SLOT (hide ()));
// TODO implement shade mode
m_shadebtn = new PixmapButton (this);
m_shadebtn->resize (skin->getSize (Skin::BUTTON_EQ_SHADE));
m_shadebtn->move (skin->getPos (Skin::BUTTON_EQ_SHADE));
m_shadebtn->setEnabled (false);
m_enable = new PixmapButton (this);
m_enable->setCheckable (true);
m_enable->resize (skin->getSize (Skin::BUTTON_EQ_ACTIVE));
m_enable->move (skin->getPos (Skin::BUTTON_EQ_ACTIVE));
// must use signal clicked here, as this button also becomes unchecked if
// use_legacy is deactivated
connect(m_enable, SIGNAL (clicked (bool)),
connect (m_enable, SIGNAL (clicked (bool)),
this, SLOT (setEqualizerEnabled (bool)));
@ -74,7 +85,7 @@ EqualizerWidget::EqualizerWidget (QWidget *parent) : QWidget (parent)
m_auto->move (skin->getPos (Skin::BUTTON_EQ_AUTO));
m_auto->setEnabled(false); // FIXME: needs to be implemented
connect(m_auto, SIGNAL(clicked()), parent, SLOT(setEnabled()));
connect (m_auto, SIGNAL(clicked()), parent, SLOT(setEnabled()));
m_preset = new PixmapButton (this);
m_preset->resize (skin->getSize (Skin::BUTTON_EQ_PRESET));
@ -137,6 +148,8 @@ EqualizerWidget::setPixmaps (Skin *skin)
setMaximumSize (m_pixmap.size ());
/* Updade Buttons */
m_closebtn->setIcon (skin->getIcon (Skin::BUTTON_EQ_CLOSE));
m_shadebtn->setIcon (skin->getIcon (Skin::BUTTON_EQ_SHADE));
m_enable->setIcon (skin->getIcon (Skin::BUTTON_EQ_ACTIVE));
m_auto->setIcon (skin->getIcon (Skin::BUTTON_EQ_AUTO));
m_preset->setIcon (skin->getIcon (Skin::BUTTON_EQ_PRESET));
@ -169,8 +182,11 @@ EqualizerWidget::paintEvent (QPaintEvent *event)
paint.begin(this);
paint.drawPixmap(rect(), m_pixmap, m_pixmap.rect());
r.setRect(86, 17, 113, 19);
paint.drawPixmap(r, m_graph, m_graph.rect());
// r.setRect(86, 17, 113, 19);
if (m_graph.height () > 0 ) {
r.setRect(86, 17, m_graph.width (), m_graph.height ());
paint.drawPixmap(r, m_graph, m_graph.rect());
}
paint.end();
}

View file

@ -68,6 +68,8 @@ class EqualizerWidget : public QWidget
XConfig *m_xconfig;
QPixmap m_pixmap;
QPixmap m_graph;
PixmapButton *m_closebtn;
PixmapButton *m_shadebtn;
PixmapButton *m_enable;
PixmapButton *m_auto;
PixmapButton *m_preset;