From: WiESi <wi...@us...> - 2006-04-05 20:22:29
|
Update of /cvsroot/javaamp/javaamp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3732/src Modified Files: EQLabel.java EqualizerDialog.java JavaAmp.java Language.java PlayDialog.java PlaylistDialog.java PreferencesDialog.java Settings.java SongInfoLabel.java Log Message: Index: Language.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/Language.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Language.java 26 Mar 2006 16:20:54 -0000 1.3 +++ Language.java 5 Apr 2006 20:22:05 -0000 1.4 @@ -26,6 +26,8 @@ english.put("CENTER", "Center"); english.put("DELETE", "Delete"); english.put("DIRECTORY", "Directory"); + english.put("DOCKING", "Enable window docking"); + english.put("DOCKINGD", "Docking distance (pixels):"); english.put("ENABLE_PROXY", "Enable proxy"); english.put("ENTER_URL", "Enter URL:"); english.put("EQF_FILES", "EQF files"); @@ -56,6 +58,7 @@ english.put("LOAD_INFORMATIONS_UNEXACTLY", "Load informations (unexactly)"); english.put("LOAD_PLAYLIST", "Load playlist"); english.put("LOADING_INFORMATIONS", "Loading file informations..."); + english.put("LOOK_AND_FEEL", "Look and Feel:"); english.put("MISCELLANEOUS", "Miscellaneous"); english.put("MISCELLANEOUS_SHORT", "Msc"); english.put("M3U_FILES", "M3U files"); @@ -105,10 +108,12 @@ english.put("SHOW_PLAYLIST", "Show playlist"); english.put("SHOW_SPLASH", "Show splash screen"); english.put("SHUFFLE", "Shuffle"); + english.put("SOUND_OUTPUT", "Sound output"); english.put("START_VISUALIZATION", "Start visualization"); english.put("STOP", "Stop"); english.put("SYSTRAY", "System tray"); english.put("TASKBAR", "Taskbar"); + english.put("THEME", "Theme:"); english.put("TITLES", "Titles"); english.put("TRACK_ID", "Track ID"); english.put("UNDEFINED", "Undefined"); Index: EqualizerDialog.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/EqualizerDialog.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- EqualizerDialog.java 26 Mar 2006 11:18:05 -0000 1.17 +++ EqualizerDialog.java 5 Apr 2006 20:22:05 -0000 1.18 @@ -100,31 +100,7 @@ return; ow += e.getX() - mx; oh += e.getY() - my; - if(Settings.docking) { - Point p = new Point(ow, oh); - Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow, oh, - getWidth(), getHeight()), getToolkit().getScreenInsets( - getGraphicsConfiguration())); - ow = p.x; - oh = p.y; - owner.playDialog.dockedEqualizer = Docker.dock( - Settings.dockingd, p, new Rectangle(ow, oh, getWidth(), - getHeight()), owner.playDialog.getBounds()); - ow = p.x; - oh = p.y; - if(owner.playlistDialog.isVisible()) { - dockedPlaylist = Docker.dock(Settings.dockingd, p, - new Rectangle(ow, oh, getWidth(), getHeight()), - owner.playlistDialog.getBounds()); - ow = p.x; - oh = p.y; - } - else - dockedPlaylist = Docker.isDocked(Settings.dockingd, p, - new Rectangle(ow, oh, getWidth(), getHeight()), - owner.playlistDialog.getBounds()); - } - setLocation(ow, oh); + dock(true); } }); @@ -233,6 +209,43 @@ setContentPane(cntContainer); } + public void dock(boolean moved) { + if(!moved) { + ow = getLocation().x; + oh = getLocation().y; + } + if(Settings.docking) { + Point p = new Point(ow, oh); + Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow, oh, + getWidth(), getHeight()), getToolkit().getScreenInsets( + getGraphicsConfiguration())); + ow = p.x; + oh = p.y; + owner.playDialog.dockedEqualizer = Docker.dock( + Settings.dockingd, p, new Rectangle(ow, oh, getWidth(), + getHeight()), owner.playDialog.getBounds()); + ow = p.x; + oh = p.y; + if(owner.playlistDialog.isVisible()) { + dockedPlaylist = Docker.dock(Settings.dockingd, p, + new Rectangle(ow, oh, getWidth(), getHeight()), + owner.playlistDialog.getBounds()); + ow = p.x; + oh = p.y; + } + else + dockedPlaylist = Docker.isDocked(Settings.dockingd, p, + new Rectangle(ow, oh, getWidth(), getHeight()), + owner.playlistDialog.getBounds()); + } + setLocation(ow, oh); + } + + public void setVisible(boolean b) { + super.setVisible(b); + dock(false); + } + public void loadPreset() throws Exception { owner.fchChooser.setMultiSelectionEnabled(false); owner.fchChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); Index: SongInfoLabel.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/SongInfoLabel.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- SongInfoLabel.java 7 Mar 2006 16:13:18 -0000 1.7 +++ SongInfoLabel.java 5 Apr 2006 20:22:05 -0000 1.8 @@ -24,7 +24,7 @@ xt = 4; text2 = ""; - setText("JavaAmp 0.0.4"); + setText("JavaAmp " + JavaAmp.VERSION); setBorder(new BevelBorder(BevelBorder.LOWERED)); setFont(new Font("Dialog", Font.PLAIN, 10)); setCursor(Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR)); Index: PreferencesDialog.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/PreferencesDialog.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- PreferencesDialog.java 25 Mar 2006 10:35:19 -0000 1.4 +++ PreferencesDialog.java 5 Apr 2006 20:22:05 -0000 1.5 @@ -19,6 +19,7 @@ DefaultMutableTreeNode mtnTitles; DefaultMutableTreeNode mtnAppearance; DefaultMutableTreeNode mtnPlugins; + DefaultMutableTreeNode mtnSoundOutput; DefaultMutableTreeNode mtnVisualization; JPanel panJavaAmp; @@ -34,7 +35,7 @@ JLabel lblProxyHost; JTextField tfdProxyHost; JLabel lblProxyPort; - JTextField tfdPort; + JTextField tfdProxyPort; JCheckBox chbSplash; JCheckBox chbMultiple; JCheckBox chbUpdate; @@ -44,8 +45,16 @@ JCheckBox chbScroll; JPanel panPlaylist; JPanel panTitles; - JPanel panApperance; + JPanel panAppearance; + JLabel lblLookAndFeel; + JComboBox cmbLookAndFeel; + JLabel lblTheme; + JComboBox cmbTheme; + JCheckBox chbDocking; + JLabel lblDockingD; + JTextField tfdDockingD; JPanel panPlugins; + JPanel panSoundOutput; JPanel panVisualization; JButton btnClose; @@ -60,7 +69,12 @@ setLocation((getToolkit().getScreenSize().width - getWidth()) / 2, (getToolkit().getScreenSize().height - getHeight()) / 2); setLayout(null); - setDefaultCloseOperation(HIDE_ON_CLOSE); + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + addWindowListener(new WindowAdapter() { + public void windowClosing(WindowEvent e) { + closing(); + } + }); DefaultMutableTreeNode root = new DefaultMutableTreeNode(); mtnJavaAmp = new DefaultMutableTreeNode("JavaAmp"); @@ -77,6 +91,9 @@ "APPEARANCE")); root.add(mtnAppearance); mtnPlugins = new DefaultMutableTreeNode(Language.get("PLUGINS")); + mtnSoundOutput = new DefaultMutableTreeNode(Language.get( + "SOUND_OUTPUT")); + mtnPlugins.add(mtnSoundOutput); mtnVisualization = new DefaultMutableTreeNode(Language.get( "VISUALIZATION")); mtnPlugins.add(mtnVisualization); @@ -101,10 +118,13 @@ makeVisible(panTitles); else if(e.getPath().equals(new TreePath( mtnAppearance.getPath()))) - makeVisible(panApperance); + makeVisible(panAppearance); else if(e.getPath().equals(new TreePath(mtnPlugins.getPath()))) makeVisible(panPlugins); else if(e.getPath().equals(new TreePath( + mtnSoundOutput.getPath()))) + makeVisible(panSoundOutput); + else if(e.getPath().equals(new TreePath( mtnVisualization.getPath()))) makeVisible(panVisualization); } @@ -120,7 +140,7 @@ btnClose.setBounds(10, 385, 150, 25); btnClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - setVisible(false); + closing(); } }); @@ -165,7 +185,7 @@ Sys.openURL("http://www.opengl.org/"); } }); - lblOpenGl.setBounds(15, 85, 88, 39); + lblOpenGl.setBounds(15, 85, 88, 31); panJavaAmp.add(lblOpenGl); panGenPref = new JPanel(null); @@ -211,9 +231,9 @@ lblProxyPort = new JLabel(Language.get("PROXY_PORT")); lblProxyPort.setBounds(230, 40, 70, 20); panInternet.add(lblProxyPort); - tfdPort = new JTextField(); - tfdPort.setBounds(300, 40, 60, 20); - panInternet.add(tfdPort); + tfdProxyPort = new JTextField(); + tfdProxyPort.setBounds(300, 40, 60, 20); + panInternet.add(tfdProxyPort); panGenPref.add(panInternet); chbSplash = new JCheckBox(Language.get("SHOW_SPLASH")); chbSplash.setBounds(10, 120, 370, 20); @@ -239,30 +259,82 @@ panPlaylist = new JPanel(null); panPlaylist.setBorder(BorderFactory.createTitledBorder( - Language.get("GENERAL_PREFERENCES") + " - " + - Language.get("PLAYLIST"))); + Language.get("GENERAL_PREFERENCES") + " - " + Language.get( + "PLAYLIST"))); panPlaylist.setBounds(170, 10, 395, 400); panTitles = new JPanel(null); panTitles.setBorder(BorderFactory.createTitledBorder( - Language.get("GENERAL_PREFERENCES") + " - " + - Language.get("TITLES"))); + Language.get("GENERAL_PREFERENCES") + " - " + Language.get( + "TITLES"))); panTitles.setBounds(170, 10, 395, 400); - panApperance = new JPanel(null); - panApperance.setBorder(BorderFactory.createTitledBorder( + panAppearance = new JPanel(null); + panAppearance.setBorder(BorderFactory.createTitledBorder( Language.get("APPEARANCE"))); - panApperance.setBounds(170, 10, 395, 400); + panAppearance.setBounds(170, 10, 395, 400); + + lblLookAndFeel = new JLabel(Language.get("LOOK_AND_FEEL")); + lblLookAndFeel.setBounds(10, 15, 90, 20); + panAppearance.add(lblLookAndFeel); + String[] lnfs = new String[UIManager.getInstalledLookAndFeels().length]; + for(int i = 0; i < lnfs.length; i++) + lnfs[i] = UIManager.getInstalledLookAndFeels()[i].getName(); + cmbLookAndFeel = new JComboBox(lnfs); + cmbLookAndFeel.setBounds(100, 15, 280, 20); + cmbLookAndFeel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + try { + for(UIManager.LookAndFeelInfo lnf : + UIManager.getInstalledLookAndFeels()) + if(lnf.getName().equalsIgnoreCase( + cmbLookAndFeel.getSelectedItem().toString())) { + UIManager.setLookAndFeel(lnf.getClassName()); + SwingUtilities.updateComponentTreeUI( + owner.playDialog); + SwingUtilities.updateComponentTreeUI( + owner.equalizerDialog); + SwingUtilities.updateComponentTreeUI( + owner.playlistDialog); + SwingUtilities.updateComponentTreeUI( + owner.preferencesDialog); + break; + } + } + catch(Exception ex) { + } + } + }); + panAppearance.add(cmbLookAndFeel); + lblTheme = new JLabel(Language.get("THEME")); + lblTheme.setBounds(10, 40, 90, 20); + panAppearance.add(lblTheme); + cmbTheme = new JComboBox(); + cmbTheme.setBounds(100, 40, 280, 20); + panAppearance.add(cmbTheme); + chbDocking = new JCheckBox(Language.get("DOCKING")); + chbDocking.setBounds(10, 65, 370, 20); + panAppearance.add(chbDocking); + lblDockingD = new JLabel(Language.get("DOCKINGD")); + lblDockingD.setBounds(10, 90, 140, 20); + panAppearance.add(lblDockingD); + tfdDockingD = new JTextField(); + tfdDockingD.setBounds(150, 90, 50, 20); + panAppearance.add(tfdDockingD); panPlugins = new JPanel(null); panPlugins.setBorder(BorderFactory.createTitledBorder( Language.get("PLUGINS"))); panPlugins.setBounds(170, 10, 395, 400); + panSoundOutput = new JPanel(null); + panSoundOutput.setBorder(BorderFactory.createTitledBorder( + Language.get("PLUGINS") + " - " + Language.get("SOUND_OUTPUT"))); + panSoundOutput.setBounds(170, 10, 395, 400); + panVisualization = new JPanel(null); panVisualization.setBorder(BorderFactory.createTitledBorder( - Language.get("PLUGINS") + " - " + - Language.get("VISUALIZATION"))); + Language.get("PLUGINS") + " - " + Language.get("VISUALIZATION"))); panVisualization.setBounds(170, 10, 395, 400); add(scpPreferences); @@ -270,8 +342,9 @@ add(panGenPref); add(panPlaylist); add(panTitles); - add(panApperance); + add(panAppearance); add(panPlugins); + add(panSoundOutput); add(panVisualization); add(btnClose); @@ -283,9 +356,36 @@ panGenPref.setVisible(false); panPlaylist.setVisible(false); panTitles.setVisible(false); - panApperance.setVisible(false); + panAppearance.setVisible(false); panPlugins.setVisible(false); + panSoundOutput.setVisible(false); panVisualization.setVisible(false); pan.setVisible(true); } + + public void closing() { + Settings.language = (String)cmbLanguage.getSelectedItem(); + Settings.proxyEnabled = chbProxy.isSelected(); + Settings.proxyHost = tfdProxyHost.getText(); + try { + Settings.proxyPort = Integer.parseInt(tfdProxyPort.getText()); + if(Settings.proxyPort < 0) + Settings.proxyPort = 0; + else if(Settings.proxyPort > 65535) + Settings.proxyPort = 65535; + } + catch(Exception e) { + Settings.proxyPort = -1; + } + Settings.splash = chbSplash.isSelected(); + Settings.multiple = chbMultiple.isSelected(); + Settings.update = chbUpdate.isSelected(); + Settings.showInTaskbar = chbTaskbar.isSelected(); + Settings.showInSysTray = chbSysTray.isSelected(); + Settings.scrollTitle = chbScroll.isSelected(); + //Settings.docking = ... + //Settings.dockingd = ... + //... + setVisible(false); + } } \ No newline at end of file Index: JavaAmp.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/JavaAmp.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- JavaAmp.java 26 Mar 2006 15:13:13 -0000 1.17 +++ JavaAmp.java 5 Apr 2006 20:22:05 -0000 1.18 @@ -7,6 +7,8 @@ public class JavaAmp extends JFrame { private final static long serialVersionUID = 0; + public final static String VERSION = "0.0.4"; + public final static String DATE = "Apr 01 2006"; PlayDialog playDialog; PlaylistDialog playlistDialog; @@ -23,6 +25,18 @@ Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { try { + Settings.playDialogVisible = playDialog.isVisible(); + Settings.playDialogX = playDialog.getLocation().x; + Settings.playDialogY = playDialog.getLocation().y; + Settings.equalizerDialogVisible = + equalizerDialog.isVisible(); + Settings.equalizerDialogX = equalizerDialog.getLocation().x; + Settings.equalizerDialogY = equalizerDialog.getLocation().y; + Settings.playlistDialogVisible = playlistDialog.isVisible(); + Settings.playlistDialogX = playlistDialog.getLocation().x; + Settings.playlistDialogY = playlistDialog.getLocation().y; + Settings.playlistDialogWidth = playlistDialog.getWidth(); + Settings.playlistDialogHeight = playlistDialog.getHeight(); Settings.storeSettings(); } catch(Exception e) { @@ -64,6 +78,7 @@ equalizerDialog = new EqualizerDialog(this); playlistDialog = new PlaylistDialog(this); preferencesDialog = new PreferencesDialog(this); + playDialog.setLocation(Settings.playDialogX, Settings.playDialogY); equalizerDialog.setLocation(Settings.equalizerDialogX, Settings.equalizerDialogY); @@ -116,6 +131,38 @@ catch(Exception e) { } try { + Class cls = Class.forName( + "com.jgoodies.looks.plastic.Plastic3DLookAndFeel"); + LookAndFeel lnf = (LookAndFeel)cls.newInstance(); + UIManager.installLookAndFeel(lnf.getName(), cls.getName()); + } + catch(Exception e) { + } + try { + Class cls = Class.forName( + "com.jgoodies.looks.plastic.PlasticLookAndFeel"); + LookAndFeel lnf = (LookAndFeel)cls.newInstance(); + UIManager.installLookAndFeel(lnf.getName(), cls.getName()); + } + catch(Exception e) { + } + try { + Class cls = Class.forName( + "com.jgoodies.looks.plastic.PlasticXPLookAndFeel"); + LookAndFeel lnf = (LookAndFeel)cls.newInstance(); + UIManager.installLookAndFeel(lnf.getName(), cls.getName()); + } + catch(Exception e) { + } + try { + Class cls = Class.forName( + "com.jgoodies.looks.windows.WindowsLookAndFeel"); + LookAndFeel lnf = (LookAndFeel)cls.newInstance(); + UIManager.installLookAndFeel(lnf.getName(), cls.getName()); + } + catch(Exception e) { + } + try { UIManager.setLookAndFeel( "com.jgoodies.looks.plastic.Plastic3DLookAndFeel"); } Index: EQLabel.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/EQLabel.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- EQLabel.java 19 Mar 2006 11:34:07 -0000 1.10 +++ EQLabel.java 5 Apr 2006 20:22:05 -0000 1.11 @@ -36,6 +36,12 @@ // TODO: Equalizer anpassen } + private void setRGBs(int[] x, int[] y, int r, int g, int b) { + int[] col = new int[] { r, g, b }; + for(int i = 0; i < x.length; i++) + offscreen.getRaster().setPixel(x[i], y[i], col); + } + public void paint(Graphics g) { offg.setColor(Color.WHITE); offg.fillRect(0, 0, 239, 66); @@ -47,14 +53,14 @@ int _r2 = _r + (int)(Math.pow(j - 11, 2) * (255 - _r) / 121); int _g2 = _g + (int)(Math.pow(j - 11, 2) * (255 - _g) / 121); int _b2 = 255 - j * 255 / 11; - for(int k = 0; k <= 33; k++) { - offg.setColor(new Color(_r2 * (k + 33) / 66, _g2 * - (k + 33) / 66, _b2 * (k + 33) / 66)); - offg.fillRect(i * 24 + j + 1, 32 - k, 1, 1); - offg.fillRect(i * 24 + j + 1, 32 + k, 1, 1); - offg.fillRect(i * 24 - j + 21, 32 - k, 1, 1); - offg.fillRect(i * 24 - j + 21, 32 + k, 1, 1); - } + for(int k = 33; k < 66; k++) + setRGBs(new int[] { i * 24 + j + 1, i * 24 - j + 21, i * + 24 + j + 1, i * 24 - j + 21 }, new int[] { 65 - k, 65 - + k, -1 + k, -1 + k }, _r2 * k / 66, _g2 * k / 66, _b2 * + k / 66); + setRGBs(new int[] { i * 24 + j + 1, i * 24 - j + 21 }, + new int[] { 65, 65 }, _r2 * 65 / 66, _g2 * 65 / 66, _b2 * + 65 / 66); } offg.setColor(Color.LIGHT_GRAY); offg.drawLine(i * 24 - 1, 0, i * 24 - 1, 65); Index: PlayDialog.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/PlayDialog.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- PlayDialog.java 26 Mar 2006 11:18:05 -0000 1.15 +++ PlayDialog.java 5 Apr 2006 20:22:05 -0000 1.16 @@ -123,79 +123,7 @@ return; ow += e.getX() - mx; oh += e.getY() - my; - if(Settings.docking) { - Point p = new Point(ow, oh); - Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow, oh, - getWidth(), getHeight()), getToolkit().getScreenInsets( - getGraphicsConfiguration())); - if(!dockedPlaylist2 && owner.playlistDialog.isVisible()) - dockedPlaylist = Docker.dock(Settings.dockingd, p, new - Rectangle(ow, oh, getWidth(), getHeight()), - owner.playlistDialog.getBounds()); - if(!dockedEqualizer2 && owner.equalizerDialog.isVisible()) - dockedEqualizer = Docker.dock(Settings.dockingd, p, new - Rectangle(ow, oh, getWidth(), getHeight()), - owner.equalizerDialog.getBounds()); - ow = p.x; - oh = p.y; - } - if((dockedPlaylist2 || (dockedEqualizer2 && - owner.equalizerDialog.dockedPlaylist2)) && - owner.playlistDialog.isVisible()) { - Point p = new Point(ow + ow2, oh + oh2); - Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow + ow2, - oh + oh2, owner.playlistDialog.getWidth(), - owner.playlistDialog.getHeight()), - getToolkit().getScreenInsets( - getGraphicsConfiguration())); - ow = p.x - ow2; - oh = p.y - oh2; - } - if((dockedEqualizer2 || (dockedPlaylist2 && - owner.equalizerDialog.dockedPlaylist2)) && - owner.equalizerDialog.isVisible()) { - Point p = new Point(ow + ow3, oh + oh3); - Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow + ow3, - oh + oh3, owner.equalizerDialog.getWidth(), - owner.equalizerDialog.getHeight()), - getToolkit().getScreenInsets( - getGraphicsConfiguration())); - ow = p.x - ow3; - oh = p.y - oh3; - } - if(dockedPlaylist2 || (dockedEqualizer2 && - owner.equalizerDialog.dockedPlaylist2)) { - Point p = new Point(ow + ow2, oh + oh2); - if(!owner.equalizerDialog.dockedPlaylist2 && - owner.playlistDialog.isVisible() && - owner.equalizerDialog.isVisible()) { - owner.equalizerDialog.dockedPlaylist = - Docker.dock(Settings.dockingd, p, new Rectangle(ow + - ow2, oh + oh2, owner.playlistDialog.getWidth(), - owner.playlistDialog.getHeight()), - owner.equalizerDialog.getBounds()); - ow = p.x - ow2; - oh = p.y - oh2; - } - owner.playlistDialog.setLocation(ow + ow2, oh + oh2); - } - if(dockedEqualizer2 || (dockedPlaylist2 && - owner.equalizerDialog.dockedPlaylist2)) { - Point p = new Point(ow + ow3, oh + oh3); - if(!owner.equalizerDialog.dockedPlaylist2 && - owner.playlistDialog.isVisible() && - owner.equalizerDialog.isVisible()) { - owner.equalizerDialog.dockedPlaylist = - Docker.dock(Settings.dockingd, p, new Rectangle(ow + - ow3, oh + oh3, owner.equalizerDialog.getWidth(), - owner.equalizerDialog.getHeight()), - owner.playlistDialog.getBounds()); - ow = p.x - ow3; - oh = p.y - oh3; - } - owner.equalizerDialog.setLocation(ow + ow3, oh + oh3); - } - setLocation(ow, oh); + dock(true); } }); @@ -609,12 +537,102 @@ splSpectrum.start(); } + public void dock(boolean moved) { + if(!moved) { + ow = getLocation().x; + oh = getLocation().y; + ow2 = owner.playlistDialog.getLocation().x - ow; + oh2 = owner.playlistDialog.getLocation().y - oh; + ow3 = owner.equalizerDialog.getLocation().x - ow; + oh3 = owner.equalizerDialog.getLocation().y - oh; + } + if(Settings.docking) { + Point p = new Point(ow, oh); + Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow, oh, + getWidth(), getHeight()), getToolkit().getScreenInsets( + getGraphicsConfiguration())); + if(!dockedPlaylist2 && owner.playlistDialog.isVisible()) + dockedPlaylist = Docker.dock(Settings.dockingd, p, new + Rectangle(ow, oh, getWidth(), getHeight()), + owner.playlistDialog.getBounds()); + if(!dockedEqualizer2 && owner.equalizerDialog.isVisible()) + dockedEqualizer = Docker.dock(Settings.dockingd, p, new + Rectangle(ow, oh, getWidth(), getHeight()), + owner.equalizerDialog.getBounds()); + ow = p.x; + oh = p.y; + if((dockedPlaylist2 || (dockedEqualizer2 && + owner.equalizerDialog.dockedPlaylist2)) && + owner.playlistDialog.isVisible()) { + p = new Point(ow + ow2, oh + oh2); + Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow + ow2, + oh + oh2, owner.playlistDialog.getWidth(), + owner.playlistDialog.getHeight()), + getToolkit().getScreenInsets( + getGraphicsConfiguration())); + ow = p.x - ow2; + oh = p.y - oh2; + } + if((dockedEqualizer2 || (dockedPlaylist2 && + owner.equalizerDialog.dockedPlaylist2)) && + owner.equalizerDialog.isVisible()) { + p = new Point(ow + ow3, oh + oh3); + Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow + ow3, + oh + oh3, owner.equalizerDialog.getWidth(), + owner.equalizerDialog.getHeight()), + getToolkit().getScreenInsets( + getGraphicsConfiguration())); + ow = p.x - ow3; + oh = p.y - oh3; + } + if(dockedPlaylist2 || (dockedEqualizer2 && + owner.equalizerDialog.dockedPlaylist2)) { + p = new Point(ow + ow2, oh + oh2); + if(!owner.equalizerDialog.dockedPlaylist2 && + owner.playlistDialog.isVisible() && + owner.equalizerDialog.isVisible()) { + owner.equalizerDialog.dockedPlaylist = + Docker.dock(Settings.dockingd, p, new Rectangle(ow + + ow2, oh + oh2, owner.playlistDialog.getWidth(), + owner.playlistDialog.getHeight()), + owner.equalizerDialog.getBounds()); + ow = p.x - ow2; + oh = p.y - oh2; + } + owner.playlistDialog.setLocation(ow + ow2, oh + oh2); + } + if(dockedEqualizer2 || (dockedPlaylist2 && + owner.equalizerDialog.dockedPlaylist2)) { + p = new Point(ow + ow3, oh + oh3); + if(!owner.equalizerDialog.dockedPlaylist2 && + owner.playlistDialog.isVisible() && + owner.equalizerDialog.isVisible()) { + owner.equalizerDialog.dockedPlaylist = + Docker.dock(Settings.dockingd, p, new Rectangle(ow + + ow3, oh + oh3, owner.equalizerDialog.getWidth(), + owner.equalizerDialog.getHeight()), + owner.playlistDialog.getBounds()); + ow = p.x - ow3; + oh = p.y - oh3; + } + owner.equalizerDialog.setLocation(ow + ow3, oh + oh3); + } + } + setLocation(ow, oh); + } + + public void setVisible(boolean b) { + super.setVisible(b); + dock(false); + } + public void showAbout() { owner.oppMessages.showMessageDialog(null, "<html><font size=3><b>Java" + - "Amp</b></font><br>Copyright © 2006 Andreas Wiesbauer<br>v0." + - "0.4 - Mar 17 2006<br>Visit http://javaamp.sourceforge.net for up" + - "dates.<br>Relesed under the conditions of the BSD-license.</html" + - ">", "About JavaAmp", JOptionPane.INFORMATION_MESSAGE, + "Amp</b></font><br>Copyright © 2006 Andreas Wiesbauer<br>Ver" + + "sion " + JavaAmp.VERSION + " - " + JavaAmp.DATE + "<br>Visit htt" + + "p://javaamp.sourceforge.net for updates.<br>Released under the c" + + "onditions of the BSD-license.</html>", "About JavaAmp", + JOptionPane.INFORMATION_MESSAGE, new ImageIcon(GraphicsLoader.jaa1)); } Index: Settings.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/Settings.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Settings.java 26 Mar 2006 11:18:05 -0000 1.4 +++ Settings.java 5 Apr 2006 20:22:05 -0000 1.5 @@ -30,6 +30,7 @@ }; static String language; + static boolean proxyEnabled; static String proxyHost; static int proxyPort; static boolean splash; @@ -71,6 +72,7 @@ catch(Exception e) { } language = getStringValue(p.get("Language"), "English"); + proxyEnabled = getBooleanValue(p.get("ProxyEnable"), false); proxyHost = getStringValue(p.get("ProxyHost"), ""); proxyPort = getIntValue(p.get("ProxyPort"), -1); if(proxyPort < 0 || proxyPort > 65535) @@ -97,7 +99,7 @@ maxchannels = 1; else if(maxchannels > 1024) maxchannels = 1024; - buffersize = getIntValue(p.get("BufferSize"), 400); + buffersize = getIntValue(p.get("BufferSize"), 100); if(buffersize < 50) buffersize = 50; else if(buffersize > 5000) @@ -189,6 +191,7 @@ public final static void storeSettings() throws Exception { Properties p = new Properties(); p.put("Language", language); + p.put("ProxyEnable", Boolean.toString(proxyEnabled)); p.put("ProxyHost", proxyHost); p.put("ProxyPort", "" + proxyPort); p.put("Splash", Boolean.toString(splash)); Index: PlaylistDialog.java =================================================================== RCS file: /cvsroot/javaamp/javaamp/src/PlaylistDialog.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- PlaylistDialog.java 26 Mar 2006 11:18:05 -0000 1.25 +++ PlaylistDialog.java 5 Apr 2006 20:22:05 -0000 1.26 @@ -66,7 +66,6 @@ owner = o; setUndecorated(true); - setSize(275, 115); addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { @@ -121,47 +120,12 @@ int height = oh - my + e.getY(); if(height < 115) height = 115; - setSize(width, height); - - scpPlaylist.setBounds(5, 5, width - 10, height - 32); - btnAdd.setLocation(5, height - 25); - btnRem.setLocation(67, height - 25); - btnSel.setLocation(129, height - 25); - btnMsc.setLocation(191, height - 25); - lblResize.setLocation(width - 15, height - 15); - - validate(); } else if(ct == 2) { ow += e.getX() - mx; oh += e.getY() - my; - if(Settings.docking) { - Point p = new Point(ow, oh); - Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow, - oh, getWidth(), getHeight()), - getToolkit().getScreenInsets( - getGraphicsConfiguration())); - owner.playDialog.dockedPlaylist = Docker.dock( - Settings.dockingd, p, new Rectangle(ow, oh, getWidth(), - getHeight()), owner.playDialog.getBounds()); - ow = p.x; - oh = p.y; - if(owner.equalizerDialog.isVisible()) { - owner.equalizerDialog.dockedPlaylist = Docker.dock( - Settings.dockingd, p, new Rectangle(ow, oh, - getWidth(), getHeight()), - owner.equalizerDialog.getBounds()); - ow = p.x; - oh = p.y; - } - else - owner.equalizerDialog.dockedPlaylist = - Docker.isDocked(Settings.dockingd, p, - new Rectangle(ow, oh, getWidth(), getHeight()), - owner.equalizerDialog.getBounds()); - } - setLocation(ow, oh); + dock(true); } } }); @@ -535,6 +499,72 @@ setContentPane(cntContainer); } + public void relocateComponents() { + scpPlaylist.setBounds(5, 5, getWidth() - 10, getHeight() - 32); + btnAdd.setLocation(5, getHeight() - 25); + btnRem.setLocation(67, getHeight() - 25); + btnSel.setLocation(129, getHeight() - 25); + btnMsc.setLocation(191, getHeight() - 25); + lblResize.setLocation(getWidth() - 15, getHeight() - 15); + + validate(); + } + + public void setBounds(int x, int y, int width, int height) { + super.setBounds(x, y, width, height); + relocateComponents(); + } + + public void setBounds(Rectangle r) { + super.setBounds(r); + relocateComponents(); + } + + public void setSize(int width, int height) { + super.setSize(width, height); + relocateComponents(); + } + + public void setSize(Dimension d) { + super.setSize(d); + relocateComponents(); + } + + public void dock(boolean moved) { + if(!moved) { + ow = getLocation().x; + oh = getLocation().y; + } + if(Settings.docking) { + Point p = new Point(ow, oh); + Docker.dockScreen(Settings.dockingd, p, new Rectangle(ow, oh, + getWidth(), getHeight()), getToolkit().getScreenInsets( + getGraphicsConfiguration())); + owner.playDialog.dockedPlaylist = Docker.dock(Settings.dockingd, p, + new Rectangle(ow, oh, getWidth(), getHeight()), + owner.playDialog.getBounds()); + ow = p.x; + oh = p.y; + if(owner.equalizerDialog.isVisible()) { + owner.equalizerDialog.dockedPlaylist = Docker.dock( + Settings.dockingd, p, new Rectangle(ow, oh, getWidth(), + getHeight()), owner.equalizerDialog.getBounds()); + ow = p.x; + oh = p.y; + } + else + owner.equalizerDialog.dockedPlaylist = Docker.isDocked( + Settings.dockingd, p, new Rectangle(ow, oh, getWidth(), + getHeight()), owner.equalizerDialog.getBounds()); + } + setLocation(ow, oh); + } + + public void setVisible(boolean b) { + super.setVisible(b); + dock(false); + } + public void addURL() { String str = owner.oppMessages.showInputDialog(this, Language.get( "ENTER_URL"), Language.get("ADD_URL"), JOptionPane.PLAIN_MESSAGE); |