Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to http://semver.org/spec/v2.0.0.html[Semantic Versioni
== https://github.com/robotframework/RIDE[Unreleased]

=== Fixed
- Fixed bad resizing of File Explorer content when opening Test Suites.
- Fix selection of items (variables, test names, keywords) from Project Explorer and highlight at Text Editor.
- Fixed Tab spacing in Text Editor. When pressing tab the expected spaces were not written, causing failing steps.

Expand Down
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Likewise, the current version of wxPython, is 4.2.5, but RIDE is known to work w

`pip install -U robotframework-ride`

(3.9 <= python <= 3.14) Install current development version (**2.2.5dev5**) with:
(3.9 <= python <= 3.14) Install current development version (**2.2.5dev6**) with:

`pip install -U https://github.com/robotframework/RIDE/archive/develop.zip`

Expand Down
5 changes: 2 additions & 3 deletions src/robotide/application/releasenotes.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,15 +170,14 @@ def set_content(self, html_win, content):
<li>🐞 - The feature Auto-Save may cause a crash of RIDE in certain systems. This was experienced in AlmaLinux 9.6 with Gnome Unity, Python 3.13 and wxPython 4.2.3. The files are correctly saved, but RIDE closes. It is recommended to set the Auto-Save time as zero if this happens.</li>
<li>🐞 - In Grid Editor, when showing settings, scrolling down with mouse or using down is not working. You can change
to Text Editor and back to Grid Editor, to restore normal behavior.</li>
<li>🐞 - In Files Explorer, when in floating window, the files tree is not always using all available space.
Do a small resize of window to redraw.</li>
<li>🐞 - The Test Suites Explorer, may be visible or hidden with F12, or toggled floating/docked, but content may
disappear. You should try to make it reappear by toggling Files Explorer, F11, or by editing <b>settings.cfg</b>.</li>
</ul>
</li>
</ul>
<p><strong>New Features and Fixes Highlights</strong></p>
<ul class="simple">
<li>Fixed bad resizing of File Explorer content when opening Test Suites.</li>
<li>Improved spaces detection in test suites reader.</li>
<li>Fix selection of items (variables, test names, keywords) from Project Explorer and highlight at Text Editor.</li>
<li>Fixed Tab spacing in Text Editor. When pressing tab the expected spaces were not written, causing failing steps.</li>
Expand Down Expand Up @@ -238,7 +237,7 @@ def set_content(self, html_win, content):
<pre class="literal-block">python -m robotide.postinstall -install</pre>
<p>or</p>
<pre class="literal-block">ride_postinstall.py -install</pre>
<p>RIDE {VERSION} was released on 30/July/2026.</p>
<p>RIDE {VERSION} was released on 01/August/2026.</p>
<br/>
<!--
<h3>Celebrate the bank holiday, 1st December, Restoration of the Independence of Portugal (from Spain in 1640)!!</h3>
Expand Down
41 changes: 18 additions & 23 deletions src/robotide/ui/fileexplorerplugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,6 @@ def show_file_explorer(self):
self._filetreectrl.SetForegroundColour(html_foreground)
# print(f"DEBUG: FileExplorerPlugin SET FONT treectrl size={self.html_font_size}")
self._filetreectrl.SetFont(self.font)
self._filetreectrl.Fit()
self._filetreectrl.Refresh()
self.file_explorer.Raise()
if not self._controller:
Expand Down Expand Up @@ -292,10 +291,7 @@ def __init__(self, parent, plugin, controller=None):
self.SetSizer(self.sizer)
self._create_pane_toolbar()
self.tree_ctrl = wx.GenericDirCtrl(parent=self, id=-1, style=wx.DIRCTRL_3D_INTERNAL)
tsizer = VerticalSizer()
tsizer.Add(self.tree_ctrl, proportion=1, flag=wx.EXPAND)
self.sizer.Add(wx.Size(35, 35))
self.sizer.Add(tsizer, proportion=1, flag=wx.EXPAND)
self.sizer.Add(self.tree_ctrl, proportion=1, flag=wx.EXPAND | wx.TOP, border=5)
self._right_click = False
self.current_path = None
self._apply_settings()
Expand All @@ -307,6 +303,7 @@ def __init__(self, parent, plugin, controller=None):
PUBLISHER.subscribe(self.on_settings_changed, RideSettingsChanged)
self.SetThemeEnabled(True)
self.SetAutoLayout(True)
self.Layout()
self.Refresh()

