MCPcopy Create free account
hub / github.com/LeFroid/Viper-Browser / SearchEngineLineEdit

Method SearchEngineLineEdit

src/ui/window/SearchEngineLineEdit.cpp:10–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8#include <QToolButton>
9
10SearchEngineLineEdit::SearchEngineLineEdit(QWidget *parent) :
11 QLineEdit(parent)
12{
13 // Set minimum width and size policy
14 setMinimumWidth(parent->width() / 5);
15
16 QSizePolicy policy = sizePolicy();
17 setSizePolicy(QSizePolicy::Preferred, policy.verticalPolicy());
18
19 // Setup search button
20 m_searchButton = new QToolButton(this);
21 m_searchButton->setPopupMode(QToolButton::InstantPopup);
22 m_searchButton->setCursor(Qt::ArrowCursor);
23 m_searchButton->setToolTip(tr("Choose Search Engine"));
24 m_searchButton->setStyleSheet("QToolButton { border: none; padding: 0px; background-position: left center; "
25 "background-repeat: no-repeat; background-origin: content; background-image: url(\":/search_icon.png\"); }"
26 "QToolButton::menu-indicator { subcontrol-position: bottom right; subcontrol-origin: content; top: 3px; } ");
27 m_searchButton->setFixedWidth(28);
28
29 // Set appearance
30 setStyleSheet(QString("QLineEdit { border: 1px solid #919191; border-radius: 2px; padding-left: %1px; margin-right: 3px; }"
31 "QLineEdit:focus { border: 1px solid #6c91ff; }").arg(m_searchButton->sizeHint().width() + 6));
32 setPlaceholderText(tr("Search"));
33
34 // Load search engines
35 loadSearchEngines();
36
37 // Set behavior of line edit
38 connect(this, &SearchEngineLineEdit::returnPressed, [=](){
39 QString term = text();
40 if (term.isNull() || term.isEmpty())
41 return;
42
43 HttpRequest request = SearchEngineManager::instance().getSearchRequest(term, m_currentEngineName);
44 emit requestPageLoad(request);
45 });
46
47 // Connect search engine manager's signals for search engines being added or removed to appropriate slots
48 SearchEngineManager *manager = &SearchEngineManager::instance();
49 connect(manager, &SearchEngineManager::defaultEngineChanged, this, &SearchEngineLineEdit::setSearchEngine);
50 connect(manager, &SearchEngineManager::engineAdded, this, &SearchEngineLineEdit::addSearchEngine);
51 connect(manager, &SearchEngineManager::engineRemoved, this, &SearchEngineLineEdit::removeSearchEngine);
52}
53
54void SearchEngineLineEdit::loadSearchEngines()
55{

Callers

nothing calls this directly

Calls 2

getSearchRequestMethod · 0.80
sizeHintMethod · 0.45

Tested by

no test coverage detected