| 1752 | } |
| 1753 | |
| 1754 | void KDiff3App::slotWinFocusNext() |
| 1755 | { |
| 1756 | QWidget* focus = qApp->focusWidget(); |
| 1757 | if(focus == m_pDirectoryMergeWindow && m_pDirectoryMergeWindow->isVisible() && !dirShowBoth->isChecked()) |
| 1758 | { |
| 1759 | slotDirViewToggle(); |
| 1760 | } |
| 1761 | |
| 1762 | std::list<QWidget*> visibleWidgetList; |
| 1763 | if(m_pDiffTextWindow1 && m_pDiffTextWindow1->isVisible()) visibleWidgetList.push_back(m_pDiffTextWindow1); |
| 1764 | if(m_pDiffTextWindow2 && m_pDiffTextWindow2->isVisible()) visibleWidgetList.push_back(m_pDiffTextWindow2); |
| 1765 | if(m_pDiffTextWindow3 && m_pDiffTextWindow3->isVisible()) visibleWidgetList.push_back(m_pDiffTextWindow3); |
| 1766 | if(m_pMergeResultWindow && m_pMergeResultWindow->isVisible()) visibleWidgetList.push_back(m_pMergeResultWindow); |
| 1767 | if(m_bDirCompare /*m_pDirectoryMergeWindow->isVisible()*/) visibleWidgetList.push_back(m_pDirectoryMergeWindow); |
| 1768 | //if ( m_pDirectoryMergeInfo->isVisible() ) visibleWidgetList.push_back(m_pDirectoryMergeInfo->getInfoList()); |
| 1769 | if(visibleWidgetList.empty()) |
| 1770 | return; |
| 1771 | |
| 1772 | std::list<QWidget*>::iterator i = std::find(visibleWidgetList.begin(), visibleWidgetList.end(), focus); |
| 1773 | ++i; |
| 1774 | if(i == visibleWidgetList.end()) |
| 1775 | i = visibleWidgetList.begin(); |
| 1776 | |
| 1777 | if(*i == m_pDirectoryMergeWindow && !dirShowBoth->isChecked()) |
| 1778 | { |
| 1779 | slotDirViewToggle(); |
| 1780 | } |
| 1781 | (*i)->setFocus(); |
| 1782 | } |
| 1783 | |
| 1784 | void KDiff3App::slotWinFocusPrev() |
| 1785 | { |