프로젝트

일반

사용자정보

개정판 8fa58e02

ID8fa58e026fdea5a984cc8bd56ef9a62010179fbb
상위 9c24a158
하위 f7940a95, ed6dd360

함의성이(가) 약 5년 전에 추가함

issue #1191: add horizontal text merge

Change-Id: Iec5196ddc16936bc2bc9a9f5cfd205b5eabab5b1

차이점 보기:

DTI_PID/DTI_PID/MainWindow.py
1898 1898
                        if angle != item.angle:
1899 1899
                            return
1900 1900

  
1901
                textItems = sorted(textItems, key=lambda text: text.loc[1]) if textItems[0].angle == 0 else ( \
1902
                    sorted(textItems, key=lambda text: text.loc[0]) if textItems[0].angle == 1.57 else ( \
1903
                        sorted(textItems, key=lambda text: text.loc[1], reverse=True) if textItems[0].angle == 4.71 else \
1904
                            sorted(textItems, key=lambda text: text.loc[0], reverse=True)))
1901
                modifiers = QApplication.keyboardModifiers()
1902
                enter_or_space = ' ' if modifiers == Qt.ShiftModifier else '\n'
1903
                x_or_y = 0 if modifiers == Qt.ShiftModifier else 1
1904

  
1905
                textItems = sorted(textItems, key=lambda text: text.loc[x_or_y]) if textItems[0].angle == 0 else ( \
1906
                    sorted(textItems, key=lambda text: text.loc[x_or_y]) if textItems[0].angle == 1.57 else ( \
1907
                        sorted(textItems, key=lambda text: text.loc[x_or_y], reverse=True) if textItems[0].angle == 4.71 else \
1908
                            sorted(textItems, key=lambda text: text.loc[x_or_y], reverse=True)))
1909

  
1910
                if textItems[0].angle == 1.57 and modifiers == Qt.ShiftModifier:
1911
                    textItems.reverse()
1912

  
1905 1913
                minX = sys.maxsize
1906 1914
                minY = sys.maxsize
1907 1915
                maxX = 0
1908 1916
                maxY = 0
1909 1917
                newText = ''
1918

  
1910 1919
                for text in textItems:
1911 1920
                    if text.loc[0] < minX: minX = text.loc[0]
1912 1921
                    if text.loc[1] < minY: minY = text.loc[1]
1913 1922
                    if text.loc[0] + text.size[0] > maxX: maxX = text.loc[0] + text.size[0]
1914 1923
                    if text.loc[1] + text.size[1] > maxY: maxY = text.loc[1] + text.size[1]
1915
                    newText = newText + text.text() + "\n"
1924
                    newText = newText + text.text() + enter_or_space
1916 1925
                    text.transfer.onRemoved.emit(text)
1917 1926
                newText = newText[:-1]
1918 1927

  

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)