← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~raoul-snyman/openlp/update-credits into lp:openlp

 

Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/update-credits into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/update-credits/+merge/246073

Update the credits in the About dialog

Add this to your merge proposal:
--------------------------------
lp:~raoul-snyman/openlp/update-credits (revision 2473)
[SUCCESS] http://ci.openlp.org/job/Branch-01-Pull/861/
[SUCCESS] http://ci.openlp.org/job/Branch-02-Functional-Tests/793/
[SUCCESS] http://ci.openlp.org/job/Branch-03-Interface-Tests/739/
[FAILURE] http://ci.openlp.org/job/Branch-04a-Windows_Functional_Tests/643/
Stopping after failure

-- 
Your team OpenLP Core is requested to review the proposed merge of lp:~raoul-snyman/openlp/update-credits into lp:openlp.
=== modified file 'openlp/core/ui/aboutdialog.py'
--- openlp/core/ui/aboutdialog.py	2014-12-31 10:58:13 +0000
+++ openlp/core/ui/aboutdialog.py	2015-01-11 19:55:03 +0000
@@ -34,14 +34,16 @@
 from openlp.core.lib.ui import create_button, create_button_box
 
 
-class Ui_AboutDialog(object):
+class UiAboutDialog(object):
     """
     The actual GUI widgets for the About form.
     """
 
-    def setupUi(self, about_dialog):
+    def setup_ui(self, about_dialog):
         """
         Set up the UI for the dialog.
+
+        :param about_dialog: The QDialog object to set up.
         """
         about_dialog.setObjectName('about_dialog')
         about_dialog.setWindowIcon(build_icon(':/icon/openlp-logo.svg'))
@@ -84,12 +86,14 @@
         self.volunteer_button = create_button(None, 'volunteer_button', icon=':/system/system_volunteer.png')
         self.button_box = create_button_box(about_dialog, 'button_box', ['close'], [self.volunteer_button])
         self.about_dialog_layout.addWidget(self.button_box)
-        self.retranslateUi(about_dialog)
+        self.retranslate_ui(about_dialog)
         self.about_notebook.setCurrentIndex(0)
 
-    def retranslateUi(self, about_dialog):
+    def retranslate_ui(self, about_dialog):
         """
         Dynamically translate the UI.
+
+        :param about_dialog: The QDialog object to translate
         """
         about_dialog.setWindowTitle('%s OpenLP' % UiStrings().About)
         self.about_text_edit.setPlainText(
@@ -109,30 +113,27 @@
                       'consider volunteering by using the button below.'))
         self.about_notebook.setTabText(self.about_notebook.indexOf(self.about_tab), UiStrings().About)
         lead = 'Raoul "superfly" Snyman'
