From 2e6613edf493ce5bcf155646ab49af11f2b80917 Mon Sep 17 00:00:00 2001 From: M2j Date: Sun, 2 Jan 2011 23:24:14 +0100 Subject: [PATCH] simplified all setupUi() in openlp.core.ui and the setting tabs of the plugins --- openlp/core/ui/advancedtab.py | 8 +- openlp/core/ui/generaltab.py | 6 +- openlp/core/ui/serviceitemeditdialog.py | 51 ++---- openlp/core/ui/servicemanager.py | 9 +- openlp/core/ui/servicenotedialog.py | 19 +-- openlp/core/ui/settingsdialog.py | 26 ++- openlp/core/ui/shortcutlistdialog.py | 111 +++++------- openlp/core/ui/shortcutlistform.py | 17 +- openlp/core/ui/slidecontroller.py | 1 - openlp/core/ui/splashscreen.py | 34 +--- openlp/core/ui/themeform.py | 4 +- openlp/core/ui/thememanager.py | 17 +- openlp/core/ui/themestab.py | 39 ++--- openlp/plugins/alerts/lib/alertstab.py | 159 ++++++------------ openlp/plugins/bibles/lib/biblestab.py | 123 ++++++-------- openlp/plugins/bibles/lib/http.py | 2 +- openlp/plugins/custom/lib/customtab.py | 45 +++-- openlp/plugins/media/lib/mediatab.py | 47 ++++-- .../presentations/lib/presentationtab.py | 85 +++++----- openlp/plugins/remotes/lib/remotetab.py | 61 +++++-- openlp/plugins/songs/lib/songstab.py | 41 ++++- 21 files changed, 434 insertions(+), 471 deletions(-) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index da68956cb..3ca7024e4 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -47,11 +47,11 @@ class AdvancedTab(SettingsTab): """ self.setObjectName(u'AdvancedTab') self.advancedTabLayout = QtGui.QHBoxLayout(self) - self.advancedTabLayout.setSpacing(0) self.advancedTabLayout.setObjectName(u'advancedTabLayout') self.leftWidget = QtGui.QWidget(self) self.leftWidget.setObjectName(u'leftWidget') self.leftLayout = QtGui.QVBoxLayout(self.leftWidget) + self.leftLayout.setMargin(0) self.leftLayout.setObjectName(u'leftLayout') self.uiGroupBox = QtGui.QGroupBox(self.leftWidget) self.uiGroupBox.setObjectName(u'uiGroupBox') @@ -97,6 +97,7 @@ class AdvancedTab(SettingsTab): self.rightWidget = QtGui.QWidget(self) self.rightWidget.setObjectName(u'rightWidget') self.rightLayout = QtGui.QVBoxLayout(self.rightWidget) + self.rightLayout.setMargin(0) self.rightLayout.setObjectName(u'rightLayout') # self.databaseGroupBox = QtGui.QGroupBox(self.rightWidget) # self.databaseGroupBox.setObjectName(u'databaseGroupBox') @@ -137,8 +138,9 @@ class AdvancedTab(SettingsTab): """ if event: SettingsTab.resizeEvent(self, event) - width = self.width() - self.advancedTabLayout.contentsMargins().left() \ - - self.advancedTabLayout.contentsMargins().right() + width = self.width() - self.advancedTabLayout.spacing() - \ + self.advancedTabLayout.contentsMargins().left() - \ + self.advancedTabLayout.contentsMargins().right() left_width = min(width - self.rightWidget.minimumSizeHint().width(), width / 2) left_width = max(left_width, self.leftWidget.minimumSizeHint().width()) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index dfb876597..be3463e06 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -86,11 +86,11 @@ class GeneralTab(SettingsTab): """ self.setObjectName(u'GeneralTab') self.generalLayout = QtGui.QHBoxLayout(self) - self.generalLayout.setSpacing(0) self.generalLayout.setObjectName(u'generalLayout') self.leftWidget = QtGui.QWidget(self) self.leftWidget.setObjectName(u'leftWidget') self.leftLayout = QtGui.QVBoxLayout(self.leftWidget) + self.leftLayout.setMargin(0) self.leftLayout.setObjectName(u'leftLayout') self.monitorGroupBox = QtGui.QGroupBox(self.leftWidget) self.monitorGroupBox.setObjectName(u'monitorGroupBox') @@ -142,6 +142,7 @@ class GeneralTab(SettingsTab): self.rightWidget = QtGui.QWidget(self) self.rightWidget.setObjectName(u'rightWidget') self.rightLayout = QtGui.QVBoxLayout(self.rightWidget) + self.rightLayout.setMargin(0) self.rightLayout.setObjectName(u'rightLayout') self.ccliGroupBox = QtGui.QGroupBox(self.rightWidget) self.ccliGroupBox.setObjectName(u'ccliGroupBox') @@ -305,7 +306,8 @@ class GeneralTab(SettingsTab): """ if event: SettingsTab.resizeEvent(self, event) - width = self.width() - self.generalLayout.contentsMargins().left() - \ + width = self.width() - self.generalLayout.spacing() - \ + self.generalLayout.contentsMargins().left() - \ self.generalLayout.contentsMargins().right() left_width = min(width - self.rightWidget.minimumSizeHint().width(), width / 2) diff --git a/openlp/core/ui/serviceitemeditdialog.py b/openlp/core/ui/serviceitemeditdialog.py index 19639a7c2..3e1079ded 100644 --- a/openlp/core/ui/serviceitemeditdialog.py +++ b/openlp/core/ui/serviceitemeditdialog.py @@ -26,54 +26,37 @@ from PyQt4 import QtCore, QtGui -from openlp.core.lib import translate +from openlp.core.lib import translate, build_icon class Ui_ServiceItemEditDialog(object): def setupUi(self, serviceItemEditDialog): serviceItemEditDialog.setObjectName(u'serviceItemEditDialog') - serviceItemEditDialog.resize(386, 272) - self.layoutWidget = QtGui.QWidget(serviceItemEditDialog) - self.layoutWidget.setGeometry(QtCore.QRect(20, 20, 351, 241)) - self.layoutWidget.setObjectName(u'layoutWidget') - self.outerLayout = QtGui.QVBoxLayout(self.layoutWidget) - self.outerLayout.setObjectName(u'outerLayout') - self.topLayout = QtGui.QHBoxLayout() - self.topLayout.setObjectName(u'topLayout') - self.listWidget = QtGui.QListWidget(self.layoutWidget) + self.dialogLayout = QtGui.QGridLayout(serviceItemEditDialog) + self.dialogLayout.setObjectName(u'dialogLayout') + self.listWidget = QtGui.QListWidget(serviceItemEditDialog) self.listWidget.setAlternatingRowColors(True) self.listWidget.setObjectName(u'listWidget') - self.topLayout.addWidget(self.listWidget) + self.dialogLayout.addWidget(self.listWidget, 0, 0) self.buttonLayout = QtGui.QVBoxLayout() self.buttonLayout.setObjectName(u'buttonLayout') - self.deleteButton = QtGui.QPushButton(self.layoutWidget) + self.deleteButton = QtGui.QPushButton(serviceItemEditDialog) self.deleteButton.setObjectName(u'deleteButton') self.buttonLayout.addWidget(self.deleteButton) - spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, - QtGui.QSizePolicy.Expanding) - self.buttonLayout.addItem(spacerItem) - self.upButton = QtGui.QPushButton(self.layoutWidget) - self.upButton.setText(u'') - icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(u':/services/service_up.png'), - QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.upButton.setIcon(icon) + self.buttonLayout.addStretch() + self.upButton = QtGui.QPushButton(serviceItemEditDialog) + self.upButton.setIcon(build_icon(u':/services/service_up.png')) self.upButton.setObjectName(u'upButton') self.buttonLayout.addWidget(self.upButton) - self.downButton = QtGui.QPushButton(self.layoutWidget) - self.downButton.setText(u'') - icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(u':/services/service_down.png'), - QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.downButton.setIcon(icon) + self.downButton = QtGui.QPushButton(serviceItemEditDialog) + self.downButton.setIcon(build_icon(u':/services/service_down.png')) self.downButton.setObjectName(u'downButton') self.buttonLayout.addWidget(self.downButton) - self.topLayout.addLayout(self.buttonLayout) - self.outerLayout.addLayout(self.topLayout) - self.buttonBox = QtGui.QDialogButtonBox(self.layoutWidget) - self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | - QtGui.QDialogButtonBox.Save) + self.dialogLayout.addLayout(self.buttonLayout, 0, 1) + self.buttonBox = QtGui.QDialogButtonBox(serviceItemEditDialog) + self.buttonBox.setStandardButtons( + QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Save) self.buttonBox.setObjectName(u'buttonBox') - self.outerLayout.addWidget(self.buttonBox) + self.dialogLayout.addWidget(self.buttonBox, 1, 0, 1, 2) self.retranslateUi(serviceItemEditDialog) QtCore.QMetaObject.connectSlotsByName(serviceItemEditDialog) @@ -82,4 +65,4 @@ class Ui_ServiceItemEditDialog(object): serviceItemEditDialog.setWindowTitle( translate('OpenLP.ServiceItemEditForm', 'Reorder Service Item')) self.deleteButton.setText(translate('OpenLP.ServiceItemEditForm', - 'Delete')) \ No newline at end of file + 'Delete')) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 9d7bada14..c81b44f69 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -118,7 +118,6 @@ class ServiceManager(QtGui.QWidget): self.layout = QtGui.QVBoxLayout(self) self.layout.setSpacing(0) self.layout.setMargin(0) - self.expandTabs = False # Create the top toolbar self.toolbar = OpenLPToolbar(self) self.toolbar.addToolbarButton( @@ -140,13 +139,16 @@ class ServiceManager(QtGui.QWidget): self.themeLabel = QtGui.QLabel(translate('OpenLP.ServiceManager', 'Theme:'), self) self.themeLabel.setMargin(3) + self.themeLabel.setObjectName(u'themeLabel') self.toolbar.addToolbarWidget(u'ThemeLabel', self.themeLabel) self.themeComboBox = QtGui.QComboBox(self.toolbar) self.themeComboBox.setToolTip(translate('OpenLP.ServiceManager', 'Select a theme for the service')) - self.themeComboBox.setSizeAdjustPolicy( - QtGui.QComboBox.AdjustToContents) + self.themeComboBox.setSizePolicy(QtGui.QSizePolicy.Expanding, + QtGui.QSizePolicy.Fixed) + self.themeComboBox.setObjectName(u'themeComboBox') self.toolbar.addToolbarWidget(u'ThemeWidget', self.themeComboBox) + self.toolbar.setObjectName(u'toolbar') self.layout.addWidget(self.toolbar) # Create the service manager list self.serviceManagerList = ServiceManagerList(self) @@ -216,6 +218,7 @@ class ServiceManager(QtGui.QWidget): translate('OpenLP.ServiceManager', 'Collapse all the service items.'), self.onCollapseAll) + self.orderToolbar.setObjectName(u'orderToolbar') self.layout.addWidget(self.orderToolbar) # Connect up our signals and slots QtCore.QObject.connect(self.themeComboBox, diff --git a/openlp/core/ui/servicenotedialog.py b/openlp/core/ui/servicenotedialog.py index eb3aba9d4..9a45dae7c 100644 --- a/openlp/core/ui/servicenotedialog.py +++ b/openlp/core/ui/servicenotedialog.py @@ -30,24 +30,19 @@ from openlp.core.lib import translate class Ui_ServiceNoteEdit(object): def setupUi(self, serviceNoteEdit): serviceNoteEdit.setObjectName(u'serviceNoteEdit') - serviceNoteEdit.resize(400, 243) - self.widget = QtGui.QWidget(serviceNoteEdit) - self.widget.setGeometry(QtCore.QRect(20, 10, 361, 223)) - self.widget.setObjectName(u'widget') - self.verticalLayout = QtGui.QVBoxLayout(self.widget) - self.verticalLayout.setObjectName(u'verticalLayout') - self.textEdit = QtGui.QTextEdit(self.widget) + self.dialogLayout = QtGui.QVBoxLayout(serviceNoteEdit) + self.dialogLayout.setObjectName(u'verticalLayout') + self.textEdit = QtGui.QTextEdit(serviceNoteEdit) self.textEdit.setObjectName(u'textEdit') - self.verticalLayout.addWidget(self.textEdit) - self.buttonBox = QtGui.QDialogButtonBox(self.widget) + self.dialogLayout.addWidget(self.textEdit) + self.buttonBox = QtGui.QDialogButtonBox(serviceNoteEdit) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Save) self.buttonBox.setObjectName(u'buttonBox') - self.verticalLayout.addWidget(self.buttonBox) - + self.dialogLayout.addWidget(self.buttonBox) self.retranslateUi(serviceNoteEdit) QtCore.QMetaObject.connectSlotsByName(serviceNoteEdit) def retranslateUi(self, serviceNoteEdit): serviceNoteEdit.setWindowTitle( - translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) \ No newline at end of file + translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) diff --git a/openlp/core/ui/settingsdialog.py b/openlp/core/ui/settingsdialog.py index d4bc8e110..29518f078 100644 --- a/openlp/core/ui/settingsdialog.py +++ b/openlp/core/ui/settingsdialog.py @@ -31,32 +31,28 @@ from openlp.core.lib import translate, build_icon class Ui_SettingsDialog(object): def setupUi(self, settingsDialog): settingsDialog.setObjectName(u'settingsDialog') - settingsDialog.resize(724, 502) + settingsDialog.resize(700, 300) settingsDialog.setWindowIcon( build_icon(u':/system/system_settings.png')) self.settingsLayout = QtGui.QVBoxLayout(settingsDialog) - self.settingsLayout.setSpacing(8) - self.settingsLayout.setMargin(8) + margins = self.settingsLayout.contentsMargins() + self.settingsLayout.setContentsMargins(0, margins.top(), 0, 0) self.settingsLayout.setObjectName(u'settingsLayout') self.settingsTabWidget = QtGui.QTabWidget(settingsDialog) + self.settingsTabWidget.setDocumentMode(True) self.settingsTabWidget.setObjectName(u'settingsTabWidget') self.settingsLayout.addWidget(self.settingsTabWidget) + self.buttonBoxLayout = QtGui.QGridLayout() + self.buttonBoxLayout.setContentsMargins(margins.left(), 0, + margins.right(), margins.bottom()) + self.buttonBoxLayout.setObjectName(u'buttonBoxLayout') self.buttonBox = QtGui.QDialogButtonBox(settingsDialog) - sizePolicy = QtGui.QSizePolicy( - QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth( - self.buttonBox.sizePolicy().hasHeightForWidth()) - self.buttonBox.setSizePolicy(sizePolicy) - self.buttonBox.setMaximumSize(QtCore.QSize(16777215, 16777215)) - self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons( QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(u'buttonBox') - self.settingsLayout.addWidget(self.buttonBox) + self.buttonBoxLayout.addWidget(self.buttonBox) + self.settingsLayout.addLayout(self.buttonBoxLayout) self.retranslateUi(settingsDialog) - self.settingsTabWidget.setCurrentIndex(0) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), settingsDialog.accept) QtCore.QObject.connect(self.buttonBox, @@ -65,4 +61,4 @@ class Ui_SettingsDialog(object): def retranslateUi(self, settingsDialog): settingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', - 'Configure OpenLP')) \ No newline at end of file + 'Configure OpenLP')) diff --git a/openlp/core/ui/shortcutlistdialog.py b/openlp/core/ui/shortcutlistdialog.py index f66772d9b..32c50fe88 100644 --- a/openlp/core/ui/shortcutlistdialog.py +++ b/openlp/core/ui/shortcutlistdialog.py @@ -31,83 +31,58 @@ from openlp.core.lib import translate, build_icon class Ui_ShortcutListDialog(object): def setupUi(self, shortcutListDialog): shortcutListDialog.setObjectName(u'shortcutListDialog') - shortcutListDialog.resize(500, 438) - self.shortcutListLayout = QtGui.QVBoxLayout(shortcutListDialog) - self.shortcutListLayout.setSpacing(8) - self.shortcutListLayout.setMargin(8) - self.shortcutListLayout.setObjectName(u'shortcutListLayout') - self.shortcutListTreeWidget = QtGui.QTreeWidget(shortcutListDialog) - self.shortcutListTreeWidget.setAlternatingRowColors(True) - self.shortcutListTreeWidget.setObjectName(u'shortcutListTreeWidget') - self.shortcutListTreeWidget.setColumnCount(2) - self.shortcutListTreeWidget.setSelectionBehavior( - QtGui.QAbstractItemView.SelectRows) - self.shortcutListLayout.addWidget(self.shortcutListTreeWidget) - self.shortcutLayout = QtGui.QVBoxLayout() - self.shortcutLayout.setSpacing(8) - self.shortcutLayout.setContentsMargins(0, -1, -1, -1) - self.shortcutLayout.setObjectName(u'shortcutLayout') - self.defaultRadioButton = QtGui.QRadioButton(shortcutListDialog) - self.defaultRadioButton.setChecked(True) - self.defaultRadioButton.setObjectName(u'defaultRadioButton') - self.shortcutLayout.addWidget(self.defaultRadioButton) - self.customShortcutLayout = QtGui.QHBoxLayout() - self.customShortcutLayout.setSpacing(8) - self.customShortcutLayout.setObjectName(u'customShortcutLayout') - self.customRadioButton = QtGui.QRadioButton(shortcutListDialog) - self.customRadioButton.setObjectName(u'customRadioButton') - self.customShortcutLayout.addWidget(self.customRadioButton) - self.shortcutPushButton = QtGui.QPushButton(shortcutListDialog) - self.shortcutPushButton.setMinimumSize(QtCore.QSize(84, 0)) - self.shortcutPushButton.setIcon( +# shortcutListDialog.resize(500, 438) + self.dialogLayout = QtGui.QVBoxLayout(shortcutListDialog) + self.dialogLayout.setObjectName(u'dialogLayout') + self.treeWidget = QtGui.QTreeWidget(shortcutListDialog) + self.treeWidget.setAlternatingRowColors(True) + self.treeWidget.setObjectName(u'treeWidget') + self.treeWidget.setColumnCount(2) + self.dialogLayout.addWidget(self.treeWidget) + self.defaultButton = QtGui.QRadioButton(shortcutListDialog) + self.defaultButton.setChecked(True) + self.defaultButton.setObjectName(u'defaultButton') + self.dialogLayout.addWidget(self.defaultButton) + self.customLayout = QtGui.QHBoxLayout() + self.customLayout.setObjectName(u'customLayout') + self.customButton = QtGui.QRadioButton(shortcutListDialog) + self.customButton.setObjectName(u'customButton') + self.customLayout.addWidget(self.customButton) + self.shortcutButton = QtGui.QPushButton(shortcutListDialog) + self.shortcutButton.setIcon( build_icon(u':/system/system_configure_shortcuts.png')) - self.shortcutPushButton.setCheckable(True) - self.shortcutPushButton.setChecked(False) - self.shortcutPushButton.setObjectName(u'shortcutPushButton') - self.customShortcutLayout.addWidget(self.shortcutPushButton) - self.clearShortcutToolButton = QtGui.QToolButton(shortcutListDialog) - self.clearShortcutToolButton.setMinimumSize(QtCore.QSize(0, 16)) - self.clearShortcutToolButton.setText(u'') - self.clearShortcutToolButton.setIcon( + self.shortcutButton.setCheckable(True) + self.shortcutButton.setObjectName(u'shortcutButton') + self.customLayout.addWidget(self.shortcutButton) + self.clearShortcutButton = QtGui.QToolButton(shortcutListDialog) + self.clearShortcutButton.setIcon( build_icon(u':/system/clear_shortcut.png')) - self.clearShortcutToolButton.setObjectName(u'clearShortcutToolButton') - self.customShortcutLayout.addWidget(self.clearShortcutToolButton) - self.customShortcutSpacer = QtGui.QSpacerItem(40, 20, - QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.customShortcutLayout.addItem(self.customShortcutSpacer) - self.shortcutLayout.addLayout(self.customShortcutLayout) - self.shortcutListLayout.addLayout(self.shortcutLayout) - self.shortcutListButtonBox = QtGui.QDialogButtonBox(shortcutListDialog) - self.shortcutListButtonBox.setOrientation(QtCore.Qt.Horizontal) - self.shortcutListButtonBox.setStandardButtons( - QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok | - QtGui.QDialogButtonBox.Reset) - self.shortcutListButtonBox.setObjectName(u'shortcutListButtonBox') - self.shortcutListLayout.addWidget(self.shortcutListButtonBox) - + self.clearShortcutButton.setAutoRaise(True) + self.clearShortcutButton.setObjectName(u'clearShortcutButton') + self.customLayout.addWidget(self.clearShortcutButton) + self.customLayout.addStretch() + self.dialogLayout.addLayout(self.customLayout) + self.buttonBox = QtGui.QDialogButtonBox(shortcutListDialog) + self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | + QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Reset) + self.buttonBox.setObjectName(u'buttonBox') + self.dialogLayout.addWidget(self.buttonBox) self.retranslateUi(shortcutListDialog) - QtCore.QObject.connect( - self.shortcutListButtonBox, - QtCore.SIGNAL(u'accepted()'), - shortcutListDialog.accept - ) - QtCore.QObject.connect( - self.shortcutListButtonBox, - QtCore.SIGNAL(u'rejected()'), - shortcutListDialog.reject - ) + QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), + shortcutListDialog.accept) + QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), + shortcutListDialog.reject) QtCore.QMetaObject.connectSlotsByName(shortcutListDialog) def retranslateUi(self, shortcutListDialog): shortcutListDialog.setWindowTitle( translate('OpenLP.ShortcutListDialog', 'Customize Shortcuts')) - self.shortcutListTreeWidget.setHeaderLabels([ + self.treeWidget.setHeaderLabels([ translate('OpenLP.ShortcutListDialog', 'Action'), - translate('OpenLP.ShortcutListDialog', 'Shortcut') - ]) - self.defaultRadioButton.setText( + translate('OpenLP.ShortcutListDialog', 'Shortcut')]) + self.defaultButton.setText( translate('OpenLP.ShortcutListDialog', 'Default: %s')) - self.customRadioButton.setText( + self.customButton.setText( translate('OpenLP.ShortcutListDialog', 'Custom:')) - self.shortcutPushButton.setText( + self.shortcutButton.setText( translate('OpenLP.ShortcutListDialog', 'None')) diff --git a/openlp/core/ui/shortcutlistform.py b/openlp/core/ui/shortcutlistform.py index 053f2347f..9d2b31853 100644 --- a/openlp/core/ui/shortcutlistform.py +++ b/openlp/core/ui/shortcutlistform.py @@ -49,11 +49,8 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): self.setupUi(self) self.actionList = None self.captureShortcut = False - QtCore.QObject.connect( - self.shortcutPushButton, - QtCore.SIGNAL(u'toggled(bool)'), - self.onShortcutPushButtonClicked - ) + QtCore.QObject.connect(self.shortcutButton, + QtCore.SIGNAL(u'toggled(bool)'), self.onShortcutButtonClicked) def keyReleaseEvent(self, event): Qt = QtCore.Qt @@ -83,8 +80,8 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): QtGui.QMessageBox.Ok ) else: - self.shortcutPushButton.setText(key_sequence.toString()) - self.shortcutPushButton.setChecked(False) + self.shortcutButton.setText(key_sequence.toString()) + self.shortcutButton.setChecked(False) self.captureShortcut = False def exec_(self, actionList): @@ -93,7 +90,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): return QtGui.QDialog.exec_(self) def refreshActions(self): - self.shortcutListTreeWidget.clear() + self.treeWidget.clear() for category in self.actionList.categories: item = QtGui.QTreeWidgetItem([category.name]) for action in category.actions: @@ -103,7 +100,7 @@ class ShortcutListForm(QtGui.QDialog, Ui_ShortcutListDialog): actionItem.setIcon(0, action.icon()) item.addChild(actionItem) item.setExpanded(True) - self.shortcutListTreeWidget.addTopLevelItem(item) + self.treeWidget.addTopLevelItem(item) - def onShortcutPushButtonClicked(self, toggled): + def onShortcutButtonClicked(self, toggled): self.captureShortcut = toggled diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 6a5e313f0..760bb002f 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -128,7 +128,6 @@ class SlideController(QtGui.QWidget): # Splitter self.Splitter = QtGui.QSplitter(self.Panel) self.Splitter.setOrientation(QtCore.Qt.Vertical) - self.Splitter.setOpaqueResize(False) self.PanelLayout.addWidget(self.Splitter) # Actual controller section self.Controller = QtGui.QWidget(self.Splitter) diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index 53546a6dd..8c2364ec2 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -26,33 +26,17 @@ from PyQt4 import QtCore, QtGui -class SplashScreen(object): +class SplashScreen(QtGui.QSplashScreen): def __init__(self): - self.splash_screen = QtGui.QSplashScreen() + QtGui.QSplashScreen.__init__(self) self.setupUi() def setupUi(self): - self.splash_screen.setObjectName(u'splash_screen') - self.splash_screen.setWindowModality(QtCore.Qt.NonModal) - self.splash_screen.setEnabled(True) - self.splash_screen.resize(370, 370) - sizePolicy = QtGui.QSizePolicy( - QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth( - self.splash_screen.sizePolicy().hasHeightForWidth()) - self.splash_screen.setSizePolicy(sizePolicy) - self.splash_screen.setContextMenuPolicy(QtCore.Qt.PreventContextMenu) + self.setObjectName(u'splash_screen') + self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint) + self.setContextMenuPolicy(QtCore.Qt.PreventContextMenu) splash_image = QtGui.QPixmap(u':/graphics/openlp-splash-screen.png') - self.splash_screen.setPixmap(splash_image) - self.splash_screen.setMask(splash_image.mask()) - self.splash_screen.setWindowFlags( - QtCore.Qt.SplashScreen | QtCore.Qt.WindowStaysOnTopHint) - QtCore.QMetaObject.connectSlotsByName(self.splash_screen) - - def show(self): - self.splash_screen.show() - - def finish(self, widget): - self.splash_screen.finish(widget) \ No newline at end of file + self.setPixmap(splash_image) + self.setMask(splash_image.mask()) + self.resize(370, 370) + QtCore.QMetaObject.connectSlotsByName(self) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 5c9517b0e..310b34095 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -38,8 +38,8 @@ log = logging.getLogger(__name__) class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): """ - This is the Bible Import Wizard, which allows easy importing of Bibles - into OpenLP from other formats like OSIS, CSV and OpenSong. + This is the Theme Import Wizard, which allows easy creation and editing of + OpenLP themes. """ log.info(u'ThemeWizardForm loaded') diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 61216c161..0703402fd 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -49,12 +49,14 @@ class ThemeManager(QtGui.QWidget): QtGui.QWidget.__init__(self, parent) self.parent = parent self.settingsSection = u'themes' + self.themeForm = ThemeForm(self) + self.fileRenameForm = FileRenameForm(self) self.serviceComboBox = self.parent.ServiceManagerContents.themeComboBox + # start with the layout self.layout = QtGui.QVBoxLayout(self) self.layout.setSpacing(0) self.layout.setMargin(0) - self.themeForm = ThemeForm(self) - self.fileRenameForm = FileRenameForm(self) + self.layout.setObjectName(u'layout') self.toolbar = OpenLPToolbar(self) self.toolbar.addToolbarButton( translate('OpenLP.ThemeManager', 'New Theme'), @@ -82,13 +84,17 @@ class ThemeManager(QtGui.QWidget): u':/general/general_export.png', translate('OpenLP.ThemeManager', 'Export a theme.'), self.onExportTheme) - self.themeWidget = QtGui.QWidgetAction(self.toolbar) + self.toolbar.setObjectName(u'toolbar') self.layout.addWidget(self.toolbar) + self.themeWidget = QtGui.QWidgetAction(self.toolbar) + self.themeWidget.setObjectName(u'themeWidget') + # create theme manager list self.themeListWidget = QtGui.QListWidget(self) self.themeListWidget.setAlternatingRowColors(True) self.themeListWidget.setIconSize(QtCore.QSize(88, 50)) - self.layout.addWidget(self.themeListWidget) self.themeListWidget.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) + self.themeListWidget.setObjectName(u'themeListWidget') + self.layout.addWidget(self.themeListWidget) QtCore.QObject.connect(self.themeListWidget, QtCore.SIGNAL('customContextMenuRequested(QPoint)'), self.contextMenu) @@ -106,8 +112,7 @@ class ThemeManager(QtGui.QWidget): self.deleteAction = self.menu.addAction( translate('OpenLP.ThemeManager', '&Delete Theme')) self.deleteAction.setIcon(build_icon(u':/general/general_delete.png')) - self.sep1 = self.menu.addAction(u'') - self.sep1.setSeparator(True) + self.separator = self.menu.addSeparator() self.globalAction = self.menu.addAction( translate('OpenLP.ThemeManager', 'Set As &Global Default')) self.globalAction.setIcon(build_icon(u':/general/general_export.png')) diff --git a/openlp/core/ui/themestab.py b/openlp/core/ui/themestab.py index 21df94d9d..3c3a51f43 100644 --- a/openlp/core/ui/themestab.py +++ b/openlp/core/ui/themestab.py @@ -40,14 +40,10 @@ class ThemesTab(SettingsTab): self.setObjectName(u'ThemesTab') self.tabTitleVisible = translate('OpenLP.ThemesTab', 'Themes') self.ThemesTabLayout = QtGui.QHBoxLayout(self) - self.ThemesTabLayout.setSpacing(8) - self.ThemesTabLayout.setMargin(8) self.ThemesTabLayout.setObjectName(u'ThemesTabLayout') self.GlobalGroupBox = QtGui.QGroupBox(self) self.GlobalGroupBox.setObjectName(u'GlobalGroupBox') self.GlobalGroupBoxLayout = QtGui.QVBoxLayout(self.GlobalGroupBox) - self.GlobalGroupBoxLayout.setSpacing(8) - self.GlobalGroupBoxLayout.setMargin(8) self.GlobalGroupBoxLayout.setObjectName(u'GlobalGroupBoxLayout') self.DefaultComboBox = QtGui.QComboBox(self.GlobalGroupBox) self.DefaultComboBox.setObjectName(u'DefaultComboBox') @@ -60,39 +56,30 @@ class ThemesTab(SettingsTab): self.LevelGroupBox.setObjectName(u'LevelGroupBox') self.LevelLayout = QtGui.QFormLayout(self.LevelGroupBox) self.LevelLayout.setLabelAlignment( - QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) + QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.LevelLayout.setFormAlignment( - QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) - self.LevelLayout.setMargin(8) - self.LevelLayout.setSpacing(8) + QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.LevelLayout.setObjectName(u'LevelLayout') self.SongLevelRadioButton = QtGui.QRadioButton(self.LevelGroupBox) self.SongLevelRadioButton.setObjectName(u'SongLevelRadioButton') - self.LevelLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.SongLevelRadioButton) self.SongLevelLabel = QtGui.QLabel(self.LevelGroupBox) self.SongLevelLabel.setWordWrap(True) self.SongLevelLabel.setObjectName(u'SongLevelLabel') - self.LevelLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.SongLevelLabel) + self.LevelLayout.addRow(self.SongLevelRadioButton, self.SongLevelLabel) self.ServiceLevelRadioButton = QtGui.QRadioButton(self.LevelGroupBox) self.ServiceLevelRadioButton.setObjectName(u'ServiceLevelRadioButton') - self.LevelLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.ServiceLevelRadioButton) self.ServiceLevelLabel = QtGui.QLabel(self.LevelGroupBox) self.ServiceLevelLabel.setWordWrap(True) self.ServiceLevelLabel.setObjectName(u'ServiceLevelLabel') - self.LevelLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.LevelLayout.addRow(self.ServiceLevelRadioButton, self.ServiceLevelLabel) self.GlobalLevelRadioButton = QtGui.QRadioButton(self.LevelGroupBox) self.GlobalLevelRadioButton.setChecked(True) self.GlobalLevelRadioButton.setObjectName(u'GlobalLevelRadioButton') - self.LevelLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.GlobalLevelRadioButton) self.GlobalLevelLabel = QtGui.QLabel(self.LevelGroupBox) self.GlobalLevelLabel.setWordWrap(True) self.GlobalLevelLabel.setObjectName(u'GlobalLevelLabel') - self.LevelLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.LevelLayout.addRow(self.GlobalLevelRadioButton, self.GlobalLevelLabel) self.ThemesTabLayout.addWidget(self.LevelGroupBox) QtCore.QObject.connect(self.SongLevelRadioButton, @@ -130,6 +117,20 @@ class ThemesTab(SettingsTab): translate('OpenLP.ThemesTab', 'Use the global theme, overriding ' 'any themes associated with either the service or the songs.')) + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.ThemesTabLayout.spacing() - \ + self.ThemesTabLayout.contentsMargins().left() - \ + self.ThemesTabLayout.contentsMargins().right() + left_width = min(width - self.LevelGroupBox.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.GlobalGroupBox.minimumSizeHint().width()) + self.GlobalGroupBox.setMinimumWidth(left_width) + def load(self): settings = QtCore.QSettings() settings.beginGroup(self.settingsSection) @@ -212,4 +213,4 @@ class ThemesTab(SettingsTab): if not preview.isNull(): preview = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation) - self.DefaultListView.setPixmap(preview) \ No newline at end of file + self.DefaultListView.setPixmap(preview) diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 4186627d8..80a824e3c 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -40,138 +40,71 @@ class AlertsTab(SettingsTab): def setupUi(self): self.setObjectName(u'AlertsTab') self.AlertsLayout = QtGui.QHBoxLayout(self) - self.AlertsLayout.setSpacing(8) - self.AlertsLayout.setMargin(8) self.AlertsLayout.setObjectName(u'AlertsLayout') - self.AlertLeftColumn = QtGui.QWidget(self) - self.AlertLeftColumn.setObjectName(u'AlertLeftColumn') - self.SlideLeftLayout = QtGui.QVBoxLayout(self.AlertLeftColumn) - self.SlideLeftLayout.setSpacing(8) - self.SlideLeftLayout.setMargin(0) - self.SlideLeftLayout.setObjectName(u'SlideLeftLayout') - self.FontGroupBox = QtGui.QGroupBox(self.AlertLeftColumn) + self.LeftColumn = QtGui.QWidget(self) + self.LeftColumn.setObjectName(u'LeftColumn') + self.LeftLayout = QtGui.QVBoxLayout(self.LeftColumn) + self.LeftLayout.setMargin(0) + self.LeftLayout.setObjectName(u'LeftLayout') + self.FontGroupBox = QtGui.QGroupBox(self.LeftColumn) self.FontGroupBox.setObjectName(u'FontGroupBox') - self.FontLayout = QtGui.QVBoxLayout(self.FontGroupBox) - self.FontLayout.setSpacing(8) - self.FontLayout.setMargin(8) + self.FontLayout = QtGui.QFormLayout(self.FontGroupBox) self.FontLayout.setObjectName(u'FontLayout') self.FontLabel = QtGui.QLabel(self.FontGroupBox) self.FontLabel.setObjectName(u'FontLabel') - self.FontLayout.addWidget(self.FontLabel) self.FontComboBox = QtGui.QFontComboBox(self.FontGroupBox) self.FontComboBox.setObjectName(u'FontComboBox') - self.FontLayout.addWidget(self.FontComboBox) - self.ColorWidget = QtGui.QWidget(self.FontGroupBox) - self.ColorWidget.setObjectName(u'ColorWidget') - self.ColorLayout = QtGui.QHBoxLayout(self.ColorWidget) - self.ColorLayout.setSpacing(8) - self.ColorLayout.setMargin(0) - self.ColorLayout.setObjectName(u'ColorLayout') - self.FontColorLabel = QtGui.QLabel(self.ColorWidget) + self.FontLayout.addRow(self.FontLabel, self.FontComboBox) + self.FontColorLabel = QtGui.QLabel(self.FontGroupBox) self.FontColorLabel.setObjectName(u'FontColorLabel') - self.ColorLayout.addWidget(self.FontColorLabel) - self.FontColorButton = QtGui.QPushButton(self.ColorWidget) + self.ColorLayout = QtGui.QHBoxLayout() + self.ColorLayout.setObjectName(u'ColorLayout') + self.FontColorButton = QtGui.QPushButton(self.FontGroupBox) self.FontColorButton.setObjectName(u'FontColorButton') self.ColorLayout.addWidget(self.FontColorButton) - self.ColorSpacerItem = QtGui.QSpacerItem(40, 20, - QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.ColorLayout.addItem(self.ColorSpacerItem) - self.BackgroundColorLabel = QtGui.QLabel(self.ColorWidget) + self.ColorLayout.addSpacing(20) + self.BackgroundColorLabel = QtGui.QLabel(self.FontGroupBox) self.BackgroundColorLabel.setObjectName(u'BackgroundColorLabel') self.ColorLayout.addWidget(self.BackgroundColorLabel) - self.BackgroundColorButton = QtGui.QPushButton(self.ColorWidget) + self.BackgroundColorButton = QtGui.QPushButton(self.FontGroupBox) self.BackgroundColorButton.setObjectName(u'BackgroundColorButton') self.ColorLayout.addWidget(self.BackgroundColorButton) - self.FontLayout.addWidget(self.ColorWidget) - self.FontSizeWidget = QtGui.QWidget(self.FontGroupBox) - self.FontSizeWidget.setObjectName(u'FontSizeWidget') - self.FontSizeLayout = QtGui.QHBoxLayout(self.FontSizeWidget) - self.FontSizeLayout.setSpacing(8) - self.FontSizeLayout.setMargin(0) - self.FontSizeLayout.setObjectName(u'FontSizeLayout') - self.FontSizeLabel = QtGui.QLabel(self.FontSizeWidget) + self.FontLayout.addRow(self.FontColorLabel, self.ColorLayout) + self.FontSizeLabel = QtGui.QLabel(self.FontGroupBox) self.FontSizeLabel.setObjectName(u'FontSizeLabel') - self.FontSizeLayout.addWidget(self.FontSizeLabel) - self.FontSizeSpinBox = QtGui.QSpinBox(self.FontSizeWidget) + self.FontSizeSpinBox = QtGui.QSpinBox(self.FontGroupBox) self.FontSizeSpinBox.setObjectName(u'FontSizeSpinBox') - self.FontSizeLayout.addWidget(self.FontSizeSpinBox) - self.FontSizeSpacer = QtGui.QSpacerItem(147, 20, - QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.FontSizeLayout.addItem(self.FontSizeSpacer) - self.FontLayout.addWidget(self.FontSizeWidget) - self.TimeoutWidget = QtGui.QWidget(self.FontGroupBox) - self.TimeoutWidget.setObjectName(u'TimeoutWidget') - self.TimeoutLayout = QtGui.QHBoxLayout(self.TimeoutWidget) - self.TimeoutLayout.setSpacing(8) - self.TimeoutLayout.setMargin(0) - self.TimeoutLayout.setObjectName(u'TimeoutLayout') - self.TimeoutLabel = QtGui.QLabel(self.TimeoutWidget) + self.FontLayout.addRow(self.FontSizeLabel, self.FontSizeSpinBox) + self.TimeoutLabel = QtGui.QLabel(self.FontGroupBox) self.TimeoutLabel.setObjectName(u'TimeoutLabel') - self.TimeoutLayout.addWidget(self.TimeoutLabel) - self.TimeoutSpinBox = QtGui.QSpinBox(self.TimeoutWidget) + self.TimeoutSpinBox = QtGui.QSpinBox(self.FontGroupBox) self.TimeoutSpinBox.setMaximum(180) self.TimeoutSpinBox.setObjectName(u'TimeoutSpinBox') - self.TimeoutLayout.addWidget(self.TimeoutSpinBox) - self.TimeoutSpacer = QtGui.QSpacerItem(147, 20, - QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.TimeoutLayout.addItem(self.TimeoutSpacer) - self.FontLayout.addWidget(self.TimeoutWidget) - self.LocationWidget = QtGui.QWidget(self.FontGroupBox) - self.LocationWidget.setObjectName(u'LocationWidget') - self.LocationLayout = QtGui.QHBoxLayout(self.LocationWidget) - self.LocationLayout.setSpacing(8) - self.LocationLayout.setMargin(0) - self.LocationLayout.setObjectName(u'LocationLayout') - self.LocationLabel = QtGui.QLabel(self.LocationWidget) + self.FontLayout.addRow(self.TimeoutLabel, self.TimeoutSpinBox) + self.LocationLabel = QtGui.QLabel(self.FontGroupBox) self.LocationLabel.setObjectName(u'LocationLabel') - self.LocationLayout.addWidget(self.LocationLabel) - self.LocationComboBox = QtGui.QComboBox(self.LocationWidget) - self.LocationComboBox.addItem(QtCore.QString()) - self.LocationComboBox.addItem(QtCore.QString()) - self.LocationComboBox.addItem(QtCore.QString()) + self.LocationComboBox = QtGui.QComboBox(self.FontGroupBox) + self.LocationComboBox.addItems([u'', u'', u'']) self.LocationComboBox.setObjectName(u'LocationComboBox') - self.LocationLayout.addWidget(self.LocationComboBox) - self.LocationSpacer = QtGui.QSpacerItem(147, 20, - QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.LocationLayout.addItem(self.LocationSpacer) - self.FontLayout.addWidget(self.LocationWidget) - self.SlideLeftLayout.addWidget(self.FontGroupBox) - self.SlideLeftSpacer = QtGui.QSpacerItem(20, 94, - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.SlideLeftLayout.addItem(self.SlideLeftSpacer) - self.AlertsLayout.addWidget(self.AlertLeftColumn) - self.AlertRightColumn = QtGui.QWidget(self) - self.AlertRightColumn.setObjectName(u'AlertRightColumn') - self.SlideRightLayout = QtGui.QVBoxLayout(self.AlertRightColumn) - self.SlideRightLayout.setSpacing(8) - self.SlideRightLayout.setMargin(0) - self.SlideRightLayout.setObjectName(u'SlideRightLayout') - self.PreviewGroupBox = QtGui.QGroupBox(self.AlertRightColumn) - sizePolicy = QtGui.QSizePolicy( - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth( - self.PreviewGroupBox.sizePolicy().hasHeightForWidth()) - self.PreviewGroupBox.setSizePolicy(sizePolicy) + self.FontLayout.addRow(self.LocationLabel, self.LocationComboBox) + self.LeftLayout.addWidget(self.FontGroupBox) + self.LeftLayout.addStretch() + self.AlertsLayout.addWidget(self.LeftColumn) + self.RightColumn = QtGui.QWidget(self) + self.RightColumn.setObjectName(u'RightColumn') + self.RightLayout = QtGui.QVBoxLayout(self.RightColumn) + self.RightLayout.setMargin(0) + self.RightLayout.setObjectName(u'RightLayout') + self.PreviewGroupBox = QtGui.QGroupBox(self.RightColumn) self.PreviewGroupBox.setObjectName(u'PreviewGroupBox') self.PreviewLayout = QtGui.QVBoxLayout(self.PreviewGroupBox) - self.PreviewLayout.setSpacing(8) - self.PreviewLayout.setMargin(8) self.PreviewLayout.setObjectName(u'PreviewLayout') self.FontPreview = QtGui.QLineEdit(self.PreviewGroupBox) - self.FontPreview.setFixedSize(QtCore.QSize(350, 100)) - self.FontPreview.setReadOnly(True) - self.FontPreview.setFocusPolicy(QtCore.Qt.NoFocus) - self.FontPreview.setAlignment( - QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter) self.FontPreview.setObjectName(u'FontPreview') self.PreviewLayout.addWidget(self.FontPreview) - self.SlideRightLayout.addWidget(self.PreviewGroupBox) - self.SlideRightSpacer = QtGui.QSpacerItem(20, 40, - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.SlideRightLayout.addItem(self.SlideRightSpacer) - self.AlertsLayout.addWidget(self.AlertRightColumn) + self.RightLayout.addWidget(self.PreviewGroupBox) + self.RightLayout.addStretch() + self.AlertsLayout.addWidget(self.RightColumn) # Signals and slots QtCore.QObject.connect(self.BackgroundColorButton, QtCore.SIGNAL(u'pressed()'), self.onBackgroundColorButtonClicked) @@ -216,6 +149,20 @@ class AlertsTab(SettingsTab): self.LocationComboBox.setItemText(2, translate('AlertsPlugin.AlertsTab', 'Bottom')) + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.AlertsLayout.spacing() - \ + self.AlertsLayout.contentsMargins().left() - \ + self.AlertsLayout.contentsMargins().right() + left_width = min(width - self.RightColumn.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.LeftColumn.minimumSizeHint().width()) + self.LeftColumn.setMinimumWidth(left_width) + def onBackgroundColorButtonClicked(self): new_color = QtGui.QColorDialog.getColor( QtGui.QColor(self.bg_color), self) @@ -294,4 +241,4 @@ class AlertsTab(SettingsTab): font.setPointSize(self.font_size) self.FontPreview.setFont(font) self.FontPreview.setStyleSheet(u'background-color: %s; color: %s' % - (self.bg_color, self.font_color)) \ No newline at end of file + (self.bg_color, self.font_color)) diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index c4815f2aa..adc451862 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -47,88 +47,57 @@ class BiblesTab(SettingsTab): def setupUi(self): self.setObjectName(u'BiblesTab') self.BibleLayout = QtGui.QHBoxLayout(self) - self.BibleLayout.setSpacing(8) - self.BibleLayout.setMargin(8) self.BibleLayout.setObjectName(u'BibleLayout') - self.BibleLeftWidget = QtGui.QWidget(self) - self.BibleLeftWidget.setObjectName(u'BibleLeftWidget') - self.BibleLeftLayout = QtGui.QVBoxLayout(self.BibleLeftWidget) - self.BibleLeftLayout.setObjectName(u'BibleLeftLayout') - self.BibleLeftLayout.setSpacing(8) - self.BibleLeftLayout.setMargin(0) - self.VerseDisplayGroupBox = QtGui.QGroupBox(self) + self.LeftWidget = QtGui.QWidget(self) + self.LeftWidget.setObjectName(u'LeftWidget') + self.LeftLayout = QtGui.QVBoxLayout(self.LeftWidget) + self.LeftLayout.setMargin(0) + self.LeftLayout.setObjectName(u'LeftLayout') + self.VerseDisplayGroupBox = QtGui.QGroupBox(self.LeftWidget) self.VerseDisplayGroupBox.setObjectName(u'VerseDisplayGroupBox') - self.VerseDisplayLayout = QtGui.QGridLayout(self.VerseDisplayGroupBox) - self.VerseDisplayLayout.setMargin(8) + self.VerseDisplayLayout = QtGui.QFormLayout(self.VerseDisplayGroupBox) self.VerseDisplayLayout.setObjectName(u'VerseDisplayLayout') self.NewChaptersCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox) self.NewChaptersCheckBox.setObjectName(u'NewChaptersCheckBox') - self.VerseDisplayLayout.addWidget(self.NewChaptersCheckBox, 0, 0, 1, 1) - self.DisplayStyleWidget = QtGui.QWidget(self.VerseDisplayGroupBox) - self.DisplayStyleWidget.setObjectName(u'DisplayStyleWidget') - self.DisplayStyleLayout = QtGui.QHBoxLayout(self.DisplayStyleWidget) - self.DisplayStyleLayout.setSpacing(8) - self.DisplayStyleLayout.setMargin(0) - self.DisplayStyleLayout.setObjectName(u'DisplayStyleLayout') - self.DisplayStyleLabel = QtGui.QLabel(self.DisplayStyleWidget) + self.VerseDisplayLayout.addRow(self.NewChaptersCheckBox) + self.DisplayStyleLabel = QtGui.QLabel(self.VerseDisplayGroupBox) self.DisplayStyleLabel.setObjectName(u'DisplayStyleLabel') - self.DisplayStyleLayout.addWidget(self.DisplayStyleLabel) - self.DisplayStyleComboBox = QtGui.QComboBox(self.DisplayStyleWidget) + self.DisplayStyleComboBox = QtGui.QComboBox(self.VerseDisplayGroupBox) + self.DisplayStyleComboBox.addItems([u'', u'', u'', u'']) self.DisplayStyleComboBox.setObjectName(u'DisplayStyleComboBox') - self.DisplayStyleComboBox.addItem(QtCore.QString()) - self.DisplayStyleComboBox.addItem(QtCore.QString()) - self.DisplayStyleComboBox.addItem(QtCore.QString()) - self.DisplayStyleComboBox.addItem(QtCore.QString()) - self.DisplayStyleLayout.addWidget(self.DisplayStyleComboBox) - self.VerseDisplayLayout.addWidget(self.DisplayStyleWidget, 1, 0, 1, 1) - self.LayoutStyleWidget = QtGui.QWidget(self.VerseDisplayGroupBox) - self.LayoutStyleWidget.setObjectName(u'LayoutStyleWidget') - self.LayoutStyleLayout = QtGui.QHBoxLayout(self.LayoutStyleWidget) - self.LayoutStyleLayout.setSpacing(8) - self.LayoutStyleLayout.setMargin(0) - self.LayoutStyleLayout.setObjectName(u'LayoutStyleLayout') - self.LayoutStyleLabel = QtGui.QLabel(self.LayoutStyleWidget) + self.VerseDisplayLayout.addRow(self.DisplayStyleLabel, + self.DisplayStyleComboBox) + self.LayoutStyleLabel = QtGui.QLabel(self.VerseDisplayGroupBox) self.LayoutStyleLabel.setObjectName(u'LayoutStyleLabel') - self.LayoutStyleLayout.addWidget(self.LayoutStyleLabel) - self.LayoutStyleComboBox = QtGui.QComboBox(self.LayoutStyleWidget) + self.LayoutStyleComboBox = QtGui.QComboBox(self.VerseDisplayGroupBox) self.LayoutStyleComboBox.setObjectName(u'LayoutStyleComboBox') - self.LayoutStyleComboBox.addItem(QtCore.QString()) - self.LayoutStyleComboBox.addItem(QtCore.QString()) - self.LayoutStyleComboBox.addItem(QtCore.QString()) - self.LayoutStyleLayout.addWidget(self.LayoutStyleComboBox) - self.VerseDisplayLayout.addWidget(self.LayoutStyleWidget, 2, 0, 1, 1) - self.BibleThemeWidget = QtGui.QWidget(self.VerseDisplayGroupBox) - self.BibleThemeWidget.setObjectName(u'BibleThemeWidget') - self.BibleThemeLayout = QtGui.QHBoxLayout(self.BibleThemeWidget) - self.BibleThemeLayout.setSpacing(8) - self.BibleThemeLayout.setMargin(0) - self.BibleThemeLayout.setObjectName(u'BibleThemeLayout') - self.BibleThemeLabel = QtGui.QLabel(self.BibleThemeWidget) - self.BibleThemeLabel.setObjectName(u'BibleThemeLabel') - self.BibleThemeLayout.addWidget(self.BibleThemeLabel) - self.BibleThemeComboBox = QtGui.QComboBox(self.BibleThemeWidget) - self.BibleThemeComboBox.setObjectName(u'BibleThemeComboBox') - self.BibleThemeComboBox.addItem(QtCore.QString()) - self.BibleThemeLayout.addWidget(self.BibleThemeComboBox) + self.LayoutStyleComboBox.addItems([u'', u'', u'']) + self.VerseDisplayLayout.addRow(self.LayoutStyleLabel, + self.LayoutStyleComboBox) self.BibleSecondCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox) self.BibleSecondCheckBox.setObjectName(u'BibleSecondCheckBox') - self.VerseDisplayLayout.addWidget(self.BibleSecondCheckBox, 3, 0, 1, 1) - self.VerseDisplayLayout.addWidget(self.BibleThemeWidget, 4, 0, 1, 1) + self.VerseDisplayLayout.addRow(self.BibleSecondCheckBox) + self.BibleThemeLabel = QtGui.QLabel(self.VerseDisplayGroupBox) + self.BibleThemeLabel.setObjectName(u'BibleThemeLabel') + self.BibleThemeComboBox = QtGui.QComboBox(self.VerseDisplayGroupBox) + self.BibleThemeComboBox.addItem(u'') + self.BibleThemeComboBox.setObjectName(u'BibleThemeComboBox') + self.VerseDisplayLayout.addRow(self.BibleThemeLabel, + self.BibleThemeComboBox) self.ChangeNoteLabel = QtGui.QLabel(self.VerseDisplayGroupBox) + self.ChangeNoteLabel.setWordWrap(True) self.ChangeNoteLabel.setObjectName(u'ChangeNoteLabel') - self.VerseDisplayLayout.addWidget(self.ChangeNoteLabel, 5, 0, 1, 1) - self.BibleLeftLayout.addWidget(self.VerseDisplayGroupBox) - self.BibleLeftSpacer = QtGui.QSpacerItem(40, 20, - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.BibleLeftLayout.addItem(self.BibleLeftSpacer) - self.BibleLayout.addWidget(self.BibleLeftWidget) - self.BibleRightWidget = QtGui.QWidget(self) - self.BibleRightWidget.setObjectName(u'BibleRightWidget') - self.BibleRightLayout = QtGui.QVBoxLayout(self.BibleRightWidget) - self.BibleRightLayout.setObjectName(u'BibleRightLayout') - self.BibleRightLayout.setSpacing(8) - self.BibleRightLayout.setMargin(0) - self.BibleLayout.addWidget(self.BibleRightWidget) + self.VerseDisplayLayout.addRow(self.ChangeNoteLabel) + self.LeftLayout.addWidget(self.VerseDisplayGroupBox) + self.LeftLayout.addStretch() + self.BibleLayout.addWidget(self.LeftWidget) + self.RightWidget = QtGui.QWidget(self) + self.RightWidget.setObjectName(u'RightWidget') + self.RightLayout = QtGui.QVBoxLayout(self.RightWidget) + self.RightLayout.setMargin(0) + self.RightLayout.setObjectName(u'RightLayout') + self.RightLayout.addStretch() + self.BibleLayout.addWidget(self.RightWidget) # Signals and slots QtCore.QObject.connect( self.NewChaptersCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), @@ -179,6 +148,20 @@ class BiblesTab(SettingsTab): self.BibleSecondCheckBox.setText( translate('BiblesPlugin.BiblesTab', 'Display second Bible verses')) + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.BibleLayout.spacing() - \ + self.BibleLayout.contentsMargins().left() - \ + self.BibleLayout.contentsMargins().right() + left_width = min(width - self.RightWidget.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.LeftWidget.minimumSizeHint().width()) + self.LeftWidget.setMinimumWidth(left_width) + def onBibleThemeComboBoxChanged(self): self.bible_theme = self.BibleThemeComboBox.currentText() @@ -251,4 +234,4 @@ class BiblesTab(SettingsTab): # Not Found. index = 0 self.bible_theme = u'' - self.BibleThemeComboBox.setCurrentIndex(index) \ No newline at end of file + self.BibleThemeComboBox.setCurrentIndex(index) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index a4f93f929..f728b9e5c 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -488,7 +488,7 @@ class HTTPBible(BibleDB): Receiver.send_message(u'openlp_error_message', { u'title': translate('BiblesPlugin', 'No Book Found'), u'message': translate('BiblesPlugin', 'No matching ' - 'book could be found in this Bible. Check that you' + 'book could be found in this Bible. Check that you ' 'have spelled the name of the book correctly.') }) return [] diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index 5063ee995..9fce7a007 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -37,21 +37,30 @@ class CustomTab(SettingsTab): def setupUi(self): self.setObjectName(u'CustomTab') - self.customLayout = QtGui.QFormLayout(self) - self.customLayout.setSpacing(8) - self.customLayout.setMargin(8) + self.customLayout = QtGui.QHBoxLayout(self) self.customLayout.setObjectName(u'customLayout') - self.customModeGroupBox = QtGui.QGroupBox(self) + self.leftWidget = QtGui.QWidget(self) + self.leftWidget.setObjectName(u'leftWidget') + self.leftLayout = QtGui.QVBoxLayout(self.leftWidget) + self.leftLayout.setMargin(0) + self.leftLayout.setObjectName(u'leftLayout') + self.customModeGroupBox = QtGui.QGroupBox(self.leftWidget) self.customModeGroupBox.setObjectName(u'customModeGroupBox') - self.customModeLayout = QtGui.QVBoxLayout(self.customModeGroupBox) - self.customModeLayout.setSpacing(8) - self.customModeLayout.setMargin(8) + self.customModeLayout = QtGui.QFormLayout(self.customModeGroupBox) self.customModeLayout.setObjectName(u'customModeLayout') self.displayFooterCheckBox = QtGui.QCheckBox(self.customModeGroupBox) self.displayFooterCheckBox.setObjectName(u'displayFooterCheckBox') - self.customModeLayout.addWidget(self.displayFooterCheckBox) - self.customLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.customModeGroupBox) + self.customModeLayout.addRow(self.displayFooterCheckBox) + self.leftLayout.addWidget(self.customModeGroupBox) + self.leftLayout.addStretch() + self.customLayout.addWidget(self.leftWidget) + self.rightWidget = QtGui.QWidget(self) + self.rightWidget.setObjectName(u'rightWidget') + self.rightLayout = QtGui.QVBoxLayout(self.rightWidget) + self.rightLayout.setMargin(0) + self.rightLayout.setObjectName(u'rightLayout') + self.rightLayout.addStretch() + self.customLayout.addWidget(self.rightWidget) QtCore.QObject.connect(self.displayFooterCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onDisplayFooterCheckBoxChanged) @@ -62,6 +71,20 @@ class CustomTab(SettingsTab): self.displayFooterCheckBox.setText( translate('CustomPlugin.CustomTab', 'Display footer')) + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.customLayout.spacing() - \ + self.customLayout.contentsMargins().left() - \ + self.customLayout.contentsMargins().right() + left_width = min(width - self.rightWidget.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.leftWidget.minimumSizeHint().width()) + self.leftWidget.setMinimumWidth(left_width) + def onDisplayFooterCheckBoxChanged(self, check_state): self.displayFooter = False # we have a set value convert to True/False @@ -76,4 +99,4 @@ class CustomTab(SettingsTab): def save(self): QtCore.QSettings().setValue(self.settingsSection + u'/display footer', - QtCore.QVariant(self.displayFooter)) \ No newline at end of file + QtCore.QVariant(self.displayFooter)) diff --git a/openlp/plugins/media/lib/mediatab.py b/openlp/plugins/media/lib/mediatab.py index 2fc372070..8b54afb89 100644 --- a/openlp/plugins/media/lib/mediatab.py +++ b/openlp/plugins/media/lib/mediatab.py @@ -37,32 +37,55 @@ class MediaTab(SettingsTab): def setupUi(self): self.setObjectName(u'MediaTab') - self.tabTitleVisible = translate('MediaPlugin.MediaTab', 'Media') - self.mediaLayout = QtGui.QFormLayout(self) - self.mediaLayout.setSpacing(8) - self.mediaLayout.setMargin(8) + self.mediaLayout = QtGui.QHBoxLayout(self) self.mediaLayout.setObjectName(u'mediaLayout') - self.mediaModeGroupBox = QtGui.QGroupBox(self) + self.leftWidget = QtGui.QWidget(self) + self.leftWidget.setObjectName(u'leftWidget') + self.leftLayout = QtGui.QVBoxLayout(self.leftWidget) + self.leftLayout.setMargin(0) + self.leftLayout.setObjectName(u'leftLayout') + self.mediaModeGroupBox = QtGui.QGroupBox(self.leftWidget) self.mediaModeGroupBox.setObjectName(u'mediaModeGroupBox') - self.mediaModeLayout = QtGui.QVBoxLayout(self.mediaModeGroupBox) - self.mediaModeLayout.setSpacing(8) - self.mediaModeLayout.setMargin(8) + self.mediaModeLayout = QtGui.QFormLayout(self.mediaModeGroupBox) self.mediaModeLayout.setObjectName(u'mediaModeLayout') self.usePhononCheckBox = QtGui.QCheckBox(self.mediaModeGroupBox) self.usePhononCheckBox.setObjectName(u'usePhononCheckBox') - self.mediaModeLayout.addWidget(self.usePhononCheckBox) - self.mediaLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.mediaModeGroupBox) + self.mediaModeLayout.addRow(self.usePhononCheckBox) + self.leftLayout.addWidget(self.mediaModeGroupBox) + self.leftLayout.addStretch() + self.mediaLayout.addWidget(self.leftWidget) + self.rightWidget = QtGui.QWidget(self) + self.rightWidget.setObjectName(u'rightWidget') + self.rightLayout = QtGui.QVBoxLayout(self.rightWidget) + self.rightLayout.setMargin(0) + self.rightLayout.setObjectName(u'rightLayout') + self.rightLayout.addStretch() + self.mediaLayout.addWidget(self.rightWidget) QtCore.QObject.connect(self.usePhononCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onUsePhononCheckBoxChanged) def retranslateUi(self): + self.tabTitleVisible = translate('MediaPlugin.MediaTab', 'Media') self.mediaModeGroupBox.setTitle(translate('MediaPlugin.MediaTab', 'Media Display')) self.usePhononCheckBox.setText( translate('MediaPlugin.MediaTab', 'Use Phonon for video playback')) + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.mediaLayout.spacing() - \ + self.mediaLayout.contentsMargins().left() - \ + self.mediaLayout.contentsMargins().right() + left_width = min(width - self.rightWidget.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.leftWidget.minimumSizeHint().width()) + self.leftWidget.setMinimumWidth(left_width) + def onUsePhononCheckBoxChanged(self, check_state): self.usePhonon = (check_state == QtCore.Qt.Checked) self.usePhononChanged = True @@ -79,4 +102,4 @@ class MediaTab(SettingsTab): if oldUsePhonon != self.usePhonon: QtCore.QSettings().setValue(self.settingsSection + u'/use phonon', QtCore.QVariant(self.usePhonon)) - Receiver.send_message(u'config_screen_changed') \ No newline at end of file + Receiver.send_message(u'config_screen_changed') diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py index cd4dd7901..066577006 100644 --- a/openlp/plugins/presentations/lib/presentationtab.py +++ b/openlp/plugins/presentations/lib/presentationtab.py @@ -45,69 +45,48 @@ class PresentationTab(SettingsTab): """ self.setObjectName(u'PresentationTab') self.PresentationLayout = QtGui.QHBoxLayout(self) - self.PresentationLayout.setSpacing(8) - self.PresentationLayout.setMargin(8) self.PresentationLayout.setObjectName(u'PresentationLayout') - self.PresentationLeftWidget = QtGui.QWidget(self) - self.PresentationLeftWidget.setObjectName(u'PresentationLeftWidget') - self.PresentationLeftLayout = QtGui.QVBoxLayout( - self.PresentationLeftWidget) - self.PresentationLeftLayout.setObjectName(u'PresentationLeftLayout') - self.PresentationLeftLayout.setSpacing(8) - self.PresentationLeftLayout.setMargin(0) - self.VerseDisplayGroupBox = QtGui.QGroupBox(self) - self.VerseDisplayGroupBox.setObjectName(u'VerseDisplayGroupBox') - self.VerseDisplayLayout = QtGui.QVBoxLayout(self.VerseDisplayGroupBox) - self.VerseDisplayLayout.setMargin(8) - self.VerseDisplayLayout.setObjectName(u'VerseDisplayLayout') + self.LeftWidget = QtGui.QWidget(self) + self.LeftWidget.setObjectName(u'LeftWidget') + self.LeftLayout = QtGui.QVBoxLayout(self.LeftWidget) + self.LeftLayout.setMargin(0) + self.LeftLayout.setObjectName(u'LeftLayout') + self.ControllersGroupBox = QtGui.QGroupBox(self.LeftWidget) + self.ControllersGroupBox.setObjectName(u'ControllersGroupBox') + self.ControllersLayout = QtGui.QVBoxLayout(self.ControllersGroupBox) + self.ControllersLayout.setObjectName(u'ControllersLayout') self.PresenterCheckboxes = {} for key in self.controllers: controller = self.controllers[key] - checkbox = QtGui.QCheckBox(self.VerseDisplayGroupBox) - checkbox.setTristate(False) + checkbox = QtGui.QCheckBox(self.ControllersGroupBox) checkbox.setEnabled(controller.available) checkbox.setObjectName(controller.name + u'CheckBox') self.PresenterCheckboxes[controller.name] = checkbox - self.VerseDisplayLayout.addWidget(checkbox) - self.PresentationThemeWidget = QtGui.QWidget(self.VerseDisplayGroupBox) - self.PresentationThemeWidget.setObjectName(u'PresentationThemeWidget') - self.PresentationThemeLayout = QtGui.QHBoxLayout( - self.PresentationThemeWidget) - self.PresentationThemeLayout.setSpacing(8) - self.PresentationThemeLayout.setMargin(0) - self.PresentationThemeLayout.setObjectName(u'PresentationThemeLayout') - self.AdvancedGroupBox = QtGui.QGroupBox(self) + self.ControllersLayout.addWidget(checkbox) + self.LeftLayout.addWidget(self.ControllersGroupBox) + self.AdvancedGroupBox = QtGui.QGroupBox(self.LeftWidget) self.AdvancedGroupBox.setObjectName(u'AdvancedGroupBox') self.AdvancedLayout = QtGui.QVBoxLayout(self.AdvancedGroupBox) - self.AdvancedLayout.setSpacing(8) - self.AdvancedLayout.setMargin(8) self.AdvancedLayout.setObjectName(u'AdvancedLayout') self.OverrideAppCheckBox = QtGui.QCheckBox(self.AdvancedGroupBox) self.OverrideAppCheckBox.setObjectName(u'OverrideAppCheckBox') self.AdvancedLayout.addWidget(self.OverrideAppCheckBox) - self.PresentationLeftLayout.addWidget(self.VerseDisplayGroupBox) - self.PresentationLeftLayout.addWidget(self.AdvancedGroupBox) - self.PresentationLeftSpacer = QtGui.QSpacerItem(40, 20, - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.PresentationLeftLayout.addItem(self.PresentationLeftSpacer) - self.PresentationLayout.addWidget(self.PresentationLeftWidget) - self.PresentationRightWidget = QtGui.QWidget(self) - self.PresentationRightWidget.setObjectName(u'PresentationRightWidget') - self.PresentationRightLayout = QtGui.QVBoxLayout( - self.PresentationRightWidget) - self.PresentationRightLayout.setObjectName(u'PresentationRightLayout') - self.PresentationRightLayout.setSpacing(8) - self.PresentationRightLayout.setMargin(0) - self.PresentationRightSpacer = QtGui.QSpacerItem(50, 20, - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.PresentationRightLayout.addItem(self.PresentationRightSpacer) - self.PresentationLayout.addWidget(self.PresentationRightWidget) + self.LeftLayout.addWidget(self.AdvancedGroupBox) + self.LeftLayout.addStretch() + self.PresentationLayout.addWidget(self.LeftWidget) + self.RightWidget = QtGui.QWidget(self) + self.RightWidget.setObjectName(u'RightWidget') + self.RightLayout = QtGui.QVBoxLayout(self.RightWidget) + self.RightLayout.setMargin(0) + self.RightLayout.setObjectName(u'RightLayout') + self.RightLayout.addStretch() + self.PresentationLayout.addWidget(self.RightWidget) def retranslateUi(self): """ Make any translation changes """ - self.VerseDisplayGroupBox.setTitle( + self.ControllersGroupBox.setTitle( translate('PresentationPlugin.PresentationTab', 'Available Controllers')) for key in self.controllers: @@ -121,6 +100,20 @@ class PresentationTab(SettingsTab): translate('PresentationPlugin.PresentationTab', 'Allow presentation application to be overriden')) + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.PresentationLayout.spacing() - \ + self.PresentationLayout.contentsMargins().left() - \ + self.PresentationLayout.contentsMargins().right() + left_width = min(width - self.RightWidget.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.LeftWidget.minimumSizeHint().width()) + self.LeftWidget.setMinimumWidth(left_width) + def load(self): """ Load the settings. @@ -160,4 +153,4 @@ class PresentationTab(SettingsTab): QtCore.QVariant(self.OverrideAppCheckBox.checkState())) changed = True if changed: - Receiver.send_message(u'mediaitem_presentation_rebuild') \ No newline at end of file + Receiver.send_message(u'mediaitem_presentation_rebuild') diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index e81cc99ae..4fc66e30e 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -37,34 +37,63 @@ class RemoteTab(SettingsTab): def setupUi(self): self.setObjectName(u'RemoteTab') - self.remoteLayout = QtGui.QFormLayout(self) - self.remoteLayout.setSpacing(8) - self.remoteLayout.setMargin(8) + self.remoteLayout = QtGui.QHBoxLayout(self) self.remoteLayout.setObjectName(u'remoteLayout') - self.serverSettingsGroupBox = QtGui.QGroupBox(self) + self.leftWidget = QtGui.QWidget(self) + self.leftWidget.setSizePolicy(QtGui.QSizePolicy.Fixed, + QtGui.QSizePolicy.Preferred) + self.leftWidget.setObjectName(u'leftWidget') + self.leftLayout = QtGui.QVBoxLayout(self.leftWidget) + self.leftLayout.setMargin(0) + self.leftLayout.setObjectName(u'leftLayout') + self.serverSettingsGroupBox = QtGui.QGroupBox(self.leftWidget) self.serverSettingsGroupBox.setObjectName(u'serverSettingsGroupBox') self.serverSettingsLayout = QtGui.QFormLayout( self.serverSettingsGroupBox) - self.serverSettingsLayout.setSpacing(8) - self.serverSettingsLayout.setMargin(8) self.serverSettingsLayout.setObjectName(u'serverSettingsLayout') + self.addressLabel = QtGui.QLabel(self.serverSettingsGroupBox) + self.addressLabel.setObjectName(u'addressLabel') self.addressEdit = QtGui.QLineEdit(self.serverSettingsGroupBox) self.addressEdit.setObjectName(u'addressEdit') - self.serverSettingsLayout.addRow( - translate('RemotePlugin.RemoteTab', 'Serve on IP address:'), - self.addressEdit) + self.serverSettingsLayout.addRow(self.addressLabel, self.addressEdit) + self.portLabel = QtGui.QLabel(self.serverSettingsGroupBox) + self.portLabel.setObjectName(u'portLabel') self.portSpinBox = QtGui.QSpinBox(self.serverSettingsGroupBox) - self.portSpinBox.setObjectName(u'portSpinBox') self.portSpinBox.setMaximum(32767) - self.serverSettingsLayout.addRow( - translate('RemotePlugin.RemoteTab', 'Port number:'), - self.portSpinBox) - self.remoteLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.serverSettingsGroupBox) + self.portSpinBox.setObjectName(u'portSpinBox') + self.serverSettingsLayout.addRow(self.portLabel, self.portSpinBox) + self.leftLayout.addWidget(self.serverSettingsGroupBox) + self.leftLayout.addStretch() + self.remoteLayout.addWidget(self.leftWidget) + self.rightWidget = QtGui.QWidget(self) + self.rightWidget.setObjectName(u'rightWidget') + self.rightLayout = QtGui.QVBoxLayout(self.rightWidget) + self.rightLayout.setMargin(0) + self.rightLayout.setObjectName(u'rightLayout') + self.rightLayout.addStretch() + self.remoteLayout.addWidget(self.rightWidget) def retranslateUi(self): self.serverSettingsGroupBox.setTitle( translate('RemotePlugin.RemoteTab', 'Server Settings')) + self.addressLabel.setText(translate('RemotePlugin.RemoteTab', + 'Serve on IP address:')) + self.portLabel.setText(translate('RemotePlugin.RemoteTab', + 'Port number:')) + + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.remoteLayout.spacing() - \ + self.remoteLayout.contentsMargins().left() - \ + self.remoteLayout.contentsMargins().right() + left_width = min(width - self.rightWidget.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.leftWidget.minimumSizeHint().width()) + self.leftWidget.setMinimumWidth(left_width) def load(self): self.portSpinBox.setValue( @@ -78,4 +107,4 @@ class RemoteTab(SettingsTab): QtCore.QSettings().setValue(self.settingsSection + u'/port', QtCore.QVariant(self.portSpinBox.value())) QtCore.QSettings().setValue(self.settingsSection + u'/ip address', - QtCore.QVariant(self.addressEdit.text())) \ No newline at end of file + QtCore.QVariant(self.addressEdit.text())) diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index 25c7ba6df..b1647bf64 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -37,15 +37,16 @@ class SongsTab(SettingsTab): def setupUi(self): self.setObjectName(u'SongsTab') - self.SongsLayout = QtGui.QFormLayout(self) - self.SongsLayout.setSpacing(8) - self.SongsLayout.setMargin(8) + self.SongsLayout = QtGui.QHBoxLayout(self) self.SongsLayout.setObjectName(u'SongsLayout') - self.SongsModeGroupBox = QtGui.QGroupBox(self) + self.LeftWidget = QtGui.QWidget(self) + self.LeftWidget.setObjectName(u'LeftWidget') + self.LeftLayout = QtGui.QVBoxLayout(self.LeftWidget) + self.LeftLayout.setMargin(0) + self.LeftLayout.setObjectName(u'LeftLayout') + self.SongsModeGroupBox = QtGui.QGroupBox(self.LeftWidget) self.SongsModeGroupBox.setObjectName(u'SongsModeGroupBox') self.SongsModeLayout = QtGui.QVBoxLayout(self.SongsModeGroupBox) - self.SongsModeLayout.setSpacing(8) - self.SongsModeLayout.setMargin(8) self.SongsModeLayout.setObjectName(u'SongsModeLayout') self.SearchAsTypeCheckBox = QtGui.QCheckBox(self.SongsModeGroupBox) self.SearchAsTypeCheckBox.setObjectName(u'SearchAsTypeCheckBox') @@ -61,8 +62,16 @@ class SongsTab(SettingsTab): self.SongAddFromServiceCheckBox.setObjectName( u'SongAddFromServiceCheckBox') self.SongsModeLayout.addWidget(self.SongAddFromServiceCheckBox) - self.SongsLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.SongsModeGroupBox) + self.LeftLayout.addWidget(self.SongsModeGroupBox) + self.LeftLayout.addStretch() + self.SongsLayout.addWidget(self.LeftWidget) + self.RightWidget = QtGui.QWidget(self) + self.RightWidget.setObjectName(u'RightWidget') + self.RightLayout = QtGui.QVBoxLayout(self.RightWidget) + self.RightLayout.setMargin(0) + self.RightLayout.setObjectName(u'RightLayout') + self.RightLayout.addStretch() + self.SongsLayout.addWidget(self.RightWidget) QtCore.QObject.connect(self.SearchAsTypeCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onSearchAsTypeCheckBoxChanged) @@ -89,6 +98,20 @@ class SongsTab(SettingsTab): translate('SongsPlugin.SongsTab', 'Add missing songs when opening service')) + def resizeEvent(self, event=None): + """ + Resize the sides in two equal halves if the layout allows this. + """ + if event: + SettingsTab.resizeEvent(self, event) + width = self.width() - self.SongsLayout.spacing() - \ + self.SongsLayout.contentsMargins().left() - \ + self.SongsLayout.contentsMargins().right() + left_width = min(width - self.RightWidget.minimumSizeHint().width(), + width / 2) + left_width = max(left_width, self.LeftWidget.minimumSizeHint().width()) + self.LeftWidget.setMinimumWidth(left_width) + def onSearchAsTypeCheckBoxChanged(self, check_state): self.song_search = False # we have a set value convert to True/False @@ -139,4 +162,4 @@ class SongsTab(SettingsTab): QtCore.QVariant(self.update_edit)) settings.setValue(u'add song from service', QtCore.QVariant(self.update_load)) - settings.endGroup() \ No newline at end of file + settings.endGroup()