Example #1
0
// ------------------------------------------------------------------------------
int ctkSearchBoxTest2(int argc, char* argv[])
{
  QApplication app(argc, argv);

  QStringList stringList;
  stringList<<"totoa"<<"TOTOaa"<<"tic"<<"tac"<<"nice"<<"slicer"<<"monday"<<"july"<<"phone";

  ctkSearchBox search3;
  search3.show();

  search3.setText("phone");

  QRegExp regExp(search3.text(),Qt::CaseInsensitive, QRegExp::Wildcard);

  //QStringList testFilter = stringList.filter(search3.text());
  QStringList testFilter = stringList.filter(regExp);
  qDebug() << "Result of Test Filter : " << testFilter;

  if (testFilter.size() >= stringList.size())
    {
    qDebug() << "Line : " << __LINE__<< " error with the filter : " << search3.text();
    }

  QStringListModel listModel(stringList);

  QSortFilterProxyModel filterModel;
  filterModel.setSourceModel(&listModel);
  filterModel.setFilterCaseSensitivity(Qt::CaseInsensitive);
  filterModel.setFilterWildcard(search3.text());

  QObject::connect(&search3, SIGNAL(textChanged(QString)),
                   &filterModel, SLOT(setFilterWildcard(QString)));

  QListView listView;
  listView.setModel(&filterModel);
  listView.show();

  if (argc < 2 || QString(argv[1]) != "-I" )
    {
    QTimer::singleShot(200, &app, SLOT(quit()));
    }

  return app.exec();
}