@@ -5,15 +5,26 @@ BrowserWidget::BrowserWidget(Cef *cef,
55 QWidget *parent)
66 : QWidget(parent), cef_(cef) {
77 cef_widg_ = new CefWidget (cef, url, this );
8- connect (cef_widg_, &CefWidget::TitleChanged,
9- this , &BrowserWidget::TitleChanged);
10- connect (cef_widg_, &CefWidget::FaviconChanged,
11- this , &BrowserWidget::FaviconChanged);
12- connect (cef_widg_, &CefWidget::TabOpen,
8+ connect (cef_widg_, &CefWidget::TitleChanged, [this ](const QString &title) {
9+ current_title_ = title;
10+ emit TitleChanged ();
11+ });
12+ connect (cef_widg_, &CefWidget::FaviconChanged, [this ](const QIcon &icon) {
13+ current_favicon_ = icon;
14+ emit FaviconChanged ();
15+ });
16+ connect (cef_widg_, &CefWidget::LoadStateChanged,
17+ [this ](bool is_loading, bool can_go_back, bool can_go_forward) {
18+ loading_ = is_loading;
19+ can_go_back_ = can_go_back;
20+ can_go_forward_ = can_go_forward;
21+ emit LoadingStateChanged ();
22+ });
23+ connect (cef_widg_, &CefWidget::PageOpen,
1324 [this ](CefRequestHandler::WindowOpenDisposition type,
1425 const QString &url,
1526 bool user_gesture) {
16- emit TabOpen ((WindowOpenType) type, url, user_gesture);
27+ emit PageOpen ((WindowOpenType) type, url, user_gesture);
1728 });
1829
1930 url_edit_ = new QLineEdit (this );
@@ -67,6 +78,26 @@ void BrowserWidget::FocusBrowser() {
6778 cef_widg_->setFocus ();
6879}
6980
81+ QIcon BrowserWidget::CurrentFavicon () {
82+ return current_favicon_;
83+ }
84+
85+ QString BrowserWidget::CurrentTitle () {
86+ return current_title_;
87+ }
88+
89+ bool BrowserWidget::Loading () {
90+ return loading_;
91+ }
92+
93+ bool BrowserWidget::CanGoBack () {
94+ return can_go_back_;
95+ }
96+
97+ bool BrowserWidget::CanGoForward () {
98+ return can_go_forward_;
99+ }
100+
70101void BrowserWidget::moveEvent (QMoveEvent *) {
71102 this ->UpdateStatusBarLocation ();
72103}
0 commit comments