| 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 | } |
|---|