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

View file

@ -29,6 +29,14 @@ PlaylistScrollButton::mouseMoveEvent (QMouseEvent *event)
m_slider->doScroll (npos); 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) PlaylistScroller::PlaylistScroller (PlaylistWindow *parent) : QWidget (parent)
{ {
m_pixmap = QPixmap(0,0); m_pixmap = QPixmap(0,0);
@ -47,7 +55,6 @@ void
PlaylistScroller::setPixmaps (Skin *skin) PlaylistScroller::setPixmaps (Skin *skin)
{ {
m_pixmap = skin->getPls (Skin::PLS_RFILL2_0); m_pixmap = skin->getPls (Skin::PLS_RFILL2_0);
} }
void void
@ -82,6 +89,8 @@ PlaylistWindow::PlaylistWindow (QWidget *parent, Skin *skin) : QMainWindow (pare
m_scroller = new PlaylistScroller (this); m_scroller = new PlaylistScroller (this);
connect (m_scroller, SIGNAL(scrolled(int)), this, SLOT(doScroll (int))); connect (m_scroller, SIGNAL(scrolled(int)), this, SLOT(doScroll (int)));
m_drag = new dragButton (this);
setMinimumSize (275, 116); setMinimumSize (275, 116);
resize (275, 300); resize (275, 300);
} }
@ -98,8 +107,7 @@ void
PlaylistWindow::resizeEvent (QResizeEvent *event) PlaylistWindow::resizeEvent (QResizeEvent *event)
{ {
m_view->resize (size().width()-30, size().height()-20-38); 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 void
@ -268,5 +276,9 @@ PlaylistWindow::paintEvent (QPaintEvent *event)
m_scroller->resize (m_rfill2.width(), m_scroller->resize (m_rfill2.width(),
size().height()-m_corner2.height()-m_corner4.height()); 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 PlaylistWindow;
class PlaylistScroller; class PlaylistScroller;
class dragButton : public Button {
public:
dragButton (QWidget *parent) : Button (parent) {}
~dragButton () {}
void mouseMoveEvent (QMouseEvent *event);
};
class PlaylistScrollButton : public Button { class PlaylistScrollButton : public Button {
public: public:
PlaylistScrollButton (PlaylistScroller *parent, uint normal, uint pressed); PlaylistScrollButton (PlaylistScroller *parent, uint normal, uint pressed);
@ -94,6 +102,7 @@ class PlaylistWindow : public QMainWindow {
PlaylistView *m_view; PlaylistView *m_view;
PlaylistList *m_list; PlaylistList *m_list;
PlaylistScroller *m_scroller; PlaylistScroller *m_scroller;
dragButton *m_drag;
}; };
#endif #endif

View file

@ -101,6 +101,10 @@ PlaylistList::setPixmaps (Skin *skin)
delete m_fontmetrics; delete m_fontmetrics;
} }
m_fontmetrics = new QFontMetrics (*m_font); 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 { } else {
ny = size().height(); ny = size().height();
} }
resize (ny, nx); resize (nx, ny);
} }

10
TODO
View file

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