use another thread to update progress bar
table view double click callback
XFTableView inherits NSTableView to handle key and mouse events