Ability to individually enable/disable the remote indices.
1.1 --- a/remoting/ide/api/src/org/netbeans/modules/jackpot30/remoting/api/RemoteIndex.java Thu Jul 21 15:59:06 2011 +0200
1.2 +++ b/remoting/ide/api/src/org/netbeans/modules/jackpot30/remoting/api/RemoteIndex.java Thu Jul 21 22:43:01 2011 +0200
1.3 @@ -57,21 +57,28 @@
1.4 */
1.5 public class RemoteIndex {
1.6
1.7 + public final boolean enabled;
1.8 public final String folder;
1.9 public final URL remote;
1.10 public final String remoteSegment;
1.11
1.12 public static RemoteIndex create(String folder, URL remote, String remoteSegment) {
1.13 - return new RemoteIndex(folder, remote, remoteSegment);
1.14 + return create(true, folder, remote, remoteSegment);
1.15 + }
1.16 +
1.17 + public static RemoteIndex create(boolean enabled, String folder, URL remote, String remoteSegment) {
1.18 + return new RemoteIndex(enabled, folder, remote, remoteSegment);
1.19 }
1.20
1.21 private RemoteIndex() {//used by Pojson
1.22 + this.enabled = true;
1.23 this.folder = null;
1.24 this.remote = null;
1.25 this.remoteSegment = null;
1.26 }
1.27
1.28 - private RemoteIndex(String folder, URL remote, String remoteSegment) {
1.29 + private RemoteIndex(boolean enabled, String folder, URL remote, String remoteSegment) {
1.30 + this.enabled = enabled;
1.31 this.folder = folder;
1.32 this.remote = remote;
1.33 this.remoteSegment = remoteSegment;
1.34 @@ -80,6 +87,10 @@
1.35 private static final String KEY_REMOTE_INDICES = RemoteIndex.class.getSimpleName();
1.36
1.37 public static Iterable<? extends RemoteIndex> loadIndices() {
1.38 + return loadIndices(false);
1.39 + }
1.40 +
1.41 + public static Iterable<? extends RemoteIndex> loadIndices(boolean includeAll) {
1.42 List<RemoteIndex> result = new LinkedList<RemoteIndex>();
1.43 Preferences prefs = NbPreferences.forModule(RemoteIndex.class).node(KEY_REMOTE_INDICES);
1.44
2.1 --- a/remoting/ide/api/src/org/netbeans/modules/jackpot30/remotingapi/options/IndexPanel.form Thu Jul 21 15:59:06 2011 +0200
2.2 +++ b/remoting/ide/api/src/org/netbeans/modules/jackpot30/remotingapi/options/IndexPanel.form Thu Jul 21 22:43:01 2011 +0200
2.3 @@ -1,4 +1,4 @@
2.4 -<?xml version="1.1" encoding="UTF-8" ?>
2.5 +<?xml version="1.0" encoding="UTF-8" ?>
2.6
2.7 <Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
2.8 <AuxValues>
3.1 --- a/remoting/ide/api/src/org/netbeans/modules/jackpot30/remotingapi/options/IndexPanel.java Thu Jul 21 15:59:06 2011 +0200
3.2 +++ b/remoting/ide/api/src/org/netbeans/modules/jackpot30/remotingapi/options/IndexPanel.java Thu Jul 21 22:43:01 2011 +0200
3.3 @@ -202,11 +202,12 @@
3.4 void load() {
3.5 TableModelImpl model = new TableModelImpl();
3.6
3.7 - for (RemoteIndex idx : RemoteIndex.loadIndices()) {
3.8 + for (RemoteIndex idx : RemoteIndex.loadIndices(true)) {
3.9 model.indices.add(idx);
3.10 }
3.11
3.12 indices.setModel(model);
3.13 + model.fireTableStructureChanged();
3.14 }
3.15
3.16 void store() {
3.17 @@ -235,31 +236,46 @@
3.18 }
3.19
3.20 public int getColumnCount() {
3.21 - return 3;
3.22 + return 4;
3.23 }
3.24
3.25 public String getColumnName(int columnIndex) {
3.26 switch (columnIndex) {
3.27 - case 0: return "Local folder";
3.28 - case 1: return "Remote URL";
3.29 - case 2: return "Remote project";
3.30 + case 0: return "";
3.31 + case 1: return "Local folder";
3.32 + case 2: return "Remote URL";
3.33 + case 3: return "Remote project";
3.34 default: throw new IllegalStateException();
3.35 }
3.36 }
3.37
3.38 public Class<?> getColumnClass(int columnIndex) {
3.39 - return String.class;
3.40 + return columnIndex == 0 ? Boolean.class : String.class;
3.41 }
3.42
3.43 public Object getValueAt(int rowIndex, int columnIndex) {
3.44 RemoteIndex idx = indices.get(rowIndex);
3.45
3.46 switch (columnIndex) {
3.47 - case 0: return idx.folder;
3.48 - case 1: return idx.remote.toExternalForm();
3.49 - case 2: return idx.remoteSegment;
3.50 + case 0: return idx.enabled;
3.51 + case 1: return idx.folder;
3.52 + case 2: return idx.remote.toExternalForm();
3.53 + case 3: return idx.remoteSegment;
3.54 default: throw new IllegalStateException();
3.55 }
3.56 }
3.57 +
3.58 + @Override
3.59 + public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
3.60 + RemoteIndex idx = indices.get(rowIndex);
3.61 +
3.62 + indices.set(rowIndex, RemoteIndex.create(aValue instanceof Boolean ? (Boolean) aValue : true, idx.folder, idx.remote, idx.remoteSegment));
3.63 + }
3.64 +
3.65 + @Override
3.66 + public boolean isCellEditable(int rowIndex, int columnIndex) {
3.67 + return columnIndex == 0;
3.68 + }
3.69 +
3.70 }
3.71 }