Search in sources :

Example 1 with PEPeer

use of com.biglybt.core.peer.PEPeer in project BiglyBT by BiglySoftware.

the class SBC_TorrentDetailsView method initialize.

private void initialize(Composite composite) {
    Composite main_area = new Composite(composite, SWT.NULL);
    main_area.setLayout(new FormLayout());
    // Color bg_color = ColorCache.getColor(composite.getDisplay(), "#c0cbd4");
    UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
    this.parent = composite;
    if (tabbedMDI == null) {
        tabbedMDI = uiFunctions.createTabbedMDI(main_area, "detailsview");
    } else {
        System.out.println("ManagerView::initialize : folder isn't null !!!");
    }
    if (composite.getLayout() instanceof FormLayout) {
        main_area.setLayoutData(Utils.getFilledFormData());
    } else if (composite.getLayout() instanceof GridLayout) {
        main_area.setLayoutData(new GridData(GridData.FILL_BOTH));
    }
    composite.layout();
    // Call plugin listeners
    if (uiFunctions != null) {
        UISWTInstance pluginUI = uiFunctions.getUISWTInstance();
        if (pluginUI != null) {
            MyTorrentsView.registerPluginViews(pluginUI);
            for (String id : new String[] { UISWTInstance.VIEW_MYTORRENTS, UISWTInstance.VIEW_TORRENT_DETAILS }) {
                UISWTViewEventListenerWrapper[] pluginViews = pluginUI.getViewListeners(id);
                for (UISWTViewEventListenerWrapper l : pluginViews) {
                    if (id == UISWTInstance.VIEW_MYTORRENTS && l.getViewID() == PieceInfoView.MSGID_PREFIX) {
                        // Simple hack to exlude PieceInfoView tab as it's already within Pieces View
                        continue;
                    }
                    if (l != null) {
                        try {
                            tabbedMDI.createEntryFromEventListener(null, UISWTInstance.VIEW_TORRENT_DETAILS, l, l.getViewID(), false, manager, null);
                        } catch (Throwable e) {
                            Debug.out(e);
                        }
                    }
                }
            }
        }
    }
    SelectedContentManager.addCurrentlySelectedContentListener(this);
    tabbedMDI.addListener(new MdiSWTMenuHackListener() {

        @Override
        public void menuWillBeShown(MdiEntry entry, Menu menuTree) {
            menuTree.setData("downloads", new DownloadManager[] { manager });
            menuTree.setData("is_detailed_view", true);
            MenuFactory.buildTorrentMenu(menuTree);
        }
    });
    if (dataSource instanceof Object[] && ((Object[]) dataSource)[0] instanceof PEPeer) {
        tabbedMDI.showEntryByID(PeersView.MSGID_PREFIX);
    } else {
        MdiEntry[] entries = tabbedMDI.getEntries();
        if (entries.length > 0) {
            tabbedMDI.showEntry(entries[0]);
        }
    }
}
Also used : FormLayout(org.eclipse.swt.layout.FormLayout) PEPeer(com.biglybt.core.peer.PEPeer) Composite(org.eclipse.swt.widgets.Composite) UIFunctionsSWT(com.biglybt.ui.swt.UIFunctionsSWT) DownloadManager(com.biglybt.core.download.DownloadManager) GridLayout(org.eclipse.swt.layout.GridLayout) GridData(org.eclipse.swt.layout.GridData) UISWTViewEventListenerWrapper(com.biglybt.ui.swt.pif.UISWTInstance.UISWTViewEventListenerWrapper) SWTSkinObject(com.biglybt.ui.swt.skin.SWTSkinObject) UISWTInstance(com.biglybt.ui.swt.pif.UISWTInstance) Menu(org.eclipse.swt.widgets.Menu)

Example 2 with PEPeer

use of com.biglybt.core.peer.PEPeer in project BiglyBT by BiglySoftware.

the class PeerFilesView method tableRefresh.

@Override
public void tableRefresh() {
    synchronized (this) {
        if (refreshing) {
            return;
        }
        refreshing = true;
    }
    try {
        PEPeer peer = current_peer;
        if (peer == null) {
            tv.removeAllTableRows();
        } else {
            if (tv.getRowCount() == 0) {
                DiskManagerFileInfo[] files = peer.getManager().getDiskManager().getFiles();
                PeersFilesViewRow[] rows = new PeersFilesViewRow[files.length];
                for (int i = 0; i < files.length; i++) {
                    rows[i] = new PeersFilesViewRow(files[i], peer);
                }
                tv.addDataSources(rows);
                tv.processDataSourceQueueSync();
            } else {
                TableRowCore[] rows = tv.getRows();
                for (TableRowCore row : rows) {
                    ((PeersFilesViewRow) row.getDataSource()).setPeer(peer);
                }
            }
        }
    } finally {
        synchronized (this) {
            refreshing = false;
        }
    }
}
Also used : PEPeer(com.biglybt.core.peer.PEPeer) DiskManagerFileInfo(com.biglybt.core.disk.DiskManagerFileInfo)

Example 3 with PEPeer

use of com.biglybt.core.peer.PEPeer in project BiglyBT by BiglySoftware.

the class ChokingItem method refresh.

@Override
public void refresh(TableCell cell) {
    PEPeer peer = (PEPeer) cell.getDataSource();
    long value = (peer == null) ? 0 : (peer.isChokedByMe() ? 1 : 0);
    if (!cell.setSortValue(value) && cell.isValid())
        return;
    cell.setText((value == 1) ? "*" : "");
}
Also used : PEPeer(com.biglybt.core.peer.PEPeer)

Example 4 with PEPeer

use of com.biglybt.core.peer.PEPeer in project BiglyBT by BiglySoftware.

the class DownItem method cellHover.

/* (non-Javadoc)
	 * @see com.biglybt.pif.ui.tables.TableCellToolTipListener#cellHover(com.biglybt.pif.ui.tables.TableCell)
	 */
@Override
public void cellHover(TableCell cell) {
    Object ds = cell.getDataSource();
    if (ds instanceof PEPeer) {
        PEPeer peer = (PEPeer) ds;
        long data_value = peer.getStats().getTotalDataBytesReceived();
        long prot_value = peer.getStats().getTotalProtocolBytesReceived();
        StringBuilder sb = new StringBuilder();
        sb.append(DisplayFormatters.formatByteCountToKiBEtc(data_value));
        sb.append(' ');
        sb.append(MessageText.getString("label.transfered.data"));
        sb.append('\n');
        sb.append(DisplayFormatters.formatByteCountToKiBEtc(prot_value));
        sb.append(' ');
        sb.append(MessageText.getString("label.transfered.protocol"));
        sb.append('\n');
        sb.append(DisplayFormatters.formatByteCountToKiBEtc(prot_value + data_value));
        sb.append(' ');
        sb.append(MessageText.getString("label.transfered.total"));
        sb.append('\n');
        cell.setToolTip(sb.toString());
    }
}
Also used : PEPeer(com.biglybt.core.peer.PEPeer)

Example 5 with PEPeer

use of com.biglybt.core.peer.PEPeer in project BiglyBT by BiglySoftware.

the class DownItem method refresh.

@Override
public void refresh(TableCell cell) {
    PEPeer peer = (PEPeer) cell.getDataSource();
    long data_value = 0;
    long prot_value = 0;
    if (peer != null) {
        data_value = peer.getStats().getTotalDataBytesReceived();
        prot_value = peer.getStats().getTotalProtocolBytesReceived();
    }
    long sort_value;
    if (separate_prot_data_stats) {
        sort_value = (data_value << 24) + prot_value;
    } else if (data_stats_only) {
        sort_value = data_value;
    } else {
        sort_value = data_value + prot_value;
    }
    if (!cell.setSortValue(sort_value) && cell.isValid())
        return;
    cell.setText(DisplayFormatters.formatDataProtByteCountToKiBEtc(data_value, prot_value));
}
Also used : PEPeer(com.biglybt.core.peer.PEPeer)

Aggregations

PEPeer (com.biglybt.core.peer.PEPeer)84 PEPeerManager (com.biglybt.core.peer.PEPeerManager)18 DownloadManager (com.biglybt.core.download.DownloadManager)11 ArrayList (java.util.ArrayList)11 DiskManagerFileInfo (com.biglybt.core.disk.DiskManagerFileInfo)5 AERunnable (com.biglybt.core.util.AERunnable)5 PEPiece (com.biglybt.core.peer.PEPiece)4 List (java.util.List)4 Image (org.eclipse.swt.graphics.Image)4 DiskManager (com.biglybt.core.disk.DiskManager)3 GlobalManager (com.biglybt.core.global.GlobalManager)3 PEPeerStats (com.biglybt.core.peer.PEPeerStats)3 PEPeerTransport (com.biglybt.core.peer.impl.PEPeerTransport)3 TOTorrent (com.biglybt.core.torrent.TOTorrent)3 Point (org.eclipse.swt.graphics.Point)3 DiskManagerPiece (com.biglybt.core.disk.DiskManagerPiece)2 DownloadManagerPeerListener (com.biglybt.core.download.DownloadManagerPeerListener)2 PiecePicker (com.biglybt.core.peermanager.piecepicker.PiecePicker)2 BitFlags (com.biglybt.core.peermanager.piecepicker.util.BitFlags)2 Tag (com.biglybt.core.tag.Tag)2