Search in sources :

Example 6 with SkinMenu

use of com.frostwire.gui.theme.SkinMenu in project frostwire by frostwire.

the class SearchResultMediator method createSearchAgainMenu.

/**
 * Returns a menu with a 'repeat search' and 'repeat search no clear' action.
 */
private JMenu createSearchAgainMenu(SearchResultDataLine line) {
    JMenu menu = new SkinMenu(tr("Search More"));
    menu.add(new SkinMenuItem(new RepeatSearchAction()));
    if (line == null) {
        menu.setEnabled(isRepeatSearchEnabled());
        return menu;
    }
    menu.addSeparator();
    String keywords = QueryUtils.createQueryString(line.getFilename());
    SearchInformation info = SearchInformation.createKeywordSearch(keywords, null, MediaType.getAnyTypeMediaType());
    if (SearchMediator.validateInfo(info) == SearchMediator.QUERY_VALID) {
        SeasonalContentSearchSuggestion.attemptToAddSeasonalContentSearchSuggestion(menu, null, searchTokens);
        menu.add(new SkinMenuItem(new SearchAction(info, tr("Search for Keywords: {0}"))));
    }
    return menu;
}
Also used : SkinMenuItem(com.frostwire.gui.theme.SkinMenuItem) SkinMenu(com.frostwire.gui.theme.SkinMenu) SearchAction(com.limegroup.gnutella.gui.actions.SearchAction)

Example 7 with SkinMenu

use of com.frostwire.gui.theme.SkinMenu in project frostwire by frostwire.

the class BTDownloadMediatorAdvancedMenuFactory method addSpeedMenu.

private static void addSpeedMenu(SkinMenu menuAdvanced, boolean isTorrentContext, boolean hasSelection, boolean downSpeedDisabled, boolean downSpeedUnlimited, long totalDownSpeed, long downSpeedSetMax, long maxDownload, boolean upSpeedDisabled, boolean upSpeedUnlimited, long totalUpSpeed, long upSpeedSetMax, long maxUpload, final int num_entries, final SpeedAdapter adapter) {
    // advanced > Download Speed Menu //
    final SkinMenu menuDownSpeed = new SkinMenu(I18n.tr("Set Down Speed"));
    menuAdvanced.add(menuDownSpeed);
    final SkinMenuItem itemCurrentDownSpeed = new SkinMenuItem();
    itemCurrentDownSpeed.setEnabled(false);
    StringBuffer speedText = new StringBuffer();
    String separator = "";
    // itemDownSpeed.
    if (downSpeedDisabled) {
        speedText.append(I18n.tr("Disabled"));
        separator = " / ";
    }
    if (downSpeedUnlimited) {
        speedText.append(separator);
        speedText.append(I18n.tr("Unlimited"));
        separator = " / ";
    }
    if (totalDownSpeed > 0) {
        speedText.append(separator);
        speedText.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(totalDownSpeed));
    }
    itemCurrentDownSpeed.setText(speedText.toString());
    menuDownSpeed.add(itemCurrentDownSpeed);
    menuDownSpeed.addSeparator();
    final SkinMenuItem[] itemsDownSpeed = new SkinMenuItem[12];
    ActionListener itemsDownSpeedListener = new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            if (e.getSource() != null && e.getSource() instanceof SkinMenuItem) {
                SkinMenuItem item = (SkinMenuItem) e.getSource();
                int speed = item.getClientProperty("maxdl") == null ? 0 : ((Integer) item.getClientProperty("maxdl")).intValue();
                adapter.setDownSpeed(speed);
            }
        }
    };
    itemsDownSpeed[1] = new SkinMenuItem();
    itemsDownSpeed[1].setText(I18n.tr("No limit"));
    itemsDownSpeed[1].putClientProperty("maxdl", new Integer(0));
    itemsDownSpeed[1].addActionListener(itemsDownSpeedListener);
    menuDownSpeed.add(itemsDownSpeed[1]);
    if (hasSelection) {
        // using 200KiB/s as the default limit when no limit set.
        if (maxDownload == 0) {
            if (downSpeedSetMax == 0) {
                maxDownload = 200 * 1024;
            } else {
                maxDownload = 4 * (downSpeedSetMax / 1024) * 1024;
            }
        }
        for (int i = 2; i < 12; i++) {
            itemsDownSpeed[i] = new SkinMenuItem();
            itemsDownSpeed[i].addActionListener(itemsDownSpeedListener);
            // dms.length has to be > 0 when hasSelection
            int limit = (int) (maxDownload / (10 * num_entries) * (12 - i));
            StringBuffer speed = new StringBuffer();
            speed.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit * num_entries));
            // if (num_entries > 1) {
            // speed.append(" ");
            // speed.append(MessageText
            // .getString("MyTorrentsView.menu.setSpeed.in"));
            // speed.append(" ");
            // speed.append(num_entries);
            // speed.append(" ");
            // speed.append(MessageText
            // .getString("MyTorrentsView.menu.setSpeed.slots"));
            // speed.append(" ");
            // speed
            // .append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit));
            // }
            itemsDownSpeed[i].setText(speed.toString());
            itemsDownSpeed[i].putClientProperty("maxdl", new Integer(limit));
            menuDownSpeed.add(itemsDownSpeed[i]);
        }
    }
    // ---
    // menuDownSpeed.addSeparator();
    // 
    // final SkinMenuItem itemDownSpeedManualSingle = new SkinMenuItem();
    // itemDownSpeedManualSingle.setText(I18n.tr("Manual..."));
    // itemDownSpeedManualSingle.addActionListener(new ActionListener() {
    // public void actionPerformed(ActionEvent e) {
    // //int speed_value = getManualSpeedValue(shell, true);
    // //if (speed_value > 0) {adapter.setDownSpeed(speed_value);}
    // }
    // });
    // menuDownSpeed.add(itemDownSpeedManualSingle);
    // if (num_entries > 1) {
    // final MenuItem itemDownSpeedManualShared = new MenuItem(menuDownSpeed, SWT.PUSH);
    // Messages.setLanguageText(itemDownSpeedManualShared, isTorrentContext?"MyTorrentsView.menu.manual.shared_torrents":"MyTorrentsView.menu.manual.shared_peers");
    // itemDownSpeedManualShared.addSelectionListener(new SelectionAdapter() {
    // public void widgetSelected(SelectionEvent e) {
    // int speed_value = getManualSharedSpeedValue(shell, true, num_entries);
    // if (speed_value > 0) {adapter.setDownSpeed(speed_value);}
    // }
    // });
    // }
    // advanced >Upload Speed Menu //
    final SkinMenu menuUpSpeed = new SkinMenu(I18n.tr("Set Up Speed"));
    menuAdvanced.add(menuUpSpeed);
    final SkinMenuItem itemCurrentUpSpeed = new SkinMenuItem();
    itemCurrentUpSpeed.setEnabled(false);
    separator = "";
    speedText = new StringBuffer();
    // itemUpSpeed.
    if (upSpeedDisabled) {
        speedText.append(I18n.tr("Disabled"));
        separator = " / ";
    }
    if (upSpeedUnlimited) {
        speedText.append(separator);
        speedText.append(I18n.tr("Unlimited"));
        separator = " / ";
    }
    if (totalUpSpeed > 0) {
        speedText.append(separator);
        speedText.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(totalUpSpeed));
    }
    itemCurrentUpSpeed.setText(speedText.toString());
    menuUpSpeed.add(itemCurrentUpSpeed);
    // ---
    menuUpSpeed.addSeparator();
    final SkinMenuItem[] itemsUpSpeed = new SkinMenuItem[12];
    ActionListener itemsUpSpeedListener = new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            if (e.getSource() != null && e.getSource() instanceof SkinMenuItem) {
                SkinMenuItem item = (SkinMenuItem) e.getSource();
                int speed = item.getClientProperty("maxul") == null ? 0 : ((Integer) item.getClientProperty("maxul")).intValue();
                adapter.setUpSpeed(speed);
            }
        }
    };
    itemsUpSpeed[1] = new SkinMenuItem();
    itemsUpSpeed[1].setText(I18n.tr("No limit"));
    itemsUpSpeed[1].putClientProperty("maxul", new Integer(0));
    itemsUpSpeed[1].addActionListener(itemsUpSpeedListener);
    menuUpSpeed.add(itemsUpSpeed[1]);
    if (hasSelection) {
        // using 75KiB/s as the default limit when no limit set.
        if (maxUpload == 0) {
            maxUpload = 75 * 1024;
        } else {
            if (upSpeedSetMax == 0) {
                maxUpload = 200 * 1024;
            } else {
                maxUpload = 4 * (upSpeedSetMax / 1024) * 1024;
            }
        }
        for (int i = 2; i < 12; i++) {
            itemsUpSpeed[i] = new SkinMenuItem();
            itemsUpSpeed[i].addActionListener(itemsUpSpeedListener);
            int limit = (int) (maxUpload / (10 * num_entries) * (12 - i));
            StringBuffer speed = new StringBuffer();
            speed.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit * num_entries));
            // if (num_entries > 1) {
            // speed.append(" ");
            // speed.append(MessageText
            // .getString("MyTorrentsView.menu.setSpeed.in"));
            // speed.append(" ");
            // speed.append(num_entries);
            // speed.append(" ");
            // speed.append(MessageText
            // .getString("MyTorrentsView.menu.setSpeed.slots"));
            // speed.append(" ");
            // speed
            // .append(DisplayFormatters.formatByteCountToKiBEtcPerSec(limit));
            // }
            itemsUpSpeed[i].setText(speed.toString());
            itemsUpSpeed[i].putClientProperty("maxul", new Integer(limit));
            menuUpSpeed.add(itemsUpSpeed[i]);
        }
    }
