forked from openlp/openlp
1166
This commit is contained in:
commit
0ad9aeb5cd
@ -214,7 +214,7 @@ class RenderManager(object):
|
|||||||
if self.force_page:
|
if self.force_page:
|
||||||
verse = verse + verse + verse
|
verse = verse + verse + verse
|
||||||
else:
|
else:
|
||||||
self.image_manager.del_image(self.theme_data.theme_name)
|
self.image_manager.del_image(theme_data.theme_name)
|
||||||
footer = []
|
footer = []
|
||||||
footer.append(u'Arky Arky (Unknown)' )
|
footer.append(u'Arky Arky (Unknown)' )
|
||||||
footer.append(u'Public Domain')
|
footer.append(u'Public Domain')
|
||||||
|
@ -53,7 +53,5 @@ class Ui_FileRenameDialog(object):
|
|||||||
QtCore.QMetaObject.connectSlotsByName(FileRenameDialog)
|
QtCore.QMetaObject.connectSlotsByName(FileRenameDialog)
|
||||||
|
|
||||||
def retranslateUi(self, FileRenameDialog):
|
def retranslateUi(self, FileRenameDialog):
|
||||||
FileRenameDialog.setWindowTitle(translate('OpenLP.FileRenameForm',
|
|
||||||
'File Rename'))
|
|
||||||
self.fileRenameLabel.setText(translate('OpenLP.FileRenameForm',
|
self.fileRenameLabel.setText(translate('OpenLP.FileRenameForm',
|
||||||
'New File Name:'))
|
'New File Name:'))
|
||||||
|
@ -28,6 +28,8 @@ from PyQt4 import QtCore, QtGui
|
|||||||
|
|
||||||
from filerenamedialog import Ui_FileRenameDialog
|
from filerenamedialog import Ui_FileRenameDialog
|
||||||
|
|
||||||
|
from openlp.core.lib import translate
|
||||||
|
|
||||||
class FileRenameForm(QtGui.QDialog, Ui_FileRenameDialog):
|
class FileRenameForm(QtGui.QDialog, Ui_FileRenameDialog):
|
||||||
"""
|
"""
|
||||||
The exception dialog
|
The exception dialog
|
||||||
@ -39,3 +41,15 @@ class FileRenameForm(QtGui.QDialog, Ui_FileRenameDialog):
|
|||||||
self.accept)
|
self.accept)
|
||||||
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'),
|
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'),
|
||||||
self.reject)
|
self.reject)
|
||||||
|
|
||||||
|
def exec_(self, copy=False):
|
||||||
|
"""
|
||||||
|
Run the Dialog with correct heading.
|
||||||
|
"""
|
||||||
|
if copy:
|
||||||
|
self.setWindowTitle(translate('OpenLP.FileRenameForm',
|
||||||
|
'File Copy'))
|
||||||
|
else:
|
||||||
|
self.setWindowTitle(translate('OpenLP.FileRenameForm',
|
||||||
|
'File Rename'))
|
||||||
|
return QtGui.QDialog.exec_(self)
|
||||||
|
@ -312,6 +312,18 @@ class GeneralTab(SettingsTab):
|
|||||||
# Signals and slots
|
# Signals and slots
|
||||||
QtCore.QObject.connect(self.overrideCheckBox,
|
QtCore.QObject.connect(self.overrideCheckBox,
|
||||||
QtCore.SIGNAL(u'toggled(bool)'), self.onOverrideCheckBoxToggled)
|
QtCore.SIGNAL(u'toggled(bool)'), self.onOverrideCheckBoxToggled)
|
||||||
|
QtCore.QObject.connect(self.customHeightValueEdit,
|
||||||
|
QtCore.SIGNAL(u'textEdited(const QString&)'),
|
||||||
|
self.onDisplayPositionChanged)
|
||||||
|
QtCore.QObject.connect(self.customWidthValueEdit,
|
||||||
|
QtCore.SIGNAL(u'textEdited(const QString&)'),
|
||||||
|
self.onDisplayPositionChanged)
|
||||||
|
QtCore.QObject.connect(self.customYValueEdit,
|
||||||
|
QtCore.SIGNAL(u'textEdited(const QString&)'),
|
||||||
|
self.onDisplayPositionChanged)
|
||||||
|
QtCore.QObject.connect(self.customXValueEdit,
|
||||||
|
QtCore.SIGNAL(u'textEdited(const QString&)'),
|
||||||
|
self.onDisplayPositionChanged)
|
||||||
|
|
||||||
def retranslateUi(self):
|
def retranslateUi(self):
|
||||||
"""
|
"""
|
||||||
@ -503,10 +515,19 @@ class GeneralTab(SettingsTab):
|
|||||||
|
|
||||||
def onOverrideCheckBoxToggled(self, checked):
|
def onOverrideCheckBoxToggled(self, checked):
|
||||||
"""
|
"""
|
||||||
Toggle screen state depending on check box state
|
Toggle screen state depending on check box state.
|
||||||
|
|
||||||
|
``checked``
|
||||||
|
The state of the check box (boolean).
|
||||||
"""
|
"""
|
||||||
self.customXValueEdit.setEnabled(checked)
|
self.customXValueEdit.setEnabled(checked)
|
||||||
self.customYValueEdit.setEnabled(checked)
|
self.customYValueEdit.setEnabled(checked)
|
||||||
self.customHeightValueEdit.setEnabled(checked)
|
self.customHeightValueEdit.setEnabled(checked)
|
||||||
self.customWidthValueEdit.setEnabled(checked)
|
self.customWidthValueEdit.setEnabled(checked)
|
||||||
self.overrideChanged = True
|
self.overrideChanged = True
|
||||||
|
|
||||||
|
def onDisplayPositionChanged(self):
|
||||||
|
"""
|
||||||
|
Called when the width, height, x position or y position has changed.
|
||||||
|
"""
|
||||||
|
self.overrideChanged = True
|
||||||
|
@ -148,7 +148,7 @@ class Ui_MainWindow(object):
|
|||||||
self.MediaManagerDock.setMinimumWidth(
|
self.MediaManagerDock.setMinimumWidth(
|
||||||
self.settingsmanager.mainwindow_left)
|
self.settingsmanager.mainwindow_left)
|
||||||
self.MediaManagerDock.setObjectName(u'MediaManagerDock')
|
self.MediaManagerDock.setObjectName(u'MediaManagerDock')
|
||||||
self.MediaManagerContents = QtGui.QWidget()
|
self.MediaManagerContents = QtGui.QWidget(MainWindow)
|
||||||
self.MediaManagerContents.setObjectName(u'MediaManagerContents')
|
self.MediaManagerContents.setObjectName(u'MediaManagerContents')
|
||||||
self.MediaManagerLayout = QtGui.QHBoxLayout(self.MediaManagerContents)
|
self.MediaManagerLayout = QtGui.QHBoxLayout(self.MediaManagerContents)
|
||||||
self.MediaManagerLayout.setContentsMargins(0, 2, 0, 0)
|
self.MediaManagerLayout.setContentsMargins(0, 2, 0, 0)
|
||||||
|
@ -79,7 +79,7 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog):
|
|||||||
status_text = unicode(
|
status_text = unicode(
|
||||||
translate('OpenLP.PluginForm', '%s (Disabled)'))
|
translate('OpenLP.PluginForm', '%s (Disabled)'))
|
||||||
name_string = plugin.getString(StringContent.Name)
|
name_string = plugin.getString(StringContent.Name)
|
||||||
item.setText(status_text % name_string[u'plural'])
|
item.setText(status_text % name_string[u'singular'])
|
||||||
# If the plugin has an icon, set it!
|
# If the plugin has an icon, set it!
|
||||||
if plugin.icon:
|
if plugin.icon:
|
||||||
item.setIcon(plugin.icon)
|
item.setIcon(plugin.icon)
|
||||||
@ -107,12 +107,12 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog):
|
|||||||
if self.pluginListWidget.currentItem() is None:
|
if self.pluginListWidget.currentItem() is None:
|
||||||
self._clearDetails()
|
self._clearDetails()
|
||||||
return
|
return
|
||||||
plugin_name_plural = \
|
plugin_name_singular = \
|
||||||
self.pluginListWidget.currentItem().text().split(u' ')[0]
|
self.pluginListWidget.currentItem().text().split(u' ')[0]
|
||||||
self.activePlugin = None
|
self.activePlugin = None
|
||||||
for plugin in self.parent.pluginManager.plugins:
|
for plugin in self.parent.pluginManager.plugins:
|
||||||
name_string = plugin.getString(StringContent.Name)
|
name_string = plugin.getString(StringContent.Name)
|
||||||
if name_string[u'plural'] == plugin_name_plural:
|
if name_string[u'singular'] == plugin_name_singular:
|
||||||
self.activePlugin = plugin
|
self.activePlugin = plugin
|
||||||
break
|
break
|
||||||
if self.activePlugin:
|
if self.activePlugin:
|
||||||
@ -142,4 +142,4 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog):
|
|||||||
translate('OpenLP.PluginForm', '%s (Disabled)'))
|
translate('OpenLP.PluginForm', '%s (Disabled)'))
|
||||||
name_string = self.activePlugin.getString(StringContent.Name)
|
name_string = self.activePlugin.getString(StringContent.Name)
|
||||||
self.pluginListWidget.currentItem().setText(
|
self.pluginListWidget.currentItem().setText(
|
||||||
status_text % name_string[u'plural'])
|
status_text % name_string[u'singular'])
|
||||||
|
@ -223,10 +223,12 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
"""
|
"""
|
||||||
Renames an existing theme to a new name
|
Renames an existing theme to a new name
|
||||||
"""
|
"""
|
||||||
|
action = unicode(translate('OpenLP.ThemeManager', 'Rename'))
|
||||||
|
if self._validate_theme_action(action, False):
|
||||||
item = self.themeListWidget.currentItem()
|
item = self.themeListWidget.currentItem()
|
||||||
oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString())
|
oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString())
|
||||||
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
||||||
self.saveThemeName = u''
|
self.saveThemeName = oldThemeName
|
||||||
if self.fileRenameForm.exec_():
|
if self.fileRenameForm.exec_():
|
||||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||||
oldThemeData = self.getThemeData(oldThemeName)
|
oldThemeData = self.getThemeData(oldThemeName)
|
||||||
@ -241,7 +243,7 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString())
|
oldThemeName = unicode(item.data(QtCore.Qt.UserRole).toString())
|
||||||
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
self.fileRenameForm.fileNameEdit.setText(oldThemeName)
|
||||||
self.saveThemeName = u''
|
self.saveThemeName = u''
|
||||||
if self.fileRenameForm.exec_():
|
if self.fileRenameForm.exec_(True):
|
||||||
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
|
||||||
themeData = self.getThemeData(oldThemeName)
|
themeData = self.getThemeData(oldThemeName)
|
||||||
self.cloneThemeData(themeData, newThemeName)
|
self.cloneThemeData(themeData, newThemeName)
|
||||||
@ -286,44 +288,10 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
"""
|
"""
|
||||||
Delete a theme
|
Delete a theme
|
||||||
"""
|
"""
|
||||||
self.global_theme = unicode(QtCore.QSettings().value(
|
action = unicode(translate('OpenLP.ThemeManager', 'Delete'))
|
||||||
self.settingsSection + u'/global theme',
|
if self._validate_theme_action(action):
|
||||||
QtCore.QVariant(u'')).toString())
|
|
||||||
if check_item_selected(self.themeListWidget,
|
|
||||||
translate('OpenLP.ThemeManager',
|
|
||||||
'You must select a theme to delete.')):
|
|
||||||
item = self.themeListWidget.currentItem()
|
item = self.themeListWidget.currentItem()
|
||||||
theme = unicode(item.text())
|
theme = unicode(item.text())
|
||||||
# confirm deletion
|
|
||||||
answer = QtGui.QMessageBox.question(self,
|
|
||||||
translate('OpenLP.ThemeManager', 'Delete Confirmation'),
|
|
||||||
unicode(translate('OpenLP.ThemeManager', 'Delete %s theme?'))
|
|
||||||
% theme,
|
|
||||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
|
|
||||||
QtGui.QMessageBox.No), QtGui.QMessageBox.No)
|
|
||||||
if answer == QtGui.QMessageBox.No:
|
|
||||||
return
|
|
||||||
# should be the same unless default
|
|
||||||
if theme != unicode(item.data(QtCore.Qt.UserRole).toString()):
|
|
||||||
QtGui.QMessageBox.critical(self,
|
|
||||||
translate('OpenLP.ThemeManager', 'Error'),
|
|
||||||
translate('OpenLP.ThemeManager',
|
|
||||||
'You are unable to delete the default theme.'))
|
|
||||||
else:
|
|
||||||
for plugin in self.parent.pluginManager.plugins:
|
|
||||||
if plugin.usesTheme(theme):
|
|
||||||
QtGui.QMessageBox.critical(self,
|
|
||||||
translate('OpenLP.ThemeManager', 'Error'),
|
|
||||||
unicode(translate('OpenLP.ThemeManager',
|
|
||||||
'Theme %s is used in the %s plugin.')) % \
|
|
||||||
(theme, plugin.name))
|
|
||||||
return
|
|
||||||
if unicode(self.serviceComboBox.currentText()) == theme:
|
|
||||||
QtGui.QMessageBox.critical(self,
|
|
||||||
translate('OpenLP.ThemeManager', 'Error'),
|
|
||||||
unicode(translate('OpenLP.ThemeManager',
|
|
||||||
'Theme %s is used by the service manager.')) % theme)
|
|
||||||
return
|
|
||||||
row = self.themeListWidget.row(item)
|
row = self.themeListWidget.row(item)
|
||||||
self.themeListWidget.takeItem(row)
|
self.themeListWidget.takeItem(row)
|
||||||
self.deleteTheme(theme)
|
self.deleteTheme(theme)
|
||||||
@ -668,7 +636,6 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
plugin.renameTheme(self.saveThemeName, name)
|
plugin.renameTheme(self.saveThemeName, name)
|
||||||
if unicode(self.serviceComboBox.currentText()) == name:
|
if unicode(self.serviceComboBox.currentText()) == name:
|
||||||
editedServiceTheme = True
|
editedServiceTheme = True
|
||||||
self.deleteTheme(self.saveThemeName)
|
|
||||||
if result == QtGui.QMessageBox.Yes:
|
if result == QtGui.QMessageBox.Yes:
|
||||||
# Save the theme, overwriting the existing theme if necessary.
|
# Save the theme, overwriting the existing theme if necessary.
|
||||||
if imageTo and self.oldBackgroundImage and \
|
if imageTo and self.oldBackgroundImage and \
|
||||||
@ -782,3 +749,50 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
theme.parse(themeXml)
|
theme.parse(themeXml)
|
||||||
theme.extend_image_filename(path)
|
theme.extend_image_filename(path)
|
||||||
return theme
|
return theme
|
||||||
|
|
||||||
|
def _validate_theme_action(self, action, testPlugin=True):
|
||||||
|
"""
|
||||||
|
Check to see if theme has been selected and the destructive action
|
||||||
|
is allowed.
|
||||||
|
"""
|
||||||
|
self.global_theme = unicode(QtCore.QSettings().value(
|
||||||
|
self.settingsSection + u'/global theme',
|
||||||
|
QtCore.QVariant(u'')).toString())
|
||||||
|
if check_item_selected(self.themeListWidget,
|
||||||
|
unicode(translate('OpenLP.ThemeManager',
|
||||||
|
'You must select a theme to %s.')) % action):
|
||||||
|
item = self.themeListWidget.currentItem()
|
||||||
|
theme = unicode(item.text())
|
||||||
|
# confirm deletion
|
||||||
|
answer = QtGui.QMessageBox.question(self,
|
||||||
|
unicode(translate('OpenLP.ThemeManager', '%s Confirmation'))
|
||||||
|
% action,
|
||||||
|
unicode(translate('OpenLP.ThemeManager', '%s %s theme?'))
|
||||||
|
% (action, theme),
|
||||||
|
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
|
||||||
|
QtGui.QMessageBox.No), QtGui.QMessageBox.No)
|
||||||
|
if answer == QtGui.QMessageBox.No:
|
||||||
|
return False
|
||||||
|
# should be the same unless default
|
||||||
|
if theme != unicode(item.data(QtCore.Qt.UserRole).toString()):
|
||||||
|
QtGui.QMessageBox.critical(self,
|
||||||
|
translate('OpenLP.ThemeManager', 'Error'),
|
||||||
|
translate('OpenLP.ThemeManager',
|
||||||
|
'You are unable to delete the default theme.'))
|
||||||
|
else:
|
||||||
|
if testPlugin:
|
||||||
|
for plugin in self.parent.pluginManager.plugins:
|
||||||
|
if plugin.usesTheme(theme):
|
||||||
|
QtGui.QMessageBox.critical(self,
|
||||||
|
translate('OpenLP.ThemeManager', 'Error'),
|
||||||
|
unicode(translate('OpenLP.ThemeManager',
|
||||||
|
'Theme %s is used in the %s plugin.')) % \
|
||||||
|
(theme, plugin.name))
|
||||||
|
return False
|
||||||
|
if unicode(self.serviceComboBox.currentText()) == theme:
|
||||||
|
QtGui.QMessageBox.critical(self,
|
||||||
|
translate('OpenLP.ThemeManager', 'Error'),
|
||||||
|
unicode(translate('OpenLP.ThemeManager',
|
||||||
|
'Theme %s is used by the service manager.')) % theme)
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
@ -284,6 +284,7 @@ class BSExtract(object):
|
|||||||
if not soup:
|
if not soup:
|
||||||
return None
|
return None
|
||||||
Receiver.send_message(u'openlp_process_events')
|
Receiver.send_message(u'openlp_process_events')
|
||||||
|
content = None
|
||||||
try:
|
try:
|
||||||
content = soup.find(u'div', u'content').find(u'div').findAll(u'div')
|
content = soup.find(u'div', u'content').find(u'div').findAll(u'div')
|
||||||
except:
|
except:
|
||||||
|
@ -206,8 +206,12 @@ OpenLP.Namespace.create("OpenLP.Remote", {
|
|||||||
},
|
},
|
||||||
sendLiveSet: function (e)
|
sendLiveSet: function (e)
|
||||||
{
|
{
|
||||||
var id = OpenLP.Events.getElement(e).parent().attr("value");
|
var tr = OpenLP.Events.getElement(e).parent();
|
||||||
OpenLP.Remote.sendEvent("slidecontroller_live_set", id);
|
if (tr[0].tagName != "TR")
|
||||||
|
{
|
||||||
|
tr = tr.parent();
|
||||||
|
}
|
||||||
|
OpenLP.Remote.sendEvent("slidecontroller_live_set", tr.attr("value"));
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
sendSetItem: function (e)
|
sendSetItem: function (e)
|
||||||
|
@ -89,5 +89,5 @@ class RemotesPlugin(Plugin):
|
|||||||
}
|
}
|
||||||
## Name for MediaDockManager, SettingsManager ##
|
## Name for MediaDockManager, SettingsManager ##
|
||||||
self.textStrings[StringContent.VisibleName] = {
|
self.textStrings[StringContent.VisibleName] = {
|
||||||
u'title': translate('RemotePlugin', 'Remotes')
|
u'title': translate('RemotePlugin', 'Remote')
|
||||||
}
|
}
|
@ -146,8 +146,7 @@ class Ui_EditSongDialog(object):
|
|||||||
self.AuthorsSelectionComboItem.sizePolicy().hasHeightForWidth())
|
self.AuthorsSelectionComboItem.sizePolicy().hasHeightForWidth())
|
||||||
self.AuthorsSelectionComboItem.setSizePolicy(sizePolicy)
|
self.AuthorsSelectionComboItem.setSizePolicy(sizePolicy)
|
||||||
self.AuthorsSelectionComboItem.setEditable(True)
|
self.AuthorsSelectionComboItem.setEditable(True)
|
||||||
self.AuthorsSelectionComboItem.setInsertPolicy(
|
self.AuthorsSelectionComboItem.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
||||||
QtGui.QComboBox.InsertAlphabetically)
|
|
||||||
self.AuthorsSelectionComboItem.setSizeAdjustPolicy(
|
self.AuthorsSelectionComboItem.setSizeAdjustPolicy(
|
||||||
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
||||||
self.AuthorsSelectionComboItem.setMinimumContentsLength(8)
|
self.AuthorsSelectionComboItem.setMinimumContentsLength(8)
|
||||||
@ -224,6 +223,7 @@ class Ui_EditSongDialog(object):
|
|||||||
sizePolicy.setHeightForWidth(
|
sizePolicy.setHeightForWidth(
|
||||||
self.SongTopicCombo.sizePolicy().hasHeightForWidth())
|
self.SongTopicCombo.sizePolicy().hasHeightForWidth())
|
||||||
self.SongTopicCombo.setEditable(True)
|
self.SongTopicCombo.setEditable(True)
|
||||||
|
self.SongTopicCombo.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
||||||
self.SongTopicCombo.setSizePolicy(sizePolicy)
|
self.SongTopicCombo.setSizePolicy(sizePolicy)
|
||||||
self.SongTopicCombo.setObjectName(u'SongTopicCombo')
|
self.SongTopicCombo.setObjectName(u'SongTopicCombo')
|
||||||
self.TopicAddLayout.addWidget(self.SongTopicCombo)
|
self.TopicAddLayout.addWidget(self.SongTopicCombo)
|
||||||
@ -271,6 +271,7 @@ class Ui_EditSongDialog(object):
|
|||||||
sizePolicy.setHeightForWidth(
|
sizePolicy.setHeightForWidth(
|
||||||
self.SongbookCombo.sizePolicy().hasHeightForWidth())
|
self.SongbookCombo.sizePolicy().hasHeightForWidth())
|
||||||
self.SongbookCombo.setEditable(True)
|
self.SongbookCombo.setEditable(True)
|
||||||
|
self.SongbookCombo.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
||||||
self.SongbookCombo.setSizePolicy(sizePolicy)
|
self.SongbookCombo.setSizePolicy(sizePolicy)
|
||||||
self.SongbookCombo.setObjectName(u'SongbookCombo')
|
self.SongbookCombo.setObjectName(u'SongbookCombo')
|
||||||
self.SongbookLayout.addRow(self.SongbookNameLabel, self.SongbookCombo)
|
self.SongbookLayout.addRow(self.SongbookNameLabel, self.SongbookCombo)
|
||||||
@ -315,6 +316,7 @@ class Ui_EditSongDialog(object):
|
|||||||
self.ThemeLayout.setObjectName(u'ThemeLayout')
|
self.ThemeLayout.setObjectName(u'ThemeLayout')
|
||||||
self.ThemeSelectionComboItem = QtGui.QComboBox(self.ThemeGroupBox)
|
self.ThemeSelectionComboItem = QtGui.QComboBox(self.ThemeGroupBox)
|
||||||
self.ThemeSelectionComboItem.setEditable(True)
|
self.ThemeSelectionComboItem.setEditable(True)
|
||||||
|
self.ThemeSelectionComboItem.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
||||||
self.ThemeSelectionComboItem.setObjectName(u'ThemeSelectionComboItem')
|
self.ThemeSelectionComboItem.setObjectName(u'ThemeSelectionComboItem')
|
||||||
self.ThemeLayout.addWidget(self.ThemeSelectionComboItem)
|
self.ThemeLayout.addWidget(self.ThemeSelectionComboItem)
|
||||||
self.ThemeAddButton = QtGui.QPushButton(self.ThemeGroupBox)
|
self.ThemeAddButton = QtGui.QPushButton(self.ThemeGroupBox)
|
||||||
|
Loading…
Reference in New Issue
Block a user