OTHER: Modified buttons in PlaylistWindow

Moved positions and sizes of close and shade buttons to Skin
changed buttons to use PixmapButton
moved buttons from PlaylistWindow to PlaylistWidget and PlaylistShade
removed now unused Button
fixed position of shadebutton (was off by 1)
fixed icon of shade button in shaded mode
This commit is contained in:
Thomas Frauendorfer 2008-05-16 16:46:07 +02:00
parent f0211e3958
commit 4eb7762009
10 changed files with 119 additions and 241 deletions

View file

@ -18,11 +18,13 @@
#include "playlistshade.h"
#include "playlistwindow.h"
#include "pixmapbutton.h"
#include <QSettings>
#include <QPainter>
#include <QPoint>
PlaylistShade::PlaylistShade (QWidget *parent) : QWidget (parent)
PlaylistShade::PlaylistShade (PlaylistWindow *parent) : QWidget (parent)
{
QSettings s;
XMMSHandler &xmmsh = XMMSHandler::getInstance ();
@ -31,10 +33,18 @@ PlaylistShade::PlaylistShade (QWidget *parent) : QWidget (parent)
s.setValue ("playlist/shadedsize", 8);
Skin *skin = Skin::getInstance ();
setMinimumSize (275, 14);
connect (skin, SIGNAL (skinChanged (Skin *)),
this, SLOT (setPixmaps(Skin *)));
m_closebtn = new PixmapButton (this);
m_closebtn->resize (skin->getSize (Skin::BUTTON_PLS_CLOSE));
connect (m_closebtn, SIGNAL (clicked ()), parent, SLOT (hide ()));
m_unshadebtn = new PixmapButton (this);
m_unshadebtn->resize (skin->getSize (Skin::BUTTON_PLS_SHADED_UNSHADE));
connect (m_unshadebtn, SIGNAL (clicked ()),
parent, SLOT (switchDisplay ()));
connect (&xmmsh, SIGNAL(currentSong (const Xmms::PropDict &)),
this, SLOT(setMediainfo (const Xmms::PropDict &)));
@ -42,6 +52,7 @@ PlaylistShade::PlaylistShade (QWidget *parent) : QWidget (parent)
this, SLOT(settingsSaved ()));
m_text = "Promoe " PROMOE_VERSION " - A very neat XMMS2 client";
setMinimumSize (275, 14);
}
void
@ -72,11 +83,26 @@ PlaylistShade::setMediainfo (const Xmms::PropDict &info)
update ();
}
void
PlaylistShade::resizeEvent (QResizeEvent *event)
{
Skin *skin = Skin::getInstance ();
QPoint p = skin->getPos (Skin::BUTTON_PLS_CLOSE);
m_closebtn->move (p.x () + width (), p.y());
p = skin->getPos (Skin::BUTTON_PLS_SHADED_UNSHADE);
m_unshadebtn->move (p.x () + width (), p.y());
}
void
PlaylistShade::setPixmaps (Skin *skin)
{
QSettings s;
m_closebtn->setIcon (skin->getIcon (Skin::BUTTON_PLS_CLOSE));
m_unshadebtn->setIcon (skin->getIcon (Skin::BUTTON_PLS_SHADED_UNSHADE));
m_pixmap_le = skin->getPls (Skin::PLS_WS_LE_0);
m_pixmap_re_0 = skin->getPls (Skin::PLS_WS_RE_0);
m_pixmap_re_1 = skin->getPls (Skin::PLS_WS_RE_1);

View file

@ -22,11 +22,15 @@
#include <QWidget>
#include <QHash>
class QResizeEvent;
class PixmapButton;
class PlaylistWindow;
class PlaylistShade : public QWidget {
Q_OBJECT
public:
PlaylistShade (QWidget *parent);
PlaylistShade (PlaylistWindow *parent);
~PlaylistShade () {}
void paintEvent (QPaintEvent *event);
@ -37,8 +41,12 @@ class PlaylistShade : public QWidget {
void setPixmaps (Skin *skin);
void setMediainfo (const Xmms::PropDict &info);
void settingsSaved ();
void resizeEvent (QResizeEvent *);
private:
PixmapButton *m_closebtn;
PixmapButton *m_unshadebtn;
QPixmap m_pixmap_le;
QPixmap m_pixmap_re;
QPixmap m_pixmap_mid;

View file

@ -24,6 +24,7 @@
#include "playlistmodel.h"
#include "xcollection.h"
#include "pixmapbutton.h"
#include "playlistshade.h"
#include "playlistmenu.h"
#include "FileDialog.h"
@ -32,6 +33,7 @@
#include <QMouseEvent>
#include <QPaintEvent>
#include <QPoint>
#include <QRect>
#include <QIcon>
#include <QApplication>
@ -171,7 +173,7 @@ PlaylistScrollBar::sliderValueFromPosition (int position)
/*
* PlaylistWidget
*/
PlaylistWidget::PlaylistWidget (QWidget *parent) : QWidget (parent)
PlaylistWidget::PlaylistWidget (PlaylistWindow *parent) : QWidget (parent)
{
Skin *skin = Skin::getInstance ();
@ -180,6 +182,14 @@ PlaylistWidget::PlaylistWidget (QWidget *parent) : QWidget (parent)
setActive (underMouse ());
m_closebtn = new PixmapButton (this);
m_closebtn->resize (skin->getSize (Skin::BUTTON_PLS_CLOSE));
connect (m_closebtn, SIGNAL (clicked ()), parent, SLOT (hide ()));
m_shadebtn = new PixmapButton (this);
m_shadebtn->resize (skin->getSize (Skin::BUTTON_PLS_SHADE));
connect (m_shadebtn, SIGNAL (clicked ()), parent, SLOT (switchDisplay ()));
m_view = new PlaylistView (this);
m_view->move (10, 20);
// m_view->resize (size().width()-30, size().height()-20-38);
@ -215,7 +225,7 @@ PlaylistWidget::PlaylistWidget (QWidget *parent) : QWidget (parent)
}
void
PlaylistWidget::addButtons (void)
PlaylistWidget::addButtons ()
{
PlaylistMenuButton *b;
@ -377,6 +387,14 @@ PlaylistWidget::menuAddPls ()
void
PlaylistWidget::resizeEvent (QResizeEvent *event)
{
Skin *skin = Skin::getInstance ();
QPoint p = skin->getPos (Skin::BUTTON_PLS_CLOSE);
m_closebtn->move (p.x () + width (), p.y());
p = skin->getPos (Skin::BUTTON_PLS_SHADE);
m_shadebtn->move (p.x () + width (), p.y());
m_view->resize (size().width()-30, size().height()-20-38);
/* since the sizes has changed we need to move the scrollbar */
@ -405,6 +423,9 @@ PlaylistWidget::resizeEvent (QResizeEvent *event)
void
PlaylistWidget::setPixmaps (Skin *skin)
{
m_closebtn->setIcon (skin->getIcon (Skin::BUTTON_PLS_CLOSE));
m_shadebtn->setIcon (skin->getIcon (Skin::BUTTON_PLS_SHADE));
setActive (m_active);
update ();

View file

@ -20,13 +20,16 @@
#include <QScrollBar>
#include <QSizeGrip>
#include <QWidget>
class PlaylistWidget;
class PlaylistWindow;
class PlaylistScroller;
class Skin;
class PlaylistView;
class PlaylistMenu;
class PixmapButton;
class PlaylistSizeGrip : public QSizeGrip {
@ -70,7 +73,7 @@ class PlaylistWidget : public QWidget {
Q_OBJECT
public:
PlaylistWidget (QWidget *parent);
PlaylistWidget (PlaylistWindow *parent);
~PlaylistWidget () {}
void setActive (bool);
@ -94,6 +97,9 @@ class PlaylistWidget : public QWidget {
void addButtons (void);
void diveDir (const QString &);
PixmapButton *m_closebtn;
PixmapButton *m_shadebtn;
QPixmap m_corner1;
QPixmap m_corner2;
QPixmap m_corner3;

View file

@ -21,7 +21,6 @@
#include <QResizeEvent>
#include <QPoint>
#include "Button.h"
#include "playlistwidget.h"
#include "playlistshade.h"
@ -47,14 +46,6 @@ PlaylistWindow::PlaylistWindow (QWidget *parent) : BaseWindow (parent)
setCentralWidget (m_playlist);
m_shaded = new PlaylistShade (this);
m_shadebtn = new Button (this, Skin::PLS_SHADE_BTN_0, Skin::PLS_SHADE_BTN_1, true);
connect (m_shadebtn, SIGNAL (clicked()), this, SLOT (switchDisplay ()));
m_shadebtn->move(size().width() - 21, 3);
m_closebtn = new Button (this, Skin::PLS_CLOSE_BTN_0, Skin::PLS_CLOSE_BTN_1, true);
connect (m_closebtn, SIGNAL (clicked()), this, SLOT (hide ()));
m_closebtn->move(size().width() - 11, 3);
if (!s.contains ("shaded"))
s.setValue ("shaded", false);
else
@ -123,9 +114,6 @@ PlaylistWindow::resizeEvent (QResizeEvent *event)
{
QSettings s;
m_shadebtn->move(size().width() - 21, 3);
m_closebtn->move(size().width() - 11, 3);
if (s.value("playlist/shaded").toBool ()) {
s.setValue ("playlist/size", size ());
}

View file

@ -27,7 +27,6 @@ class QShowEvent;
class QPoint;
// our own classes
class Button;
class MainWindow;
class PlaylistWidget;
class PlaylistShade;
@ -58,9 +57,6 @@ class PlaylistWindow : public BaseWindow {
private:
PlaylistWidget *m_playlist;
PlaylistShade *m_shaded;
Button *m_shadebtn;
Button *m_closebtn;
};
#endif // __PLAYLISTWINDOW_H__