diff --git a/Button.cpp b/Button.cpp index 59720bd..db722c3 100644 --- a/Button.cpp +++ b/Button.cpp @@ -1,7 +1,10 @@ - #include "MainWindow.h" #include "Button.h" +#include "Skin.h" + +#include + Button::Button (QWidget *parent) : PixWidget (parent) { m_name_normal = 0; diff --git a/Display.cpp b/Display.cpp index 19b03a2..50b9023 100644 --- a/Display.cpp +++ b/Display.cpp @@ -1,6 +1,8 @@ #include "MainWindow.h" #include "Display.h" +#include "TitleBar.h" + #include SkinDisplay::SkinDisplay (QWidget *parent) : QWidget(parent) @@ -29,8 +31,8 @@ SkinDisplay::mousePressEvent (QMouseEvent *event) void SkinDisplay::mouseMoveEvent (QMouseEvent *event) { - m_mw->move(event->globalPos().x() - m_diffX, - event->globalPos().y() - m_diffY); + m_mw->move (event->globalPos().x() - m_diffX, + event->globalPos().y() - m_diffY); } void diff --git a/Display.h b/Display.h index 4e5f785..0374640 100644 --- a/Display.h +++ b/Display.h @@ -33,7 +33,6 @@ class SkinDisplay : public QWidget QWidget *m_mw; QWidget *m_tbar; - private: int m_diffX; int m_diffY; }; diff --git a/MainDisplay.cpp b/MainDisplay.cpp index 94c7797..eb40581 100644 --- a/MainDisplay.cpp +++ b/MainDisplay.cpp @@ -1,7 +1,18 @@ #include "XMMSHandler.h" #include "MainDisplay.h" +#include "MainWindow.h" + #include "TitleBar.h" +#include "Button.h" #include "TextBar.h" +#include "NumberDisplay.h" +#include "TimeDisplay.h" +#include "SmallNumberDisplay.h" +#include "StereoMono.h" +#include "Slider.h" +#include "PlayStatus.h" +#include "VolumeSlider.h" +#include "Playlist.h" #include #include @@ -56,6 +67,22 @@ MainDisplay::MainDisplay (QWidget *parent) : SkinDisplay(parent) this, SLOT(setPlaytime(uint))); } +void +MainDisplay::mouseMoveEvent (QMouseEvent *event) +{ + MainWindow *mw = dynamic_cast(window ()); + PlaylistWindow *pl = mw->getPL (); + + m_mw->move (event->globalPos().x() - m_diffX, + event->globalPos().y() - m_diffY); + + if (!pl || !pl->isVisible ()) + return; + + pl->move (event->globalPos().x() - m_diffX, + event->globalPos().y() - m_diffY + size().height()); +} + void MainDisplay::setPixmaps (Skin *skin) { diff --git a/MainDisplay.h b/MainDisplay.h index c6a4b0c..aac1f54 100644 --- a/MainDisplay.h +++ b/MainDisplay.h @@ -15,6 +15,7 @@ class MainDisplay; #include #include "Display.h" +/* #include "TitleBar.h" #include "Button.h" #include "TextBar.h" @@ -26,6 +27,18 @@ class MainDisplay; #include "PlayStatus.h" #include "VolumeSlider.h" #include "MainWindow.h" +*/ + +class Button; +class ToggleButton; +class TextScroller; +class TimeDisplay; +class SmallNumberDisplay; +class StereoMono; +class Slider; +class VolumeSlider; +class PlayStatus; +class MainWindow; class MainDisplay : public SkinDisplay { @@ -48,6 +61,8 @@ class MainDisplay : public SkinDisplay PlayStatus *m_playstatus; MainWindow *getMW(void) { return m_mw; } + void mouseMoveEvent (QMouseEvent *); + public slots: void setPixmaps(Skin *skin); void setStatus (uint status); diff --git a/MainWindow.cpp b/MainWindow.cpp index 42fd184..12d5899 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -5,6 +5,10 @@ #include "ServerBrowser.h" #endif +#include "Playlist.h" +#include "MainDisplay.h" +#include "ShadedDisplay.h" + #include #include #include @@ -75,27 +79,15 @@ MainWindow::switchDisplay () } +void +MainWindow::raisePL (void) +{ + m_playlistwin->raise (); +} + void MainWindow::moveEvent (QMoveEvent *event) { - int x = event->oldPos().x(); - int y = event->oldPos().y() + size().height(); - - if (!m_playlistwin) - return; - - int x2 = m_playlistwin->pos().x(); - int y2 = m_playlistwin->pos().y(); - - int diffy = y - y2; - int diffx = x - x2; - - if ((diffy > -5 && diffy < 5) && (diffx > -10 && diffx < 10)) - { - m_playlistwin->move (event->pos().x(), - event->pos().y() + size().height()); - } - QSettings s; s.setValue ("mainwindow/pos", pos ()); } diff --git a/MainWindow.h b/MainWindow.h index eb6f496..5925b24 100644 --- a/MainWindow.h +++ b/MainWindow.h @@ -14,11 +14,20 @@ class MainWindow; #include #include -#include "Skin.h" #include "XmmsQT4.h" + +/* +#include "Skin.h" #include "MainDisplay.h" #include "ShadedDisplay.h" #include "Playlist.h" +*/ + +class XmmsQT4; +class Skin; +class MainDisplay; +class ShadedDisplay; +class PlaylistWindow; class MainWindow : public QMainWindow { @@ -29,9 +38,10 @@ class MainWindow : public QMainWindow MainDisplay *getMD () { return m_display; } ShadedDisplay *getSD () { return m_shaded; } + PlaylistWindow *getPL () { return m_playlistwin; } void setPL (PlaylistWindow *p) { m_playlistwin = p; } - void raisePL (void) { m_playlistwin->raise (); } + void raisePL (void); void moveEvent (QMoveEvent *event); void togglePL (bool UpdateButton); bool isTimemodeReverse(void) { QSettings s; return s.value("MainWindow/timemodereverse").toBool(); } diff --git a/NumberDisplay.cpp b/NumberDisplay.cpp index 1deed91..7688ca5 100644 --- a/NumberDisplay.cpp +++ b/NumberDisplay.cpp @@ -1,6 +1,9 @@ #include "MainWindow.h" #include "NumberDisplay.h" +#include "TimeDisplay.h" +#include "Skin.h" + NumberDisplay::NumberDisplay (QWidget *parent, TimeDisplay *td,uint w, uint startpx) : PixWidget (parent) { m_td = td; diff --git a/NumberDisplay.h b/NumberDisplay.h index 6e029bb..4040fc4 100644 --- a/NumberDisplay.h +++ b/NumberDisplay.h @@ -4,7 +4,6 @@ class TimeDisplay; #include "PixWidget.h" -//#include "TimeDisplay.h" class NumberDisplay : public PixWidget { diff --git a/PixWidget.cpp b/PixWidget.cpp index ac44bc2..70cf956 100644 --- a/PixWidget.cpp +++ b/PixWidget.cpp @@ -1,5 +1,8 @@ #include "MainWindow.h" +#include "Skin.h" +#include "PixWidget.h" + PixWidget::PixWidget (QWidget *parent) : QWidget (parent) { Skin *skin = Skin::getInstance(); diff --git a/PixWidget.h b/PixWidget.h index 930b596..59d3351 100644 --- a/PixWidget.h +++ b/PixWidget.h @@ -3,12 +3,12 @@ #include -#include "Skin.h" - #include #include #include +class Skin; + class PixWidget : public QWidget { Q_OBJECT diff --git a/PlayStatus.cpp b/PlayStatus.cpp index 3b103bb..bd70ef8 100644 --- a/PlayStatus.cpp +++ b/PlayStatus.cpp @@ -1,4 +1,5 @@ #include "PlayStatus.h" +#include "Skin.h" PlayStatus::PlayStatus (QWidget *parent) : PixWidget (parent) { diff --git a/Playlist.cpp b/Playlist.cpp index 44557f8..13c1722 100644 --- a/Playlist.cpp +++ b/Playlist.cpp @@ -1,6 +1,8 @@ #include "MainWindow.h" #include "Playlist.h" +#include "PlaylistList.h" +#include "PlaylistShade.h" #include "PlaylistMenu.h" #include @@ -434,6 +436,13 @@ PlaylistWidget::setActive (bool active) update (); } + +uint +PlaylistWidget::getOffset (void) +{ + return m_list->getOffset (); +} + void PlaylistWidget::mouseDoubleClickEvent (QMouseEvent *event) { diff --git a/Playlist.h b/Playlist.h index a8de8b9..e23f82f 100644 --- a/Playlist.h +++ b/Playlist.h @@ -2,12 +2,6 @@ #define __PLAYLIST_H__ #include "XMMSHandler.h" -#include "Skin.h" -#include "PlaylistList.h" -#include "PixWidget.h" -#include "Button.h" -#include "PlaylistShade.h" -#include "PlaylistMenu.h" #include #include @@ -16,6 +10,13 @@ class MainWindow; class PlaylistWidget; class PlaylistScroller; +#include "Button.h" + +class Skin; +class PlaylistList; +class PlaylistShade; +class PlaylistMenu; + class dragButton : public Button { public: dragButton (QWidget *parent) : Button (parent) {} @@ -75,7 +76,7 @@ class PlaylistWidget : public QWidget { void setActive (bool); void switchDisplay (void); - uint getOffset (void) const { return m_list->getOffset (); }; + uint getOffset (void); public slots: void setPixmaps (Skin *skin); diff --git a/ShadedDisplay.cpp b/ShadedDisplay.cpp index ea76993..a784756 100644 --- a/ShadedDisplay.cpp +++ b/ShadedDisplay.cpp @@ -1,4 +1,11 @@ +#include "XMMSHandler.h" + #include "ShadedDisplay.h" +#include "TitleBar.h" +#include "Button.h" + +#include "SmallNumberDisplay.h" +#include "TextBar.h" ShadedDisplay::ShadedDisplay (QWidget *parent) : SkinDisplay (parent) { diff --git a/ShadedDisplay.h b/ShadedDisplay.h index 686e998..81e05c0 100644 --- a/ShadedDisplay.h +++ b/ShadedDisplay.h @@ -3,11 +3,12 @@ class ShadedDisplay; -#include "MainWindow.h" #include "Display.h" -#include "SmallNumberDisplay.h" -#include "TextBar.h" -#include "Button.h" + +class MainWindow; +class Button; +class SmallNumberDisplay; +class TextScroller; class ShadedDisplay : public SkinDisplay { diff --git a/Slider.cpp b/Slider.cpp index 93521dc..c396361 100644 --- a/Slider.cpp +++ b/Slider.cpp @@ -1,6 +1,7 @@ #include "MainWindow.h" #include "Slider.h" +#include "Skin.h" #include #include diff --git a/SmallNumberDisplay.cpp b/SmallNumberDisplay.cpp index a7841af..246c426 100644 --- a/SmallNumberDisplay.cpp +++ b/SmallNumberDisplay.cpp @@ -1,4 +1,5 @@ #include "SmallNumberDisplay.h" +#include "Skin.h" SmallNumberDisplay::SmallNumberDisplay (QWidget *parent, int w) : PixWidget (parent) { diff --git a/StereoMono.cpp b/StereoMono.cpp index 66067e7..b51b383 100644 --- a/StereoMono.cpp +++ b/StereoMono.cpp @@ -1,4 +1,5 @@ #include "StereoMono.h" +#include "Skin.h" StereoMono::StereoMono (QWidget *parent) : PixWidget (parent) { diff --git a/TimeDisplay.cpp b/TimeDisplay.cpp index 8cf2a3d..1cad9c2 100644 --- a/TimeDisplay.cpp +++ b/TimeDisplay.cpp @@ -2,6 +2,8 @@ #include "TimeDisplay.h" #include "NumberDisplay.h" +#include "MainWindow.h" + #include TimeDisplay::TimeDisplay (QWidget *parent, int time) : PixWidget (parent) diff --git a/TitleBar.cpp b/TitleBar.cpp index 1b581a3..88b0daa 100644 --- a/TitleBar.cpp +++ b/TitleBar.cpp @@ -4,6 +4,7 @@ #include "SkinChooser.h" #include "Medialib.h" #include "SettingsWindow.h" +#include "Button.h" #include diff --git a/TitleBar.h b/TitleBar.h index 81237f1..30f6d0f 100644 --- a/TitleBar.h +++ b/TitleBar.h @@ -4,7 +4,8 @@ class TitleBar; #include "PixWidget.h" -#include "Button.h" + +class Button; class TitleBar : public PixWidget { diff --git a/VolumeSlider.cpp b/VolumeSlider.cpp index 2a40dd8..763dbe8 100644 --- a/VolumeSlider.cpp +++ b/VolumeSlider.cpp @@ -3,6 +3,8 @@ #include "VolumeSlider.h" #include +#include "Skin.h" + // NOTE! // This file has lots of seemingly strange math. // I will document it as we go, but please keep in mind diff --git a/VolumeSlider.h b/VolumeSlider.h index 0534089..e8f5a05 100644 --- a/VolumeSlider.h +++ b/VolumeSlider.h @@ -2,10 +2,10 @@ #define __VOLUMESLIDER_H__ #include "PixWidget.h" -#include "Button.h" class VolumeSlider; class MainDisplay; +class Button; class VolButton : public PixWidget {