mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-07-15 03:34:29 +02:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a80b3144bb | |||
| 9f0206966b | |||
| dcae14398a |
@@ -196,6 +196,7 @@ target_sources(pcsx2-qt PRIVATE
|
||||
Debugger/ModuleModel.h
|
||||
Debugger/ModuleView.cpp
|
||||
Debugger/ModuleView.h
|
||||
Debugger/NavigationHistoryStack.h
|
||||
Debugger/RegisterView.cpp
|
||||
Debugger/RegisterView.h
|
||||
Debugger/RegisterView.ui
|
||||
|
||||
@@ -206,6 +206,29 @@ void DebuggerView::updateStyleSheet()
|
||||
setStyleSheet(stylesheet);
|
||||
}
|
||||
|
||||
bool DebuggerView::supportsNavigation()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DebuggerView::canNavigateBack()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DebuggerView::canNavigateForward()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void DebuggerView::navigateBack()
|
||||
{
|
||||
}
|
||||
|
||||
void DebuggerView::navigateForward()
|
||||
{
|
||||
}
|
||||
|
||||
void DebuggerView::goToInDisassembler(u32 address, bool switch_to_tab)
|
||||
{
|
||||
DebuggerEvents::GoToAddress event;
|
||||
@@ -268,7 +291,7 @@ std::vector<QAction*> DebuggerView::createEventActionsImplementation(
|
||||
if (lhs->displayNameWithoutSuffix() == rhs->displayNameWithoutSuffix())
|
||||
return lhs->displayNameSuffixNumber() < rhs->displayNameSuffixNumber();
|
||||
|
||||
return lhs->displayNameWithoutSuffix() < rhs->displayNameWithoutSuffix();
|
||||
return QtHost::LocaleSensitiveCompare(lhs->displayNameWithoutSuffix(), rhs->displayNameWithoutSuffix()) < 0;
|
||||
});
|
||||
|
||||
QMenu* submenu = nullptr;
|
||||
|
||||
@@ -153,6 +153,12 @@ public:
|
||||
|
||||
void updateStyleSheet();
|
||||
|
||||
virtual bool supportsNavigation();
|
||||
virtual bool canNavigateBack();
|
||||
virtual bool canNavigateForward();
|
||||
virtual void navigateBack();
|
||||
virtual void navigateForward();
|
||||
|
||||
static void goToInDisassembler(u32 address, bool switch_to_tab);
|
||||
static void goToInMemoryView(u32 address, bool switch_to_tab);
|
||||
|
||||
|
||||
@@ -115,6 +115,28 @@ DebuggerWindow::DebuggerWindow(QWidget* parent)
|
||||
|
||||
setMenuWidget(m_dock_manager->createMenuBar(menu_bar));
|
||||
|
||||
connect(m_dock_manager, &DockManager::focusedViewForNavigationChanged,
|
||||
this, &DebuggerWindow::updateNavigationButtons);
|
||||
|
||||
m_ui.actionNavigateBack->setEnabled(false);
|
||||
m_ui.actionNavigateForward->setEnabled(false);
|
||||
|
||||
connect(m_ui.actionNavigateBack, &QAction::triggered, this, [this]() {
|
||||
DebuggerView* view = m_dock_manager->focusedViewForNavigation();
|
||||
if (!view)
|
||||
return;
|
||||
|
||||
view->navigateBack();
|
||||
});
|
||||
|
||||
connect(m_ui.actionNavigateForward, &QAction::triggered, this, [this]() {
|
||||
DebuggerView* view = m_dock_manager->focusedViewForNavigation();
|
||||
if (!view)
|
||||
return;
|
||||
|
||||
view->navigateForward();
|
||||
});
|
||||
|
||||
updateTheme();
|
||||
|
||||
Host::RunOnCPUThread([]() {
|
||||
@@ -307,6 +329,21 @@ void DebuggerWindow::updateFromSettings()
|
||||
}
|
||||
}
|
||||
|
||||
void DebuggerWindow::updateNavigationButtons()
|
||||
{
|
||||
DebuggerView* view = m_dock_manager->focusedViewForNavigation();
|
||||
if (view)
|
||||
{
|
||||
m_ui.actionNavigateBack->setEnabled(view->canNavigateBack());
|
||||
m_ui.actionNavigateForward->setEnabled(view->canNavigateForward());
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ui.actionNavigateBack->setEnabled(false);
|
||||
m_ui.actionNavigateForward->setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
void DebuggerWindow::onVMStarting()
|
||||
{
|
||||
m_ui.actionRun->setEnabled(true);
|
||||
|
||||
@@ -40,7 +40,9 @@ public:
|
||||
|
||||
void updateFromSettings();
|
||||
|
||||
public slots:
|
||||
void updateNavigationButtons();
|
||||
|
||||
private slots:
|
||||
void onVMStarting();
|
||||
void onVMPaused();
|
||||
void onVMResumed();
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1000</width>
|
||||
<height>750</height>
|
||||
<width>1322</width>
|
||||
<height>974</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -23,8 +23,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1000</width>
|
||||
<height>21</height>
|
||||
<width>1322</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuFile">
|
||||
@@ -58,6 +58,9 @@
|
||||
</property>
|
||||
<addaction name="actionOnTop"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionNavigateBack"/>
|
||||
<addaction name="actionNavigateForward"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionIncreaseFontSize"/>
|
||||
<addaction name="actionDecreaseFontSize"/>
|
||||
<addaction name="actionResetFontSize"/>
|
||||
@@ -82,12 +85,25 @@
|
||||
<addaction name="menuWindows"/>
|
||||
<addaction name="menuLayouts"/>
|
||||
</widget>
|
||||
<widget class="QToolBar" name="toolBarNavigation">
|
||||
<property name="windowTitle">
|
||||
<string>Navigation</string>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
</attribute>
|
||||
<attribute name="toolBarBreak">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<addaction name="actionNavigateBack"/>
|
||||
<addaction name="actionNavigateForward"/>
|
||||
</widget>
|
||||
<widget class="QToolBar" name="toolBarDebug">
|
||||
<property name="windowTitle">
|
||||
<string>Debug</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
@@ -105,7 +121,7 @@
|
||||
<string>File</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
@@ -122,7 +138,7 @@
|
||||
<string>System</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
@@ -138,7 +154,7 @@
|
||||
<string>View</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>TopToolBarArea</enum>
|
||||
@@ -237,7 +253,7 @@
|
||||
<string>Shut Down</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionReset">
|
||||
@@ -248,7 +264,7 @@
|
||||
<string>Reset</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionClose">
|
||||
@@ -259,7 +275,7 @@
|
||||
<string>Close</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionIncreaseFontSize">
|
||||
@@ -270,7 +286,7 @@
|
||||
<string>Increase Font Size</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDecreaseFontSize">
|
||||
@@ -284,7 +300,7 @@
|
||||
<string>Ctrl+-</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionResetFontSize">
|
||||
@@ -295,7 +311,7 @@
|
||||
<string>Reset Font Size</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSettings">
|
||||
@@ -306,7 +322,7 @@
|
||||
<string>Settings</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionGameSettings">
|
||||
@@ -317,7 +333,7 @@
|
||||
<string>Game Settings</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::NoRole</enum>
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionToolsDummy">
|
||||
@@ -330,6 +346,37 @@
|
||||
<string/>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionNavigateBack">
|
||||
<property name="icon">
|
||||
<iconset theme="arrow-left-line"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Navigate Back</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Navigate Back</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Alt+Left</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionNavigateForward">
|
||||
<property name="icon">
|
||||
<iconset theme="arrow-right-line"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Navigate Forward</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Alt+Right</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
@@ -76,7 +76,11 @@ bool DisassemblyView::fromJson(const JsonValueWrapper& json)
|
||||
|
||||
auto start_address = json.value().FindMember("startAddress");
|
||||
if (start_address != json.value().MemberEnd() && start_address->value.IsUint())
|
||||
{
|
||||
m_visibleStart = start_address->value.GetUint() & ~3;
|
||||
m_navigation_history.clear();
|
||||
m_navigation_history.pushInstantly(m_visibleStart);
|
||||
}
|
||||
|
||||
auto go_to_pc_on_pause = json.value().FindMember("goToPCOnPause");
|
||||
if (go_to_pc_on_pause != json.value().MemberEnd() && go_to_pc_on_pause->value.IsBool())
|
||||
@@ -388,6 +392,41 @@ QString DisassemblyView::GetLineDisasm(u32 address)
|
||||
return QString("%1 %2").arg(lineInfo.name.c_str()).arg(lineInfo.params.c_str());
|
||||
};
|
||||
|
||||
bool DisassemblyView::supportsNavigation()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DisassemblyView::canNavigateBack()
|
||||
{
|
||||
return m_navigation_history.canGoBack();
|
||||
}
|
||||
|
||||
bool DisassemblyView::canNavigateForward()
|
||||
{
|
||||
return m_navigation_history.canGoForward();
|
||||
}
|
||||
|
||||
void DisassemblyView::navigateBack()
|
||||
{
|
||||
std::optional<u32> address = m_navigation_history.back();
|
||||
if (!address.has_value())
|
||||
return;
|
||||
|
||||
m_visibleStart = *address;
|
||||
update();
|
||||
}
|
||||
|
||||
void DisassemblyView::navigateForward()
|
||||
{
|
||||
std::optional<u32> address = m_navigation_history.forward();
|
||||
if (!address.has_value())
|
||||
return;
|
||||
|
||||
m_visibleStart = *address;
|
||||
update();
|
||||
}
|
||||
|
||||
// Here we go!
|
||||
void DisassemblyView::paintEvent(QPaintEvent* event)
|
||||
{
|
||||
@@ -629,19 +668,21 @@ void DisassemblyView::mouseDoubleClickEvent(QMouseEvent* event)
|
||||
|
||||
void DisassemblyView::wheelEvent(QWheelEvent* event)
|
||||
{
|
||||
if (event->angleDelta().y() < 0) // todo: max address bounds check?
|
||||
{
|
||||
if (event->angleDelta().y() < 0)
|
||||
m_visibleStart += 4;
|
||||
}
|
||||
else if (event->angleDelta().y() && m_visibleStart > 0)
|
||||
{
|
||||
m_visibleStart -= 4;
|
||||
}
|
||||
|
||||
m_navigation_history.pushWithDelay(m_visibleStart);
|
||||
update();
|
||||
}
|
||||
|
||||
void DisassemblyView::keyPressEvent(QKeyEvent* event)
|
||||
{
|
||||
// Alt is used for the global navigation shortcuts.
|
||||
if (event->modifiers() & Qt::AltModifier)
|
||||
return;
|
||||
|
||||
switch (event->key())
|
||||
{
|
||||
case Qt::Key_Up:
|
||||
@@ -653,15 +694,19 @@ void DisassemblyView::keyPressEvent(QKeyEvent* event)
|
||||
// Auto scroll
|
||||
if (m_visibleStart > m_selectedAddressStart)
|
||||
m_visibleStart -= 4;
|
||||
|
||||
m_navigation_history.pushWithDelay(m_visibleStart);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case Qt::Key_PageUp:
|
||||
{
|
||||
m_selectedAddressStart -= m_visibleRows * 4;
|
||||
m_selectedAddressEnd = m_selectedAddressStart;
|
||||
m_visibleStart -= m_visibleRows * 4;
|
||||
|
||||
m_navigation_history.pushWithDelay(m_visibleStart);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case Qt::Key_Down:
|
||||
{
|
||||
m_selectedAddressEnd += 4;
|
||||
@@ -673,6 +718,7 @@ void DisassemblyView::keyPressEvent(QKeyEvent* event)
|
||||
if (m_visibleStart + ((m_visibleRows - 1) * 4) < m_selectedAddressEnd)
|
||||
m_visibleStart += 4;
|
||||
|
||||
m_navigation_history.pushWithDelay(m_visibleStart);
|
||||
break;
|
||||
}
|
||||
case Qt::Key_PageDown:
|
||||
@@ -680,6 +726,7 @@ void DisassemblyView::keyPressEvent(QKeyEvent* event)
|
||||
m_selectedAddressStart += m_visibleRows * 4;
|
||||
m_selectedAddressEnd = m_selectedAddressStart;
|
||||
m_visibleStart += m_visibleRows * 4;
|
||||
m_navigation_history.pushWithDelay(m_visibleStart);
|
||||
break;
|
||||
}
|
||||
case Qt::Key_G:
|
||||
@@ -1014,6 +1061,8 @@ void DisassemblyView::gotoAddress(u32 address, bool should_set_focus)
|
||||
m_selectedAddressStart = destAddress;
|
||||
m_selectedAddressEnd = destAddress;
|
||||
|
||||
m_navigation_history.pushInstantly(m_visibleStart);
|
||||
|
||||
update();
|
||||
if (should_set_focus)
|
||||
setFocus();
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
|
||||
#include "ui_DisassemblyView.h"
|
||||
|
||||
#include "DebuggerView.h"
|
||||
#include "Debugger/DebuggerView.h"
|
||||
#include "Debugger/NavigationHistoryStack.h"
|
||||
|
||||
#include "pcsx2/DebugTools/DisassemblyManager.h"
|
||||
|
||||
@@ -26,6 +27,12 @@ public:
|
||||
// Required for the breakpoint list (ugh wtf)
|
||||
QString GetLineDisasm(u32 address);
|
||||
|
||||
bool supportsNavigation() override;
|
||||
bool canNavigateBack() override;
|
||||
bool canNavigateForward() override;
|
||||
void navigateBack() override;
|
||||
void navigateForward() override;
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent* event) override;
|
||||
void mousePressEvent(QMouseEvent* event) override;
|
||||
@@ -68,7 +75,7 @@ public slots:
|
||||
private:
|
||||
Ui::DisassemblyView m_ui;
|
||||
|
||||
u32 m_visibleStart = 0x100000; // The address of the first instruction shown.
|
||||
u32 m_visibleStart = STARTING_ADDRESS; // The address of the first instruction shown.
|
||||
u32 m_visibleRows;
|
||||
u32 m_selectedAddressStart = 0;
|
||||
u32 m_selectedAddressEnd = 0;
|
||||
@@ -81,6 +88,8 @@ private:
|
||||
bool m_goToProgramCounterOnPause = true;
|
||||
DisassemblyManager m_disassemblyManager;
|
||||
|
||||
NavigationHistoryStack<u32> m_navigation_history{STARTING_ADDRESS};
|
||||
|
||||
QString GetDisassemblyTitleLine();
|
||||
QColor GetDisassemblyTitleLineColor();
|
||||
inline QString DisassemblyStringFromAddress(u32 address, QFont font, u32 pc, bool selected);
|
||||
@@ -96,4 +105,6 @@ private:
|
||||
void setInstructions(u32 start, u32 end, u32 value);
|
||||
bool AddressCanRestore(u32 start, u32 end);
|
||||
bool FunctionCanRestore(u32 address);
|
||||
|
||||
static constexpr u32 STARTING_ADDRESS = 0x100000;
|
||||
};
|
||||
|
||||
@@ -339,15 +339,28 @@ void DockManager::createToolsMenu(QMenu* menu)
|
||||
if (m_current_layout == DockLayout::INVALID_INDEX || !g_debugger_window)
|
||||
return;
|
||||
|
||||
for (QToolBar* widget : g_debugger_window->findChildren<QToolBar*>())
|
||||
std::vector<QToolBar*> toolbars;
|
||||
for (QToolBar* toolbar : g_debugger_window->findChildren<QToolBar*>())
|
||||
toolbars.emplace_back(toolbar);
|
||||
|
||||
std::sort(toolbars.begin(), toolbars.end(), [](QToolBar* lhs, QToolBar* rhs) {
|
||||
return QtHost::LocaleSensitiveCompare(lhs->windowTitle(), rhs->windowTitle()) < 0;
|
||||
});
|
||||
|
||||
for (QToolBar* toolbar : toolbars)
|
||||
{
|
||||
QAction* action = menu->addAction(widget->windowTitle());
|
||||
action->setText(widget->windowTitle());
|
||||
QAction* action = menu->addAction(toolbar->windowTitle());
|
||||
action->setText(toolbar->windowTitle());
|
||||
action->setCheckable(true);
|
||||
action->setChecked(widget->isVisible());
|
||||
connect(action, &QAction::triggered, this, [widget]() {
|
||||
widget->setVisible(!widget->isVisible());
|
||||
action->setChecked(toolbar->isVisible());
|
||||
|
||||
connect(action, &QAction::triggered, this, [toolbar = QPointer<QToolBar>(toolbar)]() {
|
||||
if (!toolbar)
|
||||
return;
|
||||
|
||||
toolbar->setVisible(!toolbar->isVisible());
|
||||
});
|
||||
|
||||
menu->addAction(action);
|
||||
}
|
||||
}
|
||||
@@ -383,7 +396,7 @@ void DockManager::createWindowsMenu(QMenu* menu)
|
||||
if (lhs->displayNameWithoutSuffix() == rhs->displayNameWithoutSuffix())
|
||||
return lhs->displayNameSuffixNumber() < rhs->displayNameSuffixNumber();
|
||||
|
||||
return lhs->displayNameWithoutSuffix() < rhs->displayNameWithoutSuffix();
|
||||
return QtHost::LocaleSensitiveCompare(lhs->displayNameWithoutSuffix(), rhs->displayNameWithoutSuffix()) < 0;
|
||||
});
|
||||
|
||||
for (DebuggerView* widget : add_another_widgets)
|
||||
@@ -472,7 +485,7 @@ void DockManager::createWindowsMenu(QMenu* menu)
|
||||
if (lhs.display_name == rhs.display_name)
|
||||
return lhs.suffix_number < rhs.suffix_number;
|
||||
|
||||
return lhs.display_name < rhs.display_name;
|
||||
return QtHost::LocaleSensitiveCompare(lhs.display_name, rhs.display_name) < 0;
|
||||
});
|
||||
|
||||
for (const DebuggerViewToggle& toggle : toggles)
|
||||
@@ -862,6 +875,24 @@ std::optional<BreakPointCpu> DockManager::cpu()
|
||||
return m_layouts.at(m_current_layout).cpu();
|
||||
}
|
||||
|
||||
DebuggerView* DockManager::focusedViewForNavigation()
|
||||
{
|
||||
if (!m_focused_view_for_navigation)
|
||||
return nullptr;
|
||||
|
||||
return m_focused_view_for_navigation;
|
||||
}
|
||||
|
||||
void DockManager::onFocusedDockWidgetChanged(KDDockWidgets::QtWidgets::DockWidget* widget)
|
||||
{
|
||||
DebuggerView* view = qobject_cast<DebuggerView*>(widget->widget());
|
||||
if (view && view->supportsNavigation() && view != m_focused_view_for_navigation)
|
||||
{
|
||||
m_focused_view_for_navigation = view;
|
||||
emit focusedViewForNavigationChanged();
|
||||
}
|
||||
}
|
||||
|
||||
KDDockWidgets::Core::DockWidget* DockManager::dockWidgetFactory(const QString& name)
|
||||
{
|
||||
if (!g_debugger_window)
|
||||
|
||||
@@ -98,6 +98,14 @@ public:
|
||||
|
||||
std::optional<BreakPointCpu> cpu();
|
||||
|
||||
/// Returns the last focused view that supports back/forward navigation.
|
||||
DebuggerView* focusedViewForNavigation();
|
||||
|
||||
void onFocusedDockWidgetChanged(KDDockWidgets::QtWidgets::DockWidget* widget);
|
||||
|
||||
Q_SIGNALS:
|
||||
void focusedViewForNavigationChanged();
|
||||
|
||||
private:
|
||||
static KDDockWidgets::Core::DockWidget* dockWidgetFactory(const QString& name);
|
||||
static bool dragAboutToStart(KDDockWidgets::Core::Draggable* draggable);
|
||||
@@ -108,4 +116,6 @@ private:
|
||||
DockMenuBar* m_menu_bar = nullptr;
|
||||
|
||||
bool m_layout_locked = true;
|
||||
|
||||
QPointer<DebuggerView> m_focused_view_for_navigation;
|
||||
};
|
||||
|
||||
@@ -82,6 +82,7 @@ const std::vector<DockTables::DefaultDockLayout> DockTables::DEFAULT_DOCK_LAYOUT
|
||||
{"MemorySearchView", DefaultDockGroup::TOP_LEFT},
|
||||
},
|
||||
.toolbars = {
|
||||
"toolBarNavigation",
|
||||
"toolBarDebug",
|
||||
"toolBarFile",
|
||||
},
|
||||
@@ -113,6 +114,7 @@ const std::vector<DockTables::DefaultDockLayout> DockTables::DEFAULT_DOCK_LAYOUT
|
||||
{"MemorySearchView", DefaultDockGroup::TOP_LEFT},
|
||||
},
|
||||
.toolbars = {
|
||||
"toolBarNavigation",
|
||||
"toolBarDebug",
|
||||
"toolBarFile",
|
||||
},
|
||||
|
||||
@@ -82,6 +82,7 @@ DockWidget::DockWidget(
|
||||
: KDDockWidgets::QtWidgets::DockWidget(unique_name, options, layout_saver_options, window_flags)
|
||||
{
|
||||
connect(this, &DockWidget::isOpenChanged, this, &DockWidget::openStateChanged);
|
||||
connect(this, &DockWidget::isFocusedChanged, this, &DockWidget::focusStateChanged);
|
||||
}
|
||||
|
||||
void DockWidget::openStateChanged(bool open)
|
||||
@@ -95,6 +96,12 @@ void DockWidget::openStateChanged(bool open)
|
||||
g_debugger_window->dockManager().destroyDebuggerView(uniqueName());
|
||||
}
|
||||
|
||||
void DockWidget::focusStateChanged(bool focused)
|
||||
{
|
||||
if (focused && g_debugger_window)
|
||||
g_debugger_window->dockManager().onFocusedDockWidgetChanged(this);
|
||||
}
|
||||
|
||||
// *****************************************************************************
|
||||
|
||||
DockTitleBar::DockTitleBar(KDDockWidgets::Core::TitleBar* controller, KDDockWidgets::Core::View* parent)
|
||||
|
||||
@@ -63,6 +63,7 @@ public:
|
||||
|
||||
protected:
|
||||
void openStateChanged(bool open);
|
||||
void focusStateChanged(bool focused);
|
||||
};
|
||||
|
||||
class DockTitleBar : public KDDockWidgets::QtWidgets::TitleBar
|
||||
|
||||
@@ -19,9 +19,11 @@ using namespace QtUtils;
|
||||
/*
|
||||
MemoryViewTable
|
||||
*/
|
||||
void MemoryViewTable::UpdateStartAddress(u32 start)
|
||||
void MemoryViewTable::UpdateStartAddress(u32 start, NavigationHistoryOperation history_operation)
|
||||
{
|
||||
startAddress = start & ~0xF;
|
||||
navigation_history.push(startAddress, history_operation);
|
||||
parent->update();
|
||||
}
|
||||
|
||||
void MemoryViewTable::UpdateSelectedAddress(u32 selected, bool page)
|
||||
@@ -41,6 +43,13 @@ void MemoryViewTable::UpdateSelectedAddress(u32 selected, bool page)
|
||||
else
|
||||
startAddress += 0x10;
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
navigation_history.pushWithDelay(startAddress);
|
||||
parent->update();
|
||||
}
|
||||
|
||||
void MemoryViewTable::DrawTable(QPainter& painter, const QPalette& palette, s32 height, DebugInterface& cpu)
|
||||
@@ -684,7 +693,7 @@ MemoryView::MemoryView(const DebuggerViewParameters& parameters)
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(this, &MemoryView::customContextMenuRequested, this, &MemoryView::openContextMenu);
|
||||
|
||||
m_table.UpdateStartAddress(0x100000);
|
||||
m_table.UpdateStartAddress(0x100000, NavigationHistoryOperation::INSTANT_PUSH);
|
||||
|
||||
receiveEvent<DebuggerEvents::Refresh>([this](const DebuggerEvents::Refresh& event) -> bool {
|
||||
update();
|
||||
@@ -723,7 +732,10 @@ bool MemoryView::fromJson(const JsonValueWrapper& json)
|
||||
|
||||
auto start_address = json.value().FindMember("startAddress");
|
||||
if (start_address != json.value().MemberEnd() && start_address->value.IsUint())
|
||||
m_table.UpdateStartAddress(start_address->value.GetUint());
|
||||
{
|
||||
m_table.navigation_history.clear();
|
||||
m_table.UpdateStartAddress(start_address->value.GetUint(), NavigationHistoryOperation::INSTANT_PUSH);
|
||||
}
|
||||
|
||||
auto view_type = json.value().FindMember("viewType");
|
||||
if (view_type != json.value().MemberEnd() && view_type->value.IsInt())
|
||||
@@ -746,6 +758,40 @@ bool MemoryView::fromJson(const JsonValueWrapper& json)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MemoryView::supportsNavigation()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MemoryView::canNavigateBack()
|
||||
{
|
||||
return m_table.navigation_history.canGoBack();
|
||||
}
|
||||
|
||||
bool MemoryView::canNavigateForward()
|
||||
{
|
||||
return m_table.navigation_history.canGoForward();
|
||||
}
|
||||
|
||||
void MemoryView::navigateBack()
|
||||
{
|
||||
std::optional<u32> address = m_table.navigation_history.back();
|
||||
if (!address.has_value())
|
||||
return;
|
||||
|
||||
m_table.UpdateStartAddress(*address, NavigationHistoryOperation::NO_PUSH);
|
||||
}
|
||||
|
||||
void MemoryView::navigateForward()
|
||||
{
|
||||
std::optional<u32> address = m_table.navigation_history.forward();
|
||||
if (!address.has_value())
|
||||
return;
|
||||
|
||||
m_table.UpdateStartAddress(*address, NavigationHistoryOperation::NO_PUSH);
|
||||
}
|
||||
|
||||
|
||||
void MemoryView::paintEvent(QPaintEvent* event)
|
||||
{
|
||||
QPainter painter(this);
|
||||
@@ -928,17 +974,20 @@ void MemoryView::wheelEvent(QWheelEvent* event)
|
||||
{
|
||||
if (event->angleDelta().y() < 0)
|
||||
{
|
||||
m_table.UpdateStartAddress(m_table.startAddress + 0x10);
|
||||
m_table.UpdateStartAddress(m_table.startAddress + 0x10, NavigationHistoryOperation::DELAYED_PUSH);
|
||||
}
|
||||
else if (event->angleDelta().y() > 0)
|
||||
{
|
||||
m_table.UpdateStartAddress(m_table.startAddress - 0x10);
|
||||
m_table.UpdateStartAddress(m_table.startAddress - 0x10, NavigationHistoryOperation::DELAYED_PUSH);
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
||||
void MemoryView::keyPressEvent(QKeyEvent* event)
|
||||
{
|
||||
// Alt is used for the global navigation shortcuts.
|
||||
if (event->modifiers() & Qt::AltModifier)
|
||||
return;
|
||||
|
||||
if (!m_table.KeyPress(event->key(), event->text().size() ? event->text()[0] : '\0', cpu()))
|
||||
{
|
||||
switch (event->key())
|
||||
@@ -960,9 +1009,8 @@ void MemoryView::keyPressEvent(QKeyEvent* event)
|
||||
|
||||
void MemoryView::gotoAddress(u32 address)
|
||||
{
|
||||
m_table.UpdateStartAddress(address & ~0xF);
|
||||
m_table.UpdateStartAddress(address & ~0xF, NavigationHistoryOperation::INSTANT_PUSH);
|
||||
m_table.selectedAddress = address;
|
||||
update();
|
||||
setFocus();
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "ui_MemoryView.h"
|
||||
|
||||
#include "Debugger/DebuggerView.h"
|
||||
#include "Debugger/NavigationHistoryStack.h"
|
||||
|
||||
#include "DebugTools/DebugInterface.h"
|
||||
#include "DebugTools/DisassemblyManager.h"
|
||||
@@ -93,7 +94,9 @@ public:
|
||||
u32 selectedAddress = 0;
|
||||
s32 selectedIndex = 0;
|
||||
|
||||
void UpdateStartAddress(u32 start);
|
||||
NavigationHistoryStack<u32> navigation_history;
|
||||
|
||||
void UpdateStartAddress(u32 start, NavigationHistoryOperation history_operation);
|
||||
void UpdateSelectedAddress(u32 selected, bool page = false);
|
||||
void DrawTable(QPainter& painter, const QPalette& palette, s32 height, DebugInterface& cpu);
|
||||
void SelectAt(QPoint pos);
|
||||
@@ -136,6 +139,12 @@ public:
|
||||
void toJson(JsonValueWrapper& json) override;
|
||||
bool fromJson(const JsonValueWrapper& json) override;
|
||||
|
||||
bool supportsNavigation() override;
|
||||
bool canNavigateBack() override;
|
||||
bool canNavigateForward() override;
|
||||
void navigateBack() override;
|
||||
void navigateForward() override;
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent* event) override;
|
||||
void mousePressEvent(QMouseEvent* event) override;
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
// SPDX-FileCopyrightText: 2002-2026 PCSX2 Dev Team
|
||||
// SPDX-License-Identifier: GPL-3.0+
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Debugger/DebuggerWindow.h"
|
||||
|
||||
#include <QtCore/QTimer>
|
||||
|
||||
#include <deque>
|
||||
|
||||
enum class NavigationHistoryOperation
|
||||
{
|
||||
INSTANT_PUSH,
|
||||
DELAYED_PUSH,
|
||||
NO_PUSH
|
||||
};
|
||||
|
||||
/// Data structure for storing navigation history, to be used for the back and
|
||||
/// forward buttons.
|
||||
template <typename Element>
|
||||
class NavigationHistoryStack
|
||||
{
|
||||
public:
|
||||
NavigationHistoryStack()
|
||||
: m_position(m_elements.end())
|
||||
{
|
||||
m_timer.setInterval(DELAY_MILLISECONDS);
|
||||
|
||||
QObject::connect(&m_timer, &QTimer::timeout, [this]() {
|
||||
pushInstantly(std::move(m_pending));
|
||||
m_timer.stop();
|
||||
});
|
||||
}
|
||||
|
||||
NavigationHistoryStack(Element element)
|
||||
: NavigationHistoryStack()
|
||||
{
|
||||
pushInstantly(std::move(element));
|
||||
}
|
||||
|
||||
NavigationHistoryStack(const NavigationHistoryStack<Element>&) = delete;
|
||||
NavigationHistoryStack<Element>& operator=(const NavigationHistoryStack<Element>&) = delete;
|
||||
|
||||
NavigationHistoryStack(NavigationHistoryStack<Element>&&) = delete;
|
||||
NavigationHistoryStack<Element>& operator=(NavigationHistoryStack<Element>&&) = delete;
|
||||
|
||||
/// Push an element onto the stack.
|
||||
void push(Element element, NavigationHistoryOperation operation)
|
||||
{
|
||||
switch (operation)
|
||||
{
|
||||
case NavigationHistoryOperation::INSTANT_PUSH:
|
||||
pushInstantly(std::move(element));
|
||||
break;
|
||||
case NavigationHistoryOperation::DELAYED_PUSH:
|
||||
pushWithDelay(std::move(element));
|
||||
break;
|
||||
case NavigationHistoryOperation::NO_PUSH:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// Wait a second, and then push an element onto the stack. If another
|
||||
/// element is pushed, then that will take priority. This is useful if we're
|
||||
/// storing a scroll position, and don't want the stack to be spammed with
|
||||
/// new values when the user scrolls, for example.
|
||||
void pushWithDelay(Element element)
|
||||
{
|
||||
m_pending = std::move(element);
|
||||
m_timer.start();
|
||||
}
|
||||
|
||||
/// Push an element onto the stack instantly.
|
||||
void pushInstantly(Element element)
|
||||
{
|
||||
m_timer.stop();
|
||||
|
||||
if (m_position != m_elements.end() && element == *(m_position - 1))
|
||||
return;
|
||||
|
||||
updateNavigationButtons();
|
||||
|
||||
m_elements.erase(m_position, m_elements.end());
|
||||
m_elements.push_back(std::move(element));
|
||||
|
||||
if (m_elements.size() > MAX_ELEMENTS)
|
||||
m_elements.pop_front();
|
||||
|
||||
m_position = m_elements.end();
|
||||
}
|
||||
|
||||
/// Should to user have an option to go back?
|
||||
bool canGoBack() const
|
||||
{
|
||||
return m_elements.begin() != m_elements.end() && m_position > m_elements.begin() + 1;
|
||||
}
|
||||
|
||||
/// Should the user have an option to go forward?
|
||||
bool canGoForward() const
|
||||
{
|
||||
return m_position != m_elements.end();
|
||||
}
|
||||
|
||||
// Retrieve the current element.
|
||||
std::optional<Element> current() const
|
||||
{
|
||||
if (m_position == m_elements.begin())
|
||||
return std::nullopt;
|
||||
|
||||
return *(m_position - 1);
|
||||
}
|
||||
|
||||
/// Go back one.
|
||||
std::optional<Element> back()
|
||||
{
|
||||
updateNavigationButtons();
|
||||
|
||||
if (!canGoBack())
|
||||
return std::nullopt;
|
||||
|
||||
m_position--;
|
||||
return *(m_position - 1);
|
||||
}
|
||||
|
||||
/// Go forward one.
|
||||
std::optional<Element> forward()
|
||||
{
|
||||
updateNavigationButtons();
|
||||
|
||||
if (!canGoForward())
|
||||
return std::nullopt;
|
||||
|
||||
Element element = *m_position;
|
||||
m_position++;
|
||||
return element;
|
||||
}
|
||||
|
||||
/// Remove all elements.
|
||||
void clear()
|
||||
{
|
||||
m_elements.clear();
|
||||
m_position = m_elements.end();
|
||||
m_timer.stop();
|
||||
}
|
||||
|
||||
private:
|
||||
void updateNavigationButtons()
|
||||
{
|
||||
QTimer::singleShot(0, []() {
|
||||
if (g_debugger_window)
|
||||
g_debugger_window->updateNavigationButtons();
|
||||
});
|
||||
}
|
||||
|
||||
std::deque<Element> m_elements;
|
||||
std::deque<Element>::iterator m_position;
|
||||
|
||||
QTimer m_timer;
|
||||
Element m_pending;
|
||||
|
||||
static constexpr int DELAY_MILLISECONDS = 1000;
|
||||
static constexpr size_t MAX_ELEMENTS = 1000;
|
||||
};
|
||||
@@ -5183,7 +5183,7 @@ Do you want to overwrite?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockTables.cpp" line="90"/>
|
||||
<location filename="../Debugger/Docking/DockTables.cpp" line="91"/>
|
||||
<source>R3000</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5275,13 +5275,13 @@ Do you want to overwrite?</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="32"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="105"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="121"/>
|
||||
<source>File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="42"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="87"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="103"/>
|
||||
<source>Debug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5292,136 +5292,162 @@ Do you want to overwrite?</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="57"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="138"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="154"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="67"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="70"/>
|
||||
<source>Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="74"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="77"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="122"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="90"/>
|
||||
<source>Navigation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="138"/>
|
||||
<source>System</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="159"/>
|
||||
<location filename="../Debugger/DebuggerWindow.cpp" line="326"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="175"/>
|
||||
<location filename="../Debugger/DebuggerWindow.cpp" line="363"/>
|
||||
<source>Run</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="167"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="183"/>
|
||||
<source>Step Into</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="170"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="186"/>
|
||||
<source>F11</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="178"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="194"/>
|
||||
<source>Step Over</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="181"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="197"/>
|
||||
<source>F10</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="189"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="205"/>
|
||||
<source>Step Out</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="192"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="208"/>
|
||||
<source>Shift+F11</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="203"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="219"/>
|
||||
<source>Always On Top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="206"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="222"/>
|
||||
<source>Show this window on top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="214"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="230"/>
|
||||
<source>Analyze</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="219"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="235"/>
|
||||
<source>Reset All Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="224"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="240"/>
|
||||
<source>Reset Default Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="229"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="245"/>
|
||||
<source>Reset Splitter Positions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="237"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="253"/>
|
||||
<source>Shut Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="248"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="264"/>
|
||||
<source>Reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="259"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="275"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="270"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="286"/>
|
||||
<source>Increase Font Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="281"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="297"/>
|
||||
<source>Decrease Font Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="284"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="300"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="295"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="311"/>
|
||||
<source>Reset Font Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="306"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="322"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="317"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="333"/>
|
||||
<source>Game Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="354"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="357"/>
|
||||
<source>Navigate Back</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="360"/>
|
||||
<source>Alt+Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="371"/>
|
||||
<source>Navigate Forward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="374"/>
|
||||
<source>Alt+Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.cpp" line="73"/>
|
||||
<source>Are you sure you want to reset all layouts?</source>
|
||||
@@ -5439,7 +5465,7 @@ Do you want to overwrite?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.cpp" line="366"/>
|
||||
<location filename="../Debugger/DebuggerWindow.cpp" line="403"/>
|
||||
<source>Pause</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5452,168 +5478,168 @@ Do you want to overwrite?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="113"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="132"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="150"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="166"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="117"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="136"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="154"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="170"/>
|
||||
<source>Assemble Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="113"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="150"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="117"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="154"/>
|
||||
<source>Unable to change assembly while core is running</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="157"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="161"/>
|
||||
<source>Assemble Instruction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="250"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="254"/>
|
||||
<source>Go To In Disassembly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="257"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="261"/>
|
||||
<source>Cannot Go To</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="307"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="318"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="311"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="322"/>
|
||||
<source>Rename Function Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="307"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="311"/>
|
||||
<source>No function / symbol is currently selected.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="311"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="800"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="315"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="847"/>
|
||||
<source>Rename Function</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="312"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="316"/>
|
||||
<source>Function name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="318"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="322"/>
|
||||
<source>Function name cannot be nothing.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="374"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="378"/>
|
||||
<source>Restore Function Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="374"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="378"/>
|
||||
<source>Unable to stub selected address.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="727"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="774"/>
|
||||
<source>Copy Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="730"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="777"/>
|
||||
<source>Copy Instruction Hex</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="733"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="780"/>
|
||||
<source>&Copy Instruction Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="739"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="786"/>
|
||||
<source>Copy Function Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="743"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="790"/>
|
||||
<source>Paste Instruction Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="750"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="797"/>
|
||||
<source>Restore Instruction(s)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="754"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="801"/>
|
||||
<source>Asse&mble new Instruction(s)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="758"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="805"/>
|
||||
<source>NOP Instruction(s)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="763"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="810"/>
|
||||
<source>Run to Cursor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="766"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="813"/>
|
||||
<source>&Jump to Cursor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="770"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="817"/>
|
||||
<source>Toggle &Breakpoint</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="774"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="821"/>
|
||||
<source>Follow Branch</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="779"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="826"/>
|
||||
<source>&Go to Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="789"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="836"/>
|
||||
<source>Go to PC on Pause</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="797"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="844"/>
|
||||
<source>Add Function</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="803"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="850"/>
|
||||
<source>Remove Function</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="809"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="856"/>
|
||||
<source>Restore Function</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="814"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="861"/>
|
||||
<source>Stub (NOP) Function</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="820"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="867"/>
|
||||
<source>Show &Instruction Bytes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="879"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="926"/>
|
||||
<source>%1 NOT VALID ADDRESS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5621,27 +5647,27 @@ Do you want to overwrite?</source>
|
||||
<context>
|
||||
<name>DisassemblyViewColumnTitle</name>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="838"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="885"/>
|
||||
<source> %1 %2 %3 %4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="842"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="889"/>
|
||||
<source> %1 %2 %3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="850"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="897"/>
|
||||
<source>Location</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="855"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="902"/>
|
||||
<source>Bytes </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="859"/>
|
||||
<location filename="../Debugger/DisassemblyView.cpp" line="906"/>
|
||||
<source>Instruction</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5667,38 +5693,38 @@ Do you want to overwrite?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="366"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="379"/>
|
||||
<source>Add Another...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="586"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="599"/>
|
||||
<source>Edit Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="591"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="604"/>
|
||||
<source>Reset Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="649"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="662"/>
|
||||
<source>Are you sure you want to reset layout '%1'?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="648"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="679"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="661"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="692"/>
|
||||
<source>Confirmation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="597"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="610"/>
|
||||
<source>Delete Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="680"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="693"/>
|
||||
<source>Are you sure you want to delete layout '%1'?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5724,57 +5750,57 @@ Do you want to overwrite?</source>
|
||||
<context>
|
||||
<name>DockTabBar</name>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="169"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="176"/>
|
||||
<source>Rename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="178"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="185"/>
|
||||
<source>Rename Window</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="179"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="186"/>
|
||||
<source>New name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="188"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="195"/>
|
||||
<source>Invalid Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="188"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="195"/>
|
||||
<source>The specified name is too long.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="196"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="203"/>
|
||||
<source>Reset Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="210"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="217"/>
|
||||
<source>Primary</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="225"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="232"/>
|
||||
<source>Set Target</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="233"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="240"/>
|
||||
<source>%1 (%2)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="246"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="253"/>
|
||||
<source>Inherit From Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="254"/>
|
||||
<location filename="../Debugger/Docking/DockViews.cpp" line="261"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -18379,21 +18405,6 @@ Right click to clear binding</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>LayoutEditorDialog</name>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/LayoutEditorDialog.ui" line="22"/>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/LayoutEditorDialog.ui" line="32"/>
|
||||
<source>Target</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/LayoutEditorDialog.ui" line="42"/>
|
||||
<source>Initial State</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/LayoutEditorDialog.cpp" line="18"/>
|
||||
<source>New Layout</source>
|
||||
@@ -18439,6 +18450,21 @@ Right click to clear binding</source>
|
||||
<source>A layout with that name already exists.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/LayoutEditorDialog.ui" line="28"/>
|
||||
<source>Name:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/LayoutEditorDialog.ui" line="38"/>
|
||||
<source>Target:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/LayoutEditorDialog.ui" line="48"/>
|
||||
<source>Initial State:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LogWindow</name>
|
||||
@@ -20650,77 +20676,77 @@ Slot 2: {}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="778"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="824"/>
|
||||
<source>Copy Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="789"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="835"/>
|
||||
<source>Go to Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="792"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="838"/>
|
||||
<source>Follow Address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="797"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="843"/>
|
||||
<source>Show as Little Endian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="810"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="856"/>
|
||||
<source>Show as 1 byte</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="816"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="862"/>
|
||||
<source>Show as 2 bytes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="822"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="868"/>
|
||||
<source>Show as 4 bytes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="828"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="874"/>
|
||||
<source>Show as 8 bytes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="834"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="880"/>
|
||||
<source>Show as float</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="848"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="894"/>
|
||||
<source>Copy Byte</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="852"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="898"/>
|
||||
<source>Copy Segment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="854"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="900"/>
|
||||
<source>Copy Character</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="858"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="904"/>
|
||||
<source>Paste</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="898"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="944"/>
|
||||
<source>Go To In Memory View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="905"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="951"/>
|
||||
<source>Cannot Go To</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -20728,19 +20754,19 @@ Slot 2: {}</source>
|
||||
<context>
|
||||
<name>MemoryViewTable</name>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="307"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="316"/>
|
||||
<source>Input New Float</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="315"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="352"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="324"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="361"/>
|
||||
<source>Input Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="315"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="352"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="324"/>
|
||||
<location filename="../Debugger/Memory/MemoryView.cpp" line="361"/>
|
||||
<source>Invalid float value</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -24352,12 +24378,12 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="440"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="442"/>
|
||||
<source>GunCon 2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="582"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="584"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="78"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="106"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="938"/>
|
||||
@@ -24371,7 +24397,7 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="583"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="585"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="79"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="107"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="940"/>
|
||||
@@ -24385,7 +24411,7 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="584"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="586"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="80"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="108"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="941"/>
|
||||
@@ -24399,7 +24425,7 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="585"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="587"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="81"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="109"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="939"/>
|
||||
@@ -24413,22 +24439,22 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="587"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="589"/>
|
||||
<source>Trigger</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="588"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="590"/>
|
||||
<source>Shoot Offscreen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="590"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="592"/>
|
||||
<source>Calibration Shot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="592"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="594"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="139"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-seamic.cpp" line="363"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-train.cpp" line="154"/>
|
||||
@@ -24436,7 +24462,7 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="593"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="595"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="140"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-seamic.cpp" line="364"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-train.cpp" line="155"/>
|
||||
@@ -24444,14 +24470,14 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="594"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="596"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-seamic.cpp" line="365"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-train.cpp" line="156"/>
|
||||
<source>C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="595"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="597"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="90"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="116"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="936"/>
|
||||
@@ -24465,7 +24491,7 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="596"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="598"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="91"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="117"/>
|
||||
<location filename="../../pcsx2/USB/usb-pad/usb-pad.cpp" line="937"/>
|
||||
@@ -24479,141 +24505,141 @@ Rename it to {} to remove this warning.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="597"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="599"/>
|
||||
<source>Relative Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="598"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="600"/>
|
||||
<source>Relative Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="599"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="601"/>
|
||||
<source>Relative Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="600"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="602"/>
|
||||
<source>Relative Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="609"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="611"/>
|
||||
<source>Cursor Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="610"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="612"/>
|
||||
<source>Sets the crosshair image that this lightgun will use. Setting a crosshair image will disable the system cursor.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="613"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="615"/>
|
||||
<source>Cursor Scale</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="614"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="616"/>
|
||||
<source>Scales the crosshair image set above.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="614"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="616"/>
|
||||
<source>%.0f%%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="616"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="618"/>
|
||||
<source>Cursor Color</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="617"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="619"/>
|
||||
<source>Applies a color to the chosen crosshair images, can be used for multiple players. Specify in HTML/CSS format (e.g. #aabbcc)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="620"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="622"/>
|
||||
<source>Manual Screen Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="621"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="623"/>
|
||||
<source>Forces the use of the screen parameters below, instead of automatic parameters if available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="624"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="626"/>
|
||||
<source>X Scale (Sensitivity)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="625"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="628"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="627"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="630"/>
|
||||
<source>Scales the position to simulate CRT curvature.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="626"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="629"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="628"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="631"/>
|
||||
<source>%.2f%%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="627"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="629"/>
|
||||
<source>Y Scale (Sensitivity)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="630"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="632"/>
|
||||
<source>Center X</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="631"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="633"/>
|
||||
<source>Sets the horizontal center position of the simulated screen.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="632"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="635"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="634"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="637"/>
|
||||
<source>%.0fpx</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="633"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="635"/>
|
||||
<source>Center Y</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="634"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="636"/>
|
||||
<source>Sets the vertical center position of the simulated screen.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="636"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="638"/>
|
||||
<source>Screen Width</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="637"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="639"/>
|
||||
<source>Sets the width of the simulated screen.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="637"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="640"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="639"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="642"/>
|
||||
<source>%dpx</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="639"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="641"/>
|
||||
<source>Screen Height</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="640"/>
|
||||
<location filename="../../pcsx2/USB/usb-lightgun/guncon2.cpp" line="642"/>
|
||||
<source>Sets the height of the simulated screen.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
||||
@@ -246,6 +246,7 @@
|
||||
<QtMoc Include="Debugger\StackView.h" />
|
||||
<QtMoc Include="Debugger\ModuleModel.h" />
|
||||
<QtMoc Include="Debugger\ModuleView.h" />
|
||||
<QtMoc Include="Debugger\NavigationHistoryStack.h" />
|
||||
<QtMoc Include="Debugger\ThreadModel.h" />
|
||||
<QtMoc Include="Debugger\ThreadView.h" />
|
||||
<ClInclude Include="Debugger\DebuggerSettingsManager.h" />
|
||||
|
||||
@@ -529,6 +529,9 @@
|
||||
<QtMoc Include="Debugger\ModuleView.h">
|
||||
<Filter>Debugger</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="Debugger\NavigationHistoryStack.h">
|
||||
<Filter>Debugger</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="Debugger\ModuleModel.h">
|
||||
<Filter>Debugger</Filter>
|
||||
</QtMoc>
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000"><path d="M7.82843 10.9999H20V12.9999H7.82843L13.1924 18.3638L11.7782 19.778L4 11.9999L11.7782 4.22168L13.1924 5.63589L7.82843 10.9999Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 222 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000"><path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 222 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#fff"><path d="M7.82843 10.9999H20V12.9999H7.82843L13.1924 18.3638L11.7782 19.778L4 11.9999L11.7782 4.22168L13.1924 5.63589L7.82843 10.9999Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 222 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#fff"><path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 222 B |
@@ -2,12 +2,14 @@
|
||||
<qresource>
|
||||
<file>icons/AppIcon64.png</file>
|
||||
<file>icons/black/index.theme</file>
|
||||
<file>icons/black/svg/arrow-left-line.svg</file>
|
||||
<file>icons/black/svg/arrow-left-right-line.svg</file>
|
||||
<file>icons/black/svg/arrow-right-line.svg</file>
|
||||
<file>icons/black/svg/artboard-2-line.svg</file>
|
||||
<file>icons/black/svg/at.svg</file>
|
||||
<file>icons/black/svg/band-aid-line.svg</file>
|
||||
<file>icons/black/svg/booklet.svg</file>
|
||||
<file>icons/black/svg/book.svg</file>
|
||||
<file>icons/black/svg/booklet.svg</file>
|
||||
<file>icons/black/svg/brush-line.svg</file>
|
||||
<file>icons/black/svg/bug-line.svg</file>
|
||||
<file>icons/black/svg/buzz-controller-line.svg</file>
|
||||
@@ -113,12 +115,14 @@
|
||||
<file>icons/QT.png</file>
|
||||
<file>icons/update.png</file>
|
||||
<file>icons/white/index.theme</file>
|
||||
<file>icons/white/svg/arrow-left-line.svg</file>
|
||||
<file>icons/white/svg/arrow-left-right-line.svg</file>
|
||||
<file>icons/white/svg/arrow-right-line.svg</file>
|
||||
<file>icons/white/svg/artboard-2-line.svg</file>
|
||||
<file>icons/white/svg/at.svg</file>
|
||||
<file>icons/white/svg/band-aid-line.svg</file>
|
||||
<file>icons/white/svg/booklet.svg</file>
|
||||
<file>icons/white/svg/book.svg</file>
|
||||
<file>icons/white/svg/booklet.svg</file>
|
||||
<file>icons/white/svg/brush-line.svg</file>
|
||||
<file>icons/white/svg/bug-line.svg</file>
|
||||
<file>icons/white/svg/buzz-controller-line.svg</file>
|
||||
|
||||
Reference in New Issue
Block a user