33 #include <QWebEnginePage>
34 #include <QWebEngineSettings>
37 #include "dooble_settings.h"
38 #include "ui_dooble_page.h"
42 class QWebEngineSettings;
54 enum class ConstantsEnum
56 MAXIMUM_HISTORY_ITEMS = 10,
57 MAXIMUM_JAVASCRIPT_POPUPS = 100
64 QAction *action_close_tab(
void)
const;
65 QAction *full_screen_action(
void)
const;
66 QFrame *frame(
void)
const;
67 QIcon icon(
void)
const;
69 QString title(
void)
const;
71 QWebEngineProfile *web_engine_profile(
void)
const;
72 QWebEngineSettings *web_engine_settings(
void)
const;
73 bool can_go_back(
void)
const;
74 bool can_go_forward(
void)
const;
75 bool is_location_frame_hidden(
void)
const;
76 bool is_location_frame_user_hidden(
void)
const;
77 bool is_private(
void)
const;
81 int reload_periodically_seconds(
void)
const;
82 void download(
const QString &file_name,
const QUrl &url);
83 void enable_web_setting(QWebEngineSettings::WebAttribute setting,
85 void hide_location_frame(
bool state);
86 void hide_status_bar(
bool state);
87 void inject_custom_css(
void);
88 void load(
const QUrl &url);
89 void prepare_export_as_png(
const QString &file_name);
90 void print_page(QPrinter *printer);
91 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
92 void print_page(QPrinter *printer,
93 const QWebEngineCallback<bool> &result_callback);
96 void reload_periodically(
int seconds);
97 void save(
const QString &file_name);
100 void user_hide_location_frame(
bool state);
103 void resizeEvent(QResizeEvent *event);
106 QLabel *m_progress_label;
107 QList<QPixmap> m_pixmaps;
108 QList<QShortcut *> m_shortcuts;
110 QPointer<QAction> m_action_close_tab;
111 QPointer<QAction> m_authentication_action;
112 QPointer<QAction> m_find_action;
113 QPointer<QAction> m_full_screen_action;
114 QPointer<QAction> m_settings_action;
115 QPointer<QProgressDialog> m_export_as_png_progress_dialog;
116 QString m_export_png_file_name;
117 QTimer m_export_png_timer;
118 QTimer m_reload_timer;
119 QVector<QPointer<dooble_web_engine_view> > m_last_javascript_popups;
121 bool m_export_as_png;
122 bool m_is_location_frame_user_hidden;
124 dooble *find_parent_dooble(
void)
const;
127 int m_reload_periodically_seconds;
128 void find_text(QWebEnginePage::FindFlags find_flags,
const QString &text);
129 void go_to_backward_item(
int index);
130 void go_to_forward_item(
int index);
131 void prepare_icons(
void);
132 void prepare_progress_label_position(
bool process_events =
true);
133 void prepare_shortcuts(
void);
134 void prepare_standard_menus(
void);
135 void prepare_style_sheets(
void);
136 void prepare_tool_buttons(
void);
137 void prepare_zoom_toolbutton(qreal zoom_factor);
138 void reset_url(
void);
139 void show_popup_menu(
void);
142 void slot_about_to_show_standard_menus(
void);
143 void slot_about_to_show_view_menu(
void);
144 void slot_accepted_or_blocked_add_exception(
void);
145 void slot_accepted_or_blocked_clicked(
void);
146 void slot_always_allow_javascript_popup(
void);
147 void slot_authentication_required(
const QUrl &url,
148 QAuthenticator *authenticator);
149 void slot_clear_visited_links(
void);
150 void slot_close_javascript_popup_exception_frame(
void);
152 void slot_current_url_executable(
void);
153 void slot_dooble_credentials_authenticated(
bool state);
154 void slot_dooble_credentials_created(
void);
155 void slot_downloads_finished(
void);
156 void slot_downloads_started(
void);
157 void slot_enable_javascript(
void);
158 void slot_escape(
void);
159 void slot_export_as_png_timer_timeout(
void);
160 void slot_favorite_changed(
const QUrl &url,
bool state);
161 void slot_feature_permission_allow(
void);
162 void slot_feature_permission_deny(
void);
163 void slot_feature_permission_request_canceled
164 (
const QUrl &security_origin, QWebEnginePage::Feature feature);
165 void slot_feature_permission_requested(
const QUrl &security_origin,
166 QWebEnginePage::Feature feature);
167 void slot_find_next(
void);
168 void slot_find_previous(
void);
169 void slot_find_text_edited(
const QString &text);
170 void slot_go_backward(
void);
171 void slot_go_forward(
void);
172 void slot_go_home(
void);
173 void slot_go_to_backward_item(
void);
174 void slot_go_to_forward_item(
void);
175 void slot_icon_changed(
const QIcon &icon);
176 void slot_inject_custom_css(
void);
177 void slot_javascript_allow_popup_exception(
void);
178 void slot_link_hovered(
const QString &url);
179 void slot_load_finished(
bool ok);
180 void slot_load_page(
void);
181 void slot_load_progress(
int progress);
182 void slot_load_started(
void);
183 void slot_loading(
const QUrl &url);
184 #if (QT_VERSION >= QT_VERSION_CHECK(6, 2, 0))
185 void slot_loading_changed(
const QWebEngineLoadingInfo &info);
187 void slot_only_now_allow_javascript_popup(
void);
188 void slot_open_link(
const QUrl &url);
189 void slot_open_link(
void);
190 void slot_prepare_backward_menu(
void);
191 void slot_prepare_forward_menu(
void);
192 void slot_proxy_authentication_required(
const QUrl &url,
193 QAuthenticator *authenticator,
194 const QString &proxy_host);
195 void slot_reload(
void);
196 void slot_reload_or_stop(
void);
197 void slot_reload_periodically(
void);
198 void slot_render_pixmap(
void);
199 void slot_scroll_position_changed(
const QPointF &position);
200 void slot_scroll_to_top_finished(
void);
201 void slot_settings_applied(
void);
202 void slot_show_certificate_exception(
void);
203 void slot_show_favorites_popup(
void);
204 void slot_show_find(
void);
205 void slot_show_popup(
void);
206 void slot_show_popup_menu(
void);
207 void slot_show_pull_down_menu(
void);
208 void slot_show_status_bar(
bool state);
209 void slot_show_web_settings_panel(
void);
210 void slot_url_changed(
const QUrl &url);
211 void slot_zoom_in(
void);
212 void slot_zoom_out(
void);
213 void slot_zoom_reset(
void);
214 void slot_zoomed(
void);
217 void authenticate(
void);
218 void clear_downloads(
void);
219 void close_tab(
void);
220 void close_window(
void);
224 void dooble_credentials_authenticated(
bool state);
225 void export_as_png(
void);
226 void iconChanged(
const QIcon &icon);
227 void javascript_allow_popup_exception(
const QUrl &url);
228 void loadFinished(
bool ok);
229 void loadStarted(
void);
230 void new_private_window(
void);
232 void new_window(
void);
233 void open_link_in_new_private_window(
const QUrl &url);
234 void open_link_in_new_tab(
const QUrl &url);
235 void open_link_in_new_window(
const QUrl &url);
236 void open_local_file(
void);
237 void peekaboo_text(
const QString &text);
239 void print_preview(
void);
240 void quit_dooble(
void);
242 void show_about(
void);
243 void show_accepted_or_blocked_domains(
void);
244 void show_certificate_exceptions(
void);
245 void show_chart_xyseries(
void);
246 void show_clear_items(
void);
247 void show_cookies(
void);
248 void show_documentation(
void);
249 void show_downloads(
void);
250 void show_favorites(
void);
251 void show_floating_digital_clock(
void);
252 void show_floating_history_popup(
void);
253 void show_floating_menu(
void);
254 void show_full_screen(
bool state);
255 void show_full_screen(
void);
256 void show_history(
void);
257 void show_release_notes(
void);
258 void show_search_engines(
void);
259 void show_settings(
void);
260 void show_settings_panel(dooble_settings::Panels panel);
261 void show_site_cookies(
void);
262 void titleChanged(
const QString &title);
263 void vacuum_databases(
void);
264 void windowCloseRequested(
void);
265 void zoomed(qreal zoom_factor);
Definition: dooble_page.h:50
Definition: dooble_web_engine_view.h:37