mirror of
https://github.com/PabloMK7/citra.git
synced 2024-12-29 11:06:12 +00:00
Temporarily "fix" citra_qt for Windows
This commit is contained in:
parent
17b32b7b3f
commit
ff4fe52bf6
|
@ -1,36 +1,36 @@
|
|||
set(SRCS
|
||||
src/bootmanager.cpp
|
||||
src/callstack.cpp
|
||||
src/disasm.cpp
|
||||
src/cpu_regs.cpp
|
||||
src/hotkeys.cpp
|
||||
src/main.cpp
|
||||
src/ramview.cpp
|
||||
src/config/controller_config.cpp
|
||||
src/config/controller_config_util.cpp)
|
||||
bootmanager.cpp
|
||||
callstack.cpp
|
||||
disasm.cpp
|
||||
cpu_regs.cpp
|
||||
hotkeys.cpp
|
||||
main.cpp
|
||||
ramview.cpp
|
||||
config/controller_config.cpp
|
||||
config/controller_config_util.cpp)
|
||||
|
||||
qt4_wrap_ui(UI_HDRS
|
||||
src/callstack.ui
|
||||
src/disasm.ui
|
||||
src/cpu_regs.ui
|
||||
src/hotkeys.ui
|
||||
src/main.ui
|
||||
src/config/controller_config.ui)
|
||||
callstack.ui
|
||||
disasm.ui
|
||||
cpu_regs.ui
|
||||
hotkeys.ui
|
||||
main.ui
|
||||
config/controller_config.ui)
|
||||
|
||||
qt4_wrap_cpp(MOC_SRCS
|
||||
src/bootmanager.hxx
|
||||
src/callstack.hxx
|
||||
src/disasm.hxx
|
||||
src/cpu_regs.hxx
|
||||
src/hotkeys.hxx
|
||||
src/main.hxx
|
||||
src/ramview.hxx
|
||||
src/config/controller_config.hxx
|
||||
src/config/controller_config_util.hxx)
|
||||
bootmanager.hxx
|
||||
callstack.hxx
|
||||
disasm.hxx
|
||||
cpu_regs.hxx
|
||||
hotkeys.hxx
|
||||
main.hxx
|
||||
ramview.hxx
|
||||
config/controller_config.hxx
|
||||
config/controller_config_util.hxx)
|
||||
|
||||
# add uic results to include directories
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
include_directories(./src/)
|
||||
include_directories(./)
|
||||
|
||||
add_executable(citra-qt ${SRCS} ${MOC_SRCS} ${UI_HDRS})
|
||||
target_link_libraries(citra-qt core common qhexedit ${QT_LIBRARIES} ${OPENGL_LIBRARIES} ${SDL2_LIBRARY} rt GLEW ${GLFW_LIBRARIES})
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#include <QHBoxLayout>
|
||||
#include <QKeyEvent>
|
||||
|
||||
#include "common.h"
|
||||
#include "common/common.h"
|
||||
#include "bootmanager.hxx"
|
||||
|
||||
#include "core.h"
|
||||
#include "loader.h"
|
||||
#include "core/core.h"
|
||||
#include "core/loader.h"
|
||||
|
||||
#include "version.h"
|
||||
|
||||
|
@ -85,8 +85,8 @@ public:
|
|||
// makeCurrent();
|
||||
}
|
||||
void resizeEvent(QResizeEvent* ev) {
|
||||
parent_->set_client_area_width(size().width());
|
||||
parent_->set_client_area_height(size().height());
|
||||
parent_->SetClientAreaWidth(size().width());
|
||||
parent_->SetClientAreaHeight(size().height());
|
||||
}
|
||||
private:
|
||||
GRenderWindow* parent_;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include <QThread>
|
||||
#include <QGLWidget>
|
||||
#include "common.h"
|
||||
#include "emu_window.h"
|
||||
#include "common/common.h"
|
||||
#include "common/emu_window.h"
|
||||
|
||||
class GRenderWindow;
|
||||
class QKeyEvent;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <QDockWidget>
|
||||
#include "ui_callstack.h"
|
||||
#include "platform.h"
|
||||
#include "common/platform.h"
|
||||
|
||||
class QStandardItemModel;
|
||||
|
||||
|
|
|
@ -142,6 +142,15 @@
|
|||
<MOC Include="..\..\externals\qhexedit\qhexedit.h" />
|
||||
<MOC Include="..\..\externals\qhexedit\qhexedit_p.h" />
|
||||
<MOC Include="..\..\externals\qhexedit\xbytearray.h" />
|
||||
<MOC Include="config\controller_config.hxx" />
|
||||
<MOC Include="config\controller_config_util.hxx" />
|
||||
<MOC Include="callstack.hxx" />
|
||||
<MOC Include="cpu_regs.hxx" />
|
||||
<MOC Include="disasm.hxx" />
|
||||
<MOC Include="ramview.hxx" />
|
||||
<MOC Include="bootmanager.hxx" />
|
||||
<MOC Include="hotkeys.hxx" />
|
||||
<MOC Include="main.hxx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\common\common.vcxproj">
|
||||
|
@ -150,26 +159,23 @@
|
|||
<ProjectReference Include="..\core\core.vcxproj">
|
||||
<Project>{8aea7f29-3466-4786-a10d-6a4bd0610977}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\video_core\video_core.vcxproj">
|
||||
<Project>{6678d1a3-33a6-48a9-878b-48e5d2903d27}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="bootmanager.hxx" />
|
||||
<ClInclude Include="callstack.hxx" />
|
||||
<ClInclude Include="config\controller_config.hxx" />
|
||||
<ClInclude Include="config\controller_config_util.hxx" />
|
||||
<ClInclude Include="config\ui_controller_config.h" />
|
||||
<ClInclude Include="cpu_regs.hxx" />
|
||||
<ClInclude Include="disasm.hxx" />
|
||||
<ClInclude Include="hotkeys.hxx" />
|
||||
<ClInclude Include="main.hxx" />
|
||||
<ClInclude Include="ramview.hxx" />
|
||||
<ClInclude Include="ui_callstack.h" />
|
||||
<ClInclude Include="ui_controller_config.h" />
|
||||
<ClInclude Include="ui_cpu_regs.h" />
|
||||
<ClInclude Include="ui_disasm.h" />
|
||||
<ClInclude Include="ui_gfx_fifo_player.h" />
|
||||
<ClInclude Include="ui_hotkeys.h" />
|
||||
<ClInclude Include="ui_image_info.h" />
|
||||
<ClInclude Include="ui_main.h" />
|
||||
<ClInclude Include="ui_welcome_wizard.h" />
|
||||
<ClInclude Include="version.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
|
@ -61,13 +61,10 @@
|
|||
</MOC>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="bootmanager.hxx" />
|
||||
<ClInclude Include="hotkeys.hxx" />
|
||||
<ClInclude Include="main.hxx" />
|
||||
<ClInclude Include="ui_hotkeys.h" />
|
||||
<ClInclude Include="ui_image_info.h" />
|
||||
<ClInclude Include="main.hxx" />
|
||||
<ClInclude Include="ui_main.h" />
|
||||
<ClInclude Include="ui_welcome_wizard.h" />
|
||||
<ClInclude Include="version.h" />
|
||||
<ClInclude Include="config\controller_config.hxx">
|
||||
<Filter>config</Filter>
|
||||
|
@ -75,9 +72,6 @@
|
|||
<ClInclude Include="config\controller_config_util.hxx">
|
||||
<Filter>config</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="config\ui_controller_config.h">
|
||||
<Filter>config</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="cpu_regs.hxx">
|
||||
<Filter>debugger</Filter>
|
||||
</ClInclude>
|
||||
|
@ -96,12 +90,12 @@
|
|||
<ClInclude Include="ui_disasm.h">
|
||||
<Filter>debugger</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ui_gfx_fifo_player.h">
|
||||
<Filter>debugger</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="callstack.hxx">
|
||||
<Filter>debugger</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ui_controller_config.h">
|
||||
<Filter>config</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<UIC Include="hotkeys.ui" />
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <QDialog>
|
||||
|
||||
#include "ui_controller_config.h"
|
||||
//#include "ui_controller_config.h"
|
||||
|
||||
/* TODO(bunnei): ImplementMe
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "cpu_regs.hxx"
|
||||
|
||||
#include "core.h"
|
||||
#include "arm/interpreter/armdefs.h"
|
||||
#include "core/core.h"
|
||||
#include "core/arm/interpreter/armdefs.h"
|
||||
|
||||
GARM11RegsView::GARM11RegsView(QWidget* parent) : QDockWidget(parent)
|
||||
{
|
||||
|
@ -42,22 +42,22 @@ void GARM11RegsView::OnCPUStepped()
|
|||
ARM_Interface* app_core = Core::g_app_core;
|
||||
|
||||
for (int i = 0; i < 16; ++i)
|
||||
registers->child(i)->setText(1, QString("0x%1").arg(app_core->Reg(i), 8, 16, QLatin1Char('0')));
|
||||
registers->child(i)->setText(1, QString("0x%1").arg(app_core->GetReg(i), 8, 16, QLatin1Char('0')));
|
||||
|
||||
CSPR->setText(1, QString("0x%1").arg(app_core->CPSR(), 8, 16, QLatin1Char('0')));
|
||||
CSPR->child(0)->setText(1, QString("b%1").arg(app_core->CPSR() & 0x1F, 5, 2, QLatin1Char('0'))); // M - Mode
|
||||
CSPR->child(1)->setText(1, QString("%1").arg((app_core->CPSR() >> 5) & 0x1)); // T - State
|
||||
CSPR->child(2)->setText(1, QString("%1").arg((app_core->CPSR() >> 6) & 0x1)); // F - FIQ disable
|
||||
CSPR->child(3)->setText(1, QString("%1").arg((app_core->CPSR() >> 7) & 0x1)); // I - IRQ disable
|
||||
CSPR->child(4)->setText(1, QString("%1").arg((app_core->CPSR() >> 8) & 0x1)); // A - Imprecise abort
|
||||
CSPR->child(5)->setText(1, QString("%1").arg((app_core->CPSR() >> 9) & 0x1)); // E - Data endianess
|
||||
CSPR->child(6)->setText(1, QString("%1").arg((app_core->CPSR() >> 10) & 0x3F)); // IT - If-Then state (DNM)
|
||||
CSPR->child(7)->setText(1, QString("%1").arg((app_core->CPSR() >> 16) & 0xF)); // GE - Greater-than-or-Equal
|
||||
CSPR->child(8)->setText(1, QString("%1").arg((app_core->CPSR() >> 20) & 0xF)); // DNM - Do not modify
|
||||
CSPR->child(9)->setText(1, QString("%1").arg((app_core->CPSR() >> 24) & 0x1)); // J - Java state
|
||||
CSPR->child(10)->setText(1, QString("%1").arg((app_core->CPSR() >> 27) & 0x1)); // Q - Sticky overflow
|
||||
CSPR->child(11)->setText(1, QString("%1").arg((app_core->CPSR() >> 28) & 0x1)); // V - Overflow
|
||||
CSPR->child(12)->setText(1, QString("%1").arg((app_core->CPSR() >> 29) & 0x1)); // C - Carry/Borrow/Extend
|
||||
CSPR->child(13)->setText(1, QString("%1").arg((app_core->CPSR() >> 30) & 0x1)); // Z - Zero
|
||||
CSPR->child(14)->setText(1, QString("%1").arg((app_core->CPSR() >> 31) & 0x1)); // N - Negative/Less than
|
||||
CSPR->setText(1, QString("0x%1").arg(app_core->GetCPSR(), 8, 16, QLatin1Char('0')));
|
||||
CSPR->child(0)->setText(1, QString("b%1").arg(app_core->GetCPSR() & 0x1F, 5, 2, QLatin1Char('0'))); // M - Mode
|
||||
CSPR->child(1)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 5) & 0x1)); // T - State
|
||||
CSPR->child(2)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 6) & 0x1)); // F - FIQ disable
|
||||
CSPR->child(3)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 7) & 0x1)); // I - IRQ disable
|
||||
CSPR->child(4)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 8) & 0x1)); // A - Imprecise abort
|
||||
CSPR->child(5)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 9) & 0x1)); // E - Data endianess
|
||||
CSPR->child(6)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 10) & 0x3F)); // IT - If-Then state (DNM)
|
||||
CSPR->child(7)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 16) & 0xF)); // GE - Greater-than-or-Equal
|
||||
CSPR->child(8)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 20) & 0xF)); // DNM - Do not modify
|
||||
CSPR->child(9)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 24) & 0x1)); // J - Java state
|
||||
CSPR->child(10)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 27) & 0x1)); // Q - Sticky overflow
|
||||
CSPR->child(11)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 28) & 0x1)); // V - Overflow
|
||||
CSPR->child(12)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 29) & 0x1)); // C - Carry/Borrow/Extend
|
||||
CSPR->child(13)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 30) & 0x1)); // Z - Zero
|
||||
CSPR->child(14)->setText(1, QString("%1").arg((app_core->GetCPSR() >> 31) & 0x1)); // N - Negative/Less than
|
||||
}
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
#include "bootmanager.hxx"
|
||||
#include "hotkeys.hxx"
|
||||
|
||||
#include "common.h"
|
||||
#include "mem_map.h"
|
||||
#include "common/common.h"
|
||||
#include "core/mem_map.h"
|
||||
|
||||
#include "core.h"
|
||||
#include "break_points.h"
|
||||
#include "arm/interpreter/armdefs.h"
|
||||
#include "arm/disassembler/arm_disasm.h"
|
||||
#include "core/core.h"
|
||||
#include "common/break_points.h"
|
||||
#include "core/arm/interpreter/armdefs.h"
|
||||
#include "core/arm/disassembler/arm_disasm.h"
|
||||
|
||||
GDisAsmView::GDisAsmView(QWidget* parent, EmuThread& emu_thread) : QDockWidget(parent), base_addr(0), emu_thread(emu_thread)
|
||||
{
|
||||
|
@ -43,7 +43,7 @@ void GDisAsmView::Init()
|
|||
{
|
||||
ARM_Disasm* disasm = new ARM_Disasm();
|
||||
|
||||
base_addr = Core::g_app_core->PC();
|
||||
base_addr = Core::g_app_core->GetPC();
|
||||
unsigned int curInstAddr = base_addr;
|
||||
char result[255];
|
||||
|
||||
|
@ -112,7 +112,7 @@ void GDisAsmView::OnToggleStartStop()
|
|||
|
||||
void GDisAsmView::OnCPUStepped()
|
||||
{
|
||||
ARMword next_instr = Core::g_app_core->PC();
|
||||
ARMword next_instr = Core::g_app_core->GetPC();
|
||||
|
||||
if (breakpoints->IsAddressBreakPoint(next_instr))
|
||||
{
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include <QDockWidget>
|
||||
#include "ui_disasm.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "break_points.h"
|
||||
#include "common/common.h"
|
||||
#include "common/break_points.h"
|
||||
|
||||
class QAction;
|
||||
class QStandardItemModel;
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
#include "qhexedit.h"
|
||||
#include "main.hxx"
|
||||
|
||||
#include "common.h"
|
||||
#include "platform.h"
|
||||
#include "common/common.h"
|
||||
#include "common/platform.h"
|
||||
#if EMU_PLATFORM == PLATFORM_LINUX
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
@ -19,9 +19,9 @@
|
|||
#include "callstack.hxx"
|
||||
#include "ramview.hxx"
|
||||
|
||||
#include "system.h"
|
||||
#include "loader.h"
|
||||
#include "core.h"
|
||||
#include "core/system.h"
|
||||
#include "core/loader.h"
|
||||
#include "core/core.h"
|
||||
#include "version.h"
|
||||
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<UIC>
|
||||
<QtUicExt>.hpp</QtUicExt>
|
||||
<QtUicPrefix>ui_</QtUicPrefix>
|
||||
<CommandLineTemplate>%QTDIR%\bin\uic.exe [inputs] -o "[QtUicPrefix]%(FileName)[QtUicExt]"</CommandLineTemplate>
|
||||
<CommandLineTemplate>$(QTDIR)\bin\uic.exe [inputs] -o "[QtUicPrefix]%(FileName)[QtUicExt]"</CommandLineTemplate>
|
||||
<Outputs>[QtUicPrefix]%(FileName)[QtUicExt]</Outputs>
|
||||
<ExecutionDescription>%(FileName).ui</ExecutionDescription>
|
||||
</UIC>
|
||||
|
@ -33,7 +33,7 @@
|
|||
<QtMocNoWarnings>False</QtMocNoWarnings>
|
||||
<QtMocPfx>_moc</QtMocPfx>
|
||||
<QtMocFilename>%(FileName)%(QtMocPfx)</QtMocFilename>
|
||||
<CommandLineTemplate>%QTDIR%\bin\moc.exe [QtMocNoWarnings] [QtCoreLib] [QtShared] [QtThread] [QtUnicode] [QtLargeFile] [QtKeywords] [QtOpenGLLib] [QtNoDebug] [QtGuiLib] -DWIN32 -D_MSC_VER=1500 -DWIN32 [Inputs] -o$(IntDir)%(QtMocFilename).cpp && cl.exe $(IntDir)%(QtMocFilename).cpp [QtCommandLine] /c /Fo"$(IntDir)%(QtMocFilename).obj"</CommandLineTemplate>
|
||||
<CommandLineTemplate>$(QTDIR)\bin\moc.exe [QtMocNoWarnings] [QtCoreLib] [QtShared] [QtThread] [QtUnicode] [QtLargeFile] [QtKeywords] [QtOpenGLLib] [QtNoDebug] [QtGuiLib] -DWIN32 -D_MSC_VER=1500 -DWIN32 [Inputs] -o$(IntDir)%(QtMocFilename).cpp && cl.exe $(IntDir)%(QtMocFilename).cpp [QtCommandLine] /c /Fo"$(IntDir)%(QtMocFilename).obj"</CommandLineTemplate>
|
||||
<Outputs>$(IntDir)%(QtMocFilename).obj</Outputs>
|
||||
<ExecutionDescription>%(FileName).hxx</ExecutionDescription>
|
||||
<ShowOnlyRuleProperties>true</ShowOnlyRuleProperties>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "ramview.hxx"
|
||||
|
||||
#include "common.h"
|
||||
#include "memory.h"
|
||||
#include "common/common.h"
|
||||
#include "core/mem_map.h"
|
||||
GRamView::GRamView(QWidget* parent) : QHexEdit(parent)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -1,209 +0,0 @@
|
|||
/********************************************************************************
|
||||
** Form generated from reading UI file 'gfx_fifo_player.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 4.8.5
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_GFX_FIFO_PLAYER_H
|
||||
#define UI_GFX_FIFO_PLAYER_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtGui/QAction>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
#include <QtGui/QCheckBox>
|
||||
#include <QtGui/QComboBox>
|
||||
#include <QtGui/QDockWidget>
|
||||
#include <QtGui/QGroupBox>
|
||||
#include <QtGui/QHBoxLayout>
|
||||
#include <QtGui/QHeaderView>
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QRadioButton>
|
||||
#include <QtGui/QSpacerItem>
|
||||
#include <QtGui/QSpinBox>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_GfxFifoPlayerControl
|
||||
{
|
||||
public:
|
||||
QWidget *recordingGroup;
|
||||
QVBoxLayout *verticalLayout;
|
||||
QGroupBox *groupBox;
|
||||
QVBoxLayout *verticalLayout_2;
|
||||
QRadioButton *stopManuallyButton;
|
||||
QHBoxLayout *horizontalLayout;
|
||||
QRadioButton *radioButton_2;
|
||||
QSpinBox *spinBox;
|
||||
QComboBox *comboBox;
|
||||
QSpacerItem *horizontalSpacer_2;
|
||||
QSpacerItem *horizontalSpacer;
|
||||
QCheckBox *pauseWhenDoneCheckbox;
|
||||
QHBoxLayout *horizontalLayout_2;
|
||||
QPushButton *startStopRecordingButton;
|
||||
QPushButton *saveRecordingButton;
|
||||
QGroupBox *playbackGroup;
|
||||
QVBoxLayout *verticalLayout_3;
|
||||
QHBoxLayout *horizontalLayout_3;
|
||||
QLabel *label;
|
||||
QComboBox *playbackSourceCombobox;
|
||||
QCheckBox *checkBox_2;
|
||||
QPushButton *startPlaybackButton;
|
||||
QSpacerItem *verticalSpacer;
|
||||
|
||||
void setupUi(QDockWidget *GfxFifoPlayerControl)
|
||||
{
|
||||
if (GfxFifoPlayerControl->objectName().isEmpty())
|
||||
GfxFifoPlayerControl->setObjectName(QString::fromUtf8("GfxFifoPlayerControl"));
|
||||
GfxFifoPlayerControl->resize(275, 297);
|
||||
recordingGroup = new QWidget();
|
||||
recordingGroup->setObjectName(QString::fromUtf8("recordingGroup"));
|
||||
verticalLayout = new QVBoxLayout(recordingGroup);
|
||||
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
|
||||
groupBox = new QGroupBox(recordingGroup);
|
||||
groupBox->setObjectName(QString::fromUtf8("groupBox"));
|
||||
verticalLayout_2 = new QVBoxLayout(groupBox);
|
||||
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
|
||||
stopManuallyButton = new QRadioButton(groupBox);
|
||||
stopManuallyButton->setObjectName(QString::fromUtf8("stopManuallyButton"));
|
||||
stopManuallyButton->setChecked(true);
|
||||
|
||||
verticalLayout_2->addWidget(stopManuallyButton);
|
||||
|
||||
horizontalLayout = new QHBoxLayout();
|
||||
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
|
||||
radioButton_2 = new QRadioButton(groupBox);
|
||||
radioButton_2->setObjectName(QString::fromUtf8("radioButton_2"));
|
||||
|
||||
horizontalLayout->addWidget(radioButton_2);
|
||||
|
||||
spinBox = new QSpinBox(groupBox);
|
||||
spinBox->setObjectName(QString::fromUtf8("spinBox"));
|
||||
spinBox->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||
spinBox->setMinimum(1);
|
||||
spinBox->setMaximum(99999);
|
||||
|
||||
horizontalLayout->addWidget(spinBox);
|
||||
|
||||
comboBox = new QComboBox(groupBox);
|
||||
comboBox->setObjectName(QString::fromUtf8("comboBox"));
|
||||
|
||||
horizontalLayout->addWidget(comboBox);
|
||||
|
||||
horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
|
||||
horizontalLayout->addItem(horizontalSpacer_2);
|
||||
|
||||
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
|
||||
horizontalLayout->addItem(horizontalSpacer);
|
||||
|
||||
|
||||
verticalLayout_2->addLayout(horizontalLayout);
|
||||
|
||||
pauseWhenDoneCheckbox = new QCheckBox(groupBox);
|
||||
pauseWhenDoneCheckbox->setObjectName(QString::fromUtf8("pauseWhenDoneCheckbox"));
|
||||
|
||||
verticalLayout_2->addWidget(pauseWhenDoneCheckbox);
|
||||
|
||||
horizontalLayout_2 = new QHBoxLayout();
|
||||
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
|
||||
startStopRecordingButton = new QPushButton(groupBox);
|
||||
startStopRecordingButton->setObjectName(QString::fromUtf8("startStopRecordingButton"));
|
||||
|
||||
horizontalLayout_2->addWidget(startStopRecordingButton);
|
||||
|
||||
saveRecordingButton = new QPushButton(groupBox);
|
||||
saveRecordingButton->setObjectName(QString::fromUtf8("saveRecordingButton"));
|
||||
saveRecordingButton->setEnabled(false);
|
||||
|
||||
horizontalLayout_2->addWidget(saveRecordingButton);
|
||||
|
||||
|
||||
verticalLayout_2->addLayout(horizontalLayout_2);
|
||||
|
||||
|
||||
verticalLayout->addWidget(groupBox);
|
||||
|
||||
playbackGroup = new QGroupBox(recordingGroup);
|
||||
playbackGroup->setObjectName(QString::fromUtf8("playbackGroup"));
|
||||
verticalLayout_3 = new QVBoxLayout(playbackGroup);
|
||||
verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
|
||||
horizontalLayout_3 = new QHBoxLayout();
|
||||
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
|
||||
label = new QLabel(playbackGroup);
|
||||
label->setObjectName(QString::fromUtf8("label"));
|
||||
|
||||
horizontalLayout_3->addWidget(label);
|
||||
|
||||
playbackSourceCombobox = new QComboBox(playbackGroup);
|
||||
playbackSourceCombobox->setObjectName(QString::fromUtf8("playbackSourceCombobox"));
|
||||
|
||||
horizontalLayout_3->addWidget(playbackSourceCombobox);
|
||||
|
||||
|
||||
verticalLayout_3->addLayout(horizontalLayout_3);
|
||||
|
||||
checkBox_2 = new QCheckBox(playbackGroup);
|
||||
checkBox_2->setObjectName(QString::fromUtf8("checkBox_2"));
|
||||
|
||||
verticalLayout_3->addWidget(checkBox_2);
|
||||
|
||||
startPlaybackButton = new QPushButton(playbackGroup);
|
||||
startPlaybackButton->setObjectName(QString::fromUtf8("startPlaybackButton"));
|
||||
|
||||
verticalLayout_3->addWidget(startPlaybackButton);
|
||||
|
||||
verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||
|
||||
verticalLayout_3->addItem(verticalSpacer);
|
||||
|
||||
|
||||
verticalLayout->addWidget(playbackGroup);
|
||||
|
||||
GfxFifoPlayerControl->setWidget(recordingGroup);
|
||||
|
||||
retranslateUi(GfxFifoPlayerControl);
|
||||
|
||||
QMetaObject::connectSlotsByName(GfxFifoPlayerControl);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QDockWidget *GfxFifoPlayerControl)
|
||||
{
|
||||
GfxFifoPlayerControl->setWindowTitle(QApplication::translate("GfxFifoPlayerControl", "Fifo Player", 0, QApplication::UnicodeUTF8));
|
||||
groupBox->setTitle(QApplication::translate("GfxFifoPlayerControl", "Recording", 0, QApplication::UnicodeUTF8));
|
||||
stopManuallyButton->setText(QApplication::translate("GfxFifoPlayerControl", "Stop manually", 0, QApplication::UnicodeUTF8));
|
||||
radioButton_2->setText(QApplication::translate("GfxFifoPlayerControl", "Stop after", 0, QApplication::UnicodeUTF8));
|
||||
comboBox->clear();
|
||||
comboBox->insertItems(0, QStringList()
|
||||
<< QApplication::translate("GfxFifoPlayerControl", "Frames", 0, QApplication::UnicodeUTF8)
|
||||
<< QApplication::translate("GfxFifoPlayerControl", "Flushes", 0, QApplication::UnicodeUTF8)
|
||||
);
|
||||
pauseWhenDoneCheckbox->setText(QApplication::translate("GfxFifoPlayerControl", "Pause when done", 0, QApplication::UnicodeUTF8));
|
||||
startStopRecordingButton->setText(QApplication::translate("GfxFifoPlayerControl", "Start", 0, QApplication::UnicodeUTF8));
|
||||
saveRecordingButton->setText(QApplication::translate("GfxFifoPlayerControl", "Save to File...", 0, QApplication::UnicodeUTF8));
|
||||
playbackGroup->setTitle(QApplication::translate("GfxFifoPlayerControl", "Playback", 0, QApplication::UnicodeUTF8));
|
||||
label->setText(QApplication::translate("GfxFifoPlayerControl", "Playback source:", 0, QApplication::UnicodeUTF8));
|
||||
playbackSourceCombobox->clear();
|
||||
playbackSourceCombobox->insertItems(0, QStringList()
|
||||
<< QApplication::translate("GfxFifoPlayerControl", "Last Recording", 0, QApplication::UnicodeUTF8)
|
||||
<< QApplication::translate("GfxFifoPlayerControl", "From File...", 0, QApplication::UnicodeUTF8)
|
||||
);
|
||||
checkBox_2->setText(QApplication::translate("GfxFifoPlayerControl", "Loop", 0, QApplication::UnicodeUTF8));
|
||||
startPlaybackButton->setText(QApplication::translate("GfxFifoPlayerControl", "Start", 0, QApplication::UnicodeUTF8));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class GfxFifoPlayerControl: public Ui_GfxFifoPlayerControl {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_GFX_FIFO_PLAYER_H
|
|
@ -1,154 +0,0 @@
|
|||
/********************************************************************************
|
||||
** Form generated from reading UI file 'image_info.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 4.8.5
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_IMAGE_INFO_H
|
||||
#define UI_IMAGE_INFO_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtGui/QAction>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
#include <QtGui/QDockWidget>
|
||||
#include <QtGui/QFormLayout>
|
||||
#include <QtGui/QHeaderView>
|
||||
#include <QtGui/QLabel>
|
||||
#include <QtGui/QLineEdit>
|
||||
#include <QtGui/QPlainTextEdit>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_ImageInfo
|
||||
{
|
||||
public:
|
||||
QWidget *dockWidgetContents;
|
||||
QFormLayout *formLayout;
|
||||
QLabel *label_name;
|
||||
QLabel *label_gameid;
|
||||
QLabel *label_country;
|
||||
QLabel *label_bannertext;
|
||||
QLineEdit *line_name;
|
||||
QLineEdit *line_gameid;
|
||||
QLineEdit *line_country;
|
||||
QLabel *label_banner;
|
||||
QLabel *label_developer;
|
||||
QLineEdit *line_developer;
|
||||
QLabel *label_description;
|
||||
QPlainTextEdit *edit_description;
|
||||
|
||||
void setupUi(QDockWidget *ImageInfo)
|
||||
{
|
||||
if (ImageInfo->objectName().isEmpty())
|
||||
ImageInfo->setObjectName(QString::fromUtf8("ImageInfo"));
|
||||
ImageInfo->resize(400, 300);
|
||||
dockWidgetContents = new QWidget();
|
||||
dockWidgetContents->setObjectName(QString::fromUtf8("dockWidgetContents"));
|
||||
formLayout = new QFormLayout(dockWidgetContents);
|
||||
formLayout->setObjectName(QString::fromUtf8("formLayout"));
|
||||
label_name = new QLabel(dockWidgetContents);
|
||||
label_name->setObjectName(QString::fromUtf8("label_name"));
|
||||
|
||||
formLayout->setWidget(1, QFormLayout::LabelRole, label_name);
|
||||
|
||||
label_gameid = new QLabel(dockWidgetContents);
|
||||
label_gameid->setObjectName(QString::fromUtf8("label_gameid"));
|
||||
|
||||
formLayout->setWidget(4, QFormLayout::LabelRole, label_gameid);
|
||||
|
||||
label_country = new QLabel(dockWidgetContents);
|
||||
label_country->setObjectName(QString::fromUtf8("label_country"));
|
||||
|
||||
formLayout->setWidget(5, QFormLayout::LabelRole, label_country);
|
||||
|
||||
label_bannertext = new QLabel(dockWidgetContents);
|
||||
label_bannertext->setObjectName(QString::fromUtf8("label_bannertext"));
|
||||
|
||||
formLayout->setWidget(9, QFormLayout::LabelRole, label_bannertext);
|
||||
|
||||
line_name = new QLineEdit(dockWidgetContents);
|
||||
line_name->setObjectName(QString::fromUtf8("line_name"));
|
||||
line_name->setEnabled(true);
|
||||
line_name->setReadOnly(true);
|
||||
|
||||
formLayout->setWidget(1, QFormLayout::FieldRole, line_name);
|
||||
|
||||
line_gameid = new QLineEdit(dockWidgetContents);
|
||||
line_gameid->setObjectName(QString::fromUtf8("line_gameid"));
|
||||
line_gameid->setEnabled(true);
|
||||
line_gameid->setReadOnly(true);
|
||||
|
||||
formLayout->setWidget(4, QFormLayout::FieldRole, line_gameid);
|
||||
|
||||
line_country = new QLineEdit(dockWidgetContents);
|
||||
line_country->setObjectName(QString::fromUtf8("line_country"));
|
||||
line_country->setEnabled(true);
|
||||
line_country->setReadOnly(true);
|
||||
|
||||
formLayout->setWidget(5, QFormLayout::FieldRole, line_country);
|
||||
|
||||
label_banner = new QLabel(dockWidgetContents);
|
||||
label_banner->setObjectName(QString::fromUtf8("label_banner"));
|
||||
label_banner->setAlignment(Qt::AlignCenter);
|
||||
|
||||
formLayout->setWidget(9, QFormLayout::FieldRole, label_banner);
|
||||
|
||||
label_developer = new QLabel(dockWidgetContents);
|
||||
label_developer->setObjectName(QString::fromUtf8("label_developer"));
|
||||
|
||||
formLayout->setWidget(3, QFormLayout::LabelRole, label_developer);
|
||||
|
||||
line_developer = new QLineEdit(dockWidgetContents);
|
||||
line_developer->setObjectName(QString::fromUtf8("line_developer"));
|
||||
line_developer->setReadOnly(true);
|
||||
|
||||
formLayout->setWidget(3, QFormLayout::FieldRole, line_developer);
|
||||
|
||||
label_description = new QLabel(dockWidgetContents);
|
||||
label_description->setObjectName(QString::fromUtf8("label_description"));
|
||||
|
||||
formLayout->setWidget(7, QFormLayout::LabelRole, label_description);
|
||||
|
||||
edit_description = new QPlainTextEdit(dockWidgetContents);
|
||||
edit_description->setObjectName(QString::fromUtf8("edit_description"));
|
||||
edit_description->setMaximumSize(QSize(16777215, 80));
|
||||
edit_description->setReadOnly(true);
|
||||
edit_description->setPlainText(QString::fromUtf8(""));
|
||||
|
||||
formLayout->setWidget(7, QFormLayout::FieldRole, edit_description);
|
||||
|
||||
ImageInfo->setWidget(dockWidgetContents);
|
||||
|
||||
retranslateUi(ImageInfo);
|
||||
|
||||
QMetaObject::connectSlotsByName(ImageInfo);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QDockWidget *ImageInfo)
|
||||
{
|
||||
ImageInfo->setWindowTitle(QApplication::translate("ImageInfo", "Image Info", 0, QApplication::UnicodeUTF8));
|
||||
label_name->setText(QApplication::translate("ImageInfo", "Name", 0, QApplication::UnicodeUTF8));
|
||||
label_gameid->setText(QApplication::translate("ImageInfo", "Game ID", 0, QApplication::UnicodeUTF8));
|
||||
label_country->setText(QApplication::translate("ImageInfo", "Country", 0, QApplication::UnicodeUTF8));
|
||||
label_bannertext->setText(QApplication::translate("ImageInfo", "Banner", 0, QApplication::UnicodeUTF8));
|
||||
line_name->setText(QString());
|
||||
line_gameid->setText(QString());
|
||||
line_country->setText(QApplication::translate("ImageInfo", "EUROPE", 0, QApplication::UnicodeUTF8));
|
||||
label_banner->setText(QString());
|
||||
label_developer->setText(QApplication::translate("ImageInfo", "Developer", 0, QApplication::UnicodeUTF8));
|
||||
label_description->setText(QApplication::translate("ImageInfo", "Description", 0, QApplication::UnicodeUTF8));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class ImageInfo: public Ui_ImageInfo {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_IMAGE_INFO_H
|
|
@ -1,124 +0,0 @@
|
|||
/********************************************************************************
|
||||
** Form generated from reading UI file 'welcome_wizard.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 4.8.5
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_WELCOME_WIZARD_H
|
||||
#define UI_WELCOME_WIZARD_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtGui/QAction>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
#include <QtGui/QHBoxLayout>
|
||||
#include <QtGui/QHeaderView>
|
||||
#include <QtGui/QLineEdit>
|
||||
#include <QtGui/QPushButton>
|
||||
#include <QtGui/QSpacerItem>
|
||||
#include <QtGui/QVBoxLayout>
|
||||
#include <QtGui/QWizard>
|
||||
#include <QtGui/QWizardPage>
|
||||
#include "path_list.hxx"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_WelcomeWizard
|
||||
{
|
||||
public:
|
||||
QWizardPage *wizardPage1;
|
||||
QWizardPage *wizardPage2;
|
||||
QVBoxLayout *verticalLayout_2;
|
||||
QHBoxLayout *horizontalLayout;
|
||||
QLineEdit *edit_path;
|
||||
QPushButton *button_browse_path;
|
||||
QHBoxLayout *horizontalLayout_2;
|
||||
GPathList *path_list;
|
||||
QVBoxLayout *verticalLayout_3;
|
||||
QPushButton *button_add_path;
|
||||
QSpacerItem *verticalSpacer;
|
||||
|
||||
void setupUi(QWizard *WelcomeWizard)
|
||||
{
|
||||
if (WelcomeWizard->objectName().isEmpty())
|
||||
WelcomeWizard->setObjectName(QString::fromUtf8("WelcomeWizard"));
|
||||
WelcomeWizard->resize(510, 300);
|
||||
WelcomeWizard->setModal(true);
|
||||
wizardPage1 = new QWizardPage();
|
||||
wizardPage1->setObjectName(QString::fromUtf8("wizardPage1"));
|
||||
WelcomeWizard->addPage(wizardPage1);
|
||||
wizardPage2 = new QWizardPage();
|
||||
wizardPage2->setObjectName(QString::fromUtf8("wizardPage2"));
|
||||
verticalLayout_2 = new QVBoxLayout(wizardPage2);
|
||||
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
|
||||
horizontalLayout = new QHBoxLayout();
|
||||
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
|
||||
edit_path = new QLineEdit(wizardPage2);
|
||||
edit_path->setObjectName(QString::fromUtf8("edit_path"));
|
||||
edit_path->setReadOnly(true);
|
||||
|
||||
horizontalLayout->addWidget(edit_path);
|
||||
|
||||
button_browse_path = new QPushButton(wizardPage2);
|
||||
button_browse_path->setObjectName(QString::fromUtf8("button_browse_path"));
|
||||
|
||||
horizontalLayout->addWidget(button_browse_path);
|
||||
|
||||
|
||||
verticalLayout_2->addLayout(horizontalLayout);
|
||||
|
||||
horizontalLayout_2 = new QHBoxLayout();
|
||||
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
|
||||
path_list = new GPathList(wizardPage2);
|
||||
path_list->setObjectName(QString::fromUtf8("path_list"));
|
||||
|
||||
horizontalLayout_2->addWidget(path_list);
|
||||
|
||||
verticalLayout_3 = new QVBoxLayout();
|
||||
verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
|
||||
button_add_path = new QPushButton(wizardPage2);
|
||||
button_add_path->setObjectName(QString::fromUtf8("button_add_path"));
|
||||
|
||||
verticalLayout_3->addWidget(button_add_path);
|
||||
|
||||
verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||
|
||||
verticalLayout_3->addItem(verticalSpacer);
|
||||
|
||||
|
||||
horizontalLayout_2->addLayout(verticalLayout_3);
|
||||
|
||||
|
||||
verticalLayout_2->addLayout(horizontalLayout_2);
|
||||
|
||||
WelcomeWizard->addPage(wizardPage2);
|
||||
|
||||
retranslateUi(WelcomeWizard);
|
||||
|
||||
QMetaObject::connectSlotsByName(WelcomeWizard);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QWizard *WelcomeWizard)
|
||||
{
|
||||
WelcomeWizard->setWindowTitle(QApplication::translate("WelcomeWizard", "Welcome", 0, QApplication::UnicodeUTF8));
|
||||
wizardPage1->setTitle(QApplication::translate("WelcomeWizard", "Welcome", 0, QApplication::UnicodeUTF8));
|
||||
wizardPage1->setSubTitle(QApplication::translate("WelcomeWizard", "This wizard will guide you through the initial configuration.", 0, QApplication::UnicodeUTF8));
|
||||
wizardPage2->setTitle(QApplication::translate("WelcomeWizard", "ISO paths", 0, QApplication::UnicodeUTF8));
|
||||
wizardPage2->setSubTitle(QApplication::translate("WelcomeWizard", "If you have a collection of game images, you can add them to the path list here. Gekko will automatically show a list of your collection on startup then.", 0, QApplication::UnicodeUTF8));
|
||||
edit_path->setText(QString());
|
||||
edit_path->setPlaceholderText(QApplication::translate("WelcomeWizard", "Select a path to add ...", 0, QApplication::UnicodeUTF8));
|
||||
button_browse_path->setText(QString());
|
||||
button_add_path->setText(QString());
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class WelcomeWizard: public Ui_WelcomeWizard {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_WELCOME_WIZARD_H
|
|
@ -14,11 +14,11 @@
|
|||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<UIC>
|
||||
<QtUicPrefix>src/ui_</QtUicPrefix>
|
||||
<QtUicPrefix>ui_</QtUicPrefix>
|
||||
<QtUicExt>.h</QtUicExt>
|
||||
</UIC>
|
||||
<MOC>
|
||||
<QtCommandLine>/I"$(SolutionDir)src\common\src" /I"$(SolutionDir)src\core\src" /I"$(ExternalsDir)glew-1.6.0\include" /I"$(ExternalsDir)sdl-1.2.15\include" /I"$(ExternalsDir)qhexedit"</QtCommandLine>
|
||||
<QtCommandLine>/I"$(SolutionDir)src" /I"$(ExternalsDir)glew-1.6.0\include" /I"$(ExternalsDir)sdl-1.2.15\include" /I"$(ExternalsDir)qhexedit"</QtCommandLine>
|
||||
<QtKeywords>false</QtKeywords>
|
||||
</MOC>
|
||||
<Link />
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</Link>
|
||||
<MOC>
|
||||
<QtNoDebug>false</QtNoDebug>
|
||||
<QtCommandLine>/I"$(SolutionDir)src\common\src" /I"$(SolutionDir)src\core\src" /I"$(ExternalsDir)glew-1.6.0\include" /I"$(ExternalsDir)sdl-1.2.15\include" /I"$(ExternalsDir)qhexedit" /D"_DEBUG"</QtCommandLine>
|
||||
<QtCommandLine>/I"$(SolutionDir)src" /I"$(ExternalsDir)glew-1.6.0\include" /I"$(ExternalsDir)sdl-1.2.15\include" /I"$(ExternalsDir)qhexedit" /D"_DEBUG"</QtCommandLine>
|
||||
</MOC>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
|
|
Loading…
Reference in a new issue