diff options
Diffstat (limited to 'BKUCommonGUI')
| -rw-r--r-- | BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/BKUGUIFacade.java | 1 | ||||
| -rw-r--r-- | BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HashDataViewer.java (renamed from BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/ViewerDialog.java) | 181 | ||||
| -rw-r--r-- | BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpMouseListener.java | 10 | ||||
| -rw-r--r-- | BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpViewer.java | 211 | ||||
| -rw-r--r-- | BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SimpleGUI.java | 3 | ||||
| -rw-r--r-- | BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties | 1 | ||||
| -rw-r--r-- | BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages_en.properties | 1 | 
7 files changed, 279 insertions, 129 deletions
| diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/BKUGUIFacade.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/BKUGUIFacade.java index 2daf3300..c7032f90 100644 --- a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/BKUGUIFacade.java +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/BKUGUIFacade.java @@ -38,6 +38,7 @@ public interface BKUGUIFacade {    public static final String ERR_CARD_LOCKED = "error.card.locked";    public static final String ERR_CARD_NOTACTIVATED = "error.card.notactivated";    public static final String ERR_VIEWER = "error.viewer"; +  public static final String ERR_EXTERNAL_LINK = "error.external.link";    public static final String MESSAGES_BUNDLE = "at/gv/egiz/bku/gui/Messages";    public static final String DEFAULT_BACKGROUND = "/images/BackgroundChipperling.png"; diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/ViewerDialog.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HashDataViewer.java index e643c876..8883098a 100644 --- a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/ViewerDialog.java +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HashDataViewer.java @@ -23,18 +23,14 @@ import java.awt.Cursor;  import java.awt.Dimension;  import java.awt.Font;  import java.awt.Frame; -import java.awt.Point;  import java.awt.event.ActionEvent;  import java.awt.event.ActionListener; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent;  import java.io.BufferedReader; -import java.io.IOException;  import java.io.InputStream;  import java.io.InputStreamReader;  import java.io.Reader; -import java.net.URL; -import java.net.URLConnection;  import java.nio.charset.Charset;  import java.text.MessageFormat;  import java.util.List; @@ -51,8 +47,6 @@ import javax.swing.JScrollPane;  import javax.swing.LayoutStyle;  import javax.swing.text.Document;  import javax.swing.text.EditorKit; -import javax.swing.text.html.HTMLDocument; -import javax.swing.text.html.HTMLEditorKit;  import org.apache.commons.logging.Log;  import org.apache.commons.logging.LogFactory; @@ -60,102 +54,84 @@ import org.apache.commons.logging.LogFactory;   *   * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at>   */ -public class ViewerDialog extends JDialog +public class HashDataViewer extends JDialog          implements ActionListener {    public static final String PLAINTEXT_FONT = "Monospaced"; -  protected static final Log log = LogFactory.getLog(ViewerDialog.class); -//  private ViewerDialog dialog; +  protected static final Log log = LogFactory.getLog(HashDataViewer.class); + +  private static HashDataViewer dialog;    protected ResourceBundle messages;    /**     *  -   * @param frameComp     * @param signedReferences currently, only one hashdata input (the first in the list) is displayed -   * @param messages -   * @param saveListener -   * @param saveCommand -   * @param helpListener +   */ +  public static void showHashDataInput(List<HashDataInput> hashDataInputs, +          ResourceBundle messages, +          ActionListener saveListener, +          String saveCommand, +          ActionListener helpListener) { +    showHashDataInput(null, hashDataInputs, messages, saveListener, saveCommand, helpListener); +  } +   +  /** +   *  +   * @param frameComp owner     */    public static void showHashDataInput(Component frameComp,            List<HashDataInput> hashDataInputs,            ResourceBundle messages,            ActionListener saveListener,            String saveCommand, -          HelpMouseListener helpListener) { +          ActionListener helpListener) {      Frame frame = null;      if (frameComp != null) {        JOptionPane.getFrameForComponent(frameComp);      } -    ViewerDialog viewer = new ViewerDialog(frame,  +    dialog = new HashDataViewer(frame,               messages,              hashDataInputs,               saveListener,               saveCommand,               helpListener); -    viewer.setVisible(true); +    dialog.setVisible(true);    } -  public static void showHelp(Component frameComp, -          String helpTopic, -//          Reader helpDocument, -          InputStream helpDocument, -          String mimeType, -          ResourceBundle messages) { -     -    Frame frame = null; -    if (frameComp != null) { -      JOptionPane.getFrameForComponent(frameComp); -    } -    ViewerDialog viewer = new ViewerDialog(frame, messages, helpTopic, helpDocument, mimeType); -    viewer.setVisible(true); -  } - -  /** -   * TODO make encoding aware! -   * @param frame -   * @param title -   * @param messages -   * @param hashDataInputs -   * @param saveListener -   * @param saveCommand -   * @param helpListener -   */ -  private ViewerDialog(Frame frame, +  private HashDataViewer(Frame frame,            ResourceBundle messages,            List<HashDataInput> hashDataInputs,            ActionListener saveListener,            String saveCommand, -          HelpMouseListener helpListener) { +          ActionListener helpListener) {      super(frame, messages.getString(BKUGUIFacade.WINDOWTITLE_VIEWER), true);      this.messages = messages;      HashDataInput hashData = hashDataInputs.get(0); -//    Charset cs; -//    if (hashData.getEncoding() == null) { -//      cs = Charset.forName("UTF-8"); -//    } else { -//      try { -//        cs = Charset.forName(hashData.getEncoding()); -//      } catch (Exception ex) { -//        log.debug("charset " + hashData.getEncoding() + " not supported, assuming UTF-8: " + ex.getMessage()); -//        cs = Charset.forName("UTF-8"); -//      }   -//    } -     -//    InputStreamReader isr = new InputStreamReader(hashData.getHashDataInput(), cs); -//    Reader content = new BufferedReader(isr); -    InputStream content = hashData.getHashDataInput(); -    String mimeType = hashData.getMimeType(); -    String encoding = hashData.getEncoding(); -    if (encoding == null) { -      encoding = "UTF-8"; +    Charset cs; +    if (hashData.getEncoding() == null) { +      cs = Charset.forName("UTF-8"); +    } else { +      try { +        cs = Charset.forName(hashData.getEncoding()); +      } catch (Exception ex) { +        log.debug("charset " + hashData.getEncoding() + " not supported, assuming UTF-8: " + ex.getMessage()); +        cs = Charset.forName("UTF-8"); +      }        } -       -    JPanel hashDataPanel = createViewerPanel(messages.getString(BKUGUIFacade.MESSAGE_HASHDATA), content, mimeType, encoding, helpListener); +     +     +    InputStreamReader isr = new InputStreamReader(hashData.getHashDataInput(), cs); +    Reader content = new BufferedReader(isr); +   +    JPanel hashDataPanel = createViewerPanel( +            messages.getString(BKUGUIFacade.MESSAGE_HASHDATA),  +            content,  +            hashData.getMimeType(),  +            helpListener);      JPanel buttonPanel = createButtonPanel(saveListener, saveCommand);      initContentPane(new Dimension(600, 400), hashDataPanel, buttonPanel); @@ -167,31 +143,6 @@ public class ViewerDialog extends JDialog      }    } -  private ViewerDialog(Frame frame, -          ResourceBundle messages, -          String helpTopic, -//          Reader helpDocument, -          InputStream helpDocument, -          String mimeType) { -    super(frame, messages.getString(BKUGUIFacade.WINDOWTITLE_HELP), true); -    this.messages = messages; -     -    String p = messages.getString(BKUGUIFacade.MESSAGE_HELP); -    String helpItem = messages.getString(helpTopic); -    String viewerLabel = MessageFormat.format(p, new Object[] {helpItem}); -     -    JPanel helpPanel = createViewerPanel(viewerLabel, helpDocument, mimeType, null, null); -    JPanel buttonPanel = createButtonPanel(); -     -    initContentPane(new Dimension(600, 400), helpPanel, buttonPanel); -    pack(); -    if (frame != null) { -      setLocationRelativeTo(frame); -    } else { -      setLocationByPlatform(true); -    } -  } -      private void initContentPane(Dimension preferredSize, JPanel viewerPanel, JPanel buttonPanel) {      Container contentPane = getContentPane();      contentPane.setPreferredSize(preferredSize); @@ -220,7 +171,10 @@ public class ViewerDialog extends JDialog     * @param helpListener may be null     * @return     */ -  private JPanel createViewerPanel(String viewerLabelText, InputStream content, String mimeType, String encoding, HelpMouseListener helpListener) { +  private JPanel createViewerPanel(String viewerLabelText,  +          Reader content,  +          String mimeType,  +          final ActionListener helpListener) {      log.debug("viewer dialog: " + mimeType);      if (mimeType == null) { @@ -241,15 +195,8 @@ public class ViewerDialog extends JDialog  //    document.putProperty("IgnoreCharsetDirective", new Boolean(true));      try { -      if (encoding != null) { -        BufferedReader contentReader = new BufferedReader(new InputStreamReader(content, encoding)); -        viewer.read(contentReader, document); -        contentReader.close(); -      } else { -        // charset declaration in content          viewer.read(content, document);          content.close(); -      }      } catch (Exception ex) {        log.error(ex.getMessage(), ex);        String p = messages.getString(BKUGUIFacade.ERR_VIEWER); @@ -272,9 +219,15 @@ public class ViewerDialog extends JDialog      if (helpListener != null) {        JLabel helpLabel = new JLabel(); -      helpListener.setHelpTopic(BKUGUIFacade.HELP_HASHDATAVIEWER);        helpLabel.setIcon(new ImageIcon(getClass().getResource(BKUGUIFacade.HELP_IMG))); -      helpLabel.addMouseListener(helpListener); +      helpLabel.addMouseListener(new MouseAdapter() { + +        @Override +        public void mouseClicked(MouseEvent arg0) { +            ActionEvent e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, BKUGUIFacade.HELP_HASHDATAVIEWER); +            helpListener.actionPerformed(e); +        } +      });        helpLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));        viewerPanelLayout.setHorizontalGroup(              viewerPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING).addGroup(viewerPanelLayout.createSequentialGroup().addComponent(viewerLabel).addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED, 0, Short.MAX_VALUE).addComponent(helpLabel)).addComponent(scrollPane)); //, 0, 0, Short.MAX_VALUE)); @@ -300,25 +253,6 @@ public class ViewerDialog extends JDialog      return viewerPanel;    } - -  private JPanel createButtonPanel() { -    JButton closeButton = new JButton(); -    closeButton.setText(messages.getString(BKUGUIFacade.BUTTON_CLOSE)); -    closeButton.addActionListener(this); - -    JPanel buttonPanel = new JPanel(); -    GroupLayout buttonPanelLayout = new GroupLayout(buttonPanel); -    buttonPanel.setLayout(buttonPanelLayout); - -    buttonPanelLayout.setHorizontalGroup( -            buttonPanelLayout.createSequentialGroup() -              .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) -              .addComponent(closeButton)); -    buttonPanelLayout.setVerticalGroup( -            buttonPanelLayout.createSequentialGroup() -              .addComponent(closeButton)); -    return buttonPanel; -  }    private JPanel createButtonPanel(ActionListener saveListener, String saveCommand) {      JButton closeButton = new JButton(); @@ -349,9 +283,6 @@ public class ViewerDialog extends JDialog    @Override    public void actionPerformed(ActionEvent e) { -//    if ("close".equals(e.getActionCommand())) { -//    ViewerDialog.dialog.setVisible(false); -//    HashDataViewer.dialog.dispose(); -    this.setVisible(false); +    HashDataViewer.dialog.setVisible(false);    }  } diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpMouseListener.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpMouseListener.java index 531884d1..b7bbe971 100644 --- a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpMouseListener.java +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpMouseListener.java @@ -28,23 +28,27 @@ public class HelpMouseListener extends MouseAdapter {    protected static final Log log = LogFactory.getLog(HelpMouseListener.class); -  protected ActionListener externalHelpListener; +  protected ActionListener helpListener;    protected String locale;    protected String topic;    public HelpMouseListener(ActionListener externalHelpListener) {      super(); -    this.externalHelpListener = externalHelpListener; +    this.helpListener = externalHelpListener;    }    public void setHelpTopic(String topic) {      log.trace("setting help topic: " + topic);      this.topic = topic;    } +   +  public ActionListener getActionListener() { +    return helpListener; +  }    @Override    public void mouseClicked(MouseEvent arg0) {      ActionEvent e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, topic); -    externalHelpListener.actionPerformed(e); +    helpListener.actionPerformed(e);    }  } diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpViewer.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpViewer.java new file mode 100644 index 00000000..42ca2090 --- /dev/null +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/HelpViewer.java @@ -0,0 +1,211 @@ +/* + * Copyright 2008 Federal Chancellery Austria and + * Graz University of Technology + *  + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *  + *     http://www.apache.org/licenses/LICENSE-2.0 + *  + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package at.gv.egiz.bku.gui; + +import at.gv.egiz.bku.gui.*; +import java.applet.AppletContext; +import java.awt.Component; +import java.awt.Container; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.IOException; +import java.net.URL; +import java.text.MessageFormat; +import java.util.ResourceBundle; +import javax.swing.GroupLayout; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JEditorPane; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.LayoutStyle; +import javax.swing.SwingUtilities; +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * + * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at> + */ +public class HelpViewer extends JDialog +        implements ActionListener { + +  protected static final Log log = LogFactory.getLog(HelpViewer.class); +  private static HelpViewer dialog; +  protected ResourceBundle messages; +  protected AppletContext ctx; + +  /** +   *  +   * @param ctx external links are opened via ctx.showDocument() +   * @param helpURL +   * @param helpTopic +   * @param messages +   */ +  public static void showHelpDialog(AppletContext ctx, +          URL helpURL, +          String helpTopic, +          ResourceBundle messages) { +    showHelpDialog(null, ctx, helpURL, helpTopic, messages); +  } + +  public static void showHelpDialog(URL helpURL, +          String helpTopic, +          ResourceBundle messages) { +    showHelpDialog(null, null, helpURL, helpTopic, messages); +  } + +  public static void showHelpDialog(Component owner, +          AppletContext ctx, +          URL helpURL, +          String helpTopic, +          ResourceBundle messages) { + +    Frame frame = null; +    if (owner != null) { +      JOptionPane.getFrameForComponent(owner); +    } +    dialog = new HelpViewer(frame, messages, ctx, helpURL, helpTopic); +    dialog.setVisible(true); +  } + +  private HelpViewer(Frame frame, +          ResourceBundle messages, +          AppletContext ctx, +          URL helpURL, +          String helpTopic) { +    super(frame, messages.getString(BKUGUIFacade.WINDOWTITLE_HELP), true); +    this.messages = messages; +    this.ctx = ctx; + +    String p = messages.getString(BKUGUIFacade.MESSAGE_HELP); +    String helpItem = messages.getString(helpTopic); +    String viewerLabel = MessageFormat.format(p, new Object[]{helpItem}); + +    JPanel helpPanel = createViewerPanel(viewerLabel, helpURL); +    JPanel buttonPanel = createButtonPanel(); + +    initContentPane(new Dimension(600, 400), helpPanel, buttonPanel); +    pack(); +    if (frame != null) { +      setLocationRelativeTo(frame); +    } else { +      setLocationByPlatform(true); +    } +  } + +  private void initContentPane(Dimension preferredSize, JPanel viewerPanel, JPanel buttonPanel) { +    Container contentPane = getContentPane(); +    contentPane.setPreferredSize(preferredSize); + +    GroupLayout mainLayout = new GroupLayout(contentPane); +    contentPane.setLayout(mainLayout); + +    mainLayout.setHorizontalGroup( +            mainLayout.createSequentialGroup().addContainerGap().addGroup( +            mainLayout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent(viewerPanel, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(buttonPanel, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addContainerGap()); +    mainLayout.setVerticalGroup( +            mainLayout.createSequentialGroup().addContainerGap().addComponent(viewerPanel, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED).addComponent(buttonPanel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE).addContainerGap()); +  } + +  private JPanel createViewerPanel(String viewerLabelText, URL helpURL) { +    log.debug("viewer dialog: " + helpURL.toString()); + +    final JEditorPane viewer = new JEditorPane(); +    viewer.setEditable(false); +    try { +      viewer.setPage(helpURL); +      viewer.addHyperlinkListener(new HyperlinkListener() { + +        @Override +        public void hyperlinkUpdate(HyperlinkEvent e) { +          final URL url = e.getURL(); +          if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { +            if (ctx != null) { +              log.debug("open external link in help viewer: " + url); +              ctx.showDocument(url, "_blank"); +            } else { +              SwingUtilities.invokeLater(new Runnable() { + +                @Override +                public void run() { +                  String msgP = messages.getString(BKUGUIFacade.ERR_EXTERNAL_LINK); +                  String msg = MessageFormat.format(msgP, url); +                  String title = messages.getString(BKUGUIFacade.TITLE_ERROR); +                  JOptionPane.showMessageDialog(rootPane, msg, title, JOptionPane.ERROR_MESSAGE); +                } +              }); +            } +          } +        } +      }); +    } catch (IOException ex) { +      String p = messages.getString(BKUGUIFacade.ERR_VIEWER); +      viewer.setText(MessageFormat.format(p, new Object[]{ex.getMessage()})); +    } + +    JScrollPane scrollPane = new JScrollPane(viewer); +    scrollPane.setPreferredSize(viewer.getPreferredSize()); +    scrollPane.setAlignmentX(LEFT_ALIGNMENT); +    viewer.setCaretPosition(0); + +    JLabel viewerLabel = new JLabel(); +    viewerLabel.setText(viewerLabelText); +    viewerLabel.setFont(viewerLabel.getFont().deriveFont(viewerLabel.getFont().getStyle() | java.awt.Font.BOLD)); +    viewerLabel.setLabelFor(viewer); + +    JPanel viewerPanel = new JPanel(); +    GroupLayout viewerPanelLayout = new GroupLayout(viewerPanel); +    viewerPanel.setLayout(viewerPanelLayout); +     +    viewerPanelLayout.setHorizontalGroup( +            viewerPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING).addComponent(viewerLabel).addComponent(scrollPane)); +    viewerPanelLayout.setVerticalGroup( +            viewerPanelLayout.createSequentialGroup().addComponent(viewerLabel).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED).addComponent(scrollPane)); + +    return viewerPanel; +  } + +  private JPanel createButtonPanel() { +    JButton closeButton = new JButton(); +    closeButton.setText(messages.getString(BKUGUIFacade.BUTTON_CLOSE)); +    closeButton.addActionListener(this); + +    JPanel buttonPanel = new JPanel(); +    GroupLayout buttonPanelLayout = new GroupLayout(buttonPanel); +    buttonPanel.setLayout(buttonPanelLayout); + +    buttonPanelLayout.setHorizontalGroup( +            buttonPanelLayout.createSequentialGroup().addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(closeButton)); +    buttonPanelLayout.setVerticalGroup( +            buttonPanelLayout.createSequentialGroup().addComponent(closeButton)); +    return buttonPanel; +  } + +  @Override +  public void actionPerformed(ActionEvent e) { +    HelpViewer.dialog.setVisible(false); +  } +} diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SimpleGUI.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SimpleGUI.java index 6250dd0e..a810d34c 100644 --- a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SimpleGUI.java +++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SimpleGUI.java @@ -954,7 +954,8 @@ public class SimpleGUI implements BKUGUIFacade {            log.debug("show plaintext hashdatainput dialog"); -          ViewerDialog.showHashDataInput(contentPane, signedReferences, messages, saveListener, saveCommand, helpListener); +          ActionListener l = helpListener.getActionListener(); +          HashDataViewer.showHashDataInput(contentPane, signedReferences, messages, saveListener, saveCommand, l);          }        });      } diff --git a/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties b/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties index ba20471d..6c049c85 100644 --- a/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties +++ b/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages.properties @@ -67,6 +67,7 @@ error.test=<html>Fehler1 {0} - Fehler2 {1}</html>  error.card.locked=<html>B\u00FCrgerkarte ist gesperrt</html>  error.card.notactivated=<html>B\u00FCrgerkartenfunktion ist nicht aktiviert</html>  error.viewer=Der Inhalt kann nicht dargestellt werden: {0} +error.external.link=<html>Externer Link {0} wird nicht ge\u00F6ffnet</html>  # Help Topics  help.welcome=Startseite diff --git a/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages_en.properties b/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages_en.properties index edc5371d..80dc4234 100644 --- a/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages_en.properties +++ b/BKUCommonGUI/src/main/resources/at/gv/egiz/bku/gui/Messages_en.properties @@ -65,6 +65,7 @@ error.test=<html>Error1 {0} - Error2 {1}</html>  error.card.locked=<html>Citizen-card is locked</html>  error.card.notactivated=<html>Citizen-card not activated</html>  error.viewer=Failed to display contents: {0} +error.external.link=<html>Externer Link {0} wird nicht ge\u00F6ffnet</html>  # Help Topics  help.welcome=Welcome page | 
