mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 10:46:35 +01:00
LocationCompleter: Properly close popup when showing search engines dialog
This commit is contained in:
parent
52076009e0
commit
3ec4d96f74
@ -30,6 +30,7 @@
|
||||
#include "qzsettings.h"
|
||||
#include "opensearchengine.h"
|
||||
#include "networkmanager.h"
|
||||
#include "searchenginesdialog.h"
|
||||
|
||||
#include <QWindow>
|
||||
|
||||
@ -142,6 +143,7 @@ void LocationCompleter::slotPopupClosed()
|
||||
disconnect(s_view, SIGNAL(indexShiftActivated(QModelIndex)), this, SLOT(indexShiftActivated(QModelIndex)));
|
||||
disconnect(s_view, SIGNAL(indexDeleteRequested(QModelIndex)), this, SLOT(indexDeleteRequested(QModelIndex)));
|
||||
disconnect(s_view, &LocationCompleterView::loadRequested, this, &LocationCompleter::loadRequested);
|
||||
disconnect(s_view, &LocationCompleterView::searchEnginesDialogRequested, this, &LocationCompleter::openSearchEnginesDialog);
|
||||
disconnect(s_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(currentChanged(QModelIndex)));
|
||||
|
||||
emit popupClosed();
|
||||
@ -348,6 +350,15 @@ void LocationCompleter::loadRequest(const LoadRequest &request)
|
||||
emit loadRequested(request);
|
||||
}
|
||||
|
||||
void LocationCompleter::openSearchEnginesDialog()
|
||||
{
|
||||
// Clear locationbar
|
||||
emit clearCompletion();
|
||||
|
||||
SearchEnginesDialog *dialog = new SearchEnginesDialog(m_window);
|
||||
dialog->open();
|
||||
}
|
||||
|
||||
void LocationCompleter::showPopup()
|
||||
{
|
||||
Q_ASSERT(m_window);
|
||||
@ -376,6 +387,7 @@ void LocationCompleter::showPopup()
|
||||
connect(s_view, SIGNAL(indexShiftActivated(QModelIndex)), this, SLOT(indexShiftActivated(QModelIndex)));
|
||||
connect(s_view, SIGNAL(indexDeleteRequested(QModelIndex)), this, SLOT(indexDeleteRequested(QModelIndex)));
|
||||
connect(s_view, &LocationCompleterView::loadRequested, this, &LocationCompleter::loadRequested);
|
||||
connect(s_view, &LocationCompleterView::searchEnginesDialogRequested, this, &LocationCompleter::openSearchEnginesDialog);
|
||||
connect(s_view->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(currentChanged(QModelIndex)));
|
||||
|
||||
s_view->createWinId();
|
||||
|
@ -70,6 +70,7 @@ private:
|
||||
LoadRequest createLoadRequest(const QModelIndex &index);
|
||||
void switchToTab(BrowserWindow* window, int tab);
|
||||
void loadRequest(const LoadRequest &reqeust);
|
||||
void openSearchEnginesDialog();
|
||||
|
||||
void showPopup();
|
||||
void adjustPopupSize();
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include "toolbutton.h"
|
||||
#include "iconprovider.h"
|
||||
#include "mainapplication.h"
|
||||
#include "searchenginesdialog.h"
|
||||
#include "searchenginesmanager.h"
|
||||
#include "loadrequest.h"
|
||||
|
||||
@ -73,7 +72,7 @@ LocationCompleterView::LocationCompleterView()
|
||||
searchSettingsButton->setToolTip(tr("Manage Search Engines"));
|
||||
searchSettingsButton->setAutoRaise(true);
|
||||
searchSettingsButton->setIconSize(QSize(16, 16));
|
||||
connect(searchSettingsButton, &ToolButton::clicked, this, &LocationCompleterView::openSearchEnginesDialog);
|
||||
connect(searchSettingsButton, &ToolButton::clicked, this, &LocationCompleterView::searchEnginesDialogRequested);
|
||||
|
||||
QLabel *searchLabel = new QLabel(tr("Search with:"));
|
||||
m_searchEnginesLayout = new QHBoxLayout();
|
||||
@ -396,9 +395,3 @@ void LocationCompleterView::setupSearchEngines()
|
||||
m_searchEnginesLayout->addWidget(button);
|
||||
}
|
||||
}
|
||||
|
||||
void LocationCompleterView::openSearchEnginesDialog()
|
||||
{
|
||||
SearchEnginesDialog *dialog = new SearchEnginesDialog(focusProxy());
|
||||
dialog->open();
|
||||
}
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
|
||||
signals:
|
||||
void closed();
|
||||
void searchEnginesDialogRequested();
|
||||
void loadRequested(const LoadRequest &request);
|
||||
|
||||
void indexActivated(const QModelIndex &index);
|
||||
|
Loading…
Reference in New Issue
Block a user