OpenLP Settings Fail on PyQt4 v 4.11
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenLP |
Fix Released
|
Critical
|
Raoul Snyman |
Bug Description
If settingsform.py the code says this:
for plugin in self.plugin_
if plugin.
return QtGui.QDialog.
def insert_tab(self, tab, location, is_active=True):
"""
Add a tab to the form at a specific location
"""
# add the tab to get it to display in the correct part of the screen
pos = self.stacked_
if is_active:
icon = build_icon(
else:
# then remove tab to stop the UI displaying it even if it is not required.
In Pyqt4 4.11 this means the first tab is removed if any plugins are inactive and all the displays are one out.
The code looks strange!
If the code is corrected to
for plugin in self.plugin_
if plugin.settings_tab and plugin.is_active():
return QtGui.QDialog.
def insert_tab(self, tab, location, is_active=True):
"""
Add a tab to the form at a specific location
"""
# add the tab to get it to display in the correct part of the screen
pos = self.stacked_
if is_active:
icon = build_icon(
else:
# then remove tab to stop the UI displaying it even if it is not required.
The the tabs are fine but a widget appears at the top to the list and cannot be removed and obscures the General line.
Related branches
- Tim Bentley: Approve
-
Diff: 251 lines (+149/-25)5 files modifiedopenlp/core/ui/settingsdialog.py (+0/-1)
openlp/core/ui/settingsform.py (+32/-23)
tests/__init__.py (+31/-0)
tests/functional/openlp_core_ui/test_servicemanager.py (+1/-1)
tests/functional/openlp_core_ui/test_settingsform.py (+85/-0)
Changed in openlp: | |
status: | Fix Committed → Fix Released |
Code re-factored and corrected.