put PlaylistWindow into an on file
This commit is contained in:
parent
02d2a1a1f4
commit
b10ef97cfc
10 changed files with 239 additions and 176 deletions
|
@ -14,7 +14,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "playlist.h"
|
#include "playlistwindow.h"
|
||||||
#include "equalizer.h"
|
#include "equalizer.h"
|
||||||
#include "Skin.h"
|
#include "Skin.h"
|
||||||
//TODO: change to xclient.h sometime later
|
//TODO: change to xclient.h sometime later
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#include "PosBar.h"
|
#include "PosBar.h"
|
||||||
#include "PlayStatus.h"
|
#include "PlayStatus.h"
|
||||||
#include "VolumeSlider.h"
|
#include "VolumeSlider.h"
|
||||||
#include "playlist.h"
|
#include "playlistwindow.h"
|
||||||
#include "clutterbar.h"
|
#include "clutterbar.h"
|
||||||
|
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
|
|
@ -19,10 +19,11 @@
|
||||||
#include "ServerBrowser.h"
|
#include "ServerBrowser.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "playlist.h"
|
#include "playlistwindow.h"
|
||||||
#include "maindisplay.h"
|
#include "maindisplay.h"
|
||||||
#include "shadeddisplay.h"
|
#include "shadeddisplay.h"
|
||||||
#include "equalizer.h"
|
#include "equalizer.h"
|
||||||
|
#include "Button.h"
|
||||||
|
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
HEADERS += playlist.h \
|
HEADERS += playlistwindow.h \
|
||||||
|
playlistwidget.h \
|
||||||
playlistmenu.h \
|
playlistmenu.h \
|
||||||
playlistshade.h \
|
playlistshade.h \
|
||||||
playlistview.h
|
playlistview.h
|
||||||
|
|
||||||
SOURCES += playlist.cpp \
|
SOURCES += playlistwindow.cpp \
|
||||||
|
playlistwidget.cpp \
|
||||||
playlistmenu.cpp \
|
playlistmenu.cpp \
|
||||||
playlistshade.cpp \
|
playlistshade.cpp \
|
||||||
playlistview.cpp
|
playlistview.cpp
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include <xmmsclient/xmmsclient++.h>
|
#include <xmmsclient/xmmsclient++.h>
|
||||||
|
|
||||||
#include "playlistshade.h"
|
#include "playlistshade.h"
|
||||||
#include "playlist.h"
|
#include "playlistwindow.h"
|
||||||
|
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include "playlistview.h"
|
#include "playlistview.h"
|
||||||
#include "playlistmodel.h"
|
#include "playlistmodel.h"
|
||||||
#include "playlist.h"
|
#include "playlistwidget.h"
|
||||||
|
|
||||||
#include <QColor>
|
#include <QColor>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
|
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "BrowseDialog.h"
|
#include "BrowseDialog.h"
|
||||||
#include "playlist.h"
|
#include "playlistwindow.h"
|
||||||
|
#include "playlistwidget.h"
|
||||||
#include "playlistview.h"
|
#include "playlistview.h"
|
||||||
#include "playlistmodel.h"
|
#include "playlistmodel.h"
|
||||||
|
|
||||||
|
@ -162,137 +163,6 @@ PlaylistScrollBar::sliderValueFromPosition (int position)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PlaylistWindow
|
|
||||||
*/
|
|
||||||
PlaylistWindow::PlaylistWindow (QWidget *parent) : QMainWindow (parent)
|
|
||||||
{
|
|
||||||
QSettings s;
|
|
||||||
m_mw = dynamic_cast<MainWindow *>(parent);
|
|
||||||
#ifndef _WIN32
|
|
||||||
setWindowIcon (QIcon (":icon.png"));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
setWindowFlags (Qt::Dialog | Qt::FramelessWindowHint);
|
|
||||||
setAttribute (Qt::WA_DeleteOnClose);
|
|
||||||
|
|
||||||
s.beginGroup ("playlist");
|
|
||||||
if (!s.contains ("size")) {
|
|
||||||
s.setValue ("size", QSize (275, 350));
|
|
||||||
}
|
|
||||||
resize (s.value("size").toSize ());
|
|
||||||
|
|
||||||
m_playlist = new PlaylistWidget (this);
|
|
||||||
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 (togglePL ()));
|
|
||||||
m_closebtn->move(size().width() - 11, 3);
|
|
||||||
|
|
||||||
if (!s.contains ("shaded"))
|
|
||||||
s.setValue ("shaded", false);
|
|
||||||
else
|
|
||||||
s.setValue ("shaded", !s.value("shaded").toBool ());
|
|
||||||
|
|
||||||
switchDisplay ();
|
|
||||||
|
|
||||||
s.endGroup ();
|
|
||||||
|
|
||||||
// FIXME: flickering
|
|
||||||
//setSizeIncrement (25, 29);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
PlaylistWindow::togglePL (void)
|
|
||||||
{
|
|
||||||
m_mw->togglePL(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
PlaylistWindow::switchDisplay (void)
|
|
||||||
{
|
|
||||||
QSettings s;
|
|
||||||
|
|
||||||
s.beginGroup ("playlist");
|
|
||||||
|
|
||||||
if (!s.value("shaded").toBool ()) {
|
|
||||||
m_shaded->hide ();
|
|
||||||
|
|
||||||
m_playlist->show ();
|
|
||||||
s.setValue ("shaded", true);
|
|
||||||
m_playlist->resize (s.value("size").toSize ());
|
|
||||||
resize (s.value("size").toSize ());
|
|
||||||
|
|
||||||
} else {
|
|
||||||
m_playlist->hide ();
|
|
||||||
|
|
||||||
m_shaded->show ();
|
|
||||||
s.setValue ("shaded", false);
|
|
||||||
m_shaded->resize (s.value("size").toSize ().width(), 14);
|
|
||||||
resize (s.value("size").toSize ().width(), 14);
|
|
||||||
}
|
|
||||||
|
|
||||||
s.endGroup ();
|
|
||||||
|
|
||||||
update ();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
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 ());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
PlaylistWindow::mousePressEvent (QMouseEvent *event)
|
|
||||||
{
|
|
||||||
m_diffx = event->pos ().x ();
|
|
||||||
m_diffy = event->pos ().y ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
PlaylistWindow::mouseMoveEvent (QMouseEvent *event)
|
|
||||||
{
|
|
||||||
move (event->globalPos().x() - m_diffx,
|
|
||||||
event->globalPos().y() - m_diffy);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
PlaylistWindow::moveEvent (QMoveEvent *event)
|
|
||||||
{
|
|
||||||
QSettings s;
|
|
||||||
s.setValue ("playlist/pos", pos ());
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
PlaylistWindow::enterEvent (QEvent *event)
|
|
||||||
{
|
|
||||||
m_playlist->setActive (true);
|
|
||||||
m_shaded->setActive (true);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
PlaylistWindow::leaveEvent (QEvent *event)
|
|
||||||
{
|
|
||||||
m_playlist->setActive (false);
|
|
||||||
m_shaded->setActive (false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PlaylistWidget
|
* PlaylistWidget
|
|
@ -14,8 +14,8 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __PLAYLIST_H__
|
#ifndef __PLAYLISTWIDGET_H__
|
||||||
#define __PLAYLIST_H__
|
#define __PLAYLISTWIDGET_H__
|
||||||
|
|
||||||
#include "XMMSHandler.h"
|
#include "XMMSHandler.h"
|
||||||
|
|
||||||
|
@ -123,39 +123,4 @@ class PlaylistWidget : public QWidget {
|
||||||
PlaylistMenu *m_lst;
|
PlaylistMenu *m_lst;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class PlaylistWindow : public QMainWindow {
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
PlaylistWindow (QWidget *parent);
|
|
||||||
~PlaylistWindow () {}
|
|
||||||
|
|
||||||
void setActive (bool);
|
|
||||||
|
|
||||||
void mousePressEvent (QMouseEvent *event);
|
|
||||||
void mouseMoveEvent (QMouseEvent *event);
|
|
||||||
void enterEvent (QEvent *event);
|
|
||||||
void leaveEvent (QEvent *event);
|
|
||||||
void moveEvent (QMoveEvent *event);
|
|
||||||
void resizeEvent (QResizeEvent *event);
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void switchDisplay (void);
|
|
||||||
void togglePL (void);
|
|
||||||
|
|
||||||
private:
|
|
||||||
PlaylistWidget *m_playlist;
|
|
||||||
PlaylistShade *m_shaded;
|
|
||||||
|
|
||||||
int m_diffx;
|
|
||||||
int m_diffy;
|
|
||||||
|
|
||||||
Button *m_shadebtn;
|
|
||||||
Button *m_closebtn;
|
|
||||||
uint getOffset (void);
|
|
||||||
MainWindow *m_mw;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
158
src/playlist/playlistwindow.cpp
Normal file
158
src/playlist/playlistwindow.cpp
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
/**
|
||||||
|
* This file is a part of Prome, an XMMS2 Client.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2005-2007 XMMS2 Team
|
||||||
|
* Copyright (C) 2007 Thomas Frauendorfer
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "XMMSHandler.h"
|
||||||
|
|
||||||
|
#include "playlistwindow.h"
|
||||||
|
|
||||||
|
#include <QMouseEvent>
|
||||||
|
#include <QMoveEvent>
|
||||||
|
#include <QResizeEvent>
|
||||||
|
|
||||||
|
#include "Button.h"
|
||||||
|
#include "playlistwidget.h"
|
||||||
|
#include "playlistshade.h"
|
||||||
|
|
||||||
|
#include "mainwindow.h"
|
||||||
|
|
||||||
|
PlaylistWindow::PlaylistWindow (QWidget *parent) : QMainWindow (parent)
|
||||||
|
{
|
||||||
|
QSettings s;
|
||||||
|
m_mw = dynamic_cast<MainWindow *>(parent);
|
||||||
|
#ifndef _WIN32
|
||||||
|
setWindowIcon (QIcon (":icon.png"));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
setWindowFlags (Qt::Dialog | Qt::FramelessWindowHint);
|
||||||
|
setAttribute (Qt::WA_DeleteOnClose);
|
||||||
|
|
||||||
|
s.beginGroup ("playlist");
|
||||||
|
if (!s.contains ("size")) {
|
||||||
|
s.setValue ("size", QSize (275, 350));
|
||||||
|
}
|
||||||
|
resize (s.value("size").toSize ());
|
||||||
|
|
||||||
|
m_playlist = new PlaylistWidget (this);
|
||||||
|
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 (togglePL ()));
|
||||||
|
m_closebtn->move(size().width() - 11, 3);
|
||||||
|
|
||||||
|
if (!s.contains ("shaded"))
|
||||||
|
s.setValue ("shaded", false);
|
||||||
|
else
|
||||||
|
s.setValue ("shaded", !s.value("shaded").toBool ());
|
||||||
|
|
||||||
|
switchDisplay ();
|
||||||
|
|
||||||
|
s.endGroup ();
|
||||||
|
|
||||||
|
// FIXME: flickering
|
||||||
|
//setSizeIncrement (25, 29);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistWindow::togglePL (void)
|
||||||
|
{
|
||||||
|
m_mw->togglePL(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistWindow::switchDisplay (void)
|
||||||
|
{
|
||||||
|
QSettings s;
|
||||||
|
|
||||||
|
s.beginGroup ("playlist");
|
||||||
|
|
||||||
|
if (!s.value("shaded").toBool ()) {
|
||||||
|
m_shaded->hide ();
|
||||||
|
|
||||||
|
m_playlist->show ();
|
||||||
|
s.setValue ("shaded", true);
|
||||||
|
m_playlist->resize (s.value("size").toSize ());
|
||||||
|
resize (s.value("size").toSize ());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
m_playlist->hide ();
|
||||||
|
|
||||||
|
m_shaded->show ();
|
||||||
|
s.setValue ("shaded", false);
|
||||||
|
m_shaded->resize (s.value("size").toSize ().width(), 14);
|
||||||
|
resize (s.value("size").toSize ().width(), 14);
|
||||||
|
}
|
||||||
|
|
||||||
|
s.endGroup ();
|
||||||
|
|
||||||
|
update ();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
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 ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistWindow::mousePressEvent (QMouseEvent *event)
|
||||||
|
{
|
||||||
|
m_diffx = event->pos ().x ();
|
||||||
|
m_diffy = event->pos ().y ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistWindow::mouseMoveEvent (QMouseEvent *event)
|
||||||
|
{
|
||||||
|
move (event->globalPos().x() - m_diffx,
|
||||||
|
event->globalPos().y() - m_diffy);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistWindow::moveEvent (QMoveEvent *event)
|
||||||
|
{
|
||||||
|
QSettings s;
|
||||||
|
s.setValue ("playlist/pos", pos ());
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistWindow::enterEvent (QEvent *event)
|
||||||
|
{
|
||||||
|
m_playlist->setActive (true);
|
||||||
|
m_shaded->setActive (true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistWindow::leaveEvent (QEvent *event)
|
||||||
|
{
|
||||||
|
m_playlist->setActive (false);
|
||||||
|
m_shaded->setActive (false);
|
||||||
|
}
|
||||||
|
|
67
src/playlist/playlistwindow.h
Normal file
67
src/playlist/playlistwindow.h
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
/**
|
||||||
|
* This file is a part of Prome, an XMMS2 Client.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2005-2007 XMMS2 Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _PLAYLISTWINDOW_
|
||||||
|
#define _PLAYLISTWINDOW_
|
||||||
|
|
||||||
|
// Qt classes
|
||||||
|
#include <QMainWindow>
|
||||||
|
|
||||||
|
class QEvent;
|
||||||
|
class QMouseEvent;
|
||||||
|
class QMoveEvent;
|
||||||
|
class QResizeEvent;
|
||||||
|
|
||||||
|
// our own classes
|
||||||
|
class Button;
|
||||||
|
class MainWindow;
|
||||||
|
class PlaylistWidget;
|
||||||
|
class PlaylistShade;
|
||||||
|
|
||||||
|
class PlaylistWindow : public QMainWindow {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
PlaylistWindow (QWidget *parent);
|
||||||
|
~PlaylistWindow () {}
|
||||||
|
|
||||||
|
void setActive (bool);
|
||||||
|
|
||||||
|
void mousePressEvent (QMouseEvent *event);
|
||||||
|
void mouseMoveEvent (QMouseEvent *event);
|
||||||
|
void enterEvent (QEvent *event);
|
||||||
|
void leaveEvent (QEvent *event);
|
||||||
|
void moveEvent (QMoveEvent *event);
|
||||||
|
void resizeEvent (QResizeEvent *event);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void switchDisplay (void);
|
||||||
|
void togglePL (void);
|
||||||
|
|
||||||
|
private:
|
||||||
|
PlaylistWidget *m_playlist;
|
||||||
|
PlaylistShade *m_shaded;
|
||||||
|
|
||||||
|
int m_diffx;
|
||||||
|
int m_diffy;
|
||||||
|
|
||||||
|
Button *m_shadebtn;
|
||||||
|
Button *m_closebtn;
|
||||||
|
uint getOffset (void);
|
||||||
|
MainWindow *m_mw;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _PLAYLISTWINDOW_
|
Loading…
Add table
Add a link
Reference in a new issue