From 4213dad51c25746fd5b04d4bd5f171d484a970c0 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Tue, 7 Jun 2011 21:37:07 -0400 Subject: [PATCH 1/7] Confirm delete of Custom item --- openlp/plugins/custom/lib/customtab.py | 33 +++++++++++++++++++++++--- openlp/plugins/custom/lib/mediaitem.py | 14 +++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index fb83fab81..7aabe7dda 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -47,17 +47,32 @@ class CustomTab(SettingsTab): self.displayFooterCheckBox.setObjectName(u'displayFooterCheckBox') self.customModeLayout.addRow(self.displayFooterCheckBox) self.leftLayout.addWidget(self.customModeGroupBox) - self.leftLayout.addStretch() - self.rightLayout.addStretch() QtCore.QObject.connect(self.displayFooterCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onDisplayFooterCheckBoxChanged) - + self.customUIGroupBox = QtGui.QGroupBox(self.leftColumn) + self.customUIGroupBox.setObjectName(u'customUIGroupBox') + self.customUILayout = QtGui.QFormLayout(self.customUIGroupBox) + self.customUILayout.setObjectName(u'customUILayout') + self.confirmDeleteCheckBox = QtGui.QCheckBox(self.customUIGroupBox) + self.confirmDeleteCheckBox.setObjectName(u'confirmDeleteCheckBox') + self.customUILayout.addRow(self.confirmDeleteCheckBox) + self.leftLayout.addWidget(self.customUIGroupBox) + QtCore.QObject.connect(self.confirmDeleteCheckBox, + QtCore.SIGNAL(u'stateChanged(int)'), + self.onConfirmDeleteCheckBoxChanged) + self.leftLayout.addStretch() + self.rightLayout.addStretch() + def retranslateUi(self): self.customModeGroupBox.setTitle(translate('CustomPlugin.CustomTab', 'Custom Display')) self.displayFooterCheckBox.setText( translate('CustomPlugin.CustomTab', 'Display footer')) + self.customUIGroupBox.setTitle(translate('CustomPlugin.CustomTab', + 'UI Settings')) + self.confirmDeleteCheckBox.setText( + translate('CustomPlugin.CustomTab', 'Confirm delete')) def onDisplayFooterCheckBoxChanged(self, check_state): self.displayFooter = False @@ -65,12 +80,24 @@ class CustomTab(SettingsTab): if check_state == QtCore.Qt.Checked: self.displayFooter = True + def onConfirmDeleteCheckBoxChanged(self, check_state): + self.confirmDelete = False + # we have a set value convert to True/False + if check_state == QtCore.Qt.Checked: + self.confirmDelete = True + def load(self): self.displayFooter = QtCore.QSettings().value( self.settingsSection + u'/display footer', QtCore.QVariant(True)).toBool() self.displayFooterCheckBox.setChecked(self.displayFooter) + self.confirmDelete = QtCore.QSettings().value( + self.settingsSection + u'/confirm delete', + QtCore.QVariant(True)).toBool() + self.confirmDeleteCheckBox.setChecked(self.confirmDelete) def save(self): QtCore.QSettings().setValue(self.settingsSection + u'/display footer', QtCore.QVariant(self.displayFooter)) + QtCore.QSettings().setValue(self.settingsSection + u'/confirm delete', + QtCore.QVariant(self.confirmDelete)) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 94ee6d94e..fec660360 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -200,6 +200,20 @@ class CustomMediaItem(MediaManagerItem): Remove a custom item from the list and database """ if check_item_selected(self.listView, UiStrings().SelectDelete): + self.confirmDelete = QtCore.QSettings().value( + self.settingsSection + u'/confirm delete', + QtCore.QVariant(u'False')).toBool() + items = self.listView.selectedIndexes() + if self.confirmDelete: + if QtGui.QMessageBox.question(self, + translate('CustomPlugin.MediaItem', 'Delete Custom(s)?'), + translate('CustomPlugin.MediaItem', + 'Are you sure you want to delete the %n selected custom(s)?', '', + QtCore.QCoreApplication.CodecForTr, len(items)), + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok | + QtGui.QMessageBox.Cancel), + QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Cancel: + return row_list = [item.row() for item in self.listView.selectedIndexes()] row_list.sort(reverse=True) id_list = [(item.data(QtCore.Qt.UserRole)).toInt()[0] From 30b56d6fee78b2d205033f779249d4d6377a424b Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Sat, 11 Jun 2011 08:48:11 -0400 Subject: [PATCH 2/7] Moved signals to end of SetupUI --- openlp/plugins/custom/lib/customtab.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index 7aabe7dda..12acabd0b 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -47,9 +47,6 @@ class CustomTab(SettingsTab): self.displayFooterCheckBox.setObjectName(u'displayFooterCheckBox') self.customModeLayout.addRow(self.displayFooterCheckBox) self.leftLayout.addWidget(self.customModeGroupBox) - QtCore.QObject.connect(self.displayFooterCheckBox, - QtCore.SIGNAL(u'stateChanged(int)'), - self.onDisplayFooterCheckBoxChanged) self.customUIGroupBox = QtGui.QGroupBox(self.leftColumn) self.customUIGroupBox.setObjectName(u'customUIGroupBox') self.customUILayout = QtGui.QFormLayout(self.customUIGroupBox) @@ -58,12 +55,15 @@ class CustomTab(SettingsTab): self.confirmDeleteCheckBox.setObjectName(u'confirmDeleteCheckBox') self.customUILayout.addRow(self.confirmDeleteCheckBox) self.leftLayout.addWidget(self.customUIGroupBox) + self.leftLayout.addStretch() + self.rightLayout.addStretch() + QtCore.QObject.connect(self.displayFooterCheckBox, + QtCore.SIGNAL(u'stateChanged(int)'), + self.onDisplayFooterCheckBoxChanged) QtCore.QObject.connect(self.confirmDeleteCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onConfirmDeleteCheckBoxChanged) - self.leftLayout.addStretch() - self.rightLayout.addStretch() - + def retranslateUi(self): self.customModeGroupBox.setTitle(translate('CustomPlugin.CustomTab', 'Custom Display')) From 231c47db531ac054d8320a3035e0108225f1cfb0 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Tue, 28 Jun 2011 00:52:46 -0400 Subject: [PATCH 3/7] Remove settings for confirm delete --- openlp/plugins/custom/lib/customtab.py | 29 +------------------------- openlp/plugins/custom/lib/mediaitem.py | 22 ++++++++----------- 2 files changed, 10 insertions(+), 41 deletions(-) diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index 12acabd0b..b16746f8b 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -47,57 +47,30 @@ class CustomTab(SettingsTab): self.displayFooterCheckBox.setObjectName(u'displayFooterCheckBox') self.customModeLayout.addRow(self.displayFooterCheckBox) self.leftLayout.addWidget(self.customModeGroupBox) - self.customUIGroupBox = QtGui.QGroupBox(self.leftColumn) - self.customUIGroupBox.setObjectName(u'customUIGroupBox') - self.customUILayout = QtGui.QFormLayout(self.customUIGroupBox) - self.customUILayout.setObjectName(u'customUILayout') - self.confirmDeleteCheckBox = QtGui.QCheckBox(self.customUIGroupBox) - self.confirmDeleteCheckBox.setObjectName(u'confirmDeleteCheckBox') - self.customUILayout.addRow(self.confirmDeleteCheckBox) - self.leftLayout.addWidget(self.customUIGroupBox) self.leftLayout.addStretch() self.rightLayout.addStretch() QtCore.QObject.connect(self.displayFooterCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onDisplayFooterCheckBoxChanged) - QtCore.QObject.connect(self.confirmDeleteCheckBox, - QtCore.SIGNAL(u'stateChanged(int)'), - self.onConfirmDeleteCheckBoxChanged) def retranslateUi(self): self.customModeGroupBox.setTitle(translate('CustomPlugin.CustomTab', 'Custom Display')) self.displayFooterCheckBox.setText( translate('CustomPlugin.CustomTab', 'Display footer')) - self.customUIGroupBox.setTitle(translate('CustomPlugin.CustomTab', - 'UI Settings')) - self.confirmDeleteCheckBox.setText( - translate('CustomPlugin.CustomTab', 'Confirm delete')) def onDisplayFooterCheckBoxChanged(self, check_state): self.displayFooter = False # we have a set value convert to True/False if check_state == QtCore.Qt.Checked: - self.displayFooter = True - - def onConfirmDeleteCheckBoxChanged(self, check_state): - self.confirmDelete = False - # we have a set value convert to True/False - if check_state == QtCore.Qt.Checked: - self.confirmDelete = True + self.displayFooter = True def load(self): self.displayFooter = QtCore.QSettings().value( self.settingsSection + u'/display footer', QtCore.QVariant(True)).toBool() self.displayFooterCheckBox.setChecked(self.displayFooter) - self.confirmDelete = QtCore.QSettings().value( - self.settingsSection + u'/confirm delete', - QtCore.QVariant(True)).toBool() - self.confirmDeleteCheckBox.setChecked(self.confirmDelete) def save(self): QtCore.QSettings().setValue(self.settingsSection + u'/display footer', QtCore.QVariant(self.displayFooter)) - QtCore.QSettings().setValue(self.settingsSection + u'/confirm delete', - QtCore.QVariant(self.confirmDelete)) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index fec660360..41accef27 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -200,20 +200,16 @@ class CustomMediaItem(MediaManagerItem): Remove a custom item from the list and database """ if check_item_selected(self.listView, UiStrings().SelectDelete): - self.confirmDelete = QtCore.QSettings().value( - self.settingsSection + u'/confirm delete', - QtCore.QVariant(u'False')).toBool() items = self.listView.selectedIndexes() - if self.confirmDelete: - if QtGui.QMessageBox.question(self, - translate('CustomPlugin.MediaItem', 'Delete Custom(s)?'), - translate('CustomPlugin.MediaItem', - 'Are you sure you want to delete the %n selected custom(s)?', '', - QtCore.QCoreApplication.CodecForTr, len(items)), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok | - QtGui.QMessageBox.Cancel), - QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Cancel: - return + if QtGui.QMessageBox.question(self, + translate('CustomPlugin.MediaItem', 'Delete Custom(s)?'), + translate('CustomPlugin.MediaItem', + 'Are you sure you want to delete the %n selected custom(s)?', '', + QtCore.QCoreApplication.CodecForTr, len(items)), + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok | + QtGui.QMessageBox.Cancel), + QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Cancel: + return row_list = [item.row() for item in self.listView.selectedIndexes()] row_list.sort(reverse=True) id_list = [(item.data(QtCore.Qt.UserRole)).toInt()[0] From c3631659251d8b76febed523f7fd553cf375e5fc Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Tue, 28 Jun 2011 00:59:26 -0400 Subject: [PATCH 4/7] Removed some whitespace --- openlp/plugins/custom/lib/customtab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index b16746f8b..fb83fab81 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -63,7 +63,7 @@ class CustomTab(SettingsTab): self.displayFooter = False # we have a set value convert to True/False if check_state == QtCore.Qt.Checked: - self.displayFooter = True + self.displayFooter = True def load(self): self.displayFooter = QtCore.QSettings().value( From f14fa780812839e53e531643e854f58bee97e443 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Tue, 28 Jun 2011 09:29:36 -0400 Subject: [PATCH 5/7] Modified delete message and dialog buttons --- openlp/plugins/custom/lib/mediaitem.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 41accef27..8babfc245 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -204,11 +204,12 @@ class CustomMediaItem(MediaManagerItem): if QtGui.QMessageBox.question(self, translate('CustomPlugin.MediaItem', 'Delete Custom(s)?'), translate('CustomPlugin.MediaItem', - 'Are you sure you want to delete the %n selected custom(s)?', '', + 'Are you sure you want to delete the %n selected custom' \ + ' slides(s)?', '', QtCore.QCoreApplication.CodecForTr, len(items)), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok | - QtGui.QMessageBox.Cancel), - QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Cancel: + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | + QtGui.QMessageBox.No), + QtGui.QMessageBox.Yes) == QtGui.QMessageBox.No: return row_list = [item.row() for item in self.listView.selectedIndexes()] row_list.sort(reverse=True) From 334bf4ab444559b5063a4baf54f2dd56bb4047fb Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Tue, 28 Jun 2011 15:05:05 -0400 Subject: [PATCH 6/7] Changed dialog heading. Changed Songs delete confirm to match Custom Slides --- openlp/plugins/custom/lib/mediaitem.py | 6 +++--- openlp/plugins/songs/lib/mediaitem.py | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 8babfc245..23094a98e 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -202,10 +202,10 @@ class CustomMediaItem(MediaManagerItem): if check_item_selected(self.listView, UiStrings().SelectDelete): items = self.listView.selectedIndexes() if QtGui.QMessageBox.question(self, - translate('CustomPlugin.MediaItem', 'Delete Custom(s)?'), + translate('CustomPlugin.MediaItem', 'Confirm Delete'), translate('CustomPlugin.MediaItem', - 'Are you sure you want to delete the %n selected custom' \ - ' slides(s)?', '', + 'Are you sure you want to delete the %n selected custom' + ' slides(s)?', '', QtCore.QCoreApplication.CodecForTr, len(items)), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No), diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 61bdc32c0..badb5cde9 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -353,13 +353,13 @@ class SongMediaItem(MediaManagerItem): if check_item_selected(self.listView, UiStrings().SelectDelete): items = self.listView.selectedIndexes() if QtGui.QMessageBox.question(self, - translate('SongsPlugin.MediaItem', 'Delete Song(s)?'), + translate('SongsPlugin.MediaItem', 'Confirm Delete'), translate('SongsPlugin.MediaItem', 'Are you sure you want to delete the %n selected song(s)?', '', QtCore.QCoreApplication.CodecForTr, len(items)), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok | - QtGui.QMessageBox.Cancel), - QtGui.QMessageBox.Ok) == QtGui.QMessageBox.Cancel: + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | + QtGui.QMessageBox.No), + QtGui.QMessageBox.Yes) == QtGui.QMessageBox.No: return for item in items: item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] From da45d09e48df447d40c8e89a6fb3a2f587e44ca1 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Tue, 28 Jun 2011 16:35:28 -0400 Subject: [PATCH 7/7] Moved delete dialog heading translate to ui.py --- openlp/core/lib/ui.py | 1 + openlp/plugins/custom/lib/mediaitem.py | 2 +- openlp/plugins/songs/lib/mediaitem.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/ui.py b/openlp/core/lib/ui.py index 5055bb619..558c8ba52 100644 --- a/openlp/core/lib/ui.py +++ b/openlp/core/lib/ui.py @@ -64,6 +64,7 @@ class UiStrings(object): self.Cancel = translate('OpenLP.Ui', 'Cancel') self.CCLINumberLabel = translate('OpenLP.Ui', 'CCLI number:') self.CreateService = translate('OpenLP.Ui', 'Create a new service.') + self.ConfirmDelete = translate('OpenLP.Ui', 'Confirm Delete') self.Continuous = translate('OpenLP.Ui', 'Continuous') self.Default = unicode(translate('OpenLP.Ui', 'Default')) self.Delete = translate('OpenLP.Ui', '&Delete') diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 23094a98e..60f25ee0c 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -202,7 +202,7 @@ class CustomMediaItem(MediaManagerItem): if check_item_selected(self.listView, UiStrings().SelectDelete): items = self.listView.selectedIndexes() if QtGui.QMessageBox.question(self, - translate('CustomPlugin.MediaItem', 'Confirm Delete'), + UiStrings().ConfirmDelete, translate('CustomPlugin.MediaItem', 'Are you sure you want to delete the %n selected custom' ' slides(s)?', '', diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index badb5cde9..e0634d5cc 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -353,7 +353,7 @@ class SongMediaItem(MediaManagerItem): if check_item_selected(self.listView, UiStrings().SelectDelete): items = self.listView.selectedIndexes() if QtGui.QMessageBox.question(self, - translate('SongsPlugin.MediaItem', 'Confirm Delete'), + UiStrings().ConfirmDelete, translate('SongsPlugin.MediaItem', 'Are you sure you want to delete the %n selected song(s)?', '', QtCore.QCoreApplication.CodecForTr, len(items)),