docs: def smartResizeColumnsToContents( self ):
          """
          Resizes the columns to the contents based on the user preferences.
          """
          self.blockSignals(True)
          self.setUpdatesEnabled(False)
          
          header = self.header()
          header.blockSignals(True)
          
          columns = range(self.columnCount())
          sizes = [self.columnWidth(c) for c in columns]
          header.resizeSections(header.ResizeToContents)
          
          for col in columns:
              width = self.columnWidth(col)
              if ( width < sizes[col] ):
                  self.setColumnWidth(col, sizes[col])
          
          header.blockSignals(False)
          
          self.setUpdatesEnabled(True)
          self.blockSignals(False)