mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Fixed setFocus for some ShowPCLocation and ShowSourceFile cases
This commit is contained in:
parent
d5024964c8
commit
cac67b8288
2 changed files with 27 additions and 6 deletions
|
@ -907,6 +907,9 @@ namespace Beefy.widgets
|
||||||
{
|
{
|
||||||
base.KeyDown(keyCode, isRepeat);
|
base.KeyDown(keyCode, isRepeat);
|
||||||
|
|
||||||
|
if (mWidgetWindow == null)
|
||||||
|
return;
|
||||||
|
|
||||||
switch (keyCode)
|
switch (keyCode)
|
||||||
{
|
{
|
||||||
case (KeyCode)'A':
|
case (KeyCode)'A':
|
||||||
|
|
|
@ -6612,18 +6612,30 @@ namespace IDE
|
||||||
return tabButton;
|
return tabButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DisassemblyPanel ShowDisassemblyPanel(bool clearData = false)
|
public DisassemblyPanel ShowDisassemblyPanel(bool clearData = false, bool setFocus = false)
|
||||||
{
|
{
|
||||||
DisassemblyPanel disassemblyPanel = null;
|
DisassemblyPanel disassemblyPanel = null;
|
||||||
|
TabbedView.TabButton disassemblyTab = null;
|
||||||
|
|
||||||
WithTabs(scope [&] (tab) =>
|
WithTabs(scope [&] (tab) =>
|
||||||
{
|
{
|
||||||
if ((disassemblyPanel == null) && (tab.mContent is DisassemblyPanel))
|
if ((disassemblyPanel == null) && (tab.mContent is DisassemblyPanel))
|
||||||
{
|
{
|
||||||
|
disassemblyTab = tab;
|
||||||
disassemblyPanel = (DisassemblyPanel)tab.mContent;
|
disassemblyPanel = (DisassemblyPanel)tab.mContent;
|
||||||
disassemblyPanel.ClearQueuedData();
|
|
||||||
tab.Activate();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (disassemblyTab != null)
|
||||||
|
{
|
||||||
|
var window = disassemblyTab.mWidgetWindow;
|
||||||
|
if ((setFocus) && (window != null) && (!HasModalDialogs()) && (!mRunningTestScript))
|
||||||
|
window.SetForeground();
|
||||||
|
}
|
||||||
|
|
||||||
|
disassemblyPanel.ClearQueuedData();
|
||||||
|
disassemblyTab.Activate();
|
||||||
|
|
||||||
if (disassemblyPanel != null)
|
if (disassemblyPanel != null)
|
||||||
return disassemblyPanel;
|
return disassemblyPanel;
|
||||||
|
|
||||||
|
@ -7149,6 +7161,12 @@ namespace IDE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ActivateWindow(WidgetWindow window)
|
||||||
|
{
|
||||||
|
if ((setFocus) && (window != null) && (!HasModalDialogs()) && (!mRunningTestScript))
|
||||||
|
window.SetForeground();
|
||||||
|
}
|
||||||
|
|
||||||
if (showType != SourceShowType.New)
|
if (showType != SourceShowType.New)
|
||||||
{
|
{
|
||||||
delegate void(TabbedView.TabButton) tabFunc = scope [&] (tabButton) =>
|
delegate void(TabbedView.TabButton) tabFunc = scope [&] (tabButton) =>
|
||||||
|
@ -7197,8 +7215,7 @@ namespace IDE
|
||||||
//sourceViewPanel.QueueFullRefresh(true);
|
//sourceViewPanel.QueueFullRefresh(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((sourceViewPanel.mWidgetWindow != null) && (!HasModalDialogs()) && (!mRunningTestScript))
|
ActivateWindow(sourceViewPanelTab.mWidgetWindow);
|
||||||
sourceViewPanel.mWidgetWindow.SetForeground();
|
|
||||||
sourceViewPanelTab.Activate(setFocus);
|
sourceViewPanelTab.Activate(setFocus);
|
||||||
sourceViewPanelTab.mTabbedView.FinishTabAnim();
|
sourceViewPanelTab.mTabbedView.FinishTabAnim();
|
||||||
if (setFocus)
|
if (setFocus)
|
||||||
|
@ -7214,6 +7231,7 @@ namespace IDE
|
||||||
//ShowSourceFile(filePath, projectSource, showTemp, setFocus);
|
//ShowSourceFile(filePath, projectSource, showTemp, setFocus);
|
||||||
|
|
||||||
DarkTabbedView tabbedView = GetDefaultDocumentTabbedView();
|
DarkTabbedView tabbedView = GetDefaultDocumentTabbedView();
|
||||||
|
ActivateWindow(tabbedView.mWidgetWindow);
|
||||||
sourceViewPanel = new SourceViewPanel();
|
sourceViewPanel = new SourceViewPanel();
|
||||||
bool success;
|
bool success;
|
||||||
if (useProjectSource != null)
|
if (useProjectSource != null)
|
||||||
|
@ -7977,7 +7995,7 @@ namespace IDE
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var disassemblyPanel = ShowDisassemblyPanel(true);
|
var disassemblyPanel = ShowDisassemblyPanel(true, setFocus);
|
||||||
if (aliasFilePath != null)
|
if (aliasFilePath != null)
|
||||||
String.NewOrSet!(disassemblyPanel.mAliasFilePath, aliasFilePath);
|
String.NewOrSet!(disassemblyPanel.mAliasFilePath, aliasFilePath);
|
||||||
disassemblyPanel.Show(addr, filePath, line, column, hotIdx, defLineStart, defLineEnd);
|
disassemblyPanel.Show(addr, filePath, line, column, hotIdx, defLineStart, defLineEnd);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue