code: def update_dataset_marker(self):
          
          start_time = self.parent.overview.start_time
  
          markers = []
          if self.parent.info.markers is not None:
              markers = self.parent.info.markers
  
          self.idx_marker.clearContents()
          self.idx_marker.setRowCount(len(markers))
  
          for i, mrk in enumerate(markers):
              abs_time = (start_time +
                          timedelta(seconds=mrk['start'])).strftime('%H:%M:%S')
              dur = timedelta(seconds=mrk['end'] - mrk['start'])
              duration = '{0:02d}.{1:03d}'.format(dur.seconds,
                                                  round(dur.microseconds / 1000))
  
              item_time = QTableWidgetItem(abs_time)
              item_duration = QTableWidgetItem(duration)
              item_name = QTableWidgetItem(mrk['name'])
  
              color = self.parent.value('marker_color')
              item_time.setForeground(QColor(color))
              item_duration.setForeground(QColor(color))
              item_name.setForeground(QColor(color))
  
              self.idx_marker.setItem(i, 0, item_time)
              self.idx_marker.setItem(i, 1, item_duration)
              self.idx_marker.setItem(i, 2, item_name)
  
          # store information about the time as list (easy to access)
          marker_start = [mrk['start'] for mrk in markers]
          marker_end = [mrk['end'] for mrk in markers]
          self.idx_marker.setProperty('start', marker_start)
          self.idx_marker.setProperty('end', marker_end)
  
          if self.parent.traces.data is not None:
              self.parent.traces.display()
          self.parent.overview.display_markers()
docs: Update markers which are in the dataset. It always updates the list
          of events. Depending on the settings, it might add the markers to
          overview and traces.