Conserve CPU.
This commit is contained in:
parent
8cf4f132ff
commit
5b519baa25
4 changed files with 21 additions and 4 deletions
|
@ -95,8 +95,11 @@ ShadedDisplay::setPlaytime (uint time)
|
|||
sec = (time / 1000) % 60;
|
||||
min = (time / 1000) / 60;
|
||||
|
||||
m_number->setNumber (min, 2);
|
||||
m_number2->setNumber (sec, 2);
|
||||
if (sec != m_number2->getNumber ()) {
|
||||
m_number2->setNumber (sec, 2);
|
||||
} else if (min != m_number->getNumber ()) {
|
||||
m_number->setNumber (min, 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ class SmallNumberDisplay : public PixWidget
|
|||
~SmallNumberDisplay () { };
|
||||
|
||||
void setNumber (int num, int len);
|
||||
int getNumber (void) const { return m_num; }
|
||||
|
||||
public slots:
|
||||
void setPixmaps (Skin *skin);
|
||||
|
|
|
@ -23,7 +23,7 @@ XMMSHandler *XMMSHandler::getInstance (void)
|
|||
return singleton;
|
||||
}
|
||||
|
||||
XMMSHandler::XMMSHandler () : sigc::trackable ()
|
||||
XMMSHandler::XMMSHandler () : QObject (), sigc::trackable ()
|
||||
{
|
||||
m_xmmsc = new XMMSClient ("promoe");
|
||||
}
|
||||
|
@ -66,9 +66,16 @@ XMMSHandler::connect (const char *path)
|
|||
XMMSResult *xr = m_xmmsc->broadcast_playback_volume_changed ();
|
||||
xr->connect (sigc::mem_fun (this, &XMMSHandler::volume_changed));
|
||||
|
||||
QObject::connect (&m_playtime_timer, SIGNAL (timeout ()), this, SLOT (restartPlaytime ()));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
XMMSHandler::restartPlaytime (void)
|
||||
{
|
||||
m_playtime->restart ();
|
||||
}
|
||||
|
||||
void
|
||||
XMMSHandler::medialib_entry_changed (XMMSResultValue<uint> *res)
|
||||
|
@ -151,7 +158,8 @@ XMMSHandler::playback_playtime (XMMSResultValue<uint> *res)
|
|||
|
||||
emit playtimeChanged (i);
|
||||
|
||||
res->restart ();
|
||||
m_playtime = res;
|
||||
m_playtime_timer.start (500);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include <QObject>
|
||||
#include <QHash>
|
||||
#include <QTimer>
|
||||
|
||||
class XMMSHandler : public QObject, public sigc::trackable {
|
||||
Q_OBJECT
|
||||
|
@ -48,6 +49,7 @@ class XMMSHandler : public QObject, public sigc::trackable {
|
|||
|
||||
public slots:
|
||||
void setPlaytime (uint pos);
|
||||
void restartPlaytime (void);
|
||||
|
||||
void playlistClear () { delete m_xmmsc->playlist_clear (); }
|
||||
void play () { delete m_xmmsc->playback_start (); }
|
||||
|
@ -77,6 +79,9 @@ class XMMSHandler : public QObject, public sigc::trackable {
|
|||
void getVolume (uint);
|
||||
|
||||
private:
|
||||
XMMSResultValue<uint> *m_playtime;
|
||||
QTimer m_playtime_timer;
|
||||
|
||||
XMMSHandler (void);
|
||||
QHash<QString, QString> PropDictToQHash (XMMSResultDict *res);
|
||||
QHash<QString, QString> DictToQHash (XMMSResultDict *res);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue