1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.webphotos.action;
17
18 import java.awt.event.ActionEvent;
19 import javax.swing.AbstractAction;
20 import javax.swing.JOptionPane;
21 import javax.swing.JTable;
22 import net.sf.webphotos.Album;
23 import net.sf.webphotos.gui.PainelWebFotos;
24 import net.sf.webphotos.gui.util.TableModelAlbum;
25 import net.sf.webphotos.gui.util.TableSorter;
26 import net.sf.webphotos.util.Util;
27
28
29
30
31
32
33 public class AcaoExcluirAlbum extends AbstractAction {
34
35
36
37
38 private static final long serialVersionUID = 6469549565678592107L;
39
40
41
42
43 public AcaoExcluirAlbum() {
44 }
45
46
47
48
49
50
51
52
53
54
55
56
57
58 @Override
59 public void actionPerformed(ActionEvent e) {
60
61 JTable tbAlbuns = PainelWebFotos.getTbAlbuns();
62 String larguraColunas = Util.getConfig().getString("colunas1");
63
64
65 int[] linhasSelecionadas = tbAlbuns.getSelectedRows();
66 int numeroLinhasSelecionadas = tbAlbuns.getSelectedRowCount();
67 String msg = "";
68
69
70 if (numeroLinhasSelecionadas > 20 || numeroLinhasSelecionadas == 0) {
71 JOptionPane.showMessageDialog(null,
72 "Você deve selecionar entre 1 e 20 álbuns\npara serem excluídos", "Informação",
73 JOptionPane.INFORMATION_MESSAGE);
74 return;
75 }
76
77
78 for (int i = 0; i < numeroLinhasSelecionadas; i++) {
79 msg = msg + "\n" + TableModelAlbum.getModel().getValueAt(linhasSelecionadas[i], 0) + " - " + TableModelAlbum.getModel().getValueAt(linhasSelecionadas[i], 2);
80 }
81
82 if (numeroLinhasSelecionadas == 1) {
83 msg = "Confirma a exclusão do álbum ?\n" + msg;
84 } else {
85 msg = "Confirma a exclusão de " + numeroLinhasSelecionadas + " álbuns ?\n" + msg;
86 }
87
88 int confirmacao = JOptionPane.showConfirmDialog(null, msg, "Confirmação de exclusão", JOptionPane.WARNING_MESSAGE);
89
90
91 if (confirmacao == 0) {
92 int[] albunsID = new int[numeroLinhasSelecionadas];
93 for (int i = 0; i < numeroLinhasSelecionadas; i++) {
94 albunsID[i] = Integer.parseInt(TableModelAlbum.getModel().getValueAt(linhasSelecionadas[i], 0).toString());
95 }
96
97
98 Album.getAlbum().excluirAlbuns(albunsID);
99
100 if (Util.getConfig().getBoolean("autoTransferir")) {
101 Thread t = new Thread(new net.sf.webphotos.gui.util.FtpClient());
102 t.start();
103 }
104
105 TableModelAlbum.getModel().update();
106 TableModelAlbum.getModel().fireTableDataChanged();
107
108
109 if (TableModelAlbum.getModel().getRowCount() > 1) {
110 tbAlbuns.removeRowSelectionInterval(0, TableModelAlbum.getModel().getRowCount() - 1);
111 }
112
113 tbAlbuns.setModel(new TableSorter(TableModelAlbum.getModel(), tbAlbuns.getTableHeader()));
114 Util.ajustaLargura(tbAlbuns, larguraColunas);
115 tbAlbuns.repaint();
116 PainelWebFotos.apresentaNumReg();
117
118
119 PainelWebFotos.resetAlbum();
120 PainelWebFotos.alteracaoFinalizada();
121 }
122 }
123 }