Changeset 1482 in josm for trunk/src


Ignore:
Timestamp:
2009-03-11T09:20:22+01:00 (15 years ago)
Author:
stoecker
Message:

fix help dialog build issue

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/HelpAction.java

    r1449 r1482  
    6262                if (e.getURL() == null)
    6363                    help.setText("<html>404 not found</html>");
    64                 else if (e.getURL().toString().startsWith(WikiReader.JOSM_EXTERN))
    65                     OpenBrowser.displayUrl("http://"+e.getURL().toString().substring(WikiReader.JOSM_EXTERN.length())+"?action=edit");
     64                else if (e.getURL().toString().endsWith("action=edit"))
     65                    OpenBrowser.displayUrl(e.getURL().toString());
    6666                else
    6767                    setHelpUrl(e.getURL().toString());
     
    168168            title = languageCode + title;
    169169        String langurl = url.substring(0, i) + title;
    170         if(langurl.equals(this.url) || langurl.equals(url))
     170        boolean loaded = false;
     171        if(!langurl.equals(this.url) && !langurl.equals(url))
    171172        {
    172             this.url = url;
    173             try {
    174                 help.read(new StringReader(reader.read(url)), help.getEditorKit().createDefaultDocument());
    175             } catch (IOException ex) {
    176                 help.setText(tr("Error while loading page {0}",url));
    177             }
     173            loaded = loadHelpUrl(url, langurl, true);
    178174        }
    179         else
    180         {
    181             try {
    182                 help.read(new StringReader(reader.read(langurl)), help.getEditorKit().createDefaultDocument());
    183                 String message = help.getText();
    184                 String le = "http://josm-extern." + langurl.substring(7);
    185                 if(message.indexOf("Describe &quot;") >= 0 && message.indexOf(le) >= 0)
    186                     throw new IOException();
    187                 if(message.indexOf("      Describe ") >= 0)
    188                     throw new IOException();
    189                 this.url = langurl;
    190             } catch (IOException e) {
    191                 this.url = url;
    192                 try {
    193                     help.read(new StringReader(reader.read(url)), help.getEditorKit().createDefaultDocument());
    194                 } catch (IOException ex) {
    195                     help.setText(tr("Error while loading page {0}",url));
     175        if(!loaded)
     176            loaded = loadHelpUrl(url, langurl, false);
     177        if(!loaded)
     178            help.setText(tr("Error while loading page {0}",url));
     179        helpBrowser.setVisible(true);
     180    }
     181
     182    private boolean loadHelpUrl(String url, String langurl, boolean lang)
     183    {
     184      this.url = lang ? langurl : url;
     185      boolean loaded = false;
     186      try {
     187          help.read(new StringReader(reader.read(this.url)),
     188          help.getEditorKit().createDefaultDocument());
     189          if(help.getText().indexOf("      Describe ") >= 0)
     190          {
     191              if(lang)
     192                  throw new IOException();
     193              else
     194              {
     195                if(url.equals(langurl))
     196                {
     197                    help.setText("<HTML>"+tr("Helppage missing. Create it in <A HREF=\"{0}\">english</A>.",
     198                    url+"?action=edit")+"</HTML>");
    196199                }
    197             }
    198         }
    199         helpBrowser.setVisible(true);
     200                else
     201                {
     202                    help.setText("<HTML>"+tr("Helppage missing. Create it in <A HREF=\"{0}\">english</A> or <A HREF=\"{1}\">your language</A>.",
     203                    url+"?action=edit", langurl+"?action=edit")+"</HTML>");
     204                }
     205              }
     206          }
     207          loaded = true;
     208      } catch (IOException ex) {
     209      }
     210      return loaded;
    200211    }
    201212
Note: See TracChangeset for help on using the changeset viewer.