Send files from one computer to another! A graphical interface for magic-wormhole https://magic-wormhole.readthedocs.io
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.3 KiB

from pathlib import Path
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gdk, GLib, Gtk
CWD = Path(__file__).absolute().parent
@Gtk.Template.from_file(f"{CWD}/ui/pendingTransferRow.ui")
class PendingTransferRow(Gtk.ListBoxRow):
# Note(decentral1se): must match ui/pendingTransferRow.ui name
__gtype_name__ = "pendingTransferRow"
fileNameLabel = Gtk.Template.Child()
fileNameMetadata = Gtk.Template.Child()
transferCodeButton = Gtk.Template.Child()
cancelTransfer = Gtk.Template.Child()
def __init__(self, fileName, transferCode, *args, **kwargs):
Gtk.ListBoxRow.__init__(self, *args, **kwargs)
self.fileNameLabel.set_text(fileName)
self.transferCodeButton.set_label(transferCode)
@Gtk.Template.Callback()
def copy_transfer_code(self, widget):
"""
what to do when we press the button:
copy the code again to clipboard
"""
print("click")
code = widget.get_label()
clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clipboard.set_text(code, -1) # -1 is auto-size
@Gtk.Template.Callback()
def cancel_transfer(self, widget):
"""
cancel the transfer
destroy thread
remove the object from the list
"""
print("poof!")