Make windows snap to each other
This commit is contained in:
parent
ab988d8496
commit
94ca829e98
12 changed files with 29 additions and 94 deletions
|
|
@ -119,21 +119,6 @@ MainDisplay::setVolume (int volume)
|
|||
xmmsh.volumeSet((uint)volume);
|
||||
}
|
||||
|
||||
void
|
||||
MainDisplay::mouseMoveEvent (QMouseEvent *event)
|
||||
{
|
||||
MainWindow *mw = dynamic_cast<MainWindow *>(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)
|
||||
|
|
|
|||
|
|
@ -66,8 +66,6 @@ class MainDisplay : public SkinDisplay
|
|||
PlayStatus *m_playstatus;
|
||||
MainWindow *getMW(void) { return m_mw; }
|
||||
|
||||
void mouseMoveEvent (QMouseEvent *);
|
||||
|
||||
public slots:
|
||||
void setPixmaps(Skin *skin);
|
||||
void setStatus (Xmms::Playback::Status status);
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
#include <QPluginLoader>
|
||||
#include <qplugin.h>
|
||||
|
||||
MainWindow::MainWindow (QWidget *parent) : QMainWindow (parent)
|
||||
MainWindow::MainWindow (QWidget *parent) : BaseWindow (parent)
|
||||
{
|
||||
QSettings s;
|
||||
|
||||
|
|
@ -130,5 +130,15 @@ MainWindow::moveEvent (QMoveEvent *event)
|
|||
{
|
||||
QSettings s;
|
||||
s.setValue ("mainwindow/pos", pos ());
|
||||
}
|
||||
|
||||
// move all connected windows to their new position
|
||||
// at the moment connected windows can be m_playlistwin and m_equalizer
|
||||
if (!m_connectedWidgets.isEmpty ()) {
|
||||
QMap<QWidget *,QPoint>::const_iterator i
|
||||
= m_connectedWidgets.constBegin ();
|
||||
while (i != m_connectedWidgets.constEnd ()) {
|
||||
i.key()->move (pos () + i.value ());
|
||||
++i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
#ifndef __MAINWINDOW_H__
|
||||
#define __MAINWINDOW_H__
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QSettings>
|
||||
#include "basewindow.h"
|
||||
|
||||
#include <QSettings>
|
||||
class QWidget;
|
||||
|
||||
class MainDisplay;
|
||||
|
|
@ -26,7 +26,7 @@ class ShadedDisplay;
|
|||
class PlaylistWindow;
|
||||
class EqualizerWindow;
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
class MainWindow : public BaseWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
|
@ -55,6 +55,8 @@ class MainWindow : public QMainWindow
|
|||
ShadedDisplay *m_shaded;
|
||||
EqualizerWindow *m_equalizer;
|
||||
PlaylistWindow *m_playlistwin;
|
||||
|
||||
QMap<QWidget *,QPoint> m_connectedWidgets;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue