openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #04928
[Merge] lp:~googol-hush/openlp/trivial into lp:openlp
Andreas Preikschat has proposed merging lp:~googol-hush/openlp/trivial into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
Added/modified file extension filter.
PS: The other proposal has been deleted. I think I should ship this in one merge and not two...
--
https://code.launchpad.net/~googol-hush/openlp/trivial/+merge/44347
Your team OpenLP Core is requested to review the proposed merge of lp:~googol-hush/openlp/trivial into lp:openlp.
=== modified file 'openlp/plugins/bibles/forms/bibleimportform.py'
--- openlp/plugins/bibles/forms/bibleimportform.py 2010-12-18 02:12:41 +0000
+++ openlp/plugins/bibles/forms/bibleimportform.py 2010-12-21 14:43:10 +0000
@@ -253,14 +253,16 @@
"""
self.getFileName(
translate('BiblesPlugin.ImportWizardForm', 'Open Books CSV File'),
- self.booksLocationEdit)
+ self.booksLocationEdit, u'%s (*.csv)'
+ % translate('BiblesPlugin.ImportWizardForm', 'CSV File'))
def onCsvVersesFileButtonClicked(self):
"""
Show the file open dialog for the verses CSV file.
"""
self.getFileName(translate('BiblesPlugin.ImportWizardForm',
- 'Open Verses CSV File'), self.csvVerseLocationEdit)
+ 'Open Verses CSV File'), self.csvVerseLocationEdit, u'%s (*.csv)'
+ % translate('BiblesPlugin.ImportWizardForm', 'CSV File'))
def onOpenSongBrowseButtonClicked(self):
"""
@@ -276,7 +278,9 @@
"""
self.getFileName(
translate('BiblesPlugin.ImportWizardForm',
- 'Open openlp.org 1.x Bible'), self.openlp1LocationEdit)
+ 'Open openlp.org 1.x Bible'), self.openlp1LocationEdit,
+ u'%s (*.bible)' % translate('BiblesPlugin.ImportWizardForm',
+ 'openlp.org 1.x bible'))
def onCurrentIdChanged(self, pageId):
if pageId == 3:
@@ -402,9 +406,29 @@
if books_file:
books_file.close()
- def getFileName(self, title, editbox):
+ def getFileName(self, title, editbox, filters=u''):
+ """
+ Opens a QFileDialog and saves the filename to the given editbox.
+
+ ``title``
+ The title of the dialog (unicode).
+
+ ``editbox``
+ A editbox (QLineEdit).
+
+ ``filters``
+ The file extension filters. It should contain the file description as
+ well as the file extension. For example::
+
+ u'openlp.org 1.x bible (*.bible)'
+ """
+ if filters:
+ filters += u';;'
+ filters += u'%s (*)' % translate('BiblesPlugin.ImportWizardForm',
+ 'All Files')
filename = QtGui.QFileDialog.getOpenFileName(self, title,
- SettingsManager.get_last_dir(self.bibleplugin.settingsSection, 1))
+ os.path.dirname(SettingsManager.get_last_dir(
+ self.bibleplugin.settingsSection, 1)), filters)
if filename:
editbox.setText(filename)
SettingsManager.set_last_dir(
=== modified file 'openlp/plugins/songs/forms/songimportform.py'
--- openlp/plugins/songs/forms/songimportform.py 2010-12-11 12:07:38 +0000
+++ openlp/plugins/songs/forms/songimportform.py 2010-12-21 14:43:10 +0000
@@ -152,101 +152,101 @@
if self.openLP2FilenameEdit.text().isEmpty():
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No OpenLP 2.0 Song Database Selected'),
+ 'No OpenLP 2.0 Song Database Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to select an OpenLP 2.0 song database '
- 'file to import from.'))
+ 'You need to select an OpenLP 2.0 song database '
+ 'file to import from.'))
self.openLP2BrowseButton.setFocus()
return False
elif source_format == SongFormat.OpenLP1:
if self.openLP1FilenameEdit.text().isEmpty():
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No openlp.org 1.x Song Database Selected'),
+ 'No openlp.org 1.x Song Database Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to select an openlp.org 1.x song '
- 'database file to import from.'))
+ 'You need to select an openlp.org 1.x song '
+ 'database file to import from.'))
self.openLP1BrowseButton.setFocus()
return False
elif source_format == SongFormat.OpenLyrics:
- #if self.openLyricsFileListWidget.count() == 0:
- # QtGui.QMessageBox.critical(self,
- # translate('SongsPlugin.ImportWizardForm',
- # 'No OpenLyrics Files Selected'),
- # translate('SongsPlugin.ImportWizardForm',
- # 'You need to add at least one OpenLyrics '
- # 'song file to import from.'))
- # self.openLyricsAddButton.setFocus()
- # return False
+# if self.openLyricsFileListWidget.count() == 0:
+# QtGui.QMessageBox.critical(self,
+# translate('SongsPlugin.ImportWizardForm',
+# 'No OpenLyrics Files Selected'),
+# translate('SongsPlugin.ImportWizardForm',
+# 'You need to add at least one OpenLyrics '
+# 'song file to import from.'))
+# self.openLyricsAddButton.setFocus()
+# return False
return False
elif source_format == SongFormat.OpenSong:
if self.openSongFileListWidget.count() == 0:
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No OpenSong Files Selected'),
+ 'No OpenSong Files Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to add at least one OpenSong '
- 'song file to import from.'))
+ 'You need to add at least one OpenSong '
+ 'song file to import from.'))
self.openSongAddButton.setFocus()
return False
elif source_format == SongFormat.WordsOfWorship:
if self.wordsOfWorshipFileListWidget.count() == 0:
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No Words of Worship Files Selected'),
+ 'No Words of Worship Files Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to add at least one Words of Worship '
- 'file to import from.'))
+ 'You need to add at least one Words of Worship '
+ 'file to import from.'))
self.wordsOfWorshipAddButton.setFocus()
return False
elif source_format == SongFormat.CCLI:
if self.ccliFileListWidget.count() == 0:
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No CCLI Files Selected'),
+ 'No CCLI Files Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to add at least one CCLI file '
- 'to import from.'))
+ 'You need to add at least one CCLI file '
+ 'to import from.'))
self.ccliAddButton.setFocus()
return False
elif source_format == SongFormat.SongsOfFellowship:
if self.songsOfFellowshipFileListWidget.count() == 0:
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No Songs of Fellowship File Selected'),
+ 'No Songs of Fellowship File Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to add at least one Songs of Fellowship '
- 'file to import from.'))
+ 'You need to add at least one Songs of Fellowship '
+ 'file to import from.'))
self.songsOfFellowshipAddButton.setFocus()
return False
elif source_format == SongFormat.Generic:
if self.genericFileListWidget.count() == 0:
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No Document/Presentation Selected'),
+ 'No Document/Presentation Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to add at least one document or '
- 'presentation file to import from.'))
+ 'You need to add at least one document or '
+ 'presentation file to import from.'))
self.genericAddButton.setFocus()
return False
elif source_format == SongFormat.EasyWorship:
if self.ewFilenameEdit.text().isEmpty():
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No EasyWorship Song Database Selected'),
+ 'No EasyWorship Song Database Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to select an EasyWorship song database '
- 'file to import from.'))
+ 'You need to select an EasyWorship song database '
+ 'file to import from.'))
self.ewBrowseButton.setFocus()
return False
elif source_format == SongFormat.SongBeamer:
if self.songBeamerFileListWidget.count() == 0:
QtGui.QMessageBox.critical(self,
translate('SongsPlugin.ImportWizardForm',
- 'No SongBeamer File Selected'),
+ 'No SongBeamer File Selected'),
translate('SongsPlugin.ImportWizardForm',
- 'You need to add at least one SongBeamer '
- 'file to import from.'))
+ 'You need to add at least one SongBeamer '
+ 'file to import from.'))
self.songBeamerAddButton.setFocus()
return False
return True
@@ -254,24 +254,57 @@
# Progress page
return True
- def getFileName(self, title, editbox,
- filters = '%s (*)' % translate('SongsPlugin.ImportWizardForm',
- 'All Files')):
+ def getFileName(self, title, editbox, filters=u''):
+ """
+ Opens a QFileDialog and writes the filename to the given editbox.
+
+ ``title``
+ The title of the dialog (unicode).
+
+ ``editbox``
+ A editbox (QLineEdit).
+
+ ``filters``
+ The file extension filters. It should contain the file descriptions
+ as well as the file extensions. For example::
+
+ u'OpenLP 2.0 Databases (*.sqlite)'
+ """
+ if filters:
+ filters += u';;'
+ filters += u'%s (*)' % translate('SongsPlugin.ImportWizardForm',
+ 'All Files')
filename = QtGui.QFileDialog.getOpenFileName(self, title,
- SettingsManager.get_last_dir(self.plugin.settingsSection, 1),
- filters)
+ os.path.dirname(SettingsManager.get_last_dir(
+ self.plugin.settingsSection, 1)), filters)
if filename:
editbox.setText(filename)
- SettingsManager.set_last_dir(
- self.plugin.settingsSection,
+ SettingsManager.set_last_dir(self.plugin.settingsSection,
os.path.split(unicode(filename))[0], 1)
- def getFiles(self, title, listbox,
- filters = u'%s (*)' % translate('SongsPlugin.ImportWizardForm',
- 'All Files')):
+ def getFiles(self, title, listbox, filters=u''):
+ """
+ Opens a QFileDialog and writes the filenames to the given listbox.
+
+ ``title``
+ The title of the dialog (unicode).
+
+ ``listbox``
+ A listbox (QListWidget).
+
+ ``filters``
+ The file extension filters. It should contain the file descriptions
+ as well as the file extensions. For example::
+
+ u'SongBeamer files (*.sng)'
+ """
+ if filters:
+ filters += u';;'
+ filters += u'%s (*)' % translate('SongsPlugin.ImportWizardForm',
+ 'All Files')
filenames = QtGui.QFileDialog.getOpenFileNames(self, title,
- SettingsManager.get_last_dir(self.plugin.settingsSection, 1),
- filters)
+ os.path.dirname(SettingsManager.get_last_dir(
+ self.plugin.settingsSection, 1)), filters)
if filenames:
listbox.addItems(filenames)
SettingsManager.set_last_dir(
@@ -293,24 +326,18 @@
self.getFileName(
translate('SongsPlugin.ImportWizardForm',
'Select OpenLP 2.0 Database File'),
- self.openLP2FilenameEdit,
- u'%s (*.sqlite);;%s (*)'
+ self.openLP2FilenameEdit, u'%s (*.sqlite)'
% (translate('SongsPlugin.ImportWizardForm',
- 'OpenLP 2.0 Databases'),
- translate('SongsPlugin.ImportWizardForm',
- 'All Files'))
+ 'OpenLP 2.0 Databases'))
)
def onOpenLP1BrowseButtonClicked(self):
self.getFileName(
translate('SongsPlugin.ImportWizardForm',
'Select openlp.org 1.x Database File'),
- self.openLP1FilenameEdit,
- u'%s (*.olp);;%s (*)'
- % (translate('SongsPlugin.ImportWizardForm',
- 'openlp.org v1.x Databases'),
- translate('SongsPlugin.ImportWizardForm',
- 'All Files'))
+ self.openLP1FilenameEdit, u'%s (*.olp)'
+ % translate('SongsPlugin.ImportWizardForm',
+ 'openlp.org v1.x Databases')
)
#def onOpenLyricsAddButtonClicked(self):
@@ -337,12 +364,9 @@
self.getFiles(
translate('SongsPlugin.ImportWizardForm',
'Select Words of Worship Files'),
- self.wordsOfWorshipFileListWidget,
- u'%s (*.wsg *.wow-song);;%s (*)'
- % (translate('SongsPlugin.ImportWizardForm',
- 'Words Of Worship Song Files'),
- translate('SongsPlugin.ImportWizardForm',
- 'All Files'))
+ self.wordsOfWorshipFileListWidget, u'%s (*.wsg *.wow-song)'
+ % translate('SongsPlugin.ImportWizardForm',
+ 'Words Of Worship Song Files')
)
def onWordsOfWorshipRemoveButtonClicked(self):
@@ -362,12 +386,9 @@
self.getFiles(
translate('SongsPlugin.ImportWizardForm',
'Select Songs of Fellowship Files'),
- self.songsOfFellowshipFileListWidget,
- u'%s (*.rtf);;%s (*)'
- % (translate('SongsPlugin.ImportWizardForm',
- 'Songs Of Felloship Song Files'),
- translate('SongsPlugin.ImportWizardForm',
- 'All Files'))
+ self.songsOfFellowshipFileListWidget, u'%s (*.rtf)'
+ % translate('SongsPlugin.ImportWizardForm',
+ 'Songs Of Felloship Song Files')
)
def onSongsOfFellowshipRemoveButtonClicked(self):
@@ -394,7 +415,8 @@
self.getFiles(
translate('SongsPlugin.ImportWizardForm',
'Select SongBeamer Files'),
- self.songBeamerFileListWidget
+ self.songBeamerFileListWidget, u'%s (*.sng)' %
+ translate('SongsPlugin.ImportWizardForm', 'SongBeamer files')
)
def onSongBeamerRemoveButtonClicked(self):
Follow ups