From 8100a666229c2e1ec06c541cd867231005db520e Mon Sep 17 00:00:00 2001 From: "Brian T. Meyer briantmeyer@cox.net" Date: Fri, 3 Aug 2012 21:34:13 -0700 Subject: [PATCH 1/4] Contains fix to allow QT to move place About, Exit and Preference Menu Items into the Application menu per Apple UI guidelines. --- openlp/core/ui/mainwindow.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index b6c9ee8d5..8090575ab 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -210,6 +210,8 @@ class Ui_MainWindow(object): icon=u':/system/system_exit.png', shortcuts=[QtGui.QKeySequence(u'Alt+F4')], category=UiStrings().File, triggers=mainWindow.close) + # Give QT Extra Hint that this is the Exit Menu Item + self.fileExitItem.setMenuRole( QtGui.QAction.QuitRole ) action_list.add_category(unicode(UiStrings().Import), CategoryOrder.standardMenu) self.importThemeItem = create_action(mainWindow, @@ -304,6 +306,8 @@ class Ui_MainWindow(object): self.settingsConfigureItem = create_action(mainWindow, u'settingsConfigureItem', icon=u':/system/system_settings.png', category=UiStrings().Settings) + # Give QT Extra Hint that this is the Preferences Menu Item + self.settingsConfigureItem.setMenuRole( QtGui.QAction.PreferencesRole ) self.settingsImportItem = create_action(mainWindow, u'settingsImportItem', category=UiStrings().Settings) self.settingsExportItem = create_action(mainWindow, @@ -314,6 +318,8 @@ class Ui_MainWindow(object): icon=u':/system/system_about.png', shortcuts=[QtGui.QKeySequence(u'Ctrl+F1')], category=UiStrings().Help, triggers=self.onAboutItemClicked) + # Give QT Extra Hint that this is an About Menu Item + self.aboutItem.setMenuRole( QtGui.QAction.AboutRole ) if os.name == u'nt': self.localHelpFile = os.path.join( AppLocation.get_directory(AppLocation.AppDir), 'OpenLP.chm') From d8589c4a6ea4c76ac60c7af593733ffb360b272d Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Sat, 4 Aug 2012 15:43:44 +0100 Subject: [PATCH 2/4] A few UI tweeks and updates. Changed Contribute button and icon to Volunteer (As discussed with Roaul on IRC) Changed and resized the remote QR code for better recoginition on some phones (BrianMayerDesign) Updated the link and text to the Android Market, as it is now know as Google Play Set the window title for the ProcessDialog when importing songs using the first run wizard. --- openlp/core/ui/aboutdialog.py | 12 ++++++------ openlp/core/ui/aboutform.py | 6 +++--- openlp/plugins/remotes/lib/remotetab.py | 6 +++--- openlp/plugins/songs/songsplugin.py | 2 ++ resources/images/android_app_qr.png | Bin 2440 -> 1382 bytes resources/images/openlp-2.qrc | 2 +- resources/images/system_contribute.png | Bin 822 -> 0 bytes resources/images/system_volunteer.png | Bin 0 -> 2092 bytes 8 files changed, 15 insertions(+), 13 deletions(-) delete mode 100644 resources/images/system_contribute.png create mode 100644 resources/images/system_volunteer.png diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 85db72b25..d8d7ba6e8 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -72,10 +72,10 @@ class Ui_AboutDialog(object): self.licenseTabLayout.addWidget(self.licenseTextEdit) self.aboutNotebook.addTab(self.licenseTab, u'') self.aboutDialogLayout.addWidget(self.aboutNotebook) - self.contributeButton = create_button(None, u'contributeButton', - icon=u':/system/system_contribute.png') + self.volunteerButton = create_button(None, u'volunteerButton', + icon=u':/system/system_volunteer.png') self.buttonBox = create_button_box(aboutDialog, u'buttonBox', - [u'close'], [self.contributeButton]) + [u'close'], [self.volunteerButton]) self.aboutDialogLayout.addWidget(self.buttonBox) self.retranslateUi(aboutDialog) self.aboutNotebook.setCurrentIndex(0) @@ -96,7 +96,7 @@ class Ui_AboutDialog(object): '\n' 'OpenLP is written and maintained by volunteers. If you would ' 'like to see more free Christian software being written, please ' - 'consider contributing by using the button below.' + 'consider volunteering by using the button below.' )) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.aboutTab), UiStrings().About) @@ -615,5 +615,5 @@ class Ui_AboutDialog(object): self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.licenseTab), translate('OpenLP.AboutForm', 'License')) - self.contributeButton.setText(translate('OpenLP.AboutForm', - 'Contribute')) + self.volunteerButton.setText(translate('OpenLP.AboutForm', + 'Volunteer')) diff --git a/openlp/core/ui/aboutform.py b/openlp/core/ui/aboutform.py index 9b284165f..465286fa7 100644 --- a/openlp/core/ui/aboutform.py +++ b/openlp/core/ui/aboutform.py @@ -54,10 +54,10 @@ class AboutForm(QtGui.QDialog, Ui_AboutDialog): build_text = u'' about_text = about_text.replace(u'', build_text) self.aboutTextEdit.setPlainText(about_text) - QtCore.QObject.connect(self.contributeButton, - QtCore.SIGNAL(u'clicked()'), self.onContributeButtonClicked) + QtCore.QObject.connect(self.volunteerButton, + QtCore.SIGNAL(u'clicked()'), self.onVolunteerButtonClicked) - def onContributeButtonClicked(self): + def onVolunteerButtonClicked(self): """ Launch a web browser and go to the contribute page on the site. """ diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 1e5b4070d..ec440e24a 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -122,9 +122,9 @@ class RemoteTab(SettingsTab): self.androidAppGroupBox.setTitle( translate('RemotePlugin.RemoteTab', 'Android App')) self.qrDescriptionLabel.setText(translate('RemotePlugin.RemoteTab', - 'Scan the QR code or click ' - 'download to install the Android app from the Market.')) + 'Scan the QR code or click download to install the ' + 'Android app from Google Play.')) def setUrls(self): ipAddress = u'localhost' diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 583222e64..8b7bd36e8 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -147,6 +147,7 @@ class SongsPlugin(Plugin): progressDialog = QtGui.QProgressDialog( translate('SongsPlugin', 'Reindexing songs...'), UiStrings().Cancel, 0, maxSongs, self.formParent) + progressDialog.setWindowTitle(translate('SongsPlugin', 'Reindexing songs')) progressDialog.setWindowModality(QtCore.Qt.WindowModal) songs = self.manager.get_all_objects(Song) for number, song in enumerate(songs): @@ -247,6 +248,7 @@ class SongsPlugin(Plugin): return progress = QtGui.QProgressDialog(self.formParent) progress.setWindowModality(QtCore.Qt.WindowModal) + progress.setWindowTitle(translate('OpenLP.Ui', 'Importing Songs')) progress.setLabelText(translate('OpenLP.Ui', 'Starting import...')) progress.setCancelButton(None) progress.setRange(0, len(song_dbs)) diff --git a/resources/images/android_app_qr.png b/resources/images/android_app_qr.png index 859800bbee74ab8c788307e275ae8595a16abb48..2f1c3a3001dd221a03f468e6eeaf6b558ab1314b 100644 GIT binary patch delta 1365 zcmV-b1*-ap6XpsbiBL{Q4GJ0x0000DNk~Le0002Z0002Z2mk;806y2NwUHqte+3Ik zL_t(|+U;H2lB+NbLp%NdU)FgzGo_`rW9LF!DxQ`SAX*|@b{qh=3vGX!&w_E)tcZSm7G!As;e=DaSPP;e${~J;4!OUlad8c9Ig5u5hqv1NjCM`&< z2e){LqYn)XACHhTmIbNzK)ewep_!=#vc|}j@d>%lDL!-Jvw=pM(5yz2Q2#tjON?6q z%XdEp19)-eFYyAN0t728_>_@`ToX(*E8@-N(Xbls^W?n1!O?FXL%kFse?pgkI7-g| zWO|T&HZvKTxDiHsAm02M8g`w*VWV&x7RS~E0K=o+xu{PRXru{^&@9mcOqi8j%RhVP z{Wt5cV>>I0xS!GP!HeaZqmq!ct+CajM%oXe>7BCo+KoG z1+ItYGZ*jOI)^j2*YY1XEI255HyFrL#+^%8QZ=;a`cP-`$lb-8uSLVYgH{MI+irAJ z5YwUCgLlr>0qmFZygktuj+90kI-{S^JXl8{-uyTkPUA2Kj;2O3e;tO`w0t6Kz%YhL znh`%&;659OH$rpOyuhSerdJb{Rs_ZD-n>LW_Kc6p4z4pgvI0VLj*)4sCUVyS8S(is z8{qK)rQD%KvN?HyI5xmUX|KG1(5wy`hU`Wd$pP2-Z+&@zEZHI62+cSeCb`dv@;`jbNO!$J7`Q*= z`CS9xPBO%G0BpA#&kMlVt5^UG+Y!|Z{05p)zki-?aPtC(rGD(3DA*GL2VmA4MGh$j zL>;Q-1+dufqZ)N&))mPL2#uXYU@qX`a76GxRVyXn%JcHuf67d45f>M9Y5|;(5@;+Z zgm`mZG;~?J&cCzxdtM7z@ArXQI~eB$;shd^y{@e@e8U^Z#2caMVlJ1Ng8G$jiR&L~ zfA6vYR=nVts91YW?{rmP8`r&6Ut(xX*1`onXlnG*%NCLj5S& z6D3AlxVsk*e`nJUz4Zb(K?`(N7$`4rB{b=GjSn-q@4X~7EnvMJWCgCL1^RxQZ3&86AiKiXRS%&9f7oM4HHI>!_t^{=5x9Xw-2zAp z2+f3)z(g$&FAVl`f^p>ll6_-zQP#CUyfFB!IYEdwe^)}oC9ECJJtS_KnImYUaTge{ z^yMNq5_#U`lJ^TV$hmAq0i*?f7ELB1IAd;cv0E5*df*Ge;A z28yeDkre(}F){MB($l_8B;E+kBCoyXb|c>=I@S*zT)DNowT*(ioG=y`!_Nk1Sq6wV zLi1VM$hV2iGmJ6=G7|Kb-e`Qb(EV5;sF5Z#D?%eQLL)RnBQ!!IG(saZLL)Rnli&UU XUWGPuRCmO300000NkvXXu0mjfFWYkT delta 2431 zcmV-_34r$I3WyUSiBL{Q4GJ0x0000DNk~Le0001F0001F2mk;809A>~h>;;Ae*gz` zNliru+yNa96%BQvXQcoD2^vX6K~!ko-I{A`Tt^khe{=7(ckPW|Nt_2!Qzt=f)8>V$ zeu+X*DJ_j4AySAGK2V8#0R(C&LFp#~h*nL7ps7-nN~n=}C{Yz8%EPouX(3JoMW%{F z(iY@44+3r0&I8+BKX&)t!-v^Be>?Z?y=x~;9f|qioij7{%*>fH=lstZE8)X04l^@J z+Fm3|NW3r7B=y)Rf%%1`PIox0?fwzBz5yx+1TQ=QfXWpF?mAx?QV?kKli1|)-~ol? zNldL+U<{xDP!8DwjM-ln{OdZC8>JMU{`tcCXmj5I0QFFFX>Uu|_EZ*-e-&_gpHjfX zMR}yL(l@Dpw%-$F(|f40T9F*=muNW%u8076kw>A+?(8v4&e+W^9E`Eq4>=K;5f%1K zZQ`G*Qd^b_+ZMM?c(7n4i+~euum;YKa(RW~6s!)4jWBo-?@s&p-w6-&_H6ZVLvi(+ zremSFg6hTt5k2^RctAoze?%UKc3WJ>44eK0ajDu`wW(V5Y~|MK*ADc$-c1m)}H~mTmM}GFlc|$ zy6z_V_{vWDVruvoQ`?-Sc!;sBZo|*RriGtCepzbV(%`?^%$=(fKdZ2f7|0~|tIgn` z@h5ul2H0STE_hTVf3FEQkf3Ha#A58C7>X z3gfmYW`X7fFF};Ce~kdCJp8^wD*sI2CoXZhhhTjXkcOlpraAqn9Ebo zvFMM*mbP{vc>X>nhjHfuFxzFUfa(-A2%Ru8iPynoexz+qGgo}FE#%JHl1?fS1gTfh zV|wa3yKB4ge>c!T{_3wR_y+7~imqsnl&e~?yD9q!boT##}8oTJcP;Lg6Sj!!` zG%B~cbaZhG@V46m%x_{m50^$;J997Efbr{q457inzU|*!N|dm@xi? z0u*B+e~XKKv>L7@n@V#Go=y8<@*)h{PR3NL%HT;62_!Io#SZ75fX>uwydSb!yHfn7 zA6akcajz9?;~Eu^>LD9UofJ(CqF!e+{IFtThNyL^^9F-D7GRK}zbG%(Q_7 zR&1aPSl2Rfr0iaWg==ttUpHimaN9D*j>4u=0q7gz{DUfZWwP`+6IZD;>tz5cCR>a@=@vO-ODulBmfG}sqg|c#@ZD-ta}1^)jjf`bdZM|6T0#lT z5N8^RLyW(Pi?~>ClA_78dhxEMp;+9De`D>lp>Iw&U8Efta@9n| z!3+b;_81>UbtXRutgAJh)dbG{cIP`H-%nkCzsNptQp6S1NtHx3MWt$v>1@Iv$jMr` z7>Tln6R@NX)m5q)t;X?0(*9z5e+A=ypB9lo{5XQtjCY9?ZH4-Ka`dZ`&2+VW3{W_6 z4=v%St98;X3GO#JotCMWVH22DFZ))|lc+W?sbtKecZN-stoDnJr=%pnK&jN>dD?ZU zjORXYvp-QPl}e>jMOl1*iVUG2HxhnDt6a}g5Z{lw9ml&~11ah0Gf6&Me=%yl{Zp}& z?LGjy8ymNeux%4VJK(pYB~W`#GVhS6&o>kgm)yt3c+-4yFkr1Ae&#vPi~wZ1r+Na^ z2J#6F05ly>*~Ss$aYL-UDG3~)aKbzY7^HL5%fzF{<-;roR_DfEpYT?E1fbLhr$(ab z{a)9-t;ImE1b=eOelaB~f37HkJSQR|my+{cr;Oon(vev@YBLu6vmT3GaKeu0^wQ*9nOl62t2H26DOv z#c11alu}N3{eEa~SZg5DNdvDwWN|4Yu3T!$joi3`#+-(NxdM>2Mo&iWPR_SN xcXA~wD>u~>V1$S?)jsuAf1|_H|IL4@{SP&rDe4WrCQkqW002ovPDHLkV1l$>k7xh@ diff --git a/resources/images/openlp-2.qrc b/resources/images/openlp-2.qrc index 1b833a4db..128042bf0 100644 --- a/resources/images/openlp-2.qrc +++ b/resources/images/openlp-2.qrc @@ -116,7 +116,7 @@ system_help_contents.png system_online_help.png system_mediamanager.png - system_contribute.png + system_volunteer.png system_servicemanager.png system_thememanager.png system_exit.png diff --git a/resources/images/system_contribute.png b/resources/images/system_contribute.png deleted file mode 100644 index 39b0e0016e7c8a855cdfab5154612bbf9aa6a03e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 822 zcmV-61Ihe}P)V6ht4z%MCD2qt@sc2# zQTehS#4NhlgBJ9Z)=ACQJ6KnHs@`cGw;sZ=A64a{~koKUVQMt zfx`#q*{g2W$JT_nY;Ms?UBPWOm^$lCpn`pjoFnq)eoK6S0d=WV^K3P_f5&HA) z&Fdx3T{4;x(b}nTO|87Lar&PL0HE?l4(l%V!`YLbNKH<{50x7F)fHECdX+eqUsrk$I9yfkG5b@Qc0)@e7hH2A;txXe*Yg3?hjTj!%5}&_xK<3LsXaEni zV-&C(@uK$qByh+DwR%DkdL|q(F;VdH_5sbKFt@mY^C{6pfWJQ+Mjc#+K}Z-1y}xuQ zx|CdaK=80EqrR}XHM^I653&idYU|)i1V;zd`12An`clrj$Ugzhh%L=cR77t9CK~X#e zOTA&!t1vY=UBhW<=};ylC1$TK&4L3n;^Sh`(4|Ife56fYUe5=Blt|wh+M^8@GIPNt z0m3o}n{5Rz-!w&W1Oh$=)LQt61@IU1v9UUf5UD4=Du)Pp`JTWGwUyS?_^!U~n<6SU zB2eh=>9^I<-r1dX&byTJTRZw(x8h1ASgRm2B@8k@AzIt}otlw}xBCt$2CTCH@(y3% zll_8aS+FdK01?ED5aA31SydI>_VA;VIPN?D1)2OUjUdy$D*ylh07*qoM6N<$f;2~Y ANB{r; diff --git a/resources/images/system_volunteer.png b/resources/images/system_volunteer.png new file mode 100644 index 0000000000000000000000000000000000000000..d010161028706c9533efcf2e2aeee14889043679 GIT binary patch literal 2092 zcmV+{2-Ek8P)x^N>2uX8h&bT6(~a~3;NbIZMH){Cs7egy;MU8EPW zAQ|qP<*$)1`~v`DfA%@+R1Cxzn$HraO90ViZ#@bbjy{_7`gpPh^rF^!PdY6pdfr)0 zb=`kt{=8`BHR}_Z01jIFKCe?EGE7W%(A9eZOmmG~Nx5cc$b~x!mDR*%F0af-SA9gZ zxwqr8_Jfc6ERU~!stlyx%>S|Gh;l2yVX{7HnHG#g=t?&&JAZ&sE4Qt7WWu$(%(Ddt zo$K`3qRrHw`&k}t7wYd#-tFjtt#K3fo1MnSDWX<@u$zmzM0Yftj zjaBg*Q~mDUI7da4nzKA=Wiqd1X`uIo`-nylw6XwfuWa8%qQG}noj-M}mnf;gNs+0> zIsm<~Cg#SXgM@_>XFq-`8UaY(6wvLuzqKO=AZ3K7e~lI90dX9_D_Qm7%f5K}7s zie1(oi>b1IY;Zjspj?vNbL~QAlhn93qIxr;Vrs&SV>e9|P?)u4Ul9v-gg0NXJbtra zei+4-2~ct^TFvW$l0Nv(C%@jE054U2VU8LDzFSCbPRTQksAjuOFB>#zDo32S%ARf; zpQ_`2ZksO8MJ$}8@qBjQk~imMz6-Dd7)xq=mMXRRB)rLVEpkMZ8h#03@DaaldmEaa zGexe_e_ZXkY{QwtlR*n@v;pW|X#w6#35h^|l2H+Gim;?O?_tNqV*sVWQNF(?EY%!r zuFXrc;~x+Q^f4RPA<8yzO+Mw$)Qd!YPW1DL{oz&16ZLOfaJ*}rl4t-p2Vg*};(3ha zyZsZ@?`?9|B4!-E>*st*VhD3q>%sqpY5zXD?=A5wD4M&xiirRs?t7CzR}(!%`pu%O z^8ow-Ixn>@B0}WfvArxGQEL9VooWU5CfNHGZfv#ydXGJgk?Id&tH7+P$4A7zf zdS138QKzkkCOzm2&{bFZkY>H1l$&4Yo_tt5E3{~C$fhB(%*r$4x21m_N_!m}OF3!C zqqF(lY{X$+b5TJeI*)`i{+BMsH?pnWd9OkcjjKqa4jX<+Y@G6M`D3exszRzEf*R!H;IoHTR=bOuL z)P#D?vcZ%dE#@A?cUQ_c=BgnITDks%?CD>G!-K{hJ=2__vcVVZW5^xgw>Xz=#tB|b zQ%T-+ob3;()yWt}j0yJCKeiKD`5}o$VT%y^_A(zaJ}Ex4?JBm!Yu5?jkyTnkWt7^z z_NQIegVKf?!N}-cQ8}VGTM{hmQCyYOPu`z-ia6;uMV+lhlyYPbh9L)86C!}ZnH8B52cQ_>gyf{b7oht$QF^A5`n#AcgQ2g8!`1@r@iE1fF;ii# zL*8s|u}#7!k|l^^cZDdi#agZp@4nC&BUvZf^B-~@g{IRJ`~hjLKCQVhX9(7>2D?NY%?PN(TTo W*alb-Q_5Tb0000 Date: Sat, 4 Aug 2012 10:09:12 -0700 Subject: [PATCH 3/4] fixed spaces around brackets to match style guidelines --- openlp/core/ui/mainwindow.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 8090575ab..87a650a30 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -211,7 +211,7 @@ class Ui_MainWindow(object): shortcuts=[QtGui.QKeySequence(u'Alt+F4')], category=UiStrings().File, triggers=mainWindow.close) # Give QT Extra Hint that this is the Exit Menu Item - self.fileExitItem.setMenuRole( QtGui.QAction.QuitRole ) + self.fileExitItem.setMenuRole(QtGui.QAction.QuitRole) action_list.add_category(unicode(UiStrings().Import), CategoryOrder.standardMenu) self.importThemeItem = create_action(mainWindow, @@ -307,7 +307,7 @@ class Ui_MainWindow(object): u'settingsConfigureItem', icon=u':/system/system_settings.png', category=UiStrings().Settings) # Give QT Extra Hint that this is the Preferences Menu Item - self.settingsConfigureItem.setMenuRole( QtGui.QAction.PreferencesRole ) + self.settingsConfigureItem.setMenuRole(QtGui.QAction.PreferencesRole) self.settingsImportItem = create_action(mainWindow, u'settingsImportItem', category=UiStrings().Settings) self.settingsExportItem = create_action(mainWindow, @@ -319,7 +319,7 @@ class Ui_MainWindow(object): shortcuts=[QtGui.QKeySequence(u'Ctrl+F1')], category=UiStrings().Help, triggers=self.onAboutItemClicked) # Give QT Extra Hint that this is an About Menu Item - self.aboutItem.setMenuRole( QtGui.QAction.AboutRole ) + self.aboutItem.setMenuRole(QtGui.QAction.AboutRole) if os.name == u'nt': self.localHelpFile = os.path.join( AppLocation.get_directory(AppLocation.AppDir), 'OpenLP.chm') From 943cac3f7f001c1304c084dc56b8fc29ded9e842 Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Thu, 9 Aug 2012 22:48:05 +0100 Subject: [PATCH 4/4] a fix for bug 1022038 --- openlp/core/ui/maindisplay.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 17a933a55..6dd37b9ed 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -580,7 +580,7 @@ class AudioPlayer(QtCore.QObject): self.playlist.extend(map(Phonon.MediaSource, filenames)) def next(self): - if not self.repeat and self.currentIndex + 1 == len(self.playlist): + if not self.repeat and self.currentIndex + 1 >= len(self.playlist): return isPlaying = self.mediaObject.state() == Phonon.PlayingState self.currentIndex += 1