Skin class now emits a signal when a skin has (hopefully) been loaded.

Widgets interested in such events handle the signal and update their
pixmaps accordingly.
This commit is contained in:
Daniel Svensson 2006-02-18 04:15:45 +01:00
parent 1b1cf78647
commit 9fb1376afe
15 changed files with 391 additions and 273 deletions

View file

@ -6,12 +6,14 @@ TextScroller::TextScroller (QWidget *parent, uint w, uint h) : QWidget (parent)
{
MainWindow *mw = (MainWindow *)((SkinDisplay *)parent)->getMW();
m_skin = mw->getSkin();
connect (m_skin, SIGNAL (skinChanged (Skin *)), this, SLOT (setPixmaps(Skin *)));
m_h = h;
m_w = w;
m_x_off = 0;
m_x2_off = 0;
m_skin = mw->getSkin ();
setMinimumSize(m_w + 2, m_h);
setMaximumSize(m_w + 2, m_h);
@ -25,24 +27,28 @@ TextScroller::TextScroller (QWidget *parent, uint w, uint h) : QWidget (parent)
m_timer = new QTimer (this);
connect (m_timer, SIGNAL (timeout()), this, SLOT (addOffset ()));
QPalette pal = palette ();
QBrush b = QBrush (Qt::TexturePattern);
b.setTexture (mw->getSkin ()->getItem (Skin::TEXTBG));
pal.setBrush (QPalette::Window, b);
setPalette (pal);
setAutoFillBackground (true);
setText (QString::fromUtf8 ("Promoe 0.1"));
//setText (QString::fromUtf8 ("Okerueu etuoduå öästö åntöå dS !! !¤ ¤ % % & & ¤"));
}
void
TextScroller::setPixmaps (Skin *skin)
{
QPalette pal = palette ();
QBrush b = QBrush (Qt::TexturePattern);
b.setTexture (skin->getItem (Skin::TEXTBG));
pal.setBrush (QPalette::Window, b);
setPalette (pal);
setText (QString::fromUtf8 ("Promoe 0.1"));
update();
}
void
TextScroller::addOffset ()
{
if (m_x2_off > 0) {
m_x2_off --;
} else if (m_x_off < m_pixmap.size().width()) {