33 #include <QWebEnginePage>
34 #include <QWebEngineSettings>
37 #include "dooble_settings.h"
38 #include "ui_dooble_page.h"
42 class QWebEngineSettings;
54 MAXIMUM_HISTORY_ITEMS = 10,
55 MAXIMUM_JAVASCRIPT_POPUPS = 100
62 QAction *action_close_tab(
void)
const;
63 QAction *full_screen_action(
void)
const;
64 QFrame *frame(
void)
const;
65 QIcon icon(
void)
const;
67 QString title(
void)
const;
69 QWebEngineProfile *web_engine_profile(
void)
const;
70 QWebEngineSettings *web_engine_settings(
void)
const;
71 bool can_go_back(
void)
const;
72 bool can_go_forward(
void)
const;
73 bool is_location_frame_hidden(
void)
const;
74 bool is_location_frame_user_hidden(
void)
const;
75 bool is_private(
void)
const;
78 int reload_periodically_seconds(
void)
const;
79 void download(
const QString &file_name,
const QUrl &url);
80 void enable_web_setting(QWebEngineSettings::WebAttribute setting,
82 void hide_location_frame(
bool state);
83 void hide_status_bar(
bool state);
84 void inject_custom_css(
void);
85 void load(
const QUrl &url);
86 void print_page(QPrinter *printer);
87 void print_page(QPrinter *printer,
88 const QWebEngineCallback<bool> &result_callback);
90 void reload_periodically(
int seconds);
91 void save(
const QString &file_name);
94 void user_hide_location_frame(
bool state);
97 void resizeEvent(QResizeEvent *event);
100 QLabel *m_progress_label;
101 QList<QShortcut *> m_shortcuts;
103 QPointer<QAction> m_action_close_tab;
104 QPointer<QAction> m_authentication_action;
105 QPointer<QAction> m_find_action;
106 QPointer<QAction> m_full_screen_action;
107 QPointer<QAction> m_settings_action;
108 QTimer m_reload_timer;
109 QVector<QPointer<dooble_web_engine_view> > m_last_javascript_popups;
111 bool m_is_location_frame_user_hidden;
113 dooble *find_parent_dooble(
void)
const;
115 int m_reload_periodically_seconds;
116 void find_text(QWebEnginePage::FindFlags find_flags,
const QString &text);
117 void go_to_backward_item(
int index);
118 void go_to_forward_item(
int index);
119 void prepare_icons(
void);
120 void prepare_progress_label_position(
bool process_events =
true);
121 void prepare_shortcuts(
void);
122 void prepare_standard_menus(
void);
123 void prepare_style_sheets(
void);
124 void prepare_tool_buttons(
void);
125 void reset_url(
void);
126 void show_popup_menu(
void);
129 void slot_about_to_show_standard_menus(
void);
130 void slot_accepted_or_blocked_add_exception(
void);
131 void slot_accepted_or_blocked_clicked(
void);
132 void slot_always_allow_javascript_popup(
void);
133 void slot_authentication_required(
const QUrl &url,
134 QAuthenticator *authenticator);
135 void slot_clear_visited_links(
void);
136 void slot_close_javascript_popup_exception_frame(
void);
138 void slot_dooble_credentials_authenticated(
bool state);
139 void slot_dooble_credentials_created(
void);
140 void slot_downloads_finished(
void);
141 void slot_downloads_started(
void);
142 void slot_escape(
void);
143 void slot_favorite_changed(
const QUrl &url,
bool state);
144 void slot_feature_permission_allow(
void);
145 void slot_feature_permission_deny(
void);
146 void slot_feature_permission_request_canceled
147 (
const QUrl &security_origin, QWebEnginePage::Feature feature);
148 void slot_feature_permission_requested(
const QUrl &security_origin,
149 QWebEnginePage::Feature feature);
150 void slot_find_next(
void);
151 void slot_find_previous(
void);
152 void slot_find_text_edited(
const QString &text);
153 void slot_go_backward(
void);
154 void slot_go_forward(
void);
155 void slot_go_to_backward_item(
void);
156 void slot_go_to_forward_item(
void);
157 void slot_icon_changed(
const QIcon &icon);
158 void slot_inject_custom_css(
void);
159 void slot_javascript_allow_popup_exception(
void);
160 void slot_link_hovered(
const QString &url);
161 void slot_load_finished(
bool ok);
162 void slot_load_page(
void);
163 void slot_load_progress(
int progress);
164 void slot_load_started(
void);
165 void slot_only_now_allow_javascript_popup(
void);
166 void slot_open_link(
const QUrl &url);
167 void slot_open_link(
void);
168 void slot_prepare_backward_menu(
void);
169 void slot_prepare_forward_menu(
void);
170 void slot_proxy_authentication_required(
const QUrl &url,
171 QAuthenticator *authenticator,
172 const QString &proxy_host);
173 void slot_reload(
void);
174 void slot_reload_or_stop(
void);
175 void slot_reload_periodically(
void);
176 void slot_settings_applied(
void);
177 void slot_show_certificate_exception(
void);
178 void slot_show_favorites_popup(
void);
179 void slot_show_find(
void);
180 void slot_show_popup(
void);
181 void slot_show_popup_menu(
void);
182 void slot_show_pull_down_menu(
void);
183 void slot_show_status_bar(
bool state);
184 void slot_show_web_settings_panel(
void);
185 void slot_url_changed(
const QUrl &url);
186 void slot_zoom_in(
void);
187 void slot_zoom_out(
void);
188 void slot_zoom_reset(
void);
191 void authenticate(
void);
192 void clear_downloads(
void);
193 void close_tab(
void);
197 void dooble_credentials_authenticated(
bool state);
198 void iconChanged(
const QIcon &icon);
199 void javascript_allow_popup_exception(
const QUrl &url);
200 void loadFinished(
bool ok);
201 void loadStarted(
void);
202 void new_private_window(
void);
204 void new_window(
void);
205 void open_link_in_new_private_window(
const QUrl &url);
206 void open_link_in_new_tab(
const QUrl &url);
207 void open_link_in_new_window(
const QUrl &url);
209 void print_preview(
void);
210 void quit_dooble(
void);
212 void show_about(
void);
213 void show_accepted_or_blocked_domains(
void);
214 void show_certificate_exceptions(
void);
215 void show_clear_items(
void);
216 void show_cookies(
void);
217 void show_documentation(
void);
218 void show_downloads(
void);
219 void show_favorites(
void);
220 void show_floating_digital_clock(
void);
221 void show_full_screen(
void);
222 void show_history(
void);
223 void show_release_notes(
void);
224 void show_search_engines(
void);
225 void show_settings(
void);
226 void show_settings_panel(dooble_settings::Panels panel);
227 void show_site_cookies(
void);
228 void titleChanged(
const QString &title);
229 void vacuum_databases(
void);
230 void windowCloseRequested(
void);
231 void zoomed(qreal zoom_factor);