From 390b28b240755c2636aa8fef96d5b0197a780a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Thu, 21 Sep 2017 15:55:08 +0200 Subject: [PATCH] Slightly revamp the http example It was already revamped a fair bit 2 years ago Replaced Q_NULLPTR with nullptr. Added a minimum size to the progressbar dialog. Update the label if a redirect is rejected. Improve the overwrite dialog message. Replaced the documentation image. Task-number: QTBUG-60628 Change-Id: I0fb70d90e1d6ca84a8307bd6ea4ea1ce220feeaf Reviewed-by: Edward Welbourne Reviewed-by: Timur Pocheptsov --- examples/network/doc/images/http-example.png | Bin 7006 -> 8099 bytes examples/network/http/httpwindow.cpp | 46 +++++++++++-------- examples/network/http/httpwindow.h | 8 ++-- 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/examples/network/doc/images/http-example.png b/examples/network/doc/images/http-example.png index 16b0539b1bb42d12e85378962714c9e68af62971..c5f3ef1649415c6b988a8c82b51e0e06eb5f9a34 100644 GIT binary patch literal 8099 zcmeHscU05cvu{8=1W`dz;V2TK9zdmtsGw9Mh>8#ukQxGlA|)Ww385T8L`uXQi3%hr zB2pxRh7w9pNk<^sG&o3wu~Z^0f`8&9CNqi6lfa z(Q}f?@`@>vMJB7)<8B;GtU2tlcc)AWR7H@!N7M1GRifE;n|J9fjoTl+DjtN%M&QnS zT{D+(JcyUxd`%0f=}NM9zs`HlbwL}WzYLHiLROS zt6Z$&G>;lj`_=IEIXa@b2mF~DnW{XZFdr=-+YL+SS%s5o)(ZFwn~diMrDIX$r~B_X zsU|fZx8-wx))BAx9&{Qg(}bKW&*Pp0l%63qn~L^PSDjjJWTOz)6nXJc^e4dt+$AKz zn3v73*Al+35?YMji4K~;aPFgPIZ-S1L=T*(V<_Lc1N}m_V(~>ZBLI3OH=pDYCBixF z^Ltk^{y0MpupD14Un=_90h6vu*%fYR83sBxRRsy53x+WqUK26^Qo|16buvVK^5P_7 zvAj6XKp0oWlN?24z_KxDfZrq948GpFN9=KXd|ka6^v=}VP|BkJ?^UD1^@-uea!em$ zZQRKlF7e536Auo#D`T*z{ObZsEu=Qrm72wPd{-5hkNhdk`J@%uE@;R51>;eICshj^ z;|}TAZsS5hN*xv%{y75)o}8U0M@fs-?p2PHz5BIPHNMV_*+H@JGaf6hU}+7TQ`ho1 z&vS^^;SvR~Z}{2uPYi~tIOSb`nB5+w2k z?z)ve)OlL1Y}oRW=nd&NtE%$RsMf4-X3EJm?+xcWt#Hv2P;%3-bgX&#@KQdJ;zSK^ z!~BfR;gG1yCwZ&Us|Eaw1Ww4PNZ2DU{=G2P4o(d5uMKY!CB>;pY@9FbI`v)4dMn_2 zsm7)3sO3UYpg$pexW+b&|5jJWbI8fRmeVer?HJal>an7Pi{+Rdb4~k5=wEJrAv%pz z#ZZZGP{mMQ2SVqT`L$E3%PLqSZX6?OJ&xbbWsA z9E@MI4hs%=>>EhmcqlA<`!Dmuw!8e2OSb-nEMQOA)`VZLOj~h_7(mr<=f7P14Exsh zOa}z2Q`jN~0&UHa1%}7|Tf^8*x90LaL7=AGp9w0v#3hs0#R2I`_H7YkZk*f@q9&1? z0|@p=@C+iDH0P8t`~o4O71}U=gl7bIvB)T5?FDFqpvt69V;Fc!pO(5m5RV9XhVDR* zFh>BY^!S+S^ivxKGd0S)ws=l%OYEleaGQt)STq>=s-syVdL(?JGO)vto)s-z<$RLX z3c@?zO;jc2TJ~KeYBt71TKz*d!W%1s5&Kk+M43-*7^RjJwwkTh&hiMrNI^aF!l(1| zh5)Ni8O_DYR3vFqno%fJC5uEIK>*Q=@V5-FNWR^BR;w?4k+DoaB5}XIBxAa4O3xoh zycfIguls%mDQlDLullQ-!CslkXhMaq5}KA3IaAp*Zb%P_lFmfyX#qMO1)Q>q+Ko>X zrs{L%P+B!hkNH1Tji*|C5{qy~U3O(&Ns%raG7IFzBeJx%p7(pnj|=YKy&x@HS^#rh zoC+P<>FFoBN7GfGD2J={`Vou$FwsN(feI*2jW@_#&&5WF(vRaM94l+0z1ap7qIN zB?+D^NKvnUm<+t+mqTw67O-y;rxsrVezzq5tpDa?yuJ{NnQ`Y#7m^5vC0+rJ0hv0= z_+a+Sp>RTJF@df)1!)b9ahXai2riwaw8I~L!LI2NujBkbC@SUp-@;W;>+y*v)@R%> z2wT0Cn^W{Kt4sFsytJDq2}ZvzRd?vly{eV5B*CySn2wlmiJUhZ)kI3hk);0PdBf-f z-;(|u^AQ_XRd=_WO!U5W!{@mIqmR5t{H}a4y%#UYS}(aHi8Scy;1n$*cvgLM_ATfY z<6p;w4hQ3-d$dG^m^t&94ntn1h$jgS*GLQQGGF_A3YFH8-?RSJBOm6v%kVQXHNo%L z^ENB)LN6%#;Ja%PFP}f_UusZ*KX*G#kR4A8L+PKKr(xt;83Ph~Yw@FD>KP61tI#z9 zD>_}3l}`HYCxNtU=QiZF$&%w6S4s%~`8zKW9{EYc7atJ`c~u$ywWl+VCJ2e!^=7LB z1wLN5|0sqsv04r(c1Q({Jk)F&Z7_IV9=uDurc=(AaYzG8!4Pje*1(TrH!tGN#-u(( z(MX~dO&3D=^X#ODMtv-)8t3a?XOJ~nwVGshVE}XSK-?pv#c%gyC>B~ZJ($UJkOk3L zwoKIAJ>gLh^w)!jOzCSaoZj#%bvv*tYAW%_WoPM5Ii}(oda-AL;P}npXJSW^ENm_H z^4#5WEm2sufl%h}2t&^WKWd(^@s7G(Y6HD8+}m+!nKnK7YlA6+*z=<;9qO|sBU@qz zHpCcie&1ol;#5v3g)&ogDXpZ6Pl&Y2fW`BnJi}0aFybK5I)C+r6kKAvg31vfAnyP7 z0TG7;fnrb_>+t|$yMGl70=X*uC&N0iz-~)jF;KDv5OdUk?N&DfVg82hF7c+T0AhN; zz5-S--@r^|=b)~N8!4fGdwfj5Mz*=3FIg!2GDlFgjUQxvb?(UhUEj zL%&Mu*r4fzirOx)!)(!O*{^b$m%|1U>Wg=6D$M+gPpF`0%RZ{A`sms{74C(8U+a96 zfx2ItFXdUT0)>!g5f(Qf!pu{{Kb!75MffF=lGHs#(NCSW2GtS*NAO11_LWbaVfUfo zK=LTml87TL{Rj@{9lMMBvG!8X){~Mjz`7v_vl$Lv`E+BX;@MP~y`PT4*5R<{<#fL1 zn7iM!9M@sJ4SO-md;rO2wKb&l=;b74+K~+u;oUUj_t?m)f;W!?k_0R4Wuxu_m5K`H1}_Q*v)=W%bB%6>1=qf+Y0u%nq=}%OZB-FB*QBa6iP8OWB9a z`w`{C?_t`|ZwFSL>FD#h0G>LDwg#_AS*Vmo!nVpiBfc`1BOCeeOF3^wEHb=I@vhRr zUBz7UQ!Jl^G>41}d&0)`3jD1h0&9}p#1)7Rp_;i|I&^1Uhu{3yglr8LBd;d0E*Tu; zna2bkeC9FjpOF4-IHwbS!Z;`;sc6|2!finU+%BxW+k%EZFi#xS|qws@#@t z*4JV*IJi8&c8F8(2LiIligIuqm8X)Xodu?|@(UOBYJVfg2~3%NBQ=G*Hcn+?nBF7Befa@@Y(wP7ZI4*s3+?IUQ_}TFZ%hG*YS?Z}Rl(bCv2Da`et)Eh?v}wJVpDtC-7j2ycBu zm+lH-9)Mg~B)m0hz6{YcIY`)BnERkvI%ZPJ)chv&T~C5<06z2i&|}D0qLfKqKEmJW z17J|P;5uAvJuC2Z;&@l+aAUCZD_O8RfNGT{OPF*^LFAq=M!Asvc?;GsI%ztiUM~oUqdA=msj|h zNc4rE@*qeSN*=|-IcbM{C^o=HzBtoS7G?I?M~+PA;&UU3r7k)X{U36Vyc;`P=~McHYYk4q{U-hA;Sby#%5{^EhIV|n zzwh97m5ZOZW;+(Zy+_Zo6^^@MdX!Yw@AxhX?eF}ohzv-h6esN#-zjoKa&)b~D73)p zqV+5wR2P(8lvD5v`ZDh|L^F9MVwJl-Ps4`~bZyR`U?kF_1v03wl0imu^eds(ME?q~4F~Z@#o8 zw%{f4$uzc6ebM~SkL}X2zFYb)8yvR3dc9<}4^xDKzFXtv@&rJnFMT{`T32E83)S=g zDf+8Yfh5BCg^d3th>zW*vW!gwfqXCi53&gh0ls|R@0dcEw1CIWbJtZ&9X>(U+%xN* zhLVZNm5!|yI?c0AZ3jwwzy`5y+MSxG^5H|bj|DNkyoVJdj{9fz_Zq>B3*+lv%1s?n znKR>_-AG&(H&4dL5bSThWMA955_M4b;@b>!_)nA^+8crr$YhhF4w!6^RS|mS#SakP zwB~L8E)_GBUzi7W7-cfu$cm$lG-f*6T36{hb1SWTT44;68Tdp$uMDN_GGK0)HOICv zdTXzv1DAM6bjs)@4-Buds_?6<+S59+OFU|4y8is!``cL6@6Xs<7HWjIk26%&L-(upl6*4) zeI+Yp)l`}4jEu%OB7BDYGTV2wO<4Yb@JL`^YNf(9-J$F?giL={@=*H~HcA5%gapd8 ztoP;dF~lo{RkhCAtJ8_P>Z~a8MW^LN2Ghu~0O&RFCh|Xhi@6w!3nVQidvcE!2eWfyWW7tOMqI|h;TC=9FxEw{n!Pz;#R9W|z_$)nUG$zn}M83je4}-de5;>(nnDp2L(g)Cy=#of6Zkwqzs1)1)Ze z)m~4%y-!%{KOp70zD^?dkGCP;gNLpsvwH{M?iP1=ScNVrsdOM)KrmU6XdC4fRPU>i zT-oMQ#QF|5A?;7^=y_I{;>PZ!k6|EIq54J%{xo?CmR)^M94WH)hc-Bi zRQ2QQf@U^KzSn(?Dme>OSH0&Rtx3MppgN;cpZGdyt?F;5PMsQ>XVSXk>k3rq?fi_2 zPS?q%?wR2J`!EpbjtTn`RQ6%aMoF1vhz^O~E#Bo1;FOA#jYZJ13%CL3qNKrG&nTs1 z$0g^p!YAd^lZec#lSqTlJi(847xHLtpKi^UZ<&Qdr@f7%L<^J|Yegh#D+t8J=1Pl& z|Im`Fy}S<1KVVY2Bqz379CgA=OQKY&GV^OLbyhc+>2{)1muriGQNI@Rn2c9fuE3>( z04U0R0Wd$Cy!lC{(ZqU(vcntMN8E)}ed~+|wnVeRWyZL7~!A!L0IlV%Vd>pOFH0DXvCcr4<9GJ<@hq12#X|6!C2iHfX zUF91_G>p+5R6hHH-AW>Y{tz#)L(WA3zgW_xYi|4mp4SdCX|yFvSIv(#n^5 z`rZb5OkL&Ap=Qfh7~{y8rGVs!DqMvVc< z<}VBl#EF#oci#I_^Y)ivRlnR$Hs*KV$LwbALbWipxYqo-Z73bqL!To4U#y+p{OuFU z?r~+8Pn_>YTPKzoPaFxgiYy`vUN<$9kjqa@m*QRwm3?<+j#qra?r68;KA~C>oJtUR zqqujZO6obc(KJWm<%Nhp+6PG3_B?yzz#$!m8S~cOQKqBlvVvrcl)k3KdP0&q9%Aa< zwR3ILC7h~M&c!9S&?d|C3zSxcZJ6~i?@}qadJxg93_GR0m)HA!g)ul5oHFs~0KYi3 zg=%~^>*nwfO8R?EB4e4WLmM17Y@IA=rEjAtV$&4g50ZR!KSxC`1e9{i1g-X2QSbxg zU=2FOX4V=t`hlIf=yiru$=oBjci(3;f&<$AY8(KS_uPMSpph}VAU5L>q^HVb!PEB& zLv(vjHB}pZ*9)SqD98^O^_?KN`0dqSvOpCw#@N>UuMDsG2x9<*m7y5ie105v&Qa9E zKzE)-_nPXqaJ&T)uV}lYiW<;6wB%KC);WFhX?*-6())| zS$`973sXA-ark_<&*%s>;fajl>N{_RoY#yf@74v%dN!v5a~a!NK`N$^jGpR@yAOpq zhbJ>Wbo{=Ip(}0EMeQTwXHz%_gQ#;9U)J6B%>ybdCyZ$1PFpQ9j5>(*`AaYoH~*UH z+ttQ-Eg)-PwPu}CcaZ68X8gDLZ+$BJa@Y9IS?Botp5@5TVJGa*3@RiG+NVxLCA`!Zd{p~y=8DU znwrr5SS6{a{{@jloW|+>CKA(t^wV-s*C0LQfZnx+inD7qiEC5rdRE2TA^+EINZXHj zgWinmv`k{?$VixTr^j`Etuf9(7c+Fgu~AD{qUsMk-LPt0(rC`}r%B z&l~y~*4_^kzvHTI3kK=$wCn-J)SQFHJi+OATOpw!P{{uOq^I*Qn?C=y3F;nhHCo>K z^8!MbE#%MA6!Teq8wlq5p_B73G=qmvJe#!2IurjJfQ#NWee%Gsfyz^1*^pmTHHqg} z!Ati5>OO^d6P+!wQCGmAy1hBFx6ebr$^ic@*t`26z?phu+xMRtvwGF1aib+bO=9gV zU@srv?=TaU-j8+L{;D^Z6Rep)k1-q4&XIkhCz}&JsE>_!wZ#*Es!4!cQ#5SBlP#v{ zp@j;QK4Xq|GlP#xMDDnvkImuS!QW8c$ovf<&fo^r0;SsBa3)oSF3--hsyLWXN^e{{ zm{6#XK-#zM)3v6aGy0L5+00-Gbmp}~-?_xcTwa@A|MO1D68TbDE4jGXd}8c{b`U4jjm9UqvedXfX+*P3Sq93_(r&HBO2KQu;)6-eM+JN8`dJVmdR%SfmTQmQ_ zhS!phNbK!+QBgL(_O6J5uimb2wxMVd9j1Kp_uZT80G{EQ&LZ%fz~fV&F_Z0aTKG&s zH+ui@YTg=aJoO)jDZ&HvQ*qoIpSW=G)LXc8Br@`kN5dcaRotGCi0an?f{sa6%xhsp zWe#xQdK?u;`pw2^^8JBdqKCMEnib zbz)%_^yyT@pVFaGX_>7uH{;C)kWFy1mh12qvG1xYW7Vc=sbj(8r_Jf7oVA4Z zvY>Ao&R~Vo)OeG_ngqa00C26nCH5BJ79It8&_wEf`-A^*rMGD4JLLc7KyIby-uDD| zt4Rz3t<$=_7M783ED*YuDrY`eAj(exy#EI{|Gz2(ZUUNu)FbfxXkCW*+xteKWMB@u NXl7+v40HYS-vCKB=M4Y= literal 7006 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 B?XLg; diff --git a/examples/network/http/httpwindow.cpp b/examples/network/http/httpwindow.cpp index fddd2c809a..ec90b8f7fe 100644 --- a/examples/network/http/httpwindow.cpp +++ b/examples/network/http/httpwindow.cpp @@ -55,12 +55,12 @@ #include "httpwindow.h" #include "ui_authenticationdialog.h" -#ifndef QT_NO_SSL -static const char defaultUrl[] = "https://www.qt.io/"; +#if QT_CONFIG(ssl) +const char defaultUrl[] = "https://www.qt.io/"; #else -static const char defaultUrl[] = "http://www.qt.io/"; +const char defaultUrl[] = "http://www.qt.io/"; #endif -static const char defaultFileName[] = "index.html"; +const char defaultFileName[] = "index.html"; ProgressDialog::ProgressDialog(const QUrl &url, QWidget *parent) : QProgressDialog(parent) @@ -71,6 +71,7 @@ ProgressDialog::ProgressDialog(const QUrl &url, QWidget *parent) setMinimum(0); setValue(0); setMinimumDuration(0); + setMinimumSize(QSize(400, 75)); } void ProgressDialog::networkReplyProgress(qint64 bytesRead, qint64 totalBytes) @@ -87,8 +88,8 @@ HttpWindow::HttpWindow(QWidget *parent) , launchCheckBox(new QCheckBox("Launch file")) , defaultFileLineEdit(new QLineEdit(defaultFileName)) , downloadDirectoryLineEdit(new QLineEdit) - , reply(Q_NULLPTR) - , file(Q_NULLPTR) + , reply(nullptr) + , file(nullptr) , httpRequestAborted(false) { setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); @@ -174,15 +175,22 @@ void HttpWindow::downloadFile() if (fileName.isEmpty()) fileName = defaultFileName; QString downloadDirectory = QDir::cleanPath(downloadDirectoryLineEdit->text().trimmed()); - if (!downloadDirectory.isEmpty() && QFileInfo(downloadDirectory).isDir()) + bool useDirectory = !downloadDirectory.isEmpty() && QFileInfo(downloadDirectory).isDir(); + if (useDirectory) fileName.prepend(downloadDirectory + '/'); if (QFile::exists(fileName)) { if (QMessageBox::question(this, tr("Overwrite Existing File"), - tr("There already exists a file called %1 in " - "the current directory. Overwrite?").arg(fileName), - QMessageBox::Yes|QMessageBox::No, QMessageBox::No) - == QMessageBox::No) + tr("There already exists a file called %1%2." + " Overwrite?") + .arg(fileName, + useDirectory + ? QString() + : QStringLiteral(" in the current directory")), + QMessageBox::Yes | QMessageBox::No, + QMessageBox::No) + == QMessageBox::No) { return; + } QFile::remove(fileName); } @@ -204,7 +212,7 @@ QFile *HttpWindow::openFileForWrite(const QString &fileName) tr("Unable to save the file %1: %2.") .arg(QDir::toNativeSeparators(fileName), file->errorString())); - return Q_NULLPTR; + return nullptr; } return file.take(); } @@ -224,12 +232,12 @@ void HttpWindow::httpFinished() fi.setFile(file->fileName()); file->close(); delete file; - file = Q_NULLPTR; + file = nullptr; } if (httpRequestAborted) { reply->deleteLater(); - reply = Q_NULLPTR; + reply = nullptr; return; } @@ -238,21 +246,23 @@ void HttpWindow::httpFinished() statusLabel->setText(tr("Download failed:\n%1.").arg(reply->errorString())); downloadButton->setEnabled(true); reply->deleteLater(); - reply = Q_NULLPTR; + reply = nullptr; return; } const QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); reply->deleteLater(); - reply = Q_NULLPTR; + reply = nullptr; if (!redirectionTarget.isNull()) { const QUrl redirectedUrl = url.resolved(redirectionTarget.toUrl()); if (QMessageBox::question(this, tr("Redirect"), tr("Redirect to %1 ?").arg(redirectedUrl.toString()), QMessageBox::Yes | QMessageBox::No) == QMessageBox::No) { + QFile::remove(fi.absoluteFilePath()); downloadButton->setEnabled(true); + statusLabel->setText(tr("Download failed:\nRedirect rejected.")); return; } file = openFileForWrite(fi.absoluteFilePath()); @@ -286,7 +296,7 @@ void HttpWindow::enableDownloadButton() downloadButton->setEnabled(!urlLineEdit->text().isEmpty()); } -void HttpWindow::slotAuthenticationRequired(QNetworkReply*,QAuthenticator *authenticator) +void HttpWindow::slotAuthenticationRequired(QNetworkReply *, QAuthenticator *authenticator) { QDialog authenticationDialog; Ui::Dialog ui; @@ -306,7 +316,7 @@ void HttpWindow::slotAuthenticationRequired(QNetworkReply*,QAuthenticator *authe } #ifndef QT_NO_SSL -void HttpWindow::sslErrors(QNetworkReply*,const QList &errors) +void HttpWindow::sslErrors(QNetworkReply *, const QList &errors) { QString errorString; foreach (const QSslError &error, errors) { diff --git a/examples/network/http/httpwindow.h b/examples/network/http/httpwindow.h index 3bb43dbf89..20ad2bb4da 100644 --- a/examples/network/http/httpwindow.h +++ b/examples/network/http/httpwindow.h @@ -71,7 +71,7 @@ class ProgressDialog : public QProgressDialog { Q_OBJECT public: - explicit ProgressDialog(const QUrl &url, QWidget *parent = Q_NULLPTR); + explicit ProgressDialog(const QUrl &url, QWidget *parent = nullptr); public slots: void networkReplyProgress(qint64 bytesRead, qint64 totalBytes); @@ -82,7 +82,7 @@ class HttpWindow : public QDialog Q_OBJECT public: - explicit HttpWindow(QWidget *parent = Q_NULLPTR); + explicit HttpWindow(QWidget *parent = nullptr); void startRequest(const QUrl &requestedUrl); @@ -92,9 +92,9 @@ private slots: void httpFinished(); void httpReadyRead(); void enableDownloadButton(); - void slotAuthenticationRequired(QNetworkReply*,QAuthenticator *); + void slotAuthenticationRequired(QNetworkReply *, QAuthenticator *authenticator); #ifndef QT_NO_SSL - void sslErrors(QNetworkReply*,const QList &errors); + void sslErrors(QNetworkReply *, const QList &errors); #endif private: