aboutsummaryrefslogtreecommitdiff
path: root/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2013-07-27 14:33:25 -0700
committerScott Jackson <daneren2005@gmail.com>2013-07-27 14:33:38 -0700
commit4738428c2c205f42200386ae09b44b9ec07b9144 (patch)
treea6402978fe1b4655f90c3c8a181f4d246fbc5e89 /subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac
parent82ec8315f777c319f2372540098e21111019d629 (diff)
downloaddsub-4738428c2c205f42200386ae09b44b9ec07b9144.tar.gz
dsub-4738428c2c205f42200386ae09b44b9ec07b9144.tar.bz2
dsub-4738428c2c205f42200386ae09b44b9ec07b9144.zip
Move subsonic-android to root
Diffstat (limited to 'subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac')
-rw-r--r--subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java115
-rw-r--r--subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicController.java89
-rw-r--r--subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicFrame.java82
3 files changed, 0 insertions, 286 deletions
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java b/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java
deleted file mode 100644
index f20671f8..00000000
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package net.sourceforge.subsonic.booter.mac;
-
-import java.awt.Color;
-import java.awt.Desktop;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.net.URI;
-import java.text.DateFormat;
-import java.util.Locale;
-
-import javax.swing.JButton;
-import javax.swing.JPanel;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-import javax.swing.SwingConstants;
-import javax.swing.Timer;
-
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.factories.Borders;
-import com.jgoodies.forms.layout.FormLayout;
-
-import net.sourceforge.subsonic.booter.deployer.DeploymentStatus;
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService;
-
-/**
- * Panel displaying the status of the Subsonic service.
- *
- * @author Sindre Mehus
- */
-public class StatusPanel extends JPanel {
-
- private static final DateFormat DATE_FORMAT = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.US);
-
- private final SubsonicDeployerService deployer;
-
- private JTextField startedTextField;
- private JTextField memoryTextField;
- private JTextArea errorTextField;
- private JButton urlButton;
-
- public StatusPanel(SubsonicDeployerService deployer) {
- this.deployer = deployer;
- createComponents();
- configureComponents();
- layoutComponents();
- addBehaviour();
- }
-
- private void createComponents() {
- startedTextField = new JTextField();
- memoryTextField = new JTextField();
- errorTextField = new JTextArea(3, 24);
- urlButton = new JButton();
- }
-
- private void configureComponents() {
- startedTextField.setEditable(false);
- memoryTextField.setEditable(false);
- errorTextField.setEditable(false);
-
- errorTextField.setLineWrap(true);
- errorTextField.setBorder(startedTextField.getBorder());
-
- urlButton.setBorderPainted(false);
- urlButton.setContentAreaFilled(false);
- urlButton.setForeground(Color.BLUE.darker());
- urlButton.setHorizontalAlignment(SwingConstants.LEFT);
- }
-
- private void layoutComponents() {
- FormLayout layout = new FormLayout("right:d, 6dlu, max(d;30dlu):grow");
- DefaultFormBuilder builder = new DefaultFormBuilder(layout, this);
- builder.append("Started on", startedTextField);
- builder.append("Memory used", memoryTextField);
- builder.append("Error message", errorTextField);
- builder.append("Server address", urlButton);
-
- setBorder(Borders.DIALOG_BORDER);
- }
-
- private void addBehaviour() {
- urlButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- openBrowser();
- }
- });
-
- Timer timer = new Timer(3000, new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- updateStatus(deployer.getDeploymentInfo());
- }
- });
- updateStatus(deployer.getDeploymentInfo());
- timer.start();
- }
-
- private void openBrowser() {
- String url = urlButton.getText();
- if (url == null) {
- return;
- }
- try {
- Desktop.getDesktop().browse(new URI(url));
- } catch (Throwable x) {
- x.printStackTrace();
- }
- }
-
- private void updateStatus(DeploymentStatus status) {
- startedTextField.setText(status == null ? null : DATE_FORMAT.format(status.getStartTime()));
- memoryTextField.setText(status == null ? null : status.getMemoryUsed() + " MB");
- errorTextField.setText(status == null ? null : status.getErrorMessage());
- urlButton.setText(status == null ? null : status.getURL());
- }
-} \ No newline at end of file
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicController.java b/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicController.java
deleted file mode 100644
index 65731f31..00000000
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicController.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package net.sourceforge.subsonic.booter.mac;
-
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.net.URL;
-import java.net.URI;
-
-/**
- * Controller for the Mac booter.
- *
- * @author Sindre Mehus
- */
-public class SubsonicController {
-
- private final SubsonicDeployerService deployer;
- private final SubsonicFrame frame;
- private Action openAction;
- private Action controlPanelAction;
- private Action quitAction;
-
- public SubsonicController(SubsonicDeployerService deployer, SubsonicFrame frame) {
- this.deployer = deployer;
- this.frame = frame;
- createActions();
- createComponents();
- }
-
- private void createActions() {
- openAction = new AbstractAction("Open Subsonic Web Page") {
- public void actionPerformed(ActionEvent e) {
- openBrowser();
- }
- };
-
- controlPanelAction = new AbstractAction("Subsonic Control Panel") {
- public void actionPerformed(ActionEvent e) {
- frame.setActive(false);
- frame.setActive(true);
- }
- };
-
- quitAction = new AbstractAction("Quit Subsonic") {
- public void actionPerformed(ActionEvent e) {
- System.exit(0);
- }
- };
- }
-
- private void createComponents() {
- PopupMenu menu = new PopupMenu();
- menu.add(createMenuItem(openAction));
- menu.add(createMenuItem(controlPanelAction));
- menu.addSeparator();
- menu.add(createMenuItem(quitAction));
-
- URL url = getClass().getResource("/images/subsonic-21.png");
- Image image = Toolkit.getDefaultToolkit().createImage(url);
- TrayIcon trayIcon = new TrayIcon(image, "Subsonic Music Streamer", menu);
- trayIcon.setImageAutoSize(false);
-
- try {
- SystemTray.getSystemTray().add(trayIcon);
- } catch (Throwable x) {
- System.err.println("Failed to add tray icon.");
- }
- }
-
- private MenuItem createMenuItem(Action action) {
- MenuItem menuItem = new MenuItem((String) action.getValue(Action.NAME));
- menuItem.addActionListener(action);
- return menuItem;
- }
-
- private void openBrowser() {
- String url = deployer.getDeploymentInfo().getURL();
- if (url == null) {
- return;
- }
- try {
- Desktop.getDesktop().browse(new URI(url));
- } catch (Throwable x) {
- x.printStackTrace();
- }
- }
-
-} \ No newline at end of file
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicFrame.java b/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicFrame.java
deleted file mode 100644
index 2a492e45..00000000
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicFrame.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package net.sourceforge.subsonic.booter.mac;
-
-import com.jgoodies.forms.factories.Borders;
-import com.jgoodies.forms.factories.ButtonBarFactory;
-import net.sourceforge.subsonic.booter.Main;
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.net.URL;
-
-/**
- * Frame with Subsonic status. Used on Mac installs.
- *
- * @author Sindre Mehus
- */
-public class SubsonicFrame extends JFrame {
-
- private final SubsonicDeployerService deployer;
- private StatusPanel statusPanel;
- private JButton hideButton;
- private JButton exitButton;
-
- public SubsonicFrame(SubsonicDeployerService deployer) {
- super("Subsonic");
- this.deployer = deployer;
- createComponents();
- layoutComponents();
- addBehaviour();
-
- URL url = Main.class.getResource("/images/subsonic-512.png");
- setIconImage(Toolkit.getDefaultToolkit().createImage(url));
- }
-
- public void setActive(boolean active) {
- if (active) {
- pack();
- centerComponent();
- setVisible(true);
- toFront();
- } else {
- dispose();
- }
- }
-
- private void centerComponent() {
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- setLocation(screenSize.width / 2 - getWidth() / 2,
- screenSize.height / 2 - getHeight() / 2);
- }
-
- private void createComponents() {
- statusPanel = new StatusPanel(deployer);
- hideButton = new JButton("Hide");
- exitButton = new JButton("Exit");
- }
-
- private void layoutComponents() {
- JPanel pane = (JPanel) getContentPane();
- pane.setLayout(new BorderLayout(10, 10));
- pane.add(statusPanel, BorderLayout.CENTER);
- pane.add(ButtonBarFactory.buildRightAlignedBar(hideButton, exitButton), BorderLayout.SOUTH);
-
- pane.setBorder(Borders.DIALOG_BORDER);
- }
-
- private void addBehaviour() {
- hideButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- setActive(false);
- }
- });
- exitButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- System.exit(0);
- }
- });
- }
-
-} \ No newline at end of file