X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fgui%2FMainWindow.java;h=b5bc5fb7278da5ad0b7c631673da771c47dd14d9;hb=b05d1a5dbe9d88511c5ca64af179a4df985156ff;hp=19982e9b254e9f72e19b82aa33c1be868107ea8e;hpb=d3151d3ac5ded6fefa8e1c4927d4d30893bb5346;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/gui/MainWindow.java b/src/net/pterodactylus/jsite/gui/MainWindow.java index 19982e9..b5bc5fb 100644 --- a/src/net/pterodactylus/jsite/gui/MainWindow.java +++ b/src/net/pterodactylus/jsite/gui/MainWindow.java @@ -36,6 +36,7 @@ import javax.swing.JToolBar; import javax.swing.SwingConstants; import javax.swing.border.EmptyBorder; +import net.pterodactylus.jsite.core.Project; import net.pterodactylus.jsite.i18n.I18n; import net.pterodactylus.jsite.i18n.I18nable; import net.pterodactylus.jsite.i18n.gui.I18nAction; @@ -46,7 +47,7 @@ import net.pterodactylus.util.swing.SwingUtils; /** * Defines the main window of the application. - * + * * @author David ‘Bombe’ Roden <bombe@freenetproject.org> * @version $Id$ */ @@ -71,12 +72,18 @@ public class MainWindow extends JFrame implements I18nable { private I18nMenu languageMenu; /** The about menu. */ - private I18nMenu aboutMenu; + private I18nMenu helpMenu; + + /** The tabbed project pane. */ + private JTabbedPane projectPane; + + /** The project overview panel. */ + private Box projectOverviewPanel; /** * Creates a new main window that redirects all actions to the given swing * interface. - * + * * @param swingInterface * The swing interface to receive all actions */ @@ -97,7 +104,7 @@ public class MainWindow extends JFrame implements I18nable { /** * Sets the text of the status bar. - * + * * @param text * The text of the status bar */ @@ -105,6 +112,23 @@ public class MainWindow extends JFrame implements I18nable { statusBar.setText(text); } + /** + * {@inheritDoc} + */ + @Override + public Container getContentPane() { + return contentPane; + } + + /** + * Returns the currently selected project. + * + * @return The currently selected project + */ + public Project getSelectedProject() { + return null; + } + // // PRIVATE METHODS // @@ -136,14 +160,17 @@ public class MainWindow extends JFrame implements I18nable { menuBar.add(languageMenu); for (I18nAction languageAction: swingInterface.getLanguageActions()) { - languageMenu.add(languageAction); + languageMenu.add(new FixedJMenuItem(languageAction)); } - menuBar.add(new JPanel()); - aboutMenu = new I18nMenu("mainWindow.menu.help"); - menuBar.add(aboutMenu); + JPanel spacerPanel = new JPanel(); + spacerPanel.setOpaque(false); + menuBar.add(spacerPanel); + + helpMenu = new I18nMenu("mainWindow.menu.help"); + menuBar.add(helpMenu); - aboutMenu.add(new FixedJMenuItem(swingInterface.getHelpAboutAction())); + helpMenu.add(new FixedJMenuItem(swingInterface.getHelpAboutAction())); setJMenuBar(menuBar); @@ -187,11 +214,12 @@ public class MainWindow extends JFrame implements I18nable { getContentPane().add(upperPanel, BorderLayout.PAGE_START); contentPane.setBorder(new EmptyBorder(12, 12, 12, 12)); - JTabbedPane tabbedPane = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); - upperPanel.add(tabbedPane, BorderLayout.CENTER); + projectPane = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); + upperPanel.add(projectPane, BorderLayout.CENTER); - Box projectOverviewPanel = new Box(BoxLayout.PAGE_AXIS); - tabbedPane.add(I18n.get("mainWindow.pane.overview.title"), projectOverviewPanel); + projectOverviewPanel = new Box(BoxLayout.PAGE_AXIS); + projectOverviewPanel.setName(I18n.get("mainWindow.pane.overview.title")); + projectPane.add(projectOverviewPanel); projectOverviewPanel.setBorder(new EmptyBorder(12, 12, 12, 12)); projectOverviewPanel.add(Box.createVerticalGlue()); JButton addProjectButton = new JButton(swingInterface.getAddProjectAction()); @@ -203,14 +231,6 @@ public class MainWindow extends JFrame implements I18nable { // getContentPane().add(lowerPanel, BorderLayout.CENTER); } - /** - * {@inheritDoc} - */ - @Override - public Container getContentPane() { - return contentPane; - } - // // INTERFACE I18nable // @@ -219,12 +239,28 @@ public class MainWindow extends JFrame implements I18nable { * {@inheritDoc} */ public void updateI18n() { + swingInterface.getConfigureAction().updateI18n(); + swingInterface.getImportConfigAction().updateI18n(); + swingInterface.getQuitAction().updateI18n(); swingInterface.getManageNodesAction().updateI18n(); swingInterface.getNodeConnectAction().updateI18n(); swingInterface.getNodeDisconnectAction().updateI18n(); + swingInterface.getAddProjectAction().updateI18n(); + swingInterface.getCloneProjectAction().updateI18n(); + swingInterface.getDeleteProjectAction().updateI18n(); + swingInterface.getHelpAboutAction().updateI18n(); + jSiteMenu.updateI18n(); nodeMenu.updateI18n(); languageMenu.updateI18n(); + for (I18nAction languageAction: swingInterface.getLanguageActions()) { + languageAction.updateI18n(); + } + helpMenu.updateI18n(); getJMenuBar().revalidate(); + projectOverviewPanel.setName(I18n.get("mainWindow.pane.overview.title")); + for (int componentIndex = 0; componentIndex < projectPane.getTabCount(); componentIndex++) { + projectPane.setTitleAt(componentIndex, projectPane.getComponentAt(componentIndex).getName()); + } SwingUtils.repackCentered(this); }