def on_orderCancelButton_clicked(self): selection = self.orderTableWidget.selectedItems() if not selection: return index = self.indexFromOrderStatus() prevmsg = MM_util.searchlistbyhash(self.listDict[index], str(selection[4].text())) conf = None order = None if index == 'order': order = prevmsg for ver in self.listDict['conf']: if ver.obj['orderhash'] == order.hash: conf = ver elif index == 'conf': conf = prevmsg order = MM_util.searchlistbyhash(self.listDict['order'], conf.obj['orderhash']) if conf: for ver in self.listDict['pay']: if ver.obj['confhash'] == conf.hash: self.info("We cannot cancel this Order, " + \ "as a Payment has already been sent.") return if not self.yorn("Are you sure?"): return msgstr = MM_util.createcancel(self.myid.hash, self.btcaddr, \ "buyer", self.listDict['conf'], order) hash = MM_util.MM_writefile(msgstr) MM_util.appendindex('cancel', hash) self.do_sendmsgviabm(vendor.obj['bmaddr'], msgstr) self.info("Order cancellation message sent to Vendor!")