浏览代码

modified the displayed value of time label for long duration of file.

libx@skyvis.com.cn 5 年之前
父节点
当前提交
78627340aa
共有 1 个文件被更改,包括 28 次插入12 次删除
  1. 28 12
      src/MainWindow.cpp

+ 28 - 12
src/MainWindow.cpp

@@ -154,12 +154,20 @@ void MainWindow::slotTimerTimeOut()
 
         ui->horizontalSlider->setValue(Sec);
 
-    //    QString hStr = QString("00%1").arg(Sec/3600);
-        QString mStr = QString("00%1").arg(Sec/60);
-        QString sStr = QString("00%1").arg(Sec%60);
-
-        QString str = QString("%1:%2").arg(mStr.right(2)).arg(sStr.right(2));
-        ui->label_currenttime->setText(str);
+		QString curTime;
+		QString hStr = QString("0%1").arg(Sec / 3600);
+		QString mStr = QString("0%1").arg(Sec / 60 % 60);
+		QString sStr = QString("0%1").arg(Sec % 60);
+		if (hStr == "00")
+		{
+			curTime = QString("%1:%2").arg(mStr.right(2)).arg(sStr.right(2));
+		}
+		else
+		{
+			curTime = QString("%1:%2:%3").arg(hStr).arg(mStr.right(2)).arg(sStr.right(2));
+		}
+
+		ui.label_currenttime->setText(curTime);
     }
     else if (QObject::sender() == mTimer_CheckControlWidget)
     {
@@ -255,12 +263,20 @@ void MainWindow::onTotalTimeChanged(const int64_t &uSec)
 
         ui->horizontalSlider->setRange(0,Sec);
 
-    //    QString hStr = QString("00%1").arg(Sec/3600);
-        QString mStr = QString("00%1").arg(Sec/60);
-        QString sStr = QString("00%1").arg(Sec%60);
-
-        QString str = QString("%1:%2").arg(mStr.right(2)).arg(sStr.right(2));
-        ui->label_totaltime->setText(str);
+		QString totalTime;
+		QString hStr = QString("0%1").arg(Sec/3600);
+		QString mStr = QString("0%1").arg(Sec / 60 % 60);
+		QString sStr = QString("0%1").arg(Sec % 60);
+		if (hStr == "00")
+		{
+			totalTime = QString("%1:%2").arg(mStr.right(2)).arg(sStr.right(2));
+		}
+		else
+		{
+			totalTime = QString("%1:%2:%3").arg(hStr).arg(mStr.right(2)).arg(sStr.right(2));
+		}
+
+		ui.label_totaltime->setText(totalTime);
     });
 }