void Searches::tabSelected(QWidget* searchwidget) { if (mSearchTabWidget->currentIndex() <= 1) return; Search * uw = dynamic_cast<Search*>(searchwidget); if (uw) setSearchText(uw->query()); }
void Searches::setToken(const QString& query, uint token) { int i; for(i = 2; i < mSearchTabWidget->count(); ++i) { Search* search = dynamic_cast<Search*>(mSearchTabWidget->widget(i)); if(search && search->query() == QString(query)) { search->setToken(token); return; } } // Create the tab if it's a wishlist result if ((i == mSearchTabWidget->count()) && museeq->isInWishlist(query)) { Search* s = new Search(query, mSearchTabWidget, false); mSearchTabWidget->addTab(s, query); // Highlight the search icon so that the user know that there are some new search results connect(s, SIGNAL(highlight(int, QWidget*)), SIGNAL(highlight(int))); // Highlight the tab where we have received new search results connect(s, SIGNAL(highlight(int, QWidget*)), mSearchTabWidget, SLOT(setHighlight(int, QWidget*))); mSearchTabWidget->setCurrentWidget(s); s->setToken(token); } }
void Searches::doSearch(const QString& q) { if(q.isEmpty()) return; QString user; if (mUser->isChecked ()) { if ( mUserEntry->currentText().isEmpty() ) return; else { user = mUserEntry->currentText(); } } mEntry->setCurrentIndex(0); int i; for(i = 2; i < mSearchTabWidget->count(); ++i) { Search* search = dynamic_cast<Search*>(mSearchTabWidget->widget(i)); if(search && search->query() == q) { mSearchTabWidget->setCurrentIndex(i); break; } } if(i == mSearchTabWidget->count()) { Search* s = new Search(q, mSearchTabWidget, false); mSearchTabWidget->addTab(s, q); // Highlight the search icon so that the user know that there are some new search results connect(s, SIGNAL(highlight(int, QWidget*)), SIGNAL(highlight(int))); // Highlight the tab where we have received new search results connect(s, SIGNAL(highlight(int, QWidget*)), mSearchTabWidget, SLOT(setHighlight(int, QWidget*))); mSearchTabWidget->setCurrentWidget(s); } if(mBuddies->isChecked()) museeq->buddySearch(q); else if (mRooms->isChecked ()) museeq->roomSearch (q); else if (mGlobal->isChecked ()) museeq->search(q); else if (mUser->isChecked ()) { if ( ! user.isEmpty() ) museeq->userSearch(user, q); } else if (mWishList->isChecked ()) museeq->wishListSearch(q); }