LibrePCB Developers Documentation
Loading...
Searching...
No Matches
editorcommandset.h
Go to the documentation of this file.
1/*
2 * LibrePCB - Professional EDA for everyone!
3 * Copyright (C) 2013 LibrePCB Developers, see AUTHORS.md for contributors.
4 * https://librepcb.org/
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef LIBREPCB_EDITOR_EDITORCOMMANDSET_H
21#define LIBREPCB_EDITOR_EDITORCOMMANDSET_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
26#include "editorcommand.h"
28
29#include <QtCore>
30#include <QtWidgets>
31
32/*******************************************************************************
33 * Namespace / Forward Declarations
34 ******************************************************************************/
35namespace librepcb {
36namespace editor {
37
38/*******************************************************************************
39 * Class EditorCommandSet
40 ******************************************************************************/
41
49class EditorCommandSet final {
50 Q_DECLARE_TR_FUNCTIONS(EditorCommandSet)
51
52private:
53 EditorCommandCategory categoryRoot{"categoryRoot", "", false};
54
55 EditorCommandSet() noexcept {}
56 ~EditorCommandSet() noexcept {}
57
58public:
59 // General Methods
60 static EditorCommandSet& instance() noexcept {
61 static EditorCommandSet obj;
62 return obj;
63 }
64 void updateTranslations() noexcept {
65 // Required to be called when the application's locale has changed.
66 foreach (EditorCommandCategory* cat, getCategories()) {
67 cat->updateTranslations();
68 foreach (EditorCommand* cmd, getCommands(cat)) {
69 cmd->updateTranslations();
70 }
71 }
72 }
73 QList<EditorCommandCategory*> getCategories() noexcept {
74 return categoryRoot.findChildren<EditorCommandCategory*>();
75 }
76 QList<EditorCommand*> getCommands(
77 const EditorCommandCategory* category) noexcept {
78 Q_ASSERT(category);
79 return category->findChildren<EditorCommand*>();
80 }
81
82 EditorCommandCategory categoryEditor{"categoryEditor", QT_TR_NOOP("Editor"),
83 true, &categoryRoot};
85 "item_new", // clang-format break
86 QT_TR_NOOP("New"),
87 QT_TR_NOOP("Add a new item"),
88 ":/img/actions/new.png",
90 {QKeySequence(Qt::CTRL | Qt::Key_N)},
92 };
94 "item_open", // clang-format break
95 QT_TR_NOOP("Open"),
96 QT_TR_NOOP("Open the selected item(s)"),
97 ":/fa/solid/folder-open.svg",
98 EditorCommand::Flags(),
99 {QKeySequence(Qt::Key_Return)},
101 };
103 "save", // clang-format break
104 QT_TR_NOOP("Save"),
105 QT_TR_NOOP("Save changes to filesystem"),
106 ":/bi/floppy-fill.svg",
107 EditorCommand::Flags(),
108 {QKeySequence(Qt::CTRL | Qt::Key_S)},
110 };
112 "save_all", // clang-format break
113 QT_TR_NOOP("Save All"),
114 QT_TR_NOOP("Save all elements to filesystem"),
115 QString(),
116 EditorCommand::Flags(),
117 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_S)},
119 };
121 "select_all", // clang-format break
122 QT_TR_NOOP("Select All"),
123 QT_TR_NOOP("Select all visible objects"),
124 ":/fa/solid/object-group.svg",
125 EditorCommand::Flags(),
126 {QKeySequence(Qt::CTRL | Qt::Key_A)},
128 };
130 "find", // clang-format break
131 QT_TR_NOOP("Find"),
132 QT_TR_NOOP("Find or filter objects"),
133 ":/img/actions/search.png",
135 {QKeySequence(Qt::CTRL | Qt::Key_F)},
137 };
139 "find_next", // clang-format break
140 QT_TR_NOOP("Find Next"),
141 QT_TR_NOOP("Go to the next found object"),
142 QString(),
143 EditorCommand::Flags(),
144 {QKeySequence(Qt::Key_F3)},
146 };
148 "find_previous", // clang-format break
149 QT_TR_NOOP("Find Previous"),
150 QT_TR_NOOP("Go to the previous found object"),
151 QString(),
152 EditorCommand::Flags(),
153 {QKeySequence(Qt::SHIFT | Qt::Key_F3)},
155 };
157 "file_manager", // clang-format break
158 QT_TR_NOOP("Show in File Manager"),
159 QT_TR_NOOP("Open the directory in the file manager"),
160 ":/fa/solid/arrow-up-right-from-square.svg",
161 EditorCommand::Flags(),
162 {},
164 };
166 "workspace_switch", // clang-format break
167 QT_TR_NOOP("Switch Workspace"),
168 QT_TR_NOOP("Choose another workspace to open"),
169 QString(),
171 {},
173 };
175 "workspace_settings", // clang-format break
176 QT_TR_NOOP("Workspace Settings"),
177 QT_TR_NOOP("Open the workspace settings dialog"),
178 ":/fa/solid/sliders.svg",
180 {QKeySequence(Qt::CTRL | Qt::Key_Comma)},
182 };
184 "workspace_libraries_rescan", // clang-format break
185 QT_TR_NOOP("Rescan Libraries"),
186 QT_TR_NOOP("Scan all workspace libraries to update the cache"),
187 ":/fa/solid/arrows-rotate.svg",
188 EditorCommand::Flags(),
189 {QKeySequence(Qt::Key_F5)},
191 };
193 "library_manager", // clang-format break
194 QT_TR_NOOP("Libraries"),
195 QT_TR_NOOP("Manage installed part libraries"),
196 ":/bi/database.svg",
197 EditorCommand::Flags(),
198 {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_M)},
200 };
201 // EditorCommand libraryElementNew{
202 // "library_element_new", // clang-format break
203 // QT_TR_NOOP("New Library Element"),
204 // QT_TR_NOOP("Create a new library element"),
205 // ":/img/actions/new.png",
206 // EditorCommand::Flag::OpensPopup,
207 // {QKeySequence(Qt::CTRL | Qt::Key_N)},
208 // &categoryEditor,
209 // };
211 "library_element_duplicate", // clang-format break
212 QT_TR_NOOP("Duplicate"),
213 QT_TR_NOOP("Create a new element by duplicating this one"),
214 ":/fa/solid/clone.svg",
215 EditorCommand::Flags(),
216 {QKeySequence(Qt::CTRL | Qt::Key_D)},
218 };
220 "project_new", // clang-format break
221 QT_TR_NOOP("New Project"),
222 QT_TR_NOOP("Create a new project"),
223 ":/fa/solid/file-circle-plus.svg",
225 {QKeySequence(Qt::CTRL | Qt::Key_N)},
227 };
229 "project_open", // clang-format break
230 QT_TR_NOOP("Open Project"),
231 QT_TR_NOOP("Open an existing project"),
232 ":/fa/solid/folder-open.svg",
234 {QKeySequence(Qt::CTRL | Qt::Key_O)},
236 };
237 // EditorCommand projectSave{
238 // "project_save", // clang-format break
239 // QT_TR_NOOP("Save Project"),
240 // QT_TR_NOOP("Save the currently opened project"),
241 // ":/bi/floppy-fill.svg",
242 // EditorCommand::Flags(),
243 // {QKeySequence(Qt::CTRL | Qt::Key_S)},
244 // &categoryEditor,
245 // };
247 "project_setup", // clang-format break
248 QT_TR_NOOP("Project Setup"),
249 QT_TR_NOOP("View/modify the project setup"),
250 ":/fa/solid/sliders.svg",
252 {QKeySequence(Qt::Key_F6)},
254 };
256 "grid_properties", // clang-format break
257 QT_TR_NOOP("Grid Properties"),
258 QT_TR_NOOP("View/modify the grid properties"),
259 ":/bi/grid-3x3.svg",
261 {QKeySequence(Qt::Key_F4)},
263 };
265 "board_setup", // clang-format break
266 QT_TR_NOOP("Board Setup"),
267 QT_TR_NOOP("View/modify the board setup"),
268 ":/fa/solid/sliders.svg",
270 {QKeySequence(Qt::Key_F7)},
272 };
274 "run_quick_check", // clang-format break
275 QT_TR_NOOP("Run Quick Check"),
276 QT_TR_NOOP("Run only the most important copper checks from the DRC"),
277 ":/bi/lightning-fill.svg",
278 EditorCommand::Flags(),
279 {QKeySequence(Qt::SHIFT | Qt::Key_F8)},
281 };
283 "run_design_rule_check", // clang-format break
284 QT_TR_NOOP("Run Design Rule Check"),
285 QT_TR_NOOP("Run the design rule check (DRC)"),
286 ":/fa/solid/list-check.svg",
287 EditorCommand::Flags(),
288 {QKeySequence(Qt::Key_F8)},
290 };
292 "project_library_update", // clang-format break
293 QT_TR_NOOP("Update Project Library"),
294 QT_TR_NOOP(
295 "Update the project's library elements from workspace libraries"),
296 ":/fa/solid/arrows-rotate.svg",
298 {QKeySequence(Qt::CTRL | Qt::Key_F5)},
300 };
301 // EditorCommand schematicEditor{
302 // "schematic_editor", // clang-format break
303 // QT_TR_NOOP("Schematic Editor"),
304 // QT_TR_NOOP("Bring the schematic editor window to front"),
305 // ":/img/actions/schematic.png",
306 // EditorCommand::Flags(),
307 // {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_S)},
308 // &categoryEditor,
309 // };
311 "sheet_new", // clang-format break
312 QT_TR_NOOP("New Sheet"),
313 QT_TR_NOOP("Add a new schematic sheet to the project"),
314 ":/fa/solid/file-circle-plus.svg",
316 {QKeySequence(Qt::CTRL | Qt::Key_N)},
318 };
320 "sheet_rename", // clang-format break
321 QT_TR_NOOP("Rename Sheet"),
322 QT_TR_NOOP("Rename the current schematic sheet"),
323 ":/fa/solid/pen-to-square.svg",
325 {QKeySequence(Qt::CTRL | Qt::Key_F2)},
327 };
329 "sheet_remove", // clang-format break
330 QT_TR_NOOP("Remove Sheet"),
331 QT_TR_NOOP("Remove the current schematic sheet from the project"),
332 ":/fa/solid/trash-can.svg",
333 EditorCommand::Flags(),
334 {QKeySequence(Qt::CTRL | Qt::Key_Delete)},
336 };
337 // EditorCommand boardEditor{
338 // "board_editor", // clang-format break
339 // QT_TR_NOOP("Board Editor"),
340 // QT_TR_NOOP("Bring the board editor window to front"),
341 // ":/img/actions/board_editor.png",
342 // EditorCommand::Flags(),
343 // {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_B)},
344 // &categoryEditor,
345 // };
347 "board_new", // clang-format break
348 QT_TR_NOOP("New Board"),
349 QT_TR_NOOP("Add a new board to the project"),
350 ":/fa/solid/file-circle-plus.svg",
352 {QKeySequence(Qt::CTRL | Qt::Key_N)},
354 };
356 "board_copy", // clang-format break
357 QT_TR_NOOP("Copy Board"),
358 QT_TR_NOOP("Add a copy of the current board to the project"),
359 ":/fa/solid/clone.svg",
361 {QKeySequence(Qt::CTRL | Qt::Key_D)},
363 };
365 "board_remove", // clang-format break
366 QT_TR_NOOP("Remove Board"),
367 QT_TR_NOOP("Remove the current board from the project"),
368 ":/fa/solid/trash-can.svg",
369 EditorCommand::Flags(),
370 {QKeySequence(Qt::CTRL | Qt::Key_Delete)},
372 };
374 "plane_show_all", // clang-format break
375 QT_TR_NOOP("Show All Planes"),
376 QT_TR_NOOP("Make the filled areas of all planes visible"),
377 ":/fa/solid/eye.svg",
378 EditorCommand::Flags(),
379 {},
381 };
383 "plane_hide_all", // clang-format break
384 QT_TR_NOOP("Hide All Planes"),
385 QT_TR_NOOP("Make the filled areas of all planes invisible"),
386 ":/fa/solid/eye-slash.svg",
387 EditorCommand::Flags(),
388 {},
390 };
392 "plane_rebuild_all", // clang-format break
393 QT_TR_NOOP("Rebuild All Planes"),
394 QT_TR_NOOP("Re-calculate the filled areas of all planes"),
395 ":/fa/solid/arrows-rotate.svg",
396 EditorCommand::Flags(),
397 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_R)},
399 };
400
402 "categoryTextInput", QT_TR_NOOP("Text Input"), true, &categoryRoot};
404 "input_browse", // clang-format break
405 QT_TR_NOOP("Browse"),
406 QT_TR_NOOP("Open file or directory browser"),
407 ":/img/actions/open.png",
409 {QKeySequence(Qt::CTRL | Qt::Key_B)},
411 };
413 "input_unit_change", // clang-format break
414 QT_TR_NOOP("Change Unit"),
415 QT_TR_NOOP("Change the measurement unit of the text input"),
416 ":/fa/solid/ruler.svg",
418 {QKeySequence(Qt::CTRL | Qt::Key_M)},
420 };
422 "input_remove", // clang-format break
423 QT_TR_NOOP("Remove"),
424 QT_TR_NOOP("Remove this item"),
425 ":/img/actions/delete.png",
426 EditorCommand::Flags(),
427 {QKeySequence(Qt::CTRL | Qt::Key_Delete)},
429 };
431 "input_accept_add", // clang-format break
432 QT_TR_NOOP("Add"),
433 QT_TR_NOOP("Add this item"),
434 ":/img/actions/plus_2.png",
435 EditorCommand::Flags(),
436 {QKeySequence(Qt::Key_Return)},
438 };
439
441 "categoryImportExport", QT_TR_NOOP("Import/Export"), true, &categoryRoot};
443 "add_example_projects", // clang-format break
444 QT_TR_NOOP("Add Example Projects"),
445 QT_TR_NOOP("Add some example projects to the workspace"),
446 QString(),
448 {},
450 };
452 "import_dxf", // clang-format break
453 QT_TR_NOOP("Import DXF"),
454 QT_TR_NOOP("Import a 2D mechanical drawing"),
455 QString(),
457 {},
459 };
461 "import_eagle_library", // clang-format break
462 QT_TR_NOOP("Import EAGLE Library"),
463 QT_TR_NOOP("Import library elements from an EAGLE *.lbr file"),
464 QString(),
466 {},
468 };
470 "import_eagle_project", // clang-format break
471 QT_TR_NOOP("Import EAGLE Project"),
472 QT_TR_NOOP("Import schematic/board from EAGLE *.sch/*.brd files"),
473 QString(),
475 {},
477 };
479 "import_kicad_library", // clang-format break
480 QT_TR_NOOP("Import KiCad Library"),
481 QT_TR_NOOP("Import symbols and footprints from KiCad libraries"),
482 QString(),
484 {},
486 };
488 "import_specctra_ses", // clang-format break
489 QT_TR_NOOP("Import Specctra SES"),
490 QT_TR_NOOP("Import a Specctra session, e.g. from external autorouters"),
491 QString(),
493 {},
495 };
497 "export_lppz", // clang-format break
498 QT_TR_NOOP("Export *.lppz Archive"),
499 QT_TR_NOOP("Export the project as a self-contained *.lppz archive"),
500 ":/fa/solid/file-zipper.svg",
502 {},
504 };
506 "export_image", // clang-format break
507 QT_TR_NOOP("Export Image"),
508 QT_TR_NOOP("Export graphics as a pixmap"),
509 ":/bi/image.svg",
511 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_I)},
513 };
515 "export_pdf", // clang-format break
516 QT_TR_NOOP("Export PDF"),
517 QT_TR_NOOP("Export graphics as a PDF"),
518 ":/fa/solid/file-pdf.svg",
520 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_P)},
522 };
524 "export_specctra_dsn", // clang-format break
525 QT_TR_NOOP("Export Specctra DSN"),
526 QT_TR_NOOP("Export PCB to Specctra format for external autorouters etc."),
527 QString(),
529 {},
531 };
533 "export_step", // clang-format break
534 QT_TR_NOOP("Export STEP Model"),
535 QT_TR_NOOP("Export PCB as a STEP file for loading it into MCAD software"),
536 ":/fa/solid/cubes.svg",
538 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_T)},
540 };
542 "print", // clang-format break
543 QT_TR_NOOP("Print"),
544 QT_TR_NOOP("Send graphics to a printer"),
545 ":/bi/printer-fill.svg",
547 {QKeySequence(Qt::CTRL | Qt::Key_P)},
549 };
550 // EditorCommand generateBom{
551 // "generate_bom", // clang-format break
552 // QT_TR_NOOP("Generate Bill Of Materials"),
553 // QT_TR_NOOP("Generate bill of materials (BOM) file"),
554 // ":/fa/solid/file-csv.svg",
555 // EditorCommand::Flag::OpensPopup,
556 // {QKeySequence(Qt::Key_F9)},
557 // &categoryImportExport,
558 // };
560 "bill_of_materials", // clang-format break
561 QT_TR_NOOP("Bill Of Materials"),
562 QT_TR_NOOP("Open the project's bill of materials (BOM) to see part "
563 "availability, prices etc."),
564 ":/fa/solid/file-csv.svg",
566 {QKeySequence(Qt::Key_F9)},
568 };
570 "generate_fabrication_data", // clang-format break
571 QT_TR_NOOP("Generate Fabrication Data"),
572 QT_TR_NOOP("Generate Gerber/Excellon files for PCB fabrication"),
573 ":/fa/solid/industry.svg",
575 {QKeySequence(Qt::Key_F10)},
577 };
579 "generate_pick_place", // clang-format break
580 QT_TR_NOOP("Generate Pick&&Place Files"),
581 QT_TR_NOOP("Generate pick&place files for automated PCB assembly"),
582 QString(),
584 {}, // Was F11 until v0.1.7
586 };
588 "generate_d356_netlist", // clang-format break
589 QT_TR_NOOP("Generate IPC-D-356A Netlist"),
590 QT_TR_NOOP("Generate netlist file for automated PCB testing"),
591 QString(),
593 {},
595 };
597 "output_jobs", // clang-format break
598 QT_TR_NOOP("Output Jobs"),
599 QT_TR_NOOP("Modify or run output jobs"),
600 ":/fa/solid/play.svg",
602 {QKeySequence(Qt::Key_F11)},
604 };
606 "order_pcb", // clang-format break
607 QT_TR_NOOP("Order PCB"),
608 QT_TR_NOOP("Start ordering the PCB online"),
609 ":/fa/solid/cart-shopping.svg",
610 EditorCommand::Flags(),
611 {QKeySequence(Qt::Key_F12)},
613 };
614
615 EditorCommandCategory categoryModify{"categoryModify", QT_TR_NOOP("Modify"),
616 true, &categoryRoot};
618 "undo", // clang-format break
619 QT_TR_NOOP("Undo"),
620 QT_TR_NOOP("Revert the last modification"),
621 ":/fa/solid/rotate-left.svg",
622 EditorCommand::Flags(),
623 {QKeySequence(Qt::CTRL | Qt::Key_Z)},
625 };
627 "redo", // clang-format break
628 QT_TR_NOOP("Redo"),
629 QT_TR_NOOP("Re-apply the last reverted modification"),
630 ":/fa/solid/rotate-right.svg",
631 EditorCommand::Flags(),
632 {QKeySequence(Qt::CTRL | Qt::Key_Y),
633 QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_Z)},
635 };
637 "clipboard_cut", // clang-format break
638 QT_TR_NOOP("Cut"),
639 QT_TR_NOOP("Cut the selected object(s) to clipboard"),
640 ":/img/actions/cut.png",
641 EditorCommand::Flags(),
642 {QKeySequence(Qt::CTRL | Qt::Key_X)},
644 };
646 "clipboard_copy", // clang-format break
647 QT_TR_NOOP("Copy"),
648 QT_TR_NOOP("Copy the selected object(s) to clipboard"),
649 ":/img/actions/copy.png",
650 EditorCommand::Flags(),
651 {QKeySequence(Qt::CTRL | Qt::Key_C)},
653 };
655 "clipboard_paste", // clang-format break
656 QT_TR_NOOP("Paste"),
657 QT_TR_NOOP("Paste object(s) from the clipboard"),
658 ":/img/actions/paste.png",
659 EditorCommand::Flags(),
660 {QKeySequence(Qt::CTRL | Qt::Key_V)},
662 };
664 "move_left", // clang-format break
665 QT_TR_NOOP("Move Left"),
666 QT_TR_NOOP("Move the selected object(s) to the left"),
667 QString(),
668 EditorCommand::Flags(),
669 {QKeySequence(Qt::Key_Left)},
671 };
673 "move_right", // clang-format break
674 QT_TR_NOOP("Move Right"),
675 QT_TR_NOOP("Move the selected object(s) to the right"),
676 QString(),
677 EditorCommand::Flags(),
678 {QKeySequence(Qt::Key_Right)},
680 };
682 "move_up", // clang-format break
683 QT_TR_NOOP("Move Up"),
684 QT_TR_NOOP("Move the selected object(s) up"),
685 QString(),
686 EditorCommand::Flags(),
687 {QKeySequence(Qt::Key_Up)},
689 };
691 "move_down", // clang-format break
692 QT_TR_NOOP("Move Down"),
693 QT_TR_NOOP("Move the selected object(s) down"),
694 QString(),
695 EditorCommand::Flags(),
696 {QKeySequence(Qt::Key_Down)},
698 };
700 "rotate_ccw", // clang-format break
701 QT_TR_NOOP("Rotate Counterclockwise"),
702 QT_TR_NOOP("Rotate the selected object(s) counterclockwise"),
703 ":/img/actions/rotate_left.png",
704 EditorCommand::Flags(),
705 {QKeySequence(Qt::Key_R)},
707 };
709 "rotate_cw", // clang-format break
710 QT_TR_NOOP("Rotate Clockwise"),
711 QT_TR_NOOP("Rotate the selected object(s) clockwise"),
712 ":/img/actions/rotate_right.png",
713 EditorCommand::Flags(),
714 {QKeySequence(Qt::SHIFT | Qt::Key_R)},
716 };
718 "mirror_horizontal", // clang-format break
719 QT_TR_NOOP("Mirror Horizontally"),
720 QT_TR_NOOP("Mirror the selected object(s) horizontally"),
721 ":/img/actions/mirror_horizontal.png",
722 EditorCommand::Flags(),
723 {QKeySequence(Qt::Key_M)},
725 };
727 "mirror_vertical", // clang-format break
728 QT_TR_NOOP("Mirror Vertically"),
729 QT_TR_NOOP("Mirror the selected object(s) vertically"),
730 ":/img/actions/mirror_vertical.png",
731 EditorCommand::Flags(),
732 {QKeySequence(Qt::SHIFT | Qt::Key_M)},
734 };
736 "flip_horizontal", // clang-format break
737 QT_TR_NOOP("Flip Horizontally"),
738 QT_TR_NOOP(
739 "Flip the selected object(s) horizontally to the other board side"),
740 ":/img/arrow-right-left-across-line.svg",
741 EditorCommand::Flags(),
742 {QKeySequence(Qt::Key_F)},
744 };
746 "flip_vertical", // clang-format break
747 QT_TR_NOOP("Flip Vertically"),
748 QT_TR_NOOP(
749 "Flip the selected object(s) vertically to the other board side"),
750 ":/fa/solid/arrow-down-up-across-line.svg",
751 EditorCommand::Flags(),
752 {QKeySequence(Qt::SHIFT | Qt::Key_F)},
754 };
756 "move_align", // clang-format break
757 QT_TR_NOOP("Move/Align Objects"),
758 QT_TR_NOOP("Move and/or align the selected object(s) vertically or "
759 "horizontally"),
760 ":/img/actions/move.png",
761 EditorCommand::Flags(),
762 {QKeySequence(Qt::Key_A)},
764 };
766 "snap_to_grid", // clang-format break
767 QT_TR_NOOP("Snap to Grid"),
768 QT_TR_NOOP("Move the selected object(s) to snap the grid"),
769 ":/img/actions/grid.png",
770 EditorCommand::Flags(),
771 {QKeySequence(Qt::Key_S)},
773 };
775 "lock", // clang-format break
776 QT_TR_NOOP("Lock Placement"),
777 QT_TR_NOOP("Lock the placement of the selected object(s)"),
778 ":/fa/solid/lock.svg",
779 EditorCommand::Flags(),
780 {QKeySequence(Qt::CTRL | Qt::Key_L)},
782 };
784 "unlock", // clang-format break
785 QT_TR_NOOP("Unlock Placement"),
786 QT_TR_NOOP("Unlock the placement of the selected object(s)"),
787 ":/fa/solid/lock-open.svg",
788 EditorCommand::Flags(),
789 {QKeySequence(Qt::CTRL | Qt::Key_U)},
791 };
793 "line_width_set", // clang-format break
794 QT_TR_NOOP("Set Line Width"),
795 QT_TR_NOOP(
796 "Change the line/trace/stroke width of the selected object(s)"),
797 ":/fa/solid/pen-to-square.svg",
799 {},
801 };
803 "device_reset_text_all", // clang-format break
804 QT_TR_NOOP("Reset All Texts"),
805 QT_TR_NOOP("Reset all texts of the footprint to their initial state"),
806 ":/bi/bootstrap-reboot.svg",
807 EditorCommand::Flags(),
808 {},
810 };
812 "properties", // clang-format break
813 QT_TR_NOOP("Properties"),
814 QT_TR_NOOP("View/modify the object properties"),
815 ":/img/actions/settings.png",
817 {QKeySequence(Qt::Key_E)},
819 };
821 "rename", // clang-format break
822 QT_TR_NOOP("Rename"),
823 QT_TR_NOOP("Rename the selected object"),
824 ":/fa/solid/pen-to-square.svg",
825 EditorCommand::Flags(),
826 {QKeySequence(Qt::Key_F2)},
828 };
830 "remove", // clang-format break
831 QT_TR_NOOP("Remove"),
832 QT_TR_NOOP("Delete the selected object(s)"),
833 ":/img/actions/delete.png",
834 EditorCommand::Flags(),
835 {QKeySequence(Qt::Key_Delete)},
837 };
838
839 EditorCommandCategory categoryView{"categoryView", QT_TR_NOOP("View"), true,
840 &categoryRoot};
842 "zoom_fit_content", // clang-format break
843 QT_TR_NOOP("Zoom to Fit Contents"),
844 QT_TR_NOOP("Set the zoom level to fit the whole content"),
845 ":/fa/solid/expand.svg",
846 EditorCommand::Flags(),
847 {QKeySequence(Qt::CTRL | Qt::Key_Home)},
849 };
851 "zoom_in", // clang-format break
852 QT_TR_NOOP("Zoom In"),
853 QT_TR_NOOP("Increase the zoom level"),
854 ":/bi/zoom-in.svg",
855 EditorCommand::Flags(),
856 {
857 QKeySequence(Qt::CTRL | Qt::Key_Plus),
858 QKeySequence(Qt::CTRL | Qt::Key_Equal), // For English layout
859 },
861 };
863 "zoom_out", // clang-format break
864 QT_TR_NOOP("Zoom Out"),
865 QT_TR_NOOP("Decrease the zoom level"),
866 ":/bi/zoom-out.svg",
867 EditorCommand::Flags(),
868 {QKeySequence(Qt::CTRL | Qt::Key_Minus)},
870 };
872 "grid_increase", // clang-format break
873 QT_TR_NOOP("Increase Grid Interval"),
874 QT_TR_NOOP("Increase the grid interval"),
875 ":/fa/solid/caret-up.svg",
876 EditorCommand::Flags(),
877 {
878 // Do not use Ctrl+Shift++ to avoid conflict with Zoom In,
879 // see https://github.com/LibrePCB/LibrePCB/issues/1641.
880 QKeySequence(Qt::CTRL | Qt::Key_Asterisk), // For numpad
881 QKeySequence(Qt::CTRL | Qt::Key_BracketRight), // For English layout
882 },
884 };
886 "grid_decrease", // clang-format break
887 QT_TR_NOOP("Decrease Grid Interval"),
888 QT_TR_NOOP("Decrease the grid interval"),
889 ":/fa/solid/caret-down.svg",
890 EditorCommand::Flags(),
891 {
892 // Do not use Ctrl+Shift+- to avoid conflict with Zoom Out,
893 // see https://github.com/LibrePCB/LibrePCB/issues/1641.
894 QKeySequence(Qt::CTRL | Qt::Key_Slash), // For numpad
895 QKeySequence(Qt::CTRL | Qt::Key_BracketLeft), // For English layout
896 },
898 };
900 "show_pin_numbers", // clang-format break
901 QT_TR_NOOP("Show Pin Numbers"),
902 QT_TR_NOOP("Show or hide symbol pin numbers"),
903 ":/bi/123.svg",
904 EditorCommand::Flags(),
905 {QKeySequence()},
907 };
909 "ignore_locks", // clang-format break
910 QT_TR_NOOP("Ignore Placement Locks"),
911 QT_TR_NOOP("Allow dragging locked items"),
912 ":/fa/solid/lock-open.svg",
913 EditorCommand::Flags(),
914 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_L)},
916 };
918 "toggle_background_image", // clang-format break
919 QT_TR_NOOP("Set/Unset Background Image"),
920 QT_TR_NOOP("Use a datasheet drawing as the background for verification"),
921 ":/bi/image.svg",
923 {},
925 };
927 "toggle_3d", // clang-format break
928 QT_TR_NOOP("Toggle 2D/3D Mode"),
929 QT_TR_NOOP("Switch between 2D and 3D viewer mode"),
930 ":/bi/badge-3d.svg",
931 EditorCommand::Flags(),
932 {QKeySequence(Qt::CTRL | Qt::Key_3)},
934 };
935
936 EditorCommandCategory categoryTools{"categoryTools", QT_TR_NOOP("Tools"),
937 true, &categoryRoot};
939 "tool_select", // clang-format break
940 QT_TR_NOOP("Select"),
941 QT_TR_NOOP("Select & modify existing objects"),
942 ":/fa/solid/arrow-pointer.svg",
943 EditorCommand::Flags(),
944 {},
946 };
948 "tool_line", // clang-format break
949 QT_TR_NOOP("Draw Line"),
950 QT_TR_NOOP("Draw graphical lines"),
951 ":/img/actions/draw_wire.png",
952 EditorCommand::Flags(),
953 {QKeySequence(Qt::Key_L)},
955 };
957 "tool_rect", // clang-format break
958 QT_TR_NOOP("Draw Rectangle"),
959 QT_TR_NOOP("Draw graphical rectangles"),
960 ":/fa/solid/vector-square.svg",
961 EditorCommand::Flags(),
962 {QKeySequence(Qt::Key_G)},
964 };
966 "tool_polygon", // clang-format break
967 QT_TR_NOOP("Draw Polygon"),
968 QT_TR_NOOP("Draw graphical polygons"),
969 ":/fa/solid/draw-polygon.svg",
970 EditorCommand::Flags(),
971 {QKeySequence(Qt::Key_P)},
973 };
975 "tool_circle", // clang-format break
976 QT_TR_NOOP("Draw Circle"),
977 QT_TR_NOOP("Draw graphical circles"),
978 ":/bi/circle.svg",
979 EditorCommand::Flags(),
980 {QKeySequence(Qt::Key_C)},
982 };
984 "tool_arc", // clang-format break
985 QT_TR_NOOP("Draw Arc"),
986 QT_TR_NOOP("Draw graphical arcs"),
987 ":/fa/solid/circle-notch.svg",
988 EditorCommand::Flags(),
989 {QKeySequence(Qt::SHIFT | Qt::Key_C)},
991 };
993 "tool_text", // clang-format break
994 QT_TR_NOOP("Add Text"),
995 QT_TR_NOOP("Add graphical text objects"),
996 ":/fa/solid/font.svg",
997 EditorCommand::Flags(),
998 {QKeySequence(Qt::Key_T)},
1000 };
1002 "tool_name", // clang-format break
1003 QT_TR_NOOP("Add Name"),
1004 QT_TR_NOOP("Add graphical text objects for '{{NAME}}'"),
1005 ":/img/actions/add_name.png",
1006 EditorCommand::Flags(),
1007 {QKeySequence(Qt::Key_N)},
1009 };
1011 "tool_value", // clang-format break
1012 QT_TR_NOOP("Add Value"),
1013 QT_TR_NOOP("Add graphical text objects for '{{VALUE}}'"),
1014 ":/img/actions/add_value.png",
1015 EditorCommand::Flags(),
1016 {QKeySequence(Qt::Key_V)},
1018 };
1020 "tool_image", // clang-format break
1021 QT_TR_NOOP("Add Image"),
1022 QT_TR_NOOP("Add graphical image objects (e.g. a logo)"),
1023 ":/bi/image.svg",
1024 EditorCommand::Flags(),
1025 {},
1027 };
1029 "tool_pin", // clang-format break
1030 QT_TR_NOOP("Add Pin"),
1031 QT_TR_NOOP("Add symbol pins (electrical connections for schematics)"),
1032 ":/img/actions/add_symbol_pin.png",
1033 EditorCommand::Flags(),
1034 {QKeySequence(Qt::Key_I)},
1036 };
1038 "tool_pad_tht", // clang-format break
1039 QT_TR_NOOP("Add THT Pad"),
1040 QT_TR_NOOP("Add plated through-hole copper pads"),
1041 ":/img/actions/add_tht_pad.png",
1042 EditorCommand::Flags(),
1043 {QKeySequence(Qt::Key_H)},
1045 };
1047 "tool_pad_smt", // clang-format break
1048 QT_TR_NOOP("Add SMT Pad"),
1049 QT_TR_NOOP("Add surface mounted (single layer) copper pads"),
1050 ":/img/actions/add_smt_pad.png",
1051 EditorCommand::Flags(),
1052 {QKeySequence(Qt::Key_D)},
1054 };
1056 "tool_pad_thermal", // clang-format break
1057 QT_TR_NOOP("Add Thermal Pad"),
1058 QT_TR_NOOP("Add special SMT pads used as heat sink"),
1059 QString(),
1060 EditorCommand::Flags(),
1061 {},
1063 };
1065 "tool_pad_bga", // clang-format break
1066 QT_TR_NOOP("Add BGA Pad"),
1067 QT_TR_NOOP("Add special SMT pads used for ball grid arrays"),
1068 QString(),
1069 EditorCommand::Flags(),
1070 {},
1072 };
1074 "tool_pad_edge_connector", // clang-format break
1075 QT_TR_NOOP("Add Edge Connector Pad"),
1076 QT_TR_NOOP("Add special SMT pads used as edge connector"),
1077 QString(),
1078 EditorCommand::Flags(),
1079 {},
1081 };
1083 "tool_pad_test_point", // clang-format break
1084 QT_TR_NOOP("Add Test Pad"),
1085 QT_TR_NOOP("Add special SMT pads used as test points"),
1086 QString(),
1087 EditorCommand::Flags(),
1088 {},
1090 };
1092 "tool_pad_local_fiducial", // clang-format break
1093 QT_TR_NOOP("Add Local Fiducial Pad"),
1094 QT_TR_NOOP("Add special SMT pads used as local fiducials"),
1095 QString(),
1096 EditorCommand::Flags(),
1097 {},
1099 };
1101 "tool_pad_global_fiducial", // clang-format break
1102 QT_TR_NOOP("Add Global Fiducial Pad"),
1103 QT_TR_NOOP("Add special SMT pads used as global fiducials"),
1104 QString(),
1105 EditorCommand::Flags(),
1106 {},
1108 };
1110 "tool_zone", // clang-format break
1111 QT_TR_NOOP("Draw Keepout Zone"),
1112 QT_TR_NOOP("Draw keep-out zones"),
1113 ":/bi/sign-stop.svg",
1114 EditorCommand::Flags(),
1115 {QKeySequence(Qt::Key_Z)},
1117 };
1119 "tool_hole", // clang-format break
1120 QT_TR_NOOP("Add Hole"),
1121 QT_TR_NOOP("Add non-plated holes (NPTH drills)"),
1122 ":/fa/solid/bore-hole.svg",
1123 EditorCommand::Flags(),
1124 {QKeySequence(Qt::Key_O)},
1126 };
1128 "tool_wire", // clang-format break
1129 QT_TR_NOOP("Draw Wire"),
1130 QT_TR_NOOP(
1131 "Draw wires to create electrical connections between symbol pins"),
1132 ":/img/actions/draw_wire.png",
1133 EditorCommand::Flags(),
1134 {QKeySequence(Qt::Key_W)},
1136 };
1138 "tool_bus", // clang-format break
1139 QT_TR_NOOP("Draw Bus"),
1140 QT_TR_NOOP("Draw buses to route several related nets with a single wire"),
1141 ":/img/actions/draw_bus.png",
1142 EditorCommand::Flags(),
1143 {QKeySequence(Qt::Key_B)},
1145 };
1147 "tool_label", // clang-format break
1148 QT_TR_NOOP("Add Label to Net or Bus"),
1149 QT_TR_NOOP("Add labels to explicitly specify the net or bus of wires"),
1150 ":/fa/solid/tag.svg",
1151 EditorCommand::Flags(),
1152 {QKeySequence(Qt::Key_N)},
1154 };
1156 "tool_component", // clang-format break
1157 QT_TR_NOOP("Add Component"),
1158 QT_TR_NOOP("Insert components from the workspace libraries"),
1159 ":/fa/solid/microchip.svg",
1161 {QKeySequence(Qt::Key_A)},
1163 };
1165 "tool_trace", // clang-format break
1166 QT_TR_NOOP("Draw Trace"),
1167 QT_TR_NOOP("Draw copper traces to interconnect devices"),
1168 ":/img/actions/draw_wire.png",
1169 EditorCommand::Flags(),
1170 {QKeySequence(Qt::Key_W)},
1172 };
1174 "tool_via", // clang-format break
1175 QT_TR_NOOP("Add Via"),
1176 QT_TR_NOOP("Add plated through-hole vias"),
1177 ":/bi/record-circle-fill.svg",
1178 EditorCommand::Flags(),
1179 {QKeySequence(Qt::Key_V)},
1181 };
1183 "tool_plane", // clang-format break
1184 QT_TR_NOOP("Draw Plane"),
1185 QT_TR_NOOP("Draw auto-filled copper areas to interconnect pads and vias"),
1186 ":/bi/paint-bucket.svg",
1187 EditorCommand::Flags(),
1188 {QKeySequence(Qt::Key_N)},
1190 };
1192 "tool_generate_outline", // clang-format break
1193 QT_TR_NOOP("Generate Outline"),
1194 QT_TR_NOOP("Automatically generate the outline polygon"),
1195 ":/fa/solid/wand-magic-sparkles.svg",
1196 EditorCommand::Flags(),
1197 {},
1199 };
1201 "tool_generate_courtyard", // clang-format break
1202 QT_TR_NOOP("Generate Courtyard"),
1203 QT_TR_NOOP("Automatically generate the courtyard polygon"),
1204 ":/fa/solid/wand-magic-sparkles.svg",
1206 {},
1208 };
1210 "tool_renumber_pads", // clang-format break
1211 QT_TR_NOOP("Re-Number Pads"),
1212 QT_TR_NOOP("Helper tool to interactively change pad numbers"),
1213 ":/fa/solid/wand-magic-sparkles.svg",
1215 {},
1217 };
1219 "tool_measure", // clang-format break
1220 QT_TR_NOOP("Measure Distance"),
1221 QT_TR_NOOP("Measure the distance between two points"),
1222 ":/fa/solid/ruler.svg",
1223 EditorCommand::Flags(),
1224 {QKeySequence(Qt::CTRL | Qt::Key_M)},
1226 };
1227
1229 "categoryCommands", QT_TR_NOOP("Commands"), true, &categoryRoot};
1231 "command_toolbar_focus", // clang-format break
1232 QT_TR_NOOP("Go To Command Toolbar"),
1233 QT_TR_NOOP("Move the focus into the command toolbar"),
1234 QString(),
1235 EditorCommand::Flags(),
1236 {QKeySequence(Qt::Key_Tab)},
1238 };
1240 "abort", // clang-format break
1241 QT_TR_NOOP("Abort Command"),
1242 QT_TR_NOOP("Abort the currently active command"),
1243 QString(),
1244 EditorCommand::Flags(),
1245 {QKeySequence(Qt::Key_Escape)},
1247 };
1249 "layer_up", // clang-format break
1250 QT_TR_NOOP("Layer Up"),
1251 QT_TR_NOOP("Switch to the next higher layer (bottom->top)"),
1252 QString(),
1253 EditorCommand::Flags(),
1254 {QKeySequence(Qt::Key_PageUp)},
1256 };
1258 "layer_down", // clang-format break
1259 QT_TR_NOOP("Layer Down"),
1260 QT_TR_NOOP("Switch to the next lower layer (top->bottom)"),
1261 QString(),
1262 EditorCommand::Flags(),
1263 {QKeySequence(Qt::Key_PageDown)},
1265 };
1267 "line_width_increase", // clang-format break
1268 QT_TR_NOOP("Increase Line Width"),
1269 QT_TR_NOOP("Increase the line/trace/stroke/pad width"),
1270 ":/fa/solid/caret-up.svg",
1271 EditorCommand::Flags(),
1272 {QKeySequence(Qt::Key_Plus)},
1274 };
1276 "line_width_decrease", // clang-format break
1277 QT_TR_NOOP("Decrease Line Width"),
1278 QT_TR_NOOP("Decrease the line/trace/stroke/pad width"),
1279 ":/fa/solid/caret-down.svg",
1280 EditorCommand::Flags(),
1281 {QKeySequence(Qt::Key_Minus)},
1283 };
1285 "size_increase", // clang-format break
1286 QT_TR_NOOP("Increase Size"),
1287 QT_TR_NOOP("Increase the via/pad/pin/text size"),
1288 QString(),
1289 EditorCommand::Flags(),
1290 {QKeySequence(Qt::Key_Asterisk)},
1292 };
1294 "size_decrease", // clang-format break
1295 QT_TR_NOOP("Decrease Size"),
1296 QT_TR_NOOP("Decrease the via/pad/pin/text size"),
1297 QString(),
1298 EditorCommand::Flags(),
1299 {QKeySequence(Qt::Key_Slash)},
1301 };
1303 "drill_increase", // clang-format break
1304 QT_TR_NOOP("Increase Drill"),
1305 QT_TR_NOOP("Increase the via/pad/hole drill diameter"),
1306 QString(),
1307 EditorCommand::Flags(),
1308 {QKeySequence(Qt::Key_Home)},
1310 };
1312 "drill_decrease", // clang-format break
1313 QT_TR_NOOP("Decrease Drill"),
1314 QT_TR_NOOP("Decrease the via/pad/hole drill diameter"),
1315 QString(),
1316 EditorCommand::Flags(),
1317 {QKeySequence(Qt::Key_End)},
1319 };
1321 "width_auto_toggle", // clang-format break
1322 QT_TR_NOOP("Toggle Auto-Width"),
1323 QT_TR_NOOP("Toggle the auto-width property state"),
1324 QString(),
1325 EditorCommand::Flags(),
1326 {QKeySequence(Qt::Key_Period)},
1328 };
1330 "fill_toggle", // clang-format break
1331 QT_TR_NOOP("Toggle Fill"),
1332 QT_TR_NOOP("Toggle the fill property state"),
1333 QString(),
1334 EditorCommand::Flags(),
1335 {QKeySequence(Qt::Key_F)},
1337 };
1339 "grab_area_toggle", // clang-format break
1340 QT_TR_NOOP("Toggle Grab Area"),
1341 QT_TR_NOOP("Toggle the grab area property state"),
1342 QString(),
1343 EditorCommand::Flags(),
1344 {QKeySequence(Qt::Key_Comma)},
1346 };
1348 "align_horizontal_left", // clang-format break
1349 QT_TR_NOOP("Align Left"), // clang-format break
1350 QT_TR_NOOP("Horizontal alignment: Left"),
1351 ":/fa/solid/align-left.svg",
1352 EditorCommand::Flags(),
1353 {QKeySequence(Qt::Key_1)},
1355 };
1357 "align_horizontal_center", // clang-format break
1358 QT_TR_NOOP("Align Center"), // clang-format break
1359 QT_TR_NOOP("Horizontal alignment: Center"),
1360 ":/fa/solid/align-center.svg",
1361 EditorCommand::Flags(),
1362 {QKeySequence(Qt::Key_2)},
1364 };
1366 "align_horizontal_right", // clang-format break
1367 QT_TR_NOOP("Align Right"), // clang-format break
1368 QT_TR_NOOP("Horizontal alignment: Right"),
1369 ":/fa/solid/align-right.svg",
1370 EditorCommand::Flags(),
1371 {QKeySequence(Qt::Key_3)},
1373 };
1375 "align_vertical_bottom", // clang-format break
1376 QT_TR_NOOP("Align Bottom"), // clang-format break
1377 QT_TR_NOOP("Vertical alignment: Bottom"),
1378 ":/bi/align-bottom.svg",
1379 EditorCommand::Flags(),
1380 {QKeySequence(Qt::Key_4)},
1382 };
1384 "align_vertical_center", // clang-format break
1385 QT_TR_NOOP("Align Center"), // clang-format break
1386 QT_TR_NOOP("Vertical alignment: Center"),
1387 ":/bi/align-center.svg",
1388 EditorCommand::Flags(),
1389 {QKeySequence(Qt::Key_5)},
1391 };
1393 "align_vertical_top", // clang-format break
1394 QT_TR_NOOP("Align Top"), // clang-format break
1395 QT_TR_NOOP("Vertical alignment: Top"),
1396 ":/bi/align-top.svg",
1397 EditorCommand::Flags(),
1398 {QKeySequence(Qt::Key_6)},
1400 };
1402 "wire_mode_h_v", // clang-format break
1403 QT_TR_NOOP("Horizontal - Vertical"),
1404 QT_TR_NOOP(
1405 "Wire mode: First segment horizontal, second segment vertical"),
1406 ":/img/command_toolbars/wire_h_v.png",
1407 EditorCommand::Flags(),
1408 {QKeySequence(Qt::Key_1)},
1410 };
1412 "wire_mode_v_h", // clang-format break
1413 QT_TR_NOOP("Vertical - Horizontal"),
1414 QT_TR_NOOP(
1415 "Wire mode: First segment vertical, second segment horizontal"),
1416 ":/img/command_toolbars/wire_v_h.png",
1417 EditorCommand::Flags(),
1418 {QKeySequence(Qt::Key_2)},
1420 };
1422 "wire_mode_90_45", // clang-format break
1423 QT_TR_NOOP("90° - 45°"),
1424 QT_TR_NOOP("Wire mode: First segment 90°, second segment 45°"),
1425 ":/img/command_toolbars/wire_90_45.png",
1426 EditorCommand::Flags(),
1427 {QKeySequence(Qt::Key_3)},
1429 };
1431 "wire_mode_45_90", // clang-format break
1432 QT_TR_NOOP("45° - 90°"),
1433 QT_TR_NOOP("Wire mode: First segment 45°, second segment 90°"),
1434 ":/img/command_toolbars/wire_45_90.png",
1435 EditorCommand::Flags(),
1436 {QKeySequence(Qt::Key_4)},
1438 };
1440 "wire_mode_straight", // clang-format break
1441 QT_TR_NOOP("Straight"),
1442 QT_TR_NOOP("Wire mode: Straight line"),
1443 ":/img/command_toolbars/wire_straight.png",
1444 EditorCommand::Flags(),
1445 {QKeySequence(Qt::Key_5)},
1447 };
1449 "shape_round", // clang-format break
1450 QT_TR_NOOP("Round"),
1451 QT_TR_NOOP("Shape: Round"),
1452 ":/fa/solid/circle.svg",
1453 EditorCommand::Flags(),
1454 {QKeySequence(Qt::Key_1)},
1456 };
1458 "shape_rounded_rect", // clang-format break
1459 QT_TR_NOOP("Rounded Rectangle"),
1460 QT_TR_NOOP("Shape: Rounded Rectangle"),
1461 ":/fa/solid/square.svg",
1462 EditorCommand::Flags(),
1463 {QKeySequence(Qt::Key_2)},
1465 };
1467 "shape_rect", // clang-format break
1468 QT_TR_NOOP("Rectangle"),
1469 QT_TR_NOOP("Shape: Rectangle"),
1470 ":/fa/solid/square-full.svg",
1471 EditorCommand::Flags(),
1472 {QKeySequence(Qt::Key_3)},
1474 };
1476 "shape_octagon", // clang-format break
1477 QT_TR_NOOP("Octagon"), // clang-format break
1478 QT_TR_NOOP("Shape: Octagon"),
1479 ":/bi/octagon-fill.svg",
1480 EditorCommand::Flags(),
1481 {QKeySequence(Qt::Key_4)},
1483 };
1484
1486 "categoryComponents", QT_TR_NOOP("Components"), true, &categoryRoot};
1488 "component_resistor", // clang-format break
1489 QT_TR_NOOP("Resistor"),
1490 QT_TR_NOOP("Add standard component: Resistor"),
1491 ":/img/resistor-eu.svg",
1492 EditorCommand::Flags(),
1493 {},
1495 };
1497 "component_inductor", // clang-format break
1498 QT_TR_NOOP("Inductor"),
1499 QT_TR_NOOP("Add standard component: Inductor"),
1500 ":/img/inductor-eu.svg",
1501 EditorCommand::Flags(),
1502 {},
1504 };
1506 "component_capacitor_bipolar", // clang-format break
1507 QT_TR_NOOP("Bipolar Capacitor"),
1508 QT_TR_NOOP("Add standard component: Bipolar capacitor"),
1509 ":/img/capacitor-bipolar-eu.svg",
1510 EditorCommand::Flags(),
1511 {},
1513 };
1515 "component_capacitor_unipolar", // clang-format break
1516 QT_TR_NOOP("Unipolar Capacitor"),
1517 QT_TR_NOOP("Add standard component: Unipolar capacitor"),
1518 ":/img/capacitor-unipolar-eu.svg",
1519 EditorCommand::Flags(),
1520 {},
1522 };
1524 "component_gnd", // clang-format break
1525 QT_TR_NOOP("GND Supply"),
1526 QT_TR_NOOP("Add standard component: GND supply"),
1527 ":/img/gnd.svg",
1528 EditorCommand::Flags(),
1529 {},
1531 };
1533 "component_vcc", // clang-format break
1534 QT_TR_NOOP("VCC Supply"),
1535 QT_TR_NOOP("Add standard component: VCC supply"),
1536 ":/img/vcc.svg",
1537 EditorCommand::Flags(),
1538 {},
1540 };
1541
1542 EditorCommandCategory categoryDocks{"categoryDocks", QT_TR_NOOP("Docks"),
1543 true, &categoryRoot};
1544 // EditorCommand dockPages{
1545 // "dock_pages", // clang-format break
1546 // QT_TR_NOOP("Pages"),
1547 // QT_TR_NOOP("Go to the pages dock"),
1548 // QString(),
1549 // EditorCommand::Flags(),
1550 // {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_G)},
1551 // &categoryDocks,
1552 // };
1554 "dock_erc", // clang-format break
1555 QT_TR_NOOP("Electrical Rule Check (ERC)"),
1556 QT_TR_NOOP("Go to the ERC messages dock"),
1557 ":/fa/solid/list-check.svg",
1558 EditorCommand::Flags(),
1559 {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_E)},
1561 };
1563 "dock_drc", // clang-format break
1564 QT_TR_NOOP("Design Rule Check (DRC)"),
1565 QT_TR_NOOP("Go to the DRC messages dock"),
1566 ":/fa/solid/list-check.svg",
1567 EditorCommand::Flags(),
1568 {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_D)},
1570 };
1572 "dock_layers", // clang-format break
1573 QT_TR_NOOP("Layers"),
1574 QT_TR_NOOP("Go to the layers dock"),
1575 ":/bi/layers.svg",
1576 EditorCommand::Flags(),
1577 {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_L)},
1579 };
1581 "dock_place_devices", // clang-format break
1582 QT_TR_NOOP("Place Devices"),
1583 QT_TR_NOOP("Go to the dock for placing devices"),
1584 ":/bi/cpu.svg",
1585 EditorCommand::Flags(),
1586 {QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_P)},
1588 };
1589
1591 "categoryWindowManagement", QT_TR_NOOP("Window Management"), true,
1592 &categoryRoot};
1594 "page_next", // clang-format break
1595 QT_TR_NOOP("Next Tab/Page"),
1596 QT_TR_NOOP("Navigate to the next tab or page"),
1597 QString(),
1598 EditorCommand::Flags(),
1599 {QKeySequence(Qt::CTRL | Qt::Key_Tab)},
1601 };
1603 "page_previous", // clang-format break
1604 QT_TR_NOOP("Previous Tab/Page"),
1605 QT_TR_NOOP("Navigate to the previous tab or page"),
1606 QString(),
1607 EditorCommand::Flags(),
1608 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_Tab)},
1610 };
1612 "tab_close", // clang-format break
1613 QT_TR_NOOP("Close Tab"),
1614 QT_TR_NOOP("Close the currently opened tab"),
1615 QString(),
1616 EditorCommand::Flags(),
1617 {QKeySequence(Qt::CTRL | Qt::Key_W)},
1619 };
1621 "tab_close_all", // clang-format break
1622 QT_TR_NOOP("Close All Tabs"),
1623 QT_TR_NOOP("Close all currently opened tabs"),
1624 QString(),
1625 EditorCommand::Flags(),
1626 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_W)},
1628 };
1630 "window_new", // clang-format break
1631 QT_TR_NOOP("New Window"),
1632 QT_TR_NOOP("Open a new window"),
1633 ":/bi/window-plus.svg",
1634 EditorCommand::Flags(),
1635 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_N)},
1637 };
1639 "window_close", // clang-format break
1640 QT_TR_NOOP("Close Window"),
1641 QT_TR_NOOP("Close this window"),
1642 ":/bi/window-x.svg",
1643 EditorCommand::Flags(),
1644 {QKeySequence(Qt::ALT | Qt::Key_F4)},
1646 };
1648 "project_close", // clang-format break
1649 QT_TR_NOOP("Close Project"),
1650 QT_TR_NOOP("Close the currently opened project"),
1651 ":/fa/solid/xmark.svg",
1652 EditorCommand::Flags(),
1653 {QKeySequence(Qt::CTRL | Qt::Key_F4)},
1655 };
1656 // Not used anymore, just kept here to not loose the translations.
1658 "project_close_all", // clang-format break
1659 QT_TR_NOOP("Close All Projects"),
1660 QT_TR_NOOP("Close all currently opened projects"),
1661 QString(),
1662 EditorCommand::Flags(),
1663 {QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_F4)},
1664 nullptr, // &categoryWindowManagement,
1665 };
1667 "application_quit", // clang-format break
1668 QT_TR_NOOP("Quit"),
1669 QT_TR_NOOP("Close the whole application"),
1670 ":/bi/box-arrow-left.svg",
1672 {QKeySequence(Qt::CTRL | Qt::Key_Q)},
1674 };
1675
1676 EditorCommandCategory categoryHelp{"categoryHelp", QT_TR_NOOP("Help"), true,
1677 &categoryRoot};
1679 "about_librepcb", // clang-format break
1680 QT_TR_NOOP("About LibrePCB"),
1681 QT_TR_NOOP("Show information about the application"),
1682 ":/bi/question-circle.svg",
1684 {},
1685 &categoryHelp,
1686 };
1688 "about_qt", // clang-format break
1689 QT_TR_NOOP("About Qt"),
1690 QT_TR_NOOP("Show information about Qt"),
1691 QString(),
1693 {},
1694 &categoryHelp,
1695 };
1697 "website", // clang-format break
1698 QT_TR_NOOP("LibrePCB Website"),
1699 QT_TR_NOOP("Open the LibrePCB website in the web browser"),
1700 ":/fa/solid/globe.svg",
1701 EditorCommand::Flags(),
1702 {},
1703 &categoryHelp,
1704 };
1706 "documentation_online", // clang-format break
1707 QT_TR_NOOP("User Manual && Tutorials"),
1708 QT_TR_NOOP("Open the online user manual in the web browser"),
1709 ":/fa/solid/book.svg",
1710 EditorCommand::Flags(),
1711 {QKeySequence(Qt::Key_F1)},
1712 &categoryHelp,
1713 };
1715 "support", // clang-format break
1716 QT_TR_NOOP("Give Feedback && Get Support"),
1717 QT_TR_NOOP("Open the support page in the web browser"),
1718 ":/fa/regular/comments.svg",
1719 EditorCommand::Flags(),
1720 {},
1721 &categoryHelp,
1722 };
1724 "donate", // clang-format break
1725 QT_TR_NOOP("Support the LibrePCB Project"),
1726 QT_TR_NOOP("Open the donation page in the web browser"),
1727 ":/fa/solid/heart.svg",
1728 EditorCommand::Flags(),
1729 {},
1730 &categoryHelp,
1731 };
1733 "keyboard_shortcuts_reference", // clang-format break
1734 QT_TR_NOOP("Keyboard Shortcuts Reference"),
1735 QT_TR_NOOP("Open a quick reference about the keyboard shortcuts"),
1736 ":/fa/solid/keyboard.svg",
1737 EditorCommand::Flags(),
1738 {QKeySequence(Qt::CTRL | Qt::Key_F1)},
1739 &categoryHelp,
1740 };
1741
1743 "categoryContextMenu", QT_TR_NOOP("Context Menu"), false, &categoryRoot};
1744 // Not used anymore, just kept here to not loose the translations.
1746 "folder_new", // clang-format break
1747 QT_TR_NOOP("New Folder"),
1748 QT_TR_NOOP("Create a new folder"),
1749 ":/img/actions/new_folder.png",
1750 EditorCommand::Flags(),
1751 {},
1752 nullptr, // &categoryContextMenu,
1753 };
1754 // Not used anymore, just kept here to not loose the translations.
1756 "favorite_add", // clang-format break
1757 QT_TR_NOOP("Add To Favorites"),
1758 QT_TR_NOOP("Add project to favorites"),
1759 ":/img/actions/bookmark_gray.png",
1760 EditorCommand::Flags(),
1761 {},
1762 nullptr, // &categoryContextMenu,
1763 };
1764 // Not used anymore, just kept here to not loose the translations.
1766 "favorite_remove", // clang-format break
1767 QT_TR_NOOP("Remove From Favorites"),
1768 QT_TR_NOOP("Remove project from favorites"),
1769 ":/img/actions/bookmark.png",
1770 EditorCommand::Flags(),
1771 {},
1772 nullptr, // &categoryContextMenu,
1773 };
1775 "vertex_add", // clang-format break
1776 QT_TR_NOOP("Add Vertex"),
1777 QT_TR_NOOP("Insert a new vertex into the selected polygon edge"),
1778 ":/img/actions/add.png",
1779 EditorCommand::Flags(),
1780 {},
1782 };
1784 "vertex_remove", // clang-format break
1785 QT_TR_NOOP("Remove Vertex"),
1786 QT_TR_NOOP("Remove the selected vertex from the polygon"),
1787 ":/img/actions/delete.png",
1788 EditorCommand::Flags(),
1789 {},
1791 };
1793 "trace_select_whole", // clang-format break
1794 QT_TR_NOOP("Select Whole Trace"),
1795 QT_TR_NOOP("Select the whole trace"),
1796 ":/fa/solid/highlighter.svg",
1797 EditorCommand::Flags(),
1798 {},
1800 };
1802 "trace_measure_length", // clang-format break
1803 QT_TR_NOOP("Measure Selected Segments Length"),
1804 QT_TR_NOOP("Measure the total length of all selected trace segments"),
1805 ":/fa/solid/ruler.svg",
1806 EditorCommand::Flags(),
1807 {},
1809 };
1811 "trace_remove_whole", // clang-format break
1812 QT_TR_NOOP("Remove Whole Trace"),
1813 QT_TR_NOOP("Remove the whole trace"),
1814 ":/fa/solid/trash-can.svg",
1815 EditorCommand::Flags(),
1816 {},
1818 };
1820 "locked", // clang-format break
1821 QT_TR_NOOP("Lock Placement"),
1822 QT_TR_NOOP("Toggle placement lock"),
1823 ":/fa/solid/lock.svg", // For consistent context menu look.
1824 EditorCommand::Flags(),
1825 {},
1827 };
1829 "visible", // clang-format break
1830 QT_TR_NOOP("Visible"),
1831 QT_TR_NOOP("Toggle visibility"),
1832 ":/fa/solid/eye.svg",
1833 EditorCommand::Flags(),
1834 {},
1836 };
1838 "copy_mpn_to_clipboard", // clang-format break
1839 QT_TR_NOOP("Copy MPN to Clipboard"),
1840 QT_TR_NOOP("Copy this MPN into the clipboard"),
1841 ":/fa/regular/copy.svg",
1842 EditorCommand::Flags(),
1843 {QKeySequence(Qt::CTRL | Qt::Key_C)},
1845 };
1847 "open_product_website", // clang-format break
1848 QT_TR_NOOP("Open Product Website"),
1849 QT_TR_NOOP("Open product details about this part in the web browser"),
1850 ":/fa/solid/globe.svg",
1852 {},
1854 };
1856 "open_pricing_website", // clang-format break
1857 QT_TR_NOOP("Open Pricing Website"),
1858 QT_TR_NOOP("Open pricing details about this part in the web browser"),
1859 ":/fa/solid/cart-shopping.svg",
1861 {},
1863 };
1865 // Actually not really for the context menu :-/
1866 "helper_tools", // clang-format break
1867 QT_TR_NOOP("Generate Content"),
1868 QT_TR_NOOP("Various helper tools to generate or modify objects"),
1869 ":/img/actions/wizard.png",
1871 {},
1873 };
1874};
1875
1876/*******************************************************************************
1877 * End of File
1878 ******************************************************************************/
1879
1880} // namespace editor
1881} // namespace librepcb
1882
1883#endif
Category for librepcb::editor::EditorCommand.
Definition editorcommandcategory.h:42
void updateTranslations() noexcept
Definition editorcommandcategory.h:66
Command for editors, e.g. to be added to a QMenu.
Definition editorcommand.h:42
void updateTranslations() noexcept
Definition editorcommand.cpp:85
Collection of all commands across all editors.
Definition editorcommandset.h:49
EditorCommand applicationQuit
Definition editorcommandset.h:1666
EditorCommand toolPadBga
Definition editorcommandset.h:1064
EditorCommand save
Definition editorcommandset.h:102
EditorCommand toolPin
Definition editorcommandset.h:1028
EditorCommand sizeIncrease
Definition editorcommandset.h:1284
EditorCommand toolGenerateOutline
Definition editorcommandset.h:1191
EditorCommand zoomFitContent
Definition editorcommandset.h:841
EditorCommand shapeRoundedRect
Definition editorcommandset.h:1457
EditorCommand _favoriteRemove
Definition editorcommandset.h:1765
EditorCommand layerDown
Definition editorcommandset.h:1257
EditorCommand print
Definition editorcommandset.h:541
EditorCommandCategory categoryTextInput
Definition editorcommandset.h:401
EditorCommandCategory categoryHelp
Definition editorcommandset.h:1676
EditorCommand alignVerticalTop
Definition editorcommandset.h:1392
EditorCommand toolPadEdgeConnector
Definition editorcommandset.h:1073
EditorCommand flipVertical
Definition editorcommandset.h:745
EditorCommand toolImage
Definition editorcommandset.h:1019
EditorCommand sheetNew
Definition editorcommandset.h:310
EditorCommand gridProperties
Definition editorcommandset.h:255
EditorCommand inputAcceptAdd
Definition editorcommandset.h:430
EditorCommand componentGnd
Definition editorcommandset.h:1523
EditorCommand toolLine
Definition editorcommandset.h:947
EditorCommand componentResistor
Definition editorcommandset.h:1487
EditorCommand moveLeft
Definition editorcommandset.h:663
EditorCommand itemOpen
Definition editorcommandset.h:93
EditorCommand abort
Definition editorcommandset.h:1239
EditorCommand clipboardPaste
Definition editorcommandset.h:654
EditorCommand donate
Definition editorcommandset.h:1723
EditorCommandCategory categoryComponents
Definition editorcommandset.h:1485
EditorCommand openProductWebsite
Definition editorcommandset.h:1846
EditorCommand toolText
Definition editorcommandset.h:992
EditorCommandCategory categoryTools
Definition editorcommandset.h:936
EditorCommand toolPadLocalFiducial
Definition editorcommandset.h:1091
EditorCommand unlock
Definition editorcommandset.h:783
EditorCommand toolWire
Definition editorcommandset.h:1127
EditorCommand copyMpnToClipboard
Definition editorcommandset.h:1837
EditorCommand _pagePrevious
Definition editorcommandset.h:1602
EditorCommand mirrorHorizontal
Definition editorcommandset.h:717
EditorCommand componentInductor
Definition editorcommandset.h:1496
EditorCommandCategory categoryDocks
Definition editorcommandset.h:1542
EditorCommand projectNew
Definition editorcommandset.h:219
EditorCommand toolMeasure
Definition editorcommandset.h:1218
EditorCommand sheetRename
Definition editorcommandset.h:319
EditorCommand rotateCw
Definition editorcommandset.h:708
EditorCommand runDesignRuleCheck
Definition editorcommandset.h:282
EditorCommand billOfMaterials
Definition editorcommandset.h:559
EditorCommandCategory categoryWindowManagement
Definition editorcommandset.h:1590
EditorCommand libraryElementDuplicate
Definition editorcommandset.h:210
EditorCommand _folderNew
Definition editorcommandset.h:1745
EditorCommand toolPadTest
Definition editorcommandset.h:1082
EditorCommand website
Definition editorcommandset.h:1696
EditorCommand redo
Definition editorcommandset.h:626
EditorCommand _projectCloseAll
Definition editorcommandset.h:1657
EditorCommand drillDecrease
Definition editorcommandset.h:1311
EditorCommand exportImage
Definition editorcommandset.h:505
EditorCommand mirrorVertical
Definition editorcommandset.h:726
EditorCommand zoomIn
Definition editorcommandset.h:850
EditorCommand boardRemove
Definition editorcommandset.h:364
EditorCommand toolPadThermal
Definition editorcommandset.h:1055
EditorCommand locked
Definition editorcommandset.h:1819
EditorCommand projectOpen
Definition editorcommandset.h:228
EditorCommand toggle3d
Definition editorcommandset.h:926
EditorCommand commandToolBarFocus
Definition editorcommandset.h:1230
EditorCommand toolSelect
Definition editorcommandset.h:938
void updateTranslations() noexcept
Definition editorcommandset.h:64
EditorCommand wireMode9045
Definition editorcommandset.h:1421
EditorCommand runQuickCheck
Definition editorcommandset.h:273
EditorCommand workspaceSettings
Definition editorcommandset.h:174
EditorCommand rename
Definition editorcommandset.h:820
EditorCommand vertexAdd
Definition editorcommandset.h:1774
EditorCommand toolCircle
Definition editorcommandset.h:974
EditorCommand importEagleLibrary
Definition editorcommandset.h:460
EditorCommand grabAreaToggle
Definition editorcommandset.h:1338
EditorCommand support
Definition editorcommandset.h:1714
EditorCommand exportStep
Definition editorcommandset.h:532
EditorCommand drillIncrease
Definition editorcommandset.h:1302
EditorCommand layerUp
Definition editorcommandset.h:1248
EditorCommand inputRemove
Definition editorcommandset.h:421
EditorCommand _tabClose
Definition editorcommandset.h:1611
EditorCommand planeHideAll
Definition editorcommandset.h:382
EditorCommand toolComponent
Definition editorcommandset.h:1155
EditorCommand workspaceSwitch
Definition editorcommandset.h:165
EditorCommand wireMode4590
Definition editorcommandset.h:1430
EditorCommand properties
Definition editorcommandset.h:811
EditorCommand toolPolygon
Definition editorcommandset.h:965
EditorCommand generateD356Netlist
Definition editorcommandset.h:587
EditorCommand boardNew
Definition editorcommandset.h:346
EditorCommandCategory categoryView
Definition editorcommandset.h:839
EditorCommand flipHorizontal
Definition editorcommandset.h:735
EditorCommand _saveAll
Definition editorcommandset.h:111
EditorCommand toolPadGlobalFiducial
Definition editorcommandset.h:1100
EditorCommand showPinNumbers
Definition editorcommandset.h:899
EditorCommand _tabCloseAll
Definition editorcommandset.h:1620
EditorCommandCategory categoryEditor
Definition editorcommandset.h:82
EditorCommand inputBrowse
Definition editorcommandset.h:403
EditorCommand exportPdf
Definition editorcommandset.h:514
EditorCommand _helperTools
Definition editorcommandset.h:1864
EditorCommand dockDrc
Definition editorcommandset.h:1562
EditorCommand _pageNext
Definition editorcommandset.h:1593
EditorCommand setLineWidth
Definition editorcommandset.h:792
EditorCommand lineWidthDecrease
Definition editorcommandset.h:1275
EditorCommand aboutQt
Definition editorcommandset.h:1687
EditorCommand alignVerticalBottom
Definition editorcommandset.h:1374
EditorCommand componentCapacitorUnipolar
Definition editorcommandset.h:1514
EditorCommandCategory categoryContextMenu
Definition editorcommandset.h:1742
EditorCommandCategory categoryCommands
Definition editorcommandset.h:1228
~EditorCommandSet() noexcept
Definition editorcommandset.h:56
EditorCommand generateFabricationData
Definition editorcommandset.h:569
EditorCommandSet() noexcept
Definition editorcommandset.h:55
EditorCommand toolName
Definition editorcommandset.h:1001
EditorCommand componentVcc
Definition editorcommandset.h:1532
EditorCommand moveUp
Definition editorcommandset.h:681
EditorCommand openPricingWebsite
Definition editorcommandset.h:1855
EditorCommand workspaceLibrariesRescan
Definition editorcommandset.h:183
EditorCommand traceRemoveWhole
Definition editorcommandset.h:1810
EditorCommand lineWidthIncrease
Definition editorcommandset.h:1266
EditorCommand deviceResetTextAll
Definition editorcommandset.h:802
EditorCommand toolValue
Definition editorcommandset.h:1010
EditorCommand toolPadTht
Definition editorcommandset.h:1037
EditorCommand projectSetup
Definition editorcommandset.h:246
EditorCommand toolHole
Definition editorcommandset.h:1118
EditorCommand snapToGrid
Definition editorcommandset.h:765
QList< EditorCommandCategory * > getCategories() noexcept
Definition editorcommandset.h:73
EditorCommand sheetRemove
Definition editorcommandset.h:328
EditorCommand boardCopy
Definition editorcommandset.h:355
EditorCommand moveRight
Definition editorcommandset.h:672
EditorCommand dockLayers
Definition editorcommandset.h:1571
EditorCommand sizeDecrease
Definition editorcommandset.h:1293
EditorCommand find
Definition editorcommandset.h:129
EditorCommand keyboardShortcutsReference
Definition editorcommandset.h:1732
EditorCommand remove
Definition editorcommandset.h:829
EditorCommand vertexRemove
Definition editorcommandset.h:1783
EditorCommand itemNew
Definition editorcommandset.h:84
EditorCommand windowNew
Definition editorcommandset.h:1629
EditorCommand toolPadSmt
Definition editorcommandset.h:1046
EditorCommand toggleBackgroundImage
Definition editorcommandset.h:917
EditorCommand importEagleProject
Definition editorcommandset.h:469
EditorCommand visible
Definition editorcommandset.h:1828
EditorCommand toolZone
Definition editorcommandset.h:1109
EditorCommand toolTrace
Definition editorcommandset.h:1164
EditorCommandCategory categoryRoot
Definition editorcommandset.h:53
EditorCommand widthAutoToggle
Definition editorcommandset.h:1320
EditorCommand moveAlign
Definition editorcommandset.h:755
EditorCommand fillToggle
Definition editorcommandset.h:1329
EditorCommand aboutLibrePcb
Definition editorcommandset.h:1678
EditorCommand findPrevious
Definition editorcommandset.h:147
EditorCommand alignVerticalCenter
Definition editorcommandset.h:1383
EditorCommand alignHorizontalLeft
Definition editorcommandset.h:1347
EditorCommand toolGenerateCourtyard
Definition editorcommandset.h:1200
EditorCommand _favoriteAdd
Definition editorcommandset.h:1755
EditorCommand toolReNumberPads
Definition editorcommandset.h:1209
EditorCommand selectAll
Definition editorcommandset.h:120
EditorCommand gridDecrease
Definition editorcommandset.h:885
EditorCommand alignHorizontalRight
Definition editorcommandset.h:1365
EditorCommand planeRebuildAll
Definition editorcommandset.h:391
EditorCommand boardSetup
Definition editorcommandset.h:264
static EditorCommandSet & instance() noexcept
Definition editorcommandset.h:60
EditorCommand zoomOut
Definition editorcommandset.h:862
EditorCommand inputUnitChange
Definition editorcommandset.h:412
EditorCommand findNext
Definition editorcommandset.h:138
EditorCommand libraryManager
Definition editorcommandset.h:192
EditorCommand addExampleProjects
Definition editorcommandset.h:442
EditorCommand exportLppz
Definition editorcommandset.h:496
EditorCommand gridIncrease
Definition editorcommandset.h:871
EditorCommand exportSpecctraDsn
Definition editorcommandset.h:523
EditorCommand clipboardCut
Definition editorcommandset.h:636
EditorCommand wireModeVH
Definition editorcommandset.h:1411
EditorCommand projectLibraryUpdate
Definition editorcommandset.h:291
EditorCommand toolVia
Definition editorcommandset.h:1173
EditorCommand outputJobs
Definition editorcommandset.h:596
EditorCommandCategory categoryImportExport
Definition editorcommandset.h:440
EditorCommand componentCapacitorBipolar
Definition editorcommandset.h:1505
EditorCommand planeShowAll
Definition editorcommandset.h:373
EditorCommand toolLabel
Definition editorcommandset.h:1146
EditorCommand toolRect
Definition editorcommandset.h:956
EditorCommand toolArc
Definition editorcommandset.h:983
EditorCommand undo
Definition editorcommandset.h:617
QList< EditorCommand * > getCommands(const EditorCommandCategory *category) noexcept
Definition editorcommandset.h:76
EditorCommand toolBus
Definition editorcommandset.h:1137
EditorCommand traceSelectWhole
Definition editorcommandset.h:1792
EditorCommandCategory categoryModify
Definition editorcommandset.h:615
EditorCommand wireModeStraight
Definition editorcommandset.h:1439
EditorCommand generatePickPlace
Definition editorcommandset.h:578
EditorCommand documentationOnline
Definition editorcommandset.h:1705
EditorCommand fileManager
Definition editorcommandset.h:156
EditorCommand traceMeasureLength
Definition editorcommandset.h:1801
EditorCommand toolPlane
Definition editorcommandset.h:1182
EditorCommand alignHorizontalCenter
Definition editorcommandset.h:1356
EditorCommand dockPlaceDevices
Definition editorcommandset.h:1580
EditorCommand rotateCcw
Definition editorcommandset.h:699
EditorCommand moveDown
Definition editorcommandset.h:690
EditorCommand clipboardCopy
Definition editorcommandset.h:645
EditorCommand shapeOctagon
Definition editorcommandset.h:1475
EditorCommand orderPcb
Definition editorcommandset.h:605
EditorCommand shapeRound
Definition editorcommandset.h:1448
EditorCommand shapeRect
Definition editorcommandset.h:1466
EditorCommand importKiCadLibrary
Definition editorcommandset.h:478
EditorCommand projectClose
Definition editorcommandset.h:1647
EditorCommand dockErc
Definition editorcommandset.h:1553
EditorCommand importSpecctraSes
Definition editorcommandset.h:487
EditorCommand windowClose
Definition editorcommandset.h:1638
EditorCommand ignoreLocks
Definition editorcommandset.h:908
EditorCommand importDxf
Definition editorcommandset.h:451
EditorCommand lock
Definition editorcommandset.h:774
EditorCommand wireModeHV
Definition editorcommandset.h:1401
Definition occmodel.cpp:77