    QList<mismatched_struct> calcBits(uint8_t bus, int bit_to_find, int min_msgs_cnt);
    void find();
  
    QTableWidget *table;
    QComboBox *bus_combo, *bit_combo;
    QPushButton *search_btn;
    QLineEdit *min_msgs;
  };
 
</s> remove   QList<mismatched_struct> calcBits(uint8_t bus, int bit_to_find, int min_msgs_cnt);
 </s> add   QList<mismatched_struct> calcBits(uint8_t bus, uint32_t selected_address, int byte_idx, int bit_idx, int min_msgs_cnt); </s> remove     uint32_t address, byte_idx, bit_idx, mismatches, total, perc;
 </s> add     uint32_t address, byte_idx, bit_idx, mismatches, total;
    float perc; </s> remove QList<FindSimilarBitsDlg::mismatched_struct> FindSimilarBitsDlg::calcBits(uint8_t bus, int bit_to_find, int min_msgs_cnt) {
 </s> add QList<FindSimilarBitsDlg::mismatched_struct> FindSimilarBitsDlg::calcBits(uint8_t bus, uint32_t selected_address, int byte_idx, int bit_idx, int min_msgs_cnt) { </s> remove   auto msg_mismatched = calcBits(bus_combo->currentText().toUInt(), bit_combo->currentIndex(), min_msgs->text().toInt());
 </s> add   uint32_t selected_address = msg_cb->currentData().toUInt();
  auto msg_mismatched = calcBits(bus_combo->currentText().toUInt(), selected_address, byte_idx_sb->value(), bit_idx_sb->value(), min_msgs->text().toInt());
  QComboBox *bus_combo, *msg_cb;
  QSpinBox *byte_idx_sb, *bit_idx_sb;
    QList<mismatched_struct> calcBits(uint8_t bus, int bit_to_find, int min_msgs_cnt);
    void find();
  
    QTableWidget *table;
  QComboBox *bus_combo, *msg_cb;
  QSpinBox *byte_idx_sb, *bit_idx_sb;
    QPushButton *search_btn;
    QLineEdit *min_msgs;
  };
keep keep keep keep replace keep keep keep
 cabana: fix find similar bits (#26918)

* dynamic find bit

* change

* Revert "change"

This reverts commit 12cf513e2725a52ee40b8999521adcd6ecb00221.

* change sorting and headers

* make perc a float

Co-authored-by: Shane Smiskol <shane@smiskol.com> 
tools/cabana/tools/findsimilarbits.h