def selected_results_all_data(self, model, path, iterator, data): filename = model.get_value(iterator, 7) # We only want to see the metadata of files, not directories if filename != "": num = model.get_value(iterator, 0) user = model.get_value(iterator, 1) immediate = model.get_value(iterator, 3) speed = model.get_value(iterator, 4) queue = model.get_value(iterator, 5) size = model.get_value(iterator, 8) bitratestr = model.get_value(iterator, 9) length = model.get_value(iterator, 10) fn = model.get_value(iterator, 12) directory = fn.rsplit('\\', 1)[0] cc = model.get_value(iterator, 13) country = "%s / %s" % (cc, code2name(cc)) data.append({ "user": user, "fn": fn, "position": num, "filename": filename, "directory": directory, "size": size, "speed": speed, "queue": queue, "immediate": immediate, "bitrate": bitratestr, "length": length, "country": country })
def show_country_tooltip(widget, x, y, tooltip, sourcecolumn, stripprefix='flag_'): global previouscountrypath try: # the returned path of widget.get_path_at_pos is not correct since # this function pretends there's no header! # This also means we cannot look up the column for the very last user in the list # since the y is too big. # Therefore we'll use a y-value of 0 on all lookups (incorrectpath, column, cx, cy) = widget.get_path_at_pos(x, 0) # The return path of this func is okay, but it doesn't return the column -_- (path, droppos) = widget.get_dest_row_at_pos(x, y) except TypeError: # Either function returned None return False # If the mouse is pointing at a new path destroy the tooltip so it can be recreated next time if path != previouscountrypath: previouscountrypath = path return False title = column.get_title() if title != _("Country"): return False model = widget.get_model() iterator = model.get_iter(path) value = model.get_value(iterator, sourcecolumn) # Avoid throwing an error in there's no flag if value is None: return False if not value.startswith(stripprefix): tooltip.set_text(_("Unknown")) return True value = value[len(stripprefix):] if value: countryname = code2name(value) else: countryname = "Earth" if countryname: countryname = _(countryname) else: countryname = _("Unknown (%(countrycode)s)") % {'countrycode': value} tooltip.set_text(countryname) return True
def get_country_tooltip_text(column_value, strip_prefix): if not column_value.startswith(strip_prefix): return _("Unknown") column_value = column_value[len(strip_prefix):] if column_value: return code2name(column_value) return _("Earth")
def on_file_properties(self, *args): if not self.frame.np.transfers: return data = [] model, paths = self.ResultsList.get_selection().get_selected_rows() for path in paths: iterator = model.get_iter(path) filename = model.get_value(iterator, 7) # We only want to see the metadata of files, not directories if not filename: continue num = model.get_value(iterator, 0) user = model.get_value(iterator, 1) immediate = model.get_value(iterator, 3) speed = model.get_value(iterator, 4) queue = model.get_value(iterator, 5) size = model.get_value(iterator, 8) bitratestr = model.get_value(iterator, 9) length = model.get_value(iterator, 10) fn = model.get_value(iterator, 12) directory = fn.rsplit('\\', 1)[0] cc = model.get_value(iterator, 13) country = "%s / %s" % (cc, code2name(cc)) data.append({ "user": user, "fn": fn, "position": num, "filename": filename, "directory": directory, "size": size, "speed": speed, "queue": queue, "immediate": immediate, "bitrate": bitratestr, "length": length, "country": country }) if paths: FileProperties(self.frame, data).show()