@@ -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