// menuUpSpeed.addSeparator();
// 
// final SkinMenuItem itemUpSpeedManualSingle = new SkinMenuItem();
// itemUpSpeedManualSingle.setText(I18n.tr("Manual..."));
// itemUpSpeedManualSingle.addActionListener(new ActionListener() {
// public void actionPerformed(ActionEvent e) {
// //int speed_value = getManualSpeedValue(shell, false);
// //if (speed_value > 0) {adapter.setUpSpeed(speed_value);}
// }
// });
// menuUpSpeed.add(itemUpSpeedManualSingle);
// if (num_entries > 1) {
// final MenuItem itemUpSpeedManualShared = new MenuItem(menuUpSpeed, SWT.PUSH);
// Messages.setLanguageText(itemUpSpeedManualShared, isTorrentContext?"MyTorrentsView.menu.manual.shared_torrents":"MyTorrentsView.menu.manual.shared_peers" );
// itemUpSpeedManualShared.addSelectionListener(new SelectionAdapter() {
// public void widgetSelected(SelectionEvent e) {
// int speed_value = getManualSharedSpeedValue(shell, false, num_entries);
// if (speed_value > 0) {adapter.setUpSpeed(speed_value);}
// }
// });
// }
}
Also used : SkinMenuItem(com.frostwire.gui.theme.SkinMenuItem) ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent) SkinMenu(com.frostwire.gui.theme.SkinMenu)

Example 8 with SkinMenu

use of com.frostwire.gui.theme.SkinMenu in project frostwire by frostwire.

the class BTDownloadMediatorAdvancedMenuFactory method createAdvancedSubMenu.

public static SkinMenu createAdvancedSubMenu() {
    final com.frostwire.bittorrent.BTDownload[] dms = getSingleSelectedDownloadManagers();
    if (dms == null) {
        return null;
    }
    boolean upSpeedDisabled = false;
    long totalUpSpeed = 0;
    boolean upSpeedUnlimited = false;
    long upSpeedSetMax = 0;
    boolean downSpeedDisabled = false;
    long totalDownSpeed = 0;
    boolean downSpeedUnlimited = false;
    long downSpeedSetMax = 0;
    for (int i = 0; i < dms.length; i++) {
        com.frostwire.bittorrent.BTDownload dm = (com.frostwire.bittorrent.BTDownload) dms[i];
        try {
            int maxul = dm.getUploadRateLimit();
            if (maxul == 0) {
                upSpeedUnlimited = true;
            } else {
                if (maxul > upSpeedSetMax) {
                    upSpeedSetMax = maxul;
                }
            }
            if (maxul == -1) {
                maxul = 0;
                upSpeedDisabled = true;
            }
            totalUpSpeed += maxul;
            int maxdl = dm.getDownloadRateLimit();
            if (maxdl == 0) {
                downSpeedUnlimited = true;
            } else {
                if (maxdl > downSpeedSetMax) {
                    downSpeedSetMax = maxdl;
                }
            }
            if (maxdl == -1) {
                maxdl = 0;
                downSpeedDisabled = true;
            }
            totalDownSpeed += maxdl;
        } catch (Exception ex) {
            Debug.printStackTrace(ex);
        }
    }
    final SkinMenu menuAdvanced = new SkinMenu(I18n.tr("Advanced"));
    // advanced > Download Speed Menu //
    BTEngine engine = BTEngine.getInstance();
    long maxDownload = engine.downloadRateLimit();
    long maxUpload = engine.uploadRateLimit();
    addSpeedMenu(menuAdvanced, true, true, downSpeedDisabled, downSpeedUnlimited, totalDownSpeed, downSpeedSetMax, maxDownload, upSpeedDisabled, upSpeedUnlimited, totalUpSpeed, upSpeedSetMax, maxUpload, dms.length, new SpeedAdapter() {

        public void setDownSpeed(final int speed) {
            for (int i = 0; i < dms.length; i++) {
                dms[i].setDownloadRateLimit(speed);
            }
        }

        public void setUpSpeed(final int speed) {
            for (int i = 0; i < dms.length; i++) {
                dms[i].setUploadRateLimit(speed);
            }
        }
    });
    SkinMenu menuTracker = createTrackerMenu();
    if (menuTracker != null) {
        menuAdvanced.add(menuTracker);
    }
    return menuAdvanced;
}
Also used : BTEngine(com.frostwire.bittorrent.BTEngine) SkinMenu(com.frostwire.gui.theme.SkinMenu)

Example 9 with SkinMenu

use of com.frostwire.gui.theme.SkinMenu in project frostwire by frostwire.

the class BTDownloadMediatorAdvancedMenuFactory method createAddToPlaylistSubMenu.

public static SkinMenu createAddToPlaylistSubMenu() {
    BTDownload[] downloaders = BTDownloadMediator.instance().getSelectedDownloaders();
    if (downloaders.length == 0) {
        return null;
    }
    for (BTDownload dler : downloaders) {
        if (!dler.isCompleted()) {
            return null;
        }
        File saveLocation = dler.getSaveLocation();
        if (saveLocation.isDirectory()) {
            // If the file(s) is(are) inside a folder
            if (!LibraryUtils.directoryContainsAudio(saveLocation)) {
                return null;
            }
        } else if (!MediaPlayer.isPlayableFile(saveLocation)) {
            return null;
        }
    }
    SkinMenu menu = new SkinMenu(I18n.tr("Add to playlist"));
    menu.add(new SkinMenuItem(new CreateNewPlaylistAction()));
    Library library = LibraryMediator.getLibrary();
    List<Playlist> playlists = library.getPlaylists();
    if (playlists.size() > 0) {
        menu.addSeparator();
        for (Playlist playlist : library.getPlaylists()) {
            menu.add(new SkinMenuItem(new AddToPlaylistAction(playlist)));
        }
    }
    return menu;
}
Also used : SkinMenuItem(com.frostwire.gui.theme.SkinMenuItem) Playlist(com.frostwire.alexandria.Playlist) SkinMenu(com.frostwire.gui.theme.SkinMenu) CreateNewPlaylistAction(com.frostwire.gui.bittorrent.BTDownloadActions.CreateNewPlaylistAction) AddToPlaylistAction(com.frostwire.gui.bittorrent.BTDownloadActions.AddToPlaylistAction) Library(com.frostwire.alexandria.Library) File(java.io.File)

Example 10 with SkinMenu

use of com.frostwire.gui.theme.SkinMenu in project frostwire by frostwire.

the class BTDownloadMediator method createPopupMenu.

protected JPopupMenu createPopupMenu() {
    JPopupMenu menu = new SkinPopupMenu();
    if (playSingleMediaFileAction.isEnabled()) {
        menu.add(new SkinMenuItem(playSingleMediaFileAction));
    }
    menu.add(new SkinMenuItem(resumeAction));
    menu.add(new SkinMenuItem(pauseAction));
    menu.addSeparator();
    menu.add(new SkinMenuItem(showInLibraryAction));
    menu.add(new SkinMenuItem(exploreAction));
    menu.addSeparator();
    menu.add(new SkinMenuItem(shareTorrentAction));
    if (OSUtils.isMacOSX() || OSUtils.isWindows()) {
        menu.add(new SkinMenuItem(sendToItunesAction));
    }
    menu.add(new SkinMenuItem(copyMagnetAction));
    menu.add(new SkinMenuItem(copyHashAction));
    SkinMenu addToPlaylistMenu = BTDownloadMediatorAdvancedMenuFactory.createAddToPlaylistSubMenu();
    if (addToPlaylistMenu != null) {
        menu.add(addToPlaylistMenu);
    }
    menu.addSeparator();
    menu.add(new SkinMenuItem(removeAction));
    menu.add(new SkinMenuItem(BTDownloadActions.REMOVE_TORRENT_ACTION));
    menu.add(new SkinMenuItem(BTDownloadActions.REMOVE_TORRENT_AND_DATA_ACTION));
    menu.add(new SkinMenuItem(removeYouTubeAction));
    SkinMenu advancedMenu = BTDownloadMediatorAdvancedMenuFactory.createAdvancedSubMenu();
    if (advancedMenu != null) {
        menu.addSeparator();
        menu.add(advancedMenu);
    }
    return menu;
}
Also used : SkinMenuItem(com.frostwire.gui.theme.SkinMenuItem) SkinPopupMenu(com.frostwire.gui.theme.SkinPopupMenu) SkinMenu(com.frostwire.gui.theme.SkinMenu)

Aggregations

SkinMenu (com.frostwire.gui.theme.SkinMenu)10 SkinMenuItem (com.frostwire.gui.theme.SkinMenuItem)9 SearchAction (com.limegroup.gnutella.gui.actions.SearchAction)3 File (java.io.File)3 Library (com.frostwire.alexandria.Library)2 Playlist (com.frostwire.alexandria.Playlist)2 BTEngine (com.frostwire.bittorrent.BTEngine)1 AddToPlaylistAction (com.frostwire.gui.bittorrent.BTDownloadActions.AddToPlaylistAction)1 CreateNewPlaylistAction (com.frostwire.gui.bittorrent.BTDownloadActions.CreateNewPlaylistAction)1 SkinPopupMenu (com.frostwire.gui.theme.SkinPopupMenu)1 ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1