@@ -41,6 +41,11 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
41
41
close_current_tab_action->setShortcut (QKeySequence (QKeySequence::Close));
42
42
menu->addAction (close_current_tab_action);
43
43
44
+ auto * open_file_action = new QAction (" &Open File..." );
45
+ open_file_action->setIcon (QIcon (QString (" %1/res/icons/16x16/filetype-folder-open.png" ).arg (s_serenity_resource_root.characters ())));
46
+ open_file_action->setShortcut (QKeySequence (QKeySequence::Open)); // "Ctrl+O"
47
+ menu->addAction (open_file_action);
48
+
44
49
menu->addSeparator ();
45
50
46
51
auto * save_as_action = new QAction (" &Save As" );
@@ -143,6 +148,7 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
143
148
144
149
auto * document_info_action = new QAction (" Document &Info" );
145
150
document_info_action->setIcon (QIcon (QString (" %1/res/icons/16x16/app-text-editor.png" ).arg (s_serenity_resource_root.characters ())));
151
+ document_info_action->setShortcut (QKeySequence (" Ctrl+I" ));
146
152
document_info_action->setEnabled (false );
147
153
view_menu->addAction (document_info_action);
148
154
@@ -182,11 +188,13 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
182
188
183
189
auto * go_home_action = new QAction (" Home" );
184
190
go_home_action->setIcon (QIcon (QString (" %1/res/icons/16x16/go-home.png" ).arg (s_serenity_resource_root.characters ())));
191
+ go_home_action->setShortcut (QKeySequence (" Alt+Home" )); // "Alt+Home"
185
192
go_menu->addAction (go_home_action);
186
193
QObject::connect (go_home_action, &QAction::triggered, this , &BrowserWindow::go_home);
187
194
188
195
auto * go_reload_action = new QAction (" Reload" );
189
196
go_reload_action->setIcon (QIcon (QString (" %1/res/icons/16x16/reload.png" ).arg (s_serenity_resource_root.characters ())));
197
+ go_reload_action->setShortcut (QKeySequence (QKeySequence::Refresh)); // "F5"
190
198
go_menu->addAction (go_reload_action);
191
199
QObject::connect (go_reload_action, &QAction::triggered, this , &BrowserWindow::go_reload);
192
200
@@ -204,56 +212,63 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
204
212
205
213
auto * dump_dom_tree_action = new QAction (" Dump DOM Tree" );
206
214
dump_dom_tree_action->setIcon (QIcon (QString (" %1/res/icons/browser/dom-tree.png" ).arg (s_serenity_resource_root.characters ())));
215
+ dump_dom_tree_action->setShortcut (QKeySequence (" Shift+Alt+1" ));
207
216
options_menu->addAction (dump_dom_tree_action);
208
217
QObject::connect (dump_dom_tree_action, &QAction::triggered, this , [this ] {
209
218
debug_request (" dump-dom-tree" );
210
219
});
211
220
212
221
auto * dump_layout_tree_action = new QAction (" Dump Layout Tree" );
213
222
dump_layout_tree_action->setIcon (QIcon (QString (" %1/res/icons/16x16/layout.png" ).arg (s_serenity_resource_root.characters ())));
223
+ dump_layout_tree_action->setShortcut (QKeySequence (" Shift+Alt+2" ));
214
224
options_menu->addAction (dump_layout_tree_action);
215
225
QObject::connect (dump_layout_tree_action, &QAction::triggered, this , [this ] {
216
226
debug_request (" dump-layout-tree" );
217
227
});
218
228
219
229
auto * dump_stacking_context_tree_action = new QAction (" Dump Stacking Context Tree" );
220
230
dump_stacking_context_tree_action->setIcon (QIcon (QString (" %1/res/icons/16x16/layers.png" ).arg (s_serenity_resource_root.characters ())));
231
+ dump_stacking_context_tree_action->setShortcut (QKeySequence (" Shift+Alt+3" ));
221
232
options_menu->addAction (dump_stacking_context_tree_action);
222
233
QObject::connect (dump_stacking_context_tree_action, &QAction::triggered, this , [this ] {
223
234
debug_request (" dump-stacking-context-tree" );
224
235
});
225
236
226
237
auto * dump_style_sheets_action = new QAction (" Dump Style Sheets" );
227
238
dump_style_sheets_action->setIcon (QIcon (QString (" %1/res/icons/16x16/filetype-css.png" ).arg (s_serenity_resource_root.characters ())));
239
+ dump_style_sheets_action->setShortcut (QKeySequence (" Shift+Alt+4" ));
228
240
options_menu->addAction (dump_style_sheets_action);
229
241
QObject::connect (dump_style_sheets_action, &QAction::triggered, this , [this ] {
230
242
debug_request (" dump-style-sheets" );
231
243
});
232
244
233
245
auto * dump_history_action = new QAction (" Dump History" );
234
246
dump_history_action->setIcon (QIcon (QString (" %1/res/icons/16x16/history.png" ).arg (s_serenity_resource_root.characters ())));
247
+ dump_history_action->setShortcut (QKeySequence (" Shift+Alt+5" ));
235
248
options_menu->addAction (dump_history_action);
236
249
QObject::connect (dump_history_action, &QAction::triggered, this , [this ] {
237
250
debug_request (" dump-history" );
238
251
});
239
252
240
253
auto * dump_cookies_action = new QAction (" Dump Cookies" );
241
254
dump_cookies_action->setIcon (QIcon (QString (" %1/res/icons/browser/cookie.png" ).arg (s_serenity_resource_root.characters ())));
255
+ dump_cookies_action->setShortcut (QKeySequence (" Shift+Alt+6" ));
242
256
options_menu->addAction (dump_cookies_action);
243
257
QObject::connect (dump_cookies_action, &QAction::triggered, this , [this ] {
244
258
debug_request (" dump-cookies" );
245
259
});
246
260
247
261
auto * dump_local_storage_action = new QAction (" Dump Local Storage" );
248
262
dump_local_storage_action->setIcon (QIcon (QString (" %1/res/icons/browser/local-storage.png" ).arg (s_serenity_resource_root.characters ())));
263
+ dump_local_storage_action->setShortcut (QKeySequence (" Shift+Alt+7" ));
249
264
options_menu->addAction (dump_local_storage_action);
250
265
QObject::connect (dump_local_storage_action, &QAction::triggered, this , [this ] {
251
266
debug_request (" dump-local-storage" );
252
267
});
253
268
254
269
options_menu->addSeparator ();
255
270
256
- auto * show_line_box_borders_action = new QAction (" Show Line Box Borders" );
271
+ auto * show_line_box_borders_action = new QAction (" Show Line & Box Borders" );
257
272
show_line_box_borders_action->setCheckable (true );
258
273
options_menu->addAction (show_line_box_borders_action);
259
274
QObject::connect (show_line_box_borders_action, &QAction::triggered, this , [this , show_line_box_borders_action] {
@@ -263,14 +278,14 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
263
278
264
279
options_menu->addSeparator ();
265
280
266
- auto * collect_garbage_action = new QAction (" Collect Garbage!! " );
281
+ auto * collect_garbage_action = new QAction (" Collect & Garbage" );
267
282
collect_garbage_action->setIcon (QIcon (QString (" %1/res/icons/16x16/trash-can.png" ).arg (s_serenity_resource_root.characters ())));
268
283
options_menu->addAction (collect_garbage_action);
269
284
QObject::connect (collect_garbage_action, &QAction::triggered, this , [this ] {
270
285
debug_request (" collect-garbage" );
271
286
});
272
287
273
- auto * clear_cache_action = new QAction (" Clear Cache" );
288
+ auto * clear_cache_action = new QAction (" Clear & Cache" );
274
289
clear_cache_action->setIcon (QIcon (QString (" %1/res/icons/browser/clear-cache.png" ).arg (s_serenity_resource_root.characters ())));
275
290
options_menu->addAction (clear_cache_action);
276
291
QObject::connect (clear_cache_action, &QAction::triggered, this , [this ] {
@@ -279,7 +294,7 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
279
294
280
295
options_menu->addSeparator ();
281
296
282
- auto * enable_scripting_action = new QAction (" Enable Scripting" );
297
+ auto * enable_scripting_action = new QAction (" Enable & Scripting" );
283
298
enable_scripting_action->setCheckable (true );
284
299
enable_scripting_action->setChecked (true );
285
300
options_menu->addAction (enable_scripting_action);
@@ -288,7 +303,7 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
288
303
debug_request (" scripting" , state ? " on" : " off" );
289
304
});
290
305
291
- auto * enable_same_origin_policy_action = new QAction (" Enable Same-Origin Policy" );
306
+ auto * enable_same_origin_policy_action = new QAction (" Enable Same-& Origin Policy" );
292
307
enable_same_origin_policy_action->setCheckable (true );
293
308
options_menu->addAction (enable_same_origin_policy_action);
294
309
QObject::connect (enable_same_origin_policy_action, &QAction::triggered, this , [this , enable_same_origin_policy_action] {
@@ -316,6 +331,7 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
316
331
317
332
QObject::connect (new_tab_action, &QAction::triggered, this , &BrowserWindow::new_tab);
318
333
QObject::connect (quit_action, &QAction::triggered, this , &QMainWindow::close );
334
+ QObject::connect (open_file_action, &QAction::triggered, this , &BrowserWindow::open_file);
319
335
QObject::connect (m_tabs_container, &QTabWidget::currentChanged, [this ](int index ) {
320
336
setWindowTitle (QString (" %1 - Coccinellidae" ).arg (m_tabs_container->tabText (index )));
321
337
setWindowIcon (m_tabs_container->tabIcon (index ));
@@ -331,6 +347,11 @@ BrowserWindow::BrowserWindow(Core::EventLoop& event_loop)
331
347
332
348
}
333
349
350
+ void BrowserWindow::open_file ()
351
+ {
352
+ m_current_tab->open ();
353
+ }
354
+
334
355
void BrowserWindow::go_home ()
335
356
{
336
357
m_current_tab->home ();
0 commit comments