From c9b0415af583a1b2f871600620d029842e71a14e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Berenguel?= Date: Mon, 12 Aug 2024 21:31:33 -0300 Subject: [PATCH] #1631: fixes in dialog --- .../java/iped/app/ui/ResultTableListener.java | 51 ++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/iped-app/src/main/java/iped/app/ui/ResultTableListener.java b/iped-app/src/main/java/iped/app/ui/ResultTableListener.java index 7549212190..0e0812559b 100644 --- a/iped-app/src/main/java/iped/app/ui/ResultTableListener.java +++ b/iped-app/src/main/java/iped/app/ui/ResultTableListener.java @@ -290,7 +290,7 @@ public void keyPressed(KeyEvent evt) { } private ProgressDialog createProgressDialog() { - ProgressDialog d = new ProgressDialog(App.get(), null, true, 200, Dialog.ModalityType.APPLICATION_MODAL); + ProgressDialog d = new ProgressDialog(App.get(), null, false, 200, Dialog.ModalityType.APPLICATION_MODAL); d.setNote(Messages.getString("App.Wait")); //$NON-NLS-1$ return d; } @@ -367,6 +367,7 @@ public void itemSelectionAndParent(boolean value) { BookmarksController.get().setMultiSetting(true); App.get().resultsTable.setUpdateSelectionOnSort(false); int[] selectedRows = App.get().resultsTable.getSelectedRows(); + dialog.setMaximum(selectedRows.length); for (int i = 0; i < selectedRows.length; i++) { if (i == selectedRows.length - 1) { BookmarksController.get().setMultiSetting(false); @@ -399,6 +400,7 @@ public void itemSelectionAndReferences(boolean value) { BookmarksController.get().setMultiSetting(true); App.get().resultsTable.setUpdateSelectionOnSort(false); int[] selectedRows = App.get().resultsTable.getSelectedRows(); + dialog.setMaximum(selectedRows.length); for (int i = 0; i < selectedRows.length; i++) { if (i == selectedRows.length - 1) { BookmarksController.get().setMultiSetting(false); @@ -427,33 +429,34 @@ public void itemSelectionAndReferencedBy(boolean value) { ProgressDialog dialog = createProgressDialog(); executor.execute(() -> { try { - int col = App.get().resultsTable.convertColumnIndexToView(1); - BookmarksController.get().setMultiSetting(true); - App.get().resultsTable.setUpdateSelectionOnSort(false); - int[] selectedRows = App.get().resultsTable.getSelectedRows(); - for (int i = 0; i < selectedRows.length; i++) { - if (i == selectedRows.length - 1) { - BookmarksController.get().setMultiSetting(false); - App.get().resultsTable.setUpdateSelectionOnSort(true); - } - App.get().resultsTable.setValueAt(value, selectedRows[i], col); + int col = App.get().resultsTable.convertColumnIndexToView(1); + BookmarksController.get().setMultiSetting(true); + App.get().resultsTable.setUpdateSelectionOnSort(false); + int[] selectedRows = App.get().resultsTable.getSelectedRows(); + dialog.setMaximum(selectedRows.length); + for (int i = 0; i < selectedRows.length; i++) { + if (i == selectedRows.length - 1) { + BookmarksController.get().setMultiSetting(false); + App.get().resultsTable.setUpdateSelectionOnSort(true); + } + App.get().resultsTable.setValueAt(value, selectedRows[i], col); - int modelIndex = App.get().resultsTable.convertRowIndexToModel(selectedRows[i]); - selectReferencedByItems(value, App.get().ipedResult.getItem(modelIndex)); - dialog.setProgress(i); - if (dialog.isCanceled()) { - return; + int modelIndex = App.get().resultsTable.convertRowIndexToModel(selectedRows[i]); + selectReferencedByItems(value, App.get().ipedResult.getItem(modelIndex)); + dialog.setProgress(i); + if (dialog.isCanceled()) { + return; + } + } + } finally { + SwingUtilities.invokeLater(() -> { + dialog.close(); + BookmarksController.get().updateUI(); + App.get().subItemTable.repaint(); + }); } - } - } finally { - SwingUtilities.invokeLater(() -> { - dialog.close(); - BookmarksController.get().updateUI(); - App.get().subItemTable.repaint(); }); } -}); - } /** * Perform selection of all subitems