ScriptForge - ui.Activate() Fix maximize
ui.Activate(...) sets the focus on the window in argument. Before the actual patch, when the window in background was maximized, it appeared in foreground simply "restored". Now "restored" or "maximized" depends on the previous status. Limited impact on existing scripts. Improvement valid for Python and Basic user scripts. No impact on help documentation. Change-Id: Ie3d30967948d114a422345afa9d13d54e587b79e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201175 Tested-by: Jenkins Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
This commit is contained in:
@@ -217,6 +217,7 @@ Dim oEnum As Object ' com.sun.star.container.XEnumeration
|
||||
Dim oComp As Object ' com.sun.star.lang.XComponent
|
||||
Dim vWindow As Window ' A single component
|
||||
Dim oContainer As Object ' com.sun.star.awt.XWindow
|
||||
Dim bMaximized As Boolean ' True when window is maximized
|
||||
Const cstThisSub = "UI.Activate"
|
||||
Const cstSubArgs = "WindowName"
|
||||
|
||||
@@ -242,9 +243,11 @@ Try:
|
||||
Set oContainer = vWindow.Frame.ContainerWindow
|
||||
With oContainer
|
||||
If .isVisible() = False Then .setVisible(True)
|
||||
bMaximized = .IsMaximized
|
||||
.IsMinimized = False
|
||||
.setFocus()
|
||||
.toFront() ' Force window change in Linux
|
||||
If bMaximized Then .IsMaximized = True ' Re-maximized only when True
|
||||
Wait 1 ' Bypass desynchro issue in Linux
|
||||
End With
|
||||
bActivate = True
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
|
||||
<library:library xmlns:library="http://openoffice.org/2000/library" library:name="ScriptForge" library:readonly="false" library:passwordprotected="false">
|
||||
<library:element library:name="SF_Timer"/>
|
||||
<library:element library:name="SF_FileSystem"/>
|
||||
<library:element library:name="__License"/>
|
||||
<library:element library:name="SF_Root"/>
|
||||
<library:element library:name="SF_Region"/>
|
||||
<library:element library:name="SF_L10N"/>
|
||||
<library:element library:name="SF_SharedMemory"/>
|
||||
<library:element library:name="_CodingConventions"/>
|
||||
<library:element library:name="SF_Session"/>
|
||||
<library:element library:name="SF_Dictionary"/>
|
||||
@@ -14,11 +21,4 @@
|
||||
<library:element library:name="SF_Utils"/>
|
||||
<library:element library:name="SF_String"/>
|
||||
<library:element library:name="_ModuleModel"/>
|
||||
<library:element library:name="SF_SharedMemory"/>
|
||||
<library:element library:name="SF_L10N"/>
|
||||
<library:element library:name="SF_Region"/>
|
||||
<library:element library:name="SF_Root"/>
|
||||
<library:element library:name="__License"/>
|
||||
<library:element library:name="SF_FileSystem"/>
|
||||
<library:element library:name="SF_Timer"/>
|
||||
</library:library>
|
||||
Reference in New Issue
Block a user