Changeset 42

Show
Ignore:
Timestamp:
18/09/07 21:46:16 (1 year ago)
Author:
altglass
Message:

GlobalVariables? editing dialog and PrevieWindow? improvements

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/README.TXT

    r39 r42  
    1 VLC Skin Editor release 0.4.5
     1VLC Skin Editor release 0.5.0
    22----------------------------------------------------------- 
    33Changelog: 
    44----------------------------------------------------------- 
     50.5.0a - Boolean variables are interpreted in the preview 
     6       - Global variables can be edited (boolean only atm) 
     7       - Preview window perfomance improvements 
    580.4.5a - Several bugfixes 
    69       - Text variables are interpreted in the preview 
  • trunk/src/vlcskineditor/GlobalVariables.java

    r41 r42  
    2323package vlcskineditor; 
    2424 
     25import java.awt.Desktop; 
     26import java.awt.GridLayout; 
     27import java.awt.FlowLayout; 
     28import java.awt.event.*; 
    2529import java.util.*; 
     30import javax.swing.*; 
    2631 
    2732/** 
     
    3035 * @author Daniel Dreibrodt 
    3136 */ 
    32 public class GlobalVariables
     37public class GlobalVariables implements ActionListener
    3338   
    3439  /** The audio stream bitrate **/ 
     
    5964  boolean vlc_isFullscreen = false; 
    6065  boolean vlc_isPlaying = false; 
     66  boolean vlc_isStopped = false; 
    6167  boolean vlc_isPaused = true; 
    6268  boolean vlc_isSeekable = true; 
     
    6874  boolean dvd_isActive = false; 
    6975   
    70    
     76  JFrame frame; 
     77  JComboBox eq_cb,vout_cb,audio_cb,fullscreen_cb,playing_cb,stopped_cb, 
     78            paused_cb,seekable_cb,mute_cb,ontop_cb,random_cb,loop_cb,repeat_cb,dvd_cb; 
     79  JButton ok_btn,help_btn; 
    7180   
    7281  /** Creates a new instance of GlobalVariables */ 
     
    201210    return varStack.get(varStack.size()-1).booleanValue(); 
    202211  } 
    203    
     212  /** Creates and shows the dialog to modify the global variables */ 
     213  public void showOptions() { 
     214    if(frame==null) { 
     215      frame = new JFrame("Global variables"); 
     216      frame.setResizable(false); 
     217      frame.setLayout(new FlowLayout()); 
     218       
     219      JLabel desc_l = new JLabel("These variables only affect the preview."); 
     220      Object[] bool_values = { true, false }; 
     221      JLabel eq_l = new JLabel("equalizer.isEnabled"); 
     222      eq_cb = new JComboBox(bool_values); 
     223      JLabel vout_l = new JLabel("vlc.hasVout"); 
     224      vout_cb = new JComboBox(bool_values); 
     225      JLabel audio_l = new JLabel("vlc.hasAudio"); 
     226      audio_cb = new JComboBox(bool_values); 
     227      JLabel fullscreen_l = new JLabel("vlc.isFullscreen"); 
     228      fullscreen_cb = new JComboBox(bool_values); 
     229      JLabel playing_l = new JLabel("vlc.isPlaying"); 
     230      playing_cb = new JComboBox(bool_values); 
     231      JLabel stopped_l = new JLabel("vlc.isStopped"); 
     232      stopped_cb = new JComboBox(bool_values); 
     233      JLabel paused_l = new JLabel("vlc.isPaused"); 
     234      paused_cb = new JComboBox(bool_values); 
     235      JLabel seekable_l = new JLabel("vlc.isSeekable"); 
     236      seekable_cb = new JComboBox(bool_values); 
     237      JLabel mute_l = new JLabel("vlc.isMute"); 
     238      mute_cb = new JComboBox(bool_values); 
     239      JLabel ontop_l = new JLabel("vlc.isOnTop"); 
     240      ontop_cb = new JComboBox(bool_values); 
     241      JLabel random_l = new JLabel("playlist.isRandom"); 
     242      random_cb = new JComboBox(bool_values); 
     243      JLabel loop_l = new JLabel("vlc.isLoop"); 
     244      loop_cb = new JComboBox(bool_values); 
     245      JLabel repeat_l = new JLabel("vlc.isRepeat"); 
     246      repeat_cb = new JComboBox(bool_values); 
     247      JLabel dvd_l = new JLabel("dvd.isActive"); 
     248      dvd_cb = new JComboBox(bool_values); 
     249       
     250      ok_btn = new JButton("OK"); 
     251      ok_btn.addActionListener(this); 
     252      help_btn = new JButton("Help"); 
     253      help_btn.addActionListener(this); 
     254       
     255      frame.add(desc_l); 
     256      JPanel panel = new JPanel(new GridLayout(0,2,5,5));       
     257      panel.add(eq_l); 
     258      panel.add(eq_cb); 
     259      panel.add(vout_l); 
     260      panel.add(vout_cb); 
     261      panel.add(audio_l); 
     262      panel.add(audio_cb); 
     263      panel.add(fullscreen_l); 
     264      panel.add(fullscreen_cb); 
     265      panel.add(playing_l); 
     266      panel.add(playing_cb); 
     267      panel.add(stopped_l); 
     268      panel.add(stopped_cb); 
     269      panel.add(paused_l); 
     270      panel.add(paused_cb); 
     271      panel.add(seekable_l); 
     272      panel.add(seekable_cb); 
     273      panel.add(mute_l); 
     274      panel.add(mute_cb); 
     275      panel.add(ontop_l); 
     276      panel.add(ontop_cb); 
     277      panel.add(random_l); 
     278      panel.add(random_cb); 
     279      panel.add(loop_l); 
     280      panel.add(loop_cb); 
     281      panel.add(repeat_l); 
     282      panel.add(repeat_cb); 
     283      panel.add(dvd_l); 
     284      panel.add(dvd_cb); 
     285      panel.add(ok_btn); 
     286      panel.add(help_btn); 
     287      frame.add(panel); 
     288      frame.pack(); 
     289       
     290      frame.setSize(frame.getWidth()/2,frame.getHeight()+20); 
     291    } 
     292    eq_cb.setSelectedItem(equalizer_isEnabled); 
     293    vout_cb.setSelectedItem(vlc_hasVout); 
     294    audio_cb.setSelectedItem(vlc_hasAudio); 
     295    fullscreen_cb.setSelectedItem(vlc_isFullscreen); 
     296    playing_cb.setSelectedItem(vlc_isPlaying); 
     297    stopped_cb.setSelectedItem(vlc_isStopped); 
     298    paused_cb.setSelectedItem(vlc_isPaused); 
     299    seekable_cb.setSelectedItem(vlc_isSeekable); 
     300    mute_cb.setSelectedItem(vlc_isMute); 
     301    ontop_cb.setSelectedItem(vlc_isOnTop); 
     302    random_cb.setSelectedItem(playlist_isRandom); 
     303    loop_cb.setSelectedItem(playlist_isLoop); 
     304    repeat_cb.setSelectedItem(playlist_isRepeat); 
     305    dvd_cb.setSelectedItem(dvd_isActive); 
     306    frame.setVisible(true); 
     307  } 
     308  /** 
     309   * Sets the variables to the selected values 
     310   */ 
     311  public void update() { 
     312    equalizer_isEnabled = Boolean.parseBoolean(eq_cb.getSelectedItem().toString()); 
     313    vlc_hasVout = Boolean.parseBoolean(vout_cb.getSelectedItem().toString()); 
     314    vlc_hasAudio = Boolean.parseBoolean(audio_cb.getSelectedItem().toString()); 
     315    vlc_isFullscreen = Boolean.parseBoolean(fullscreen_cb.getSelectedItem().toString()); 
     316    vlc_isPlaying = Boolean.parseBoolean(playing_cb.getSelectedItem().toString()); 
     317    vlc_isStopped = Boolean.parseBoolean(stopped_cb.getSelectedItem().toString()); 
     318    vlc_isPaused = Boolean.parseBoolean(paused_cb.getSelectedItem().toString()); 
     319    vlc_isSeekable = Boolean.parseBoolean(seekable_cb.getSelectedItem().toString()); 
     320    vlc_isMute = Boolean.parseBoolean(mute_cb.getSelectedItem().toString()); 
     321    vlc_isOnTop = Boolean.parseBoolean(ontop_cb.getSelectedItem().toString()); 
     322    playlist_isRandom = Boolean.parseBoolean(random_cb.getSelectedItem().toString()); 
     323    playlist_isLoop = Boolean.parseBoolean(loop_cb.getSelectedItem().toString()); 
     324    playlist_isRepeat = Boolean.parseBoolean(repeat_cb.getSelectedItem().toString()); 
     325    dvd_isActive = Boolean.parseBoolean(dvd_cb.getSelectedItem().toString()); 
     326  } 
     327  /** 
     328   * Handles actions triggered by components listened to 
     329   */ 
     330  public void actionPerformed(ActionEvent e) { 
     331    if(e.getSource().equals(ok_btn)) { 
     332      update(); 
     333      frame.setVisible(false); 
     334    } 
     335    else if(e.getSource().equals(help_btn)) { 
     336      Desktop desktop; 
     337      if (Desktop.isDesktopSupported()) { 
     338            desktop = Desktop.getDesktop(); 
     339            try { 
     340              desktop.browse(new java.net.URI("http://www.videolan.org/vlc/skins2-create.html#boolexpr")); 
     341            } 
     342            catch (Exception ex) { 
     343              JOptionPane.showMessageDialog(null,ex.toString(),ex.getMessage(),JOptionPane.ERROR_MESSAGE);     
     344            } 
     345      } 
     346      else { 
     347        JOptionPane.showMessageDialog(null,"Could not launch Browser","Go to the following URL manually:\nhttp://www.videolan.org/vlc/skins2-create.html",JOptionPane.WARNING_MESSAGE);     
     348      } 
     349    } 
     350  } 
    204351} 
  • trunk/src/vlcskineditor/Main.java

    r38 r42  
    4646 */ 
    4747public class Main extends javax.swing.JFrame implements ActionListener, TreeSelectionListener, WindowListener{ 
    48   final String VERSION = "0.4.5a"; 
     48  final String VERSION = "0.5.0a"; 
    4949  String vlc_dir = ""; 
    5050  String vlc_skins_dir = ""; 
     
    783783    // </editor-fold> 
    784784    else if(e.getSource().equals(m_edit_theme)) s.showThemeOptions(); 
    785     else if(e.getSource().equals(m_edit_global)) return
     785    else if(e.getSource().equals(m_edit_global)) s.gvars.showOptions()
    786786    // <editor-fold defaultstate="collapsed" desc="Open Help ">  
    787787    else if(e.getSource().equals(m_help_doc)) { 
     
    12191219    new Main();   
    12201220  } 
    1221    
    12221221} 
  • trunk/src/vlcskineditor/PreviewWindow.java

    r34 r42  
    7070    frame.setVisible(true);         
    7171    if(fu==null) { 
    72       fu = new FrameUpdater(this,25); 
    73       fu.start(); 
    74     } 
     72      fu = new FrameUpdater(this,5); 
     73      fu.start();       
     74    }     
    7575  } 
    7676  public void selectItem(Item i) {     
     
    116116  }   
    117117  public void mouseEntered(MouseEvent e) { 
     118     
    118119  } 
    119120  public void mouseExited(MouseEvent e) { 
     121     
    120122  } 
    121123  public void mouseMoved(MouseEvent e) { 
     
    135137  } 
    136138  public void  mouseReleased(MouseEvent e) { 
    137     fu.fps=5; 
     139    fu.fps=5;     
     140    starteddragging=false; 
    138141    if(selected_item!=null) selected_item.setClicked(false); 
    139     starteddragging=false
     142    else return
    140143    dragstartx=selected_item.x+selected_item.offsetx; 
    141144    dragstarty=selected_item.y+selected_item.offsety; 
  • trunk/src/vlcskineditor/Resources/Bitmap.java

    r37 r42  
    111111    try { 
    112112      image = ImageIO.read(new File(s.skinfolder+file));        
    113       image = image.getSubimage(0,0,image.getWidth(),image.getHeight()/nbframes);    
    114       System.err.println("Loaded "+file+" as "+id+" with the image type "+image.getType()); 
     113      image = image.getSubimage(0,0,image.getWidth(),image.getHeight()/nbframes);          
    115114      if(image.getType()!=13) { //If PNG is not indexed 
    116115        BufferedImage bi = new BufferedImage(image.getWidth(),image.getHeight(),BufferedImage.TYPE_INT_ARGB);