19
19
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
20
20
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
21
21
###############################################################################
24
Provide additional functionality required by OpenLP from the inherited QDockWidget.
23
The :mod:`~openlp.core.widgets.docks` module contains a customised base dock widget and dock widgets
29
27
from PyQt5 import QtWidgets
31
29
from openlp.core.display.screens import ScreenList
32
from openlp.core.lib import build_icon
30
from openlp.core.lib import StringContent, build_icon
34
32
log = logging.getLogger(__name__)
55
53
self.setMinimumWidth(300)
57
55
self.setMinimumWidth(main_window_docbars)
58
class MediaDockManager(object):
60
Provide a repository for MediaManagerItems
62
def __init__(self, media_dock):
64
Initialise the media dock
66
self.media_dock = media_dock
68
def add_item_to_dock(self, media_item):
70
Add a MediaManagerItem to the dock
71
If the item has been added before, it's silently skipped
73
:param media_item: The item to add to the dock
75
visible_title = media_item.plugin.get_string(StringContent.VisibleName)
76
log.debug('Inserting %s dock' % visible_title['title'])
78
for dock_index in range(self.media_dock.count()):
79
if self.media_dock.widget(dock_index).settings_section == media_item.plugin.name:
83
self.media_dock.addItem(media_item, media_item.plugin.icon, visible_title['title'])
85
def remove_dock(self, media_item):
87
Removes a MediaManagerItem from the dock
89
:param media_item: The item to add to the dock
91
visible_title = media_item.plugin.get_string(StringContent.VisibleName)
92
log.debug('remove %s dock' % visible_title['title'])
93
for dock_index in range(self.media_dock.count()):
94
if self.media_dock.widget(dock_index):
95
if self.media_dock.widget(dock_index).settings_section == media_item.plugin.name:
96
self.media_dock.widget(dock_index).setVisible(False)
97
self.media_dock.removeItem(dock_index)