|
24 | 24 | #include <QWebEngineProfileBuilder> |
25 | 25 | #endif |
26 | 26 | #include <QLoggingCategory> |
27 | | -#include "FrmWebBrowser.h" |
| 27 | + |
28 | 28 | #include "RabbitCommonDir.h" |
29 | 29 | #include "RabbitCommonTools.h" |
30 | 30 | #include "FrmPopup.h" |
|
34 | 34 | #include "AutoCompleteLineEdit.h" |
35 | 35 | #include "FrmBookmark.h" |
36 | 36 | #include "FrmAddBookmark.h" |
| 37 | +#include "DlgSettings.h" |
| 38 | +#include "FrmWebBrowser.h" |
37 | 39 |
|
38 | 40 | static Q_LOGGING_CATEGORY(log, "WebBrowser.Browser") |
39 | 41 | CFrmWebBrowser::CFrmWebBrowser(CParameterWebBrowser *pPara, bool bMenuBar, QWidget *parent) |
@@ -181,6 +183,18 @@ CFrmWebBrowser::CFrmWebBrowser(CParameterWebBrowser *pPara, bool bMenuBar, QWidg |
181 | 183 | } |
182 | 184 | }); |
183 | 185 | Q_ASSERT(check); |
| 186 | + check = connect(pAddressCompleter, &CAddressCompleter::sigCommand, |
| 187 | + this, [&](const QString& cmd) { |
| 188 | + if(cmd.startsWith("@setting")) { |
| 189 | + CDlgSettings dlg(m_pPara); |
| 190 | + RC_SHOW_WINDOW(&dlg); |
| 191 | + } else if(cmd.startsWith("@history")) { |
| 192 | + slotHistory(); |
| 193 | + } else if(cmd.startsWith("@bookmark")) { |
| 194 | + slotBookmark(); |
| 195 | + } |
| 196 | + }); |
| 197 | + Q_ASSERT(check); |
184 | 198 |
|
185 | 199 | m_pAddBookmark = m_pToolBar->addAction( |
186 | 200 | QIcon::fromTheme("user-bookmarks"), |
@@ -773,42 +787,8 @@ int CFrmWebBrowser::InitMenu(QMenu *pMenu) |
773 | 787 | pMenuBookmark->setIcon(QIcon::fromTheme("user-bookmarks")); |
774 | 788 | pMenu->addMenu(pMenuBookmark); |
775 | 789 | pMenuBookmark->addAction(m_pAddBookmark); |
776 | | - pMenuBookmark->addAction(tr("Manage Bookmark "), this, [&]{ |
777 | | - CFrmBookmark* pBookmark = new CFrmBookmark(m_pPara); |
778 | | - if(!pBookmark) return; |
779 | | - pBookmark->setAttribute(Qt::WA_DeleteOnClose); |
780 | | - connect(this, &CFrmWebBrowser::destroyed, pBookmark, &CFrmBookmark::close); |
781 | | - connect(pBookmark, &CFrmBookmark::openUrlRequested, this, [&](const QString& url) { |
782 | | - CFrmWebView* pWeb = CurrentView(); |
783 | | - if(!pWeb) { |
784 | | - pWeb = qobject_cast<CFrmWebView*>(CreateWindow(QWebEnginePage::WebBrowserTab)); |
785 | | - } |
786 | | - if(pWeb) |
787 | | - pWeb->load(url); |
788 | | - }); |
789 | | - RC_SHOW_WINDOW(pBookmark); |
790 | | - }); |
791 | | - pMenu->addAction(tr("History"), this, [&]() { |
792 | | - CFrmHistory* pHistory = new CFrmHistory(m_pPara); |
793 | | - if(!pHistory) return; |
794 | | - pHistory->setAttribute(Qt::WA_DeleteOnClose); |
795 | | - connect(this, &CFrmWebBrowser::destroyed, pHistory, &CFrmHistory::close); |
796 | | - connect(pHistory, &CFrmHistory::sigOpenUrl, this, [&](const QString& url) { |
797 | | - CFrmWebView* pWeb = CurrentView(); |
798 | | - if(!pWeb) { |
799 | | - pWeb = qobject_cast<CFrmWebView*>(CreateWindow(QWebEnginePage::WebBrowserTab)); |
800 | | - } |
801 | | - if(pWeb) |
802 | | - pWeb->load(url); |
803 | | - }); |
804 | | - connect(pHistory, &CFrmHistory::sigOpenUrlInNewTab, |
805 | | - this, [&](const QString& url) { |
806 | | - auto pWeb = qobject_cast<CFrmWebView*>(CreateWindow(QWebEnginePage::WebBrowserTab)); |
807 | | - if(pWeb) |
808 | | - pWeb->load(url); |
809 | | - }); |
810 | | - RC_SHOW_WINDOW(pHistory); |
811 | | - }); |
| 790 | + pMenuBookmark->addAction(tr("Manage Bookmark "), this, &CFrmWebBrowser::slotBookmark); |
| 791 | + pMenu->addAction(tr("History"), this, &CFrmWebBrowser::slotHistory); |
812 | 792 |
|
813 | 793 | pMenu->addSeparator(); |
814 | 794 | m_pCapturePage = pMenu->addAction( |
@@ -1300,3 +1280,43 @@ void CFrmWebBrowser::slotAddBookmark() |
1300 | 1280 | Q_ASSERT(check); |
1301 | 1281 | RC_SHOW_WINDOW(pAdd); |
1302 | 1282 | } |
| 1283 | + |
| 1284 | +void CFrmWebBrowser::slotBookmark() |
| 1285 | +{ |
| 1286 | + CFrmBookmark* pBookmark = new CFrmBookmark(m_pPara); |
| 1287 | + if(!pBookmark) return; |
| 1288 | + pBookmark->setAttribute(Qt::WA_DeleteOnClose); |
| 1289 | + connect(this, &CFrmWebBrowser::destroyed, pBookmark, &CFrmBookmark::close); |
| 1290 | + connect(pBookmark, &CFrmBookmark::openUrlRequested, this, [&](const QString& url) { |
| 1291 | + CFrmWebView* pWeb = CurrentView(); |
| 1292 | + if(!pWeb) { |
| 1293 | + pWeb = qobject_cast<CFrmWebView*>(CreateWindow(QWebEnginePage::WebBrowserTab)); |
| 1294 | + } |
| 1295 | + if(pWeb) |
| 1296 | + pWeb->load(url); |
| 1297 | + }); |
| 1298 | + RC_SHOW_WINDOW(pBookmark); |
| 1299 | +} |
| 1300 | + |
| 1301 | +void CFrmWebBrowser::slotHistory() |
| 1302 | +{ |
| 1303 | + CFrmHistory* pHistory = new CFrmHistory(m_pPara); |
| 1304 | + if(!pHistory) return; |
| 1305 | + pHistory->setAttribute(Qt::WA_DeleteOnClose); |
| 1306 | + connect(this, &CFrmWebBrowser::destroyed, pHistory, &CFrmHistory::close); |
| 1307 | + connect(pHistory, &CFrmHistory::sigOpenUrl, this, [&](const QString& url) { |
| 1308 | + CFrmWebView* pWeb = CurrentView(); |
| 1309 | + if(!pWeb) { |
| 1310 | + pWeb = qobject_cast<CFrmWebView*>(CreateWindow(QWebEnginePage::WebBrowserTab)); |
| 1311 | + } |
| 1312 | + if(pWeb) |
| 1313 | + pWeb->load(url); |
| 1314 | + }); |
| 1315 | + connect(pHistory, &CFrmHistory::sigOpenUrlInNewTab, |
| 1316 | + this, [&](const QString& url) { |
| 1317 | + auto pWeb = qobject_cast<CFrmWebView*>(CreateWindow(QWebEnginePage::WebBrowserTab)); |
| 1318 | + if(pWeb) |
| 1319 | + pWeb->load(url); |
| 1320 | + }); |
| 1321 | + RC_SHOW_WINDOW(pHistory); |
| 1322 | +} |
0 commit comments