-        developers = ['Tim "TRB143" Bentley', 'Jonathan "gushie" Corwin',
-                      'Michael "cocooncrash" Gorven',
-                      'Andreas "googol" Preikschat', 'Raoul "superfly" Snyman',
-                      'Martin "mijiti" Thompson', 'Jon "Meths" Tibble']
-        contributors = ['Gerald "jerryb" Britton',
-                        'Samuel "MrGamgee" Findlay', 'Scott "sguerrieri" Guerrieri',
-                        'Matthias "matthub" Hub', 'Meinert "m2j" Jordan',
-                        'Armin "orangeshirt" K\xf6hler', 'Erik "luen" Lundin',
-                        'Edwin "edwinlunando" Lunando', 'Brian "brianmeyer" Meyer',
-                        'Joshua "milleja46" Miller', 'Stevan "ElderP" Pettit',
-                        'Mattias "mahfiaz" P\xf5ldaru', 'Christian "crichter" Richter',
-                        'Philip "Phill" Ridout', 'Simon "samscudder" Scudder',
-                        'Jeffrey "whydoubt" Smith', 'Maikel Stuivenberg',
-                        'Dave "Dave42W" Warnock', 'Frode "frodus" Woldsund',
-                        'Martin "matysek" Zibricky', 'Patrick "mohij" Zimmermann']
+        developers = ['Tim "TRB143" Bentley', 'Tomas "tgc" Groth', 'Samuel "samuel_m" Mehrbrodt',
+                      'Andreas "googol" Preikschat', 'Ken "alisonken1" Roberts', 'Raoul "superfly" Snyman',
+                      'Jonathan "springermac" Springer', 'Philip "Phill" Ridout']
+        contributors = ['Stuart "sibecker" Becker', 'Gerald "jerryb" Britton', 'Jonathan "gushie" Corwin',
+                        'Samuel "MrGamgee" Findlay', 'Michael "cocooncrash" Gorven', 'Scott "sguerrieri" Guerrieri',
+                        'Matthias "matthub" Hub', 'Meinert "m2j" Jordan', 'Armin "orangeshirt" K\xf6hler',
+                        'Rafael "rafaellerm" Lerm', 'Erik "luen" Lundin', 'Edwin "edwinlunando" Lunando',
+                        'Dmitriy Marmyshev', 'Brian "brianmeyer" Meyer', 'Joshua "milleja46" Miller',
+                        'Stevan "ElderP" Pettit', 'Mattias "mahfiaz" P\xf5ldaru', 'Felipe Polo-Wood',
+                        'Christian "crichter" Richter', 'Arjan "arjans" Schrijver', 'Simon "samscudder" Scudder',
+                        'Jeffrey "whydoubt" Smith', 'Stefan Strasser', 'Maikel Stuivenberg', 'Martin "mijiti" Thompson',
+                        'Jon "Meths" Tibble', 'Dave "Dave42W" Warnock', 'Oliver "OliWie" Wieland',
+                        'Frode "frodus" Woldsund', 'Martin "matysek" Zibricky', 'Patrick "mohij" Zimmermann']
         testers = ['Philip "Phill" Ridout', 'Wesley "wrst" Stout',
                    'John "jseagull1" Cegalis (lead)']
         packagers = ['Thomas "tabthorpe" Abthorpe (FreeBSD)',
                      'Tim "TRB143" Bentley (Fedora and Android)',
-                     'Matthias "matthub" Hub (Mac OS X)',
                      'Joseph "jdmulloy" Mulloy (openSUSE)',
                      'Stevan "ElderP" Pettit (Windows)',
-                     'Raoul "superfly" Snyman (Debian, Ubuntu)',
-                     'Garrett "floft" Wilson (Arch Linux)']
+                     'Raoul "superfly" Snyman (Mac OS X, Debian, Ubuntu)',
+                     'Wesley "wrst" Stout (Arch Linux)']
         translators = {
             'af': ['Johan "nuvolari" Mynhardt'],
             'cs': ['Martin "matysek" Zibricky'],
@@ -140,7 +141,7 @@
             'de': ['Patrick "madmuffin" Br\xfcckner', 'Meinert "m2j" Jordan', 'Andreas "googol" Preikschat',
                    'Christian "crichter" Richter'],
             'en_GB': ['Tim "TRB143" Bentley', 'Jonathan "gushie" Corwin'],
-            'en_ZA': ['Raoul "superfly" Snyman', 'Johan "nuvolari" Mynhardt'],
+            'en_ZA': ['Raoul "superfly" Snyman'],
             'el': ['Alexander Siozos'],
             'es': ['Josu\xe9 Z\xfa\xf1iga', 'Christian Gonzalez'],
             'et': ['Mattias "mahfiaz" P\xf5ldaru'],
@@ -151,8 +152,9 @@
             'ja': ['Kunio "Kunio" Nakamaru', 'Chris Haris'],
             'nb': ['Atle "pendlaren" Weibell', 'Frode "frodus" Woldsund'],
             'nl': ['Arjen "typovar" van Voorst'],
+            'pl': ['Agata \u017B\u0105d\u0142o', 'Piotr Karze\u0142ek'],
             'pt_BR': ['David Mederiros', 'Rafael "rafaellerm" Lerm', 'Eduardo Levi Chaves',
-                      'Gustavo Bim', 'Rog\xeanio Bel\xe9m', 'Samuel Simon "samscudder" Scudder', 'Van Der Fran'],
+                      'Gustavo Bim', 'Rog\xeanio Bel\xe9m', 'Simon "samscudder" Scudder', 'Van Der Fran'],
             'ru': ['Sergey "ratz" Ratz'],
             'sv': ['Erik "luen" Lundin'],
             'ta_LK': ['"Prasad"'],
