| 1918 | } |
| 1919 | |
| 1920 | void KDiff3App::slotUpdateAvailabilities() |
| 1921 | { |
| 1922 | assert(m_pDiffTextWindow2 != nullptr && m_pDiffTextWindow1 != nullptr && m_pDiffTextWindow3 != nullptr); |
| 1923 | |
| 1924 | bool bTextDataAvailable = (m_sd1->hasData() || m_sd2->hasData() || m_sd3->hasData()); |
| 1925 | |
| 1926 | if(dirShowBoth->isChecked()) |
| 1927 | { |
| 1928 | m_pDirectoryMergeDock->setVisible(m_bDirCompare); |
| 1929 | m_pDirectoryMergeInfoDock->setVisible(m_bDirCompare); |
| 1930 | |
| 1931 | if(!m_pMainWidget->isVisible() && |
| 1932 | bTextDataAvailable && !m_pDirectoryMergeWindow->isScanning()) |
| 1933 | m_pMainWidget->show(); |
| 1934 | } |
| 1935 | |
| 1936 | bool bDiffWindowVisible = m_pMainWidget->isVisible(); |
| 1937 | bool bMergeEditorVisible = m_pMergeWindowFrame->isVisible(); |
| 1938 | |
| 1939 | m_pDirectoryMergeWindow->updateAvailabilities(bMergeEditorVisible, m_bDirCompare, bDiffWindowVisible, chooseA, chooseB, chooseC); |
| 1940 | |
| 1941 | dirShowBoth->setEnabled(m_bDirCompare); |
| 1942 | dirViewToggle->setEnabled( |
| 1943 | m_bDirCompare && |
| 1944 | ((!m_pDirectoryMergeDock->isVisible() && m_pMainWidget->isVisible()) || |
| 1945 | (m_pDirectoryMergeDock->isVisible() && !m_pMainWidget->isVisible() && bTextDataAvailable))); |
| 1946 | |
| 1947 | showWhiteSpaceCharacters->setEnabled(bDiffWindowVisible); |
| 1948 | autoAdvance->setEnabled(bMergeEditorVisible); |
| 1949 | mAutoSolve->setEnabled(bMergeEditorVisible && m_bTripleDiff); |
| 1950 | mUnsolve->setEnabled(bMergeEditorVisible); |
| 1951 | |
| 1952 | mMergeHistory->setEnabled(bMergeEditorVisible); |
| 1953 | mergeRegExp->setEnabled(bMergeEditorVisible); |
| 1954 | showWindowA->setEnabled(bDiffWindowVisible && (m_pDiffTextWindow2->isVisible() || m_pDiffTextWindow3->isVisible())); |
| 1955 | showWindowB->setEnabled(bDiffWindowVisible && (m_pDiffTextWindow1->isVisible() || m_pDiffTextWindow3->isVisible())); |
| 1956 | showWindowC->setEnabled(bDiffWindowVisible && m_bTripleDiff && (m_pDiffTextWindow1->isVisible() || m_pDiffTextWindow2->isVisible())); |
| 1957 | editFind->setEnabled(bDiffWindowVisible); |
| 1958 | editFindNext->setEnabled(bDiffWindowVisible); |
| 1959 | m_pFindDialog->m_pSearchInC->setEnabled(m_bTripleDiff); |
| 1960 | m_pFindDialog->m_pSearchInOutput->setEnabled(bMergeEditorVisible); |
| 1961 | stdMenus->updateAvailabilities(); |
| 1962 | |
| 1963 | mGoTop->setEnabled(bDiffWindowVisible && m_pMergeResultWindow->isDeltaAboveCurrent()); |
| 1964 | mGoBottom->setEnabled(bDiffWindowVisible && m_pMergeResultWindow->isDeltaBelowCurrent()); |
| 1965 | mGoCurrent->setEnabled(bDiffWindowVisible); |
| 1966 | mGoPrevUnsolvedConflict->setEnabled(bMergeEditorVisible && m_pMergeResultWindow->isUnsolvedConflictAboveCurrent()); |
| 1967 | mGoNextUnsolvedConflict->setEnabled(bMergeEditorVisible && m_pMergeResultWindow->isUnsolvedConflictBelowCurrent()); |
| 1968 | mGoPrevConflict->setEnabled(bDiffWindowVisible && bMergeEditorVisible && m_pMergeResultWindow->isConflictAboveCurrent()); |
| 1969 | mGoNextConflict->setEnabled(bDiffWindowVisible && bMergeEditorVisible && m_pMergeResultWindow->isConflictBelowCurrent()); |
| 1970 | mGoPrevDelta->setEnabled(bDiffWindowVisible && m_pMergeResultWindow->isDeltaAboveCurrent()); |
| 1971 | mGoNextDelta->setEnabled(bDiffWindowVisible && m_pMergeResultWindow->isDeltaBelowCurrent()); |
| 1972 | |
| 1973 | overviewModeNormal->setEnabled(m_bTripleDiff && bDiffWindowVisible); |
| 1974 | overviewModeAB->setEnabled(m_bTripleDiff && bDiffWindowVisible); |
| 1975 | overviewModeAC->setEnabled(m_bTripleDiff && bDiffWindowVisible); |
| 1976 | overviewModeBC->setEnabled(m_bTripleDiff && bDiffWindowVisible); |
| 1977 | e_OverviewMode overviewMode = m_pOverview->getOverviewMode(); |
nothing calls this directly
no test coverage detected