slackbuilds/misc/goldencheetah/patches/0004-Connect-with-Strava.patch

131 lines
7.9 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From dc3ce7e365dcfbf8089b643e1fa4e4cd88dc9d6d Mon Sep 17 00:00:00 2001
From: Mark Liversedge <liversedge@gmail.com>
Date: Fri, 17 Jan 2020 16:04:27 +0000
Subject: Connect with Strava
.. the authorise button on the add cloud wizard now
shows a 'Connect with Strava' icon
.. all other services continue to have a button that
is labelled 'Authorise'
.. this is needed to comply with the Strava API application
guidelines.
diff --git a/src/Cloud/AddCloudWizard.cpp b/src/Cloud/AddCloudWizard.cpp
index db1aea7f1..6deb107bd 100644
--- a/src/Cloud/AddCloudWizard.cpp
+++ b/src/Cloud/AddCloudWizard.cpp
@@ -27,6 +27,7 @@
#include "OAuthDialog.h"
#include <QMessageBox>
+#include <QPixmap>
#include <QRegExp>
// WIZARD FLOW
@@ -271,13 +272,15 @@ AddAuth::AddAuth(AddCloudWizard *parent) : QWizardPage(parent), wizard(parent)
pass = new QLineEdit(this);
pass->setEchoMode(QLineEdit::Password);
pass->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- auth = new QPushButton(tr("Authorise"), this);
- auth->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
token = new QLabel(this);
token->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
message = new QLabel(this);
message->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
+ // is there an icon for the authorise button?
+ auth = new QPushButton(tr("Authorise"), this);
+ auth->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+
// labels
comboLabel = new QLabel("");
urlLabel = new QLabel(tr("URL"));
@@ -367,6 +370,24 @@ AddAuth::initializePage()
// clone to do next few steps!
setSubTitle(QString(tr("%1 Credentials and authorisation")).arg(wizard->cloudService->uiName()));
+ // icon on the authorize button
+ if (wizard->cloudService && wizard->cloudService->authiconpath() != "") {
+
+ // scaling icon hack (193x48 is strava icon size)
+ QPixmap pix(wizard->cloudService->authiconpath());
+ QIcon authicon(pix.scaled(193*dpiXFactor, 48*dpiXFactor));
+ auth->setIconSize(QSize(193*dpiXFactor, 48*dpiYFactor));
+
+ // set the pushbutton
+ auth->setText("");
+ auth->setIcon(authicon);
+ } else {
+
+ // standard pushbutton (reset after used by strava)
+ auth->setText(tr("Authorise"));
+ auth->setIcon(QIcon());
+ }
+
// show all the widgets relevant for this service and update the value from the
// settings we have collected (which will have been defaulted).
QString cname;
diff --git a/src/Cloud/CloudService.h b/src/Cloud/CloudService.h
index b9c14c90c..95ebcc5ec 100644
--- a/src/Cloud/CloudService.h
+++ b/src/Cloud/CloudService.h
@@ -95,6 +95,9 @@ class CloudService : public QObject {
// need a logo, we may resize but will keep aspect ratio
virtual QImage logo() const = 0;
+ // an icon to put on the authorize button (mandated by strava guidelines)
+ virtual QString authiconpath() const { return QString(""); }
+
// register with capabilities of the service - emerging standard
// is a service that allows oauth, query and upload as well as download
enum { OAuth=0x01, UserPass=0x02, Upload=0x04, Download=0x08, Query=0x10} capa_;
diff --git a/src/Cloud/Strava.h b/src/Cloud/Strava.h
index 1c51a5da4..45ee2f57c 100644
--- a/src/Cloud/Strava.h
+++ b/src/Cloud/Strava.h
@@ -45,6 +45,8 @@ class Strava : public CloudService {
//virtual int capabilities() const { return OAuth | Upload | Download | Query ; } // Default
+ QString authiconpath() const { return QString(":images/services/strava_connect.png"); }
+
// write a file
bool writeFile(QByteArray &data, QString remotename, RideFile *ride);
diff --git a/src/Resources/application.qrc b/src/Resources/application.qrc
index 3fae9b8da..86fbdf032 100644
--- a/src/Resources/application.qrc
+++ b/src/Resources/application.qrc
@@ -167,6 +167,7 @@
<file>web/googlemap/dark.css</file>
<file>images/toolbar/cloud.png</file>
<file>images/services/strava_compatible.png</file>
+ <file>images/services/strava_connect.png</file>
<file>images/services/cyclinganalytics.png</file>
<file>images/services/dropbox.png</file>
<file>images/services/googledrive.png</file>
diff --git a/src/Resources/images/services/strava_connect.png b/src/Resources/images/services/strava_connect.png
new file mode 100644
index 000000000..868c433da
--- /dev/null
+++ b/src/Resources/images/services/strava_connect.png
@@ -0,0 +1,15 @@
+<2B>PNG
+
+
IHDR<00>0<00><> sRGB<00><><1C>
IDATx<01>\w<>U<EFBFBD><19><>G]H<><48>K<11><><EFBFBD>
+d<>"<22># %H<08><><EFBFBD>a21[<5B><>h2<68>0<EFBFBD>DM4ь<34>$C<>1F:<3A>DI<44><49><EFBFBD><EFBFBD><04><>/{O<><4F><EFBFBD><EFBFBD>\<><EEBBBB><EFBFBD>f<EFBFBD>/<2F><>y{O<><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><02><<<<<<<<07><>9`b<>g=<3D><>u<EFBFBD><75><EFBFBD>@<40><EFBFBD>G<47><7F>ұ-<2D>}<7D><>
<EFBFBD>S<EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>*U'<27>%<25><03><><EFBFBD>_ =<3D><><EFBFBD>=Q6B0(<28>-A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD><4B><EFBFBD><06><><EFBFBD>@&q<>ʕ+˔)SO<53><4F><EFBFBD><EFBFBD>A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GρL<CF81><4C>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B><15><>qPĺ}<7D>s #8<>"<22>qd<><0E>&<<07><><EFBFBD>A:<3A><>c3<63>y[<5B><><EFBFBD><EFBFBD><EFBFBD>A:<3A><>c3<63>y[<5B><><EFBFBD><EFBFBD><EFBFBD>A:<3A><>c3<63>y[<5B><><EFBFBD><EFBFBD><EFBFBD>A:<3A><>c3<63>y[<5B><><EFBFBD><EFBFBD><EFBFBD>A:<3A><>c3<63><03><>H3r<33><72>K<EFBFBD>:}<7D>4.^<5E><><EFBFBD>5k^sYA<10><>ѣ<EFBFBD>X<EFBFBD>"*T<>k.7I;V<><56><EFBFBD><00>: ԨS<>1<EFBFBD><31>(S<0E>jpp<70><70>dU<02><EFBFBD>l<7F><6C>5<><03><><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><<3C>b&̃<><CC83><07>=<3D>G;!s<><73><EFBFBD>d<EFBFBD>X<EFBFBD><58><EFBFBD><01>\<5C><><15>M<><4D><EFBFBD>W<EFBFBD><57>b<03><><EFBFBD>DZx<C7B1>b9r<04>V*<2A>ի<EFBFBD><D5AB><EFBFBD>ۣ\9<>!%<25>><3E><><EFBFBD>ˣr<CBA3><72>E<EFBFBD><45><EFBFBD>+Wb<57>֭x<D6AD><78>'<27>H$p<><70>e<EFBFBD>WժUCٲe<D9B2><1A>ΝäI<C3A4>СC<07>n<EFBFBD><6E><EFBFBD><EFBFBD>=<3D><0F>[<5B><><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F>Vf<><66><EFBFBD><EFBFBD>=<08><>Z<EFBFBD><5A>x<EFBFBD><78><EFBFBD><02>Q[<04><>0<EFBFBD><15><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޻@<40>{<7B>6W<36><57><EFBFBD><0E><>S<EFBFBD>FjS<6A>j؜KZN y f<><66><EFBFBD>P<EFBFBD>9!xstX/<2F><>
+<2B><>/<2F>*/O <09><><EFBFBD>P,<2C><><EFBFBD><EFBFBD>1q<31>D<EFBFBD>fw<66>u<6A>͛7c<37><63>頖+I4c<34> <0C>_<EFBFBD><5F>Ȗܼyst<73><74>]<01>I<EFBFBD><49><EFBFBD>L<EFBFBD><4C><63><C78E>5<EFBFBD>\<04>
.<00><>R3<52><33>4<EFBFBD><34>m<EFBFBD>6g٭K<'Z}<7D><><EFBFBD>ޓ<EFBFBD>a<EFBFBD><61><1E><>/a?<3F>#P<>n<EFBFBD>"䍲S<E48DB2>Ν<4A><D6AC>dlx<6C>i<EFBFBD>h<>Q,<2C>l<EFBFBD>M a<>MIJ<>7<EFBFBD>X@0<30>|<7C>G98p :w={<7B>m۶z÷o<C3B7><1E>K<EFBFBD><4B><EFBFBD>ƍ<1B>`<60>4<><1D>?^<5E>N<EFBFBD><<3C>
6<><36><EFBFBD><EFBFBD><1C>k<EFBFBD>.<2E>޽<1B>R<><52>|<7C>rP<72>FI^
W.\<5C>k׮UW$<24><><EFBFBD>Ν;<3B><>+V<><56>ٳ<EFBFBD><D9B3><EFBFBD>F<EFBFBD>RSs<53><<3C>I><3E><><EFBFBD>M<EFBFBD><4D><EFBFBD>3g<33><67><EFBFBD><EFBFBD>:<3A>O<EFBFBD>@<40>|<7C><>$<24><><EFBFBD><EFBFBD>x<EFBFBD>5<EFBFBD><<3C>ڷmۦ{g_<67>
+<2B>.<2E><08>#<23><> qEL<45>N0rHf<48>X<EFBFBD>l<EFBFBD><6C>by<62>gR^<5E><><EFBFBD>Z<1C>I<EFBFBD>MM<>,<2C><><EFBFBD><EFBFBD>: <0B>J<0E><><EFBFBD><7F>6<EFBFBD>
<EFBFBD>K<EFBFBD>7<EFBFBD>-<2D>N<EFBFBD><15>A?<3F>)]F<>Y<01><02><>ϛ<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>З<EFBFBD>|,V <20><> <09><><EFBFBD><EFBFBD><EFBFBD>><3E>.<2E> O<>:<3A>7<EFBFBD><65>Ӻ<EFBFBD><D3BA>6m
+<2B>9w<39><77>@<40>O<1F><>/<05><>>`<60><1D>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD> P <20><>9ڵk<DAB5><6B>R<EFBFBD>O<EFBFBD>8<EFBFBD><38>#J<>ҥK*<2A><>VׂB3m<33>4Х<34>R<EFBFBD><52>
+<2B><>u<EFBFBD>п<D0BF>pm<70>g<EFBFBD><06><>5x<><78>k<EFBFBD> <0B>d<EFBFBD><12><>L<><4C><EFBFBD> ݖ(Q<>/Z<><08><><EFBFBD>W<EFBFBD><57>k<EFBFBD>.\<5C>ur<1F><><EFBFBD>C<EFBFBD>.]P<>vm<76><16>ڢE /-$<24>m<14>
h<>֬Y<D6AC><59>g;<3B>q<EFBFBD><71>U(<28>)<29>C<EFBFBD><43>Uu#<23><><EFBFBD>`<60>wN<><15><>1L<31><1F><><EFBFBD><11><>>+<2B><<3C>̣?R<><52><EFBFBD>}c<>+<2B>11n<31>jul_<6C><5F><EFBFBD>N
+<00><><13><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}x<><15><><EFBFBD><EFBFBD><EFBFBD>Z<02><>;<3B><><EFBFBD><EFBFBD>>;<3B>-]<5D><><EFBFBD><EFBFBD>p<EFBFBD>i<EFBFBD>
hq?<3F>~.<2E><>BZ<Y<><59>:<3A><41>8
+<2B>a_ȫPHIU<49>VM<56><4D>BF7<46><37>B<EFBFBD>o̱}<7D><>Ő!CЯ_?P<><50>=J<><4A>~;F<><1A><>Ç<EFBFBD><C387>m<EFBFBD>rU{P8<08>>}<7D>`<60><><EFBFBD>jm(<28><><EFBFBD><EFBFBD>N<EFBFBD>40-ѠA<D1A0><41>:<3A><>h1H{<7B><>U<EFBFBD>d<EFBFBD>2l<32>0<EFBFBD>'<27>V<EFBFBD>Z<EFBFBD><5A><EFBFBD>,<2C>3Fݖf͚i<CD9A><69>'<27>z$<24><>D<EFBFBD>R<EFBFBD>R%<25>R<EFBFBD><52>J<EFBFBD><4A><EFBFBD>U=F<><46>5<EFBFBD>ѣ<EFBFBD>6=<3D><><EFBFBD>z<EFBFBD>h L<><4C>9#F<>P<EFBFBD><50>s;+<2B><><EFBFBD>%<25>ir<72><1B><>j^T<><54>]IZ<49>p<EFBFBD><70><EFBFBD><EFBFBD>t<EFBFBD><74><EFBFBD>
<EFBFBD><EFBFBD>ɸE<EFBFBD>/<2F>Nc'<27> {1f<31>i
<EFBFBD>]3<>zA<7A>RR<52>ڳ'<10><>W<02><><15>i~ދ<><DE8B> O*<2A>B<EFBFBD><42><EFBFBD> 'Q@<40>G<EFBFBD>j 'D̖PS<50>=J<>7<><37><EFBFBD><EFBFBD><EFBFBD><6E><DDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v[(`<60>?H<02>s1('<27><><EFBFBD>S<EFBFBD>S@<40>¸~<7E><>U<EFBFBD>VZ<56><5A><EFBFBD><EFBFBD><EFBFBD>;<3B>4<EFBFBD>x<EFBFBD>?)]?<3F><><16>nP׮]<5D><1A>
+<2B><><EFBFBD><EFBFBD><>
<1B>Ec<45><63> <20>B<EFBFBD>¤<EFBFBD>dk#^Iib<69><62>zn[<5B><><EFBFBD><EFBFBD>"x<><13>|'\<5C><><EFBFBD>m<EFBFBD>lG<04><>Ots_<73><5F>Y"<22>v<EFBFBD>;<3B>f<EFBFBD><66><EFBFBD>b<EFBFBD><62>Z
$P@<40><><EFBFBD>0<EFBFBD><15>m-<2D><>E<EFBFBD><45>#<23>"7b<37><62>D[]<05>k.<2E>c<EFBFBD><63><EFBFBD>BF<42>D<>iA<06>̌<EFBFBD>X<EFBFBD>`G<>u<EFBFBD>G<EFBFBD><02><>.O<><4F><EFBFBD><14>(<28>="1v<31><16><>sP<73>I<EFBFBD><16><><EFBFBD>8"<10>X<>[<5B>zu<01>'P<><50>%<25>ui 8<><38>PA{sJ&:<3A><><EFBFBD><EFBFBD>`f%<25>e S<>1<EFBFBD>[<5B>h<EFBFBD>k<><6B><EFBFBD>ݾR<DDBE><52>e<EFBFBD><65><EFBFBD>݆<> <0C><><EFBFBD>AǞ?<3F>e#<23>Xs<58>}Z<>;A<>_Q<5F>f<EFBFBD>O<EFBFBD>%<25><>3F$<24>iIh<>F0U<30><<3C>~<7E><>Sސ"=\<5C><>E4-<05>&<26>]4<>c<EFBFBD><63><EFBFBD><7F>0pe<70>1h2C<32>N*<2A> <20><>n<EFBFBD>s1.x衇<78>ݢ<EFBFBD>թS'<<3C><>#:<3A><>t/h)1S<31>X<EFBFBD><11><<3C><0F><><04>5<>.jq<02>1KA<4B><41>;<3B>YL<59>i<EFBFBD>Jv<4A>'<27><><EFBFBD>U<EFBFBD>><3E><><11>z{%}<7D>J<EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD>jy<6A><79>
q<EFBFBD>mX<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>kt<EFBFBD>t<><12><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߪq (<28>]<5D><><EFBFBD>:<3A>i<07><><07>m<02><><EFBFBD><EFBFBD>><05><><EFBFBD>º<EFBFBD><C2BA> <20>9<08><><18>2<EFBFBD>B<EFBFBD>b<EFBFBD><62>z<EFBFBD>j<EFBFBD><6A><EFBFBD>-<2D>M<7F><4D><EFBFBD>bΜ9<CE9C><39>ϝ;Wc<04>_Іo$<24><>s<EFBFBD>s<EFBFBD>f<><66>1<>2y<32>d<EFBFBD><64>9<EFBFBD>I<EFBFBD>&<26>.18޳g<EFBFBD>f<EFBFBD>辸|=<3D>в<11><04><>,l<>A@<40><>~<7E><><00>=K<>@<40>l<EFBFBD>2
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ty<EFBFBD>طG<><47>?#x<>Y2p<32>f<EFBFBD>2p<>s<EFBFBD>moX<6F><58><EFBFBD><EFBFBD>v<><76><EFBFBD><1A>f幄<66><E5B984>k<EFBFBD>3<EFBFBD>ì<0F>`a6<61>A<EFBFBD><06><>Jk A<><41>A<EFBFBD>;bu<62>X <20>e2<65><32><EFBFBD>t <09><>I<EFBFBD>*5u+<2B>,<2C><4E><CD9B>E<02><><EFBFBD><EFBFBD><EFBFBD>(5,<2C>{<7B>ҥ<EFBFBD><D2A5><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>c<EFBFBD><63><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD>Ř9s<39>jM<6A>Q)<29><>"<22>5]<><7F><EFBFBD>ݱF<DDB1><1A>֭<EFBFBD><D6AD>l<EFBFBD>ԩa<16>M<EFBFBD>6:<3A><02><><EFBFBD><01><>Y<EFBFBD>4n`<60><><EFBFBD>OԱcGu<47>d_ <04><><EFBFBD><EFBFBD>?<3F>@t<>(<28><14><>"f<><66><1E>1<EFBFBD><31><EFBFBD>R<EFBFBD><52><EFBFBD><EFBFBD>OO<4F>@6<>2<EFBFBD><32>_<><5F>]<5D><>p*S<>L<>T-v<>LA@<40>xj\J<><4A>~(<0F>$[d'<27>&<26><><EFBFBD>-O<><4F><EFBFBD><EFBFBD><04><15>o,}<7D>;<3B><><EFBFBD>?X<>M<EFBFBD>v@<40>^<5E>,<2C>.<2E><>m<EFBFBD><6D>  q<><71><EFBFBD><EFBFBD><EFBFBD>3a<33><61>|<7C>] <14>^+<2B><>J
<EFBFBD> yQj{<7B><>ѬGtJ<74>? 
+d<><07><>)l<>ژ<EFBFBD>`,p<>kXZ<58>E<12>ZѤv<D1A4>8س'<27>-<2D><>m<EFBFBD>|<7C>ۺ<EFBFBD><DBBA>>q?r<><72><18><13><><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C6A5><EFBFBD><14><><EFBFBD>5<04>_t<5F>`<60>5
+<2B>b<>'<27><>X<EFBFBD>Z
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pA<EFBFBD><EFBFBD>4g<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>|<7C>/~t<><74>`죰<>&<26>9F<00>'<27> <20><><02><><EFBFBD>񆰒~%%<03><><0F>\<5C>?<3F><<3C><>$5<><14><04>Y<EFBFBD>?7
<0E><>+l_<0E>ܽdkP<6B>: ]<5D><16>Ezb_<>x<EFBFBD><78>ɽ<><C9BD>8G<38><47>!<21>BL<42>J<EFBFBD><4A>Ot <0B>
+<2B><01><>Q:<3A><17><<10><>e-<2D>Ѝ<EFBFBD><11>y<EFBFBD>՟<EFBFBD><D59F><EFBFBD>eZ<65>;<3B><>r8
<EFBFBD><13>8<EFBFBD><38><1C>$<15><
+<2B>@z<7F><7A>@1Q<>7<EFBFBD>w<EFBFBD>9<EFBFBD>.<<08><><EFBFBD><1F>q<1C> ȸ[<5B>7<EFBFBD>.<<08><><EFBFBD><1F>q<1C> ȸ[<5B>7<EFBFBD>.<<08><><EFBFBD><1F>q<1C> ȸ[<5B>7<EFBFBD>.<<08><><EFBFBD><1F>q<1C> ȸ[<5B>7<EFBFBD>.<<08><><EFBFBD><1F>q<1C><><EFBFBD>ʗKG3n<33>~C<>yȓ<><C893><EFBFBD><EFBFBD>ymq<04><><EFBFBD>X/3<><33>ʵ<>s<07><>)<29><>'<27>)<29>e<EFBFBD><65><EFBFBD><77>><3E><><EFBFBD>ɓ<EFBFBD>@<40><><00><>E<EFBFBD><45><EFBFBD><1F>͖Wb<57>r<>i<08>x_<78> <0C><>s<EFBFBD><73>r<EFBFBD>@<40><><EFBFBD><12><>D%wK~<7E><><03><03><03><03><><EFBFBD>X<> c<02>IEND<4E>B`<60>
\ No newline at end of file