--- /dev/null
+/*
+ * jSite2 - NodeEditDialog.java -
+ * Copyright © 2008 David Roden
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+package net.pterodactylus.jsite.gui;
+
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.border.EtchedBorder;
+
+import net.pterodactylus.jsite.core.Verifier;
+import net.pterodactylus.jsite.i18n.I18n;
+import net.pterodactylus.jsite.i18n.I18nable;
+import net.pterodactylus.jsite.i18n.gui.I18nAction;
+import net.pterodactylus.jsite.i18n.gui.I18nLabel;
+import net.pterodactylus.jsite.main.Version;
+import net.pterodactylus.util.swing.SwingUtils;
+
+/**
+ * Dialog that lets the user edit the properties of a node.
+ *
+ * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
+ */
+public class AddNodeDialog extends JDialog implements I18nable {
+
+ /** The user-given name of the node. */
+ private String name;
+
+ /** The hostname of the node. */
+ private String hostname;
+
+ /** The FNP port number of the node. */
+ private int port;
+
+ /** Action of the okay button. */
+ private I18nAction okayAction;
+
+ /** Action of the cancel button. */
+ private I18nAction cancelAction;
+
+ /** The name label. */
+ private I18nLabel nameLabel;
+
+ /** The name textfield. */
+ private JTextField nameTextField;
+
+ /** The hostname label. */
+ private I18nLabel hostnameLabel;
+
+ /** The hostname textfield. */
+ private JTextField hostnameTextField;
+
+ /** The port label. */
+ private I18nLabel portLabel;
+
+ /** The port textfield. */
+ private JTextField portTextField;
+
+ /** Whether the dialog was cancelled. */
+ private boolean cancelled;
+
+ /**
+ * Creates a new node edit dialog with the given parent.
+ *
+ * @param parentFrame
+ * The parent frame of this dialog
+ */
+ public AddNodeDialog(JFrame parentFrame) {
+ super(parentFrame, I18n.get("addNodeDialog.title") + " – jSite " + Version.getVersion(), true);
+ initActions();
+ initComponents();
+ pack();
+ setSize(getWidth() * 2, getHeight());
+ I18n.registerI18nable(this);
+ SwingUtils.center(this);
+ }
+
+ //
+ // ACCESSORS
+ //
+
+ /**
+ * Returns the user-given name of the node.
+ *
+ * @return The user-given name of the node
+ */
+ public String getNodeName() {
+ return name;
+ }
+
+ /**
+ * Sets the user-given name of the node.
+ *
+ * @param name
+ * The name of the node
+ */
+ public void setNodeName(String name) {
+ this.name = name;
+ nameTextField.setText(name);
+ }
+
+ /**
+ * Returns the hostname of the node.
+ *
+ * @return The hostname of the node
+ */
+ public String getNodeHostname() {
+ return hostname;
+ }
+
+ /**
+ * Sets the hostname of the node.
+ *
+ * @param hostname
+ * The hostname of the node
+ */
+ public void setNodeHostname(String hostname) {
+ this.hostname = hostname;
+ hostnameTextField.setText(hostname);
+ }
+
+ /**
+ * Returns the FCP port number of the node.
+ *
+ * @return The FCP port number of the node
+ */
+ public int getNodePort() {
+ return port;
+ }
+
+ /**
+ * Sets the FCP port number of the node.
+ *
+ * @param port
+ * The FCP port number of the node
+ */
+ public void setNodePort(int port) {
+ this.port = port;
+ portTextField.setText(String.valueOf(port));
+ }
+
+ /**
+ * Returns whether the dialog was cancelled.
+ *
+ * @return <code>true</code> if the dialog was cancelled,
+ * <code>false</code> if the user clicked “okay”
+ */
+ public boolean wasCancelled() {
+ return cancelled;
+ }
+
+ //
+ // PRIVATE METHODS
+ //
+
+ /**
+ * Initializes all actions.
+ */
+ private void initActions() {
+ okayAction = new I18nAction("general.button.okay") {
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent e) {
+ confirm();
+ }
+ };
+ cancelAction = new I18nAction("general.button.cancel") {
+
+ /**
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent e) {
+ cancel();
+ }
+ };
+ }
+
+ /**
+ * Initializes all components.
+ */
+ private void initComponents() {
+ JPanel rootPanel = new JPanel(new BorderLayout(12, 12));
+ setContentPane(rootPanel);
+ rootPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
+
+ JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING, 12, 12));
+ rootPanel.add(buttonPanel, BorderLayout.PAGE_END);
+ buttonPanel.setBorder(BorderFactory.createEmptyBorder(-12, -12, -12, -12));
+ buttonPanel.add(new JButton(cancelAction));
+ JButton okayButton = new JButton(okayAction);
+ buttonPanel.add(okayButton);
+ getRootPane().setDefaultButton(okayButton);
+
+ JPanel contentPanel = new JPanel(new GridBagLayout());
+ rootPanel.add(contentPanel, BorderLayout.CENTER);
+ contentPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), BorderFactory.createEmptyBorder(12, 12, 12, 12)));
+
+ nameTextField = new JTextField();
+ contentPanel.add(nameLabel = new I18nLabel("addNodeDialog.label.name", nameTextField), new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.LINE_END, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
+ contentPanel.add(nameTextField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(0, 12, 0, 0), 0, 0));
+
+ hostnameTextField = new JTextField();
+ contentPanel.add(hostnameLabel = new I18nLabel("addNodeDialog.label.hostname", hostnameTextField), new GridBagConstraints(0, 1, 1, 1, 0, 0, GridBagConstraints.LINE_END, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
+ contentPanel.add(hostnameTextField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(12, 12, 0, 0), 0, 0));
+
+ portTextField = new JTextField();
+ contentPanel.add(portLabel = new I18nLabel("addNodeDialog.label.port", portTextField), new GridBagConstraints(0, 2, 1, 1, 0, 0, GridBagConstraints.LINE_END, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
+ contentPanel.add(portTextField, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(12, 12, 0, 0), 0, 0));
+
+ contentPanel.add(new JPanel(), new GridBagConstraints(0, 3, 2, 1, 1.0, 1.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
+ }
+
+ //
+ // PRIVATE ACTIONS
+ //
+
+ /**
+ * Confirms the node settings and closes the dialog.
+ */
+ private void confirm() {
+ if (!Verifier.verifyNodeName(nameTextField.getText())) {
+ JOptionPane.showMessageDialog(this, I18n.get("addNodeDialog.error.name.message"), I18n.get("addNodeDialog.error.name.title"), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ if (!Verifier.verifyHostname(hostnameTextField.getText())) {
+ JOptionPane.showMessageDialog(this, I18n.get("addNodeDialog.error.hostname.message"), I18n.get("addNodeDialog.error.hostname.title"), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ if (!Verifier.verifyPort(portTextField.getText())) {
+ JOptionPane.showMessageDialog(this, I18n.get("addNodeDialog.error.port.message"), I18n.get("addNodeDialog.error.port.title"), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ name = nameTextField.getText().trim();
+ hostname = hostnameTextField.getText().trim();
+ try {
+ port = Integer.parseInt(portTextField.getText().trim());
+ } catch (NumberFormatException nfe1) {
+ /* should not occur, the value was checked! */
+ assert false: "port number is invalid though it was checked!";
+ }
+ cancelled = false;
+ setVisible(false);
+ }
+
+ /**
+ * Cancels the node settings and closes the dialog.
+ */
+ private void cancel() {
+ cancelled = true;
+ setVisible(false);
+ }
+
+ //
+ // INTERFACE I18nable
+ //
+
+ /**
+ * {@inheritDoc}
+ */
+ public void updateI18n() {
+ okayAction.updateI18n();
+ cancelAction.updateI18n();
+ nameLabel.updateI18n();
+ hostnameLabel.updateI18n();
+ portLabel.updateI18n();
+ setTitle(I18n.get("addNodeDialog.title") + " – jSite " + Version.getVersion());
+ }
+
+}
+++ /dev/null
-/*
- * jSite2 - NodeEditDialog.java -
- * Copyright © 2008 David Roden
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-package net.pterodactylus.jsite.gui;
-
-import java.awt.BorderLayout;
-import java.awt.FlowLayout;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-
-import javax.swing.BorderFactory;
-import javax.swing.JButton;
-import javax.swing.JDialog;
-import javax.swing.JFrame;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
-import javax.swing.border.EtchedBorder;
-
-import net.pterodactylus.jsite.core.Verifier;
-import net.pterodactylus.jsite.i18n.I18n;
-import net.pterodactylus.jsite.i18n.I18nable;
-import net.pterodactylus.jsite.i18n.gui.I18nAction;
-import net.pterodactylus.jsite.i18n.gui.I18nLabel;
-import net.pterodactylus.jsite.main.Version;
-import net.pterodactylus.util.swing.SwingUtils;
-
-/**
- * Dialog that lets the user edit the properties of a node.
- *
- * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
- */
-public class EditNodeDialog extends JDialog implements I18nable {
-
- /** The user-given name of the node. */
- private String name;
-
- /** The hostname of the node. */
- private String hostname;
-
- /** The FNP port number of the node. */
- private int port;
-
- /** Action of the okay button. */
- private I18nAction okayAction;
-
- /** Action of the cancel button. */
- private I18nAction cancelAction;
-
- /** The name label. */
- private I18nLabel nameLabel;
-
- /** The name textfield. */
- private JTextField nameTextField;
-
- /** The hostname label. */
- private I18nLabel hostnameLabel;
-
- /** The hostname textfield. */
- private JTextField hostnameTextField;
-
- /** The port label. */
- private I18nLabel portLabel;
-
- /** The port textfield. */
- private JTextField portTextField;
-
- /** Whether the dialog was cancelled. */
- private boolean cancelled;
-
- /**
- * Creates a new node edit dialog with the given parent.
- *
- * @param parentFrame
- * The parent frame of this dialog
- */
- public EditNodeDialog(JFrame parentFrame) {
- super(parentFrame, I18n.get("editNodeDialog.title") + " – jSite " + Version.getVersion(), true);
- initActions();
- initComponents();
- pack();
- setSize(getWidth() * 2, getHeight());
- I18n.registerI18nable(this);
- SwingUtils.center(this);
- }
-
- //
- // ACCESSORS
- //
-
- /**
- * Returns the user-given name of the node.
- *
- * @return The user-given name of the node
- */
- public String getNodeName() {
- return name;
- }
-
- /**
- * Sets the user-given name of the node.
- *
- * @param name
- * The name of the node
- */
- public void setNodeName(String name) {
- this.name = name;
- nameTextField.setText(name);
- }
-
- /**
- * Returns the hostname of the node.
- *
- * @return The hostname of the node
- */
- public String getNodeHostname() {
- return hostname;
- }
-
- /**
- * Sets the hostname of the node.
- *
- * @param hostname
- * The hostname of the node
- */
- public void setNodeHostname(String hostname) {
- this.hostname = hostname;
- hostnameTextField.setText(hostname);
- }
-
- /**
- * Returns the FCP port number of the node.
- *
- * @return The FCP port number of the node
- */
- public int getNodePort() {
- return port;
- }
-
- /**
- * Sets the FCP port number of the node.
- *
- * @param port
- * The FCP port number of the node
- */
- public void setNodePort(int port) {
- this.port = port;
- portTextField.setText(String.valueOf(port));
- }
-
- /**
- * Returns whether the dialog was cancelled.
- *
- * @return <code>true</code> if the dialog was cancelled,
- * <code>false</code> if the user clicked “okay”
- */
- public boolean wasCancelled() {
- return cancelled;
- }
-
- //
- // PRIVATE METHODS
- //
-
- /**
- * Initializes all actions.
- */
- private void initActions() {
- okayAction = new I18nAction("general.button.okay") {
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("synthetic-access")
- public void actionPerformed(ActionEvent e) {
- confirm();
- }
- };
- cancelAction = new I18nAction("general.button.cancel") {
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("synthetic-access")
- public void actionPerformed(ActionEvent e) {
- cancel();
- }
- };
- }
-
- /**
- * Initializes all components.
- */
- private void initComponents() {
- JPanel rootPanel = new JPanel(new BorderLayout(12, 12));
- setContentPane(rootPanel);
- rootPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
-
- JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.TRAILING, 12, 12));
- rootPanel.add(buttonPanel, BorderLayout.PAGE_END);
- buttonPanel.setBorder(BorderFactory.createEmptyBorder(-12, -12, -12, -12));
- buttonPanel.add(new JButton(cancelAction));
- JButton okayButton = new JButton(okayAction);
- buttonPanel.add(okayButton);
- getRootPane().setDefaultButton(okayButton);
-
- JPanel contentPanel = new JPanel(new GridBagLayout());
- rootPanel.add(contentPanel, BorderLayout.CENTER);
- contentPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), BorderFactory.createEmptyBorder(12, 12, 12, 12)));
-
- nameTextField = new JTextField();
- contentPanel.add(nameLabel = new I18nLabel("editNodeDialog.label.name", nameTextField), new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.LINE_END, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
- contentPanel.add(nameTextField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(0, 12, 0, 0), 0, 0));
-
- hostnameTextField = new JTextField();
- contentPanel.add(hostnameLabel = new I18nLabel("editNodeDialog.label.hostname", hostnameTextField), new GridBagConstraints(0, 1, 1, 1, 0, 0, GridBagConstraints.LINE_END, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
- contentPanel.add(hostnameTextField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(12, 12, 0, 0), 0, 0));
-
- portTextField = new JTextField();
- contentPanel.add(portLabel = new I18nLabel("editNodeDialog.label.port", portTextField), new GridBagConstraints(0, 2, 1, 1, 0, 0, GridBagConstraints.LINE_END, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0));
- contentPanel.add(portTextField, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(12, 12, 0, 0), 0, 0));
-
- contentPanel.add(new JPanel(), new GridBagConstraints(0, 3, 2, 1, 1.0, 1.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
- }
-
- //
- // PRIVATE ACTIONS
- //
-
- /**
- * Confirms the node settings and closes the dialog.
- */
- private void confirm() {
- if (!Verifier.verifyNodeName(nameTextField.getText())) {
- JOptionPane.showMessageDialog(this, I18n.get("editNodeDialog.error.name.message"), I18n.get("editNodeDialog.error.name.title"), JOptionPane.ERROR_MESSAGE);
- return;
- }
- if (!Verifier.verifyHostname(hostnameTextField.getText())) {
- JOptionPane.showMessageDialog(this, I18n.get("editNodeDialog.error.hostname.message"), I18n.get("editNodeDialog.error.hostname.title"), JOptionPane.ERROR_MESSAGE);
- return;
- }
- if (!Verifier.verifyPort(portTextField.getText())) {
- JOptionPane.showMessageDialog(this, I18n.get("editNodeDialog.error.port.message"), I18n.get("editNodeDialog.error.port.title"), JOptionPane.ERROR_MESSAGE);
- return;
- }
- name = nameTextField.getText().trim();
- hostname = hostnameTextField.getText().trim();
- try {
- port = Integer.parseInt(portTextField.getText().trim());
- } catch (NumberFormatException nfe1) {
- /* should not occur, the value was checked! */
- assert false: "port number is invalid though it was checked!";
- }
- cancelled = false;
- setVisible(false);
- }
-
- /**
- * Cancels the node settings and closes the dialog.
- */
- private void cancel() {
- cancelled = true;
- setVisible(false);
- }
-
- //
- // INTERFACE I18nable
- //
-
- /**
- * {@inheritDoc}
- */
- public void updateI18n() {
- okayAction.updateI18n();
- cancelAction.updateI18n();
- nameLabel.updateI18n();
- hostnameLabel.updateI18n();
- portLabel.updateI18n();
- setTitle(I18n.get("editNodeDialog.title") + " – jSite " + Version.getVersion());
- SwingUtils.repackCentered(this);
- }
-
-}
private ConfigurationDialog configurationDialog;
/** The node editor dialog. */
- private EditNodeDialog editNodeDialog;
+ private AddNodeDialog addNodeDialog;
/** The list of all defined nodes. */
private List<Node> nodeList = Collections.synchronizedList(new ArrayList<Node>());
private void initDialogs() {
aboutDialog = new AboutDialog(this);
configurationDialog = new ConfigurationDialog(this);
- editNodeDialog = new EditNodeDialog(mainWindow);
+ addNodeDialog = new AddNodeDialog(mainWindow);
}
//
* Adds a node.
*/
private void addNode() {
- editNodeDialog.setNodeName(I18n.get(nodeList.isEmpty() ? "general.defaultNode.name" : "general.newNode.name"));
- editNodeDialog.setNodeHostname("localhost");
- editNodeDialog.setNodePort(9481);
- editNodeDialog.setVisible(true);
- if (!editNodeDialog.wasCancelled()) {
+ addNodeDialog.setNodeName(I18n.get(nodeList.isEmpty() ? "general.defaultNode.name" : "general.newNode.name"));
+ addNodeDialog.setNodeHostname("localhost");
+ addNodeDialog.setNodePort(9481);
+ addNodeDialog.setVisible(true);
+ if (!addNodeDialog.wasCancelled()) {
Node newNode = new Node();
- newNode.setName(editNodeDialog.getNodeName());
- newNode.setHostname(editNodeDialog.getNodeHostname());
- newNode.setPort(editNodeDialog.getNodePort());
+ newNode.setName(addNodeDialog.getNodeName());
+ newNode.setHostname(addNodeDialog.getNodeHostname());
+ newNode.setPort(addNodeDialog.getNodePort());
try {
core.addNode(newNode);
} catch (UnknownHostException e) {
* The node to edit
*/
private void editNode(Node node) {
- editNodeDialog.setNodeName(node.getName());
- editNodeDialog.setNodeHostname(node.getHostname());
- editNodeDialog.setNodePort(node.getPort());
- editNodeDialog.setVisible(true);
- if (!editNodeDialog.wasCancelled()) {
- node.setName(editNodeDialog.getNodeName());
- node.setHostname(editNodeDialog.getNodeHostname());
- node.setPort(editNodeDialog.getNodePort());
+ addNodeDialog.setNodeName(node.getName());
+ addNodeDialog.setNodeHostname(node.getHostname());
+ addNodeDialog.setNodePort(node.getPort());
+ addNodeDialog.setVisible(true);
+ if (!addNodeDialog.wasCancelled()) {
+ node.setName(addNodeDialog.getNodeName());
+ node.setHostname(addNodeDialog.getNodeHostname());
+ node.setPort(addNodeDialog.getNodePort());
}
}
projectPanel.button.editFiles.shortDescription: Edit physical and virtual files
projectPanel.button.editFiles.longDescription: Edit physical and virtual files
-# the "edit node" dialog
-editNodeDialog.title: Edit Node
+# the "add node" dialog
+addNodeDialog.title: Add Node
-editNodeDialog.label.name.name: Name
-editNodeDialog.label.name.mnemonic: VK_N
+addNodeDialog.label.name.name: Name
+addNodeDialog.label.name.mnemonic: VK_N
-editNodeDialog.label.hostname.name: Hostname
-editNodeDialog.label.hostname.mnemonic: VK_H
+addNodeDialog.label.hostname.name: Hostname
+addNodeDialog.label.hostname.mnemonic: VK_H
-editNodeDialog.label.port.name: Port
-editNodeDialog.label.port.mnemonic: VK_P
+addNodeDialog.label.port.name: Port
+addNodeDialog.label.port.mnemonic: VK_P
-editNodeDialog.checkbox.sameMachine.name: Node on the same machine
-editNodeDialog.checkbox.sameMachine.mnemonic: VK_S
-editNodeDialog.checkbox.sameMachine.accelerator: Alt-VK_S
-editNodeDialog.checkbox.sameMachine.shortDescription: Node is on the same machine
-editNodeDialog.checkbox.sameMachine.longDescription: The node is on the same machine as jSite and some optimizations can be used
+addNodeDialog.checkbox.sameMachine.name: Node on the same machine
+addNodeDialog.checkbox.sameMachine.mnemonic: VK_S
+addNodeDialog.checkbox.sameMachine.accelerator: Alt-VK_S
+addNodeDialog.checkbox.sameMachine.shortDescription: Node is on the same machine
+addNodeDialog.checkbox.sameMachine.longDescription: The node is on the same machine as jSite and some optimizations can be used
-editNodeDialog.error.name.title: Wrong Node Name
-editNodeDialog.error.name.message: The name of the node is empty.
+addNodeDialog.error.name.title: Wrong Node Name
+addNodeDialog.error.name.message: The name of the node is empty.
-editNodeDialog.error.hostname.title: Wrong Hostname
-editNodeDialog.error.hostname.message: The hostname is invalid.
+addNodeDialog.error.hostname.title: Wrong Hostname
+addNodeDialog.error.hostname.message: The hostname is invalid.
-editNodeDialog.error.port.title: Wrong Port Number
-editNodeDialog.error.port.message: The port number is invalid.
+addNodeDialog.error.port.title: Wrong Port Number
+addNodeDialog.error.port.message: The port number is invalid.
#
# the "about" dialog
fileManager.button.close.shortDescription: Close the file manager
fileManager.button.close.longDescription: Close the file manager
-fileManager.label.mimeType.name: MIME Type
-fileManager.label.mimeType.mnemonic: VK_M
-
fileManager.label.projectFiles.name: Project Files
fileManager.label.projectFiles.mnemonic: VK_F
fileManager.checkbox.insertFile.accelerator: Ctrl-VK_I
fileManager.checkbox.insertFile.shortDescription: Whether to insert this file
fileManager.checkbox.insertFile.longDescription: Whether to insert this file
+
+fileManager.checkbox.useCustomMimeType.name: Use custom MIME type
+fileManager.checkbox.useCustomMimeType.mnemonic: VK_M
+fileManager.checkbox.useCustomMimeType.accelerator: Ctrl-VK_M
+fileManager.checkbox.useCustomMimeType.shortDescription: Use a custom MIME type for the file
+fileManager.checkbox.useCustomMimeType.longDescription: Use a cusstom MIME type for the file
projectPanel.button.editFiles.shortDescription: Verwaltet physikalische und virtuelle Dateien
projectPanel.button.editFiles.longDescription: Verwaltet physikalische und virtuelle Dateien
-# the "edit node" dialog
-editNodeDialog.title: Edit Node
+# the "add node" dialog
+addNodeDialog.title: Node hinzuf\u00fcgen
-editNodeDialog.label.name.name: Name
-editNodeDialog.label.name.mnemonic: VK_N
+addNodeDialog.label.name.name: Name
+addNodeDialog.label.name.mnemonic: VK_N
-editNodeDialog.label.hostname.name: Hostname
-editNodeDialog.label.hostname.mnemonic: VK_H
+addNodeDialog.label.hostname.name: Hostname
+addNodeDialog.label.hostname.mnemonic: VK_H
-editNodeDialog.label.port.name: Port
-editNodeDialog.label.port.mnemonic: VK_P
+addNodeDialog.label.port.name: Port
+addNodeDialog.label.port.mnemonic: VK_P
-editNodeDialog.checkbox.sameMachine.name: Node auf gleichem Rechner
-editNodeDialog.checkbox.sameMachine.mnemonic: VK_G
-editNodeDialog.checkbox.sameMachine.accelerator: Alt-VK_G
-editNodeDialog.checkbox.sameMachine.shortDescription: Der Node befindet sich auf dem gleichen Rechner
-editNodeDialog.checkbox.sameMachine.longDescription: Der Node befindet sich auf dem gleichen Rechner, was einige Optimierungen erm\u00f6glicht
+addNodeDialog.checkbox.sameMachine.name: Node auf gleichem Rechner
+addNodeDialog.checkbox.sameMachine.mnemonic: VK_G
+addNodeDialog.checkbox.sameMachine.accelerator: Alt-VK_G
+addNodeDialog.checkbox.sameMachine.shortDescription: Der Node befindet sich auf dem gleichen Rechner
+addNodeDialog.checkbox.sameMachine.longDescription: Der Node befindet sich auf dem gleichen Rechner, was einige Optimierungen erm\u00f6glicht
-editNodeDialog.error.name.title: Falscher Nodename
-editNodeDialog.error.name.message: Der Name des Nodes ist leer.
+addNodeDialog.error.name.title: Falscher Nodename
+addNodeDialog.error.name.message: Der Name des Nodes ist leer.
-editNodeDialog.error.hostname.title: Falscher Hostname
-editNodeDialog.error.hostname.message: Der Hostname ist ung\u00fcltig.
+addNodeDialog.error.hostname.title: Falscher Hostname
+addNodeDialog.error.hostname.message: Der Hostname ist ung\u00fcltig.
-editNodeDialog.error.port.title: Falsche Portnummer
-editNodeDialog.error.port.message: Die Portnummer ist ung\u00fcltig.
+addNodeDialog.error.port.title: Falsche Portnummer
+addNodeDialog.error.port.message: Die Portnummer ist ung\u00fcltig.
#
# the about dialog
fileManager.button.close.shortDescription: Beendet die Dateiverwaltung
fileManager.button.close.longDescription: Beendet die Dateiverwaltung
-fileManager.label.mimeType.name: MIME Type
-fileManager.label.mimeType.mnemonic: VK_M
-
fileManager.label.projectFiles.name: Projektdateien
fileManager.label.projectFiles.mnemonic: VK_D
fileManager.checkbox.insertFile.accelerator: Ctrl-VK_E
fileManager.checkbox.insertFile.shortDescription: Legt fest, ob diese Datei eingef\u00fcgt werden soll
fileManager.checkbox.insertFile.longDescription: Legt fest, ob diese Datei eingef\u00fcgt werden soll
+
+fileManager.checkbox.useCustomMimeType.name: Anderen MIME-Typ benutzen
+fileManager.checkbox.useCustomMimeType.mnemonic: VK_M
+fileManager.checkbox.useCustomMimeType.accelerator: Ctrl-VK_M
+fileManager.checkbox.useCustomMimeType.shortDescription: Einen anderen MIME-Typ f\u00fcr die Datei benutzen
+fileManager.checkbox.useCustomMimeType.longDescription: Einen anderen MIME-Typ f\u00fcr die Datei benutzen