Changeset 1482 in josm


Ignore:
Timestamp:
Mar 11, 2009 9:20:22 AM (4 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.