개정판 8fa58e02
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