]> Some of my projects - aniplayer-old.git/commitdiff
- Add per cent watched to time label
authorAPTX <APTX@.(none)>
Sun, 17 May 2009 22:34:03 +0000 (00:34 +0200)
committerAPTX <APTX@.(none)>
Sun, 17 May 2009 22:34:03 +0000 (00:34 +0200)
src/menu.cpp
src/menu.h

index cdf9fc7260ee1a6d99dc917bd98d4da6ab9ab75e..4d92cfa1cdfb9e5dc3eb3ffba7cc047e1ea4a566 100644 (file)
@@ -37,7 +37,7 @@ Menu::Menu(QWidget *parent)
        }
        {
                QWidget *timeBarContents = new QWidget(ui->timeBar);
-               timeLabel = new QLabel("0:00:00 / 0:00:00", timeBarContents);
+               timeLabel = new QLabel("0:00:00 / 0:00:00 (0%)", timeBarContents);
 
                QHBoxLayout *layout = new QHBoxLayout(timeBarContents);
                layout->addWidget(timeLabel);
@@ -104,15 +104,21 @@ void Menu::showMessage(const QString &message)
 
 void Menu::tick(qint64 pos)
 {
-       int sec = pos/1000;
-       int min = sec/60;
-       int hour = min/60;
+       int sec = pos / 1000;
+       int min = sec / 60;
+       int hour = min / 60;
        int msec = pos;
-       timeLabel->setText(QTime(hour, min % 60, sec % 60, msec % 1000).toString("h:mm:ss") + totalTime);
+       timeLabel->setText(
+                       QString("%1 %2 (%3%)").arg(
+                                       QTime(hour, min % 60, sec % 60, msec % 1000).toString("h:mm:ss"),
+                                       totalTime)
+                                       .arg(int(pos * double(100) / length))
+                       );
 }
 
 void Menu::setTotalTime(qint64 pos)
 {
+       length = pos;
        int sec = pos / 1000;
        int min = sec / 60;
        int hour = min / 60;
index 0be72d74d676258436cb747265a4b0b1c474cdd4..64a867dfb0f21f7fc6a6d1bfb5fc71b70ac02671 100644 (file)
@@ -57,6 +57,7 @@ private:
 
        QLabel *timeLabel;
        QString totalTime;
+       qint64 length;
 
        QPoint dragPosition;
        bool dragged;