Skip to content

Commit 6dcb918

Browse files
committed
GUI: Implemented "Recheck all files" button (danmar#3614), renamed "Recheck files" button to "Recheck modified files" (danmar#3624)
1 parent dcb746a commit 6dcb918

File tree

8 files changed

+55
-17
lines changed

8 files changed

+55
-17
lines changed

gui/gui.qrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<file>images/preferences-system.png</file>
1212
<file>images/process-stop.png</file>
1313
<file>images/text-x-generic.png</file>
14+
<file>images/view-recheck.png</file>
1415
<file>images/view-refresh.png</file>
1516
<file>images/showerrors.png</file>
1617
<file>images/showstylewarnings.png</file>

gui/images/view-recheck.png

1.22 KB
Loading

gui/images/view-refresh.png

-359 Bytes
Loading

gui/main.ui

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@
148148
</widget>
149149
<addaction name="mActionCheckFiles"/>
150150
<addaction name="mActionCheckDirectory"/>
151-
<addaction name="mActionRecheck"/>
151+
<addaction name="mActionRecheckModified"/>
152+
<addaction name="mActionRecheckAll"/>
152153
<addaction name="mActionStop"/>
153154
<addaction name="separator"/>
154155
<addaction name="menuC_standard"/>
@@ -188,7 +189,8 @@
188189
<addaction name="mActionOpenProjectFile"/>
189190
<addaction name="mActionShowScratchpad"/>
190191
<addaction name="mActionSave"/>
191-
<addaction name="mActionRecheck"/>
192+
<addaction name="mActionRecheckModified"/>
193+
<addaction name="mActionRecheckAll"/>
192194
<addaction name="mActionStop"/>
193195
<addaction name="mActionClearResults"/>
194196
<addaction name="mActionSettings"/>
@@ -273,18 +275,27 @@
273275
<string>Ctrl+D</string>
274276
</property>
275277
</action>
276-
<action name="mActionRecheck">
278+
<action name="mActionRecheckModified">
277279
<property name="icon">
278280
<iconset resource="gui.qrc">
279281
<normaloff>:/images/view-refresh.png</normaloff>:/images/view-refresh.png</iconset>
280282
</property>
281283
<property name="text">
282-
<string>&amp;Recheck files</string>
284+
<string>&amp;Recheck modified files</string>
283285
</property>
284286
<property name="shortcut">
285287
<string>Ctrl+R</string>
286288
</property>
287289
</action>
290+
<action name="mActionRecheckAll">
291+
<property name="icon">
292+
<iconset resource="gui.qrc">
293+
<normaloff>:/images/view-recheck.png</normaloff>:/images/view-recheck.png</iconset>
294+
</property>
295+
<property name="text">
296+
<string>&amp;Recheck all files</string>
297+
</property>
298+
</action>
288299
<action name="mActionStop">
289300
<property name="icon">
290301
<iconset resource="gui.qrc">

gui/mainwindow.cpp

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ MainWindow::MainWindow(TranslationHandler* th, QSettings* settings) :
103103
connect(mUI.mActionViewStats, SIGNAL(triggered()), this, SLOT(ShowStatistics()));
104104
connect(mUI.mActionLibraryEditor, SIGNAL(triggered()), this, SLOT(ShowLibraryEditor()));
105105

106-
connect(mUI.mActionRecheck, SIGNAL(triggered()), this, SLOT(ReCheck()));
106+
connect(mUI.mActionRecheckModified, SIGNAL(triggered()), this, SLOT(ReCheckModified()));
107+
connect(mUI.mActionRecheckAll, SIGNAL(triggered()), this, SLOT(ReCheckAll()));
107108

108109
connect(mUI.mActionStop, SIGNAL(triggered()), this, SLOT(StopChecking()));
109110
connect(mUI.mActionSave, SIGNAL(triggered()), this, SLOT(Save()));
@@ -144,7 +145,8 @@ MainWindow::MainWindow(TranslationHandler* th, QSettings* settings) :
144145
mUI.mActionPrintPreview->setEnabled(false);
145146
mUI.mActionClearResults->setEnabled(false);
146147
mUI.mActionSave->setEnabled(false);
147-
mUI.mActionRecheck->setEnabled(false);
148+
mUI.mActionRecheckModified->setEnabled(false);
149+
mUI.mActionRecheckAll->setEnabled(false);
148150
EnableProjectOpenActions(true);
149151
EnableProjectActions(false);
150152

@@ -776,14 +778,24 @@ void MainWindow::ProgramSettings()
776778
}
777779
}
778780

779-
void MainWindow::ReCheck()
781+
void MainWindow::ReCheckModified()
780782
{
781-
const QStringList files = mThread->GetReCheckFiles();
783+
ReCheck(false);
784+
}
785+
786+
void MainWindow::ReCheckAll()
787+
{
788+
ReCheck(true);
789+
}
790+
791+
void MainWindow::ReCheck(bool all)
792+
{
793+
const QStringList files = mThread->GetReCheckFiles(all);
782794
if (files.empty())
783795
return;
784796

785797
// Clear details, statistics and progress
786-
mUI.mResults->Clear(false);
798+
mUI.mResults->Clear(all);
787799

788800
// Clear results for changed files
789801
for (int i = 0; i < files.size(); ++i)
@@ -795,7 +807,7 @@ void MainWindow::ReCheck()
795807
if (mProject)
796808
qDebug() << "Rechecking project file" << mProject->GetProjectFile()->GetFilename();
797809

798-
mThread->Check(GetCppcheckSettings(), true);
810+
mThread->Check(GetCppcheckSettings(), !all);
799811
}
800812

801813
void MainWindow::ClearResults()
@@ -859,8 +871,10 @@ void MainWindow::EnableCheckButtons(bool enable)
859871
mUI.mActionStop->setEnabled(!enable);
860872
mUI.mActionCheckFiles->setEnabled(enable);
861873

862-
if (!enable || mThread->HasPreviousFiles())
863-
mUI.mActionRecheck->setEnabled(enable);
874+
if (!enable || mThread->HasPreviousFiles()) {
875+
mUI.mActionRecheckModified->setEnabled(enable);
876+
mUI.mActionRecheckAll->setEnabled(enable);
877+
}
864878

865879
mUI.mActionCheckDirectory->setEnabled(enable);
866880
}

gui/mainwindow.h

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,16 @@ public slots:
7979
void CheckFiles();
8080

8181
/**
82-
* @brief Slot to recheck files
82+
* @brief Slot to recheck all files
8383
*
8484
*/
85-
void ReCheck();
85+
void ReCheckAll();
86+
87+
/**
88+
* @brief Slot to recheck modified files
89+
*
90+
*/
91+
void ReCheckModified();
8692

8793
/**
8894
* @brief Slot to clear all search results
@@ -307,6 +313,12 @@ protected slots:
307313

308314
private:
309315

316+
/**
317+
* @brief Rechecks files
318+
*
319+
*/
320+
void ReCheck(bool all);
321+
310322
/**
311323
* @brief Check the project.
312324
* @param project Pointer to the project to check.

gui/threadhandler.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ void ThreadHandler::Check(const Settings &settings, bool recheck)
5555
{
5656
if (recheck && mRunningThreadCount == 0) {
5757
// only recheck changed files
58-
mResults.SetFiles(GetReCheckFiles());
58+
mResults.SetFiles(GetReCheckFiles(false));
5959
}
6060

6161
if (mResults.GetFileCount() == 0 || mRunningThreadCount > 0 || settings._jobs == 0) {
@@ -188,7 +188,7 @@ int ThreadHandler::GetPreviousScanDuration() const
188188
return mScanDuration;
189189
}
190190

191-
QStringList ThreadHandler::GetReCheckFiles() const
191+
QStringList ThreadHandler::GetReCheckFiles(bool all) const
192192
{
193193
if (mLastCheckTime.isNull())
194194
return mLastFiles;

gui/threadhandler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class ThreadHandler : public QObject {
123123
* @brief Get files that should be rechecked because they have been
124124
* changed.
125125
*/
126-
QStringList GetReCheckFiles() const;
126+
QStringList GetReCheckFiles(bool all) const;
127127

128128
signals:
129129
/**

0 commit comments

Comments
 (0)