@CSharedFilesCtrl::OnCommand (same goes for CSharedDirsTreeCtrl::OnCommand)
... switch (wParam){ ... case MP_PRIOVERYLOW: case MP_PRIOLOW: case MP_PRIONORMAL: case MP_PRIOHIGH: case MP_PRIOVERYHIGH: case MP_PRIOAUTO: { POSITION pos = selectedList.GetHeadPosition(); while (pos != NULL) { if (!selectedList.GetAt(pos)->IsKindOf(RUNTIME_CLASS(CKnownFile))) continue; CKnownFile* file = (CKnownFile*)selectedList.GetNext(pos); file->SetAutoUpPriority(wParam == MP_PRIOAUTO); //>>> WiZaRd::Optimization switch (wParam) { case MP_PRIOVERYLOW: // file->SetAutoUpPriority(false); //>>> WiZaRd::Optimization file->SetUpPriority(PR_VERYLOW); // UpdateFile(file); //>>> WiZaRd::Optimization break; case MP_PRIOLOW: // file->SetAutoUpPriority(false); //>>> WiZaRd::Optimization file->SetUpPriority(PR_LOW); // UpdateFile(file); //>>> WiZaRd::Optimization break; case MP_PRIONORMAL: // file->SetAutoUpPriority(false); //>>> WiZaRd::Optimization file->SetUpPriority(PR_NORMAL); // UpdateFile(file); //>>> WiZaRd::Optimization break; case MP_PRIOHIGH: // file->SetAutoUpPriority(false); //>>> WiZaRd::Optimization file->SetUpPriority(PR_HIGH); // UpdateFile(file); //>>> WiZaRd::Optimization break; case MP_PRIOVERYHIGH: // file->SetAutoUpPriority(false); //>>> WiZaRd::Optimization file->SetUpPriority(PR_VERYHIGH); // UpdateFile(file); //>>> WiZaRd::Optimization break; case MP_PRIOAUTO: // file->SetAutoUpPriority(true); //>>> WiZaRd::Optimization file->UpdateAutoUpPriority(); // UpdateFile(file); //>>> WiZaRd::Optimization break; } UpdateFile(file); //>>> WiZaRd::Optimization } break; } ...
my 2 cents replacing :
... UpdateFile(file); //>>> WiZaRd::Optimization } break; ...
with :
... UpdateFile(file, false); //>>> WiZaRd::Optimization //>>> taz::optimization } theApp.emuledlg->sharedfileswnd->ShowSelectedFilesDetails(); //>>> taz::optimization ...
- so that changed priority for all selected files will be "drawn" only once (and not all selected files "drawn" for each file)