put PlaylistWindow into an on file

This commit is contained in:
Thomas Frauendorfer 2008-01-31 06:14:51 +01:00
parent 02d2a1a1f4
commit b10ef97cfc
10 changed files with 239 additions and 176 deletions

View file

@ -14,7 +14,7 @@
*/
#include "mainwindow.h"
#include "playlist.h"
#include "playlistwindow.h"
#include "equalizer.h"
#include "Skin.h"
//TODO: change to xclient.h sometime later

View file

@ -28,7 +28,7 @@
#include "PosBar.h"
#include "PlayStatus.h"
#include "VolumeSlider.h"
#include "playlist.h"
#include "playlistwindow.h"
#include "clutterbar.h"
#include <QFileDialog>

View file

@ -19,10 +19,11 @@
#include "ServerBrowser.h"
#endif
#include "playlist.h"
#include "playlistwindow.h"
#include "maindisplay.h"
#include "shadeddisplay.h"
#include "equalizer.h"
#include "Button.h"
#include <QSettings>
#include <QIcon>

View file

@ -1,9 +1,11 @@
HEADERS += playlist.h \
HEADERS += playlistwindow.h \
playlistwidget.h \
playlistmenu.h \
playlistshade.h \
playlistview.h
SOURCES += playlist.cpp \
SOURCES += playlistwindow.cpp \
playlistwidget.cpp \
playlistmenu.cpp \
playlistshade.cpp \
playlistview.cpp

View file

@ -17,7 +17,7 @@
#include <xmmsclient/xmmsclient++.h>
#include "playlistshade.h"
#include "playlist.h"
#include "playlistwindow.h"
#include <QSettings>

View file

@ -20,7 +20,7 @@
#include "playlistview.h"
#include "playlistmodel.h"
#include "playlist.h"
#include "playlistwidget.h"
#include <QColor>
#include <QMenu>

View file

@ -16,7 +16,8 @@
#include "mainwindow.h"
#include "BrowseDialog.h"
#include "playlist.h"
#include "playlistwindow.h"
#include "playlistwidget.h"
#include "playlistview.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

View file

@ -14,8 +14,8 @@
* GNU General Public License for more details.
*/
#ifndef __PLAYLIST_H__
#define __PLAYLIST_H__
#ifndef __PLAYLISTWIDGET_H__
#define __PLAYLISTWIDGET_H__
#include "XMMSHandler.h"
@ -123,39 +123,4 @@ class PlaylistWidget : public QWidget {
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

View 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);
}

View 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_