Added total playtime
This commit is contained in:
@ -259,6 +259,7 @@ public:
|
||||
actionAddInstance.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Add a new instance."));
|
||||
all_actions.append(&actionAddInstance);
|
||||
mainToolBar->addAction(actionAddInstance);
|
||||
actionAddInstance.setTextId(QT_TRANSLATE_NOOP("MainWindow", "A"));
|
||||
|
||||
mainToolBar->addSeparator();
|
||||
|
||||
@ -724,8 +725,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new MainWindow
|
||||
connect(MMC, &MultiMC::globalSettingsClosed, this, &MainWindow::globalSettingsClosed);
|
||||
|
||||
m_statusLeft = new QLabel(tr("No instance selected"), this);
|
||||
m_statusCenter = new QLabel(tr("Total playtime: 0s."), this);
|
||||
m_statusRight = new ServerStatus(this);
|
||||
statusBar()->addPermanentWidget(m_statusLeft, 1);
|
||||
statusBar()->addPermanentWidget(m_statusCenter, 1);
|
||||
statusBar()->addPermanentWidget(m_statusRight, 0);
|
||||
|
||||
// Add "manage accounts" button, right align
|
||||
@ -1327,7 +1330,6 @@ void MainWindow::setCatBackground(bool enabled)
|
||||
{
|
||||
QDateTime now = QDateTime::currentDateTime();
|
||||
QDateTime xmas(QDate(now.date().year(), 12, 25), QTime(0, 0));
|
||||
;
|
||||
QString cat = (non_stupid_abs(now.daysTo(xmas)) <= 4) ? "catmas" : "kitteh";
|
||||
view->setStyleSheet(QString(R"(
|
||||
GroupView
|
||||
@ -1526,6 +1528,7 @@ void MainWindow::setSelectedInstanceById(const QString &id)
|
||||
{
|
||||
QModelIndex selectionIndex = proxymodel->mapFromSource(index);
|
||||
view->selectionModel()->setCurrentIndex(selectionIndex, QItemSelectionModel::ClearAndSelect);
|
||||
updateStatusCenter();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1854,6 +1857,7 @@ void MainWindow::instanceChanged(const QModelIndex ¤t, const QModelIndex &
|
||||
ui->actionExportInstance->setEnabled(m_selectedInstance->canExport());
|
||||
ui->renameButton->setText(m_selectedInstance->name());
|
||||
m_statusLeft->setText(m_selectedInstance->getStatusbarDescription());
|
||||
updateStatusCenter();
|
||||
updateInstanceToolIcon(m_selectedInstance->iconKey());
|
||||
|
||||
updateToolsMenu();
|
||||
@ -1932,3 +1936,17 @@ void MainWindow::checkInstancePathForProblems()
|
||||
warning.exec();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::updateStatusCenter()
|
||||
{
|
||||
int timeplayed = MMC->instances()->getTotalPlayTime();
|
||||
int minutes = timeplayed / 60;
|
||||
int hours = minutes / 60;
|
||||
int seconds = timeplayed % 60;
|
||||
if(hours != 0)
|
||||
m_statusCenter->setText(tr("Total playtime: %1h %2m %3s").arg(hours).arg(minutes).arg(seconds));
|
||||
else if(minutes != 0)
|
||||
m_statusCenter->setText(tr("Total playtime: %1m %2s").arg(minutes).arg(seconds));
|
||||
else if(seconds != 0)
|
||||
m_statusCenter->setText(tr("Total playtime: %1s").arg(seconds));
|
||||
}
|
||||
|
@ -194,6 +194,7 @@ private:
|
||||
void setCatBackground(bool enabled);
|
||||
void updateInstanceToolIcon(QString new_icon);
|
||||
void setSelectedInstanceById(const QString &id);
|
||||
void updateStatusCenter();
|
||||
|
||||
void runModalTask(Task *task);
|
||||
void instanceFromInstanceTask(InstanceTask *task);
|
||||
@ -207,6 +208,7 @@ private:
|
||||
InstanceProxyModel *proxymodel = nullptr;
|
||||
QToolButton *newsLabel = nullptr;
|
||||
QLabel *m_statusLeft = nullptr;
|
||||
QLabel *m_statusCenter = nullptr;
|
||||
ServerStatus *m_statusRight = nullptr;
|
||||
QMenu *accountMenu = nullptr;
|
||||
QToolButton *accountMenuButton = nullptr;
|
||||
|
Reference in New Issue
Block a user