def file_or_folder_size_widget(self): if os.path.isdir(self._filepath): btn_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) filesize = Gtk.Button(label="Calculate") filesize.connect("clicked", self.on_clicked_filesize_button) filesize.set_tooltip_text("Click to calculate") filesize.set_hexpand(False) btn_box.pack_start(filesize, False, False, 0) return btn_box else: size_of_file = str(Util.get_filesize_format(self._filestat.st_size)) filesize = Util.create_info_label(size_of_file) filesize.set_size_request(50, 30) return filesize
def on_clicked_filesize_button(self, button): (model, treepaths) = self._treeview.get_selection().get_selected_rows() sel_iter = model.get_iter(treepaths[0]) if os.path.isdir(model[sel_iter][1]): filesize = Util.get_dir_size(model[sel_iter][1]) button.set_label(Util.get_filesize_format(filesize))