rpcsx/rpcs3/rpcs3qt/custom_table_widget_item.h
Megamouse cafcac9ccd Qt: streamline custom config refresh in game list and thus ignore scroll
move l_GetItem lambda into custom_table_widget_item constructor
2018-05-17 14:27:45 +04:00

34 lines
766 B
C++

#pragma once
#include <QTableWidgetItem>
class custom_table_widget_item : public QTableWidgetItem
{
private:
int m_sort_role = Qt::DisplayRole;
public:
custom_table_widget_item(){}
custom_table_widget_item(const std::string& text, int sort_role = Qt::DisplayRole, int sort_index = 0)
: QTableWidgetItem(qstr(text).simplified()) // simplified() forces single line text
{
if (sort_role != Qt::DisplayRole)
{
setData(sort_role, sort_index, true);
}
}
bool operator <(const QTableWidgetItem &other) const
{
return data(m_sort_role) < other.data(m_sort_role);
}
void setData(int role, const QVariant &value, bool assign_sort_role = false)
{
if (assign_sort_role)
{
m_sort_role = role;
}
QTableWidgetItem::setData(role, value);
}
};