@@ -209,6 +211,8 @@
                       '        %s\n'
                       '    Dutch (nl)\n'
                       '        %s\n'
+                      '    Polish (pl)\n'
+                      '        %s\n'
                       '    Portuguese, Brazil (pt_BR)\n'
                       '        %s\n'
                       '    Russian (ru)\n'
@@ -258,6 +262,7 @@
                    '\n        '.join(translators['ja']),
                    '\n        '.join(translators['nb']),
                    '\n        '.join(translators['nl']),
+                   '\n        '.join(translators['pl']),
                    '\n        '.join(translators['pt_BR']),
                    '\n        '.join(translators['ru']),
                    '\n        '.join(translators['sv']),
@@ -267,8 +272,8 @@
         self.about_notebook.setTabText(self.about_notebook.indexOf(self.credits_tab),
                                        translate('OpenLP.AboutForm', 'Credits'))
         copyright_note = translate('OpenLP.AboutForm',
-                                   'Copyright \xa9 2004-2014 %s\n'
-                                   'Portions copyright \xa9 2004-2014 %s') % \
+                                   'Copyright \xa9 2004-2015 %s\n'
+                                   'Portions copyright \xa9 2004-2015 %s') % \
             ('Raoul Snyman',
              'Tim Bentley, Gerald Britton, Jonathan Corwin, Samuel Findlay, '
              'Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, '

=== modified file 'openlp/core/ui/aboutform.py'
--- openlp/core/ui/aboutform.py	2014-12-31 10:58:13 +0000
+++ openlp/core/ui/aboutform.py	2015-01-11 19:55:03 +0000
@@ -29,15 +29,16 @@
 """
 The About dialog.
 """
+import webbrowser
 
 from PyQt4 import QtGui
 
-from .aboutdialog import Ui_AboutDialog
 from openlp.core.lib import translate
 from openlp.core.utils import get_application_version
-
-
-class AboutForm(QtGui.QDialog, Ui_AboutDialog):
+from .aboutdialog import UiAboutDialog
+
+
+class AboutForm(QtGui.QDialog, UiAboutDialog):
     """
     The About dialog
     """
@@ -47,8 +48,14 @@
         Do some initialisation stuff
         """
         super(AboutForm, self).__init__(parent)
+        self._setup()
+
+    def _setup(self):
+        """
+        Set up the dialog. This method is mocked out in tests.
+        """
+        self.setup_ui(self)
         application_version = get_application_version()
-        self.setupUi(self)
         about_text = self.about_text_edit.toPlainText()
         about_text = about_text.replace('<version>', application_version['version'])
         if application_version['build']:
@@ -63,5 +70,4 @@
         """
         Launch a web browser and go to the contribute page on the site.
         """
-        import webbrowser
         webbrowser.open_new('http://openlp.org/en/contribute')

=== modified file 'tests/functional/openlp_core_lib/test_renderer.py'
--- tests/functional/openlp_core_lib/test_renderer.py	2014-12-31 10:58:13 +0000
+++ tests/functional/openlp_core_lib/test_renderer.py	2015-01-11 19:55:03 +0000
@@ -36,7 +36,7 @@
 from openlp.core.common import Registry
 from openlp.core.lib import Renderer, ScreenList, ServiceItem
 
-from tests.interfaces import MagicMock
+from tests.functional import MagicMock
 
 SCREEN = {
     'primary': False,

=== added file 'tests/functional/openlp_core_ui/test_aboutform.py'
--- tests/functional/openlp_core_ui/test_aboutform.py	1970-01-01 00:00:00 +0000
+++ tests/functional/openlp_core_ui/test_aboutform.py	2015-01-11 19:55:03 +0000
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2015 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2015 Tim Bentley, Gerald Britton, Jonathan      #
+# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
+# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
+# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
+# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith,             #
+# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock,              #
+# Frode Woldsund, Martin Zibricky, Patrick Zimmermann                         #
+# --------------------------------------------------------------------------- #
+# This program is free software; you can redistribute it and/or modify it     #
+# under the terms of the GNU General Public License as published by the Free  #
+# Software Foundation; version 2 of the License.                              #
+#                                                                             #
+# This program is distributed in the hope that it will be useful, but WITHOUT #
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       #
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for    #
+# more details.                                                               #
+#                                                                             #
+# You should have received a copy of the GNU General Public License along     #
+# with this program; if not, write to the Free Software Foundation, Inc., 59  #
+# Temple Place, Suite 330, Boston, MA 02111-1307 USA                          #
+###############################################################################
+"""
+Package to test the openlp.core.ui.firsttimeform package.
+"""
+from unittest import TestCase
+
+from openlp.core.ui.aboutform import AboutForm
+
+from tests.functional import patch
+from tests.helpers.testmixin import TestMixin
+
+
+class TestFirstTimeForm(TestCase, TestMixin):
+
+    def test_on_volunteer_button_clicked(self):
+        """
+        Test that clicking on the "Volunteer" button opens a web page.
+        """
+        # GIVEN: A new About dialog and a mocked out webbrowser module
+        with patch('openlp.core.ui.aboutform.webbrowser') as mocked_webbrowser:
+            about_form = AboutForm(None)
+
+            # WHEN: The "Volunteer" button is "clicked"
+            about_form.on_volunteer_button_clicked()
+
+            # THEN: A web browser is opened
+            mocked_webbrowser.open_new.assert_called_with('http://openlp.org/en/contribute')

=== modified file 'tests/functional/openlp_core_ui/test_firsttimeform.py'
--- tests/functional/openlp_core_ui/test_firsttimeform.py	2014-12-31 10:58:13 +0000
+++ tests/functional/openlp_core_ui/test_firsttimeform.py	2015-01-11 19:55:03 +0000
@@ -29,7 +29,6 @@
 """
 Package to test the openlp.core.ui.firsttimeform package.
 """
-from configparser import ConfigParser
 import os
 from unittest import TestCase
 

=== modified file 'tests/functional/openlp_core_ui/test_maindisplay.py'
--- tests/functional/openlp_core_ui/test_maindisplay.py	2015-01-11 15:02:32 +0000
+++ tests/functional/openlp_core_ui/test_maindisplay.py	2015-01-11 19:55:03 +0000
@@ -39,7 +39,7 @@
 from openlp.core.ui.maindisplay import TRANSPARENT_STYLESHEET, OPAQUE_STYLESHEET
 
 from tests.helpers.testmixin import TestMixin
-from tests.interfaces import MagicMock
+from tests.functional import MagicMock
 
 SCREEN = {
     'primary': False,

=== modified file 'tests/functional/openlp_core_ui/test_slidecontroller.py'
--- tests/functional/openlp_core_ui/test_slidecontroller.py	2015-01-02 11:40:51 +0000
+++ tests/functional/openlp_core_ui/test_slidecontroller.py	2015-01-11 19:55:03 +0000
@@ -37,7 +37,7 @@
 from openlp.core.ui import SlideController
 from openlp.core.ui.slidecontroller import InfoLabel, WIDE_MENU, NON_TEXT_MENU
 
-from tests.interfaces import MagicMock, patch
+from tests.functional import MagicMock, patch
 
 
 class TestSlideController(TestCase):

=== modified file 'tests/functional/openlp_core_ui/test_thememanager.py'
--- tests/functional/openlp_core_ui/test_thememanager.py	2014-12-31 10:58:13 +0000
+++ tests/functional/openlp_core_ui/test_thememanager.py	2015-01-11 19:55:03 +0000
@@ -34,14 +34,14 @@
 import shutil
 
 from unittest import TestCase
-from tests.interfaces import MagicMock
+from tests.functional import MagicMock
 from tempfile import mkdtemp
 
 from openlp.core.ui import ThemeManager
 from openlp.core.common import Registry
 
 from tests.utils.constants import TEST_RESOURCES_PATH
-from tests.interfaces import MagicMock, patch
+from tests.functional import MagicMock, patch
 
 
 class TestThemeManager(TestCase):


Follow ups