X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=inline;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FProjectPage.java;h=30d05118be38c3ce0a552d3ce0d4445e098c1311;hb=a03efa6ebf81fc25c9b3e4effdd1529e956ad24b;hp=770828dd2a6d4d6132fb7ef274fb69a26605441b;hpb=8fbc65af048d4ad6f4c05a3e5a609ce6582b0e94;p=jSite.git diff --git a/src/de/todesbaum/jsite/gui/ProjectPage.java b/src/de/todesbaum/jsite/gui/ProjectPage.java index 770828d..30d0511 100644 --- a/src/de/todesbaum/jsite/gui/ProjectPage.java +++ b/src/de/todesbaum/jsite/gui/ProjectPage.java @@ -103,7 +103,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D private JFileChooser pathChooser; /** The project list model. */ - private SortedListModel projectListModel; + private SortedListModel projectListModel; /** The project list scroll pane. */ private JScrollPane projectScrollPane; @@ -158,13 +158,13 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D createActions(); pathChooser = new JFileChooser(); - projectListModel = new SortedListModel(); + projectListModel = new SortedListModel(); projectList = new JList(projectListModel); projectList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); projectList.addListSelectionListener(this); - projectList.setPreferredSize(new Dimension(150, projectList.getPreferredSize().height)); add(projectScrollPane = new JScrollPane(projectList), BorderLayout.LINE_START); + projectScrollPane.setPreferredSize(new Dimension(150, projectList.getPreferredSize().height)); add(createInformationPanel(), BorderLayout.CENTER); } @@ -367,16 +367,30 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D * {@inheritDoc} */ @Override + @SuppressWarnings("synthetic-access") public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { super.insertString(fb, offset, string.replaceAll("/", ""), attr); + updateCompleteURI(); } /** * {@inheritDoc} */ @Override + @SuppressWarnings("synthetic-access") public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException { super.replace(fb, offset, length, text.replaceAll("/", ""), attrs); + updateCompleteURI(); + } + + /** + * {@inheritDoc} + */ + @Override + @SuppressWarnings("synthetic-access") + public void remove(FilterBypass fb, int offset, int length) throws BadLocationException { + super.remove(fb, offset, length); + updateCompleteURI(); } }); projectPathTextField.setEnabled(false); @@ -427,7 +441,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D * @return The list of projects */ public Project[] getProjects() { - return (Project[]) projectListModel.toArray(new Project[projectListModel.size()]); + return projectListModel.toArray(new Project[projectListModel.size()]); } /** @@ -597,6 +611,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D if (!keyDialog.wasCancelled()) { selectedProject.setInsertURI(keyDialog.getPrivateKey()); selectedProject.setRequestURI(keyDialog.getPublicKey()); + updateCompleteURI(); } } } @@ -612,6 +627,18 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D if (selectedIndex > -1) { Project selectedProject = (Project) projectList.getSelectedValue(); selectedProject.setEdition(-1); + updateCompleteURI(); + } + } + + /** + * Updates the complete URI text field. + */ + private void updateCompleteURI() { + int selectedIndex = projectList.getSelectedIndex(); + if (selectedIndex > -1) { + Project selectedProject = (Project) projectList.getSelectedValue(); + projectCompleteUriTextField.setText(selectedProject.getFinalRequestURI(0)); } }