Changeset 88
- Timestamp:
- 28/12/07 14:25:18 (1 year ago)
- Files:
-
- trunk/README.TXT (modified) (1 diff)
- trunk/manifest.mf (deleted)
- trunk/src/vlcskineditor/Main.java (modified) (12 diffs)
- trunk/src/vlcskineditor/PreviewWindow.java (modified) (2 diffs)
- trunk/src/vlcskineditor/resources/Font.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/README.TXT
r86 r88 3 3 Changelog: 4 4 ----------------------------------------------------------- 5 0.7.0a - Preview can be saved as image 5 6 0.6.1b - Critical bufix for the Preview Window 6 7 - Bugfix for slider points parsing and XML parsing 7 0.6.0 a- Resources/windows/layouts/items can be edited by8 0.6.0b - Resources/windows/layouts/items can be edited by 8 9 doubleclicking on them in the hiearchy trees 9 10 - Sliders are rendered completely as in VLC trunk/src/vlcskineditor/Main.java
r87 r88 55 55 JMenuBar mbar; 56 56 JMenu m_file, m_edit, m_help; 57 JMenuItem m_file_new, m_file_open, m_file_save, m_file_test, m_file_vlt, m_file_ quit;57 JMenuItem m_file_new, m_file_open, m_file_save, m_file_test, m_file_vlt, m_file_png, m_file_quit; 58 58 JMenuItem m_edit_undo, m_edit_redo, m_edit_theme, m_edit_global, m_edit_up, m_edit_down, m_edit_right, m_edit_left; 59 59 JMenuItem m_help_doc, m_help_about; … … 144 144 m_file_test = new JMenuItem("Test skin in VLC..."); 145 145 m_file_test.setMnemonic('T'); 146 m_file_test.addActionListener(this); 146 m_file_test.setAccelerator(KeyStroke.getKeyStroke("ctrl shift t")); 147 m_file_test.addActionListener(this); 147 148 m_file_vlt = new JMenuItem("Export as VLT..."); 148 149 m_file_vlt.setMnemonic('V'); 149 m_file_vlt.setAccelerator(KeyStroke.getKeyStroke("ctrl v"));150 m_file_vlt.setAccelerator(KeyStroke.getKeyStroke("ctrl shift v")); 150 151 m_file_vlt.addActionListener(this); 152 m_file_png = new JMenuItem("Save current preview as image"); 153 m_file_png.setMnemonic('p'); 154 m_file_png.addActionListener(this); 155 m_file_png.setEnabled(false); 151 156 m_file_quit = new JMenuItem("Quit"); 152 157 m_file_quit.setIcon(exit_icon); … … 162 167 m_file.add(m_file_test); 163 168 m_file.add(m_file_vlt); 169 m_file.add(m_file_png); 164 170 m_file.addSeparator(); 165 171 m_file.add(m_file_quit); … … 545 551 } 546 552 catch (Exception e) { 547 System.err.println(e); 548 StackTraceElement[] stack = e.getStackTrace(); 549 for(int i=0;i<stack.length;i++) System.err.println(" "+stack[i]); 553 e.printStackTrace(); 550 554 } 551 555 } … … 706 710 setTitle(f.toString()+" - VLC Skin Editor "+VERSION); 707 711 pvwin.clearLayout(); 712 m_file_png.setEnabled(false); 708 713 s.open(f); 709 714 selected_resource = null; … … 754 759 } 755 760 // </editor-fold> 756 // <editor-fold defaultstate="collapsed" desc="Save File ">761 // <editor-fold defaultstate="collapsed" desc="Save File"> 757 762 else if(e.getSource().equals(m_file_save)) { 758 763 s.save(); … … 867 872 } 868 873 // </editor-fold> 869 // <editor-fold defaultstate="collapsed" desc="Quit "> 874 // <editor-fold defaultstate="collapsed" desc="Save Preview"> 875 else if(e.getSource().equals(m_file_png)) { 876 JFileChooser png_fc = new JFileChooser(); 877 png_fc.setAcceptAllFileFilterUsed(false); 878 png_fc.setFileFilter(new CustomFileFilter(png_fc, "png", "*.PNG (Portable Network Graphic)", false, "")); 879 int i = png_fc.showSaveDialog(this); 880 if(i==JFileChooser.APPROVE_OPTION) { 881 File f = png_fc.getSelectedFile(); 882 if(!f.getPath().toLowerCase().endsWith(".png")) 883 f = new File(f.getPath()+".png"); 884 pvwin.savePNG(f); 885 } 886 } 887 // </editor-fold> 888 // <editor-fold defaultstate="collapsed" desc="Quit"> 870 889 else if(e.getSource().equals(m_file_quit)) { 871 890 if(!saved) { … … 896 915 else if(e.getSource().equals(m_edit_theme)) s.showThemeOptions(); 897 916 else if(e.getSource().equals(m_edit_global)) s.gvars.showOptions(); 898 // <editor-fold defaultstate="collapsed" desc="Open Help ">917 // <editor-fold defaultstate="collapsed" desc="Open Help"> 899 918 else if(e.getSource().equals(m_help_doc)) { 900 919 Desktop desktop; … … 1077 1096 if(n==0) { 1078 1097 LayoutDeletionEvent lde = new LayoutDeletionEvent(w, l, w.layouts.indexOf(l), s); 1079 pvwin.clearLayout(); 1098 pvwin.clearLayout(); 1099 m_file_png.setEnabled(false); 1080 1100 w.layouts.remove(l); 1081 1101 s.updateWindows(); … … 1269 1289 else if(e.getSource().equals(m_edit_redo)) { 1270 1290 if(hist!=null) hist.redo(); 1271 } 1291 } 1272 1292 } 1273 1293 … … 1290 1310 selected_layout = null; 1291 1311 pvwin.clearLayout(); 1312 m_file_png.setEnabled(false); 1292 1313 items_tree_model.setRoot(new DefaultMutableTreeNode("Root: Items")); 1293 1314 } … … 1295 1316 selected_layout = path[i].toString().substring(path[i].toString().indexOf(": ")+2); 1296 1317 pvwin.setLayout(s.getWindow(selected_window),s.getWindow(selected_window).getLayout(selected_layout)); 1318 m_file_png.setEnabled(true); 1297 1319 s.updateItems(); 1298 1320 } trunk/src/vlcskineditor/PreviewWindow.java
r87 r88 26 26 import java.awt.image.*; 27 27 import java.awt.event.*; 28 import java.io.File; 29 import javax.imageio.ImageIO; 28 30 import javax.swing.*; 29 31 import vlcskineditor.history.*; … … 222 224 } 223 225 } 226 /** 227 * Saves a preview of the selected layout to a file 228 */ 229 public void savePNG(File f) { 230 BufferedImage bi = new BufferedImage(l.width, l.height, BufferedImage.TYPE_INT_ARGB); 231 if(selected_item!=null) selected_item.setSelected(false); 232 l.draw(bi.createGraphics()); 233 if(selected_item!=null) selected_item.setSelected(true); 234 try { 235 ImageIO.write(bi, "png", f); 236 } 237 catch (Exception e) { 238 JOptionPane.showMessageDialog(m,"Could not save image!\n"+e.toString(),"Exception caught!",JOptionPane.ERROR_MESSAGE); 239 return; 240 } 241 } 224 242 } trunk/src/vlcskineditor/resources/Font.java
r71 r88 117 117 f = f.deriveFont((float)size); 118 118 } 119 catch(Exception e) { 120 e.printStackTrace(); 119 catch(Exception e) { 121 120 if(file.indexOf(".otf")==-1) { 122 121 JOptionPane.showMessageDialog(frame,"Error while loading font file!\n Please choose another file\n","Font file not valid",JOptionPane.ERROR_MESSAGE);
