|
@@ -19,7 +19,6 @@
|
19
|
19
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
20
|
20
|
* SOFTWARE.
|
21
|
21
|
*/
|
22
|
|
-
|
23
|
22
|
package com.dmdirc.ui.swing.dialogs.error;
|
24
|
23
|
|
25
|
24
|
import com.dmdirc.ui.swing.components.renderers.ErrorLevelIconCellRenderer;
|
|
@@ -222,7 +221,7 @@ public final class ErrorListDialog extends StandardDialog implements
|
222
|
221
|
|
223
|
222
|
splitPane.setTopComponent(scrollPane);
|
224
|
223
|
splitPane.setBottomComponent(panel);
|
225
|
|
-
|
|
224
|
+
|
226
|
225
|
splitPane.setDividerSize((int) PlatformDefaults.getPanelInsets(0).getValue());
|
227
|
226
|
|
228
|
227
|
getContentPane().add(splitPane);
|
|
@@ -286,67 +285,97 @@ public final class ErrorListDialog extends StandardDialog implements
|
286
|
285
|
/** {@inheritDoc} */
|
287
|
286
|
@Override
|
288
|
287
|
public void run() {
|
289
|
|
- synchronized (tableModel) {
|
290
|
|
- final int selectedRow = table.getSelectedRow();
|
291
|
|
- tableModel.addRow(error);
|
292
|
|
- table.getSelectionModel().setSelectionInterval(selectedRow,
|
293
|
|
- selectedRow);
|
294
|
|
- deleteAllButton.setEnabled(true);
|
|
288
|
+ if (isReady()) {
|
|
289
|
+ synchronized (tableModel) {
|
|
290
|
+ final int selectedRow = table.getSelectedRow();
|
|
291
|
+ tableModel.addRow(error);
|
|
292
|
+ table.getSelectionModel().setSelectionInterval(selectedRow,
|
|
293
|
+ selectedRow);
|
|
294
|
+ deleteAllButton.setEnabled(true);
|
|
295
|
+ }
|
295
|
296
|
}
|
296
|
297
|
}
|
297
|
|
- });
|
|
298
|
+ });
|
298
|
299
|
}
|
299
|
300
|
|
300
|
301
|
/** {@inheritDoc} */
|
301
|
302
|
@Override
|
302
|
303
|
public void fatalError(final ProgramError error) {
|
303
|
|
- new FatalErrorDialog(error);
|
|
304
|
+ SwingUtilities.invokeLater(new Runnable() {
|
|
305
|
+
|
|
306
|
+ /** {@inheritDoc} */
|
|
307
|
+ @Override
|
|
308
|
+ public void run() {
|
|
309
|
+ if (isReady()) {
|
|
310
|
+ new FatalErrorDialog(error);
|
|
311
|
+ }
|
|
312
|
+ }
|
|
313
|
+ });
|
304
|
314
|
}
|
305
|
315
|
|
306
|
316
|
/** {@inheritDoc} */
|
307
|
317
|
@Override
|
308
|
318
|
public void errorDeleted(final ProgramError error) {
|
309
|
|
- synchronized (tableModel) {
|
310
|
|
- int selectedRow = table.getSelectedRow();
|
311
|
|
- tableModel.removeRow(error);
|
312
|
|
- if (selectedRow >= tableModel.getRowCount()) {
|
313
|
|
- selectedRow = tableModel.getRowCount() - 1;
|
314
|
|
- }
|
315
|
|
- table.getSelectionModel().setSelectionInterval(selectedRow,
|
316
|
|
- selectedRow);
|
|
319
|
+ SwingUtilities.invokeLater(new Runnable() {
|
317
|
320
|
|
318
|
|
- if (tableModel.getRowCount() > 0) {
|
319
|
|
- deleteAllButton.setEnabled(true);
|
320
|
|
- } else {
|
321
|
|
- deleteAllButton.setEnabled(false);
|
|
321
|
+ /** {@inheritDoc} */
|
|
322
|
+ @Override
|
|
323
|
+ public void run() {
|
|
324
|
+ if (isReady()) {
|
|
325
|
+ synchronized (tableModel) {
|
|
326
|
+ int selectedRow = table.getSelectedRow();
|
|
327
|
+ tableModel.removeRow(error);
|
|
328
|
+ if (selectedRow >= tableModel.getRowCount()) {
|
|
329
|
+ selectedRow = tableModel.getRowCount() - 1;
|
|
330
|
+ }
|
|
331
|
+ table.getSelectionModel().setSelectionInterval(selectedRow,
|
|
332
|
+ selectedRow);
|
|
333
|
+
|
|
334
|
+ if (tableModel.getRowCount() > 0) {
|
|
335
|
+ deleteAllButton.setEnabled(true);
|
|
336
|
+ } else {
|
|
337
|
+ deleteAllButton.setEnabled(false);
|
|
338
|
+ }
|
|
339
|
+ }
|
|
340
|
+ }
|
322
|
341
|
}
|
323
|
|
- }
|
|
342
|
+ });
|
324
|
343
|
}
|
325
|
344
|
|
326
|
345
|
/** {@inheritDoc} */
|
327
|
346
|
@Override
|
328
|
347
|
public void errorStatusChanged(final ProgramError error) {
|
329
|
|
- final int errorRow;
|
330
|
|
- synchronized (tableModel) {
|
331
|
|
- errorRow = tableModel.indexOf(error);
|
|
348
|
+ SwingUtilities.invokeLater(new Runnable() {
|
|
349
|
+
|
|
350
|
+ /** {@inheritDoc} */
|
|
351
|
+ @Override
|
|
352
|
+ public void run() {
|
|
353
|
+ if (isReady()) {
|
|
354
|
+ final int errorRow;
|
|
355
|
+ synchronized (tableModel) {
|
|
356
|
+ errorRow = tableModel.indexOf(error);
|
|
357
|
+
|
|
358
|
+ if (errorRow != -1 && errorRow < tableModel.getRowCount()) {
|
|
359
|
+ tableModel.fireTableRowsUpdated(errorRow, errorRow);
|
|
360
|
+ }
|
|
361
|
+ }
|
|
362
|
+ if (errorRow > -1) {
|
|
363
|
+ deleteButton.setEnabled(true);
|
|
364
|
+ if (error.getReportStatus() == ErrorReportStatus.NOT_APPLICABLE ||
|
|
365
|
+ error.getReportStatus() == ErrorReportStatus.FINISHED) {
|
|
366
|
+ sendButton.setEnabled(false);
|
|
367
|
+ } else {
|
|
368
|
+ sendButton.setEnabled(true);
|
|
369
|
+ }
|
|
370
|
+ } else {
|
|
371
|
+ errorDetails.setError(null);
|
|
372
|
+ deleteButton.setEnabled(false);
|
|
373
|
+ sendButton.setEnabled(false);
|
|
374
|
+ }
|
332
|
375
|
|
333
|
|
- if (errorRow != -1 && errorRow < tableModel.getRowCount()) {
|
334
|
|
- tableModel.fireTableRowsUpdated(errorRow, errorRow);
|
335
|
|
- }
|
336
|
|
- }
|
337
|
|
- if (errorRow > -1) {
|
338
|
|
- deleteButton.setEnabled(true);
|
339
|
|
- if (error.getReportStatus() == ErrorReportStatus.NOT_APPLICABLE ||
|
340
|
|
- error.getReportStatus() == ErrorReportStatus.FINISHED) {
|
341
|
|
- sendButton.setEnabled(false);
|
342
|
|
- } else {
|
343
|
|
- sendButton.setEnabled(true);
|
344
|
376
|
}
|
345
|
|
- } else {
|
346
|
|
- errorDetails.setError(null);
|
347
|
|
- deleteButton.setEnabled(false);
|
348
|
|
- sendButton.setEnabled(false);
|
349
|
377
|
}
|
|
378
|
+ });
|
350
|
379
|
}
|
351
|
380
|
|
352
|
381
|
/** {@inheritDoc} */
|