def update_tree(self):
Expand Down Expand Up @@ -337,10 +334,13 @@ def update_tree(self):
self.tree_ctrl.TreeCtrl.EnsureVisible(self.tree_ctrl.TreeCtrl.GetSelection())
except (AssertionError, RuntimeError, AttributeError):
pass
# self.on_size(wx.EVT_SIZE)
self.Refresh()
self.tree_ctrl.Update()
self.Update()
# The content may have changed the best size of the tree, so the panel must be laid out
# again. Without this, the tree keeps whatever size it had and only gets its full width
# back when the user resizes the pane by hand.
self.Layout()
self.Refresh()
self.tree_ctrl.Update()
self.Update()

def _apply_settings(self):
apply_to_panels = self._plugin.general_settings['apply to panels']
Expand Down Expand Up @@ -377,14 +377,15 @@ def _apply_settings(self):
self.font.SetPointSize(int(self._plugin.settings['font size']))
self.SetFont(self.font)
tc.SetFont(self.font)
tc.Fit()
tc.Refresh()
tc.Update()
# print(f"DEBUG: FileExplorerPlugin _apply_settings SET FONT treectrl "
# f"size={int(self._plugin.settings['font size'])}")
self.tree_ctrl.SetFont(self.font)
self.tree_ctrl.Fit()
self.tool_bar_txt.SetFont(self.font)
# Fit() must not be called on the tree controls: it shrinks them to their own best size
# and defeats the wx.EXPAND of the sizer. Let the sizer do the sizing.
self.Layout()
self.tree_ctrl.Refresh()
self.tree_ctrl.Update()
self.Update()
Expand All @@ -400,23 +401,17 @@ def on_key_press(self, event):

def on_suite_opened(self, message):
# Update File Explorer tree when suite is opened to use whole pane (when floating).
# Not working
__ = message
wx.CallAfter(self.on_size)
wx.CallAfter(self.update_tree)

def on_size(self, event=None):
if event:
event.Skip()
self.update_tree()
sz = self.GetSize() # + wx.Size(-5, -5)
# print(f"DEBUG: FileExplorer On size refreshing. sz={sz}")
self.tree_ctrl.SetSize(sz)
self.tree_ctrl.Fit()
# The sizer owns the geometry of the children, so a Layout() is all that is needed here.
# Setting sizes by hand, or calling Fit(), leaves the tree narrower than the panel.
self.Layout()
self.tree_ctrl.Refresh()
tc = self.tree_ctrl.GetTreeCtrl()
tc.SetSize(sz)
tc.Fit()
tc.Refresh()
self.tree_ctrl.GetTreeCtrl().Refresh()
self.tree_ctrl.Update()
self.Update()

Expand Down Expand Up @@ -483,4 +478,4 @@ def _create_pane_toolbar(self):
self.pane_toolbar.add_expanding(default_components)
self.pane_toolbar.AddStretchSpacer()
self.pane_toolbar.add_with_padding(self.config_button)
self.sizer.Add(self.pane_toolbar, proportion=0)
self.sizer.Add(self.pane_toolbar, proportion=0, flag=wx.EXPAND)
2 changes: 1 addition & 1 deletion src/robotide/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
#
# Automatically generated by `tasks.py`.

VERSION = 'v2.2.5dev5'
VERSION = 'v2.2.5dev6'
Loading