forked from openlp/openlp
Head
This commit is contained in:
commit
0c793a123e
@ -90,6 +90,10 @@ class AdvancedTab(SettingsTab):
|
||||
self.expandServiceItemCheckBox.setObjectName(
|
||||
u'expandServiceItemCheckBox')
|
||||
self.uiLayout.addWidget(self.expandServiceItemCheckBox)
|
||||
self.enableAutoCloseCheckBox = QtGui.QCheckBox(self.uiGroupBox)
|
||||
self.enableAutoCloseCheckBox.setObjectName(
|
||||
u'enableAutoCloseCheckBox')
|
||||
self.uiLayout.addWidget(self.enableAutoCloseCheckBox)
|
||||
# self.sharedDirGroupBox = QtGui.QGroupBox(self.leftWidget)
|
||||
# self.sharedDirGroupBox.setObjectName(u'sharedDirGroupBox')
|
||||
# self.sharedDirGroupBox.setGeometry(QtCore.QRect(0, 65, 500, 85))
|
||||
@ -150,6 +154,8 @@ class AdvancedTab(SettingsTab):
|
||||
'Double-click to send items straight to live'))
|
||||
self.expandServiceItemCheckBox.setText(translate('OpenLP.AdvancedTab',
|
||||
'Expand new service items on creation'))
|
||||
self.enableAutoCloseCheckBox.setText(translate('OpenLP.AdvancedTab',
|
||||
'Enable application exit confirmation'))
|
||||
# self.sharedDirGroupBox.setTitle(
|
||||
# translate('AdvancedTab', 'Central Data Store'))
|
||||
# self.sharedCheckBox.setText(
|
||||
@ -180,6 +186,9 @@ class AdvancedTab(SettingsTab):
|
||||
self.expandServiceItemCheckBox.setChecked(
|
||||
settings.value(u'expand service item',
|
||||
QtCore.QVariant(False)).toBool())
|
||||
self.enableAutoCloseCheckBox.setChecked(
|
||||
settings.value(u'enable exit confirmation',
|
||||
QtCore.QVariant(True)).toBool())
|
||||
settings.endGroup()
|
||||
|
||||
def save(self):
|
||||
@ -196,12 +205,14 @@ class AdvancedTab(SettingsTab):
|
||||
QtCore.QVariant(self.doubleClickLiveCheckBox.isChecked()))
|
||||
settings.setValue(u'expand service item',
|
||||
QtCore.QVariant(self.expandServiceItemCheckBox.isChecked()))
|
||||
settings.setValue(u'enable exit confirmation',
|
||||
QtCore.QVariant(self.enableAutoCloseCheckBox.isChecked()))
|
||||
settings.endGroup()
|
||||
|
||||
def onSharedCheckBoxChanged(self, checked):
|
||||
"""
|
||||
Enables the widgets to allow a shared data location
|
||||
"""
|
||||
self.sharedLabel.setEnabled(checked)
|
||||
self.sharedTextEdit.setEnabled(checked)
|
||||
self.sharedPushButton.setEnabled(checked)
|
||||
# def onSharedCheckBoxChanged(self, checked):
|
||||
# """
|
||||
# Enables the widgets to allow a shared data location
|
||||
# """
|
||||
# self.sharedLabel.setEnabled(checked)
|
||||
# self.sharedTextEdit.setEnabled(checked)
|
||||
# self.sharedPushButton.setEnabled(checked)
|
@ -95,7 +95,6 @@ class MainDisplay(DisplayWidget):
|
||||
"""
|
||||
This is the display screen.
|
||||
"""
|
||||
|
||||
def __init__(self, parent, screens, live):
|
||||
DisplayWidget.__init__(self, live, parent=None)
|
||||
self.parent = parent
|
||||
@ -119,7 +118,7 @@ class MainDisplay(DisplayWidget):
|
||||
"""
|
||||
Set up and build the output screen
|
||||
"""
|
||||
log.debug(u'Setup live = %s for %s ' % (self.isLive,
|
||||
log.debug(u'Setup live = %s for monitor %s ' % (self.isLive,
|
||||
self.screens.monitor_number))
|
||||
self.usePhonon = QtCore.QSettings().value(
|
||||
u'media/use phonon', QtCore.QVariant(True)).toBool()
|
||||
|
@ -842,7 +842,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
QtGui.QMessageBox.Save),
|
||||
QtGui.QMessageBox.Save)
|
||||
if ret == QtGui.QMessageBox.Save:
|
||||
#self.ServiceManagerContents.onSaveService(True)
|
||||
if self.ServiceManagerContents.saveFile():
|
||||
self.cleanUp()
|
||||
event.accept()
|
||||
@ -854,18 +853,24 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
else:
|
||||
event.ignore()
|
||||
else:
|
||||
ret = QtGui.QMessageBox.question(self,
|
||||
translate('OpenLP.MainWindow', 'Close OpenLP'),
|
||||
translate('OpenLP.MainWindow', 'Are you sure you want to close OpenLP?'),
|
||||
QtGui.QMessageBox.StandardButtons(
|
||||
QtGui.QMessageBox.Yes |
|
||||
QtGui.QMessageBox.No),
|
||||
QtGui.QMessageBox.Yes)
|
||||
if ret == QtGui.QMessageBox.Yes:
|
||||
if QtCore.QSettings().value(u'advanced/enable exit confirmation',
|
||||
QtCore.QVariant(True)).toBool():
|
||||
ret = QtGui.QMessageBox.question(self,
|
||||
translate('OpenLP.MainWindow', 'Close OpenLP'),
|
||||
translate('OpenLP.MainWindow', 'Are you sure you want to close OpenLP?'),
|
||||
QtGui.QMessageBox.StandardButtons(
|
||||
QtGui.QMessageBox.Yes |
|
||||
QtGui.QMessageBox.No),
|
||||
QtGui.QMessageBox.Yes)
|
||||
if ret == QtGui.QMessageBox.Yes:
|
||||
self.cleanUp()
|
||||
event.accept()
|
||||
else:
|
||||
event.ignore()
|
||||
else:
|
||||
self.cleanUp()
|
||||
event.accept()
|
||||
else:
|
||||
event.ignore()
|
||||
|
||||
|
||||
def cleanUp(self):
|
||||
"""
|
||||
@ -1054,4 +1059,4 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
self.recentFiles.insert(0, QtCore.QString(filename))
|
||||
while self.recentFiles.count() > maxRecentFiles:
|
||||
# Don't care what API says takeLast works, removeLast doesn't!
|
||||
self.recentFiles.takeLast()
|
||||
self.recentFiles.takeLast()
|
@ -41,7 +41,7 @@ class ImagePlugin(Plugin):
|
||||
self.icon = build_icon(self.icon_path)
|
||||
|
||||
def getMediaManagerItem(self):
|
||||
# Create the MediaManagerItem object
|
||||
# Create the MediaManagerItem object.
|
||||
return ImageMediaItem(self, self, self.icon)
|
||||
|
||||
def about(self):
|
||||
|
@ -43,6 +43,7 @@ class ImageListView(BaseListWithDnD):
|
||||
self.PluginName = u'Images'
|
||||
BaseListWithDnD.__init__(self, parent)
|
||||
|
||||
|
||||
class ImageMediaItem(MediaManagerItem):
|
||||
"""
|
||||
This is the custom media manager item for images.
|
||||
@ -51,8 +52,8 @@ class ImageMediaItem(MediaManagerItem):
|
||||
|
||||
def __init__(self, parent, plugin, icon):
|
||||
self.IconPath = u'images/image'
|
||||
# this next is a class, not an instance of a class - it will
|
||||
# be instanced by the base MediaManagerItem
|
||||
# This next is a class, not an instance of a class - it will
|
||||
# be instanced by the base MediaManagerItem.
|
||||
self.ListViewWithDnD_class = ImageListView
|
||||
MediaManagerItem.__init__(self, parent, self, icon)
|
||||
|
||||
@ -112,7 +113,7 @@ class ImageMediaItem(MediaManagerItem):
|
||||
u':/system/system_close.png',
|
||||
translate('ImagePlugin.MediaItem', 'Reset Live Background'),
|
||||
self.onResetClick, False)
|
||||
# Add the song widget to the page layout
|
||||
# Add the song widget to the page layout.
|
||||
self.pageLayout.addWidget(self.ImageWidget)
|
||||
self.resetButton.setVisible(False)
|
||||
|
||||
@ -164,21 +165,40 @@ class ImageMediaItem(MediaManagerItem):
|
||||
service_item.add_capability(ItemCapabilities.AllowsAdditions)
|
||||
# force a nonexistent theme
|
||||
service_item.theme = -1
|
||||
missing_items = []
|
||||
missing_items_filenames = []
|
||||
for item in items:
|
||||
bitem = self.listView.item(item.row())
|
||||
filename = unicode(bitem.data(QtCore.Qt.UserRole).toString())
|
||||
if os.path.exists(filename):
|
||||
(path, name) = os.path.split(filename)
|
||||
service_item.add_from_image(filename, name)
|
||||
return True
|
||||
else:
|
||||
# File is no longer present
|
||||
QtGui.QMessageBox.critical(
|
||||
self, translate('ImagePlugin.MediaItem',
|
||||
'Missing Image'),
|
||||
unicode(translate('ImagePlugin.MediaItem',
|
||||
'The Image %s no longer exists.')) % filename)
|
||||
return False
|
||||
if not os.path.exists(filename):
|
||||
missing_items.append(item)
|
||||
missing_items_filenames.append(filename)
|
||||
for item in missing_items:
|
||||
items.remove(item)
|
||||
# We cannot continue, as all images do not exist.
|
||||
if not items:
|
||||
QtGui.QMessageBox.critical(self,
|
||||
translate('ImagePlugin.MediaItem', 'Missing Image(s)'),
|
||||
unicode(translate('ImagePlugin.MediaItem',
|
||||
'The following image(s) no longer exist: %s')) %
|
||||
u'\n'.join(missing_items_filenames))
|
||||
return False
|
||||
# We have missing as well as existing images. We ask what to do.
|
||||
elif missing_items and QtGui.QMessageBox.question(self,
|
||||
translate('ImagePlugin.MediaItem', 'Missing Image(s)'),
|
||||
unicode(translate('ImagePlugin.MediaItem', 'The following '
|
||||
'image(s) no longer exist: %s\nDo you want to add the other '
|
||||
'images anyway?')) % u'\n'.join(missing_items_filenames),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
|
||||
QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.No:
|
||||
return False
|
||||
# Continue with the existing images.
|
||||
for item in items:
|
||||
bitem = self.listView.item(item.row())
|
||||
filename = unicode(bitem.data(QtCore.Qt.UserRole).toString())
|
||||
(path, name) = os.path.split(filename)
|
||||
service_item.add_from_image(filename, name)
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
@ -190,12 +210,18 @@ class ImageMediaItem(MediaManagerItem):
|
||||
if check_item_selected(self.listView,
|
||||
translate('ImagePlugin.MediaItem',
|
||||
'You must select an image to replace the background with.')):
|
||||
items = self.listView.selectedIndexes()
|
||||
for item in items:
|
||||
bitem = self.listView.item(item.row())
|
||||
filename = unicode(bitem.data(QtCore.Qt.UserRole).toString())
|
||||
item = self.listView.selectedIndexes()[0]
|
||||
bitem = self.listView.item(item.row())
|
||||
filename = unicode(bitem.data(QtCore.Qt.UserRole).toString())
|
||||
if os.path.exists(filename):
|
||||
(path, name) = os.path.split(filename)
|
||||
self.parent.liveController.display.directImage(name, filename)
|
||||
else:
|
||||
QtGui.QMessageBox.critical(self,
|
||||
translate('ImagePlugin.MediaItem', 'Live Background Could '
|
||||
'Not Be Replaced'),
|
||||
unicode(translate('ImagePlugin.MediaItem',
|
||||
'The image %s no longer exists.')) % filename)
|
||||
self.resetButton.setVisible(True)
|
||||
|
||||
def onPreviewClick(self):
|
||||
|
Loading…
Reference in New Issue
Block a user