Changeset 29329 in osm for applications


Ignore:
Timestamp:
2013-03-03T14:11:53+01:00 (11 years ago)
Author:
simon04
Message:

JOSM/wikipedia: paste Wikipedia articles from system clipboard

Location:
applications/editors/josm/plugins/wikipedia/src/org/wikipedia
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java

    r29323 r29329  
    1010import java.net.URLEncoder;
    1111import java.util.ArrayList;
     12import java.util.Arrays;
    1213import java.util.Collection;
    1314import java.util.HashMap;
     
    2526import org.openstreetmap.josm.data.osm.Tag;
    2627import org.openstreetmap.josm.tools.Utils;
     28import org.openstreetmap.josm.tools.Utils.Function;
    2729import org.w3c.dom.Document;
    2830import org.w3c.dom.NodeList;
     
    8486    }
    8587
     88    static List<WikipediaEntry> getEntriesFromClipboard(final String wikipediaLang) {
     89        final List<String> clipboardLines = Arrays.asList(Utils.getClipboardContent().split("[\\n\\r]+"));
     90        return new ArrayList<WikipediaEntry>(Utils.transform(clipboardLines, new Function<String, WikipediaEntry>() {
     91
     92            @Override
     93            public WikipediaEntry apply(String x) {
     94                return new WikipediaEntry(x, wikipediaLang, x);
     95            }
     96        }));
     97    }
     98
    8699    static void updateWIWOSMStatus(String wikipediaLang, Collection<WikipediaEntry> entries) {
    87100        Collection<String> articleNames = new ArrayList<String>();
  • applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaToggleDialog.java

    r29328 r29329  
    4747                new SideButton(new WikipediaLoadCoordinatesAction()),
    4848                new SideButton(new WikipediaLoadCategoryAction()),
     49                new SideButton(new PasteWikipediaArticlesAction()),
    4950                new SideButton(new AddWikipediaTagAction()),
    5051                new SideButton(new OpenWikipediaArticleAction()),
     
    165166    }
    166167
     168    class PasteWikipediaArticlesAction extends AbstractAction {
     169
     170        public PasteWikipediaArticlesAction() {
     171            super(tr("Clipboard"), ImageProvider.get("paste"));
     172            putValue(SHORT_DESCRIPTION, tr("Pastes Wikipedia articles from the system clipboard"));
     173        }
     174
     175        @Override
     176        public void actionPerformed(ActionEvent e) {
     177            setWikipediaEntries(WikipediaApp.getEntriesFromClipboard(wikipediaLang.get()));
     178            titleContext = tr("clipboard");
     179            updateTitle();
     180        }
     181    }
     182
    167183    class OpenWikipediaArticleAction extends AbstractAction {
    168184
Note: See TracChangeset for help on using the changeset viewer.