@@ -747,21 +747,35 @@ void ResultsTree::contextMenuEvent(QContextMenuEvent * e)
747747 menu.addSeparator ();
748748 }
749749
750+ int selectedFiles = 0 ;
751+ int selectedResults = 0 ;
752+
753+ for (auto index : mSelectionModel ->selectedRows ()) {
754+ auto *item = mModel .itemFromIndex (index);
755+ if (!item->parent ())
756+ selectedFiles++;
757+ else if (!item->parent ()->parent ())
758+ selectedResults++;
759+ }
760+
750761 // Create an action for the application
751- auto *recheckAction = new QAction (tr (" Recheck" ), &menu);
762+ auto *recheckAction = new QAction (tr (" Recheck %1 file(s) " ). arg (selectedFiles ), &menu);
752763 auto *copyAction = new QAction (tr (" Copy" ), &menu);
753- auto *hide = new QAction (tr (" Hide" ), &menu);
764+ auto *hide = new QAction (tr (" Hide %1 result(s) " ). arg (selectedResults ), &menu);
754765 auto *hideallid = new QAction (tr (" Hide all with id" ), &menu);
755766 auto *opencontainingfolder = new QAction (tr (" Open containing folder" ), &menu);
756767
757- if (multipleSelection) {
768+ if (selectedFiles == 0 || mThread ->isChecking ())
769+ recheckAction->setDisabled (true );
770+
771+ if (selectedResults == 0 )
772+ hide->setDisabled (true );
773+
774+ if (selectedResults == 0 || multipleSelection)
758775 hideallid->setDisabled (true );
776+
777+ if (multipleSelection)
759778 opencontainingfolder->setDisabled (true );
760- }
761- if (mThread ->isChecking ())
762- recheckAction->setDisabled (true );
763- else
764- recheckAction->setDisabled (false );
765779
766780 menu.addAction (recheckAction);
767781 menu.addSeparator ();
@@ -774,7 +788,9 @@ void ResultsTree::contextMenuEvent(QContextMenuEvent * e)
774788 {
775789 QVariantMap itemdata = mContextItem ->data ().toMap ();
776790 const QString messageId = itemdata[ERRORID].toString ();
777- suppress->setEnabled (!ErrorLogger::isCriticalErrorId (messageId.toStdString ()));
791+
792+ if (selectedResults == 0 || ErrorLogger::isCriticalErrorId (messageId.toStdString ()))
793+ suppress->setDisabled (true );
778794 }
779795 menu.addAction (suppress);
780796 connect (suppress, &QAction::triggered, this , &ResultsTree::suppressSelectedIds);
0 commit comments