diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py
index 1b3840c77..01398d462 100644
--- a/openlp/plugins/custom/forms/editcustomdialog.py
+++ b/openlp/plugins/custom/forms/editcustomdialog.py
@@ -17,8 +17,8 @@ class Ui_customEditDialog(object):
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/icon/openlp.org-icon-32.bmp"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
customEditDialog.setWindowIcon(icon)
- self.verticalLayout = QtGui.QVBoxLayout(customEditDialog)
- self.verticalLayout.setObjectName("verticalLayout")
+ self.gridLayout = QtGui.QGridLayout(customEditDialog)
+ self.gridLayout.setObjectName("gridLayout")
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.TitleLabel = QtGui.QLabel(customEditDialog)
@@ -27,10 +27,30 @@ class Ui_customEditDialog(object):
self.TitleEdit = QtGui.QLineEdit(customEditDialog)
self.TitleEdit.setObjectName("TitleEdit")
self.horizontalLayout.addWidget(self.TitleEdit)
- self.verticalLayout.addLayout(self.horizontalLayout)
+ self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
+ self.horizontalLayout_4 = QtGui.QHBoxLayout()
+ self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.VerseListView = QtGui.QListWidget(customEditDialog)
self.VerseListView.setObjectName("VerseListView")
- self.verticalLayout.addWidget(self.VerseListView)
+ self.horizontalLayout_4.addWidget(self.VerseListView)
+ self.verticalLayout = QtGui.QVBoxLayout()
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.UpButton = QtGui.QPushButton(customEditDialog)
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(":/services/service_up.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.UpButton.setIcon(icon1)
+ self.UpButton.setObjectName("UpButton")
+ self.verticalLayout.addWidget(self.UpButton)
+ spacerItem = QtGui.QSpacerItem(20, 128, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.verticalLayout.addItem(spacerItem)
+ self.DownButton = QtGui.QPushButton(customEditDialog)
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(":/services/service_down.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.DownButton.setIcon(icon2)
+ self.DownButton.setObjectName("DownButton")
+ self.verticalLayout.addWidget(self.DownButton)
+ self.horizontalLayout_4.addLayout(self.verticalLayout)
+ self.gridLayout.addLayout(self.horizontalLayout_4, 1, 0, 1, 1)
self.EditWidget = QtGui.QWidget(customEditDialog)
self.EditWidget.setObjectName("EditWidget")
self.EditLayout = QtGui.QHBoxLayout(self.EditWidget)
@@ -40,31 +60,31 @@ class Ui_customEditDialog(object):
self.VerseTextEdit = QtGui.QTextEdit(self.EditWidget)
self.VerseTextEdit.setObjectName("VerseTextEdit")
self.EditLayout.addWidget(self.VerseTextEdit)
- self.ButtonWidge = QtGui.QWidget(self.EditWidget)
- self.ButtonWidge.setObjectName("ButtonWidge")
- self.ButtonLayout = QtGui.QVBoxLayout(self.ButtonWidge)
+ self.ButtonWidget = QtGui.QWidget(self.EditWidget)
+ self.ButtonWidget.setObjectName("ButtonWidget")
+ self.ButtonLayout = QtGui.QVBoxLayout(self.ButtonWidget)
self.ButtonLayout.setSpacing(8)
self.ButtonLayout.setMargin(0)
self.ButtonLayout.setObjectName("ButtonLayout")
- self.AddButton = QtGui.QPushButton(self.ButtonWidge)
+ self.AddButton = QtGui.QPushButton(self.ButtonWidget)
self.AddButton.setObjectName("AddButton")
self.ButtonLayout.addWidget(self.AddButton)
- self.EditButton = QtGui.QPushButton(self.ButtonWidge)
+ self.EditButton = QtGui.QPushButton(self.ButtonWidget)
self.EditButton.setObjectName("EditButton")
self.ButtonLayout.addWidget(self.EditButton)
- self.SaveButton = QtGui.QPushButton(self.ButtonWidge)
+ self.SaveButton = QtGui.QPushButton(self.ButtonWidget)
self.SaveButton.setObjectName("SaveButton")
self.ButtonLayout.addWidget(self.SaveButton)
- self.DeleteButton = QtGui.QPushButton(self.ButtonWidge)
+ self.DeleteButton = QtGui.QPushButton(self.ButtonWidget)
self.DeleteButton.setObjectName("DeleteButton")
self.ButtonLayout.addWidget(self.DeleteButton)
- self.ClearButton = QtGui.QPushButton(self.ButtonWidge)
+ self.ClearButton = QtGui.QPushButton(self.ButtonWidget)
self.ClearButton.setObjectName("ClearButton")
- self.ButtonLayout.addWidget(self.ClearButton)
- spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.ButtonLayout.addItem(spacerItem)
- self.EditLayout.addWidget(self.ButtonWidge)
- self.verticalLayout.addWidget(self.EditWidget)
+ self.ButtonLayout.addWidget(self.ClearButton)
+ spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.ButtonLayout.addItem(spacerItem1)
+ self.EditLayout.addWidget(self.ButtonWidget)
+ self.gridLayout.addWidget(self.EditWidget, 2, 0, 1, 1)
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.ThemeLabel = QtGui.QLabel(customEditDialog)
@@ -73,20 +93,20 @@ class Ui_customEditDialog(object):
self.ThemecomboBox = QtGui.QComboBox(customEditDialog)
self.ThemecomboBox.setObjectName("ThemecomboBox")
self.horizontalLayout.addWidget(self.ThemecomboBox)
- self.verticalLayout.addLayout(self.horizontalLayout)
- self.horizontalLayout = QtGui.QHBoxLayout()
- self.horizontalLayout.setObjectName("horizontalLayout")
+ self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 1)
+ self.horizontalLayout_2 = QtGui.QHBoxLayout()
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.CreditLabel = QtGui.QLabel(customEditDialog)
self.CreditLabel.setObjectName("CreditLabel")
- self.horizontalLayout.addWidget(self.CreditLabel)
+ self.horizontalLayout_2.addWidget(self.CreditLabel)
self.CreditEdit = QtGui.QLineEdit(customEditDialog)
self.CreditEdit.setObjectName("CreditEdit")
- self.horizontalLayout.addWidget(self.CreditEdit)
- self.verticalLayout.addLayout(self.horizontalLayout)
+ self.horizontalLayout_2.addWidget(self.CreditEdit)
+ self.gridLayout.addLayout(self.horizontalLayout_2, 4, 0, 1, 1)
self.buttonBox = QtGui.QDialogButtonBox(customEditDialog)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
- self.verticalLayout.addWidget(self.buttonBox)
+ self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 1)
self.retranslateUi(customEditDialog)
QtCore.QMetaObject.connectSlotsByName(customEditDialog)
@@ -98,7 +118,7 @@ class Ui_customEditDialog(object):
customEditDialog.setTabOrder(self.VerseListView, self.AddButton)
customEditDialog.setTabOrder(self.AddButton, self.DeleteButton)
customEditDialog.setTabOrder(self.DeleteButton, self.buttonBox)
-
+
def retranslateUi(self, customEditDialog):
customEditDialog.setWindowTitle(translate("customEditDialog", "Edit Custom Slides"))
self.TitleLabel.setText(translate("customEditDialog", "Title:"))
diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py
index f218bb295..8cffafc6b 100644
--- a/openlp/plugins/custom/forms/editcustomform.py
+++ b/openlp/plugins/custom/forms/editcustomform.py
@@ -39,9 +39,14 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
QtCore.QObject.connect(self.SaveButton, QtCore.SIGNAL("pressed()"), self.onSaveButtonPressed)
QtCore.QObject.connect(self.DeleteButton, QtCore.SIGNAL("pressed()"), self.onDeleteButtonPressed)
QtCore.QObject.connect(self.ClearButton, QtCore.SIGNAL("pressed()"), self.onClearButtonPressed)
- QtCore.QObject.connect(self.TitleEdit, QtCore.SIGNAL("lostFocus()"), self.validate)
- QtCore.QObject.connect(self.VerseListView, QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem*)"), self.onVerseListViewSelected)
- QtCore.QObject.connect(self.VerseListView, QtCore.SIGNAL("itemClicked(QListWidgetItem*)"), self.onVerseListViewPressed)
+ QtCore.QObject.connect(self.UpButton, QtCore.SIGNAL("pressed()"), self.onUpButtonPressed)
+ QtCore.QObject.connect(self.DownButton, QtCore.SIGNAL("pressed()"), self.onDownButtonPressed)
+ QtCore.QObject.connect(self.TitleEdit, QtCore.SIGNAL("lostFocus()"), self.validate)
+
+ QtCore.QObject.connect(self.VerseListView,
+ QtCore.SIGNAL("itemDoubleClicked(QListWidgetItem*)"), self.onVerseListViewSelected)
+ QtCore.QObject.connect(self.VerseListView,
+ QtCore.SIGNAL("itemClicked(QListWidgetItem*)"), self.onVerseListViewPressed)
# Create other objects and forms
self.custommanager = custommanager
self.initialise()
@@ -58,14 +63,28 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
def rejected(self):
self.close()
+ def onUpButtonPressed(self):
+ selectedRow = self.VerseListView.currentRow()
+ if selectedRow != 0:
+ qw = self.VerseListView.takeItem(selectedRow)
+ self.VerseListView.insertItem(selectedRow - 1, qw)
+ self.VerseListView.setCurrentRow(selectedRow - 1)
+
+ def onDownButtonPressed(self):
+ print "Down"
+ selectedRow = self.VerseListView.currentRow()
+ if self.selectedRow != self.VerseListView.count() - 1: # zero base arrays
+ qw = self.VerseListView.takeItem(selectedRow)
+ self.VerseListView.insertItem(selectedRow + 1, qw)
+ self.VerseListView.setCurrentRow(selectedRow + 1)
+
def onClearButtonPressed(self):
self.VerseTextEdit.clear()
def onVerseListViewPressed(self, item):
self.DeleteButton.setEnabled(True)
self.EditButton.setEnabled(True)
- self.selectedRow = self.VerseListView.currentRow()
-
+
def onVerseListViewSelected(self, item):
self.VerseTextEdit.setPlainText(item.text())
self.DeleteButton.setEnabled(False)
diff --git a/openlp/plugins/custom/lib/custommediaitem.py b/openlp/plugins/custom/lib/custommediaitem.py
index 4454ed692..ced56709b 100644
--- a/openlp/plugins/custom/lib/custommediaitem.py
+++ b/openlp/plugins/custom/lib/custommediaitem.py
@@ -75,13 +75,7 @@ class CustomMediaItem(MediaManagerItem):
self.CustomWidget.setObjectName('CustomWidget')
self.SearchLayout = QtGui.QGridLayout(self.CustomWidget)
self.SearchLayout.setObjectName('SearchLayout')
- self.SearchTypeComboBox = QtGui.QComboBox(self.CustomWidget)
- self.SearchTypeComboBox.setObjectName('SearchTypeComboBox')
- self.SearchLayout.addWidget(self.SearchTypeComboBox, 0, 1, 1, 2)
- self.SearchTypeLabel = QtGui.QLabel(self.CustomWidget)
- self.SearchTypeLabel.setObjectName('SearchTypeLabel')
- self.SearchTypeLabel.setText('Search Type:')
- self.SearchLayout.addWidget(self.SearchTypeLabel, 0, 0, 1, 1)
+
self.SearchTextLabel = QtGui.QLabel(self.CustomWidget)
self.SearchTextLabel.setObjectName('SearchTextLabel')
self.SearchTextLabel.setText('Search Text:')
@@ -103,34 +97,39 @@ class CustomMediaItem(MediaManagerItem):
self.CustomListView.setColumnCount(2)
self.CustomListView.setColumnHidden(0, True)
self.CustomListView.setColumnWidth(1, 240)
- #self.CustomListView.setColumnWidth(2, 80)
self.CustomListView.setShowGrid(False)
self.CustomListView.setSortingEnabled(False)
self.CustomListView.setAlternatingRowColors(True)
self.CustomListView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.CustomListView.setHorizontalHeaderLabels(QtCore.QStringList(['', u'Custom Name']))
+
self.CustomListView.horizontalHeader().setVisible(False)
self.CustomListView.verticalHeader().setVisible(False)
self.CustomListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
self.CustomListView.setObjectName('listView')
self.PageLayout.addWidget(self.CustomListView)
- QtCore.QObject.connect(self.SearchTextButton, QtCore.SIGNAL("pressed()"), self.onSearchTextButtonClick)
- QtCore.QObject.connect(self.ClearTextButton, QtCore.SIGNAL("pressed()"), self.onClearTextButtonClick)
- QtCore.QObject.connect(self.SearchTextEdit, QtCore.SIGNAL("textChanged(const QString&)"), self.onSearchTextEditChanged)
-
- QtCore.QObject.connect(self.CustomListView, QtCore.SIGNAL("itemPressed(QTableWidgetItem * item)"), self.onCustomSelected)
-
+ # Signals
+ QtCore.QObject.connect(self.SearchTextButton,
+ QtCore.SIGNAL("pressed()"), self.onSearchTextButtonClick)
+ QtCore.QObject.connect(self.ClearTextButton,
+ QtCore.SIGNAL("pressed()"), self.onClearTextButtonClick)
+ QtCore.QObject.connect(self.SearchTextEdit,
+ QtCore.SIGNAL("textChanged(const QString&)"), self.onSearchTextEditChanged)
+ QtCore.QObject.connect(self.CustomListView,
+ QtCore.SIGNAL("itemPressed(QTableWidgetItem * item)"), self.onCustomSelected)
# #define and add the context menu
-# self.CustomListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
+ self.CustomListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
#
-# self.CustomListView.addAction(self.add_to_context_menu(self.CustomListView, ':/Customs/Custom_new.png', "&Edit Custom", self.onCustomEditClick))
-# self.CustomListView.addAction(self.add_to_context_separator(self.CustomListView))
-# self.CustomListView.addAction(self.add_to_context_menu(self.CustomListView, ':/system/system_preview.png', "&Preview Custom", self.onCustomPreviewClick))
-# self.CustomListView.addAction(self.add_to_context_menu(self.CustomListView, ':/system/system_live.png', "&Show Live", self.onCustomLiveClick))
-# self.CustomListView.addAction(self.add_to_context_menu(self.CustomListView, ':/system/system_add.png', "&Add to Service", self.onCustomEditClick))
-
+ self.CustomListView.addAction(self.contextMenuAction(
+ self.CustomListView, ':/system/system_preview.png',
+ "&Preview Custom", self.onCustomPreviewClick))
+ self.CustomListView.addAction(self.contextMenuAction(
+ self.CustomListView, ':/system/system_live.png',
+ "&Show Live", self.onCustomLiveClick))
+ self.CustomListView.addAction(self.contextMenuAction(
+ self.CustomListView, ':/system/system_add.png',
+ "&Add to Service", self.onCustomEditClick))
def onClearTextButtonClick(self):
"""
@@ -139,25 +138,14 @@ class CustomMediaItem(MediaManagerItem):
self.SearchTextEdit.clear()
def onSearchTextEditChanged(self, text):
- sl = 3
- if self.SearchTypeComboBox.currentText() == u'Lyrics':
- sl = 7
- if len(text) > sl: # only search if > 3 characters
+ if len(text) > 3: # only search if > 3 characters
self.onSearchTextButtonClick()
def onSearchTextButtonClick(self):
search_keywords = str(self.SearchTextEdit.displayText())
search_results = []
search_type = self.SearchTypeComboBox.currentText()
- if search_type == u'Titles':
- log.debug("Titles Search")
- search_results = self.Custommanager.search_Custom_title(search_keywords)
- elif search_type == u'Lyrics':
- log.debug("Lyrics Search")
- search_results = self.Custommanager.search_Custom_lyrics(search_keywords)
- elif search_type == u'Authors':
- log.debug("Authors Search")
- #searchresults = self.Custommanager.get_Custom_from_author(searchtext)
+ search_results = self.Custommanager.search_Custom_lyrics(search_keywords)
self._display_results(search_results)
def onCustomSelected(self, item):
diff --git a/openlp/plugins/custom/lib/manager.py b/openlp/plugins/custom/lib/manager.py
index d0f821009..be990de8d 100644
--- a/openlp/plugins/custom/lib/manager.py
+++ b/openlp/plugins/custom/lib/manager.py
@@ -91,16 +91,16 @@ class CustomManager():
# else:
# return self.session.query(Song).get(id)
#
-# def save_song(self, song):
-# """
-# Saves a song to the database
-# """
-# try:
-# self.session.add(song)
-# self.session.commit()
-# return True
-# except:
-# return False
+ def save_slides(self, customslide):
+ """
+ Saves a song to the database
+ """
+ try:
+ self.session.add(customslide)
+ self.session.commit()
+ return True
+ except:
+ return False
#
# def delete_song(self, song):
# try:
diff --git a/resources/forms/editcustomdialog.ui b/resources/forms/editcustomdialog.ui
index 2bfabd56b..3fce3f588 100644
--- a/resources/forms/editcustomdialog.ui
+++ b/resources/forms/editcustomdialog.ui
@@ -17,8 +17,8 @@
:/icon/openlp.org-icon-32.bmp:/icon/openlp.org-icon-32.bmp
-
- -
+
+
-
-
@@ -32,10 +32,53 @@
- -
-
+
-
+
+
-
+
+
+ -
+
+
-
+
+
+
+
+
+
+ :/services/service_up.png:/services/service_up.png
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 128
+
+
+
+
+ -
+
+
+
+
+
+
+ :/services/service_down.png:/services/service_down.png
+
+
+
+
+
+
- -
+
-
@@ -103,7 +146,7 @@
- -
+
-
-
@@ -117,7 +160,7 @@
- -
+
-
-
@@ -131,7 +174,7 @@
- -
+
-
QDialogButtonBox::Cancel|QDialogButtonBox::Ok