Line 673... |
Line 673... |
673 |
}
|
673 |
}
|
674 |
}
|
674 |
}
|
675 |
|
675 |
|
676 |
// check for compatabilities
|
676 |
// check for compatabilities
|
677 |
CLinkList<CBaseFile> packages;
|
677 |
CLinkList<CBaseFile> packages;
|
- |
|
678 |
Utils::CStringList list;
|
678 |
int compat = m_pPackages->checkCompatabilityAgainstPackages(package, NULL, &packages);
|
679 |
int compat = m_pPackages->checkCompatabilityAgainstPackages(package, &list, &packages);
|
679 |
if ( compat )
|
680 |
if ( compat )
|
680 |
{
|
681 |
{
|
681 |
String ^message = "\nConflicts with:\n";
|
682 |
String ^message = "Conflicts with:\n";
|
682 |
for ( CBaseFile *p = packages.First(); p; p = packages.Next() )
|
683 |
for ( CBaseFile *p = packages.First(); p; p = packages.Next() )
|
683 |
message += _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n";
|
684 |
message += _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n";
|
684 |
|
685 |
|
- |
|
686 |
String^ details = "Package Conflicts:\n";
|
- |
|
687 |
for (CBaseFile* p = packages.First(); p; p = packages.Next())
|
- |
|
688 |
details += _US(p->getFullPackageName(m_pPackages->GetLanguage())) + "\n";
|
- |
|
689 |
details += "File Conflicts:\n";
|
- |
|
690 |
for (auto itr = list.begin(); itr != list.end(); itr++)
|
- |
|
691 |
details += _US((*itr)->str + " <> " + (*itr)->data) + "\n";
|
685 |
if ( MessageBox::Show(this, _US(package->getFullPackageName(m_pPackages->GetLanguage())) + ":\nIncompatabilities found with installed fake patches\n" + message + "\n\nDo you still wish to install?", "Packages Incompatable", MessageBoxButtons::YesNo, MessageBoxIcon::Warning) != Windows::Forms::DialogResult::Yes )
|
692 |
MessageBoxDetails^ msgBox = gcnew MessageBoxDetails("Potential Incomatability Found", _US(package->getFullPackageName(m_pPackages->GetLanguage())) + ":\nIncompatabilities found with installed fake patches\n" + message + "\n\nDo you still wish to install ? ", details, true);
|
- |
|
693 |
msgBox->SetOkText("Yes");
|
- |
|
694 |
msgBox->SetCancelText("No");
|
- |
|
695 |
int height = 200 + (packages.size() * 20);
|
- |
|
696 |
msgBox->Height = height > 600 ? 600: height;
|
- |
|
697 |
msgBox->Width = 650;
|
- |
|
698 |
|
- |
|
699 |
System::Windows::Forms::DialogResult res = msgBox->ShowDialog(this);
|
- |
|
700 |
delete msgBox;
|
- |
|
701 |
if (res != Windows::Forms::DialogResult::OK)
|
686 |
{
|
702 |
{
|
687 |
m_pPackages->RemovePreparedInstall(package);
|
703 |
m_pPackages->RemovePreparedInstall(package);
|
688 |
errored = true;
|
704 |
errored = true;
|
689 |
}
|
705 |
}
|
690 |
}
|
706 |
}
|