From 6dcb918b78a7e77bb23d4d36393f84707c4fc3a0 Mon Sep 17 00:00:00 2001 From: PKEuS Date: Wed, 14 Oct 2015 19:07:20 +0200 Subject: [PATCH] GUI: Implemented "Recheck all files" button (#3614), renamed "Recheck files" button to "Recheck modified files" (#3624) --- gui/gui.qrc | 1 + gui/images/view-recheck.png | Bin 0 -> 1253 bytes gui/images/view-refresh.png | Bin 1253 -> 894 bytes gui/main.ui | 19 +++++++++++++++---- gui/mainwindow.cpp | 30 ++++++++++++++++++++++-------- gui/mainwindow.h | 16 ++++++++++++++-- gui/threadhandler.cpp | 4 ++-- gui/threadhandler.h | 2 +- 8 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 gui/images/view-recheck.png diff --git a/gui/gui.qrc b/gui/gui.qrc index c6d12b84c..12eb6312b 100644 --- a/gui/gui.qrc +++ b/gui/gui.qrc @@ -11,6 +11,7 @@ images/preferences-system.png images/process-stop.png images/text-x-generic.png + images/view-recheck.png images/view-refresh.png images/showerrors.png images/showstylewarnings.png diff --git a/gui/images/view-recheck.png b/gui/images/view-recheck.png new file mode 100644 index 0000000000000000000000000000000000000000..caebff48a8c7520677775b7e6400fdd9ce9eca92 GIT binary patch literal 1253 zcmVd8!|{t78d2T0xkybuDimrr*oP8gJqYQ{%dExb9eTh`}v)F&iS5Q_P>5& zW7Tf|B`!#)*bvN9dn_5i=I8l^h?T#F#486l0?N!HC~J^VKE)L)G#sJ)6iYxxGl!^B93+xYBlPdXry3u;kydEr#F5W9K=CBb>!}3>31+o3 zy?73TAy^~_4nf&4yP24blIgGHoz_Y`w4!4a>a>t0ZMQXCpMdC;0#o22 zg^vR`1haiRv&@E9TXsAVu>Z|9l`Mm9Sds|lTki-==+9Fgy`4;DRXhTSbQn~U%z!{dXY&{ zuZ1E!AWd==I<B>#os!d@!WFCP8HDl$S5vbsPP#oj zQDrG_9fA{;8c0QO&(IVg!^|M$o({n{R>PR>k&h+aFCRYL>q*aJWOm)di=hmH+>Fy; zlw-E78a-w@3D*$Xf7<|Tf!yLW$McZv?1vmNi=ncon0#s!$I6Dawgih57BqzgXWK$U z@t!TtA#$@ zJ;=&!reE_rS7o7%faNGlJNpMOC8r}j>VtxtxCX|Z!MG2G^(Hubp&x$l9)o@a?><^; z#yXy7y{~xI2`nIA!9(@@V^`{Sd|0ff?Hrn*Y<2=O336@(!EJqdC`3D7>Y14D^yjj6 zD@Uj>q5HmN#*uqzqp*ciE+*0xo|JD5OHk2{v+YPLoMFdNJeT0n$@@^>t%DoG)6jME zE~s$<)n6NjYP9i}WXG)d$2!CAPfCqp@k(@=3f}pwg0?gKTzVaF``wE?C|T(Q#*A!@ zJ!23ol>ZZgi{%@t&D?Th9B?7cTebpK+&VJ9AIebl##3JzgfrC|h)7l$SiC%*t6sQa zM{TdAs0|yUL=h`i`}l8+$vzS)l4-@qE@|Ud?T}Icw5;q;aC#2Zm)SQMnTvX<* z@BWaD3@_9g)QW}Rl?*;<_J1>D7k+;pwF$*Uh5BrZi4T15cmta+#X8HZQAtWOHg1MZ zkTc8!IkmpQ`(iQ94@EcF6ZPmq@bWGDbN1kME$V4Id?P9V#X@mWVQ#C|ZeQmgv3Hf1 zUo^ckP_Lq1LiwWB(FxM5rJU<#4_J-zKzZ8_^R;K?WB<*=9^;O3`cM29Yap{ah}mc( P00000NkvXXu0mjfb}vwM literal 0 HcmV?d00001 diff --git a/gui/images/view-refresh.png b/gui/images/view-refresh.png index caebff48a8c7520677775b7e6400fdd9ce9eca92..a8b3d7b6ba38d264fd4447390fe05124069187a9 100644 GIT binary patch delta 872 zcmV-u1DE{e3H}Cp6z-5*Z=-M*L`32ecdUR#~NI+ zT8$#bLS_Tei$=712Xl)DUYFEvl>(LaStnw`grh!{rBt=bfNs*Pf6ZvKd$C0*sc}Su zYUT2!DU_{Fy?+jeTre5Xr3;DJfpjb6$0wR-T&hNex&W6c>`uiF`8q+rQHg3_%C#5M zOBttFXQ!3Y1MDSHgFbfLE~lJLm~)kT&3b(?eGP@`ZBmtxRg3Q(v(KQ@j{1C22|27$ zr-SiSYCtgTxG{5P+#z2U7%-;U4nqcI%9d-3wbo0M0)I{#)aogt##rFuUjkSu*9HyB zY}M*BKiCfP+$CFCKs&A9q#h;S6qV;k56>IlX15}>irf$rx7(w|D+)d6q7%+Lmox#w zHruJxc6VE2!i-Nm>xd8LGk(-JYSqN#o&K_4l{0#lFobk9n$#%^oQ75>d}LFqa!;%C zg0#5xzJFPUVY#~PU&c6Utp}7S4Y2ug{p0#n6<$>=5(ti(a$c5@Q!eOU(t1{#98b7K zMvP0rq|A^jh7$(-?0{w!#;sZ=V|w*FX79CQv4A;Kslv|6R2%zipJ7e58PILauSpFH z+#|;$MzkByVuf0_yA=$%;umkv7jLzCd8&jk;eVVl-zKr^)2|n7@s-p1UDgP0Qtn0@ zz=$)tyfk0WbR+J!Rd#I4y_{hCllS#|M#Pggdq|};GoBA7YZCu=dt9A ziLfZbB3_gwEvcqiyTjffzE_;|njS+-8bgt7HZDwgF~&{%!@HOY8vp5cM>Hnh1##%K zM`4@xq_HLkwfpeuXRy0<*ri36ArhXbFfRMed&W&0jf-^})$J{DS5#sX%8(=5`UE~j yuReX?ao_3C726e4di}i+`(G$>p90Sd8!|{t78d2T0xkybuDimrr*oP8 zgJqYQ{%dExb9eTh`}v)F&iS5Q_P>5&W7Tf|B`!#)*bvN9dw(n$z~<-qg@~2EhQuoe zI0DMdA}DK+P(H;KD>NLT{1i(-Ml*=hk1TwK6DRk^IBg)0dd>wBmgB?cxMHR0qce@O zxix)I&@=>vEyJL^JOJm;_d;e~n{`)4@ibdN8974g(@kRaW1K{C4M!mFW%5a25K>*Pdl20S_ z@584WAH0!PXyn9^&p1HwB+l!p1qKObwKKhV4uc_BBnJ*b*)Y4An2eI?ujHN9N<6fp zV-)0@)?qkV)d$DRd!ZZ;YSHK+GD&S>i6!eD!SMz}FwRa&bL3w|RQ0nFI0D>kX zlJZ9qPJgz2os!d@!WFCP8HDl$S5vbsPP#ojQDrG_9fA{;8c0QO&(IVg!^|M$o({n{ zR>PR>k&h+aFCRYL>q*aJWOm)di=hmH+>Fy;lw-E78a-w@3D*$Xf7<|Tf!yLW$McZv z?1vmNi=ncon0#s!$I6Dawgih57BqzgXWK$U@qeBz;GpCQ$J!Cp9X3IkT?y+t!4}B2 zzL;3)PCvMmSO+BDv=3{Hf19 zThg=st)ta@SOlqG=G<-4I&{YbxwQk3SF43S-95<4ZKhxIJ6C0)jezASOFR1qFD0iV zJ%8$hf}6Mo#+|{q4~F$7ID4TVe(xTGegyA6T585Ro@c$Uc-9FlAYZ{l_55R3>UMls ztf%c9nxJfU0y7D6ZUn(?eR?QFJ74OVnD6xGvUV#+s4$`XzGcRddugMvg;Fji(iEPQ zZw*UO(T=n2NGqIS$5A|&;L*wZP~WYC8-K&o&~@`JsBr<+UmJ&NwDFf@$E^6rI>YWy zN{wOhN_3eD-ubM8wln-(dL3~4-HSXZS?L7EjBJfPV-PHq{}Y0X%24#iQ(qZ`Gu0Z1NLCqGygZ((UbtaLZLg)M4I83F5i3^v_-~BKK7SG_ zl4-@qE@|Ud?T}Icw5;q;aC#2Zm)SQMnTvX<*@BWaD3@_9g)QW}Rl?*;<_J1>D z7k+;pwF$*Uh5BrZi4T15cmta+#X8HZQAtWOHg1MZkTc8!IkmpQ`(iQ94@EcF6ZPmq z@bWGDbN1kME$V4Id?P9V#X@mWVM}hS)^1 - + + @@ -188,7 +189,8 @@ - + + @@ -273,18 +275,27 @@ Ctrl+D - + :/images/view-refresh.png:/images/view-refresh.png - &Recheck files + &Recheck modified files Ctrl+R + + + + :/images/view-recheck.png:/images/view-recheck.png + + + &Recheck all files + + diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 79f26c649..a65f2b4c4 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -103,7 +103,8 @@ MainWindow::MainWindow(TranslationHandler* th, QSettings* settings) : connect(mUI.mActionViewStats, SIGNAL(triggered()), this, SLOT(ShowStatistics())); connect(mUI.mActionLibraryEditor, SIGNAL(triggered()), this, SLOT(ShowLibraryEditor())); - connect(mUI.mActionRecheck, SIGNAL(triggered()), this, SLOT(ReCheck())); + connect(mUI.mActionRecheckModified, SIGNAL(triggered()), this, SLOT(ReCheckModified())); + connect(mUI.mActionRecheckAll, SIGNAL(triggered()), this, SLOT(ReCheckAll())); connect(mUI.mActionStop, SIGNAL(triggered()), this, SLOT(StopChecking())); connect(mUI.mActionSave, SIGNAL(triggered()), this, SLOT(Save())); @@ -144,7 +145,8 @@ MainWindow::MainWindow(TranslationHandler* th, QSettings* settings) : mUI.mActionPrintPreview->setEnabled(false); mUI.mActionClearResults->setEnabled(false); mUI.mActionSave->setEnabled(false); - mUI.mActionRecheck->setEnabled(false); + mUI.mActionRecheckModified->setEnabled(false); + mUI.mActionRecheckAll->setEnabled(false); EnableProjectOpenActions(true); EnableProjectActions(false); @@ -776,14 +778,24 @@ void MainWindow::ProgramSettings() } } -void MainWindow::ReCheck() +void MainWindow::ReCheckModified() { - const QStringList files = mThread->GetReCheckFiles(); + ReCheck(false); +} + +void MainWindow::ReCheckAll() +{ + ReCheck(true); +} + +void MainWindow::ReCheck(bool all) +{ + const QStringList files = mThread->GetReCheckFiles(all); if (files.empty()) return; // Clear details, statistics and progress - mUI.mResults->Clear(false); + mUI.mResults->Clear(all); // Clear results for changed files for (int i = 0; i < files.size(); ++i) @@ -795,7 +807,7 @@ void MainWindow::ReCheck() if (mProject) qDebug() << "Rechecking project file" << mProject->GetProjectFile()->GetFilename(); - mThread->Check(GetCppcheckSettings(), true); + mThread->Check(GetCppcheckSettings(), !all); } void MainWindow::ClearResults() @@ -859,8 +871,10 @@ void MainWindow::EnableCheckButtons(bool enable) mUI.mActionStop->setEnabled(!enable); mUI.mActionCheckFiles->setEnabled(enable); - if (!enable || mThread->HasPreviousFiles()) - mUI.mActionRecheck->setEnabled(enable); + if (!enable || mThread->HasPreviousFiles()) { + mUI.mActionRecheckModified->setEnabled(enable); + mUI.mActionRecheckAll->setEnabled(enable); + } mUI.mActionCheckDirectory->setEnabled(enable); } diff --git a/gui/mainwindow.h b/gui/mainwindow.h index 681aa0e29..94e8d15c2 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -79,10 +79,16 @@ public slots: void CheckFiles(); /** - * @brief Slot to recheck files + * @brief Slot to recheck all files * */ - void ReCheck(); + void ReCheckAll(); + + /** + * @brief Slot to recheck modified files + * + */ + void ReCheckModified(); /** * @brief Slot to clear all search results @@ -307,6 +313,12 @@ protected slots: private: + /** + * @brief Rechecks files + * + */ + void ReCheck(bool all); + /** * @brief Check the project. * @param project Pointer to the project to check. diff --git a/gui/threadhandler.cpp b/gui/threadhandler.cpp index 89961e4b8..e786d7772 100644 --- a/gui/threadhandler.cpp +++ b/gui/threadhandler.cpp @@ -55,7 +55,7 @@ void ThreadHandler::Check(const Settings &settings, bool recheck) { if (recheck && mRunningThreadCount == 0) { // only recheck changed files - mResults.SetFiles(GetReCheckFiles()); + mResults.SetFiles(GetReCheckFiles(false)); } if (mResults.GetFileCount() == 0 || mRunningThreadCount > 0 || settings._jobs == 0) { @@ -188,7 +188,7 @@ int ThreadHandler::GetPreviousScanDuration() const return mScanDuration; } -QStringList ThreadHandler::GetReCheckFiles() const +QStringList ThreadHandler::GetReCheckFiles(bool all) const { if (mLastCheckTime.isNull()) return mLastFiles; diff --git a/gui/threadhandler.h b/gui/threadhandler.h index 09225cc0d..0b7a530dd 100644 --- a/gui/threadhandler.h +++ b/gui/threadhandler.h @@ -123,7 +123,7 @@ public: * @brief Get files that should be rechecked because they have been * changed. */ - QStringList GetReCheckFiles() const; + QStringList GetReCheckFiles(bool all) const; signals: /**