Browse Source

fixes issue 2208

tags/0.6.3m1rc1
Gregory Holmes 15 years ago
parent
commit
f37f79a0fb
1 changed files with 30 additions and 31 deletions
  1. 30
    31
      src/com/dmdirc/addons/ui_swing/textpane/TextPane.java

+ 30
- 31
src/com/dmdirc/addons/ui_swing/textpane/TextPane.java View File

95
                 if (e.getXOnScreen() > getLocationOnScreen().getX() && e.
95
                 if (e.getXOnScreen() > getLocationOnScreen().getX() && e.
96
                         getXOnScreen() < (getLocationOnScreen().
96
                         getXOnScreen() < (getLocationOnScreen().
97
                         getX() + getWidth()) && e.getModifiersEx() ==
97
                         getX() + getWidth()) && e.getModifiersEx() ==
98
-                                                MouseEvent.BUTTON1_DOWN_MASK) {
98
+                        MouseEvent.BUTTON1_DOWN_MASK) {
99
                     if (getLocationOnScreen().getY() > e.getYOnScreen()) {
99
                     if (getLocationOnScreen().getY() > e.getYOnScreen()) {
100
                         setScrollBarPosition(scrollBar.getValue() - 1);
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
                         setScrollBarPosition(scrollBar.getValue() + 1);
103
                         setScrollBarPosition(scrollBar.getValue() + 1);
105
                     }
104
                     }
106
                     canvas.highlightEvent(MouseEventType.DRAG, e);
105
                     canvas.highlightEvent(MouseEventType.DRAG, e);
153
         scrollBar.setMaximum(lines);
152
         scrollBar.setMaximum(lines);
154
 
153
 
155
         if (!scrollBar.getValueIsAdjusting() && scrollBar.getValue() ==
154
         if (!scrollBar.getValueIsAdjusting() && scrollBar.getValue() ==
156
-                                                lines -
157
-                                                linesAllowed) {
155
+                lines -
156
+                linesAllowed) {
158
             setScrollBarPosition(lines);
157
             setScrollBarPosition(lines);
159
         }
158
         }
160
     }
159
     }
179
         if (scrollBar.isEnabled()) {
178
         if (scrollBar.isEnabled()) {
180
             if (e.getWheelRotation() > 0) {
179
             if (e.getWheelRotation() > 0) {
181
                 setScrollBarPosition(scrollBar.getValue() + e.getScrollAmount());
180
                 setScrollBarPosition(scrollBar.getValue() + e.getScrollAmount());
182
-            }
183
-            else {
181
+            } else {
184
                 setScrollBarPosition(scrollBar.getValue() - e.getScrollAmount());
182
                 setScrollBarPosition(scrollBar.getValue() - e.getScrollAmount());
185
             }
183
             }
186
         }
184
         }
217
         }
215
         }
218
 
216
 
219
         for (int i = selectedRange.getStartLine(); i <=
217
         for (int i = selectedRange.getStartLine(); i <=
220
-                                                   selectedRange.getEndLine();
221
-             i++) {
218
+                selectedRange.getEndLine();
219
+                i++) {
222
             if (i != selectedRange.getStartLine()) {
220
             if (i != selectedRange.getStartLine()) {
223
                 selectedText.append('\n');
221
                 selectedText.append('\n');
224
             }
222
             }
226
                 return selectedText.toString();
224
                 return selectedText.toString();
227
             }
225
             }
228
             final String line = document.getLine(i).getText();
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
     public boolean hasSelectedRange() {
265
     public boolean hasSelectedRange() {
267
         final LinePosition selectedRange = canvas.getSelectedRange();
266
         final LinePosition selectedRange = canvas.getSelectedRange();
268
         return !(selectedRange.getStartLine() == selectedRange.getEndLine() &&
267
         return !(selectedRange.getStartLine() == selectedRange.getEndLine() &&
269
-                 selectedRange.getStartPos() == selectedRange.getEndPos());
268
+                selectedRange.getStartPos() == selectedRange.getEndPos());
270
     }
269
     }
271
 
270
 
272
     /**
271
     /**
302
             return "";
301
             return "";
303
         }
302
         }
304
         final int[] indexes =
303
         final int[] indexes =
305
-                    canvas.getSurroundingWordIndexes(document.getLine(lineNumber).
304
+                canvas.getSurroundingWordIndexes(document.getLine(lineNumber).
306
                 getText(),
305
                 getText(),
307
-                                                     index);
306
+                index);
308
         return document.getLine(lineNumber).getText().substring(indexes[0],
307
         return document.getLine(lineNumber).getText().substring(indexes[0],
309
-                                                                indexes[1]);
308
+                indexes[1]);
310
     }
309
     }
311
 
310
 
312
     /**
311
     /**

Loading…
Cancel
Save