From: <kp...@us...> - 2006-09-15 09:20:14
|
Revision: 7050 http://svn.sourceforge.net/jedit/?rev=7050&view=rev Author: kpouer Date: 2006-09-15 02:19:58 -0700 (Fri, 15 Sep 2006) Log Message: ----------- it is not allowed anymore to call for a mirror list update twice at the same time Modified Paths: -------------- jEdit/trunk/doc/CHANGES.txt jEdit/trunk/org/gjt/sp/jedit/jedit_gui.props jEdit/trunk/org/gjt/sp/jedit/options/PluginManagerOptionPane.java jEdit/trunk/org/gjt/sp/jedit/pluginmgr/MirrorList.java Modified: jEdit/trunk/doc/CHANGES.txt =================================================================== --- jEdit/trunk/doc/CHANGES.txt 2006-09-15 04:55:55 UTC (rev 7049) +++ jEdit/trunk/doc/CHANGES.txt 2006-09-15 09:19:58 UTC (rev 7050) @@ -162,6 +162,9 @@ - Save and Backup Option Panel : the backup directory has now a button to browse using VFS file browser (#1540730) (Matthieu Casanova) + +- The PluginManager options do not allow anymore to ask for a mirror list update + twice (Matthieu Casanova) }}} }}} Modified: jEdit/trunk/org/gjt/sp/jedit/jedit_gui.props =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/jedit_gui.props 2006-09-15 04:55:55 UTC (rev 7049) +++ jEdit/trunk/org/gjt/sp/jedit/jedit_gui.props 2006-09-15 09:19:58 UTC (rev 7050) @@ -1744,6 +1744,7 @@ options.plugin-manager.label=Plugin Manager options.plugin-manager.code=new PluginManagerOptionPane(); options.plugin-manager.updateMirrors=Update mirror list +options.plugin-manager.workthread=Updating mirror list ... options.plugin-manager.downloadSource=Download plugin source code options.plugin-manager.deleteDownloads=Delete archives from download \ directory after install Modified: jEdit/trunk/org/gjt/sp/jedit/options/PluginManagerOptionPane.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/options/PluginManagerOptionPane.java 2006-09-15 04:55:55 UTC (rev 7049) +++ jEdit/trunk/org/gjt/sp/jedit/options/PluginManagerOptionPane.java 2006-09-15 09:19:58 UTC (rev 7050) @@ -27,12 +27,16 @@ import java.awt.*; import java.awt.event.*; import java.util.*; +import java.util.List; + import org.gjt.sp.jedit.*; import org.gjt.sp.jedit.io.VFSManager; import org.gjt.sp.jedit.pluginmgr.*; import org.gjt.sp.util.*; /** + * The plugin manager option pane. + * * @version $Id$ */ public class PluginManagerOptionPane extends AbstractOptionPane @@ -79,10 +83,14 @@ buttonPanel.add(Box.createVerticalStrut(6)); /* Update mirror list */ - JButton updateMirrors = new JButton(jEdit.getProperty( + updateMirrors = new JButton(jEdit.getProperty( "options.plugin-manager.updateMirrors")); updateMirrors.addActionListener(new ActionHandler()); - buttonPanel.add(updateMirrors); + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); + panel.add(updateMirrors); + panel.add(updateStatus); + panel.setAlignmentX(Component.LEFT_ALIGNMENT); + buttonPanel.add(panel); buttonPanel.add(Box.createVerticalStrut(6)); @@ -90,6 +98,7 @@ downloadSource = new JCheckBox(jEdit.getProperty( "options.plugin-manager.downloadSource")); downloadSource.setSelected(jEdit.getBooleanProperty("plugin-manager.downloadSource")); + downloadSource.setAlignmentX(Component.LEFT_ALIGNMENT); buttonPanel.add(downloadSource); buttonPanel.add(Box.createVerticalStrut(6)); @@ -98,6 +107,7 @@ deleteDownloads = new JCheckBox(jEdit.getProperty( "options.plugin-manager.deleteDownloads")); deleteDownloads.setSelected(jEdit.getBooleanProperty("plugin-manager.deleteDownloads")); + deleteDownloads.setAlignmentX(Component.LEFT_ALIGNMENT); buttonPanel.add(deleteDownloads); buttonPanel.add(Box.createVerticalStrut(6)); @@ -116,6 +126,8 @@ locPanel.add(Box.createVerticalStrut(3)); } locPanel.add(appDir); + locationLabel.setAlignmentX(Component.LEFT_ALIGNMENT); + locPanel.setAlignmentX(Component.LEFT_ALIGNMENT); buttonPanel.add(locationLabel); buttonPanel.add(locPanel); @@ -166,6 +178,10 @@ private MirrorModel miraModel; private JList miraList; + /** The button to update mirror list. */ + private JButton updateMirrors; + /** A label telling if the mirror list is being updated. */ + private final JLabel updateStatus = new JLabel(); //}}} //{{{ updateMirrorLabel method @@ -189,18 +205,18 @@ //}}} //{{{ MirrorModel class - class MirrorModel extends AbstractListModel + static class MirrorModel extends AbstractListModel { - private ArrayList mirrors; + private List<MirrorList.Mirror> mirrors; - public MirrorModel() + MirrorModel() { - mirrors = new ArrayList(); + mirrors = new ArrayList<MirrorList.Mirror>(); } public String getID(int index) { - return ((MirrorList.Mirror)mirrors.get(index)).id; + return mirrors.get(index).id; } public int getSize() @@ -210,14 +226,14 @@ public Object getElementAt(int index) { - MirrorList.Mirror mirror = (MirrorList.Mirror)mirrors.get(index); + MirrorList.Mirror mirror = mirrors.get(index); if(mirror.id.equals(MirrorList.Mirror.NONE)) return jEdit.getProperty("options.plugin-manager.none"); else - return mirror.continent+": "+mirror.description+" ("+mirror.location+")"; + return mirror.continent+": "+mirror.description+" ("+mirror.location+')'; } - public void setList(ArrayList mirrors) + public void setList(List<MirrorList.Mirror> mirrors) { this.mirrors = mirrors; fireContentsChanged(this,0,mirrors.size() - 1); @@ -225,11 +241,10 @@ } //}}} //{{{ SingleSelectionModel class - class SingleSelectionModel extends DefaultListSelectionModel + static class SingleSelectionModel extends DefaultListSelectionModel { - public SingleSelectionModel() + SingleSelectionModel() { - super(); setSelectionMode(SINGLE_SELECTION); } @@ -241,6 +256,8 @@ { public void actionPerformed(ActionEvent evt) { + updateMirrors.setEnabled(false); + updateStatus.setText(jEdit.getProperty("options.plugin-manager.workthread")); VFSManager.runInWorkThread(new DownloadMirrorsThread()); } } //}}} @@ -250,42 +267,50 @@ { public void run() { - setStatus(jEdit.getProperty("options.plugin-manager.workthread")); - setMaximum(1); - setValue(0); - - final ArrayList mirrors = new ArrayList(); try { - mirrors.addAll(new MirrorList().mirrors); - } - catch (Exception ex) - { - Log.log(Log.ERROR,this,ex); - GUIUtilities.error(PluginManagerOptionPane.this, - "ioerror",new String[] { ex.toString() }); - } + setStatus(jEdit.getProperty("options.plugin-manager.workthread")); + setMaximum(1); + setValue(0); - SwingUtilities.invokeLater(new Runnable() - { - public void run() + final List<MirrorList.Mirror> mirrors = new ArrayList<MirrorList.Mirror>(); + try { - miraModel.setList(mirrors); + mirrors.addAll(new MirrorList().mirrors); + } + catch (Exception ex) + { + Log.log(Log.ERROR,this,ex); + GUIUtilities.error(PluginManagerOptionPane.this, + "ioerror",new String[] { ex.toString() }); + } - String id = jEdit.getProperty("plugin-manager.mirror.id"); - int size = miraModel.getSize(); - for (int i=0; i < size; i++) + SwingUtilities.invokeLater(new Runnable() + { + public void run() { - if (size == 1 || miraModel.getID(i).equals(id)) + miraModel.setList(mirrors); + + String id = jEdit.getProperty("plugin-manager.mirror.id"); + int size = miraModel.getSize(); + for (int i=0; i < size; i++) { - miraList.setSelectedIndex(i); - break; + if (size == 1 || miraModel.getID(i).equals(id)) + { + miraList.setSelectedIndex(i); + break; + } } } - } - }); + }); - setValue(1); + setValue(1); + } + finally + { + updateMirrors.setEnabled(true); + updateStatus.setText(null); + } } } //}}} } Modified: jEdit/trunk/org/gjt/sp/jedit/pluginmgr/MirrorList.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/pluginmgr/MirrorList.java 2006-09-15 04:55:55 UTC (rev 7049) +++ jEdit/trunk/org/gjt/sp/jedit/pluginmgr/MirrorList.java 2006-09-15 09:19:58 UTC (rev 7050) @@ -32,14 +32,17 @@ import org.gjt.sp.jedit.*; +/** + * @version $Id$ + */ public class MirrorList { - public ArrayList mirrors; + public List<Mirror> mirrors; //{{{ MirrorList constructor public MirrorList() throws Exception { - mirrors = new ArrayList(); + mirrors = new ArrayList<Mirror>(); Mirror none = new Mirror(); none.id = Mirror.NONE; @@ -99,13 +102,10 @@ } //}}} //{{{ MirrorCompare class - class MirrorCompare implements Comparator + private class MirrorCompare implements Comparator<Mirror> { - public int compare(Object o1,Object o2) + public int compare(Mirror m1,Mirror m2) { - Mirror m1 = (Mirror)o1; - Mirror m2 = (Mirror)o2; - int result; if ((result = m1.continent.compareToIgnoreCase(m2.continent)) == 0) if ((result = m1.country.compareToIgnoreCase(m2.country)) == 0) @@ -116,7 +116,7 @@ public boolean equals(Object obj) { - return (obj instanceof MirrorCompare); + return obj instanceof MirrorCompare; } } //}}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |