flutter_transmission

Flutter package to talk to a Transmission torrent instance, for a pure dart package please check transmission

Setup

To have this package working you need to setup a TransmissionScope like this:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return TransmissionScope(
      baseUrl: 'http://192.168.1.35:9091/transmission/rpc',
      child: MaterialApp(
        ...
      ),
    );
  }
}

Here you just pass the base url of the remote transmission instance, after that you can start adding UI to manage Transmission.

Easy usage

The most easy usage is to launch a full screen, to do so use TransmissionScreen like this:

Navigator.of(context).push(MaterialPageRoute(builder: (context) => TransmissionScreen()));

Custom usage

If the easy usage doesn't fit your need you can use dedicated widgets to build your own interface, here is a list of widget available:

WidgetUsage
TransmissionScreenfull screen to see and interact with transmission data
TorrentListList of the transmission's torrents
TorrentListItemTorrent representation
TransmissionSettingsWidget to manage transmission's settings
TransmissionSettingsDialogTransmissionSettings but in a dialog
TransmissionGlobalActionsToolbar to stop/start all torrents at once
TransmissionStatusBarStatus bar to toggle alternative speed and access transmission's settings
RealTimeActionButtonButton to toggle real time pooling data from transmission
AddTorrentActionButtonButton to add a torrent to transmission instance

Libraries

flutter_transmission