Unbreak resizing and scrolling.

This commit is contained in:
Tobias Rundstrom 2006-02-26 14:36:54 -03:00
parent 5dec0fb5fe
commit 56dd4cf3ee
5 changed files with 34 additions and 17 deletions

View file

@ -78,15 +78,14 @@ Skin *MainWindow::getSkin(void)
return skin;
}
int main (int argc, char **argv)
int
main (int argc, char **argv)
{
QApplication app(argc, argv);
MainWindow *mw = new MainWindow (NULL);
mw->show ();
QMainWindow *playlistwin = new PlaylistWindow (NULL, mw->getSkin ());
playlistwin->show ();
/*
* Now that everything is initialized
@ -95,6 +94,9 @@ int main (int argc, char **argv)
* all widgets to get their pixmaps
*/
mw->getSkin ()->setSkin ("./CleanAMP/");
mw->show ();
playlistwin->show ();
return app.exec();
}

View file

@ -29,6 +29,14 @@ PlaylistScrollButton::mouseMoveEvent (QMouseEvent *event)
m_slider->doScroll (npos);
}
void
dragButton::mouseMoveEvent (QMouseEvent *event)
{
PlaylistWindow *pw = dynamic_cast<PlaylistWindow *>(window ());
pw->resize (pw->size().width()+(event->pos().x()-m_diffx),
pw->size().height()+(event->pos().y()-m_diffy));
}
PlaylistScroller::PlaylistScroller (PlaylistWindow *parent) : QWidget (parent)
{
m_pixmap = QPixmap(0,0);
@ -47,7 +55,6 @@ void
PlaylistScroller::setPixmaps (Skin *skin)
{
m_pixmap = skin->getPls (Skin::PLS_RFILL2_0);
}
void
@ -82,6 +89,8 @@ PlaylistWindow::PlaylistWindow (QWidget *parent, Skin *skin) : QMainWindow (pare
m_scroller = new PlaylistScroller (this);
connect (m_scroller, SIGNAL(scrolled(int)), this, SLOT(doScroll (int)));
m_drag = new dragButton (this);
setMinimumSize (275, 116);
resize (275, 300);
}
@ -98,8 +107,7 @@ void
PlaylistWindow::resizeEvent (QResizeEvent *event)
{
m_view->resize (size().width()-30, size().height()-20-38);
m_list->resize (m_view->size().width(), m_view->size().height());
m_list->setSize (m_view->size().width(), m_view->size().height());
}
void
@ -268,5 +276,9 @@ PlaylistWindow::paintEvent (QPaintEvent *event)
m_scroller->resize (m_rfill2.width(),
size().height()-m_corner2.height()-m_corner4.height());
m_drag->move (size().width()-30,
size().height()-30);
m_drag->resize (30, 30);
}

View file

@ -11,6 +11,14 @@
class PlaylistWindow;
class PlaylistScroller;
class dragButton : public Button {
public:
dragButton (QWidget *parent) : Button (parent) {}
~dragButton () {}
void mouseMoveEvent (QMouseEvent *event);
};
class PlaylistScrollButton : public Button {
public:
PlaylistScrollButton (PlaylistScroller *parent, uint normal, uint pressed);
@ -94,6 +102,7 @@ class PlaylistWindow : public QMainWindow {
PlaylistView *m_view;
PlaylistList *m_list;
PlaylistScroller *m_scroller;
dragButton *m_drag;
};
#endif

View file

@ -101,6 +101,10 @@ PlaylistList::setPixmaps (Skin *skin)
delete m_fontmetrics;
}
m_fontmetrics = new QFontMetrics (*m_font);
for (int i = 0; i < 100; i++) {
PlaylistItem (this, i);
}
}
@ -118,7 +122,7 @@ PlaylistList::setSize (int width, int height)
} else {
ny = size().height();
}
resize (ny, nx);
resize (nx, ny);
}

10
TODO
View file

@ -1,19 +1,9 @@
Todo:
Config
ShadeDisplay
Balance
VolumeBar
PlayStatus
PlaylistWindow
PlaylistItem
PlaylistList
PlaylistSliderButton
PlaylistSlider
PlaylistButton
CloseButton
ShadeButton
ResizeButton