mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 05:51:27 +12:00
Simplify numbered_widget_item
This commit is contained in:
parent
46dc40f3f1
commit
dd41ee68de
4 changed files with 70 additions and 44 deletions
|
@ -2429,6 +2429,7 @@
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">.\QTGeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">.\QTGeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\QTGeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_WINEXTRAS_LIB -DQT_CONCURRENT_LIB -D%(PreprocessorDefinitions) "-I.\..\3rdparty\flatbuffers\include" "-I.\..\3rdparty\wolfssl" "-I.\..\3rdparty\curl\include" "-I.\..\3rdparty\libusb\libusb" "-I$(VULKAN_SDK)\Include" "-I.\..\3rdparty\XAudio2Redist\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I$(QTDIR)\mkspecs\win32-msvc2015" "-I.\QTGeneratedFiles\$(ConfigurationName)" "-I.\QTGeneratedFiles" "-I$(QTDIR)\include\QtWinExtras" "-I$(QTDIR)\include\QtConcurrent"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\QTGeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_WINEXTRAS_LIB -DQT_CONCURRENT_LIB -D%(PreprocessorDefinitions) "-I.\..\3rdparty\flatbuffers\include" "-I.\..\3rdparty\wolfssl" "-I.\..\3rdparty\curl\include" "-I.\..\3rdparty\libusb\libusb" "-I$(VULKAN_SDK)\Include" "-I.\..\3rdparty\XAudio2Redist\include" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtANGLE" "-I$(QTDIR)\include\QtCore" "-I.\debug" "-I$(QTDIR)\mkspecs\win32-msvc2015" "-I.\QTGeneratedFiles\$(ConfigurationName)" "-I.\QTGeneratedFiles" "-I$(QTDIR)\include\QtWinExtras" "-I$(QTDIR)\include\QtConcurrent"</Command>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<ClInclude Include="rpcs3qt\numbered_widget_item.h" />
|
||||||
<ClInclude Include="rpcs3qt\stylesheets.h" />
|
<ClInclude Include="rpcs3qt\stylesheets.h" />
|
||||||
<CustomBuild Include="rpcs3qt\skylander_dialog.h">
|
<CustomBuild Include="rpcs3qt\skylander_dialog.h">
|
||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release - LLVM|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release - LLVM|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
@ -3044,6 +3045,12 @@
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">"$(QTDIR)\bin\uic.exe" -o ".\QTGeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug - LLVM|x64'">"$(QTDIR)\bin\uic.exe" -o ".\QTGeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="QTGeneratedFiles\Debug - LLVM\pkg_install_dialog.moc" />
|
||||||
|
<None Include="QTGeneratedFiles\Debug\pkg_install_dialog.moc" />
|
||||||
|
<None Include="QTGeneratedFiles\Release - LLVM\pkg_install_dialog.moc" />
|
||||||
|
<None Include="QTGeneratedFiles\Release\pkg_install_dialog.moc" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets" />
|
<ImportGroup Label="ExtensionTargets" />
|
||||||
<ProjectExtensions>
|
<ProjectExtensions>
|
||||||
|
|
|
@ -137,6 +137,9 @@
|
||||||
<Filter Include="Io\DualSense">
|
<Filter Include="Io\DualSense">
|
||||||
<UniqueIdentifier>{ff7eb8a7-5545-41af-bab1-348032b9a430}</UniqueIdentifier>
|
<UniqueIdentifier>{ff7eb8a7-5545-41af-bab1-348032b9a430}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="Gui\custom items">
|
||||||
|
<UniqueIdentifier>{949cff6d-9cc5-4a8a-a453-a5144da8ecf4}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="main.cpp">
|
<ClCompile Include="main.cpp">
|
||||||
|
@ -1109,7 +1112,7 @@
|
||||||
<Filter>Io\DualSense</Filter>
|
<Filter>Io\DualSense</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="rpcs3qt\custom_table_widget_item.cpp">
|
<ClCompile Include="rpcs3qt\custom_table_widget_item.cpp">
|
||||||
<Filter>Gui\game list</Filter>
|
<Filter>Gui\custom items</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -1155,15 +1158,9 @@
|
||||||
<ClInclude Include="rpcs3qt\game_list_grid_delegate.h">
|
<ClInclude Include="rpcs3qt\game_list_grid_delegate.h">
|
||||||
<Filter>Gui\game list</Filter>
|
<Filter>Gui\game list</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="rpcs3qt\table_item_delegate.h">
|
|
||||||
<Filter>Gui\game list</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="Input\evdev_joystick_handler.h">
|
<ClInclude Include="Input\evdev_joystick_handler.h">
|
||||||
<Filter>Io\evdev</Filter>
|
<Filter>Io\evdev</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="rpcs3qt\custom_table_widget_item.h">
|
|
||||||
<Filter>Gui\game list</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="rpcs3qt\qt_utils.h">
|
<ClInclude Include="rpcs3qt\qt_utils.h">
|
||||||
<Filter>Gui\utils</Filter>
|
<Filter>Gui\utils</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
@ -1215,6 +1212,15 @@
|
||||||
<ClInclude Include="Input\dualsense_pad_handler.h">
|
<ClInclude Include="Input\dualsense_pad_handler.h">
|
||||||
<Filter>Io\DualSense</Filter>
|
<Filter>Io\DualSense</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="rpcs3qt\custom_table_widget_item.h">
|
||||||
|
<Filter>Gui\custom items</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="rpcs3qt\table_item_delegate.h">
|
||||||
|
<Filter>Gui\custom items</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="rpcs3qt\numbered_widget_item.h">
|
||||||
|
<Filter>Gui\custom items</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="debug\moc_predefs.h.cbt">
|
<CustomBuild Include="debug\moc_predefs.h.cbt">
|
||||||
|
@ -1449,4 +1455,18 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="rpcs3.rc" />
|
<ResourceCompile Include="rpcs3.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="QTGeneratedFiles\Release - LLVM\pkg_install_dialog.moc">
|
||||||
|
<Filter>Generated Files\Release - LLVM</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="QTGeneratedFiles\Debug\pkg_install_dialog.moc">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="QTGeneratedFiles\Release\pkg_install_dialog.moc">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="QTGeneratedFiles\Debug - LLVM\pkg_install_dialog.moc">
|
||||||
|
<Filter>Generated Files\Debug - LLVM</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
31
rpcs3/rpcs3qt/numbered_widget_item.h
Normal file
31
rpcs3/rpcs3qt/numbered_widget_item.h
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#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();
|
||||||
|
}
|
||||||
|
};
|
|
@ -1,5 +1,6 @@
|
||||||
#include "pkg_install_dialog.h"
|
#include "pkg_install_dialog.h"
|
||||||
#include "game_compatibility.h"
|
#include "game_compatibility.h"
|
||||||
|
#include "numbered_widget_item.h"
|
||||||
|
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
@ -11,11 +12,10 @@
|
||||||
enum Roles
|
enum Roles
|
||||||
{
|
{
|
||||||
FullPathRole = Qt::UserRole + 0,
|
FullPathRole = Qt::UserRole + 0,
|
||||||
BaseDisplayRole = Qt::UserRole + 1,
|
ChangelogRole = Qt::UserRole + 1,
|
||||||
ChangelogRole = Qt::UserRole + 2,
|
TitleRole = Qt::UserRole + 2,
|
||||||
TitleRole = Qt::UserRole + 3,
|
TitleIdRole = Qt::UserRole + 3,
|
||||||
TitleIdRole = Qt::UserRole + 4,
|
VersionRole = Qt::UserRole + 4,
|
||||||
VersionRole = Qt::UserRole + 5,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pkg_install_dialog::pkg_install_dialog(const QStringList& paths, game_compatibility* compat, QWidget* parent)
|
pkg_install_dialog::pkg_install_dialog(const QStringList& paths, game_compatibility* compat, QWidget* parent)
|
||||||
|
@ -23,38 +23,6 @@ pkg_install_dialog::pkg_install_dialog(const QStringList& paths, game_compatibil
|
||||||
{
|
{
|
||||||
m_dir_list = new QListWidget(this);
|
m_dir_list = new QListWidget(this);
|
||||||
|
|
||||||
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
|
|
||||||
{
|
|
||||||
QVariant result;
|
|
||||||
switch (role)
|
|
||||||
{
|
|
||||||
case Qt::DisplayRole:
|
|
||||||
result = QStringLiteral("%1. %2").arg(listWidget()->row(this) + 1).arg(data(Roles::BaseDisplayRole).toString());
|
|
||||||
break;
|
|
||||||
case Roles::BaseDisplayRole:
|
|
||||||
result = QListWidgetItem::data(Qt::DisplayRole);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
result = QListWidgetItem::data(role);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator<(const QListWidgetItem& other) const override
|
|
||||||
{
|
|
||||||
return data(Roles::BaseDisplayRole).toString() < other.data(Roles::BaseDisplayRole).toString();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for (const QString& path : paths)
|
for (const QString& path : paths)
|
||||||
{
|
{
|
||||||
const compat::package_info info = game_compatibility::GetPkgInfo(path, compat);
|
const compat::package_info info = game_compatibility::GetPkgInfo(path, compat);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue