Переглянути джерело

fixes issue 2208

tags/0.6.3m1rc1
Gregory Holmes 15 роки тому
джерело
коміт
f37f79a0fb
1 змінених файлів з 30 додано та 31 видалено
  1. 30
    31
      src/com/dmdirc/addons/ui_swing/textpane/TextPane.java

+ 30
- 31
src/com/dmdirc/addons/ui_swing/textpane/TextPane.java Переглянути файл

@@ -95,12 +95,11 @@ public final class TextPane extends JComponent implements AdjustmentListener,
95 95
                 if (e.getXOnScreen() > getLocationOnScreen().getX() && e.
96 96
                         getXOnScreen() < (getLocationOnScreen().
97 97
                         getX() + getWidth()) && e.getModifiersEx() ==
98
-                                                MouseEvent.BUTTON1_DOWN_MASK) {
98
+                        MouseEvent.BUTTON1_DOWN_MASK) {
99 99
                     if (getLocationOnScreen().getY() > e.getYOnScreen()) {
100 100
                         setScrollBarPosition(scrollBar.getValue() - 1);
101
-                    }
102
-                    else if (getLocationOnScreen().getY() + getHeight() <
103
-                             e.getYOnScreen()) {
101
+                    } else if (getLocationOnScreen().getY() + getHeight() <
102
+                            e.getYOnScreen()) {
104 103
                         setScrollBarPosition(scrollBar.getValue() + 1);
105 104
                     }
106 105
                     canvas.highlightEvent(MouseEventType.DRAG, e);
@@ -153,8 +152,8 @@ public final class TextPane extends JComponent implements AdjustmentListener,
153 152
         scrollBar.setMaximum(lines);
154 153
 
155 154
         if (!scrollBar.getValueIsAdjusting() && scrollBar.getValue() ==
156
-                                                lines -
157
-                                                linesAllowed) {
155
+                lines -
156
+                linesAllowed) {
158 157
             setScrollBarPosition(lines);
159 158
         }
160 159
     }
@@ -179,8 +178,7 @@ public final class TextPane extends JComponent implements AdjustmentListener,
179 178
         if (scrollBar.isEnabled()) {
180 179
             if (e.getWheelRotation() > 0) {
181 180
                 setScrollBarPosition(scrollBar.getValue() + e.getScrollAmount());
182
-            }
183
-            else {
181
+            } else {
184 182
                 setScrollBarPosition(scrollBar.getValue() - e.getScrollAmount());
185 183
             }
186 184
         }
@@ -217,8 +215,8 @@ public final class TextPane extends JComponent implements AdjustmentListener,
217 215
         }
218 216
 
219 217
         for (int i = selectedRange.getStartLine(); i <=
220
-                                                   selectedRange.getEndLine();
221
-             i++) {
218
+                selectedRange.getEndLine();
219
+                i++) {
222 220
             if (i != selectedRange.getStartLine()) {
223 221
                 selectedText.append('\n');
224 222
             }
@@ -226,23 +224,24 @@ public final class TextPane extends JComponent implements AdjustmentListener,
226 224
                 return selectedText.toString();
227 225
             }
228 226
             final String line = document.getLine(i).getText();
229
-            if (selectedRange.getEndLine() == selectedRange.getStartLine()) {
230
-                //loop through range
231
-                selectedText.append(line.substring(selectedRange.getStartPos(),
232
-                                                   selectedRange.getEndPos()));
233
-            }
234
-            else if (i == selectedRange.getStartLine()) {
235
-                //loop from start of range to the end
236
-                selectedText.append(line.substring(selectedRange.getStartPos(),
237
-                                                   line.length()));
238
-            }
239
-            else if (i == selectedRange.getEndLine()) {
240
-                //loop from start to end of range
241
-                selectedText.append(line.substring(0, selectedRange.getEndPos()));
242
-            }
243
-            else {
244
-                //loop the whole line
245
-                selectedText.append(line);
227
+            if (!line.isEmpty()) {
228
+                if (selectedRange.getEndLine() == selectedRange.getStartLine()) {
229
+                    //loop through range
230
+                    selectedText.append(line.substring(
231
+                            selectedRange.getStartPos(),
232
+                            selectedRange.getEndPos()));
233
+                } else if (i == selectedRange.getStartLine()) {
234
+                    //loop from start of range to the end
235
+                    selectedText.append(line.substring(
236
+                            selectedRange.getStartPos(), line.length()));
237
+                } else if (i == selectedRange.getEndLine()) {
238
+                    //loop from start to end of range
239
+                    selectedText.append(line.substring(0, selectedRange.
240
+                            getEndPos()));
241
+                } else {
242
+                    //loop the whole line
243
+                    selectedText.append(line);
244
+                }
246 245
             }
247 246
         }
248 247
 
@@ -266,7 +265,7 @@ public final class TextPane extends JComponent implements AdjustmentListener,
266 265
     public boolean hasSelectedRange() {
267 266
         final LinePosition selectedRange = canvas.getSelectedRange();
268 267
         return !(selectedRange.getStartLine() == selectedRange.getEndLine() &&
269
-                 selectedRange.getStartPos() == selectedRange.getEndPos());
268
+                selectedRange.getStartPos() == selectedRange.getEndPos());
270 269
     }
271 270
 
272 271
     /**
@@ -302,11 +301,11 @@ public final class TextPane extends JComponent implements AdjustmentListener,
302 301
             return "";
303 302
         }
304 303
         final int[] indexes =
305
-                    canvas.getSurroundingWordIndexes(document.getLine(lineNumber).
304
+                canvas.getSurroundingWordIndexes(document.getLine(lineNumber).
306 305
                 getText(),
307
-                                                     index);
306
+                index);
308 307
         return document.getLine(lineNumber).getText().substring(indexes[0],
309
-                                                                indexes[1]);
308
+                indexes[1]);
310 309
     }
311 310
 
312 311
     /**

Завантаження…
Відмінити
Зберегти