MCPcopy Create free account
hub / github.com/KDE/kdiff3 / slotFileOpen2

Method slotFileOpen2

src/pdiff.cpp:817–884  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

815}
816
817void KDiff3App::slotFileOpen2(QStringList& errors, const QString& fn1, const QString& fn2, const QString& fn3, const QString& ofn,
818 const QString& an1, const QString& an2, const QString& an3, TotalDiffStatus* pTotalDiffStatus)
819{
820 if(!canContinue()) return;
821
822 if(fn1.isEmpty() && fn2.isEmpty() && fn3.isEmpty() && ofn.isEmpty())
823 {
824 m_pMainWidget->hide();
825 return;
826 }
827
828 slotStatusMsg(i18n("Opening files..."));
829 m_sd1->reset();
830 m_sd2->reset();
831 m_sd3->reset();
832
833 m_sd1->setFilename(fn1);
834 m_sd2->setFilename(fn2);
835 m_sd3->setFilename(fn3);
836
837 m_sd1->setAliasName(an1);
838 m_sd2->setAliasName(an2);
839 m_sd3->setAliasName(an3);
840
841 if(!ofn.isEmpty())
842 {
843 m_outputFilename = ofn;
844 m_bDefaultFilename = false;
845 }
846 else
847 {
848 m_outputFilename = "";
849 m_bDefaultFilename = true;
850 }
851
852 if(!m_sd1->isDir())
853 {
854 improveFilenames();
855 //KDiff3App::slotFileOpen2 needs to handle both GUI and non-GUI diffs.
856 if(pTotalDiffStatus == nullptr)
857 mainInit(m_totalDiffStatus);
858 else
859 mainInit(pTotalDiffStatus, InitFlag::loadFiles | InitFlag::autoSolve);
860
861 errors.append(mErrors);
862
863 if(m_bDirCompare)
864 {
865 errors.append(m_sd1->getErrors());
866 errors.append(m_sd2->getErrors());
867 errors.append(m_sd3->getErrors());
868
869 return;
870 }
871
872 if(m_sd1->isValid() && m_sd2->isValid() && m_sd3->isValid())
873 {
874 if(m_pDirectoryMergeWindow != nullptr && m_pDirectoryMergeWindow->isVisible() && !dirShowBoth->isChecked())

Callers

nothing calls this directly

Calls 8

hideMethod · 0.80
setFilenameMethod · 0.80
setAliasNameMethod · 0.80
appendMethod · 0.80
isEmptyMethod · 0.45
resetMethod · 0.45
isDirMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected