void searchhandler::init(void) { m_completer->setModelSorting(QCompleter::CaseSensitivelySortedModel); m_completer->setCaseSensitivity(Qt::CaseInsensitive); m_comboBoxSearch->lineEdit()->setCompleter(m_completer); m_comboBoxSearch->setInsertPolicy(QComboBox::NoInsert); retranslateUi(); m_pushButtonSearchPrev->setEnabled(false); m_pushButtonSearchNext->setEnabled(false); connect(m_pushButtonOpenDB, SIGNAL(clicked(bool)), this, SLOT(OpenDB_ButtonClick(bool))); connect(m_pushButtonSearch, SIGNAL(clicked(bool)), this, SLOT(Search_ButtonClick(bool))); connect(m_pushButtonClipSearch, SIGNAL(clicked(bool)), this, SLOT(ClipSearch_ButtonClick(bool))); connect(m_pushButtonGraph, SIGNAL(clicked(bool)), this, SLOT(Graph_ButtonClick(bool))); connect(m_comboBoxSearch->lineEdit(), SIGNAL(returnPressed()), this, SLOT(Search_EnterKeyPressed())); connect(m_comboBoxSearch->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(searchTextEdited(QString))); connect(m_comboBoxDB, SIGNAL(currentIndexChanged(int)), this, SLOT(OpenDB_indexChanged(int))); connect(m_comboBoxQueryType, SIGNAL(currentIndexChanged(int)), this, SLOT(QueryType_indexChanged(int))); connect(m_checkBoxAutoComplete, SIGNAL(stateChanged(int)), this, SLOT(autoCompleteStateChanged(int))); connect(m_pushButtonSearchPrev, SIGNAL(clicked(bool)), this, SLOT(PrevSearch_ButtonClick(bool))); connect(m_pushButtonSearchNext, SIGNAL(clicked(bool)), this, SLOT(NextSearch_ButtonClick(bool))); connect(&m_autocompFutureWatcher, SIGNAL(finished()), this, SLOT(autoCompleteFinished())); }
SearchWidget::SearchWidget(MainWindow *mainWindow) : QWidget(mainWindow) , m_ui(new Ui::SearchWidget()) , m_mainWindow(mainWindow) , m_isNewQueryString(false) , m_noSearchResults(true) { m_ui->setupUi(this); QString searchPatternHint; QTextStream stream(&searchPatternHint, QIODevice::WriteOnly); stream << "<html><head/><body><p>" << tr("A phrase to search for.") << "<br>" << tr("Spaces in a search term may be protected by double quotes.") << "</p><p>" << tr("Example:", "Search phrase example") << "<br>" << tr("<b>foo bar</b>: search for <b>foo</b> and <b>bar</b>", "Search phrase example, illustrates quotes usage, a pair of " "space delimited words, individal words are highlighted") << "<br>" << tr("<b>"foo bar"</b>: search for <b>foo bar</b>", "Search phrase example, illustrates quotes usage, double quoted" "pair of space delimited words, the whole pair is highlighted") << "</p></body></html>" << flush; m_ui->m_searchPattern->setToolTip(searchPatternHint); // Icons m_ui->searchButton->setIcon(GuiIconProvider::instance()->getIcon("edit-find")); m_ui->downloadButton->setIcon(GuiIconProvider::instance()->getIcon("download")); m_ui->goToDescBtn->setIcon(GuiIconProvider::instance()->getIcon("application-x-mswinurl")); m_ui->pluginsButton->setIcon(GuiIconProvider::instance()->getIcon("preferences-system-network")); m_ui->copyURLBtn->setIcon(GuiIconProvider::instance()->getIcon("edit-copy")); connect(m_ui->tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int))); m_searchEngine = new SearchEngine; connect(m_searchEngine, SIGNAL(searchStarted()), SLOT(searchStarted())); connect(m_searchEngine, SIGNAL(newSearchResults(QList<SearchResult>)), SLOT(appendSearchResults(QList<SearchResult>))); connect(m_searchEngine, SIGNAL(searchFinished(bool)), SLOT(searchFinished(bool))); connect(m_searchEngine, SIGNAL(searchFailed()), SLOT(searchFailed())); connect(m_searchEngine, SIGNAL(torrentFileDownloaded(QString)), SLOT(addTorrentToSession(QString))); // Fill in category combobox fillCatCombobox(); fillPluginComboBox(); connect(m_ui->m_searchPattern, SIGNAL(returnPressed()), m_ui->searchButton, SLOT(click())); connect(m_ui->m_searchPattern, SIGNAL(textEdited(QString)), this, SLOT(searchTextEdited(QString))); connect(m_ui->selectPlugin, SIGNAL(currentIndexChanged(int)), this, SLOT(selectMultipleBox(int))); }
/*SEARCH ENGINE START*/ SearchEngine::SearchEngine(MainWindow* parent) : QWidget(parent) , search_pattern(new LineEdit) , mp_mainWindow(parent) { setupUi(this); searchBarLayout->insertWidget(0, search_pattern); connect(search_pattern, SIGNAL(returnPressed()), search_button, SLOT(click())); // Icons search_button->setIcon(IconProvider::instance()->getIcon("edit-find")); download_button->setIcon(IconProvider::instance()->getIcon("download")); goToDescBtn->setIcon(IconProvider::instance()->getIcon("application-x-mswinurl")); enginesButton->setIcon(IconProvider::instance()->getIcon("preferences-system-network")); tabWidget->setTabsClosable(true); connect(tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int))); // Boolean initialization search_stopped = false; // Creating Search Process #ifdef Q_WS_WIN has_python = addPythonPathToEnv(); #endif searchProcess = new QProcess(this); searchProcess->setEnvironment(QProcess::systemEnvironment()); connect(searchProcess, SIGNAL(started()), this, SLOT(searchStarted())); connect(searchProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readSearchOutput())); connect(searchProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(searchFinished(int,QProcess::ExitStatus))); connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(tab_changed(int))); searchTimeout = new QTimer(this); searchTimeout->setSingleShot(true); connect(searchTimeout, SIGNAL(timeout()), this, SLOT(on_search_button_clicked())); // Update nova.py search plugin if necessary updateNova(); supported_engines = new SupportedEngines( #ifdef Q_WS_WIN has_python #endif ); // Fill in category combobox fillCatCombobox(); connect(search_pattern, SIGNAL(textEdited(QString)), this, SLOT(searchTextEdited(QString))); }