32 #include <QMainWindow> 36 #include <QWebEngineCookieStore> 38 #include "dooble_settings.h" 39 #include "ui_dooble.h" 40 #include "ui_dooble_floating_digital_clock.h" 42 #define DOOBLE_VERSION_STRING "2019.12.25" 45 class QWebEngineDownloadItem;
46 class QWebEngineProfile;
70 MAXIMUM_TITLE_LENGTH = 1024,
71 MAXIMUM_URL_LENGTH = 2048
75 dooble(
const QUrl &url,
bool is_private);
79 bool initialized(
void)
const;
80 bool is_private(
void)
const;
82 dooble_page *new_page(
const QUrl &url,
bool is_private);
83 static QPointer<dooble_about> s_about;
84 static QPointer<dooble_accepted_or_blocked_domains>
85 s_accepted_or_blocked_domains;
86 static QPointer<dooble_application> s_application;
87 static QPointer<dooble_certificate_exceptions> s_certificate_exceptions;
88 static QPointer<dooble_cookies> s_cookies;
89 static QPointer<dooble_cookies_window> s_cookies_window;
90 static QPointer<dooble_cryptography> s_cryptography;
91 static QPointer<dooble_downloads> s_downloads;
92 static QPointer<dooble_favorites_popup> s_favorites_window;
93 static QPointer<dooble_history> s_history;
94 static QPointer<dooble_history_window> s_history_window;
95 static QPointer<dooble_search_engines_popup> s_search_engines_window;
96 static QPointer<dooble_settings> s_settings;
97 static QPointer<dooble_web_engine_url_request_interceptor>
98 s_url_request_interceptor;
99 static QString ABOUT_BLANK;
100 void print_current_page(
void);
106 void closeEvent(QCloseEvent *event);
107 void keyPressEvent(QKeyEvent *event);
110 QDialog *m_floating_digital_clock_dialog;
111 QFuture<QList<QByteArray> > m_pbkdf2_future;
112 QFutureWatcher<QList<QByteArray> > m_pbkdf2_future_watcher;
114 QHash<QTimer *, QShortcut *> m_disabled_shortcuts;
116 QList<QPair<QPointer<dooble_page>, QUrl> > m_delayed_pages;
117 QList<QShortcut *> m_shortcuts;
118 QList<QShortcut *> m_tab_widget_shortcuts;
120 QPointer<QAction> m_action_close_tab;
121 QPointer<QAction> m_authentication_action;
122 QPointer<QAction> m_full_screen_action;
123 QPointer<QAction> m_settings_action;
124 QPointer<QProgressDialog> m_pbkdf2_dialog;
125 QPointer<QWebEngineProfile> m_web_engine_profile;
126 QPointer<dooble_cookies> m_cookies;
127 QPointer<dooble_cookies_window> m_cookies_window;
128 QTimer m_floating_digital_clock_timer;
129 QTimer m_populate_containers_timer;
131 Ui_dooble_floating_digital_clock m_floating_digital_clock_ui;
132 bool m_is_javascript_dialog;
134 static QPointer<dooble> s_favorites_popup_opened_from_dooble_window;
135 static QPointer<dooble> s_search_engines_popup_opened_from_dooble_window;
136 static bool s_containers_populated;
137 static bool cookie_filter
138 (
const QWebEngineCookieStore::FilterRequest &filter_request);
140 bool tabs_closable(
void)
const;
141 void connect_signals(
void);
142 void decouple_support_windows(
void);
143 void delayed_load(
const QUrl &url,
dooble_page *page);
144 void initialize_static_members(
void);
147 void open_tab_as_new_window(
bool is_private,
int index);
148 void prepare_control_w_shortcut(
void);
149 void prepare_icons(
void);
151 void prepare_private_web_engine_profile_settings(
void);
152 void prepare_shortcuts(
void);
153 void prepare_standard_menus(
void);
154 void prepare_style_sheets(
void);
155 void prepare_tab_icons(
void);
156 void prepare_tab_shortcuts(
void);
161 void slot_about_to_hide_main_menu(
void);
162 void slot_about_to_show_history_menu();
163 void slot_about_to_show_main_menu(
void);
164 void slot_application_locked(
bool state,
dooble *d);
165 void slot_authenticate(
void);
166 void slot_clear_history(
void);
167 void slot_clear_visited_links(
void);
168 void slot_close_tab(
void);
172 void slot_decouple_tab(
int index);
173 void slot_dooble_credentials_authenticated(
bool state);
174 void slot_download_requested(QWebEngineDownloadItem *download);
176 void slot_enable_shortcut(
void);
178 void slot_floating_digital_dialog_timeout(
void);
179 void slot_history_action_triggered(
void);
180 void slot_history_favorites_populated(
void);
181 void slot_icon_changed(
const QIcon &icon);
182 void slot_load_finished(
bool ok);
183 void slot_new_private_window(
void);
184 void slot_new_tab(
void);
185 void slot_new_window(
void);
186 void slot_open_favorites_link(
const QUrl &url);
187 void slot_open_favorites_link_in_new_tab(
const QUrl &url);
188 void slot_open_link(
const QUrl &url);
189 void slot_open_link_in_new_private_window(
const QUrl &url);
190 void slot_open_link_in_new_tab(
const QUrl &url);
191 void slot_open_link_in_new_window(
const QUrl &url);
192 void slot_open_tab_as_new_private_window(
int index);
193 void slot_open_tab_as_new_window(
int index);
194 void slot_pbkdf2_future_finished(
void);
195 void slot_populate_containers_timer_timeout(
void);
196 void slot_populated(
void);
197 void slot_print(
void);
198 void slot_print_preview(
void);
199 void slot_quit_dooble(
void);
200 void slot_reload_tab(
int index);
201 void slot_reload_tab_periodically(
int index,
int seconds);
202 void slot_remove_tab_widget_shortcut(
void);
203 void slot_save(
void);
204 void slot_set_current_tab(
void);
205 void slot_settings_applied(
void);
207 void slot_shortcut_activated(
void);
209 void slot_show_about(
void);
210 void slot_show_accepted_or_blocked_domains(
void);
211 void slot_show_certificate_exceptions(
void);
212 void slot_show_clear_items(
void);
213 void slot_show_cookies(
void);
214 void slot_show_documentation(
void);
215 void slot_show_downloads(
void);
216 void slot_show_favorites(
void);
217 void slot_show_floating_digital_clock(
void);
218 void slot_show_full_screen(
void);
219 void slot_show_history(
void);
220 void slot_show_main_menu(
void);
221 void slot_show_release_notes(
const QUrl &url);
222 void slot_show_search_engines(
void);
223 void slot_show_settings(
void);
224 void slot_show_settings_panel(dooble_settings::Panels panel);
225 void slot_show_site_cookies(
void);
226 void slot_tab_close_requested(
int index);
227 void slot_tab_index_changed(
int index);
228 void slot_tab_widget_shortcut_activated(
void);
229 void slot_tabs_menu_button_clicked(
void);
230 void slot_title_changed(
const QString &title);
231 void slot_warn_of_missing_sqlite_driver(
void);
232 void slot_window_close_requested(
void);
235 void add_session_url(
void);
236 void application_locked(
bool state,
dooble *d);
237 void dooble_credentials_authenticated(
bool state);
238 void history_cleared(
void);
Definition: dooble_cookies.h:35
Definition: dooble_page.h:47
Definition: dooble_history.h:44
Definition: dooble_cryptography.h:35
Definition: dooble_web_engine_view.h:35
Definition: dooble_web_engine_url_request_interceptor.h:34
Definition: dooble_cookies_window.h:41
Definition: dooble_accepted_or_blocked_domains.h:40
Definition: dooble_application.h:36
Definition: dooble_certificate_exceptions.h:36
Definition: dooble_downloads.h:40
Definition: dooble_history_window.h:37
Definition: dooble_about.h:132