Package com.tulskiy.musique.plugins.discogs

Examples of com.tulskiy.musique.plugins.discogs.DiscogsCaller


    btnSelect.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
        ListSelectionModel selectionModel = lstReleases.getSelectionModel();
        DiscogsReleaseListModel model = (DiscogsReleaseListModel) lstReleases.getModel();

        thread = new Thread(new DiscogsCaller(
            DiscogsCaller.CallMode.RELEASE, model.getEx(selectionModel.getMinSelectionIndex()).getId(), me), "");
        thread.start();

        CardLayout cl = (CardLayout) getContentPane().getLayout();
          cl.show(getContentPane(), CARD_RELEASE);
      }
    });
    btnSelect.setEnabled(false);
    panelArtistControls.add(btnSelect);
   
    Component horizontalStrut = Box.createHorizontalStrut(20);
    horizontalStrut.setPreferredSize(new Dimension(10, 0));
    horizontalStrut.setMinimumSize(new Dimension(10, 0));
    panelArtistControls.add(horizontalStrut);
   
    JButton btnCancelArtist = new JButton("Cancel");
    btnCancelArtist.setToolTipText("Abort querying and/or close Discogs dialog.");
    btnCancelArtist.setPreferredSize(new Dimension(81, 0));
    btnCancelArtist.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
        close();
      }
    });
    panelArtistControls.add(btnCancelArtist);
   
    Component horizontalStrut_3 = Box.createHorizontalStrut(20);
    panelArtistControls.add(horizontalStrut_3);
   
    splitPaneArtist.setResizeWeight(0.3);
    panelArtist.add(splitPaneArtist, BorderLayout.CENTER);
   
    JScrollPane scrollPane = new JScrollPane();
    splitPaneArtist.setLeftComponent(scrollPane);
   
    JPanel panel_1 = new JPanel();
    panel_1.setPreferredSize(new Dimension(10, 40));
    scrollPane.setColumnHeaderView(panel_1);
    panel_1.setLayout(new BoxLayout(panel_1, BoxLayout.X_AXIS));
   
    Component horizontalStrut_5 = Box.createHorizontalStrut(20);
    panel_1.add(horizontalStrut_5);
   
    JLabel lblArtist = new JLabel("Artist");
    panel_1.add(lblArtist);
   
    Component horizontalStrut_6 = Box.createHorizontalStrut(20);
    horizontalStrut_6.setPreferredSize(new Dimension(10, 0));
    panel_1.add(horizontalStrut_6);
   
    txtArtist = new JTextField();
    txtArtist.setToolTipText("Artist query string.");
    txtArtist.addKeyListener(new KeyAdapter() {
      @Override
      public void keyPressed(KeyEvent e) {
        if (KeyEvent.VK_ENTER  == e.getKeyCode()) {
          btnQuery.doClick();
        }
      }
    });
    txtArtist.setMaximumSize(new Dimension(2147483647, 24));
    txtArtist.setText("Artist");
    panel_1.add(txtArtist);
    txtArtist.setColumns(10);
    txtArtist.setText(tracks.get(0).getTrackData().getArtist());
    txtArtist.setCaretPosition(0);
   
    JScrollPane scrollPane_1 = new JScrollPane();
    splitPaneArtist.setRightComponent(scrollPane_1);
   
    JPanel panel_2 = new JPanel();
    panel_2.setPreferredSize(new Dimension(10, 40));
    scrollPane_1.setColumnHeaderView(panel_2);

    lstReleases.setToolTipText("List of releases belong to selected artist. One is to be selected to continue.");
    lstReleases.setModel(new DiscogsReleaseListModel());
    lstReleases.addListSelectionListener(new ListSelectionListener() {
      public void valueChanged(ListSelectionEvent arg0) {
        if (!arg0.getValueIsAdjusting()) {
          ListSelectionModel selectionModel = lstReleases.getSelectionModel();
          btnSelect.setEnabled(!selectionModel.isSelectionEmpty());
        }
      }
    });
    lstReleases.addMouseListener(new MouseAdapter() {
      @Override
      public void mouseClicked(MouseEvent e) {
        if (e.getClickCount() > 1) {
          ListSelectionModel selectionModel = lstReleases.getSelectionModel();
          if (!selectionModel.isSelectionEmpty()) {
            DiscogsReleaseListModel releaseModel = (DiscogsReleaseListModel) lstReleases.getModel();
            ArtistRelease release = releaseModel.getEx(selectionModel.getMinSelectionIndex());
                if(java.awt.Desktop.isDesktopSupported()) {
                  java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
                  if(desktop.isSupported(java.awt.Desktop.Action.BROWSE)) {
                    try {
                  desktop.browse(new URI("http://www.discogs.com/release/" + release.getId()));
                }
                    catch (Exception exc) {
                  // ignore any exception since it's absolutely optional feature
                }
                  }
                }
           
          }
        }
      }
    });
    scrollPane_1.setViewportView(lstReleases);

    lstArtists.setToolTipText("List of artists fit query string.");
    lstArtists.setModel(new DiscogsArtistListModel());
    lstArtists.addListSelectionListener(new ListSelectionListener() {
      public void valueChanged(ListSelectionEvent arg0) {
        DiscogsArtistListModel artistModel = (DiscogsArtistListModel) lstArtists.getModel();
        ListSelectionModel selectionModel = lstArtists.getSelectionModel();
        if (!selectionModel.isSelectionEmpty() && !arg0.getValueIsAdjusting()) {
          Artist artist = artistModel.getEx(selectionModel.getMinSelectionIndex());
          if (artist != null) {
            DiscogsReleaseListModel releaseModel = (DiscogsReleaseListModel) lstReleases.getModel();

            releaseModel.clear();
            for (ArtistRelease release : artist.getReleases()) {
              releaseModel.addElement(release);
            }

            lstReleases.revalidate();
            lstReleases.clearSelection();
            lstReleases.repaint();
          }
        }
      }
    });
    scrollPane.setViewportView(lstArtists);

    btnQuery.setToolTipText("Query Discogs database.");
    btnQuery.setPreferredSize(new Dimension(81, 0));
    btnQuery.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
        if (!Util.isEmpty(txtArtist.getText())) {
          thread = new Thread(new DiscogsCaller(
              DiscogsCaller.CallMode.SEARCH_ARTISTS, txtArtist.getText(), me), "");
          thread.start();
        }
      }
    });
View Full Code Here

TOP

Related Classes of com.tulskiy.musique.plugins.discogs.DiscogsCaller

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.