Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryOAuthUI.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryOAuthUI.java	(revision 31340)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryOAuthUI.java	(revision 31340)
@@ -0,0 +1,12 @@
+package org.openstreetmap.josm.plugins.mapillary.gui;
+
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+public class MapillaryOAuthUI extends JPanel {
+
+    public MapillaryOAuthUI() {
+        this.add(new JLabel("Aquí esta el login"));
+    }
+
+}
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSetting.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSetting.java	(revision 31338)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryPreferenceSetting.java	(revision 31340)
@@ -4,6 +4,11 @@
 
 import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
 
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
 import javax.swing.JCheckBox;
+import javax.swing.JDialog;
+import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 
@@ -51,4 +56,7 @@
         panel.add(format24);
         panel.add(moveTo);
+        JButton oauth = new JButton(new OAuthAction());
+        oauth.setText("Login");
+        panel.add(oauth);
         gui.getDisplayPreference().addSubTab(this, "Mapillary", panel);
     }
@@ -73,3 +81,47 @@
     }
 
+    public class OAuthAction extends AbstractAction {
+
+        @Override
+        public void actionPerformed(ActionEvent arg0) {
+            JButton login = new JButton();
+            JButton cancel = new JButton();
+            JOptionPane pane = new JOptionPane(new MapillaryOAuthUI(),
+                    JOptionPane.PLAIN_MESSAGE, JOptionPane.DEFAULT_OPTION,
+                    null, new JButton[] { login, cancel });
+            login.setAction(new LoginAction(pane));
+            cancel.setAction(new CancelAction(pane));
+            JDialog dlg = pane.createDialog(Main.parent, tr("Login"));
+            dlg.setVisible(true);
+            dlg.dispose();
+        }
+    }
+
+    private class LoginAction extends AbstractAction {
+        private JOptionPane pane;
+
+        public LoginAction(JOptionPane pane) {
+            putValue(NAME, tr("Login"));
+            this.pane = pane;
+        }
+        
+        @Override
+        public void actionPerformed(ActionEvent e) {
+            pane.setValue(JOptionPane.OK_OPTION);
+        }
+    }
+    
+    private class CancelAction extends AbstractAction {
+        private JOptionPane pane;
+
+        public CancelAction(JOptionPane pane) {
+            putValue(NAME, tr("Cancel"));
+            this.pane = pane;
+        }
+        
+        @Override
+        public void actionPerformed(ActionEvent e) {
+            pane.setValue(JOptionPane.CANCEL_OPTION);
+        }
+    }
 }
