Compare commits

...

2 Commits

Author SHA1 Message Date
Martin Tranberg
b800f0308d fix: resolve C2/I4 review findings
- C2: remove duplicate EVT_SIZE binding (on_status_bar_resize); merge
  gauge repositioning into the single on_resize handler
- I4: position gauge correctly on first show by updating rect inside
  pulse_gauge._do() when start=True, so no resize event is required

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 09:42:52 +02:00
Martin Tranberg
dadbb4d51a fix: resolve C1/I2/I3/S2 review findings
- C1: initialize url=None before conditional in _fetch_tree_children_bg
  to prevent UnboundLocalError on unexpected data types
- I2: translate System tab label via get_txt instead of hardcoded string
- I3: add status_loading_items to STRINGS (da+en) and use it in
  _fetch_list_contents_bg instead of hardcoded Danish f-string
- S2: remove unreachable SITE branch from _append_list_items

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 09:41:25 +02:00

View File

@@ -179,6 +179,7 @@ STRINGS = {
"settings_license_status": "Status: Ikke aktiveret",
"settings_logging_group": "System / Diverse",
"settings_logging": "Aktiver log-output (anbefales til fejlfinding)",
"status_loading_items": "Henter... ({count} emner)",
"settings_about_group": "Om programmet",
"settings_credits": "© 2026 SharePoint Explorer\n\nSkabt af:\nMartin Tranberg\nBlueprint\n\nBernhard Bangs Allé 23, 2.\n2000 Frederiksberg\n\nTel: 70258689"
},
@@ -275,6 +276,7 @@ STRINGS = {
"settings_license_status": "Status: Not activated",
"settings_logging_group": "System / Miscellaneous",
"settings_logging": "Enable log output (recommended for troubleshooting)",
"status_loading_items": "Loading... ({count} items)",
"settings_about_group": "About",
"settings_credits": "© 2026 SharePoint Explorer\n\nCreated by:\nMartin Tranberg\nBlueprint\n\nBernhard Bangs Allé 23, 2.\nDK-2000 Frederiksberg\n\nPhone: +45 70258689"
}
@@ -498,7 +500,7 @@ class SettingsDialog(wx.Dialog):
sys_vbox.Add(sys_inner, 1, wx.EXPAND | wx.ALL, 15)
sys_panel.SetSizer(sys_vbox)
self.nb.AddPage(sys_panel, "System")
self.nb.AddPage(sys_panel, self.get_txt("settings_logging_group").split("/")[0].strip())
# 5. ABOUT TAB
about_panel = wx.Panel(self.nb)
@@ -928,7 +930,6 @@ class SharePointApp(wx.Frame):
# Add a Gauge to the status bar
self.gauge = wx.Gauge(self.status_bar, range=100, size=(140, 18), style=wx.GA_HORIZONTAL | wx.GA_SMOOTH)
self.gauge.Hide()
self.Bind(wx.EVT_SIZE, self.on_status_bar_resize)
panel.SetSizer(vbox)
self.Bind(wx.EVT_SIZE, self.on_resize)
@@ -1359,6 +1360,9 @@ class SharePointApp(wx.Frame):
if start:
self.gauge.Show()
self.gauge.Pulse()
rect = self.status_bar.GetFieldRect(1)
self.gauge.SetPosition((rect.x + 5, rect.y + 2))
self.gauge.SetSize((rect.width - 10, rect.height - 4))
else:
self.gauge.Hide()
self.gauge.SetValue(0)
@@ -1548,13 +1552,11 @@ class SharePointApp(wx.Frame):
self.compact_mode = False
self._update_button_labels(full=True)
event.Skip()
def on_status_bar_resize(self, event):
if hasattr(self, 'gauge') and self.gauge:
rect = self.status_bar.GetFieldRect(1)
self.gauge.SetPosition((rect.x + 5, rect.y + 2))
self.gauge.SetSize((rect.width - 10, rect.height - 4))
event.Skip()
def _update_button_labels(self, full=True):
@@ -1771,6 +1773,7 @@ class SharePointApp(wx.Frame):
if not self.ensure_valid_token(): return
self.pulse_gauge(True)
all_children = []
url = None
if data['type'] == "SITE":
url = f"https://graph.microsoft.com/v1.0/sites/{data['id']}/drives"
@@ -1934,7 +1937,7 @@ class SharePointApp(wx.Frame):
})
items_data.extend(chunk_data)
self.set_status(f"Henter... ({len(items_data)} emner)")
self.set_status(self.get_txt("status_loading_items").format(count=len(items_data)))
self.pulse_gauge(True)
# Chunked UI Update
@@ -1960,7 +1963,6 @@ class SharePointApp(wx.Frame):
img_idx = self.idx_file
if item['type'] == "FOLDER": img_idx = self.idx_folder
elif item['type'] == "DRIVE": img_idx = self.idx_drive
elif item['type'] == "SITE": img_idx = self.idx_site
elif item['type'] == "FILE":
img_idx = self.get_icon_idx_for_file(item['name'])