Skip to content

Commit 707222d

Browse files
authored
Merge 63d5dff into e15fe8a
2 parents e15fe8a + 63d5dff commit 707222d

1 file changed

Lines changed: 38 additions & 9 deletions

File tree

source/gui/_addonStoreGui/controls/storeDialog.py

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,7 @@ def handleDisplayableError(self, displayableError: DisplayableError):
6161

6262
def makeSettings(self, settingsSizer: wx.BoxSizer):
6363
if globalVars.appArgs.disableAddons:
64-
self.banner = BannerWindow(self, dir=wx.TOP)
65-
self.banner.SetText(
66-
# Translators: Banner notice that is displayed in the Add-on Store.
67-
pgettext("addonStore", "Note: NVDA was started with add-ons disabled"),
68-
"",
69-
)
70-
normalBgColour = self.GetBackgroundColour()
71-
self.banner.SetGradient(normalBgColour, normalBgColour)
72-
settingsSizer.Add(self.banner, flag=wx.CENTER)
64+
self._makeBanner()
7365

7466
splitViewSizer = wx.BoxSizer(wx.HORIZONTAL)
7567

@@ -90,6 +82,18 @@ def makeSettings(self, settingsSizer: wx.BoxSizer):
9082
self.addonListTabs.SetSelection(availableTabIndex)
9183
self.addonListTabs.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.onListTabPageChange, self.addonListTabs)
9284

85+
self.warningTextCtrl = wx.TextCtrl(
86+
self,
87+
style = 0 # purely to allow subsequent items to line up.
88+
| wx.TE_MULTILINE # details will require multiple lines
89+
| wx.TE_READONLY # the details shouldn't be user editable
90+
| wx.TE_RICH2
91+
| wx.BORDER_NONE
92+
)
93+
tabPageHelper.addItem(
94+
self.warningTextCtrl,
95+
flag=wx.EXPAND
96+
)
9397
self.filterCtrlHelper = guiHelper.BoxSizerHelper(self, wx.VERTICAL)
9498
self._createFilterControls()
9599
tabPageHelper.addItem(self.filterCtrlHelper.sizer, flag=wx.EXPAND)
@@ -133,6 +137,18 @@ def makeSettings(self, settingsSizer: wx.BoxSizer):
133137
settingsSizer.Add(generalActions.sizer)
134138
self.onListTabPageChange(None)
135139

140+
def _makeBanner(self):
141+
self.banner = BannerWindow(self, dir=wx.TOP)
142+
# Translators: Banner notice that is displayed in the Add-on Store.
143+
bannerText = pgettext("addonStore", "Note: NVDA was started with add-ons disabled")
144+
self.banner.SetText(
145+
bannerText,
146+
"",
147+
)
148+
normalBgColour = self.GetBackgroundColour()
149+
self.banner.SetGradient(normalBgColour, normalBgColour)
150+
self.settingsSizer.Add(self.banner, flag=wx.CENTER)
151+
136152
def _createFilterControls(self):
137153
filterCtrlsLine0 = guiHelper.BoxSizerHelper(self, wx.HORIZONTAL)
138154
filterCtrlsLine1 = guiHelper.BoxSizerHelper(self, wx.HORIZONTAL)
@@ -278,6 +294,14 @@ def _channelFilterKey(self) -> Channel:
278294
def _titleText(self) -> str:
279295
return f"{self.title} - {self._statusFilterKey.displayString} ({self._channelFilterKey.displayString})"
280296

297+
_warningText = pgettext(
298+
"addonStore",
299+
# Translators: Warning that is displayed in the Add-on Store.
300+
"Add-ons are created by the NVDA community and are not vetted by NV Access. "
301+
"NV Access cannot be held responsible for add-on behavior. "
302+
"The functionality of add-ons is unrestricted and can include accessing your personal data or even the entire system. "
303+
)
304+
281305
@property
282306
def _listLabelText(self) -> str:
283307
return pgettext(
@@ -290,6 +314,7 @@ def _listLabelText(self) -> str:
290314
def _setListLabels(self):
291315
self.listLabel.SetLabel(self._listLabelText)
292316
self.SetTitle(self._titleText)
317+
self.warningTextCtrl.SetValue(self._warningText)
293318

294319
def _toggleFilterControls(self):
295320
if self._storeVM._filteredStatusKey in {
@@ -307,6 +332,10 @@ def _toggleFilterControls(self):
307332
self.enabledFilterCtrl.Enable()
308333
self.includeIncompatibleCtrl.Hide()
309334
self.includeIncompatibleCtrl.Disable()
335+
if self._storeVM._filteredStatusKey is _StatusFilterKey.AVAILABLE:
336+
self.warningTextCtrl.Show()
337+
else:
338+
self.warningTextCtrl.Hide()
310339

311340
def onListTabPageChange(self, evt: wx.EVT_CHOICE):
312341
self.searchFilterCtrl.SetValue("")

0 commit comments

Comments
 (0)