mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
32 lines
881 B
C++
32 lines
881 B
C++
#pragma once
|
|
|
|
#include <QListWidgetItem>
|
|
|
|
class numbered_widget_item final : public QListWidgetItem
|
|
{
|
|
public:
|
|
explicit numbered_widget_item(const QString& text, QListWidget* listview = nullptr, int type = QListWidgetItem::Type)
|
|
: QListWidgetItem(text, listview, type)
|
|
{
|
|
}
|
|
|
|
QVariant data(int role) const override
|
|
{
|
|
switch (role)
|
|
{
|
|
case Qt::DisplayRole:
|
|
// Return number and original display text (e.g. "14. My Cool Game (BLUS12345)")
|
|
return QStringLiteral("%1. %2").arg(listWidget()->row(this) + 1).arg(QListWidgetItem::data(Qt::DisplayRole).toString());
|
|
default:
|
|
// Return original data
|
|
return QListWidgetItem::data(role);
|
|
}
|
|
}
|
|
|
|
bool operator<(const QListWidgetItem& other) const override
|
|
{
|
|
// Compare original display text
|
|
return QListWidgetItem::data(Qt::DisplayRole).toString() < other.QListWidgetItem::data(Qt::DisplayRole).toString();
|
|
}
|
|
};
|