From 25c5b2f057454f207a840373f1c5049a4fe9aa6d Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Sep 2022 11:09:14 +0200 Subject: [PATCH 01/52] Refactoring of resources -> separate folders for doc and icons --- scripts/compile_glyphs.rb | 7 +++ .../{ => drc_lvs_doc}/create_drc_samples.rb | 4 +- scripts/{ => drc_lvs_doc}/extract_doc.rb | 2 +- .../{ => drc_lvs_doc}/klayoutrc_drc_samples | 0 scripts/make_drc_lvs_doc.sh | 19 +++++-- src/doc/doc.pro | 19 +++++++ .../lay => doc}/doc/about/25d_screenshot.png | Bin .../lay => doc}/doc/about/25d_screenshot2.png | Bin src/{lay/lay => doc}/doc/about/25d_view.xml | 0 .../lay => doc}/doc/about/about_libraries.xml | 0 .../lay => doc}/doc/about/about_pcells.xml | 0 src/{lay/lay => doc}/doc/about/basic_lib.xml | 0 src/{lay/lay => doc}/doc/about/basic_text.png | Bin .../lay => doc}/doc/about/connectivity.xml | 0 .../lay => doc}/doc/about/custom_queries.xml | 0 .../doc/about/def_import_snapshot.png | Bin src/{lay/lay => doc}/doc/about/drc_ref.xml | 0 .../lay => doc}/doc/about/drc_ref_drc.xml | 0 .../doc/about/drc_ref_expressions.xml | 0 .../lay => doc}/doc/about/drc_ref_global.xml | 0 .../lay => doc}/doc/about/drc_ref_layer.xml | 0 .../lay => doc}/doc/about/drc_ref_netter.xml | 0 .../lay => doc}/doc/about/drc_ref_source.xml | 0 .../lay => doc}/doc/about/expressions.xml | 0 .../doc/about/ide_browser_toolbar.png | Bin .../lay => doc}/doc/about/ide_console.png | Bin .../doc/about/ide_debugging_snapshot.png | Bin .../doc/about/ide_editor_toolbar.png | Bin .../doc/about/ide_py_debugging_snapshot.png | Bin .../lay => doc}/doc/about/ide_snapshot.png | Bin src/{lay/lay => doc}/doc/about/index.xml | 0 .../lay => doc}/doc/about/layer_mapping.xml | 0 .../lay => doc}/doc/about/layer_sources.xml | 0 .../lay => doc}/doc/about/layer_specs.xml | 0 .../lay => doc}/doc/about/lef_def_import.xml | 0 .../doc/about/lef_import_snapshot.png | Bin .../doc/about/lefdef_options_snapshot.png | Bin src/{lay/lay => doc}/doc/about/lvs_ref.xml | 0 .../lay => doc}/doc/about/lvs_ref_global.xml | 0 .../lay => doc}/doc/about/lvs_ref_netter.xml | 0 .../lay => doc}/doc/about/macro_editor.xml | 0 .../lay => doc}/doc/about/macro_in_menu.xml | 0 src/{lay/lay => doc}/doc/about/packages.xml | 0 src/{lay/lay => doc}/doc/about/pie_arc.png | Bin .../lay => doc}/doc/about/rba_notation.xml | 0 src/{lay/lay => doc}/doc/about/round_path.png | Bin .../lay => doc}/doc/about/round_polygon.png | Bin .../lay => doc}/doc/about/stroked_polygon.png | Bin .../lay => doc}/doc/about/symbolic_layers.xml | 0 .../doc/about/technology_manager.xml | 0 .../doc/about/transformation_basic.png | Bin .../doc/about/transformation_overview.png | Bin .../lay => doc}/doc/about/transformations.xml | 0 .../doc/about/variant_notation.xml | 0 src/{lay/lay => doc}/doc/help_format.css | 0 src/{lay/lay => doc}/doc/images/drc_and1.png | Bin src/{lay/lay => doc}/doc/images/drc_and2.png | Bin src/{lay/lay => doc}/doc/images/drc_and3.png | Bin .../lay => doc}/doc/images/drc_centers1.png | Bin .../lay => doc}/doc/images/drc_centers2.png | Bin .../lay => doc}/doc/images/drc_corners1.png | Bin .../lay => doc}/doc/images/drc_corners2.png | Bin .../lay => doc}/doc/images/drc_corners3.png | Bin .../lay => doc}/doc/images/drc_covering.png | Bin src/{lay/lay => doc}/doc/images/drc_enc1.png | Bin src/{lay/lay => doc}/doc/images/drc_enc1u.png | Bin src/{lay/lay => doc}/doc/images/drc_enc2.png | Bin src/{lay/lay => doc}/doc/images/drc_enc2u.png | Bin src/{lay/lay => doc}/doc/images/drc_encd1.png | Bin .../lay => doc}/doc/images/drc_encd1u.png | Bin src/{lay/lay => doc}/doc/images/drc_encd2.png | Bin .../lay => doc}/doc/images/drc_encd2u.png | Bin .../doc/images/drc_end_segments1.png | Bin .../doc/images/drc_end_segments2.png | Bin .../lay => doc}/doc/images/drc_extended1.png | Bin .../lay => doc}/doc/images/drc_extended2.png | Bin .../lay => doc}/doc/images/drc_extended3.png | Bin .../lay => doc}/doc/images/drc_extended4.png | Bin .../doc/images/drc_extent_refs1.png | Bin .../doc/images/drc_extent_refs10.png | Bin .../doc/images/drc_extent_refs11.png | Bin .../doc/images/drc_extent_refs12.png | Bin .../doc/images/drc_extent_refs13.png | Bin .../doc/images/drc_extent_refs20.png | Bin .../doc/images/drc_extent_refs21.png | Bin .../doc/images/drc_extent_refs22.png | Bin .../doc/images/drc_extent_refs23.png | Bin .../doc/images/drc_extent_refs24.png | Bin .../doc/images/drc_extent_refs25.png | Bin .../doc/images/drc_extent_refs26.png | Bin .../doc/images/drc_extent_refs27.png | Bin .../doc/images/drc_extent_refs30.png | Bin .../doc/images/drc_extent_refs31.png | Bin .../lay => doc}/doc/images/drc_extents1.png | Bin .../lay => doc}/doc/images/drc_extents2.png | Bin src/{lay/lay => doc}/doc/images/drc_holes.png | Bin src/{lay/lay => doc}/doc/images/drc_hulls.png | Bin src/{lay/lay => doc}/doc/images/drc_in.png | Bin .../lay => doc}/doc/images/drc_inside.png | Bin .../lay => doc}/doc/images/drc_inside_ee.png | Bin .../lay => doc}/doc/images/drc_inside_ep.png | Bin .../doc/images/drc_inside_part.png | Bin .../doc/images/drc_interacting.png | Bin .../doc/images/drc_interacting2.png | Bin .../doc/images/drc_interacting3.png | Bin .../doc/images/drc_interacting4.png | Bin .../doc/images/drc_interacting5.png | Bin src/{lay/lay => doc}/doc/images/drc_join1.png | Bin src/{lay/lay => doc}/doc/images/drc_join2.png | Bin .../lay => doc}/doc/images/drc_merged1.png | Bin .../lay => doc}/doc/images/drc_merged2.png | Bin .../lay => doc}/doc/images/drc_merged3.png | Bin .../lay => doc}/doc/images/drc_merged4.png | Bin .../lay => doc}/doc/images/drc_middle1.png | Bin .../lay => doc}/doc/images/drc_moved1.png | Bin src/{lay/lay => doc}/doc/images/drc_not1.png | Bin src/{lay/lay => doc}/doc/images/drc_not2.png | Bin src/{lay/lay => doc}/doc/images/drc_not3.png | Bin .../doc/images/drc_not_covering.png | Bin .../lay => doc}/doc/images/drc_not_in.png | Bin .../lay => doc}/doc/images/drc_not_inside.png | Bin .../doc/images/drc_not_inside_ee.png | Bin .../doc/images/drc_not_inside_ep.png | Bin .../doc/images/drc_not_interacting.png | Bin .../doc/images/drc_not_interacting2.png | Bin .../doc/images/drc_not_interacting3.png | Bin .../doc/images/drc_not_interacting4.png | Bin .../doc/images/drc_not_interacting5.png | Bin .../doc/images/drc_not_outside.png | Bin .../doc/images/drc_not_outside_ee.png | Bin .../doc/images/drc_not_outside_ep.png | Bin .../doc/images/drc_not_overlapping.png | Bin src/{lay/lay => doc}/doc/images/drc_or1.png | Bin src/{lay/lay => doc}/doc/images/drc_or2.png | Bin .../lay => doc}/doc/images/drc_outside.png | Bin .../lay => doc}/doc/images/drc_outside_ee.png | Bin .../lay => doc}/doc/images/drc_outside_ep.png | Bin .../doc/images/drc_outside_part.png | Bin .../lay => doc}/doc/images/drc_overlap1.png | Bin .../lay => doc}/doc/images/drc_overlap1u.png | Bin .../lay => doc}/doc/images/drc_overlap2.png | Bin .../lay => doc}/doc/images/drc_overlap2u.png | Bin .../doc/images/drc_overlapping.png | Bin src/{lay/lay => doc}/doc/images/drc_raw1.png | Bin src/{lay/lay => doc}/doc/images/drc_raw2.png | Bin src/{lay/lay => doc}/doc/images/drc_raw3.png | Bin .../lay => doc}/doc/images/drc_rotated1.png | Bin .../doc/images/drc_rounded_corners.png | Bin .../lay => doc}/doc/images/drc_scaled1.png | Bin .../doc/images/drc_separation1.png | Bin .../doc/images/drc_separation10.png | Bin .../doc/images/drc_separation11.png | Bin .../doc/images/drc_separation1u.png | Bin .../doc/images/drc_separation1un.png | Bin .../doc/images/drc_separation2.png | Bin .../doc/images/drc_separation3.png | Bin .../doc/images/drc_separation4.png | Bin .../doc/images/drc_separation5.png | Bin .../doc/images/drc_separation6.png | Bin .../doc/images/drc_separation7.png | Bin .../doc/images/drc_separation8.png | Bin .../doc/images/drc_separation9.png | Bin .../lay => doc}/doc/images/drc_shielded1.png | Bin .../lay => doc}/doc/images/drc_shielded2.png | Bin .../lay => doc}/doc/images/drc_shielded3.png | Bin .../lay => doc}/doc/images/drc_shielded4.png | Bin .../lay => doc}/doc/images/drc_sized1.png | Bin .../lay => doc}/doc/images/drc_sized2.png | Bin .../lay => doc}/doc/images/drc_sized3.png | Bin .../lay => doc}/doc/images/drc_sized4.png | Bin .../lay => doc}/doc/images/drc_sized5.png | Bin .../lay => doc}/doc/images/drc_sized6.png | Bin .../lay => doc}/doc/images/drc_space1.png | Bin .../lay => doc}/doc/images/drc_space1u.png | Bin .../lay => doc}/doc/images/drc_space2.png | Bin .../lay => doc}/doc/images/drc_space2u.png | Bin .../lay => doc}/doc/images/drc_space3.png | Bin .../lay => doc}/doc/images/drc_space3u.png | Bin .../doc/images/drc_start_segments1.png | Bin .../doc/images/drc_start_segments2.png | Bin .../lay => doc}/doc/images/drc_textpoly1.png | Bin .../lay => doc}/doc/images/drc_textpoly2.png | Bin .../lay => doc}/doc/images/drc_texts1.png | Bin .../lay => doc}/doc/images/drc_texts2.png | Bin .../doc/images/drc_transformed1.png | Bin .../lay => doc}/doc/images/drc_width1.png | Bin .../lay => doc}/doc/images/drc_width1u.png | Bin .../lay => doc}/doc/images/drc_width2.png | Bin .../lay => doc}/doc/images/drc_width2u.png | Bin .../lay => doc}/doc/images/drc_width3.png | Bin .../lay => doc}/doc/images/drc_width3u.png | Bin .../lay => doc}/doc/images/drc_width4.png | Bin .../lay => doc}/doc/images/drc_width4u.png | Bin .../lay => doc}/doc/images/drc_width5u.png | Bin .../lay => doc}/doc/images/drc_width6u.png | Bin .../doc/images/drc_with_angle1.png | Bin .../doc/images/drc_with_angle2.png | Bin .../doc/images/drc_with_angle3.png | Bin .../doc/images/drc_with_angle4.png | Bin src/{lay/lay => doc}/doc/images/drc_xor1.png | Bin src/{lay/lay => doc}/doc/images/drc_xor2.png | Bin .../lay => doc}/doc/manual/adjust_origin.xml | 0 src/{lay/lay => doc}/doc/manual/advanced.xml | 0 .../manual/background_combination_modes.png | Bin .../doc/manual/background_modes.xml | 0 src/{lay/lay => doc}/doc/manual/basic.xml | 0 .../lay => doc}/doc/manual/bjt3_schematic.png | Bin .../lay => doc}/doc/manual/bjt4_schematic.png | Bin .../lay => doc}/doc/manual/bjt_ex_layout.png | Bin src/{lay/lay => doc}/doc/manual/bjt_ex_tb.png | Bin src/{lay/lay => doc}/doc/manual/bjt_ex_tc.png | Bin src/{lay/lay => doc}/doc/manual/bjt_ex_te.png | Bin src/{lay/lay => doc}/doc/manual/bjt_ex_ts.png | Bin .../lay => doc}/doc/manual/bjt_lateral.png | Bin .../lay => doc}/doc/manual/bjt_vertical.png | Bin .../doc/manual/bjtlat_ex_layout.png | Bin .../lay => doc}/doc/manual/bjtlat_ex_tb.png | Bin .../lay => doc}/doc/manual/bjtlat_ex_tc.png | Bin .../lay => doc}/doc/manual/bjtlat_ex_te.png | Bin .../lay => doc}/doc/manual/bjtlat_ex_ts.png | Bin src/{lay/lay => doc}/doc/manual/bookmarks.xml | 0 .../doc/manual/browse_instances.xml | 0 .../lay => doc}/doc/manual/browse_shapes.xml | 0 .../lay => doc}/doc/manual/cap_ex_layout.png | Bin src/{lay/lay => doc}/doc/manual/cap_ex_ta.png | Bin src/{lay/lay => doc}/doc/manual/cap_ex_tb.png | Bin src/{lay/lay => doc}/doc/manual/cap_ex_tw.png | Bin .../lay => doc}/doc/manual/cap_schematic.png | Bin .../doc/manual/cap_with_bulk_schematic.png | Bin src/{lay/lay => doc}/doc/manual/cell.xml | 0 src/{lay/lay => doc}/doc/manual/cell_list.xml | 0 src/{lay/lay => doc}/doc/manual/clip.xml | 0 .../lay => doc}/doc/manual/copypaste_cell.xml | 0 .../lay => doc}/doc/manual/copypaste_sel.xml | 0 .../lay => doc}/doc/manual/create_box.xml | 0 .../lay => doc}/doc/manual/create_cells.xml | 0 .../lay => doc}/doc/manual/create_cv1.png | Bin .../lay => doc}/doc/manual/create_cv2.png | Bin .../lay => doc}/doc/manual/create_cv3.png | Bin .../lay => doc}/doc/manual/create_cv4.png | Bin .../doc/manual/create_from_scratch.xml | 0 .../doc/manual/create_instance.xml | 0 .../lay => doc}/doc/manual/create_layers.xml | 0 .../lay => doc}/doc/manual/create_path.xml | 0 .../lay => doc}/doc/manual/create_polygon.xml | 0 .../lay => doc}/doc/manual/create_text.xml | 0 .../doc/manual/create_variants.xml | 0 src/{lay/lay => doc}/doc/manual/del_cell.xml | 0 src/{lay/lay => doc}/doc/manual/descend.xml | 0 src/{lay/lay => doc}/doc/manual/diff.xml | 0 .../doc/manual/diode_ex_layout.png | Bin .../lay => doc}/doc/manual/diode_ex_ta.png | Bin .../lay => doc}/doc/manual/diode_ex_tc.png | Bin .../doc/manual/diode_schematic.png | Bin src/{lay/lay => doc}/doc/manual/drc.xml | 0 src/{lay/lay => doc}/doc/manual/drc_basic.xml | 0 .../lay => doc}/doc/manual/drc_runsets.xml | 0 src/{lay/lay => doc}/doc/manual/edit_mode.xml | 0 src/{lay/lay => doc}/doc/manual/editor.xml | 0 .../doc/manual/editor_advanced.xml | 0 .../lay => doc}/doc/manual/editor_basics.xml | 0 .../doc/manual/editor_operations.xml | 0 .../lay => doc}/doc/manual/editor_options.xml | 0 .../doc/manual/editor_selection.xml | 0 .../doc/manual/explicit_hier_levels.xml | 0 .../lay => doc}/doc/manual/fill_default.png | Bin .../lay => doc}/doc/manual/fill_enhanced.png | Bin .../doc/manual/fill_second_order.png | Bin src/{lay/lay => doc}/doc/manual/flatten.xml | 0 .../lay => doc}/doc/manual/global_trans.xml | 0 src/{lay/lay => doc}/doc/manual/hiding.xml | 0 src/{lay/lay => doc}/doc/manual/hier.xml | 0 src/{lay/lay => doc}/doc/manual/hier_ops.xml | 0 .../doc/manual/hierarchy_panel.png | Bin src/{lay/lay => doc}/doc/manual/images.xml | 0 .../lay => doc}/doc/manual/import_gerber.xml | 0 .../lay => doc}/doc/manual/import_layout.xml | 0 src/{lay/lay => doc}/doc/manual/index.xml | 0 src/{lay/lay => doc}/doc/manual/inv.png | Bin .../lay => doc}/doc/manual/inv_explicit.png | Bin .../doc/manual/inv_no_transistors.png | Bin .../lay => doc}/doc/manual/inv_schematic.png | Bin .../lay => doc}/doc/manual/inv_schematic2.png | Bin .../doc/manual/inv_transistors.png | Bin .../doc/manual/inv_with_diodes.png | Bin src/{lay/lay => doc}/doc/manual/landmarks.xml | 0 .../doc/manual/layer_animation.xml | 0 .../lay => doc}/doc/manual/layer_boolean.xml | 0 .../lay => doc}/doc/manual/layer_color.xml | 0 .../lay => doc}/doc/manual/layer_content.xml | 0 .../lay => doc}/doc/manual/layer_fill.xml | 0 .../lay => doc}/doc/manual/layer_hier.xml | 0 src/{lay/lay => doc}/doc/manual/layer_ops.xml | 0 .../lay => doc}/doc/manual/layer_order.xml | 0 .../lay => doc}/doc/manual/layer_size.xml | 0 .../lay => doc}/doc/manual/layer_source.xml | 0 .../doc/manual/layer_source_expert.xml | 0 .../lay => doc}/doc/manual/layer_style.xml | 0 .../lay => doc}/doc/manual/layer_tabs.xml | 0 .../lay => doc}/doc/manual/layer_validity.xml | 0 .../lay => doc}/doc/manual/layer_views.xml | 0 .../doc/manual/layer_visibility.xml | 0 .../doc/manual/layout_transforms.xml | 0 .../lay => doc}/doc/manual/library_view.png | Bin .../lay => doc}/doc/manual/library_view.xml | 0 .../lay => doc}/doc/manual/line_style.xml | 0 .../doc/manual/load_save_layers.xml | 0 src/{lay/lay => doc}/doc/manual/loading.xml | 0 src/{lay/lay => doc}/doc/manual/lvs.xml | 0 .../lay => doc}/doc/manual/lvs_browser.png | Bin .../lay => doc}/doc/manual/lvs_compare.xml | 0 .../lay => doc}/doc/manual/lvs_connect.xml | 0 .../doc/manual/lvs_device_classes.xml | 0 .../doc/manual/lvs_device_extractors.xml | 0 .../lay => doc}/doc/manual/lvs_devices.xml | 0 src/{lay/lay => doc}/doc/manual/lvs_intro.xml | 0 src/{lay/lay => doc}/doc/manual/lvs_io.xml | 0 .../lay => doc}/doc/manual/lvs_overview.xml | 0 .../lay => doc}/doc/manual/lvs_symm_nodes.png | Bin .../lay => doc}/doc/manual/lvs_tweaks.xml | 0 .../lay => doc}/doc/manual/main_window.png | Bin .../lay => doc}/doc/manual/main_window.xml | 0 .../doc/manual/main_window_org.png | Bin .../lay => doc}/doc/manual/marker_browser.xml | 0 .../lay => doc}/doc/manual/max_coherence.png | Bin src/{lay/lay => doc}/doc/manual/measure.xml | 0 .../doc/manual/metal_connections.png | Bin .../lay => doc}/doc/manual/min_coherence.png | Bin .../lay => doc}/doc/manual/mos3_schematic.png | Bin .../lay => doc}/doc/manual/mos4_schematic.png | Bin .../lay => doc}/doc/manual/mos_ex_layout.png | Bin src/{lay/lay => doc}/doc/manual/mos_ex_tb.png | Bin src/{lay/lay => doc}/doc/manual/mos_ex_td.png | Bin src/{lay/lay => doc}/doc/manual/mos_ex_tg.png | Bin src/{lay/lay => doc}/doc/manual/mos_ex_ts.png | Bin .../lay => doc}/doc/manual/move_layer_sel.xml | 0 src/{lay/lay => doc}/doc/manual/move_sel.xml | 0 src/{lay/lay => doc}/doc/manual/navigator.png | Bin src/{lay/lay => doc}/doc/manual/net_graph.png | Bin .../lay => doc}/doc/manual/net_tracing.xml | 0 .../lay => doc}/doc/manual/object_align.xml | 0 src/{lay/lay => doc}/doc/manual/panels.xml | 0 src/{lay/lay => doc}/doc/manual/partial.xml | 0 .../doc/manual/partial_vs_full.xml | 0 src/{lay/lay => doc}/doc/manual/pcb_1x.png | Bin src/{lay/lay => doc}/doc/manual/pcb_2x.png | Bin src/{lay/lay => doc}/doc/manual/pcb_3x.png | Bin .../doc/manual/pcb_import_free_flow_1.png | Bin .../doc/manual/pcb_import_free_flow_2.png | Bin .../doc/manual/pcb_import_free_flow_3.png | Bin .../doc/manual/pcb_import_free_flow_4.png | Bin .../doc/manual/pcb_import_free_flow_5.png | Bin .../doc/manual/pcb_import_free_flow_6.png | Bin .../doc/manual/pcb_import_free_flow_7.png | Bin .../doc/manual/pcb_import_stack_flow_1.png | Bin .../doc/manual/pcb_import_stack_flow_2.png | Bin .../doc/manual/pcb_import_stack_flow_3.png | Bin .../doc/manual/pcb_import_stack_flow_4.png | Bin .../doc/manual/pcb_import_stack_flow_5.png | Bin .../doc/manual/pcb_import_stack_flow_6.png | Bin .../doc/manual/pcb_import_stack_flow_7.png | Bin .../doc/manual/pcell_operations.xml | 0 .../lay => doc}/doc/manual/pick_and_drop.xml | 0 .../lay => doc}/doc/manual/rename_cell.xml | 0 .../lay => doc}/doc/manual/res_ex_layout.png | Bin src/{lay/lay => doc}/doc/manual/res_ex_ta.png | Bin src/{lay/lay => doc}/doc/manual/res_ex_tb.png | Bin src/{lay/lay => doc}/doc/manual/res_ex_tw.png | Bin .../lay => doc}/doc/manual/res_schematic.png | Bin .../doc/manual/res_with_bulk_schematic.png | Bin .../lay => doc}/doc/manual/resolve_arrays.xml | 0 .../lay => doc}/doc/manual/round_corners.png | Bin .../lay => doc}/doc/manual/round_corners.xml | 0 .../doc/manual/ruler_properties.xml | 0 src/{lay/lay => doc}/doc/manual/save.xml | 0 .../lay => doc}/doc/manual/screenshots.xml | 0 .../lay => doc}/doc/manual/search_replace.xml | 0 src/{lay/lay => doc}/doc/manual/selecting.xml | 0 src/{lay/lay => doc}/doc/manual/session.xml | 0 src/{lay/lay => doc}/doc/manual/setup.xml | 0 .../lay => doc}/doc/manual/shape_boolean.xml | 0 .../lay => doc}/doc/manual/shape_size.xml | 0 .../lay => doc}/doc/manual/size_modes.png | Bin .../doc/manual/substrate_connections.png | Bin .../lay => doc}/doc/manual/symm_nodes.png | Bin .../doc/manual/technology_manager.xml | 0 src/{lay/lay => doc}/doc/manual/tiling.xml | 0 src/{lay/lay => doc}/doc/manual/trans_sel.xml | 0 src/{lay/lay => doc}/doc/manual/undo_redo.xml | 0 .../lay => doc}/doc/manual/view_options.xml | 0 .../lay => doc}/doc/manual/view_state.xml | 0 src/{lay/lay => doc}/doc/manual/xor.xml | 0 src/{lay/lay => doc}/doc/manual/zoom.xml | 0 .../doc/programming/application_api.xml | 0 src/{lay/lay => doc}/doc/programming/box.png | Bin .../doc/programming/database_api.xml | 0 .../doc/programming/edge_relations.png | Bin .../lay => doc}/doc/programming/events.xml | 0 .../doc/programming/geometry_api.xml | 0 .../lay => doc}/doc/programming/index.xml | 0 .../doc/programming/introduction.xml | 0 src/{lay/lay => doc}/doc/programming/path.png | Bin .../lay => doc}/doc/programming/polygon.png | Bin .../lay => doc}/doc/programming/python.xml | 0 .../doc/programming/qt_binding.xml | 0 .../doc/programming/round_ended_path.png | Bin .../doc/programming/ruby_binding.xml | 0 .../doc/programming/ruby_binding_basic.png | Bin .../doc/programming/ruby_binding_callback.png | Bin .../doc/programming/ruby_pcells.xml | 0 .../doc/programming/simple_polygon.png | Bin src/doc/docCommon.h | 51 ++++++++++++++++++ .../docDRCLVSResources.qrc} | 0 src/doc/docForceLink.cc | 32 +++++++++++ src/doc/docForceLink.h | 40 ++++++++++++++ .../docResources.qrc} | 0 src/icons/icons.pro | 18 +++++++ .../lay/layResources.qrc => icons/icons.qrc} | 4 -- src/icons/iconsCommon.h | 51 ++++++++++++++++++ src/icons/iconsForceLink.cc | 32 +++++++++++ src/icons/iconsForceLink.h | 40 ++++++++++++++ src/{lay/lay => icons}/images/add.png | Bin .../lay => icons}/images/align_bottom.png | Bin .../lay => icons}/images/align_hcenter.png | Bin src/{lay/lay => icons}/images/align_left.png | Bin src/{lay/lay => icons}/images/align_none.png | Bin src/{lay/lay => icons}/images/align_right.png | Bin src/{lay/lay => icons}/images/align_top.png | Bin .../lay => icons}/images/align_vcenter.png | Bin src/{lay/lay => icons}/images/back.png | Bin src/{lay/lay => icons}/images/back_16.png | Bin src/{lay/lay => icons}/images/blue_flag.png | Bin src/{lay/lay => icons}/images/bookmark.png | Bin src/{lay/lay => icons}/images/bookmark_16.png | Bin src/{lay/lay => icons}/images/box.png | Bin src/{lay/lay => icons}/images/breakpoint.png | Bin .../lay => icons}/images/breakpointmark.png | Bin .../images/breakpointmarkdisabled.png | Bin src/{lay/lay => icons}/images/bright.png | Bin src/{lay/lay => icons}/images/bug.png | Bin src/{lay/lay => icons}/images/bulb.png | Bin src/{lay/lay => icons}/images/cb.png | Bin src/{lay/lay => icons}/images/cc.png | Bin src/{lay/lay => icons}/images/checked.png | Bin src/{lay/lay => icons}/images/clear.png | Bin src/{lay/lay => icons}/images/clear_edit.png | Bin .../lay => icons}/images/clearbreakpoints.png | Bin src/{lay/lay => icons}/images/close.png | Bin src/{lay/lay => icons}/images/cm_add.png | Bin src/{lay/lay => icons}/images/cm_diff.png | Bin src/{lay/lay => icons}/images/cm_erase.png | Bin src/{lay/lay => icons}/images/cm_mask.png | Bin src/{lay/lay => icons}/images/cm_merge.png | Bin src/{lay/lay => icons}/images/ct.png | Bin src/{lay/lay => icons}/images/dark.png | Bin src/{lay/lay => icons}/images/debug.png | Bin .../lay => icons}/images/defaultmacroicon.png | Bin src/{lay/lay => icons}/images/del.png | Bin src/{lay/lay => icons}/images/down.png | Bin src/{lay/lay => icons}/images/downdown.png | Bin src/{lay/lay => icons}/images/edit.png | Bin src/{lay/lay => icons}/images/empty_12.png | Bin src/{lay/lay => icons}/images/empty_16.png | Bin src/{lay/lay => icons}/images/error2_16.png | Bin src/{lay/lay => icons}/images/error_16.png | Bin src/{lay/lay => icons}/images/execmark.png | Bin src/{lay/lay => icons}/images/file_12.png | Bin src/{lay/lay => icons}/images/find.png | Bin src/{lay/lay => icons}/images/fit_back.png | Bin src/{lay/lay => icons}/images/fit_bottom.png | Bin src/{lay/lay => icons}/images/fit_front.png | Bin src/{lay/lay => icons}/images/fit_left.png | Bin src/{lay/lay => icons}/images/fit_right.png | Bin src/{lay/lay => icons}/images/fit_top.png | Bin src/{lay/lay => icons}/images/fliph.png | Bin src/{lay/lay => icons}/images/flipv.png | Bin src/{lay/lay => icons}/images/folder.png | Bin src/{lay/lay => icons}/images/folder_12.png | Bin src/{lay/lay => icons}/images/forward.png | Bin src/{lay/lay => icons}/images/forward_16.png | Bin .../lay => icons}/images/generalmacroicon.png | Bin .../images/generalmacroiconactive.png | Bin src/{lay/lay => icons}/images/green_flag.png | Bin src/{lay/lay => icons}/images/gtf_basic.png | Bin src/{lay/lay => icons}/images/gtf_lb.png | Bin src/{lay/lay => icons}/images/gtf_mb.png | Bin src/{lay/lay => icons}/images/gtf_rb.png | Bin src/{lay/lay => icons}/images/help.png | Bin src/{lay/lay => icons}/images/home.png | Bin src/{lay/lay => icons}/images/import.png | Bin src/{lay/lay => icons}/images/important.png | Bin src/{lay/lay => icons}/images/info_16.png | Bin src/{lay/lay => icons}/images/instance.png | Bin src/{lay/lay => icons}/images/invert.png | Bin src/{lay/lay => icons}/images/lb.png | Bin src/{lay/lay => icons}/images/lc.png | Bin src/{lay/lay => icons}/images/left.png | Bin src/{lay/lay => icons}/images/locked_16.png | Bin src/{lay/lay => icons}/images/logo.png | Bin src/{lay/lay => icons}/images/lt.png | Bin src/{lay/lay => icons}/images/m0.png | Bin src/{lay/lay => icons}/images/m135.png | Bin src/{lay/lay => icons}/images/m45.png | Bin src/{lay/lay => icons}/images/m90.png | Bin src/{lay/lay => icons}/images/marked_16.png | Bin src/{lay/lay => icons}/images/marked_24.png | Bin src/{lay/lay => icons}/images/marked_64.png | Bin src/{lay/lay => icons}/images/move.png | Bin src/{lay/lay => icons}/images/move_simple.png | Bin src/{lay/lay => icons}/images/neutral.png | Bin src/{lay/lay => icons}/images/new_folder.png | Bin src/{lay/lay => icons}/images/next_topic.png | Bin src/{lay/lay => icons}/images/nextstep.png | Bin src/{lay/lay => icons}/images/no_flag.png | Bin src/{lay/lay => icons}/images/nophoto.png | Bin .../lay => icons}/images/options_edit.png | Bin src/{lay/lay => icons}/images/partial.png | Bin src/{lay/lay => icons}/images/path.png | Bin src/{lay/lay => icons}/images/pause.png | Bin src/{lay/lay => icons}/images/photo.png | Bin src/{lay/lay => icons}/images/polygon.png | Bin src/{lay/lay => icons}/images/prev_topic.png | Bin src/{lay/lay => icons}/images/properties.png | Bin .../lay => icons}/images/pythonmacroicon.png | Bin .../images/pythonmacroiconactive.png | Bin src/{lay/lay => icons}/images/r0.png | Bin src/{lay/lay => icons}/images/r180.png | Bin src/{lay/lay => icons}/images/r270.png | Bin src/{lay/lay => icons}/images/r90.png | Bin src/{lay/lay => icons}/images/rb.png | Bin src/{lay/lay => icons}/images/rc.png | Bin src/{lay/lay => icons}/images/red_flag.png | Bin src/{lay/lay => icons}/images/rename.png | Bin src/{lay/lay => icons}/images/replace.png | Bin src/{lay/lay => icons}/images/replace_all.png | Bin src/{lay/lay => icons}/images/right.png | Bin src/{lay/lay => icons}/images/rotate.png | Bin src/{lay/lay => icons}/images/rt.png | Bin .../lay => icons}/images/rubymacroicon.png | Bin .../images/rubymacroiconactive.png | Bin src/{lay/lay => icons}/images/ruler.png | Bin src/{lay/lay => icons}/images/run.png | Bin src/{lay/lay => icons}/images/runthis.png | Bin src/{lay/lay => icons}/images/salt.png | Bin src/{lay/lay => icons}/images/salt_icon.png | Bin src/{lay/lay => icons}/images/save.png | Bin src/{lay/lay => icons}/images/save_all.png | Bin src/{lay/lay => icons}/images/select.png | Bin src/{lay/lay => icons}/images/setup.png | Bin src/{lay/lay => icons}/images/singlestep.png | Bin src/{lay/lay => icons}/images/stop.png | Bin src/{lay/lay => icons}/images/techs.png | Bin src/{lay/lay => icons}/images/text.png | Bin .../lay => icons}/images/textdocumenticon.png | Bin src/{lay/lay => icons}/images/unchecked.png | Bin src/{lay/lay => icons}/images/unlocked_16.png | Bin src/{lay/lay => icons}/images/up.png | Bin src/{lay/lay => icons}/images/upup.png | Bin src/{lay/lay => icons}/images/waived.png | Bin src/{lay/lay => icons}/images/warn.png | Bin src/{lay/lay => icons}/images/warn_16.png | Bin src/{lay/lay => icons}/images/yellow_flag.png | Bin src/klayout.pri | 2 + src/klayout.pro | 2 + src/klayout_main/klayout_main/klayout.cc | 2 + .../klayout_main/klayout_main.pro | 7 +-- src/lay/lay/doc/navigator_sep.png | Bin 274 -> 0 bytes src/lay/lay/lay.pro | 4 +- src/lay/lay/laySyntaxHighlighters.qrc | 6 +++ src/laybasic/laybasic/laybasic.pro | 1 - src/layui/layui/laySaveLayoutOptionsDialog.h | 2 +- 571 files changed, 327 insertions(+), 18 deletions(-) rename scripts/{ => drc_lvs_doc}/create_drc_samples.rb (99%) rename scripts/{ => drc_lvs_doc}/extract_doc.rb (99%) rename scripts/{ => drc_lvs_doc}/klayoutrc_drc_samples (100%) create mode 100644 src/doc/doc.pro rename src/{lay/lay => doc}/doc/about/25d_screenshot.png (100%) rename src/{lay/lay => doc}/doc/about/25d_screenshot2.png (100%) rename src/{lay/lay => doc}/doc/about/25d_view.xml (100%) rename src/{lay/lay => doc}/doc/about/about_libraries.xml (100%) rename src/{lay/lay => doc}/doc/about/about_pcells.xml (100%) rename src/{lay/lay => doc}/doc/about/basic_lib.xml (100%) rename src/{lay/lay => doc}/doc/about/basic_text.png (100%) rename src/{lay/lay => doc}/doc/about/connectivity.xml (100%) rename src/{lay/lay => doc}/doc/about/custom_queries.xml (100%) rename src/{lay/lay => doc}/doc/about/def_import_snapshot.png (100%) rename src/{lay/lay => doc}/doc/about/drc_ref.xml (100%) rename src/{lay/lay => doc}/doc/about/drc_ref_drc.xml (100%) rename src/{lay/lay => doc}/doc/about/drc_ref_expressions.xml (100%) rename src/{lay/lay => doc}/doc/about/drc_ref_global.xml (100%) rename src/{lay/lay => doc}/doc/about/drc_ref_layer.xml (100%) rename src/{lay/lay => doc}/doc/about/drc_ref_netter.xml (100%) rename src/{lay/lay => doc}/doc/about/drc_ref_source.xml (100%) rename src/{lay/lay => doc}/doc/about/expressions.xml (100%) rename src/{lay/lay => doc}/doc/about/ide_browser_toolbar.png (100%) rename src/{lay/lay => doc}/doc/about/ide_console.png (100%) rename src/{lay/lay => doc}/doc/about/ide_debugging_snapshot.png (100%) rename src/{lay/lay => doc}/doc/about/ide_editor_toolbar.png (100%) rename src/{lay/lay => doc}/doc/about/ide_py_debugging_snapshot.png (100%) rename src/{lay/lay => doc}/doc/about/ide_snapshot.png (100%) rename src/{lay/lay => doc}/doc/about/index.xml (100%) rename src/{lay/lay => doc}/doc/about/layer_mapping.xml (100%) rename src/{lay/lay => doc}/doc/about/layer_sources.xml (100%) rename src/{lay/lay => doc}/doc/about/layer_specs.xml (100%) rename src/{lay/lay => doc}/doc/about/lef_def_import.xml (100%) rename src/{lay/lay => doc}/doc/about/lef_import_snapshot.png (100%) rename src/{lay/lay => doc}/doc/about/lefdef_options_snapshot.png (100%) rename src/{lay/lay => doc}/doc/about/lvs_ref.xml (100%) rename src/{lay/lay => doc}/doc/about/lvs_ref_global.xml (100%) rename src/{lay/lay => doc}/doc/about/lvs_ref_netter.xml (100%) rename src/{lay/lay => doc}/doc/about/macro_editor.xml (100%) rename src/{lay/lay => doc}/doc/about/macro_in_menu.xml (100%) rename src/{lay/lay => doc}/doc/about/packages.xml (100%) rename src/{lay/lay => doc}/doc/about/pie_arc.png (100%) rename src/{lay/lay => doc}/doc/about/rba_notation.xml (100%) rename src/{lay/lay => doc}/doc/about/round_path.png (100%) rename src/{lay/lay => doc}/doc/about/round_polygon.png (100%) rename src/{lay/lay => doc}/doc/about/stroked_polygon.png (100%) rename src/{lay/lay => doc}/doc/about/symbolic_layers.xml (100%) rename src/{lay/lay => doc}/doc/about/technology_manager.xml (100%) rename src/{lay/lay => doc}/doc/about/transformation_basic.png (100%) rename src/{lay/lay => doc}/doc/about/transformation_overview.png (100%) rename src/{lay/lay => doc}/doc/about/transformations.xml (100%) rename src/{lay/lay => doc}/doc/about/variant_notation.xml (100%) rename src/{lay/lay => doc}/doc/help_format.css (100%) rename src/{lay/lay => doc}/doc/images/drc_and1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_and2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_and3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_centers1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_centers2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_corners1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_corners2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_corners3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_covering.png (100%) rename src/{lay/lay => doc}/doc/images/drc_enc1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_enc1u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_enc2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_enc2u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_encd1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_encd1u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_encd2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_encd2u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_end_segments1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_end_segments2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extended1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extended2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extended3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extended4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs10.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs11.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs12.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs13.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs20.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs21.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs22.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs23.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs24.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs25.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs26.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs27.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs30.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extent_refs31.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extents1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_extents2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_holes.png (100%) rename src/{lay/lay => doc}/doc/images/drc_hulls.png (100%) rename src/{lay/lay => doc}/doc/images/drc_in.png (100%) rename src/{lay/lay => doc}/doc/images/drc_inside.png (100%) rename src/{lay/lay => doc}/doc/images/drc_inside_ee.png (100%) rename src/{lay/lay => doc}/doc/images/drc_inside_ep.png (100%) rename src/{lay/lay => doc}/doc/images/drc_inside_part.png (100%) rename src/{lay/lay => doc}/doc/images/drc_interacting.png (100%) rename src/{lay/lay => doc}/doc/images/drc_interacting2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_interacting3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_interacting4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_interacting5.png (100%) rename src/{lay/lay => doc}/doc/images/drc_join1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_join2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_merged1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_merged2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_merged3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_merged4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_middle1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_moved1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_covering.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_in.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_inside.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_inside_ee.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_inside_ep.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_interacting.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_interacting2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_interacting3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_interacting4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_interacting5.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_outside.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_outside_ee.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_outside_ep.png (100%) rename src/{lay/lay => doc}/doc/images/drc_not_overlapping.png (100%) rename src/{lay/lay => doc}/doc/images/drc_or1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_or2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_outside.png (100%) rename src/{lay/lay => doc}/doc/images/drc_outside_ee.png (100%) rename src/{lay/lay => doc}/doc/images/drc_outside_ep.png (100%) rename src/{lay/lay => doc}/doc/images/drc_outside_part.png (100%) rename src/{lay/lay => doc}/doc/images/drc_overlap1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_overlap1u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_overlap2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_overlap2u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_overlapping.png (100%) rename src/{lay/lay => doc}/doc/images/drc_raw1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_raw2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_raw3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_rotated1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_rounded_corners.png (100%) rename src/{lay/lay => doc}/doc/images/drc_scaled1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation10.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation11.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation1u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation1un.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation5.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation6.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation7.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation8.png (100%) rename src/{lay/lay => doc}/doc/images/drc_separation9.png (100%) rename src/{lay/lay => doc}/doc/images/drc_shielded1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_shielded2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_shielded3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_shielded4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_sized1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_sized2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_sized3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_sized4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_sized5.png (100%) rename src/{lay/lay => doc}/doc/images/drc_sized6.png (100%) rename src/{lay/lay => doc}/doc/images/drc_space1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_space1u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_space2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_space2u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_space3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_space3u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_start_segments1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_start_segments2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_textpoly1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_textpoly2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_texts1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_texts2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_transformed1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width1u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width2u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width3u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width4u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width5u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_width6u.png (100%) rename src/{lay/lay => doc}/doc/images/drc_with_angle1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_with_angle2.png (100%) rename src/{lay/lay => doc}/doc/images/drc_with_angle3.png (100%) rename src/{lay/lay => doc}/doc/images/drc_with_angle4.png (100%) rename src/{lay/lay => doc}/doc/images/drc_xor1.png (100%) rename src/{lay/lay => doc}/doc/images/drc_xor2.png (100%) rename src/{lay/lay => doc}/doc/manual/adjust_origin.xml (100%) rename src/{lay/lay => doc}/doc/manual/advanced.xml (100%) rename src/{lay/lay => doc}/doc/manual/background_combination_modes.png (100%) rename src/{lay/lay => doc}/doc/manual/background_modes.xml (100%) rename src/{lay/lay => doc}/doc/manual/basic.xml (100%) rename src/{lay/lay => doc}/doc/manual/bjt3_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt4_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt_ex_layout.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt_ex_tb.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt_ex_tc.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt_ex_te.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt_ex_ts.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt_lateral.png (100%) rename src/{lay/lay => doc}/doc/manual/bjt_vertical.png (100%) rename src/{lay/lay => doc}/doc/manual/bjtlat_ex_layout.png (100%) rename src/{lay/lay => doc}/doc/manual/bjtlat_ex_tb.png (100%) rename src/{lay/lay => doc}/doc/manual/bjtlat_ex_tc.png (100%) rename src/{lay/lay => doc}/doc/manual/bjtlat_ex_te.png (100%) rename src/{lay/lay => doc}/doc/manual/bjtlat_ex_ts.png (100%) rename src/{lay/lay => doc}/doc/manual/bookmarks.xml (100%) rename src/{lay/lay => doc}/doc/manual/browse_instances.xml (100%) rename src/{lay/lay => doc}/doc/manual/browse_shapes.xml (100%) rename src/{lay/lay => doc}/doc/manual/cap_ex_layout.png (100%) rename src/{lay/lay => doc}/doc/manual/cap_ex_ta.png (100%) rename src/{lay/lay => doc}/doc/manual/cap_ex_tb.png (100%) rename src/{lay/lay => doc}/doc/manual/cap_ex_tw.png (100%) rename src/{lay/lay => doc}/doc/manual/cap_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/cap_with_bulk_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/cell.xml (100%) rename src/{lay/lay => doc}/doc/manual/cell_list.xml (100%) rename src/{lay/lay => doc}/doc/manual/clip.xml (100%) rename src/{lay/lay => doc}/doc/manual/copypaste_cell.xml (100%) rename src/{lay/lay => doc}/doc/manual/copypaste_sel.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_box.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_cells.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_cv1.png (100%) rename src/{lay/lay => doc}/doc/manual/create_cv2.png (100%) rename src/{lay/lay => doc}/doc/manual/create_cv3.png (100%) rename src/{lay/lay => doc}/doc/manual/create_cv4.png (100%) rename src/{lay/lay => doc}/doc/manual/create_from_scratch.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_instance.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_layers.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_path.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_polygon.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_text.xml (100%) rename src/{lay/lay => doc}/doc/manual/create_variants.xml (100%) rename src/{lay/lay => doc}/doc/manual/del_cell.xml (100%) rename src/{lay/lay => doc}/doc/manual/descend.xml (100%) rename src/{lay/lay => doc}/doc/manual/diff.xml (100%) rename src/{lay/lay => doc}/doc/manual/diode_ex_layout.png (100%) rename src/{lay/lay => doc}/doc/manual/diode_ex_ta.png (100%) rename src/{lay/lay => doc}/doc/manual/diode_ex_tc.png (100%) rename src/{lay/lay => doc}/doc/manual/diode_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/drc.xml (100%) rename src/{lay/lay => doc}/doc/manual/drc_basic.xml (100%) rename src/{lay/lay => doc}/doc/manual/drc_runsets.xml (100%) rename src/{lay/lay => doc}/doc/manual/edit_mode.xml (100%) rename src/{lay/lay => doc}/doc/manual/editor.xml (100%) rename src/{lay/lay => doc}/doc/manual/editor_advanced.xml (100%) rename src/{lay/lay => doc}/doc/manual/editor_basics.xml (100%) rename src/{lay/lay => doc}/doc/manual/editor_operations.xml (100%) rename src/{lay/lay => doc}/doc/manual/editor_options.xml (100%) rename src/{lay/lay => doc}/doc/manual/editor_selection.xml (100%) rename src/{lay/lay => doc}/doc/manual/explicit_hier_levels.xml (100%) rename src/{lay/lay => doc}/doc/manual/fill_default.png (100%) rename src/{lay/lay => doc}/doc/manual/fill_enhanced.png (100%) rename src/{lay/lay => doc}/doc/manual/fill_second_order.png (100%) rename src/{lay/lay => doc}/doc/manual/flatten.xml (100%) rename src/{lay/lay => doc}/doc/manual/global_trans.xml (100%) rename src/{lay/lay => doc}/doc/manual/hiding.xml (100%) rename src/{lay/lay => doc}/doc/manual/hier.xml (100%) rename src/{lay/lay => doc}/doc/manual/hier_ops.xml (100%) rename src/{lay/lay => doc}/doc/manual/hierarchy_panel.png (100%) rename src/{lay/lay => doc}/doc/manual/images.xml (100%) rename src/{lay/lay => doc}/doc/manual/import_gerber.xml (100%) rename src/{lay/lay => doc}/doc/manual/import_layout.xml (100%) rename src/{lay/lay => doc}/doc/manual/index.xml (100%) rename src/{lay/lay => doc}/doc/manual/inv.png (100%) rename src/{lay/lay => doc}/doc/manual/inv_explicit.png (100%) rename src/{lay/lay => doc}/doc/manual/inv_no_transistors.png (100%) rename src/{lay/lay => doc}/doc/manual/inv_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/inv_schematic2.png (100%) rename src/{lay/lay => doc}/doc/manual/inv_transistors.png (100%) rename src/{lay/lay => doc}/doc/manual/inv_with_diodes.png (100%) rename src/{lay/lay => doc}/doc/manual/landmarks.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_animation.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_boolean.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_color.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_content.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_fill.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_hier.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_ops.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_order.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_size.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_source.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_source_expert.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_style.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_tabs.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_validity.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_views.xml (100%) rename src/{lay/lay => doc}/doc/manual/layer_visibility.xml (100%) rename src/{lay/lay => doc}/doc/manual/layout_transforms.xml (100%) rename src/{lay/lay => doc}/doc/manual/library_view.png (100%) rename src/{lay/lay => doc}/doc/manual/library_view.xml (100%) rename src/{lay/lay => doc}/doc/manual/line_style.xml (100%) rename src/{lay/lay => doc}/doc/manual/load_save_layers.xml (100%) rename src/{lay/lay => doc}/doc/manual/loading.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_browser.png (100%) rename src/{lay/lay => doc}/doc/manual/lvs_compare.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_connect.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_device_classes.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_device_extractors.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_devices.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_intro.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_io.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_overview.xml (100%) rename src/{lay/lay => doc}/doc/manual/lvs_symm_nodes.png (100%) rename src/{lay/lay => doc}/doc/manual/lvs_tweaks.xml (100%) rename src/{lay/lay => doc}/doc/manual/main_window.png (100%) rename src/{lay/lay => doc}/doc/manual/main_window.xml (100%) rename src/{lay/lay => doc}/doc/manual/main_window_org.png (100%) rename src/{lay/lay => doc}/doc/manual/marker_browser.xml (100%) rename src/{lay/lay => doc}/doc/manual/max_coherence.png (100%) rename src/{lay/lay => doc}/doc/manual/measure.xml (100%) rename src/{lay/lay => doc}/doc/manual/metal_connections.png (100%) rename src/{lay/lay => doc}/doc/manual/min_coherence.png (100%) rename src/{lay/lay => doc}/doc/manual/mos3_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/mos4_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/mos_ex_layout.png (100%) rename src/{lay/lay => doc}/doc/manual/mos_ex_tb.png (100%) rename src/{lay/lay => doc}/doc/manual/mos_ex_td.png (100%) rename src/{lay/lay => doc}/doc/manual/mos_ex_tg.png (100%) rename src/{lay/lay => doc}/doc/manual/mos_ex_ts.png (100%) rename src/{lay/lay => doc}/doc/manual/move_layer_sel.xml (100%) rename src/{lay/lay => doc}/doc/manual/move_sel.xml (100%) rename src/{lay/lay => doc}/doc/manual/navigator.png (100%) rename src/{lay/lay => doc}/doc/manual/net_graph.png (100%) rename src/{lay/lay => doc}/doc/manual/net_tracing.xml (100%) rename src/{lay/lay => doc}/doc/manual/object_align.xml (100%) rename src/{lay/lay => doc}/doc/manual/panels.xml (100%) rename src/{lay/lay => doc}/doc/manual/partial.xml (100%) rename src/{lay/lay => doc}/doc/manual/partial_vs_full.xml (100%) rename src/{lay/lay => doc}/doc/manual/pcb_1x.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_2x.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_3x.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_free_flow_1.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_free_flow_2.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_free_flow_3.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_free_flow_4.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_free_flow_5.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_free_flow_6.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_free_flow_7.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_stack_flow_1.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_stack_flow_2.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_stack_flow_3.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_stack_flow_4.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_stack_flow_5.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_stack_flow_6.png (100%) rename src/{lay/lay => doc}/doc/manual/pcb_import_stack_flow_7.png (100%) rename src/{lay/lay => doc}/doc/manual/pcell_operations.xml (100%) rename src/{lay/lay => doc}/doc/manual/pick_and_drop.xml (100%) rename src/{lay/lay => doc}/doc/manual/rename_cell.xml (100%) rename src/{lay/lay => doc}/doc/manual/res_ex_layout.png (100%) rename src/{lay/lay => doc}/doc/manual/res_ex_ta.png (100%) rename src/{lay/lay => doc}/doc/manual/res_ex_tb.png (100%) rename src/{lay/lay => doc}/doc/manual/res_ex_tw.png (100%) rename src/{lay/lay => doc}/doc/manual/res_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/res_with_bulk_schematic.png (100%) rename src/{lay/lay => doc}/doc/manual/resolve_arrays.xml (100%) rename src/{lay/lay => doc}/doc/manual/round_corners.png (100%) rename src/{lay/lay => doc}/doc/manual/round_corners.xml (100%) rename src/{lay/lay => doc}/doc/manual/ruler_properties.xml (100%) rename src/{lay/lay => doc}/doc/manual/save.xml (100%) rename src/{lay/lay => doc}/doc/manual/screenshots.xml (100%) rename src/{lay/lay => doc}/doc/manual/search_replace.xml (100%) rename src/{lay/lay => doc}/doc/manual/selecting.xml (100%) rename src/{lay/lay => doc}/doc/manual/session.xml (100%) rename src/{lay/lay => doc}/doc/manual/setup.xml (100%) rename src/{lay/lay => doc}/doc/manual/shape_boolean.xml (100%) rename src/{lay/lay => doc}/doc/manual/shape_size.xml (100%) rename src/{lay/lay => doc}/doc/manual/size_modes.png (100%) rename src/{lay/lay => doc}/doc/manual/substrate_connections.png (100%) rename src/{lay/lay => doc}/doc/manual/symm_nodes.png (100%) rename src/{lay/lay => doc}/doc/manual/technology_manager.xml (100%) rename src/{lay/lay => doc}/doc/manual/tiling.xml (100%) rename src/{lay/lay => doc}/doc/manual/trans_sel.xml (100%) rename src/{lay/lay => doc}/doc/manual/undo_redo.xml (100%) rename src/{lay/lay => doc}/doc/manual/view_options.xml (100%) rename src/{lay/lay => doc}/doc/manual/view_state.xml (100%) rename src/{lay/lay => doc}/doc/manual/xor.xml (100%) rename src/{lay/lay => doc}/doc/manual/zoom.xml (100%) rename src/{lay/lay => doc}/doc/programming/application_api.xml (100%) rename src/{lay/lay => doc}/doc/programming/box.png (100%) rename src/{lay/lay => doc}/doc/programming/database_api.xml (100%) rename src/{lay/lay => doc}/doc/programming/edge_relations.png (100%) rename src/{lay/lay => doc}/doc/programming/events.xml (100%) rename src/{lay/lay => doc}/doc/programming/geometry_api.xml (100%) rename src/{lay/lay => doc}/doc/programming/index.xml (100%) rename src/{lay/lay => doc}/doc/programming/introduction.xml (100%) rename src/{lay/lay => doc}/doc/programming/path.png (100%) rename src/{lay/lay => doc}/doc/programming/polygon.png (100%) rename src/{lay/lay => doc}/doc/programming/python.xml (100%) rename src/{lay/lay => doc}/doc/programming/qt_binding.xml (100%) rename src/{lay/lay => doc}/doc/programming/round_ended_path.png (100%) rename src/{lay/lay => doc}/doc/programming/ruby_binding.xml (100%) rename src/{lay/lay => doc}/doc/programming/ruby_binding_basic.png (100%) rename src/{lay/lay => doc}/doc/programming/ruby_binding_callback.png (100%) rename src/{lay/lay => doc}/doc/programming/ruby_pcells.xml (100%) rename src/{lay/lay => doc}/doc/programming/simple_polygon.png (100%) create mode 100644 src/doc/docCommon.h rename src/{lay/lay/layDRCLVSHelpResources.qrc => doc/docDRCLVSResources.qrc} (100%) create mode 100644 src/doc/docForceLink.cc create mode 100644 src/doc/docForceLink.h rename src/{lay/lay/layHelpResources.qrc => doc/docResources.qrc} (100%) create mode 100644 src/icons/icons.pro rename src/{lay/lay/layResources.qrc => icons/icons.qrc} (98%) create mode 100644 src/icons/iconsCommon.h create mode 100644 src/icons/iconsForceLink.cc create mode 100644 src/icons/iconsForceLink.h rename src/{lay/lay => icons}/images/add.png (100%) rename src/{lay/lay => icons}/images/align_bottom.png (100%) rename src/{lay/lay => icons}/images/align_hcenter.png (100%) rename src/{lay/lay => icons}/images/align_left.png (100%) rename src/{lay/lay => icons}/images/align_none.png (100%) rename src/{lay/lay => icons}/images/align_right.png (100%) rename src/{lay/lay => icons}/images/align_top.png (100%) rename src/{lay/lay => icons}/images/align_vcenter.png (100%) rename src/{lay/lay => icons}/images/back.png (100%) rename src/{lay/lay => icons}/images/back_16.png (100%) rename src/{lay/lay => icons}/images/blue_flag.png (100%) rename src/{lay/lay => icons}/images/bookmark.png (100%) rename src/{lay/lay => icons}/images/bookmark_16.png (100%) rename src/{lay/lay => icons}/images/box.png (100%) rename src/{lay/lay => icons}/images/breakpoint.png (100%) rename src/{lay/lay => icons}/images/breakpointmark.png (100%) rename src/{lay/lay => icons}/images/breakpointmarkdisabled.png (100%) rename src/{lay/lay => icons}/images/bright.png (100%) rename src/{lay/lay => icons}/images/bug.png (100%) rename src/{lay/lay => icons}/images/bulb.png (100%) rename src/{lay/lay => icons}/images/cb.png (100%) rename src/{lay/lay => icons}/images/cc.png (100%) rename src/{lay/lay => icons}/images/checked.png (100%) rename src/{lay/lay => icons}/images/clear.png (100%) rename src/{lay/lay => icons}/images/clear_edit.png (100%) rename src/{lay/lay => icons}/images/clearbreakpoints.png (100%) rename src/{lay/lay => icons}/images/close.png (100%) rename src/{lay/lay => icons}/images/cm_add.png (100%) rename src/{lay/lay => icons}/images/cm_diff.png (100%) rename src/{lay/lay => icons}/images/cm_erase.png (100%) rename src/{lay/lay => icons}/images/cm_mask.png (100%) rename src/{lay/lay => icons}/images/cm_merge.png (100%) rename src/{lay/lay => icons}/images/ct.png (100%) rename src/{lay/lay => icons}/images/dark.png (100%) rename src/{lay/lay => icons}/images/debug.png (100%) rename src/{lay/lay => icons}/images/defaultmacroicon.png (100%) rename src/{lay/lay => icons}/images/del.png (100%) rename src/{lay/lay => icons}/images/down.png (100%) rename src/{lay/lay => icons}/images/downdown.png (100%) rename src/{lay/lay => icons}/images/edit.png (100%) rename src/{lay/lay => icons}/images/empty_12.png (100%) rename src/{lay/lay => icons}/images/empty_16.png (100%) rename src/{lay/lay => icons}/images/error2_16.png (100%) rename src/{lay/lay => icons}/images/error_16.png (100%) rename src/{lay/lay => icons}/images/execmark.png (100%) rename src/{lay/lay => icons}/images/file_12.png (100%) rename src/{lay/lay => icons}/images/find.png (100%) rename src/{lay/lay => icons}/images/fit_back.png (100%) rename src/{lay/lay => icons}/images/fit_bottom.png (100%) rename src/{lay/lay => icons}/images/fit_front.png (100%) rename src/{lay/lay => icons}/images/fit_left.png (100%) rename src/{lay/lay => icons}/images/fit_right.png (100%) rename src/{lay/lay => icons}/images/fit_top.png (100%) rename src/{lay/lay => icons}/images/fliph.png (100%) rename src/{lay/lay => icons}/images/flipv.png (100%) rename src/{lay/lay => icons}/images/folder.png (100%) rename src/{lay/lay => icons}/images/folder_12.png (100%) rename src/{lay/lay => icons}/images/forward.png (100%) rename src/{lay/lay => icons}/images/forward_16.png (100%) rename src/{lay/lay => icons}/images/generalmacroicon.png (100%) rename src/{lay/lay => icons}/images/generalmacroiconactive.png (100%) rename src/{lay/lay => icons}/images/green_flag.png (100%) rename src/{lay/lay => icons}/images/gtf_basic.png (100%) rename src/{lay/lay => icons}/images/gtf_lb.png (100%) rename src/{lay/lay => icons}/images/gtf_mb.png (100%) rename src/{lay/lay => icons}/images/gtf_rb.png (100%) rename src/{lay/lay => icons}/images/help.png (100%) rename src/{lay/lay => icons}/images/home.png (100%) rename src/{lay/lay => icons}/images/import.png (100%) rename src/{lay/lay => icons}/images/important.png (100%) rename src/{lay/lay => icons}/images/info_16.png (100%) rename src/{lay/lay => icons}/images/instance.png (100%) rename src/{lay/lay => icons}/images/invert.png (100%) rename src/{lay/lay => icons}/images/lb.png (100%) rename src/{lay/lay => icons}/images/lc.png (100%) rename src/{lay/lay => icons}/images/left.png (100%) rename src/{lay/lay => icons}/images/locked_16.png (100%) rename src/{lay/lay => icons}/images/logo.png (100%) rename src/{lay/lay => icons}/images/lt.png (100%) rename src/{lay/lay => icons}/images/m0.png (100%) rename src/{lay/lay => icons}/images/m135.png (100%) rename src/{lay/lay => icons}/images/m45.png (100%) rename src/{lay/lay => icons}/images/m90.png (100%) rename src/{lay/lay => icons}/images/marked_16.png (100%) rename src/{lay/lay => icons}/images/marked_24.png (100%) rename src/{lay/lay => icons}/images/marked_64.png (100%) rename src/{lay/lay => icons}/images/move.png (100%) rename src/{lay/lay => icons}/images/move_simple.png (100%) rename src/{lay/lay => icons}/images/neutral.png (100%) rename src/{lay/lay => icons}/images/new_folder.png (100%) rename src/{lay/lay => icons}/images/next_topic.png (100%) rename src/{lay/lay => icons}/images/nextstep.png (100%) rename src/{lay/lay => icons}/images/no_flag.png (100%) rename src/{lay/lay => icons}/images/nophoto.png (100%) rename src/{lay/lay => icons}/images/options_edit.png (100%) rename src/{lay/lay => icons}/images/partial.png (100%) rename src/{lay/lay => icons}/images/path.png (100%) rename src/{lay/lay => icons}/images/pause.png (100%) rename src/{lay/lay => icons}/images/photo.png (100%) rename src/{lay/lay => icons}/images/polygon.png (100%) rename src/{lay/lay => icons}/images/prev_topic.png (100%) rename src/{lay/lay => icons}/images/properties.png (100%) rename src/{lay/lay => icons}/images/pythonmacroicon.png (100%) rename src/{lay/lay => icons}/images/pythonmacroiconactive.png (100%) rename src/{lay/lay => icons}/images/r0.png (100%) rename src/{lay/lay => icons}/images/r180.png (100%) rename src/{lay/lay => icons}/images/r270.png (100%) rename src/{lay/lay => icons}/images/r90.png (100%) rename src/{lay/lay => icons}/images/rb.png (100%) rename src/{lay/lay => icons}/images/rc.png (100%) rename src/{lay/lay => icons}/images/red_flag.png (100%) rename src/{lay/lay => icons}/images/rename.png (100%) rename src/{lay/lay => icons}/images/replace.png (100%) rename src/{lay/lay => icons}/images/replace_all.png (100%) rename src/{lay/lay => icons}/images/right.png (100%) rename src/{lay/lay => icons}/images/rotate.png (100%) rename src/{lay/lay => icons}/images/rt.png (100%) rename src/{lay/lay => icons}/images/rubymacroicon.png (100%) rename src/{lay/lay => icons}/images/rubymacroiconactive.png (100%) rename src/{lay/lay => icons}/images/ruler.png (100%) rename src/{lay/lay => icons}/images/run.png (100%) rename src/{lay/lay => icons}/images/runthis.png (100%) rename src/{lay/lay => icons}/images/salt.png (100%) rename src/{lay/lay => icons}/images/salt_icon.png (100%) rename src/{lay/lay => icons}/images/save.png (100%) rename src/{lay/lay => icons}/images/save_all.png (100%) rename src/{lay/lay => icons}/images/select.png (100%) rename src/{lay/lay => icons}/images/setup.png (100%) rename src/{lay/lay => icons}/images/singlestep.png (100%) rename src/{lay/lay => icons}/images/stop.png (100%) rename src/{lay/lay => icons}/images/techs.png (100%) rename src/{lay/lay => icons}/images/text.png (100%) rename src/{lay/lay => icons}/images/textdocumenticon.png (100%) rename src/{lay/lay => icons}/images/unchecked.png (100%) rename src/{lay/lay => icons}/images/unlocked_16.png (100%) rename src/{lay/lay => icons}/images/up.png (100%) rename src/{lay/lay => icons}/images/upup.png (100%) rename src/{lay/lay => icons}/images/waived.png (100%) rename src/{lay/lay => icons}/images/warn.png (100%) rename src/{lay/lay => icons}/images/warn_16.png (100%) rename src/{lay/lay => icons}/images/yellow_flag.png (100%) delete mode 100644 src/lay/lay/doc/navigator_sep.png create mode 100644 src/lay/lay/laySyntaxHighlighters.qrc diff --git a/scripts/compile_glyphs.rb b/scripts/compile_glyphs.rb index ff8d23576..f9e185c4b 100755 --- a/scripts/compile_glyphs.rb +++ b/scripts/compile_glyphs.rb @@ -1,5 +1,12 @@ #!/usr/bin/ruby +# Synopsis: +# +# compile_glyphs.rb +# +# This script generates the src/db/db/glyphs.cc text generator's font definitions +# from the GDS files placed inside the src/db/db/glyphs folder. + files = [] glyph_dir = File.join(File.dirname($0), "..", "src", "db", "db", "glyphs") diff --git a/scripts/create_drc_samples.rb b/scripts/drc_lvs_doc/create_drc_samples.rb similarity index 99% rename from scripts/create_drc_samples.rb rename to scripts/drc_lvs_doc/create_drc_samples.rb index fb35b1a5a..5594555be 100644 --- a/scripts/create_drc_samples.rb +++ b/scripts/drc_lvs_doc/create_drc_samples.rb @@ -5,7 +5,7 @@ class QRCGenerator def res_path - "src/lay/lay" + "src/doc" end def img_path @@ -13,7 +13,7 @@ class QRCGenerator end def initialize - @path = res_path + "/" + "layDRCLVSHelpResources.qrc" + @path = res_path + "/" + "docDRCLVSResources.qrc" @file = File.open(@path, "w") @file.puts("") @file.puts(" ") diff --git a/scripts/extract_doc.rb b/scripts/drc_lvs_doc/extract_doc.rb similarity index 99% rename from scripts/extract_doc.rb rename to scripts/drc_lvs_doc/extract_doc.rb index f5338b5ac..cbbc4f42f 100755 --- a/scripts/extract_doc.rb +++ b/scripts/drc_lvs_doc/extract_doc.rb @@ -5,7 +5,7 @@ $script_call = $0 + " " + ARGV.join(" ") $indirs = [ "src/drc/drc/built-in-macros", "src/lvs/lvs/built-in-macros" ] $loc = "about" -$outfiles = "src/lay/lay/doc" +$outfiles = "src/doc/doc" def create_ref(mod, s) if s =~ /(.*)::(.*)#(.*)/ diff --git a/scripts/klayoutrc_drc_samples b/scripts/drc_lvs_doc/klayoutrc_drc_samples similarity index 100% rename from scripts/klayoutrc_drc_samples rename to scripts/drc_lvs_doc/klayoutrc_drc_samples diff --git a/scripts/make_drc_lvs_doc.sh b/scripts/make_drc_lvs_doc.sh index c03fcc593..5394d476e 100755 --- a/scripts/make_drc_lvs_doc.sh +++ b/scripts/make_drc_lvs_doc.sh @@ -1,14 +1,27 @@ -#!/bin/sh -e +#!/bin/bash -e inst=$(realpath $(dirname $0)) +scripts=${inst}/drc_lvs_doc ld=$(realpath .) bin="$ld/klayout" export LD_LIBRARY_PATH=$ld +export KLAYOUT_HOME=/dev/null + +doc_src=../src/doc/doc +if ! [ -e $doc_src ]; then + echo "*** ERROR: missing doc sources ($doc_src) - did you run the script from the build folder below the source tree?" + exit 1 +fi + +if ! [ -e $bin ]; then + echo "*** ERROR: missing klayout binary ($bin) - did you run the script from the build folder?" + exit 1 +fi cd $inst/.. -$bin -z -r $inst/create_drc_samples.rb -t -c $inst/klayoutrc_drc_samples -$inst/extract_doc.rb +$bin -z -r ${scripts}/create_drc_samples.rb -t -c ${scripts}/klayoutrc_drc_samples +${scripts}/extract_doc.rb diff --git a/src/doc/doc.pro b/src/doc/doc.pro new file mode 100644 index 000000000..c1caf249f --- /dev/null +++ b/src/doc/doc.pro @@ -0,0 +1,19 @@ + +DESTDIR = $$OUT_PWD/.. +TARGET = klayout_doc + +include($$PWD/../lib.pri) + +DEFINES += MAKE_DOC_LIBRARY + +HEADERS = \ + +FORMS = \ + +SOURCES = \ + docForceLink.cc \ + +RESOURCES = \ + docResources.qrc \ + docDRCLVSResources.qrc \ + diff --git a/src/lay/lay/doc/about/25d_screenshot.png b/src/doc/doc/about/25d_screenshot.png similarity index 100% rename from src/lay/lay/doc/about/25d_screenshot.png rename to src/doc/doc/about/25d_screenshot.png diff --git a/src/lay/lay/doc/about/25d_screenshot2.png b/src/doc/doc/about/25d_screenshot2.png similarity index 100% rename from src/lay/lay/doc/about/25d_screenshot2.png rename to src/doc/doc/about/25d_screenshot2.png diff --git a/src/lay/lay/doc/about/25d_view.xml b/src/doc/doc/about/25d_view.xml similarity index 100% rename from src/lay/lay/doc/about/25d_view.xml rename to src/doc/doc/about/25d_view.xml diff --git a/src/lay/lay/doc/about/about_libraries.xml b/src/doc/doc/about/about_libraries.xml similarity index 100% rename from src/lay/lay/doc/about/about_libraries.xml rename to src/doc/doc/about/about_libraries.xml diff --git a/src/lay/lay/doc/about/about_pcells.xml b/src/doc/doc/about/about_pcells.xml similarity index 100% rename from src/lay/lay/doc/about/about_pcells.xml rename to src/doc/doc/about/about_pcells.xml diff --git a/src/lay/lay/doc/about/basic_lib.xml b/src/doc/doc/about/basic_lib.xml similarity index 100% rename from src/lay/lay/doc/about/basic_lib.xml rename to src/doc/doc/about/basic_lib.xml diff --git a/src/lay/lay/doc/about/basic_text.png b/src/doc/doc/about/basic_text.png similarity index 100% rename from src/lay/lay/doc/about/basic_text.png rename to src/doc/doc/about/basic_text.png diff --git a/src/lay/lay/doc/about/connectivity.xml b/src/doc/doc/about/connectivity.xml similarity index 100% rename from src/lay/lay/doc/about/connectivity.xml rename to src/doc/doc/about/connectivity.xml diff --git a/src/lay/lay/doc/about/custom_queries.xml b/src/doc/doc/about/custom_queries.xml similarity index 100% rename from src/lay/lay/doc/about/custom_queries.xml rename to src/doc/doc/about/custom_queries.xml diff --git a/src/lay/lay/doc/about/def_import_snapshot.png b/src/doc/doc/about/def_import_snapshot.png similarity index 100% rename from src/lay/lay/doc/about/def_import_snapshot.png rename to src/doc/doc/about/def_import_snapshot.png diff --git a/src/lay/lay/doc/about/drc_ref.xml b/src/doc/doc/about/drc_ref.xml similarity index 100% rename from src/lay/lay/doc/about/drc_ref.xml rename to src/doc/doc/about/drc_ref.xml diff --git a/src/lay/lay/doc/about/drc_ref_drc.xml b/src/doc/doc/about/drc_ref_drc.xml similarity index 100% rename from src/lay/lay/doc/about/drc_ref_drc.xml rename to src/doc/doc/about/drc_ref_drc.xml diff --git a/src/lay/lay/doc/about/drc_ref_expressions.xml b/src/doc/doc/about/drc_ref_expressions.xml similarity index 100% rename from src/lay/lay/doc/about/drc_ref_expressions.xml rename to src/doc/doc/about/drc_ref_expressions.xml diff --git a/src/lay/lay/doc/about/drc_ref_global.xml b/src/doc/doc/about/drc_ref_global.xml similarity index 100% rename from src/lay/lay/doc/about/drc_ref_global.xml rename to src/doc/doc/about/drc_ref_global.xml diff --git a/src/lay/lay/doc/about/drc_ref_layer.xml b/src/doc/doc/about/drc_ref_layer.xml similarity index 100% rename from src/lay/lay/doc/about/drc_ref_layer.xml rename to src/doc/doc/about/drc_ref_layer.xml diff --git a/src/lay/lay/doc/about/drc_ref_netter.xml b/src/doc/doc/about/drc_ref_netter.xml similarity index 100% rename from src/lay/lay/doc/about/drc_ref_netter.xml rename to src/doc/doc/about/drc_ref_netter.xml diff --git a/src/lay/lay/doc/about/drc_ref_source.xml b/src/doc/doc/about/drc_ref_source.xml similarity index 100% rename from src/lay/lay/doc/about/drc_ref_source.xml rename to src/doc/doc/about/drc_ref_source.xml diff --git a/src/lay/lay/doc/about/expressions.xml b/src/doc/doc/about/expressions.xml similarity index 100% rename from src/lay/lay/doc/about/expressions.xml rename to src/doc/doc/about/expressions.xml diff --git a/src/lay/lay/doc/about/ide_browser_toolbar.png b/src/doc/doc/about/ide_browser_toolbar.png similarity index 100% rename from src/lay/lay/doc/about/ide_browser_toolbar.png rename to src/doc/doc/about/ide_browser_toolbar.png diff --git a/src/lay/lay/doc/about/ide_console.png b/src/doc/doc/about/ide_console.png similarity index 100% rename from src/lay/lay/doc/about/ide_console.png rename to src/doc/doc/about/ide_console.png diff --git a/src/lay/lay/doc/about/ide_debugging_snapshot.png b/src/doc/doc/about/ide_debugging_snapshot.png similarity index 100% rename from src/lay/lay/doc/about/ide_debugging_snapshot.png rename to src/doc/doc/about/ide_debugging_snapshot.png diff --git a/src/lay/lay/doc/about/ide_editor_toolbar.png b/src/doc/doc/about/ide_editor_toolbar.png similarity index 100% rename from src/lay/lay/doc/about/ide_editor_toolbar.png rename to src/doc/doc/about/ide_editor_toolbar.png diff --git a/src/lay/lay/doc/about/ide_py_debugging_snapshot.png b/src/doc/doc/about/ide_py_debugging_snapshot.png similarity index 100% rename from src/lay/lay/doc/about/ide_py_debugging_snapshot.png rename to src/doc/doc/about/ide_py_debugging_snapshot.png diff --git a/src/lay/lay/doc/about/ide_snapshot.png b/src/doc/doc/about/ide_snapshot.png similarity index 100% rename from src/lay/lay/doc/about/ide_snapshot.png rename to src/doc/doc/about/ide_snapshot.png diff --git a/src/lay/lay/doc/about/index.xml b/src/doc/doc/about/index.xml similarity index 100% rename from src/lay/lay/doc/about/index.xml rename to src/doc/doc/about/index.xml diff --git a/src/lay/lay/doc/about/layer_mapping.xml b/src/doc/doc/about/layer_mapping.xml similarity index 100% rename from src/lay/lay/doc/about/layer_mapping.xml rename to src/doc/doc/about/layer_mapping.xml diff --git a/src/lay/lay/doc/about/layer_sources.xml b/src/doc/doc/about/layer_sources.xml similarity index 100% rename from src/lay/lay/doc/about/layer_sources.xml rename to src/doc/doc/about/layer_sources.xml diff --git a/src/lay/lay/doc/about/layer_specs.xml b/src/doc/doc/about/layer_specs.xml similarity index 100% rename from src/lay/lay/doc/about/layer_specs.xml rename to src/doc/doc/about/layer_specs.xml diff --git a/src/lay/lay/doc/about/lef_def_import.xml b/src/doc/doc/about/lef_def_import.xml similarity index 100% rename from src/lay/lay/doc/about/lef_def_import.xml rename to src/doc/doc/about/lef_def_import.xml diff --git a/src/lay/lay/doc/about/lef_import_snapshot.png b/src/doc/doc/about/lef_import_snapshot.png similarity index 100% rename from src/lay/lay/doc/about/lef_import_snapshot.png rename to src/doc/doc/about/lef_import_snapshot.png diff --git a/src/lay/lay/doc/about/lefdef_options_snapshot.png b/src/doc/doc/about/lefdef_options_snapshot.png similarity index 100% rename from src/lay/lay/doc/about/lefdef_options_snapshot.png rename to src/doc/doc/about/lefdef_options_snapshot.png diff --git a/src/lay/lay/doc/about/lvs_ref.xml b/src/doc/doc/about/lvs_ref.xml similarity index 100% rename from src/lay/lay/doc/about/lvs_ref.xml rename to src/doc/doc/about/lvs_ref.xml diff --git a/src/lay/lay/doc/about/lvs_ref_global.xml b/src/doc/doc/about/lvs_ref_global.xml similarity index 100% rename from src/lay/lay/doc/about/lvs_ref_global.xml rename to src/doc/doc/about/lvs_ref_global.xml diff --git a/src/lay/lay/doc/about/lvs_ref_netter.xml b/src/doc/doc/about/lvs_ref_netter.xml similarity index 100% rename from src/lay/lay/doc/about/lvs_ref_netter.xml rename to src/doc/doc/about/lvs_ref_netter.xml diff --git a/src/lay/lay/doc/about/macro_editor.xml b/src/doc/doc/about/macro_editor.xml similarity index 100% rename from src/lay/lay/doc/about/macro_editor.xml rename to src/doc/doc/about/macro_editor.xml diff --git a/src/lay/lay/doc/about/macro_in_menu.xml b/src/doc/doc/about/macro_in_menu.xml similarity index 100% rename from src/lay/lay/doc/about/macro_in_menu.xml rename to src/doc/doc/about/macro_in_menu.xml diff --git a/src/lay/lay/doc/about/packages.xml b/src/doc/doc/about/packages.xml similarity index 100% rename from src/lay/lay/doc/about/packages.xml rename to src/doc/doc/about/packages.xml diff --git a/src/lay/lay/doc/about/pie_arc.png b/src/doc/doc/about/pie_arc.png similarity index 100% rename from src/lay/lay/doc/about/pie_arc.png rename to src/doc/doc/about/pie_arc.png diff --git a/src/lay/lay/doc/about/rba_notation.xml b/src/doc/doc/about/rba_notation.xml similarity index 100% rename from src/lay/lay/doc/about/rba_notation.xml rename to src/doc/doc/about/rba_notation.xml diff --git a/src/lay/lay/doc/about/round_path.png b/src/doc/doc/about/round_path.png similarity index 100% rename from src/lay/lay/doc/about/round_path.png rename to src/doc/doc/about/round_path.png diff --git a/src/lay/lay/doc/about/round_polygon.png b/src/doc/doc/about/round_polygon.png similarity index 100% rename from src/lay/lay/doc/about/round_polygon.png rename to src/doc/doc/about/round_polygon.png diff --git a/src/lay/lay/doc/about/stroked_polygon.png b/src/doc/doc/about/stroked_polygon.png similarity index 100% rename from src/lay/lay/doc/about/stroked_polygon.png rename to src/doc/doc/about/stroked_polygon.png diff --git a/src/lay/lay/doc/about/symbolic_layers.xml b/src/doc/doc/about/symbolic_layers.xml similarity index 100% rename from src/lay/lay/doc/about/symbolic_layers.xml rename to src/doc/doc/about/symbolic_layers.xml diff --git a/src/lay/lay/doc/about/technology_manager.xml b/src/doc/doc/about/technology_manager.xml similarity index 100% rename from src/lay/lay/doc/about/technology_manager.xml rename to src/doc/doc/about/technology_manager.xml diff --git a/src/lay/lay/doc/about/transformation_basic.png b/src/doc/doc/about/transformation_basic.png similarity index 100% rename from src/lay/lay/doc/about/transformation_basic.png rename to src/doc/doc/about/transformation_basic.png diff --git a/src/lay/lay/doc/about/transformation_overview.png b/src/doc/doc/about/transformation_overview.png similarity index 100% rename from src/lay/lay/doc/about/transformation_overview.png rename to src/doc/doc/about/transformation_overview.png diff --git a/src/lay/lay/doc/about/transformations.xml b/src/doc/doc/about/transformations.xml similarity index 100% rename from src/lay/lay/doc/about/transformations.xml rename to src/doc/doc/about/transformations.xml diff --git a/src/lay/lay/doc/about/variant_notation.xml b/src/doc/doc/about/variant_notation.xml similarity index 100% rename from src/lay/lay/doc/about/variant_notation.xml rename to src/doc/doc/about/variant_notation.xml diff --git a/src/lay/lay/doc/help_format.css b/src/doc/doc/help_format.css similarity index 100% rename from src/lay/lay/doc/help_format.css rename to src/doc/doc/help_format.css diff --git a/src/lay/lay/doc/images/drc_and1.png b/src/doc/doc/images/drc_and1.png similarity index 100% rename from src/lay/lay/doc/images/drc_and1.png rename to src/doc/doc/images/drc_and1.png diff --git a/src/lay/lay/doc/images/drc_and2.png b/src/doc/doc/images/drc_and2.png similarity index 100% rename from src/lay/lay/doc/images/drc_and2.png rename to src/doc/doc/images/drc_and2.png diff --git a/src/lay/lay/doc/images/drc_and3.png b/src/doc/doc/images/drc_and3.png similarity index 100% rename from src/lay/lay/doc/images/drc_and3.png rename to src/doc/doc/images/drc_and3.png diff --git a/src/lay/lay/doc/images/drc_centers1.png b/src/doc/doc/images/drc_centers1.png similarity index 100% rename from src/lay/lay/doc/images/drc_centers1.png rename to src/doc/doc/images/drc_centers1.png diff --git a/src/lay/lay/doc/images/drc_centers2.png b/src/doc/doc/images/drc_centers2.png similarity index 100% rename from src/lay/lay/doc/images/drc_centers2.png rename to src/doc/doc/images/drc_centers2.png diff --git a/src/lay/lay/doc/images/drc_corners1.png b/src/doc/doc/images/drc_corners1.png similarity index 100% rename from src/lay/lay/doc/images/drc_corners1.png rename to src/doc/doc/images/drc_corners1.png diff --git a/src/lay/lay/doc/images/drc_corners2.png b/src/doc/doc/images/drc_corners2.png similarity index 100% rename from src/lay/lay/doc/images/drc_corners2.png rename to src/doc/doc/images/drc_corners2.png diff --git a/src/lay/lay/doc/images/drc_corners3.png b/src/doc/doc/images/drc_corners3.png similarity index 100% rename from src/lay/lay/doc/images/drc_corners3.png rename to src/doc/doc/images/drc_corners3.png diff --git a/src/lay/lay/doc/images/drc_covering.png b/src/doc/doc/images/drc_covering.png similarity index 100% rename from src/lay/lay/doc/images/drc_covering.png rename to src/doc/doc/images/drc_covering.png diff --git a/src/lay/lay/doc/images/drc_enc1.png b/src/doc/doc/images/drc_enc1.png similarity index 100% rename from src/lay/lay/doc/images/drc_enc1.png rename to src/doc/doc/images/drc_enc1.png diff --git a/src/lay/lay/doc/images/drc_enc1u.png b/src/doc/doc/images/drc_enc1u.png similarity index 100% rename from src/lay/lay/doc/images/drc_enc1u.png rename to src/doc/doc/images/drc_enc1u.png diff --git a/src/lay/lay/doc/images/drc_enc2.png b/src/doc/doc/images/drc_enc2.png similarity index 100% rename from src/lay/lay/doc/images/drc_enc2.png rename to src/doc/doc/images/drc_enc2.png diff --git a/src/lay/lay/doc/images/drc_enc2u.png b/src/doc/doc/images/drc_enc2u.png similarity index 100% rename from src/lay/lay/doc/images/drc_enc2u.png rename to src/doc/doc/images/drc_enc2u.png diff --git a/src/lay/lay/doc/images/drc_encd1.png b/src/doc/doc/images/drc_encd1.png similarity index 100% rename from src/lay/lay/doc/images/drc_encd1.png rename to src/doc/doc/images/drc_encd1.png diff --git a/src/lay/lay/doc/images/drc_encd1u.png b/src/doc/doc/images/drc_encd1u.png similarity index 100% rename from src/lay/lay/doc/images/drc_encd1u.png rename to src/doc/doc/images/drc_encd1u.png diff --git a/src/lay/lay/doc/images/drc_encd2.png b/src/doc/doc/images/drc_encd2.png similarity index 100% rename from src/lay/lay/doc/images/drc_encd2.png rename to src/doc/doc/images/drc_encd2.png diff --git a/src/lay/lay/doc/images/drc_encd2u.png b/src/doc/doc/images/drc_encd2u.png similarity index 100% rename from src/lay/lay/doc/images/drc_encd2u.png rename to src/doc/doc/images/drc_encd2u.png diff --git a/src/lay/lay/doc/images/drc_end_segments1.png b/src/doc/doc/images/drc_end_segments1.png similarity index 100% rename from src/lay/lay/doc/images/drc_end_segments1.png rename to src/doc/doc/images/drc_end_segments1.png diff --git a/src/lay/lay/doc/images/drc_end_segments2.png b/src/doc/doc/images/drc_end_segments2.png similarity index 100% rename from src/lay/lay/doc/images/drc_end_segments2.png rename to src/doc/doc/images/drc_end_segments2.png diff --git a/src/lay/lay/doc/images/drc_extended1.png b/src/doc/doc/images/drc_extended1.png similarity index 100% rename from src/lay/lay/doc/images/drc_extended1.png rename to src/doc/doc/images/drc_extended1.png diff --git a/src/lay/lay/doc/images/drc_extended2.png b/src/doc/doc/images/drc_extended2.png similarity index 100% rename from src/lay/lay/doc/images/drc_extended2.png rename to src/doc/doc/images/drc_extended2.png diff --git a/src/lay/lay/doc/images/drc_extended3.png b/src/doc/doc/images/drc_extended3.png similarity index 100% rename from src/lay/lay/doc/images/drc_extended3.png rename to src/doc/doc/images/drc_extended3.png diff --git a/src/lay/lay/doc/images/drc_extended4.png b/src/doc/doc/images/drc_extended4.png similarity index 100% rename from src/lay/lay/doc/images/drc_extended4.png rename to src/doc/doc/images/drc_extended4.png diff --git a/src/lay/lay/doc/images/drc_extent_refs1.png b/src/doc/doc/images/drc_extent_refs1.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs1.png rename to src/doc/doc/images/drc_extent_refs1.png diff --git a/src/lay/lay/doc/images/drc_extent_refs10.png b/src/doc/doc/images/drc_extent_refs10.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs10.png rename to src/doc/doc/images/drc_extent_refs10.png diff --git a/src/lay/lay/doc/images/drc_extent_refs11.png b/src/doc/doc/images/drc_extent_refs11.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs11.png rename to src/doc/doc/images/drc_extent_refs11.png diff --git a/src/lay/lay/doc/images/drc_extent_refs12.png b/src/doc/doc/images/drc_extent_refs12.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs12.png rename to src/doc/doc/images/drc_extent_refs12.png diff --git a/src/lay/lay/doc/images/drc_extent_refs13.png b/src/doc/doc/images/drc_extent_refs13.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs13.png rename to src/doc/doc/images/drc_extent_refs13.png diff --git a/src/lay/lay/doc/images/drc_extent_refs20.png b/src/doc/doc/images/drc_extent_refs20.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs20.png rename to src/doc/doc/images/drc_extent_refs20.png diff --git a/src/lay/lay/doc/images/drc_extent_refs21.png b/src/doc/doc/images/drc_extent_refs21.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs21.png rename to src/doc/doc/images/drc_extent_refs21.png diff --git a/src/lay/lay/doc/images/drc_extent_refs22.png b/src/doc/doc/images/drc_extent_refs22.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs22.png rename to src/doc/doc/images/drc_extent_refs22.png diff --git a/src/lay/lay/doc/images/drc_extent_refs23.png b/src/doc/doc/images/drc_extent_refs23.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs23.png rename to src/doc/doc/images/drc_extent_refs23.png diff --git a/src/lay/lay/doc/images/drc_extent_refs24.png b/src/doc/doc/images/drc_extent_refs24.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs24.png rename to src/doc/doc/images/drc_extent_refs24.png diff --git a/src/lay/lay/doc/images/drc_extent_refs25.png b/src/doc/doc/images/drc_extent_refs25.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs25.png rename to src/doc/doc/images/drc_extent_refs25.png diff --git a/src/lay/lay/doc/images/drc_extent_refs26.png b/src/doc/doc/images/drc_extent_refs26.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs26.png rename to src/doc/doc/images/drc_extent_refs26.png diff --git a/src/lay/lay/doc/images/drc_extent_refs27.png b/src/doc/doc/images/drc_extent_refs27.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs27.png rename to src/doc/doc/images/drc_extent_refs27.png diff --git a/src/lay/lay/doc/images/drc_extent_refs30.png b/src/doc/doc/images/drc_extent_refs30.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs30.png rename to src/doc/doc/images/drc_extent_refs30.png diff --git a/src/lay/lay/doc/images/drc_extent_refs31.png b/src/doc/doc/images/drc_extent_refs31.png similarity index 100% rename from src/lay/lay/doc/images/drc_extent_refs31.png rename to src/doc/doc/images/drc_extent_refs31.png diff --git a/src/lay/lay/doc/images/drc_extents1.png b/src/doc/doc/images/drc_extents1.png similarity index 100% rename from src/lay/lay/doc/images/drc_extents1.png rename to src/doc/doc/images/drc_extents1.png diff --git a/src/lay/lay/doc/images/drc_extents2.png b/src/doc/doc/images/drc_extents2.png similarity index 100% rename from src/lay/lay/doc/images/drc_extents2.png rename to src/doc/doc/images/drc_extents2.png diff --git a/src/lay/lay/doc/images/drc_holes.png b/src/doc/doc/images/drc_holes.png similarity index 100% rename from src/lay/lay/doc/images/drc_holes.png rename to src/doc/doc/images/drc_holes.png diff --git a/src/lay/lay/doc/images/drc_hulls.png b/src/doc/doc/images/drc_hulls.png similarity index 100% rename from src/lay/lay/doc/images/drc_hulls.png rename to src/doc/doc/images/drc_hulls.png diff --git a/src/lay/lay/doc/images/drc_in.png b/src/doc/doc/images/drc_in.png similarity index 100% rename from src/lay/lay/doc/images/drc_in.png rename to src/doc/doc/images/drc_in.png diff --git a/src/lay/lay/doc/images/drc_inside.png b/src/doc/doc/images/drc_inside.png similarity index 100% rename from src/lay/lay/doc/images/drc_inside.png rename to src/doc/doc/images/drc_inside.png diff --git a/src/lay/lay/doc/images/drc_inside_ee.png b/src/doc/doc/images/drc_inside_ee.png similarity index 100% rename from src/lay/lay/doc/images/drc_inside_ee.png rename to src/doc/doc/images/drc_inside_ee.png diff --git a/src/lay/lay/doc/images/drc_inside_ep.png b/src/doc/doc/images/drc_inside_ep.png similarity index 100% rename from src/lay/lay/doc/images/drc_inside_ep.png rename to src/doc/doc/images/drc_inside_ep.png diff --git a/src/lay/lay/doc/images/drc_inside_part.png b/src/doc/doc/images/drc_inside_part.png similarity index 100% rename from src/lay/lay/doc/images/drc_inside_part.png rename to src/doc/doc/images/drc_inside_part.png diff --git a/src/lay/lay/doc/images/drc_interacting.png b/src/doc/doc/images/drc_interacting.png similarity index 100% rename from src/lay/lay/doc/images/drc_interacting.png rename to src/doc/doc/images/drc_interacting.png diff --git a/src/lay/lay/doc/images/drc_interacting2.png b/src/doc/doc/images/drc_interacting2.png similarity index 100% rename from src/lay/lay/doc/images/drc_interacting2.png rename to src/doc/doc/images/drc_interacting2.png diff --git a/src/lay/lay/doc/images/drc_interacting3.png b/src/doc/doc/images/drc_interacting3.png similarity index 100% rename from src/lay/lay/doc/images/drc_interacting3.png rename to src/doc/doc/images/drc_interacting3.png diff --git a/src/lay/lay/doc/images/drc_interacting4.png b/src/doc/doc/images/drc_interacting4.png similarity index 100% rename from src/lay/lay/doc/images/drc_interacting4.png rename to src/doc/doc/images/drc_interacting4.png diff --git a/src/lay/lay/doc/images/drc_interacting5.png b/src/doc/doc/images/drc_interacting5.png similarity index 100% rename from src/lay/lay/doc/images/drc_interacting5.png rename to src/doc/doc/images/drc_interacting5.png diff --git a/src/lay/lay/doc/images/drc_join1.png b/src/doc/doc/images/drc_join1.png similarity index 100% rename from src/lay/lay/doc/images/drc_join1.png rename to src/doc/doc/images/drc_join1.png diff --git a/src/lay/lay/doc/images/drc_join2.png b/src/doc/doc/images/drc_join2.png similarity index 100% rename from src/lay/lay/doc/images/drc_join2.png rename to src/doc/doc/images/drc_join2.png diff --git a/src/lay/lay/doc/images/drc_merged1.png b/src/doc/doc/images/drc_merged1.png similarity index 100% rename from src/lay/lay/doc/images/drc_merged1.png rename to src/doc/doc/images/drc_merged1.png diff --git a/src/lay/lay/doc/images/drc_merged2.png b/src/doc/doc/images/drc_merged2.png similarity index 100% rename from src/lay/lay/doc/images/drc_merged2.png rename to src/doc/doc/images/drc_merged2.png diff --git a/src/lay/lay/doc/images/drc_merged3.png b/src/doc/doc/images/drc_merged3.png similarity index 100% rename from src/lay/lay/doc/images/drc_merged3.png rename to src/doc/doc/images/drc_merged3.png diff --git a/src/lay/lay/doc/images/drc_merged4.png b/src/doc/doc/images/drc_merged4.png similarity index 100% rename from src/lay/lay/doc/images/drc_merged4.png rename to src/doc/doc/images/drc_merged4.png diff --git a/src/lay/lay/doc/images/drc_middle1.png b/src/doc/doc/images/drc_middle1.png similarity index 100% rename from src/lay/lay/doc/images/drc_middle1.png rename to src/doc/doc/images/drc_middle1.png diff --git a/src/lay/lay/doc/images/drc_moved1.png b/src/doc/doc/images/drc_moved1.png similarity index 100% rename from src/lay/lay/doc/images/drc_moved1.png rename to src/doc/doc/images/drc_moved1.png diff --git a/src/lay/lay/doc/images/drc_not1.png b/src/doc/doc/images/drc_not1.png similarity index 100% rename from src/lay/lay/doc/images/drc_not1.png rename to src/doc/doc/images/drc_not1.png diff --git a/src/lay/lay/doc/images/drc_not2.png b/src/doc/doc/images/drc_not2.png similarity index 100% rename from src/lay/lay/doc/images/drc_not2.png rename to src/doc/doc/images/drc_not2.png diff --git a/src/lay/lay/doc/images/drc_not3.png b/src/doc/doc/images/drc_not3.png similarity index 100% rename from src/lay/lay/doc/images/drc_not3.png rename to src/doc/doc/images/drc_not3.png diff --git a/src/lay/lay/doc/images/drc_not_covering.png b/src/doc/doc/images/drc_not_covering.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_covering.png rename to src/doc/doc/images/drc_not_covering.png diff --git a/src/lay/lay/doc/images/drc_not_in.png b/src/doc/doc/images/drc_not_in.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_in.png rename to src/doc/doc/images/drc_not_in.png diff --git a/src/lay/lay/doc/images/drc_not_inside.png b/src/doc/doc/images/drc_not_inside.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_inside.png rename to src/doc/doc/images/drc_not_inside.png diff --git a/src/lay/lay/doc/images/drc_not_inside_ee.png b/src/doc/doc/images/drc_not_inside_ee.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_inside_ee.png rename to src/doc/doc/images/drc_not_inside_ee.png diff --git a/src/lay/lay/doc/images/drc_not_inside_ep.png b/src/doc/doc/images/drc_not_inside_ep.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_inside_ep.png rename to src/doc/doc/images/drc_not_inside_ep.png diff --git a/src/lay/lay/doc/images/drc_not_interacting.png b/src/doc/doc/images/drc_not_interacting.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_interacting.png rename to src/doc/doc/images/drc_not_interacting.png diff --git a/src/lay/lay/doc/images/drc_not_interacting2.png b/src/doc/doc/images/drc_not_interacting2.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_interacting2.png rename to src/doc/doc/images/drc_not_interacting2.png diff --git a/src/lay/lay/doc/images/drc_not_interacting3.png b/src/doc/doc/images/drc_not_interacting3.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_interacting3.png rename to src/doc/doc/images/drc_not_interacting3.png diff --git a/src/lay/lay/doc/images/drc_not_interacting4.png b/src/doc/doc/images/drc_not_interacting4.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_interacting4.png rename to src/doc/doc/images/drc_not_interacting4.png diff --git a/src/lay/lay/doc/images/drc_not_interacting5.png b/src/doc/doc/images/drc_not_interacting5.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_interacting5.png rename to src/doc/doc/images/drc_not_interacting5.png diff --git a/src/lay/lay/doc/images/drc_not_outside.png b/src/doc/doc/images/drc_not_outside.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_outside.png rename to src/doc/doc/images/drc_not_outside.png diff --git a/src/lay/lay/doc/images/drc_not_outside_ee.png b/src/doc/doc/images/drc_not_outside_ee.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_outside_ee.png rename to src/doc/doc/images/drc_not_outside_ee.png diff --git a/src/lay/lay/doc/images/drc_not_outside_ep.png b/src/doc/doc/images/drc_not_outside_ep.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_outside_ep.png rename to src/doc/doc/images/drc_not_outside_ep.png diff --git a/src/lay/lay/doc/images/drc_not_overlapping.png b/src/doc/doc/images/drc_not_overlapping.png similarity index 100% rename from src/lay/lay/doc/images/drc_not_overlapping.png rename to src/doc/doc/images/drc_not_overlapping.png diff --git a/src/lay/lay/doc/images/drc_or1.png b/src/doc/doc/images/drc_or1.png similarity index 100% rename from src/lay/lay/doc/images/drc_or1.png rename to src/doc/doc/images/drc_or1.png diff --git a/src/lay/lay/doc/images/drc_or2.png b/src/doc/doc/images/drc_or2.png similarity index 100% rename from src/lay/lay/doc/images/drc_or2.png rename to src/doc/doc/images/drc_or2.png diff --git a/src/lay/lay/doc/images/drc_outside.png b/src/doc/doc/images/drc_outside.png similarity index 100% rename from src/lay/lay/doc/images/drc_outside.png rename to src/doc/doc/images/drc_outside.png diff --git a/src/lay/lay/doc/images/drc_outside_ee.png b/src/doc/doc/images/drc_outside_ee.png similarity index 100% rename from src/lay/lay/doc/images/drc_outside_ee.png rename to src/doc/doc/images/drc_outside_ee.png diff --git a/src/lay/lay/doc/images/drc_outside_ep.png b/src/doc/doc/images/drc_outside_ep.png similarity index 100% rename from src/lay/lay/doc/images/drc_outside_ep.png rename to src/doc/doc/images/drc_outside_ep.png diff --git a/src/lay/lay/doc/images/drc_outside_part.png b/src/doc/doc/images/drc_outside_part.png similarity index 100% rename from src/lay/lay/doc/images/drc_outside_part.png rename to src/doc/doc/images/drc_outside_part.png diff --git a/src/lay/lay/doc/images/drc_overlap1.png b/src/doc/doc/images/drc_overlap1.png similarity index 100% rename from src/lay/lay/doc/images/drc_overlap1.png rename to src/doc/doc/images/drc_overlap1.png diff --git a/src/lay/lay/doc/images/drc_overlap1u.png b/src/doc/doc/images/drc_overlap1u.png similarity index 100% rename from src/lay/lay/doc/images/drc_overlap1u.png rename to src/doc/doc/images/drc_overlap1u.png diff --git a/src/lay/lay/doc/images/drc_overlap2.png b/src/doc/doc/images/drc_overlap2.png similarity index 100% rename from src/lay/lay/doc/images/drc_overlap2.png rename to src/doc/doc/images/drc_overlap2.png diff --git a/src/lay/lay/doc/images/drc_overlap2u.png b/src/doc/doc/images/drc_overlap2u.png similarity index 100% rename from src/lay/lay/doc/images/drc_overlap2u.png rename to src/doc/doc/images/drc_overlap2u.png diff --git a/src/lay/lay/doc/images/drc_overlapping.png b/src/doc/doc/images/drc_overlapping.png similarity index 100% rename from src/lay/lay/doc/images/drc_overlapping.png rename to src/doc/doc/images/drc_overlapping.png diff --git a/src/lay/lay/doc/images/drc_raw1.png b/src/doc/doc/images/drc_raw1.png similarity index 100% rename from src/lay/lay/doc/images/drc_raw1.png rename to src/doc/doc/images/drc_raw1.png diff --git a/src/lay/lay/doc/images/drc_raw2.png b/src/doc/doc/images/drc_raw2.png similarity index 100% rename from src/lay/lay/doc/images/drc_raw2.png rename to src/doc/doc/images/drc_raw2.png diff --git a/src/lay/lay/doc/images/drc_raw3.png b/src/doc/doc/images/drc_raw3.png similarity index 100% rename from src/lay/lay/doc/images/drc_raw3.png rename to src/doc/doc/images/drc_raw3.png diff --git a/src/lay/lay/doc/images/drc_rotated1.png b/src/doc/doc/images/drc_rotated1.png similarity index 100% rename from src/lay/lay/doc/images/drc_rotated1.png rename to src/doc/doc/images/drc_rotated1.png diff --git a/src/lay/lay/doc/images/drc_rounded_corners.png b/src/doc/doc/images/drc_rounded_corners.png similarity index 100% rename from src/lay/lay/doc/images/drc_rounded_corners.png rename to src/doc/doc/images/drc_rounded_corners.png diff --git a/src/lay/lay/doc/images/drc_scaled1.png b/src/doc/doc/images/drc_scaled1.png similarity index 100% rename from src/lay/lay/doc/images/drc_scaled1.png rename to src/doc/doc/images/drc_scaled1.png diff --git a/src/lay/lay/doc/images/drc_separation1.png b/src/doc/doc/images/drc_separation1.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation1.png rename to src/doc/doc/images/drc_separation1.png diff --git a/src/lay/lay/doc/images/drc_separation10.png b/src/doc/doc/images/drc_separation10.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation10.png rename to src/doc/doc/images/drc_separation10.png diff --git a/src/lay/lay/doc/images/drc_separation11.png b/src/doc/doc/images/drc_separation11.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation11.png rename to src/doc/doc/images/drc_separation11.png diff --git a/src/lay/lay/doc/images/drc_separation1u.png b/src/doc/doc/images/drc_separation1u.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation1u.png rename to src/doc/doc/images/drc_separation1u.png diff --git a/src/lay/lay/doc/images/drc_separation1un.png b/src/doc/doc/images/drc_separation1un.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation1un.png rename to src/doc/doc/images/drc_separation1un.png diff --git a/src/lay/lay/doc/images/drc_separation2.png b/src/doc/doc/images/drc_separation2.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation2.png rename to src/doc/doc/images/drc_separation2.png diff --git a/src/lay/lay/doc/images/drc_separation3.png b/src/doc/doc/images/drc_separation3.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation3.png rename to src/doc/doc/images/drc_separation3.png diff --git a/src/lay/lay/doc/images/drc_separation4.png b/src/doc/doc/images/drc_separation4.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation4.png rename to src/doc/doc/images/drc_separation4.png diff --git a/src/lay/lay/doc/images/drc_separation5.png b/src/doc/doc/images/drc_separation5.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation5.png rename to src/doc/doc/images/drc_separation5.png diff --git a/src/lay/lay/doc/images/drc_separation6.png b/src/doc/doc/images/drc_separation6.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation6.png rename to src/doc/doc/images/drc_separation6.png diff --git a/src/lay/lay/doc/images/drc_separation7.png b/src/doc/doc/images/drc_separation7.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation7.png rename to src/doc/doc/images/drc_separation7.png diff --git a/src/lay/lay/doc/images/drc_separation8.png b/src/doc/doc/images/drc_separation8.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation8.png rename to src/doc/doc/images/drc_separation8.png diff --git a/src/lay/lay/doc/images/drc_separation9.png b/src/doc/doc/images/drc_separation9.png similarity index 100% rename from src/lay/lay/doc/images/drc_separation9.png rename to src/doc/doc/images/drc_separation9.png diff --git a/src/lay/lay/doc/images/drc_shielded1.png b/src/doc/doc/images/drc_shielded1.png similarity index 100% rename from src/lay/lay/doc/images/drc_shielded1.png rename to src/doc/doc/images/drc_shielded1.png diff --git a/src/lay/lay/doc/images/drc_shielded2.png b/src/doc/doc/images/drc_shielded2.png similarity index 100% rename from src/lay/lay/doc/images/drc_shielded2.png rename to src/doc/doc/images/drc_shielded2.png diff --git a/src/lay/lay/doc/images/drc_shielded3.png b/src/doc/doc/images/drc_shielded3.png similarity index 100% rename from src/lay/lay/doc/images/drc_shielded3.png rename to src/doc/doc/images/drc_shielded3.png diff --git a/src/lay/lay/doc/images/drc_shielded4.png b/src/doc/doc/images/drc_shielded4.png similarity index 100% rename from src/lay/lay/doc/images/drc_shielded4.png rename to src/doc/doc/images/drc_shielded4.png diff --git a/src/lay/lay/doc/images/drc_sized1.png b/src/doc/doc/images/drc_sized1.png similarity index 100% rename from src/lay/lay/doc/images/drc_sized1.png rename to src/doc/doc/images/drc_sized1.png diff --git a/src/lay/lay/doc/images/drc_sized2.png b/src/doc/doc/images/drc_sized2.png similarity index 100% rename from src/lay/lay/doc/images/drc_sized2.png rename to src/doc/doc/images/drc_sized2.png diff --git a/src/lay/lay/doc/images/drc_sized3.png b/src/doc/doc/images/drc_sized3.png similarity index 100% rename from src/lay/lay/doc/images/drc_sized3.png rename to src/doc/doc/images/drc_sized3.png diff --git a/src/lay/lay/doc/images/drc_sized4.png b/src/doc/doc/images/drc_sized4.png similarity index 100% rename from src/lay/lay/doc/images/drc_sized4.png rename to src/doc/doc/images/drc_sized4.png diff --git a/src/lay/lay/doc/images/drc_sized5.png b/src/doc/doc/images/drc_sized5.png similarity index 100% rename from src/lay/lay/doc/images/drc_sized5.png rename to src/doc/doc/images/drc_sized5.png diff --git a/src/lay/lay/doc/images/drc_sized6.png b/src/doc/doc/images/drc_sized6.png similarity index 100% rename from src/lay/lay/doc/images/drc_sized6.png rename to src/doc/doc/images/drc_sized6.png diff --git a/src/lay/lay/doc/images/drc_space1.png b/src/doc/doc/images/drc_space1.png similarity index 100% rename from src/lay/lay/doc/images/drc_space1.png rename to src/doc/doc/images/drc_space1.png diff --git a/src/lay/lay/doc/images/drc_space1u.png b/src/doc/doc/images/drc_space1u.png similarity index 100% rename from src/lay/lay/doc/images/drc_space1u.png rename to src/doc/doc/images/drc_space1u.png diff --git a/src/lay/lay/doc/images/drc_space2.png b/src/doc/doc/images/drc_space2.png similarity index 100% rename from src/lay/lay/doc/images/drc_space2.png rename to src/doc/doc/images/drc_space2.png diff --git a/src/lay/lay/doc/images/drc_space2u.png b/src/doc/doc/images/drc_space2u.png similarity index 100% rename from src/lay/lay/doc/images/drc_space2u.png rename to src/doc/doc/images/drc_space2u.png diff --git a/src/lay/lay/doc/images/drc_space3.png b/src/doc/doc/images/drc_space3.png similarity index 100% rename from src/lay/lay/doc/images/drc_space3.png rename to src/doc/doc/images/drc_space3.png diff --git a/src/lay/lay/doc/images/drc_space3u.png b/src/doc/doc/images/drc_space3u.png similarity index 100% rename from src/lay/lay/doc/images/drc_space3u.png rename to src/doc/doc/images/drc_space3u.png diff --git a/src/lay/lay/doc/images/drc_start_segments1.png b/src/doc/doc/images/drc_start_segments1.png similarity index 100% rename from src/lay/lay/doc/images/drc_start_segments1.png rename to src/doc/doc/images/drc_start_segments1.png diff --git a/src/lay/lay/doc/images/drc_start_segments2.png b/src/doc/doc/images/drc_start_segments2.png similarity index 100% rename from src/lay/lay/doc/images/drc_start_segments2.png rename to src/doc/doc/images/drc_start_segments2.png diff --git a/src/lay/lay/doc/images/drc_textpoly1.png b/src/doc/doc/images/drc_textpoly1.png similarity index 100% rename from src/lay/lay/doc/images/drc_textpoly1.png rename to src/doc/doc/images/drc_textpoly1.png diff --git a/src/lay/lay/doc/images/drc_textpoly2.png b/src/doc/doc/images/drc_textpoly2.png similarity index 100% rename from src/lay/lay/doc/images/drc_textpoly2.png rename to src/doc/doc/images/drc_textpoly2.png diff --git a/src/lay/lay/doc/images/drc_texts1.png b/src/doc/doc/images/drc_texts1.png similarity index 100% rename from src/lay/lay/doc/images/drc_texts1.png rename to src/doc/doc/images/drc_texts1.png diff --git a/src/lay/lay/doc/images/drc_texts2.png b/src/doc/doc/images/drc_texts2.png similarity index 100% rename from src/lay/lay/doc/images/drc_texts2.png rename to src/doc/doc/images/drc_texts2.png diff --git a/src/lay/lay/doc/images/drc_transformed1.png b/src/doc/doc/images/drc_transformed1.png similarity index 100% rename from src/lay/lay/doc/images/drc_transformed1.png rename to src/doc/doc/images/drc_transformed1.png diff --git a/src/lay/lay/doc/images/drc_width1.png b/src/doc/doc/images/drc_width1.png similarity index 100% rename from src/lay/lay/doc/images/drc_width1.png rename to src/doc/doc/images/drc_width1.png diff --git a/src/lay/lay/doc/images/drc_width1u.png b/src/doc/doc/images/drc_width1u.png similarity index 100% rename from src/lay/lay/doc/images/drc_width1u.png rename to src/doc/doc/images/drc_width1u.png diff --git a/src/lay/lay/doc/images/drc_width2.png b/src/doc/doc/images/drc_width2.png similarity index 100% rename from src/lay/lay/doc/images/drc_width2.png rename to src/doc/doc/images/drc_width2.png diff --git a/src/lay/lay/doc/images/drc_width2u.png b/src/doc/doc/images/drc_width2u.png similarity index 100% rename from src/lay/lay/doc/images/drc_width2u.png rename to src/doc/doc/images/drc_width2u.png diff --git a/src/lay/lay/doc/images/drc_width3.png b/src/doc/doc/images/drc_width3.png similarity index 100% rename from src/lay/lay/doc/images/drc_width3.png rename to src/doc/doc/images/drc_width3.png diff --git a/src/lay/lay/doc/images/drc_width3u.png b/src/doc/doc/images/drc_width3u.png similarity index 100% rename from src/lay/lay/doc/images/drc_width3u.png rename to src/doc/doc/images/drc_width3u.png diff --git a/src/lay/lay/doc/images/drc_width4.png b/src/doc/doc/images/drc_width4.png similarity index 100% rename from src/lay/lay/doc/images/drc_width4.png rename to src/doc/doc/images/drc_width4.png diff --git a/src/lay/lay/doc/images/drc_width4u.png b/src/doc/doc/images/drc_width4u.png similarity index 100% rename from src/lay/lay/doc/images/drc_width4u.png rename to src/doc/doc/images/drc_width4u.png diff --git a/src/lay/lay/doc/images/drc_width5u.png b/src/doc/doc/images/drc_width5u.png similarity index 100% rename from src/lay/lay/doc/images/drc_width5u.png rename to src/doc/doc/images/drc_width5u.png diff --git a/src/lay/lay/doc/images/drc_width6u.png b/src/doc/doc/images/drc_width6u.png similarity index 100% rename from src/lay/lay/doc/images/drc_width6u.png rename to src/doc/doc/images/drc_width6u.png diff --git a/src/lay/lay/doc/images/drc_with_angle1.png b/src/doc/doc/images/drc_with_angle1.png similarity index 100% rename from src/lay/lay/doc/images/drc_with_angle1.png rename to src/doc/doc/images/drc_with_angle1.png diff --git a/src/lay/lay/doc/images/drc_with_angle2.png b/src/doc/doc/images/drc_with_angle2.png similarity index 100% rename from src/lay/lay/doc/images/drc_with_angle2.png rename to src/doc/doc/images/drc_with_angle2.png diff --git a/src/lay/lay/doc/images/drc_with_angle3.png b/src/doc/doc/images/drc_with_angle3.png similarity index 100% rename from src/lay/lay/doc/images/drc_with_angle3.png rename to src/doc/doc/images/drc_with_angle3.png diff --git a/src/lay/lay/doc/images/drc_with_angle4.png b/src/doc/doc/images/drc_with_angle4.png similarity index 100% rename from src/lay/lay/doc/images/drc_with_angle4.png rename to src/doc/doc/images/drc_with_angle4.png diff --git a/src/lay/lay/doc/images/drc_xor1.png b/src/doc/doc/images/drc_xor1.png similarity index 100% rename from src/lay/lay/doc/images/drc_xor1.png rename to src/doc/doc/images/drc_xor1.png diff --git a/src/lay/lay/doc/images/drc_xor2.png b/src/doc/doc/images/drc_xor2.png similarity index 100% rename from src/lay/lay/doc/images/drc_xor2.png rename to src/doc/doc/images/drc_xor2.png diff --git a/src/lay/lay/doc/manual/adjust_origin.xml b/src/doc/doc/manual/adjust_origin.xml similarity index 100% rename from src/lay/lay/doc/manual/adjust_origin.xml rename to src/doc/doc/manual/adjust_origin.xml diff --git a/src/lay/lay/doc/manual/advanced.xml b/src/doc/doc/manual/advanced.xml similarity index 100% rename from src/lay/lay/doc/manual/advanced.xml rename to src/doc/doc/manual/advanced.xml diff --git a/src/lay/lay/doc/manual/background_combination_modes.png b/src/doc/doc/manual/background_combination_modes.png similarity index 100% rename from src/lay/lay/doc/manual/background_combination_modes.png rename to src/doc/doc/manual/background_combination_modes.png diff --git a/src/lay/lay/doc/manual/background_modes.xml b/src/doc/doc/manual/background_modes.xml similarity index 100% rename from src/lay/lay/doc/manual/background_modes.xml rename to src/doc/doc/manual/background_modes.xml diff --git a/src/lay/lay/doc/manual/basic.xml b/src/doc/doc/manual/basic.xml similarity index 100% rename from src/lay/lay/doc/manual/basic.xml rename to src/doc/doc/manual/basic.xml diff --git a/src/lay/lay/doc/manual/bjt3_schematic.png b/src/doc/doc/manual/bjt3_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/bjt3_schematic.png rename to src/doc/doc/manual/bjt3_schematic.png diff --git a/src/lay/lay/doc/manual/bjt4_schematic.png b/src/doc/doc/manual/bjt4_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/bjt4_schematic.png rename to src/doc/doc/manual/bjt4_schematic.png diff --git a/src/lay/lay/doc/manual/bjt_ex_layout.png b/src/doc/doc/manual/bjt_ex_layout.png similarity index 100% rename from src/lay/lay/doc/manual/bjt_ex_layout.png rename to src/doc/doc/manual/bjt_ex_layout.png diff --git a/src/lay/lay/doc/manual/bjt_ex_tb.png b/src/doc/doc/manual/bjt_ex_tb.png similarity index 100% rename from src/lay/lay/doc/manual/bjt_ex_tb.png rename to src/doc/doc/manual/bjt_ex_tb.png diff --git a/src/lay/lay/doc/manual/bjt_ex_tc.png b/src/doc/doc/manual/bjt_ex_tc.png similarity index 100% rename from src/lay/lay/doc/manual/bjt_ex_tc.png rename to src/doc/doc/manual/bjt_ex_tc.png diff --git a/src/lay/lay/doc/manual/bjt_ex_te.png b/src/doc/doc/manual/bjt_ex_te.png similarity index 100% rename from src/lay/lay/doc/manual/bjt_ex_te.png rename to src/doc/doc/manual/bjt_ex_te.png diff --git a/src/lay/lay/doc/manual/bjt_ex_ts.png b/src/doc/doc/manual/bjt_ex_ts.png similarity index 100% rename from src/lay/lay/doc/manual/bjt_ex_ts.png rename to src/doc/doc/manual/bjt_ex_ts.png diff --git a/src/lay/lay/doc/manual/bjt_lateral.png b/src/doc/doc/manual/bjt_lateral.png similarity index 100% rename from src/lay/lay/doc/manual/bjt_lateral.png rename to src/doc/doc/manual/bjt_lateral.png diff --git a/src/lay/lay/doc/manual/bjt_vertical.png b/src/doc/doc/manual/bjt_vertical.png similarity index 100% rename from src/lay/lay/doc/manual/bjt_vertical.png rename to src/doc/doc/manual/bjt_vertical.png diff --git a/src/lay/lay/doc/manual/bjtlat_ex_layout.png b/src/doc/doc/manual/bjtlat_ex_layout.png similarity index 100% rename from src/lay/lay/doc/manual/bjtlat_ex_layout.png rename to src/doc/doc/manual/bjtlat_ex_layout.png diff --git a/src/lay/lay/doc/manual/bjtlat_ex_tb.png b/src/doc/doc/manual/bjtlat_ex_tb.png similarity index 100% rename from src/lay/lay/doc/manual/bjtlat_ex_tb.png rename to src/doc/doc/manual/bjtlat_ex_tb.png diff --git a/src/lay/lay/doc/manual/bjtlat_ex_tc.png b/src/doc/doc/manual/bjtlat_ex_tc.png similarity index 100% rename from src/lay/lay/doc/manual/bjtlat_ex_tc.png rename to src/doc/doc/manual/bjtlat_ex_tc.png diff --git a/src/lay/lay/doc/manual/bjtlat_ex_te.png b/src/doc/doc/manual/bjtlat_ex_te.png similarity index 100% rename from src/lay/lay/doc/manual/bjtlat_ex_te.png rename to src/doc/doc/manual/bjtlat_ex_te.png diff --git a/src/lay/lay/doc/manual/bjtlat_ex_ts.png b/src/doc/doc/manual/bjtlat_ex_ts.png similarity index 100% rename from src/lay/lay/doc/manual/bjtlat_ex_ts.png rename to src/doc/doc/manual/bjtlat_ex_ts.png diff --git a/src/lay/lay/doc/manual/bookmarks.xml b/src/doc/doc/manual/bookmarks.xml similarity index 100% rename from src/lay/lay/doc/manual/bookmarks.xml rename to src/doc/doc/manual/bookmarks.xml diff --git a/src/lay/lay/doc/manual/browse_instances.xml b/src/doc/doc/manual/browse_instances.xml similarity index 100% rename from src/lay/lay/doc/manual/browse_instances.xml rename to src/doc/doc/manual/browse_instances.xml diff --git a/src/lay/lay/doc/manual/browse_shapes.xml b/src/doc/doc/manual/browse_shapes.xml similarity index 100% rename from src/lay/lay/doc/manual/browse_shapes.xml rename to src/doc/doc/manual/browse_shapes.xml diff --git a/src/lay/lay/doc/manual/cap_ex_layout.png b/src/doc/doc/manual/cap_ex_layout.png similarity index 100% rename from src/lay/lay/doc/manual/cap_ex_layout.png rename to src/doc/doc/manual/cap_ex_layout.png diff --git a/src/lay/lay/doc/manual/cap_ex_ta.png b/src/doc/doc/manual/cap_ex_ta.png similarity index 100% rename from src/lay/lay/doc/manual/cap_ex_ta.png rename to src/doc/doc/manual/cap_ex_ta.png diff --git a/src/lay/lay/doc/manual/cap_ex_tb.png b/src/doc/doc/manual/cap_ex_tb.png similarity index 100% rename from src/lay/lay/doc/manual/cap_ex_tb.png rename to src/doc/doc/manual/cap_ex_tb.png diff --git a/src/lay/lay/doc/manual/cap_ex_tw.png b/src/doc/doc/manual/cap_ex_tw.png similarity index 100% rename from src/lay/lay/doc/manual/cap_ex_tw.png rename to src/doc/doc/manual/cap_ex_tw.png diff --git a/src/lay/lay/doc/manual/cap_schematic.png b/src/doc/doc/manual/cap_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/cap_schematic.png rename to src/doc/doc/manual/cap_schematic.png diff --git a/src/lay/lay/doc/manual/cap_with_bulk_schematic.png b/src/doc/doc/manual/cap_with_bulk_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/cap_with_bulk_schematic.png rename to src/doc/doc/manual/cap_with_bulk_schematic.png diff --git a/src/lay/lay/doc/manual/cell.xml b/src/doc/doc/manual/cell.xml similarity index 100% rename from src/lay/lay/doc/manual/cell.xml rename to src/doc/doc/manual/cell.xml diff --git a/src/lay/lay/doc/manual/cell_list.xml b/src/doc/doc/manual/cell_list.xml similarity index 100% rename from src/lay/lay/doc/manual/cell_list.xml rename to src/doc/doc/manual/cell_list.xml diff --git a/src/lay/lay/doc/manual/clip.xml b/src/doc/doc/manual/clip.xml similarity index 100% rename from src/lay/lay/doc/manual/clip.xml rename to src/doc/doc/manual/clip.xml diff --git a/src/lay/lay/doc/manual/copypaste_cell.xml b/src/doc/doc/manual/copypaste_cell.xml similarity index 100% rename from src/lay/lay/doc/manual/copypaste_cell.xml rename to src/doc/doc/manual/copypaste_cell.xml diff --git a/src/lay/lay/doc/manual/copypaste_sel.xml b/src/doc/doc/manual/copypaste_sel.xml similarity index 100% rename from src/lay/lay/doc/manual/copypaste_sel.xml rename to src/doc/doc/manual/copypaste_sel.xml diff --git a/src/lay/lay/doc/manual/create_box.xml b/src/doc/doc/manual/create_box.xml similarity index 100% rename from src/lay/lay/doc/manual/create_box.xml rename to src/doc/doc/manual/create_box.xml diff --git a/src/lay/lay/doc/manual/create_cells.xml b/src/doc/doc/manual/create_cells.xml similarity index 100% rename from src/lay/lay/doc/manual/create_cells.xml rename to src/doc/doc/manual/create_cells.xml diff --git a/src/lay/lay/doc/manual/create_cv1.png b/src/doc/doc/manual/create_cv1.png similarity index 100% rename from src/lay/lay/doc/manual/create_cv1.png rename to src/doc/doc/manual/create_cv1.png diff --git a/src/lay/lay/doc/manual/create_cv2.png b/src/doc/doc/manual/create_cv2.png similarity index 100% rename from src/lay/lay/doc/manual/create_cv2.png rename to src/doc/doc/manual/create_cv2.png diff --git a/src/lay/lay/doc/manual/create_cv3.png b/src/doc/doc/manual/create_cv3.png similarity index 100% rename from src/lay/lay/doc/manual/create_cv3.png rename to src/doc/doc/manual/create_cv3.png diff --git a/src/lay/lay/doc/manual/create_cv4.png b/src/doc/doc/manual/create_cv4.png similarity index 100% rename from src/lay/lay/doc/manual/create_cv4.png rename to src/doc/doc/manual/create_cv4.png diff --git a/src/lay/lay/doc/manual/create_from_scratch.xml b/src/doc/doc/manual/create_from_scratch.xml similarity index 100% rename from src/lay/lay/doc/manual/create_from_scratch.xml rename to src/doc/doc/manual/create_from_scratch.xml diff --git a/src/lay/lay/doc/manual/create_instance.xml b/src/doc/doc/manual/create_instance.xml similarity index 100% rename from src/lay/lay/doc/manual/create_instance.xml rename to src/doc/doc/manual/create_instance.xml diff --git a/src/lay/lay/doc/manual/create_layers.xml b/src/doc/doc/manual/create_layers.xml similarity index 100% rename from src/lay/lay/doc/manual/create_layers.xml rename to src/doc/doc/manual/create_layers.xml diff --git a/src/lay/lay/doc/manual/create_path.xml b/src/doc/doc/manual/create_path.xml similarity index 100% rename from src/lay/lay/doc/manual/create_path.xml rename to src/doc/doc/manual/create_path.xml diff --git a/src/lay/lay/doc/manual/create_polygon.xml b/src/doc/doc/manual/create_polygon.xml similarity index 100% rename from src/lay/lay/doc/manual/create_polygon.xml rename to src/doc/doc/manual/create_polygon.xml diff --git a/src/lay/lay/doc/manual/create_text.xml b/src/doc/doc/manual/create_text.xml similarity index 100% rename from src/lay/lay/doc/manual/create_text.xml rename to src/doc/doc/manual/create_text.xml diff --git a/src/lay/lay/doc/manual/create_variants.xml b/src/doc/doc/manual/create_variants.xml similarity index 100% rename from src/lay/lay/doc/manual/create_variants.xml rename to src/doc/doc/manual/create_variants.xml diff --git a/src/lay/lay/doc/manual/del_cell.xml b/src/doc/doc/manual/del_cell.xml similarity index 100% rename from src/lay/lay/doc/manual/del_cell.xml rename to src/doc/doc/manual/del_cell.xml diff --git a/src/lay/lay/doc/manual/descend.xml b/src/doc/doc/manual/descend.xml similarity index 100% rename from src/lay/lay/doc/manual/descend.xml rename to src/doc/doc/manual/descend.xml diff --git a/src/lay/lay/doc/manual/diff.xml b/src/doc/doc/manual/diff.xml similarity index 100% rename from src/lay/lay/doc/manual/diff.xml rename to src/doc/doc/manual/diff.xml diff --git a/src/lay/lay/doc/manual/diode_ex_layout.png b/src/doc/doc/manual/diode_ex_layout.png similarity index 100% rename from src/lay/lay/doc/manual/diode_ex_layout.png rename to src/doc/doc/manual/diode_ex_layout.png diff --git a/src/lay/lay/doc/manual/diode_ex_ta.png b/src/doc/doc/manual/diode_ex_ta.png similarity index 100% rename from src/lay/lay/doc/manual/diode_ex_ta.png rename to src/doc/doc/manual/diode_ex_ta.png diff --git a/src/lay/lay/doc/manual/diode_ex_tc.png b/src/doc/doc/manual/diode_ex_tc.png similarity index 100% rename from src/lay/lay/doc/manual/diode_ex_tc.png rename to src/doc/doc/manual/diode_ex_tc.png diff --git a/src/lay/lay/doc/manual/diode_schematic.png b/src/doc/doc/manual/diode_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/diode_schematic.png rename to src/doc/doc/manual/diode_schematic.png diff --git a/src/lay/lay/doc/manual/drc.xml b/src/doc/doc/manual/drc.xml similarity index 100% rename from src/lay/lay/doc/manual/drc.xml rename to src/doc/doc/manual/drc.xml diff --git a/src/lay/lay/doc/manual/drc_basic.xml b/src/doc/doc/manual/drc_basic.xml similarity index 100% rename from src/lay/lay/doc/manual/drc_basic.xml rename to src/doc/doc/manual/drc_basic.xml diff --git a/src/lay/lay/doc/manual/drc_runsets.xml b/src/doc/doc/manual/drc_runsets.xml similarity index 100% rename from src/lay/lay/doc/manual/drc_runsets.xml rename to src/doc/doc/manual/drc_runsets.xml diff --git a/src/lay/lay/doc/manual/edit_mode.xml b/src/doc/doc/manual/edit_mode.xml similarity index 100% rename from src/lay/lay/doc/manual/edit_mode.xml rename to src/doc/doc/manual/edit_mode.xml diff --git a/src/lay/lay/doc/manual/editor.xml b/src/doc/doc/manual/editor.xml similarity index 100% rename from src/lay/lay/doc/manual/editor.xml rename to src/doc/doc/manual/editor.xml diff --git a/src/lay/lay/doc/manual/editor_advanced.xml b/src/doc/doc/manual/editor_advanced.xml similarity index 100% rename from src/lay/lay/doc/manual/editor_advanced.xml rename to src/doc/doc/manual/editor_advanced.xml diff --git a/src/lay/lay/doc/manual/editor_basics.xml b/src/doc/doc/manual/editor_basics.xml similarity index 100% rename from src/lay/lay/doc/manual/editor_basics.xml rename to src/doc/doc/manual/editor_basics.xml diff --git a/src/lay/lay/doc/manual/editor_operations.xml b/src/doc/doc/manual/editor_operations.xml similarity index 100% rename from src/lay/lay/doc/manual/editor_operations.xml rename to src/doc/doc/manual/editor_operations.xml diff --git a/src/lay/lay/doc/manual/editor_options.xml b/src/doc/doc/manual/editor_options.xml similarity index 100% rename from src/lay/lay/doc/manual/editor_options.xml rename to src/doc/doc/manual/editor_options.xml diff --git a/src/lay/lay/doc/manual/editor_selection.xml b/src/doc/doc/manual/editor_selection.xml similarity index 100% rename from src/lay/lay/doc/manual/editor_selection.xml rename to src/doc/doc/manual/editor_selection.xml diff --git a/src/lay/lay/doc/manual/explicit_hier_levels.xml b/src/doc/doc/manual/explicit_hier_levels.xml similarity index 100% rename from src/lay/lay/doc/manual/explicit_hier_levels.xml rename to src/doc/doc/manual/explicit_hier_levels.xml diff --git a/src/lay/lay/doc/manual/fill_default.png b/src/doc/doc/manual/fill_default.png similarity index 100% rename from src/lay/lay/doc/manual/fill_default.png rename to src/doc/doc/manual/fill_default.png diff --git a/src/lay/lay/doc/manual/fill_enhanced.png b/src/doc/doc/manual/fill_enhanced.png similarity index 100% rename from src/lay/lay/doc/manual/fill_enhanced.png rename to src/doc/doc/manual/fill_enhanced.png diff --git a/src/lay/lay/doc/manual/fill_second_order.png b/src/doc/doc/manual/fill_second_order.png similarity index 100% rename from src/lay/lay/doc/manual/fill_second_order.png rename to src/doc/doc/manual/fill_second_order.png diff --git a/src/lay/lay/doc/manual/flatten.xml b/src/doc/doc/manual/flatten.xml similarity index 100% rename from src/lay/lay/doc/manual/flatten.xml rename to src/doc/doc/manual/flatten.xml diff --git a/src/lay/lay/doc/manual/global_trans.xml b/src/doc/doc/manual/global_trans.xml similarity index 100% rename from src/lay/lay/doc/manual/global_trans.xml rename to src/doc/doc/manual/global_trans.xml diff --git a/src/lay/lay/doc/manual/hiding.xml b/src/doc/doc/manual/hiding.xml similarity index 100% rename from src/lay/lay/doc/manual/hiding.xml rename to src/doc/doc/manual/hiding.xml diff --git a/src/lay/lay/doc/manual/hier.xml b/src/doc/doc/manual/hier.xml similarity index 100% rename from src/lay/lay/doc/manual/hier.xml rename to src/doc/doc/manual/hier.xml diff --git a/src/lay/lay/doc/manual/hier_ops.xml b/src/doc/doc/manual/hier_ops.xml similarity index 100% rename from src/lay/lay/doc/manual/hier_ops.xml rename to src/doc/doc/manual/hier_ops.xml diff --git a/src/lay/lay/doc/manual/hierarchy_panel.png b/src/doc/doc/manual/hierarchy_panel.png similarity index 100% rename from src/lay/lay/doc/manual/hierarchy_panel.png rename to src/doc/doc/manual/hierarchy_panel.png diff --git a/src/lay/lay/doc/manual/images.xml b/src/doc/doc/manual/images.xml similarity index 100% rename from src/lay/lay/doc/manual/images.xml rename to src/doc/doc/manual/images.xml diff --git a/src/lay/lay/doc/manual/import_gerber.xml b/src/doc/doc/manual/import_gerber.xml similarity index 100% rename from src/lay/lay/doc/manual/import_gerber.xml rename to src/doc/doc/manual/import_gerber.xml diff --git a/src/lay/lay/doc/manual/import_layout.xml b/src/doc/doc/manual/import_layout.xml similarity index 100% rename from src/lay/lay/doc/manual/import_layout.xml rename to src/doc/doc/manual/import_layout.xml diff --git a/src/lay/lay/doc/manual/index.xml b/src/doc/doc/manual/index.xml similarity index 100% rename from src/lay/lay/doc/manual/index.xml rename to src/doc/doc/manual/index.xml diff --git a/src/lay/lay/doc/manual/inv.png b/src/doc/doc/manual/inv.png similarity index 100% rename from src/lay/lay/doc/manual/inv.png rename to src/doc/doc/manual/inv.png diff --git a/src/lay/lay/doc/manual/inv_explicit.png b/src/doc/doc/manual/inv_explicit.png similarity index 100% rename from src/lay/lay/doc/manual/inv_explicit.png rename to src/doc/doc/manual/inv_explicit.png diff --git a/src/lay/lay/doc/manual/inv_no_transistors.png b/src/doc/doc/manual/inv_no_transistors.png similarity index 100% rename from src/lay/lay/doc/manual/inv_no_transistors.png rename to src/doc/doc/manual/inv_no_transistors.png diff --git a/src/lay/lay/doc/manual/inv_schematic.png b/src/doc/doc/manual/inv_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/inv_schematic.png rename to src/doc/doc/manual/inv_schematic.png diff --git a/src/lay/lay/doc/manual/inv_schematic2.png b/src/doc/doc/manual/inv_schematic2.png similarity index 100% rename from src/lay/lay/doc/manual/inv_schematic2.png rename to src/doc/doc/manual/inv_schematic2.png diff --git a/src/lay/lay/doc/manual/inv_transistors.png b/src/doc/doc/manual/inv_transistors.png similarity index 100% rename from src/lay/lay/doc/manual/inv_transistors.png rename to src/doc/doc/manual/inv_transistors.png diff --git a/src/lay/lay/doc/manual/inv_with_diodes.png b/src/doc/doc/manual/inv_with_diodes.png similarity index 100% rename from src/lay/lay/doc/manual/inv_with_diodes.png rename to src/doc/doc/manual/inv_with_diodes.png diff --git a/src/lay/lay/doc/manual/landmarks.xml b/src/doc/doc/manual/landmarks.xml similarity index 100% rename from src/lay/lay/doc/manual/landmarks.xml rename to src/doc/doc/manual/landmarks.xml diff --git a/src/lay/lay/doc/manual/layer_animation.xml b/src/doc/doc/manual/layer_animation.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_animation.xml rename to src/doc/doc/manual/layer_animation.xml diff --git a/src/lay/lay/doc/manual/layer_boolean.xml b/src/doc/doc/manual/layer_boolean.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_boolean.xml rename to src/doc/doc/manual/layer_boolean.xml diff --git a/src/lay/lay/doc/manual/layer_color.xml b/src/doc/doc/manual/layer_color.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_color.xml rename to src/doc/doc/manual/layer_color.xml diff --git a/src/lay/lay/doc/manual/layer_content.xml b/src/doc/doc/manual/layer_content.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_content.xml rename to src/doc/doc/manual/layer_content.xml diff --git a/src/lay/lay/doc/manual/layer_fill.xml b/src/doc/doc/manual/layer_fill.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_fill.xml rename to src/doc/doc/manual/layer_fill.xml diff --git a/src/lay/lay/doc/manual/layer_hier.xml b/src/doc/doc/manual/layer_hier.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_hier.xml rename to src/doc/doc/manual/layer_hier.xml diff --git a/src/lay/lay/doc/manual/layer_ops.xml b/src/doc/doc/manual/layer_ops.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_ops.xml rename to src/doc/doc/manual/layer_ops.xml diff --git a/src/lay/lay/doc/manual/layer_order.xml b/src/doc/doc/manual/layer_order.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_order.xml rename to src/doc/doc/manual/layer_order.xml diff --git a/src/lay/lay/doc/manual/layer_size.xml b/src/doc/doc/manual/layer_size.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_size.xml rename to src/doc/doc/manual/layer_size.xml diff --git a/src/lay/lay/doc/manual/layer_source.xml b/src/doc/doc/manual/layer_source.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_source.xml rename to src/doc/doc/manual/layer_source.xml diff --git a/src/lay/lay/doc/manual/layer_source_expert.xml b/src/doc/doc/manual/layer_source_expert.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_source_expert.xml rename to src/doc/doc/manual/layer_source_expert.xml diff --git a/src/lay/lay/doc/manual/layer_style.xml b/src/doc/doc/manual/layer_style.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_style.xml rename to src/doc/doc/manual/layer_style.xml diff --git a/src/lay/lay/doc/manual/layer_tabs.xml b/src/doc/doc/manual/layer_tabs.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_tabs.xml rename to src/doc/doc/manual/layer_tabs.xml diff --git a/src/lay/lay/doc/manual/layer_validity.xml b/src/doc/doc/manual/layer_validity.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_validity.xml rename to src/doc/doc/manual/layer_validity.xml diff --git a/src/lay/lay/doc/manual/layer_views.xml b/src/doc/doc/manual/layer_views.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_views.xml rename to src/doc/doc/manual/layer_views.xml diff --git a/src/lay/lay/doc/manual/layer_visibility.xml b/src/doc/doc/manual/layer_visibility.xml similarity index 100% rename from src/lay/lay/doc/manual/layer_visibility.xml rename to src/doc/doc/manual/layer_visibility.xml diff --git a/src/lay/lay/doc/manual/layout_transforms.xml b/src/doc/doc/manual/layout_transforms.xml similarity index 100% rename from src/lay/lay/doc/manual/layout_transforms.xml rename to src/doc/doc/manual/layout_transforms.xml diff --git a/src/lay/lay/doc/manual/library_view.png b/src/doc/doc/manual/library_view.png similarity index 100% rename from src/lay/lay/doc/manual/library_view.png rename to src/doc/doc/manual/library_view.png diff --git a/src/lay/lay/doc/manual/library_view.xml b/src/doc/doc/manual/library_view.xml similarity index 100% rename from src/lay/lay/doc/manual/library_view.xml rename to src/doc/doc/manual/library_view.xml diff --git a/src/lay/lay/doc/manual/line_style.xml b/src/doc/doc/manual/line_style.xml similarity index 100% rename from src/lay/lay/doc/manual/line_style.xml rename to src/doc/doc/manual/line_style.xml diff --git a/src/lay/lay/doc/manual/load_save_layers.xml b/src/doc/doc/manual/load_save_layers.xml similarity index 100% rename from src/lay/lay/doc/manual/load_save_layers.xml rename to src/doc/doc/manual/load_save_layers.xml diff --git a/src/lay/lay/doc/manual/loading.xml b/src/doc/doc/manual/loading.xml similarity index 100% rename from src/lay/lay/doc/manual/loading.xml rename to src/doc/doc/manual/loading.xml diff --git a/src/lay/lay/doc/manual/lvs.xml b/src/doc/doc/manual/lvs.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs.xml rename to src/doc/doc/manual/lvs.xml diff --git a/src/lay/lay/doc/manual/lvs_browser.png b/src/doc/doc/manual/lvs_browser.png similarity index 100% rename from src/lay/lay/doc/manual/lvs_browser.png rename to src/doc/doc/manual/lvs_browser.png diff --git a/src/lay/lay/doc/manual/lvs_compare.xml b/src/doc/doc/manual/lvs_compare.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_compare.xml rename to src/doc/doc/manual/lvs_compare.xml diff --git a/src/lay/lay/doc/manual/lvs_connect.xml b/src/doc/doc/manual/lvs_connect.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_connect.xml rename to src/doc/doc/manual/lvs_connect.xml diff --git a/src/lay/lay/doc/manual/lvs_device_classes.xml b/src/doc/doc/manual/lvs_device_classes.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_device_classes.xml rename to src/doc/doc/manual/lvs_device_classes.xml diff --git a/src/lay/lay/doc/manual/lvs_device_extractors.xml b/src/doc/doc/manual/lvs_device_extractors.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_device_extractors.xml rename to src/doc/doc/manual/lvs_device_extractors.xml diff --git a/src/lay/lay/doc/manual/lvs_devices.xml b/src/doc/doc/manual/lvs_devices.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_devices.xml rename to src/doc/doc/manual/lvs_devices.xml diff --git a/src/lay/lay/doc/manual/lvs_intro.xml b/src/doc/doc/manual/lvs_intro.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_intro.xml rename to src/doc/doc/manual/lvs_intro.xml diff --git a/src/lay/lay/doc/manual/lvs_io.xml b/src/doc/doc/manual/lvs_io.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_io.xml rename to src/doc/doc/manual/lvs_io.xml diff --git a/src/lay/lay/doc/manual/lvs_overview.xml b/src/doc/doc/manual/lvs_overview.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_overview.xml rename to src/doc/doc/manual/lvs_overview.xml diff --git a/src/lay/lay/doc/manual/lvs_symm_nodes.png b/src/doc/doc/manual/lvs_symm_nodes.png similarity index 100% rename from src/lay/lay/doc/manual/lvs_symm_nodes.png rename to src/doc/doc/manual/lvs_symm_nodes.png diff --git a/src/lay/lay/doc/manual/lvs_tweaks.xml b/src/doc/doc/manual/lvs_tweaks.xml similarity index 100% rename from src/lay/lay/doc/manual/lvs_tweaks.xml rename to src/doc/doc/manual/lvs_tweaks.xml diff --git a/src/lay/lay/doc/manual/main_window.png b/src/doc/doc/manual/main_window.png similarity index 100% rename from src/lay/lay/doc/manual/main_window.png rename to src/doc/doc/manual/main_window.png diff --git a/src/lay/lay/doc/manual/main_window.xml b/src/doc/doc/manual/main_window.xml similarity index 100% rename from src/lay/lay/doc/manual/main_window.xml rename to src/doc/doc/manual/main_window.xml diff --git a/src/lay/lay/doc/manual/main_window_org.png b/src/doc/doc/manual/main_window_org.png similarity index 100% rename from src/lay/lay/doc/manual/main_window_org.png rename to src/doc/doc/manual/main_window_org.png diff --git a/src/lay/lay/doc/manual/marker_browser.xml b/src/doc/doc/manual/marker_browser.xml similarity index 100% rename from src/lay/lay/doc/manual/marker_browser.xml rename to src/doc/doc/manual/marker_browser.xml diff --git a/src/lay/lay/doc/manual/max_coherence.png b/src/doc/doc/manual/max_coherence.png similarity index 100% rename from src/lay/lay/doc/manual/max_coherence.png rename to src/doc/doc/manual/max_coherence.png diff --git a/src/lay/lay/doc/manual/measure.xml b/src/doc/doc/manual/measure.xml similarity index 100% rename from src/lay/lay/doc/manual/measure.xml rename to src/doc/doc/manual/measure.xml diff --git a/src/lay/lay/doc/manual/metal_connections.png b/src/doc/doc/manual/metal_connections.png similarity index 100% rename from src/lay/lay/doc/manual/metal_connections.png rename to src/doc/doc/manual/metal_connections.png diff --git a/src/lay/lay/doc/manual/min_coherence.png b/src/doc/doc/manual/min_coherence.png similarity index 100% rename from src/lay/lay/doc/manual/min_coherence.png rename to src/doc/doc/manual/min_coherence.png diff --git a/src/lay/lay/doc/manual/mos3_schematic.png b/src/doc/doc/manual/mos3_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/mos3_schematic.png rename to src/doc/doc/manual/mos3_schematic.png diff --git a/src/lay/lay/doc/manual/mos4_schematic.png b/src/doc/doc/manual/mos4_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/mos4_schematic.png rename to src/doc/doc/manual/mos4_schematic.png diff --git a/src/lay/lay/doc/manual/mos_ex_layout.png b/src/doc/doc/manual/mos_ex_layout.png similarity index 100% rename from src/lay/lay/doc/manual/mos_ex_layout.png rename to src/doc/doc/manual/mos_ex_layout.png diff --git a/src/lay/lay/doc/manual/mos_ex_tb.png b/src/doc/doc/manual/mos_ex_tb.png similarity index 100% rename from src/lay/lay/doc/manual/mos_ex_tb.png rename to src/doc/doc/manual/mos_ex_tb.png diff --git a/src/lay/lay/doc/manual/mos_ex_td.png b/src/doc/doc/manual/mos_ex_td.png similarity index 100% rename from src/lay/lay/doc/manual/mos_ex_td.png rename to src/doc/doc/manual/mos_ex_td.png diff --git a/src/lay/lay/doc/manual/mos_ex_tg.png b/src/doc/doc/manual/mos_ex_tg.png similarity index 100% rename from src/lay/lay/doc/manual/mos_ex_tg.png rename to src/doc/doc/manual/mos_ex_tg.png diff --git a/src/lay/lay/doc/manual/mos_ex_ts.png b/src/doc/doc/manual/mos_ex_ts.png similarity index 100% rename from src/lay/lay/doc/manual/mos_ex_ts.png rename to src/doc/doc/manual/mos_ex_ts.png diff --git a/src/lay/lay/doc/manual/move_layer_sel.xml b/src/doc/doc/manual/move_layer_sel.xml similarity index 100% rename from src/lay/lay/doc/manual/move_layer_sel.xml rename to src/doc/doc/manual/move_layer_sel.xml diff --git a/src/lay/lay/doc/manual/move_sel.xml b/src/doc/doc/manual/move_sel.xml similarity index 100% rename from src/lay/lay/doc/manual/move_sel.xml rename to src/doc/doc/manual/move_sel.xml diff --git a/src/lay/lay/doc/manual/navigator.png b/src/doc/doc/manual/navigator.png similarity index 100% rename from src/lay/lay/doc/manual/navigator.png rename to src/doc/doc/manual/navigator.png diff --git a/src/lay/lay/doc/manual/net_graph.png b/src/doc/doc/manual/net_graph.png similarity index 100% rename from src/lay/lay/doc/manual/net_graph.png rename to src/doc/doc/manual/net_graph.png diff --git a/src/lay/lay/doc/manual/net_tracing.xml b/src/doc/doc/manual/net_tracing.xml similarity index 100% rename from src/lay/lay/doc/manual/net_tracing.xml rename to src/doc/doc/manual/net_tracing.xml diff --git a/src/lay/lay/doc/manual/object_align.xml b/src/doc/doc/manual/object_align.xml similarity index 100% rename from src/lay/lay/doc/manual/object_align.xml rename to src/doc/doc/manual/object_align.xml diff --git a/src/lay/lay/doc/manual/panels.xml b/src/doc/doc/manual/panels.xml similarity index 100% rename from src/lay/lay/doc/manual/panels.xml rename to src/doc/doc/manual/panels.xml diff --git a/src/lay/lay/doc/manual/partial.xml b/src/doc/doc/manual/partial.xml similarity index 100% rename from src/lay/lay/doc/manual/partial.xml rename to src/doc/doc/manual/partial.xml diff --git a/src/lay/lay/doc/manual/partial_vs_full.xml b/src/doc/doc/manual/partial_vs_full.xml similarity index 100% rename from src/lay/lay/doc/manual/partial_vs_full.xml rename to src/doc/doc/manual/partial_vs_full.xml diff --git a/src/lay/lay/doc/manual/pcb_1x.png b/src/doc/doc/manual/pcb_1x.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_1x.png rename to src/doc/doc/manual/pcb_1x.png diff --git a/src/lay/lay/doc/manual/pcb_2x.png b/src/doc/doc/manual/pcb_2x.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_2x.png rename to src/doc/doc/manual/pcb_2x.png diff --git a/src/lay/lay/doc/manual/pcb_3x.png b/src/doc/doc/manual/pcb_3x.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_3x.png rename to src/doc/doc/manual/pcb_3x.png diff --git a/src/lay/lay/doc/manual/pcb_import_free_flow_1.png b/src/doc/doc/manual/pcb_import_free_flow_1.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_free_flow_1.png rename to src/doc/doc/manual/pcb_import_free_flow_1.png diff --git a/src/lay/lay/doc/manual/pcb_import_free_flow_2.png b/src/doc/doc/manual/pcb_import_free_flow_2.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_free_flow_2.png rename to src/doc/doc/manual/pcb_import_free_flow_2.png diff --git a/src/lay/lay/doc/manual/pcb_import_free_flow_3.png b/src/doc/doc/manual/pcb_import_free_flow_3.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_free_flow_3.png rename to src/doc/doc/manual/pcb_import_free_flow_3.png diff --git a/src/lay/lay/doc/manual/pcb_import_free_flow_4.png b/src/doc/doc/manual/pcb_import_free_flow_4.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_free_flow_4.png rename to src/doc/doc/manual/pcb_import_free_flow_4.png diff --git a/src/lay/lay/doc/manual/pcb_import_free_flow_5.png b/src/doc/doc/manual/pcb_import_free_flow_5.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_free_flow_5.png rename to src/doc/doc/manual/pcb_import_free_flow_5.png diff --git a/src/lay/lay/doc/manual/pcb_import_free_flow_6.png b/src/doc/doc/manual/pcb_import_free_flow_6.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_free_flow_6.png rename to src/doc/doc/manual/pcb_import_free_flow_6.png diff --git a/src/lay/lay/doc/manual/pcb_import_free_flow_7.png b/src/doc/doc/manual/pcb_import_free_flow_7.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_free_flow_7.png rename to src/doc/doc/manual/pcb_import_free_flow_7.png diff --git a/src/lay/lay/doc/manual/pcb_import_stack_flow_1.png b/src/doc/doc/manual/pcb_import_stack_flow_1.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_stack_flow_1.png rename to src/doc/doc/manual/pcb_import_stack_flow_1.png diff --git a/src/lay/lay/doc/manual/pcb_import_stack_flow_2.png b/src/doc/doc/manual/pcb_import_stack_flow_2.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_stack_flow_2.png rename to src/doc/doc/manual/pcb_import_stack_flow_2.png diff --git a/src/lay/lay/doc/manual/pcb_import_stack_flow_3.png b/src/doc/doc/manual/pcb_import_stack_flow_3.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_stack_flow_3.png rename to src/doc/doc/manual/pcb_import_stack_flow_3.png diff --git a/src/lay/lay/doc/manual/pcb_import_stack_flow_4.png b/src/doc/doc/manual/pcb_import_stack_flow_4.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_stack_flow_4.png rename to src/doc/doc/manual/pcb_import_stack_flow_4.png diff --git a/src/lay/lay/doc/manual/pcb_import_stack_flow_5.png b/src/doc/doc/manual/pcb_import_stack_flow_5.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_stack_flow_5.png rename to src/doc/doc/manual/pcb_import_stack_flow_5.png diff --git a/src/lay/lay/doc/manual/pcb_import_stack_flow_6.png b/src/doc/doc/manual/pcb_import_stack_flow_6.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_stack_flow_6.png rename to src/doc/doc/manual/pcb_import_stack_flow_6.png diff --git a/src/lay/lay/doc/manual/pcb_import_stack_flow_7.png b/src/doc/doc/manual/pcb_import_stack_flow_7.png similarity index 100% rename from src/lay/lay/doc/manual/pcb_import_stack_flow_7.png rename to src/doc/doc/manual/pcb_import_stack_flow_7.png diff --git a/src/lay/lay/doc/manual/pcell_operations.xml b/src/doc/doc/manual/pcell_operations.xml similarity index 100% rename from src/lay/lay/doc/manual/pcell_operations.xml rename to src/doc/doc/manual/pcell_operations.xml diff --git a/src/lay/lay/doc/manual/pick_and_drop.xml b/src/doc/doc/manual/pick_and_drop.xml similarity index 100% rename from src/lay/lay/doc/manual/pick_and_drop.xml rename to src/doc/doc/manual/pick_and_drop.xml diff --git a/src/lay/lay/doc/manual/rename_cell.xml b/src/doc/doc/manual/rename_cell.xml similarity index 100% rename from src/lay/lay/doc/manual/rename_cell.xml rename to src/doc/doc/manual/rename_cell.xml diff --git a/src/lay/lay/doc/manual/res_ex_layout.png b/src/doc/doc/manual/res_ex_layout.png similarity index 100% rename from src/lay/lay/doc/manual/res_ex_layout.png rename to src/doc/doc/manual/res_ex_layout.png diff --git a/src/lay/lay/doc/manual/res_ex_ta.png b/src/doc/doc/manual/res_ex_ta.png similarity index 100% rename from src/lay/lay/doc/manual/res_ex_ta.png rename to src/doc/doc/manual/res_ex_ta.png diff --git a/src/lay/lay/doc/manual/res_ex_tb.png b/src/doc/doc/manual/res_ex_tb.png similarity index 100% rename from src/lay/lay/doc/manual/res_ex_tb.png rename to src/doc/doc/manual/res_ex_tb.png diff --git a/src/lay/lay/doc/manual/res_ex_tw.png b/src/doc/doc/manual/res_ex_tw.png similarity index 100% rename from src/lay/lay/doc/manual/res_ex_tw.png rename to src/doc/doc/manual/res_ex_tw.png diff --git a/src/lay/lay/doc/manual/res_schematic.png b/src/doc/doc/manual/res_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/res_schematic.png rename to src/doc/doc/manual/res_schematic.png diff --git a/src/lay/lay/doc/manual/res_with_bulk_schematic.png b/src/doc/doc/manual/res_with_bulk_schematic.png similarity index 100% rename from src/lay/lay/doc/manual/res_with_bulk_schematic.png rename to src/doc/doc/manual/res_with_bulk_schematic.png diff --git a/src/lay/lay/doc/manual/resolve_arrays.xml b/src/doc/doc/manual/resolve_arrays.xml similarity index 100% rename from src/lay/lay/doc/manual/resolve_arrays.xml rename to src/doc/doc/manual/resolve_arrays.xml diff --git a/src/lay/lay/doc/manual/round_corners.png b/src/doc/doc/manual/round_corners.png similarity index 100% rename from src/lay/lay/doc/manual/round_corners.png rename to src/doc/doc/manual/round_corners.png diff --git a/src/lay/lay/doc/manual/round_corners.xml b/src/doc/doc/manual/round_corners.xml similarity index 100% rename from src/lay/lay/doc/manual/round_corners.xml rename to src/doc/doc/manual/round_corners.xml diff --git a/src/lay/lay/doc/manual/ruler_properties.xml b/src/doc/doc/manual/ruler_properties.xml similarity index 100% rename from src/lay/lay/doc/manual/ruler_properties.xml rename to src/doc/doc/manual/ruler_properties.xml diff --git a/src/lay/lay/doc/manual/save.xml b/src/doc/doc/manual/save.xml similarity index 100% rename from src/lay/lay/doc/manual/save.xml rename to src/doc/doc/manual/save.xml diff --git a/src/lay/lay/doc/manual/screenshots.xml b/src/doc/doc/manual/screenshots.xml similarity index 100% rename from src/lay/lay/doc/manual/screenshots.xml rename to src/doc/doc/manual/screenshots.xml diff --git a/src/lay/lay/doc/manual/search_replace.xml b/src/doc/doc/manual/search_replace.xml similarity index 100% rename from src/lay/lay/doc/manual/search_replace.xml rename to src/doc/doc/manual/search_replace.xml diff --git a/src/lay/lay/doc/manual/selecting.xml b/src/doc/doc/manual/selecting.xml similarity index 100% rename from src/lay/lay/doc/manual/selecting.xml rename to src/doc/doc/manual/selecting.xml diff --git a/src/lay/lay/doc/manual/session.xml b/src/doc/doc/manual/session.xml similarity index 100% rename from src/lay/lay/doc/manual/session.xml rename to src/doc/doc/manual/session.xml diff --git a/src/lay/lay/doc/manual/setup.xml b/src/doc/doc/manual/setup.xml similarity index 100% rename from src/lay/lay/doc/manual/setup.xml rename to src/doc/doc/manual/setup.xml diff --git a/src/lay/lay/doc/manual/shape_boolean.xml b/src/doc/doc/manual/shape_boolean.xml similarity index 100% rename from src/lay/lay/doc/manual/shape_boolean.xml rename to src/doc/doc/manual/shape_boolean.xml diff --git a/src/lay/lay/doc/manual/shape_size.xml b/src/doc/doc/manual/shape_size.xml similarity index 100% rename from src/lay/lay/doc/manual/shape_size.xml rename to src/doc/doc/manual/shape_size.xml diff --git a/src/lay/lay/doc/manual/size_modes.png b/src/doc/doc/manual/size_modes.png similarity index 100% rename from src/lay/lay/doc/manual/size_modes.png rename to src/doc/doc/manual/size_modes.png diff --git a/src/lay/lay/doc/manual/substrate_connections.png b/src/doc/doc/manual/substrate_connections.png similarity index 100% rename from src/lay/lay/doc/manual/substrate_connections.png rename to src/doc/doc/manual/substrate_connections.png diff --git a/src/lay/lay/doc/manual/symm_nodes.png b/src/doc/doc/manual/symm_nodes.png similarity index 100% rename from src/lay/lay/doc/manual/symm_nodes.png rename to src/doc/doc/manual/symm_nodes.png diff --git a/src/lay/lay/doc/manual/technology_manager.xml b/src/doc/doc/manual/technology_manager.xml similarity index 100% rename from src/lay/lay/doc/manual/technology_manager.xml rename to src/doc/doc/manual/technology_manager.xml diff --git a/src/lay/lay/doc/manual/tiling.xml b/src/doc/doc/manual/tiling.xml similarity index 100% rename from src/lay/lay/doc/manual/tiling.xml rename to src/doc/doc/manual/tiling.xml diff --git a/src/lay/lay/doc/manual/trans_sel.xml b/src/doc/doc/manual/trans_sel.xml similarity index 100% rename from src/lay/lay/doc/manual/trans_sel.xml rename to src/doc/doc/manual/trans_sel.xml diff --git a/src/lay/lay/doc/manual/undo_redo.xml b/src/doc/doc/manual/undo_redo.xml similarity index 100% rename from src/lay/lay/doc/manual/undo_redo.xml rename to src/doc/doc/manual/undo_redo.xml diff --git a/src/lay/lay/doc/manual/view_options.xml b/src/doc/doc/manual/view_options.xml similarity index 100% rename from src/lay/lay/doc/manual/view_options.xml rename to src/doc/doc/manual/view_options.xml diff --git a/src/lay/lay/doc/manual/view_state.xml b/src/doc/doc/manual/view_state.xml similarity index 100% rename from src/lay/lay/doc/manual/view_state.xml rename to src/doc/doc/manual/view_state.xml diff --git a/src/lay/lay/doc/manual/xor.xml b/src/doc/doc/manual/xor.xml similarity index 100% rename from src/lay/lay/doc/manual/xor.xml rename to src/doc/doc/manual/xor.xml diff --git a/src/lay/lay/doc/manual/zoom.xml b/src/doc/doc/manual/zoom.xml similarity index 100% rename from src/lay/lay/doc/manual/zoom.xml rename to src/doc/doc/manual/zoom.xml diff --git a/src/lay/lay/doc/programming/application_api.xml b/src/doc/doc/programming/application_api.xml similarity index 100% rename from src/lay/lay/doc/programming/application_api.xml rename to src/doc/doc/programming/application_api.xml diff --git a/src/lay/lay/doc/programming/box.png b/src/doc/doc/programming/box.png similarity index 100% rename from src/lay/lay/doc/programming/box.png rename to src/doc/doc/programming/box.png diff --git a/src/lay/lay/doc/programming/database_api.xml b/src/doc/doc/programming/database_api.xml similarity index 100% rename from src/lay/lay/doc/programming/database_api.xml rename to src/doc/doc/programming/database_api.xml diff --git a/src/lay/lay/doc/programming/edge_relations.png b/src/doc/doc/programming/edge_relations.png similarity index 100% rename from src/lay/lay/doc/programming/edge_relations.png rename to src/doc/doc/programming/edge_relations.png diff --git a/src/lay/lay/doc/programming/events.xml b/src/doc/doc/programming/events.xml similarity index 100% rename from src/lay/lay/doc/programming/events.xml rename to src/doc/doc/programming/events.xml diff --git a/src/lay/lay/doc/programming/geometry_api.xml b/src/doc/doc/programming/geometry_api.xml similarity index 100% rename from src/lay/lay/doc/programming/geometry_api.xml rename to src/doc/doc/programming/geometry_api.xml diff --git a/src/lay/lay/doc/programming/index.xml b/src/doc/doc/programming/index.xml similarity index 100% rename from src/lay/lay/doc/programming/index.xml rename to src/doc/doc/programming/index.xml diff --git a/src/lay/lay/doc/programming/introduction.xml b/src/doc/doc/programming/introduction.xml similarity index 100% rename from src/lay/lay/doc/programming/introduction.xml rename to src/doc/doc/programming/introduction.xml diff --git a/src/lay/lay/doc/programming/path.png b/src/doc/doc/programming/path.png similarity index 100% rename from src/lay/lay/doc/programming/path.png rename to src/doc/doc/programming/path.png diff --git a/src/lay/lay/doc/programming/polygon.png b/src/doc/doc/programming/polygon.png similarity index 100% rename from src/lay/lay/doc/programming/polygon.png rename to src/doc/doc/programming/polygon.png diff --git a/src/lay/lay/doc/programming/python.xml b/src/doc/doc/programming/python.xml similarity index 100% rename from src/lay/lay/doc/programming/python.xml rename to src/doc/doc/programming/python.xml diff --git a/src/lay/lay/doc/programming/qt_binding.xml b/src/doc/doc/programming/qt_binding.xml similarity index 100% rename from src/lay/lay/doc/programming/qt_binding.xml rename to src/doc/doc/programming/qt_binding.xml diff --git a/src/lay/lay/doc/programming/round_ended_path.png b/src/doc/doc/programming/round_ended_path.png similarity index 100% rename from src/lay/lay/doc/programming/round_ended_path.png rename to src/doc/doc/programming/round_ended_path.png diff --git a/src/lay/lay/doc/programming/ruby_binding.xml b/src/doc/doc/programming/ruby_binding.xml similarity index 100% rename from src/lay/lay/doc/programming/ruby_binding.xml rename to src/doc/doc/programming/ruby_binding.xml diff --git a/src/lay/lay/doc/programming/ruby_binding_basic.png b/src/doc/doc/programming/ruby_binding_basic.png similarity index 100% rename from src/lay/lay/doc/programming/ruby_binding_basic.png rename to src/doc/doc/programming/ruby_binding_basic.png diff --git a/src/lay/lay/doc/programming/ruby_binding_callback.png b/src/doc/doc/programming/ruby_binding_callback.png similarity index 100% rename from src/lay/lay/doc/programming/ruby_binding_callback.png rename to src/doc/doc/programming/ruby_binding_callback.png diff --git a/src/lay/lay/doc/programming/ruby_pcells.xml b/src/doc/doc/programming/ruby_pcells.xml similarity index 100% rename from src/lay/lay/doc/programming/ruby_pcells.xml rename to src/doc/doc/programming/ruby_pcells.xml diff --git a/src/lay/lay/doc/programming/simple_polygon.png b/src/doc/doc/programming/simple_polygon.png similarity index 100% rename from src/lay/lay/doc/programming/simple_polygon.png rename to src/doc/doc/programming/simple_polygon.png diff --git a/src/doc/docCommon.h b/src/doc/docCommon.h new file mode 100644 index 000000000..3d5edfd11 --- /dev/null +++ b/src/doc/docCommon.h @@ -0,0 +1,51 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + + +#if !defined(HDR_docCommon_h) +# define HDR_docCommon_h + +# if defined _WIN32 || defined __CYGWIN__ + +# ifdef MAKE_DOC_LIBRARY +# define DOC_PUBLIC __declspec(dllexport) +# else +# define DOC_PUBLIC __declspec(dllimport) +# endif +# define DOC_LOCAL +# define DOC_PUBLIC_TEMPLATE + +# else + +# if __GNUC__ >= 4 || defined(__clang__) +# define DOC_PUBLIC __attribute__ ((visibility ("default"))) +# define DOC_PUBLIC_TEMPLATE __attribute__ ((visibility ("default"))) +# define DOC_LOCAL __attribute__ ((visibility ("hidden"))) +# else +# define DOC_PUBLIC +# define DOC_PUBLIC_TEMPLATE +# define DOC_LOCAL +# endif + +# endif + +#endif diff --git a/src/lay/lay/layDRCLVSHelpResources.qrc b/src/doc/docDRCLVSResources.qrc similarity index 100% rename from src/lay/lay/layDRCLVSHelpResources.qrc rename to src/doc/docDRCLVSResources.qrc diff --git a/src/doc/docForceLink.cc b/src/doc/docForceLink.cc new file mode 100644 index 000000000..b8711e3eb --- /dev/null +++ b/src/doc/docForceLink.cc @@ -0,0 +1,32 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +#include "docForceLink.h" + +namespace doc +{ + int _force_link_f () + { + return 0; + } +} + diff --git a/src/doc/docForceLink.h b/src/doc/docForceLink.h new file mode 100644 index 000000000..f2020fb69 --- /dev/null +++ b/src/doc/docForceLink.h @@ -0,0 +1,40 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + + +#ifndef HDR_docForceLink +#define HDR_docForceLink + +#include "docCommon.h" + +/** + * @file Include this function to force linking of the doc module + */ + +namespace doc +{ + DOC_PUBLIC int _force_link_f (); + static int _force_link_target = _force_link_f (); +} + +#endif + diff --git a/src/lay/lay/layHelpResources.qrc b/src/doc/docResources.qrc similarity index 100% rename from src/lay/lay/layHelpResources.qrc rename to src/doc/docResources.qrc diff --git a/src/icons/icons.pro b/src/icons/icons.pro new file mode 100644 index 000000000..071d66895 --- /dev/null +++ b/src/icons/icons.pro @@ -0,0 +1,18 @@ + +DESTDIR = $$OUT_PWD/.. +TARGET = klayout_icons + +include($$PWD/../lib.pri) + +DEFINES += MAKE_ICONS_LIBRARY + +HEADERS = \ + +FORMS = \ + +SOURCES = \ + iconsForceLink.cc \ + +RESOURCES = \ + icons.qrc \ + diff --git a/src/lay/lay/layResources.qrc b/src/icons/icons.qrc similarity index 98% rename from src/lay/lay/layResources.qrc rename to src/icons/icons.qrc index 041ac55e1..5f3094346 100644 --- a/src/lay/lay/layResources.qrc +++ b/src/icons/icons.qrc @@ -138,8 +138,4 @@ images/bookmark.png images/bookmark_16.png - - syntax/ruby.xml - syntax/python.xml - diff --git a/src/icons/iconsCommon.h b/src/icons/iconsCommon.h new file mode 100644 index 000000000..c1ba58602 --- /dev/null +++ b/src/icons/iconsCommon.h @@ -0,0 +1,51 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + + +#if !defined(HDR_iconsCommon_h) +# define HDR_iconsCommon_h + +# if defined _WIN32 || defined __CYGWIN__ + +# ifdef MAKE_ICONS_LIBRARY +# define ICONS_PUBLIC __declspec(dllexport) +# else +# define ICONS_PUBLIC __declspec(dllimport) +# endif +# define ICONS_LOCAL +# define ICONS_PUBLIC_TEMPLATE + +# else + +# if __GNUC__ >= 4 || defined(__clang__) +# define ICONS_PUBLIC __attribute__ ((visibility ("default"))) +# define ICONS_PUBLIC_TEMPLATE __attribute__ ((visibility ("default"))) +# define ICONS_LOCAL __attribute__ ((visibility ("hidden"))) +# else +# define ICONS_PUBLIC +# define ICONS_PUBLIC_TEMPLATE +# define ICONS_LOCAL +# endif + +# endif + +#endif diff --git a/src/icons/iconsForceLink.cc b/src/icons/iconsForceLink.cc new file mode 100644 index 000000000..66d1a720d --- /dev/null +++ b/src/icons/iconsForceLink.cc @@ -0,0 +1,32 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +#include "iconsForceLink.h" + +namespace icons +{ + int _force_link_f () + { + return 0; + } +} + diff --git a/src/icons/iconsForceLink.h b/src/icons/iconsForceLink.h new file mode 100644 index 000000000..63569d665 --- /dev/null +++ b/src/icons/iconsForceLink.h @@ -0,0 +1,40 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2022 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + + +#ifndef HDR_iconsForceLink +#define HDR_iconsForceLink + +#include "iconsCommon.h" + +/** + * @file Include this function to force linking of the icons module + */ + +namespace icons +{ + ICONS_PUBLIC int _force_link_f (); + static int _force_link_target = _force_link_f (); +} + +#endif + diff --git a/src/lay/lay/images/add.png b/src/icons/images/add.png similarity index 100% rename from src/lay/lay/images/add.png rename to src/icons/images/add.png diff --git a/src/lay/lay/images/align_bottom.png b/src/icons/images/align_bottom.png similarity index 100% rename from src/lay/lay/images/align_bottom.png rename to src/icons/images/align_bottom.png diff --git a/src/lay/lay/images/align_hcenter.png b/src/icons/images/align_hcenter.png similarity index 100% rename from src/lay/lay/images/align_hcenter.png rename to src/icons/images/align_hcenter.png diff --git a/src/lay/lay/images/align_left.png b/src/icons/images/align_left.png similarity index 100% rename from src/lay/lay/images/align_left.png rename to src/icons/images/align_left.png diff --git a/src/lay/lay/images/align_none.png b/src/icons/images/align_none.png similarity index 100% rename from src/lay/lay/images/align_none.png rename to src/icons/images/align_none.png diff --git a/src/lay/lay/images/align_right.png b/src/icons/images/align_right.png similarity index 100% rename from src/lay/lay/images/align_right.png rename to src/icons/images/align_right.png diff --git a/src/lay/lay/images/align_top.png b/src/icons/images/align_top.png similarity index 100% rename from src/lay/lay/images/align_top.png rename to src/icons/images/align_top.png diff --git a/src/lay/lay/images/align_vcenter.png b/src/icons/images/align_vcenter.png similarity index 100% rename from src/lay/lay/images/align_vcenter.png rename to src/icons/images/align_vcenter.png diff --git a/src/lay/lay/images/back.png b/src/icons/images/back.png similarity index 100% rename from src/lay/lay/images/back.png rename to src/icons/images/back.png diff --git a/src/lay/lay/images/back_16.png b/src/icons/images/back_16.png similarity index 100% rename from src/lay/lay/images/back_16.png rename to src/icons/images/back_16.png diff --git a/src/lay/lay/images/blue_flag.png b/src/icons/images/blue_flag.png similarity index 100% rename from src/lay/lay/images/blue_flag.png rename to src/icons/images/blue_flag.png diff --git a/src/lay/lay/images/bookmark.png b/src/icons/images/bookmark.png similarity index 100% rename from src/lay/lay/images/bookmark.png rename to src/icons/images/bookmark.png diff --git a/src/lay/lay/images/bookmark_16.png b/src/icons/images/bookmark_16.png similarity index 100% rename from src/lay/lay/images/bookmark_16.png rename to src/icons/images/bookmark_16.png diff --git a/src/lay/lay/images/box.png b/src/icons/images/box.png similarity index 100% rename from src/lay/lay/images/box.png rename to src/icons/images/box.png diff --git a/src/lay/lay/images/breakpoint.png b/src/icons/images/breakpoint.png similarity index 100% rename from src/lay/lay/images/breakpoint.png rename to src/icons/images/breakpoint.png diff --git a/src/lay/lay/images/breakpointmark.png b/src/icons/images/breakpointmark.png similarity index 100% rename from src/lay/lay/images/breakpointmark.png rename to src/icons/images/breakpointmark.png diff --git a/src/lay/lay/images/breakpointmarkdisabled.png b/src/icons/images/breakpointmarkdisabled.png similarity index 100% rename from src/lay/lay/images/breakpointmarkdisabled.png rename to src/icons/images/breakpointmarkdisabled.png diff --git a/src/lay/lay/images/bright.png b/src/icons/images/bright.png similarity index 100% rename from src/lay/lay/images/bright.png rename to src/icons/images/bright.png diff --git a/src/lay/lay/images/bug.png b/src/icons/images/bug.png similarity index 100% rename from src/lay/lay/images/bug.png rename to src/icons/images/bug.png diff --git a/src/lay/lay/images/bulb.png b/src/icons/images/bulb.png similarity index 100% rename from src/lay/lay/images/bulb.png rename to src/icons/images/bulb.png diff --git a/src/lay/lay/images/cb.png b/src/icons/images/cb.png similarity index 100% rename from src/lay/lay/images/cb.png rename to src/icons/images/cb.png diff --git a/src/lay/lay/images/cc.png b/src/icons/images/cc.png similarity index 100% rename from src/lay/lay/images/cc.png rename to src/icons/images/cc.png diff --git a/src/lay/lay/images/checked.png b/src/icons/images/checked.png similarity index 100% rename from src/lay/lay/images/checked.png rename to src/icons/images/checked.png diff --git a/src/lay/lay/images/clear.png b/src/icons/images/clear.png similarity index 100% rename from src/lay/lay/images/clear.png rename to src/icons/images/clear.png diff --git a/src/lay/lay/images/clear_edit.png b/src/icons/images/clear_edit.png similarity index 100% rename from src/lay/lay/images/clear_edit.png rename to src/icons/images/clear_edit.png diff --git a/src/lay/lay/images/clearbreakpoints.png b/src/icons/images/clearbreakpoints.png similarity index 100% rename from src/lay/lay/images/clearbreakpoints.png rename to src/icons/images/clearbreakpoints.png diff --git a/src/lay/lay/images/close.png b/src/icons/images/close.png similarity index 100% rename from src/lay/lay/images/close.png rename to src/icons/images/close.png diff --git a/src/lay/lay/images/cm_add.png b/src/icons/images/cm_add.png similarity index 100% rename from src/lay/lay/images/cm_add.png rename to src/icons/images/cm_add.png diff --git a/src/lay/lay/images/cm_diff.png b/src/icons/images/cm_diff.png similarity index 100% rename from src/lay/lay/images/cm_diff.png rename to src/icons/images/cm_diff.png diff --git a/src/lay/lay/images/cm_erase.png b/src/icons/images/cm_erase.png similarity index 100% rename from src/lay/lay/images/cm_erase.png rename to src/icons/images/cm_erase.png diff --git a/src/lay/lay/images/cm_mask.png b/src/icons/images/cm_mask.png similarity index 100% rename from src/lay/lay/images/cm_mask.png rename to src/icons/images/cm_mask.png diff --git a/src/lay/lay/images/cm_merge.png b/src/icons/images/cm_merge.png similarity index 100% rename from src/lay/lay/images/cm_merge.png rename to src/icons/images/cm_merge.png diff --git a/src/lay/lay/images/ct.png b/src/icons/images/ct.png similarity index 100% rename from src/lay/lay/images/ct.png rename to src/icons/images/ct.png diff --git a/src/lay/lay/images/dark.png b/src/icons/images/dark.png similarity index 100% rename from src/lay/lay/images/dark.png rename to src/icons/images/dark.png diff --git a/src/lay/lay/images/debug.png b/src/icons/images/debug.png similarity index 100% rename from src/lay/lay/images/debug.png rename to src/icons/images/debug.png diff --git a/src/lay/lay/images/defaultmacroicon.png b/src/icons/images/defaultmacroicon.png similarity index 100% rename from src/lay/lay/images/defaultmacroicon.png rename to src/icons/images/defaultmacroicon.png diff --git a/src/lay/lay/images/del.png b/src/icons/images/del.png similarity index 100% rename from src/lay/lay/images/del.png rename to src/icons/images/del.png diff --git a/src/lay/lay/images/down.png b/src/icons/images/down.png similarity index 100% rename from src/lay/lay/images/down.png rename to src/icons/images/down.png diff --git a/src/lay/lay/images/downdown.png b/src/icons/images/downdown.png similarity index 100% rename from src/lay/lay/images/downdown.png rename to src/icons/images/downdown.png diff --git a/src/lay/lay/images/edit.png b/src/icons/images/edit.png similarity index 100% rename from src/lay/lay/images/edit.png rename to src/icons/images/edit.png diff --git a/src/lay/lay/images/empty_12.png b/src/icons/images/empty_12.png similarity index 100% rename from src/lay/lay/images/empty_12.png rename to src/icons/images/empty_12.png diff --git a/src/lay/lay/images/empty_16.png b/src/icons/images/empty_16.png similarity index 100% rename from src/lay/lay/images/empty_16.png rename to src/icons/images/empty_16.png diff --git a/src/lay/lay/images/error2_16.png b/src/icons/images/error2_16.png similarity index 100% rename from src/lay/lay/images/error2_16.png rename to src/icons/images/error2_16.png diff --git a/src/lay/lay/images/error_16.png b/src/icons/images/error_16.png similarity index 100% rename from src/lay/lay/images/error_16.png rename to src/icons/images/error_16.png diff --git a/src/lay/lay/images/execmark.png b/src/icons/images/execmark.png similarity index 100% rename from src/lay/lay/images/execmark.png rename to src/icons/images/execmark.png diff --git a/src/lay/lay/images/file_12.png b/src/icons/images/file_12.png similarity index 100% rename from src/lay/lay/images/file_12.png rename to src/icons/images/file_12.png diff --git a/src/lay/lay/images/find.png b/src/icons/images/find.png similarity index 100% rename from src/lay/lay/images/find.png rename to src/icons/images/find.png diff --git a/src/lay/lay/images/fit_back.png b/src/icons/images/fit_back.png similarity index 100% rename from src/lay/lay/images/fit_back.png rename to src/icons/images/fit_back.png diff --git a/src/lay/lay/images/fit_bottom.png b/src/icons/images/fit_bottom.png similarity index 100% rename from src/lay/lay/images/fit_bottom.png rename to src/icons/images/fit_bottom.png diff --git a/src/lay/lay/images/fit_front.png b/src/icons/images/fit_front.png similarity index 100% rename from src/lay/lay/images/fit_front.png rename to src/icons/images/fit_front.png diff --git a/src/lay/lay/images/fit_left.png b/src/icons/images/fit_left.png similarity index 100% rename from src/lay/lay/images/fit_left.png rename to src/icons/images/fit_left.png diff --git a/src/lay/lay/images/fit_right.png b/src/icons/images/fit_right.png similarity index 100% rename from src/lay/lay/images/fit_right.png rename to src/icons/images/fit_right.png diff --git a/src/lay/lay/images/fit_top.png b/src/icons/images/fit_top.png similarity index 100% rename from src/lay/lay/images/fit_top.png rename to src/icons/images/fit_top.png diff --git a/src/lay/lay/images/fliph.png b/src/icons/images/fliph.png similarity index 100% rename from src/lay/lay/images/fliph.png rename to src/icons/images/fliph.png diff --git a/src/lay/lay/images/flipv.png b/src/icons/images/flipv.png similarity index 100% rename from src/lay/lay/images/flipv.png rename to src/icons/images/flipv.png diff --git a/src/lay/lay/images/folder.png b/src/icons/images/folder.png similarity index 100% rename from src/lay/lay/images/folder.png rename to src/icons/images/folder.png diff --git a/src/lay/lay/images/folder_12.png b/src/icons/images/folder_12.png similarity index 100% rename from src/lay/lay/images/folder_12.png rename to src/icons/images/folder_12.png diff --git a/src/lay/lay/images/forward.png b/src/icons/images/forward.png similarity index 100% rename from src/lay/lay/images/forward.png rename to src/icons/images/forward.png diff --git a/src/lay/lay/images/forward_16.png b/src/icons/images/forward_16.png similarity index 100% rename from src/lay/lay/images/forward_16.png rename to src/icons/images/forward_16.png diff --git a/src/lay/lay/images/generalmacroicon.png b/src/icons/images/generalmacroicon.png similarity index 100% rename from src/lay/lay/images/generalmacroicon.png rename to src/icons/images/generalmacroicon.png diff --git a/src/lay/lay/images/generalmacroiconactive.png b/src/icons/images/generalmacroiconactive.png similarity index 100% rename from src/lay/lay/images/generalmacroiconactive.png rename to src/icons/images/generalmacroiconactive.png diff --git a/src/lay/lay/images/green_flag.png b/src/icons/images/green_flag.png similarity index 100% rename from src/lay/lay/images/green_flag.png rename to src/icons/images/green_flag.png diff --git a/src/lay/lay/images/gtf_basic.png b/src/icons/images/gtf_basic.png similarity index 100% rename from src/lay/lay/images/gtf_basic.png rename to src/icons/images/gtf_basic.png diff --git a/src/lay/lay/images/gtf_lb.png b/src/icons/images/gtf_lb.png similarity index 100% rename from src/lay/lay/images/gtf_lb.png rename to src/icons/images/gtf_lb.png diff --git a/src/lay/lay/images/gtf_mb.png b/src/icons/images/gtf_mb.png similarity index 100% rename from src/lay/lay/images/gtf_mb.png rename to src/icons/images/gtf_mb.png diff --git a/src/lay/lay/images/gtf_rb.png b/src/icons/images/gtf_rb.png similarity index 100% rename from src/lay/lay/images/gtf_rb.png rename to src/icons/images/gtf_rb.png diff --git a/src/lay/lay/images/help.png b/src/icons/images/help.png similarity index 100% rename from src/lay/lay/images/help.png rename to src/icons/images/help.png diff --git a/src/lay/lay/images/home.png b/src/icons/images/home.png similarity index 100% rename from src/lay/lay/images/home.png rename to src/icons/images/home.png diff --git a/src/lay/lay/images/import.png b/src/icons/images/import.png similarity index 100% rename from src/lay/lay/images/import.png rename to src/icons/images/import.png diff --git a/src/lay/lay/images/important.png b/src/icons/images/important.png similarity index 100% rename from src/lay/lay/images/important.png rename to src/icons/images/important.png diff --git a/src/lay/lay/images/info_16.png b/src/icons/images/info_16.png similarity index 100% rename from src/lay/lay/images/info_16.png rename to src/icons/images/info_16.png diff --git a/src/lay/lay/images/instance.png b/src/icons/images/instance.png similarity index 100% rename from src/lay/lay/images/instance.png rename to src/icons/images/instance.png diff --git a/src/lay/lay/images/invert.png b/src/icons/images/invert.png similarity index 100% rename from src/lay/lay/images/invert.png rename to src/icons/images/invert.png diff --git a/src/lay/lay/images/lb.png b/src/icons/images/lb.png similarity index 100% rename from src/lay/lay/images/lb.png rename to src/icons/images/lb.png diff --git a/src/lay/lay/images/lc.png b/src/icons/images/lc.png similarity index 100% rename from src/lay/lay/images/lc.png rename to src/icons/images/lc.png diff --git a/src/lay/lay/images/left.png b/src/icons/images/left.png similarity index 100% rename from src/lay/lay/images/left.png rename to src/icons/images/left.png diff --git a/src/lay/lay/images/locked_16.png b/src/icons/images/locked_16.png similarity index 100% rename from src/lay/lay/images/locked_16.png rename to src/icons/images/locked_16.png diff --git a/src/lay/lay/images/logo.png b/src/icons/images/logo.png similarity index 100% rename from src/lay/lay/images/logo.png rename to src/icons/images/logo.png diff --git a/src/lay/lay/images/lt.png b/src/icons/images/lt.png similarity index 100% rename from src/lay/lay/images/lt.png rename to src/icons/images/lt.png diff --git a/src/lay/lay/images/m0.png b/src/icons/images/m0.png similarity index 100% rename from src/lay/lay/images/m0.png rename to src/icons/images/m0.png diff --git a/src/lay/lay/images/m135.png b/src/icons/images/m135.png similarity index 100% rename from src/lay/lay/images/m135.png rename to src/icons/images/m135.png diff --git a/src/lay/lay/images/m45.png b/src/icons/images/m45.png similarity index 100% rename from src/lay/lay/images/m45.png rename to src/icons/images/m45.png diff --git a/src/lay/lay/images/m90.png b/src/icons/images/m90.png similarity index 100% rename from src/lay/lay/images/m90.png rename to src/icons/images/m90.png diff --git a/src/lay/lay/images/marked_16.png b/src/icons/images/marked_16.png similarity index 100% rename from src/lay/lay/images/marked_16.png rename to src/icons/images/marked_16.png diff --git a/src/lay/lay/images/marked_24.png b/src/icons/images/marked_24.png similarity index 100% rename from src/lay/lay/images/marked_24.png rename to src/icons/images/marked_24.png diff --git a/src/lay/lay/images/marked_64.png b/src/icons/images/marked_64.png similarity index 100% rename from src/lay/lay/images/marked_64.png rename to src/icons/images/marked_64.png diff --git a/src/lay/lay/images/move.png b/src/icons/images/move.png similarity index 100% rename from src/lay/lay/images/move.png rename to src/icons/images/move.png diff --git a/src/lay/lay/images/move_simple.png b/src/icons/images/move_simple.png similarity index 100% rename from src/lay/lay/images/move_simple.png rename to src/icons/images/move_simple.png diff --git a/src/lay/lay/images/neutral.png b/src/icons/images/neutral.png similarity index 100% rename from src/lay/lay/images/neutral.png rename to src/icons/images/neutral.png diff --git a/src/lay/lay/images/new_folder.png b/src/icons/images/new_folder.png similarity index 100% rename from src/lay/lay/images/new_folder.png rename to src/icons/images/new_folder.png diff --git a/src/lay/lay/images/next_topic.png b/src/icons/images/next_topic.png similarity index 100% rename from src/lay/lay/images/next_topic.png rename to src/icons/images/next_topic.png diff --git a/src/lay/lay/images/nextstep.png b/src/icons/images/nextstep.png similarity index 100% rename from src/lay/lay/images/nextstep.png rename to src/icons/images/nextstep.png diff --git a/src/lay/lay/images/no_flag.png b/src/icons/images/no_flag.png similarity index 100% rename from src/lay/lay/images/no_flag.png rename to src/icons/images/no_flag.png diff --git a/src/lay/lay/images/nophoto.png b/src/icons/images/nophoto.png similarity index 100% rename from src/lay/lay/images/nophoto.png rename to src/icons/images/nophoto.png diff --git a/src/lay/lay/images/options_edit.png b/src/icons/images/options_edit.png similarity index 100% rename from src/lay/lay/images/options_edit.png rename to src/icons/images/options_edit.png diff --git a/src/lay/lay/images/partial.png b/src/icons/images/partial.png similarity index 100% rename from src/lay/lay/images/partial.png rename to src/icons/images/partial.png diff --git a/src/lay/lay/images/path.png b/src/icons/images/path.png similarity index 100% rename from src/lay/lay/images/path.png rename to src/icons/images/path.png diff --git a/src/lay/lay/images/pause.png b/src/icons/images/pause.png similarity index 100% rename from src/lay/lay/images/pause.png rename to src/icons/images/pause.png diff --git a/src/lay/lay/images/photo.png b/src/icons/images/photo.png similarity index 100% rename from src/lay/lay/images/photo.png rename to src/icons/images/photo.png diff --git a/src/lay/lay/images/polygon.png b/src/icons/images/polygon.png similarity index 100% rename from src/lay/lay/images/polygon.png rename to src/icons/images/polygon.png diff --git a/src/lay/lay/images/prev_topic.png b/src/icons/images/prev_topic.png similarity index 100% rename from src/lay/lay/images/prev_topic.png rename to src/icons/images/prev_topic.png diff --git a/src/lay/lay/images/properties.png b/src/icons/images/properties.png similarity index 100% rename from src/lay/lay/images/properties.png rename to src/icons/images/properties.png diff --git a/src/lay/lay/images/pythonmacroicon.png b/src/icons/images/pythonmacroicon.png similarity index 100% rename from src/lay/lay/images/pythonmacroicon.png rename to src/icons/images/pythonmacroicon.png diff --git a/src/lay/lay/images/pythonmacroiconactive.png b/src/icons/images/pythonmacroiconactive.png similarity index 100% rename from src/lay/lay/images/pythonmacroiconactive.png rename to src/icons/images/pythonmacroiconactive.png diff --git a/src/lay/lay/images/r0.png b/src/icons/images/r0.png similarity index 100% rename from src/lay/lay/images/r0.png rename to src/icons/images/r0.png diff --git a/src/lay/lay/images/r180.png b/src/icons/images/r180.png similarity index 100% rename from src/lay/lay/images/r180.png rename to src/icons/images/r180.png diff --git a/src/lay/lay/images/r270.png b/src/icons/images/r270.png similarity index 100% rename from src/lay/lay/images/r270.png rename to src/icons/images/r270.png diff --git a/src/lay/lay/images/r90.png b/src/icons/images/r90.png similarity index 100% rename from src/lay/lay/images/r90.png rename to src/icons/images/r90.png diff --git a/src/lay/lay/images/rb.png b/src/icons/images/rb.png similarity index 100% rename from src/lay/lay/images/rb.png rename to src/icons/images/rb.png diff --git a/src/lay/lay/images/rc.png b/src/icons/images/rc.png similarity index 100% rename from src/lay/lay/images/rc.png rename to src/icons/images/rc.png diff --git a/src/lay/lay/images/red_flag.png b/src/icons/images/red_flag.png similarity index 100% rename from src/lay/lay/images/red_flag.png rename to src/icons/images/red_flag.png diff --git a/src/lay/lay/images/rename.png b/src/icons/images/rename.png similarity index 100% rename from src/lay/lay/images/rename.png rename to src/icons/images/rename.png diff --git a/src/lay/lay/images/replace.png b/src/icons/images/replace.png similarity index 100% rename from src/lay/lay/images/replace.png rename to src/icons/images/replace.png diff --git a/src/lay/lay/images/replace_all.png b/src/icons/images/replace_all.png similarity index 100% rename from src/lay/lay/images/replace_all.png rename to src/icons/images/replace_all.png diff --git a/src/lay/lay/images/right.png b/src/icons/images/right.png similarity index 100% rename from src/lay/lay/images/right.png rename to src/icons/images/right.png diff --git a/src/lay/lay/images/rotate.png b/src/icons/images/rotate.png similarity index 100% rename from src/lay/lay/images/rotate.png rename to src/icons/images/rotate.png diff --git a/src/lay/lay/images/rt.png b/src/icons/images/rt.png similarity index 100% rename from src/lay/lay/images/rt.png rename to src/icons/images/rt.png diff --git a/src/lay/lay/images/rubymacroicon.png b/src/icons/images/rubymacroicon.png similarity index 100% rename from src/lay/lay/images/rubymacroicon.png rename to src/icons/images/rubymacroicon.png diff --git a/src/lay/lay/images/rubymacroiconactive.png b/src/icons/images/rubymacroiconactive.png similarity index 100% rename from src/lay/lay/images/rubymacroiconactive.png rename to src/icons/images/rubymacroiconactive.png diff --git a/src/lay/lay/images/ruler.png b/src/icons/images/ruler.png similarity index 100% rename from src/lay/lay/images/ruler.png rename to src/icons/images/ruler.png diff --git a/src/lay/lay/images/run.png b/src/icons/images/run.png similarity index 100% rename from src/lay/lay/images/run.png rename to src/icons/images/run.png diff --git a/src/lay/lay/images/runthis.png b/src/icons/images/runthis.png similarity index 100% rename from src/lay/lay/images/runthis.png rename to src/icons/images/runthis.png diff --git a/src/lay/lay/images/salt.png b/src/icons/images/salt.png similarity index 100% rename from src/lay/lay/images/salt.png rename to src/icons/images/salt.png diff --git a/src/lay/lay/images/salt_icon.png b/src/icons/images/salt_icon.png similarity index 100% rename from src/lay/lay/images/salt_icon.png rename to src/icons/images/salt_icon.png diff --git a/src/lay/lay/images/save.png b/src/icons/images/save.png similarity index 100% rename from src/lay/lay/images/save.png rename to src/icons/images/save.png diff --git a/src/lay/lay/images/save_all.png b/src/icons/images/save_all.png similarity index 100% rename from src/lay/lay/images/save_all.png rename to src/icons/images/save_all.png diff --git a/src/lay/lay/images/select.png b/src/icons/images/select.png similarity index 100% rename from src/lay/lay/images/select.png rename to src/icons/images/select.png diff --git a/src/lay/lay/images/setup.png b/src/icons/images/setup.png similarity index 100% rename from src/lay/lay/images/setup.png rename to src/icons/images/setup.png diff --git a/src/lay/lay/images/singlestep.png b/src/icons/images/singlestep.png similarity index 100% rename from src/lay/lay/images/singlestep.png rename to src/icons/images/singlestep.png diff --git a/src/lay/lay/images/stop.png b/src/icons/images/stop.png similarity index 100% rename from src/lay/lay/images/stop.png rename to src/icons/images/stop.png diff --git a/src/lay/lay/images/techs.png b/src/icons/images/techs.png similarity index 100% rename from src/lay/lay/images/techs.png rename to src/icons/images/techs.png diff --git a/src/lay/lay/images/text.png b/src/icons/images/text.png similarity index 100% rename from src/lay/lay/images/text.png rename to src/icons/images/text.png diff --git a/src/lay/lay/images/textdocumenticon.png b/src/icons/images/textdocumenticon.png similarity index 100% rename from src/lay/lay/images/textdocumenticon.png rename to src/icons/images/textdocumenticon.png diff --git a/src/lay/lay/images/unchecked.png b/src/icons/images/unchecked.png similarity index 100% rename from src/lay/lay/images/unchecked.png rename to src/icons/images/unchecked.png diff --git a/src/lay/lay/images/unlocked_16.png b/src/icons/images/unlocked_16.png similarity index 100% rename from src/lay/lay/images/unlocked_16.png rename to src/icons/images/unlocked_16.png diff --git a/src/lay/lay/images/up.png b/src/icons/images/up.png similarity index 100% rename from src/lay/lay/images/up.png rename to src/icons/images/up.png diff --git a/src/lay/lay/images/upup.png b/src/icons/images/upup.png similarity index 100% rename from src/lay/lay/images/upup.png rename to src/icons/images/upup.png diff --git a/src/lay/lay/images/waived.png b/src/icons/images/waived.png similarity index 100% rename from src/lay/lay/images/waived.png rename to src/icons/images/waived.png diff --git a/src/lay/lay/images/warn.png b/src/icons/images/warn.png similarity index 100% rename from src/lay/lay/images/warn.png rename to src/icons/images/warn.png diff --git a/src/lay/lay/images/warn_16.png b/src/icons/images/warn_16.png similarity index 100% rename from src/lay/lay/images/warn_16.png rename to src/icons/images/warn_16.png diff --git a/src/lay/lay/images/yellow_flag.png b/src/icons/images/yellow_flag.png similarity index 100% rename from src/lay/lay/images/yellow_flag.png rename to src/icons/images/yellow_flag.png diff --git a/src/klayout.pri b/src/klayout.pri index 48ddb352c..042cf972f 100644 --- a/src/klayout.pri +++ b/src/klayout.pri @@ -15,6 +15,8 @@ LAYBASIC_INC = $$PWD/laybasic/laybasic LAYVIEW_INC = $$PWD/layview/layview LAYUI_INC = $$PWD/layui/layui LAY_INC = $$PWD/lay/lay +DOC_INC = $$PWD/doc +ICONS_INC = $$PWD/icons QTBASIC_INC = $$PWD/gsiqt/qtbasic diff --git a/src/klayout.pro b/src/klayout.pro index ff82db09e..1d8af5b94 100644 --- a/src/klayout.pro +++ b/src/klayout.pro @@ -31,6 +31,8 @@ equals(HAVE_RUBY, "1") { lay \ layui \ fontgen \ + doc \ + icons \ } diff --git a/src/klayout_main/klayout_main/klayout.cc b/src/klayout_main/klayout_main/klayout.cc index 54086adc0..40cca527b 100644 --- a/src/klayout_main/klayout_main/klayout.cc +++ b/src/klayout_main/klayout_main/klayout.cc @@ -42,6 +42,8 @@ #include "libForceLink.h" #include "antForceLink.h" #include "imgForceLink.h" +#include "docForceLink.h" +#include "iconsForceLink.h" #if defined(HAVE_RUBY) #include "drcForceLink.h" #include "lvsForceLink.h" diff --git a/src/klayout_main/klayout_main/klayout_main.pro b/src/klayout_main/klayout_main/klayout_main.pro index ccd8932fc..45bad98c2 100644 --- a/src/klayout_main/klayout_main/klayout_main.pro +++ b/src/klayout_main/klayout_main/klayout_main.pro @@ -5,7 +5,6 @@ include($$PWD/../../klayout.pri) TARGET = klayout -include($$PWD/../../klayout.pri) include($$PWD/../../app.pri) include($$PWD/../../with_all_libs.pri) @@ -22,8 +21,10 @@ win32 { RC_FILE = $$PWD/klayout.rc } -INCLUDEPATH += $$QTBASIC_INC -DEPENDPATH += $$QTBASIC_INC +INCLUDEPATH += $$DOC_INC $$ICONS_INC $$QTBASIC_INC +DEPENDPATH += $$DOC_INC $$ICONS_INC $$QTBASIC_INC + +LIBS += -lklayout_doc -lklayout_icons equals(HAVE_QTBINDINGS, "1") { diff --git a/src/lay/lay/doc/navigator_sep.png b/src/lay/lay/doc/navigator_sep.png deleted file mode 100644 index 6eeeb264a8ff1e903c20add594995de59d23c005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^B0$W|!3HGjIoCP^DaPU;cPEB*=VV?2Ic!PZ?k)`f zL2$v|<&%LToCO|{#Xv2>Ak4@xYmNj^kiEpy*OmPavpkTfVhPxuqLi?Qml{EfaF2R;KWX7F_N Kb6Mw<&;$VKZ(Aw= diff --git a/src/lay/lay/lay.pro b/src/lay/lay/lay.pro index a30887eb7..8bd49c256 100644 --- a/src/lay/lay/lay.pro +++ b/src/lay/lay/lay.pro @@ -174,11 +174,9 @@ SOURCES = \ layViewWidgetStack.cc RESOURCES = layBuildInMacros.qrc \ - layHelpResources.qrc \ layMacroTemplates.qrc \ - layResources.qrc \ + laySyntaxHighlighters.qrc \ laySaltTemplates.qrc \ - layDRCLVSHelpResources.qrc INCLUDEPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LYM_INC DEPENDPATH += $$TL_INC $$GSI_INC $$DB_INC $$RDB_INC $$LAYBASIC_INC $$LAYUI_INC $$LAYVIEW_INC $$ANT_INC $$IMG_INC $$EDT_INC $$LYM_INC diff --git a/src/lay/lay/laySyntaxHighlighters.qrc b/src/lay/lay/laySyntaxHighlighters.qrc new file mode 100644 index 000000000..7bcb25f0e --- /dev/null +++ b/src/lay/lay/laySyntaxHighlighters.qrc @@ -0,0 +1,6 @@ + + + syntax/ruby.xml + syntax/python.xml + + diff --git a/src/laybasic/laybasic/laybasic.pro b/src/laybasic/laybasic/laybasic.pro index 037825ce8..f3b530330 100644 --- a/src/laybasic/laybasic/laybasic.pro +++ b/src/laybasic/laybasic/laybasic.pro @@ -115,7 +115,6 @@ HEADERS += \ layNetColorizer.h \ layObjectInstPath.h \ layParsedLayerSource.h \ - tlPixelBuffer.h \ layPixelBufferPainter.h \ layPlugin.h \ layRedrawLayerInfo.h \ diff --git a/src/layui/layui/laySaveLayoutOptionsDialog.h b/src/layui/layui/laySaveLayoutOptionsDialog.h index ba337ce20..8a333d93a 100644 --- a/src/layui/layui/laySaveLayoutOptionsDialog.h +++ b/src/layui/layui/laySaveLayoutOptionsDialog.h @@ -48,7 +48,7 @@ namespace Ui { class SaveLayoutAsOptionsDialog; class SaveLayoutOptionsDialog; -}; +} namespace lay { From 3b2efddd28931a3ad96f36b124c1d5f1bd289fb4 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Sep 2022 11:13:29 +0200 Subject: [PATCH 02/52] Refreshing DRC+LVS doc --- src/doc/doc/about/drc_ref.xml | 2 +- src/doc/doc/about/drc_ref_drc.xml | 2 +- src/doc/doc/about/drc_ref_global.xml | 2 +- src/doc/doc/about/drc_ref_layer.xml | 2 +- src/doc/doc/about/drc_ref_netter.xml | 2 +- src/doc/doc/about/drc_ref_source.xml | 2 +- src/doc/doc/about/lvs_ref.xml | 2 +- src/doc/doc/about/lvs_ref_global.xml | 2 +- src/doc/doc/about/lvs_ref_netter.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/doc/doc/about/drc_ref.xml b/src/doc/doc/about/drc_ref.xml index b4a6a02d6..203941a1d 100644 --- a/src/doc/doc/about/drc_ref.xml +++ b/src/doc/doc/about/drc_ref.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/drc_ref_drc.xml b/src/doc/doc/about/drc_ref_drc.xml index 2e6814365..add2a025c 100644 --- a/src/doc/doc/about/drc_ref_drc.xml +++ b/src/doc/doc/about/drc_ref_drc.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/drc_ref_global.xml b/src/doc/doc/about/drc_ref_global.xml index 277db525d..33d2ca14b 100644 --- a/src/doc/doc/about/drc_ref_global.xml +++ b/src/doc/doc/about/drc_ref_global.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/drc_ref_layer.xml b/src/doc/doc/about/drc_ref_layer.xml index 741a93ef4..6d105b8ea 100644 --- a/src/doc/doc/about/drc_ref_layer.xml +++ b/src/doc/doc/about/drc_ref_layer.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/drc_ref_netter.xml b/src/doc/doc/about/drc_ref_netter.xml index 2b317dcc1..7f4302dae 100644 --- a/src/doc/doc/about/drc_ref_netter.xml +++ b/src/doc/doc/about/drc_ref_netter.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/drc_ref_source.xml b/src/doc/doc/about/drc_ref_source.xml index 37bcc2458..b7947707b 100644 --- a/src/doc/doc/about/drc_ref_source.xml +++ b/src/doc/doc/about/drc_ref_source.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/lvs_ref.xml b/src/doc/doc/about/lvs_ref.xml index 9a5817a14..58168f012 100644 --- a/src/doc/doc/about/lvs_ref.xml +++ b/src/doc/doc/about/lvs_ref.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/lvs_ref_global.xml b/src/doc/doc/about/lvs_ref_global.xml index b3a5434c6..c1d2ad914 100644 --- a/src/doc/doc/about/lvs_ref_global.xml +++ b/src/doc/doc/about/lvs_ref_global.xml @@ -1,7 +1,7 @@ - + diff --git a/src/doc/doc/about/lvs_ref_netter.xml b/src/doc/doc/about/lvs_ref_netter.xml index 3c47a7163..9feef786f 100644 --- a/src/doc/doc/about/lvs_ref_netter.xml +++ b/src/doc/doc/about/lvs_ref_netter.xml @@ -1,7 +1,7 @@ - + From 2d17d87063ad437c0998b2214b39b94ceae6e5a9 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Sep 2022 11:34:56 +0200 Subject: [PATCH 03/52] Added an extra target for updating DRC/LVS doc --- src/klayout.pro | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/klayout.pro b/src/klayout.pro index 1d8af5b94..897d5b516 100644 --- a/src/klayout.pro +++ b/src/klayout.pro @@ -122,3 +122,8 @@ equals(HAVE_RUBY, "1") { buddies.depends += plugins lym $$LANG_DEPENDS unit_tests.depends += plugins lym $$MAIN_DEPENDS $$LANG_DEPENDS + +# Adds an extra target for generating the doc: "update_doc" +update_doc.commands = $$PWD/../scripts/make_drc_lvs_doc.sh +update_doc.depends = klayout_main +QMAKE_EXTRA_TARGETS += update_doc From 92fc8bbafc64760bef1a496a0764366bdd76003c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Sep 2022 18:25:00 +0200 Subject: [PATCH 04/52] First SVG versions of icons --- src/icons/images/back_24px.png | Bin 0 -> 534 bytes src/icons/images/back_24px@2x.png | Bin 0 -> 937 bytes src/icons/images/forward_24px.png | Bin 0 -> 567 bytes src/icons/images/forward_24px@2x.png | Bin 0 -> 903 bytes src/icons/svg/back_24px.svg | 113 +++++++++++++++++++++++++++ src/icons/svg/forward_24px.svg | 113 +++++++++++++++++++++++++++ src/icons/svg/make_png.sh | 17 ++++ 7 files changed, 243 insertions(+) create mode 100644 src/icons/images/back_24px.png create mode 100644 src/icons/images/back_24px@2x.png create mode 100644 src/icons/images/forward_24px.png create mode 100644 src/icons/images/forward_24px@2x.png create mode 100644 src/icons/svg/back_24px.svg create mode 100644 src/icons/svg/forward_24px.svg create mode 100755 src/icons/svg/make_png.sh diff --git a/src/icons/images/back_24px.png b/src/icons/images/back_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..7ba5754cbc59d0d9325cc0540684bbb81946d329 GIT binary patch literal 534 zcmV+x0_pvUP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10i#Jo zK~zYI&6Pb%!$2H|f3>!xje<_jegK!dD=IY5MX=xp@B=tF_65YrS&+UsJLo8m(pE%= z4h5mT!!O|I7ibM$s1O$Qc6)uRgnIXNf+(1RIAk_rPMy>2^B(& zxMKx`5JT7Xi&Ckir&6i6lh2PpzYAEsw|&3oXtUz^7lG>-goUHub+8vupC!6%f+_Z7ww2twiqo&*t}! zP2M;G;(#B5Bu%dYy?e0jBTwk(KiM;s(sX)t`JsKdsnlgL@MPyX zT?-*v@@bGQoZguoaT|mUz@tQ;!x+nGQB{)z=s`;0dqv}%H?5b*MkE61w@;`9UG)Dv YuawnQ0{$X8?f?J)07*qoM6N<$f~@ZA>;M1& literal 0 HcmV?d00001 diff --git a/src/icons/images/back_24px@2x.png b/src/icons/images/back_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..09ef56fe3aba8c48c3dc6e78c317a5ff71cf5faa GIT binary patch literal 937 zcmV;a16KTrP)OAFKF-Kx`~UQ4*UFHAHMu!02Y8&i(@?#)({_PE0N&#zkfl0t~XS zFqjx8W01trp;n8A!8BHWRN5XW1fjL<)!`ssdoB0teaj%9gj@s3_kEuG-uw3MUf>}A zLBip1yR6ziS%r5Ki9~`;O-(bh>Pr=fL?S_-&-WI%B5Mq30^xAD-RJYoA`u?oh>W5; zXMP6gkx}0m;Tz+2xw znFQkTct+E-o4{Nmkzin809950!Iw2C{jmn}+8G=0H3a}-u~=5qv|GSjGMPkC6x3`+ zAF!;!(Uu(%7n4*Vd|iRM5}6;c{Zn6kTF$`XW6m!XtIjxp-&4RO@qGd1(V#A|u>@KX z{O93>U(E990^U-HsPMNE6`e@0qm0bz-`F1~A@K&ncj36-HL%^d?!ay;IuUGU z?0z?G&1HR63S6ZB-ZP;78T1;@Z{{jGk=;U>{DS&x6Vjg`J|zHg?+AG}S|Oq4P^P}2 zu5a189rhYwZ>K9HRtqT88Ptt!QRVAK=>9+~7Rwe2h18oePg8UQW`rUYYdRQPi&mnGRKh~ng42Vkp0eIBwdtwdU!M#00000 LNkvXXu0mjf>TtMc literal 0 HcmV?d00001 diff --git a/src/icons/images/forward_24px.png b/src/icons/images/forward_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..009bab19fd845a70008878dc0833565128e85c20 GIT binary patch literal 567 zcmV-70?7S|P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10mMl} zK~zYI&6Q7U6G0e*?^ZITC_JQlwwUYIaE*(4|=fX;z5w2-ym&|_2!{Hv`8U> zAic(eCzVY+7C*o?Ne_Av4}Jnu?QVxQWV|SBlG#5~DD(#dJMhl$nR(~kci=p!TrS@= zU6V14|7;2|0w|?&wrw{}Af_ka^{WjhXHPUsrP94K0TidNQG2=U!8^1!|T{>UCQ+=}=`10gYtJT`o0g_V` zGDIE>%!^mE)Sk^a`H8W}bj1S(%p)L|`_vv6ocwr33yB73%_AU%BWe{}3(*5&&4(ce z02C+3*j}_9XFTJE|C3R`(C!i;02ikqoB!`HP>CAAXbK_+z|<|cexLTw->f#I9~}29 z;j+CDot^{;!0Z#4oTpP?W7(Cyf84JOmun0l1_E&7DO|b9{<{}cKOJh#Qvfs&fVm|o zOw*~aQT_NQ(i~3HDmEX$rCIjex2(89AbZ5N3L^<2l=|>owbpN|I}7E*G|kSqo3_9G zh`dmptfYXjgb*s1wS3uQF>P9mPGDIanV1{vG>`t7>n}}eR_*)U49Nfh002ovPDHLk FV1i^c_LBer literal 0 HcmV?d00001 diff --git a/src/icons/images/forward_24px@2x.png b/src/icons/images/forward_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..eef5d55eed81c0796df098e3efd7a4b33b74c49d GIT binary patch literal 903 zcmV;219<$2P)gu=*KAt3A#uf zq=|?q`~#{(pbCOIP^qf%m!nJor~=-omQX1GDT!Aqmy>D%fNGV?Nx48U z7zBk)C>MCpa}O<80g9SXE)Xd6p?7zoRg{5(jjetUBo+x2)72tm#hA~IW-It7x&w)e}&NQ$BFqTyy;0L|+5L#&= zNHifYuqvbl311TZVlCSCeA^Oo0$BhpN#re|U#LVY_SurKFOU^pL?VISRD!n6D=cA8 zz%smm#Kt&!V*y%`M@T|kKp0*?!W&0#@C!+Z3D}0WA`t^1;Lj0~ur44Czm`PokEui? ztO+;_cK+lF^YAd7@K`_4n? z5_}(n{tk@Dj1)ZB`V + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/forward_24px.svg b/src/icons/svg/forward_24px.svg new file mode 100644 index 000000000..f41bb8791 --- /dev/null +++ b/src/icons/svg/forward_24px.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/make_png.sh b/src/icons/svg/make_png.sh new file mode 100755 index 000000000..32f5d777c --- /dev/null +++ b/src/icons/svg/make_png.sh @@ -0,0 +1,17 @@ +#!/bin/bash -e + +output=../images + +for svg_file in *.svg; do + + png_file=${output}/${svg_file/.svg/.png} + png_file_2x=${output}/${svg_file/.svg/@2x.png} + + echo "Converting $svg_file to $png_file .." + inkscape -o ${png_file} ${svg_file} -d 96 -C + + echo "Converting $svg_file to $png_file_2x .." + inkscape -o ${png_file_2x} ${svg_file} -d 192 -C + +done + From 4f125d3768c184c25d49110b764889ecd7850286 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Sep 2022 18:30:06 +0200 Subject: [PATCH 05/52] More SVG images --- src/icons/images/back_16px.png | Bin 0 -> 443 bytes src/icons/images/back_16px@2x.png | Bin 0 -> 679 bytes src/icons/images/forward_16px.png | Bin 0 -> 432 bytes src/icons/images/forward_16px@2x.png | Bin 0 -> 703 bytes src/icons/svg/back_16px.svg | 114 +++++++++++++++++++++++++++ src/icons/svg/forward_16px.svg | 114 +++++++++++++++++++++++++++ 6 files changed, 228 insertions(+) create mode 100644 src/icons/images/back_16px.png create mode 100644 src/icons/images/back_16px@2x.png create mode 100644 src/icons/images/forward_16px.png create mode 100644 src/icons/images/forward_16px@2x.png create mode 100644 src/icons/svg/back_16px.svg create mode 100644 src/icons/svg/forward_16px.svg diff --git a/src/icons/images/back_16px.png b/src/icons/images/back_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a4c71adb759b0fee44f2fc94635ec4f1abf4b4 GIT binary patch literal 443 zcmV;s0Yv_ZP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Z2(i zK~y-6os+*x13?hRXA^_>r?IiN@&$J11R)106?_955v(lI_yGCfEA$}ixHe;FWR!!V3K5t)BB z;GDarY4$wNvx;B<0G5~B>2xe11R!E2I2;Z&7C7gw>$>4!Fd!l#n!gZD9*D+QM5A+} zn^PkHgoF^JJ%MxX+O~b!YPD>~aRAgSz&u#gY!X$lsDzf1ZMWNPO9=4|&w?}Bw3{sk$e l|Mtmt7z0(*L8;2V^A|{$uZMI+0=WPH002ovPDHLkV1nQ^yW0Q& literal 0 HcmV?d00001 diff --git a/src/icons/images/back_16px@2x.png b/src/icons/images/back_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1b7e3ab9c6934d0768044282836d1383f047580d GIT binary patch literal 679 zcmV;Y0$BZtP)N2c1h-6b6PB6r={S_AgNXh8;bX>Mkk>B7&Yg>Al$E#fukj zJFkAFs%(LmF*%mPw9AOkO#%O^7TYPZ`t|8Z;rk?`L`8D?bVqJE5p z4;^rwf1m#ELkHaBzsHrw>p+48vcZo9I74URAVUSD;qD~36Ff&&AQ3zecL;o#Kp-7F zB5^c927I%wD7%1ZR~ zlY~ReUI1fj!{vG2K3ipeWfitR!uBSW7oVhIkYYC!lGqosWC;Nnsucv!_I zFe)L5{2XuYE|b4{gUZ7XKyYNTCH;>`NaE-h_uqZv=*w0brcjBk4Z|p?s@eidMNPr( zd%zSD7?rSMp2D+KsuvT>vJPF>y#suni2#U6%tQdh#>{e`%$4Q!{15V67kf=IYvlj{ N002ovPDHLkV1kSxFv|b{ literal 0 HcmV?d00001 diff --git a/src/icons/images/forward_16px.png b/src/icons/images/forward_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..0237fedb4adaeccaad2b64d08cb130ef8cc9c1cd GIT binary patch literal 432 zcmV;h0Z;ykP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10X<1X zK~y-6jgv7;!$1_r|A{mv>89v+5IRUMgNq=ptywy_iXT8a`vn|Ci+1!2I4Y%%MMw1v zqR>SUx29XvOM1rGIM_%VlRF zvKyeaw`&@+TF0`i^}M)}E(jq>UIIO9;qLYtjs4S*e|}XdrI&>OO6kug<^c1?-Upb6 z`^O%3PHw{BBi?Xbw_Du8RIvxJ0l+*gFGM)5&zWUSZBMqNii76G0e8U)QcRMTAtTXu;BELBS+~d)0$huUZd+5f36n6A@1l#G4oOCPdHvwP|@KRMmMZl4GuCg4e0sv8!FX1eKF z)Rx-%!W-*Y=VBP!Lm-iaoIppoKtf-}N(^Ca(_JOp1%z;cL~j-AL@Lt@M$!_0;pqL)w?!DTK%jH1uC1}M zHhv%i2d=VcFLUu}m5&PzfEi8Gjuwl>IS11#7Vs$Hz(>bmf07^B%cLgDl;)f8L%Ce; zYb!=VKvKei?>!0o&Qh7W!i7hlgm4c6E)otrdJ5uas7z%@-Y>YqJqmP@aNx1i5KB;b zmLWOuRtgS5+=iDn!|r1cOYn308s{IpmxhBV0ofXi!tg;BC)1=JfAIu|4hhIs^VYm| zgmUQ(>FkncI0TSD`NM0{PpZD)fe56s%|qs0y + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/forward_16px.svg b/src/icons/svg/forward_16px.svg new file mode 100644 index 000000000..4b5b9afe5 --- /dev/null +++ b/src/icons/svg/forward_16px.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + From 4a241cc36c602dc5b96121a431e50528c75d2cd3 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Sep 2022 21:07:48 +0200 Subject: [PATCH 06/52] Deploying first high-res icons, enabled high-dpi icon scaling --- src/icons/icons.qrc | 12 ++-- src/lay/lay/layApplication.cc | 3 + src/lay/lay/layMainWindow.cc | 4 +- src/layui/layui/BrowserDialog.ui | 59 +++++++++---------- src/layui/layui/BrowserPanel.ui | 24 ++++---- .../pcb/lay_plugin/GerberImportDialog.ui | 32 +++++----- .../import/lay_plugin/StreamImportDialog.ui | 10 ++-- 7 files changed, 74 insertions(+), 70 deletions(-) diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 5f3094346..c020690d8 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -9,8 +9,10 @@ images/align_right.png images/align_top.png images/align_vcenter.png - images/back.png - images/back_16.png + images/back_24px.png + images/back_24px@2x.png + images/back_16px.png + images/back_16px@2x.png images/blue_flag.png images/box.png images/breakpoint.png @@ -41,8 +43,10 @@ images/fliph.png images/flipv.png images/folder.png - images/forward.png - images/forward_16.png + images/forward_24px.png + images/forward_24px@2x.png + images/forward_16px.png + images/forward_16px@2x.png images/generalmacroicon.png images/generalmacroiconactive.png images/green_flag.png diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc index 1632461e0..fe517860e 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -1437,6 +1437,9 @@ GuiApplication::GuiApplication (int &argc, char **argv) #if QT_VERSION >= 0x040500 setAttribute (Qt::AA_DontShowIconsInMenus, false); #endif +#if QT_VERSION >= 0x050000 + setAttribute (Qt::AA_UseHighDpiPixmaps, true); +#endif } GuiApplication::~GuiApplication () diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc index 524fda937..79bc45a17 100644 --- a/src/lay/lay/layMainWindow.cc +++ b/src/lay/lay/layMainWindow.cc @@ -4255,8 +4255,8 @@ public: menu_entries.push_back (lay::separator ("macros_group", at)); at = "@toolbar.end"; - menu_entries.push_back (lay::menu_item ("cm_prev_display_state", "prev_display_state", at, tl::to_string (QObject::tr ("Back<:/back.png>")))); - menu_entries.push_back (lay::menu_item ("cm_next_display_state", "next_display_state", at, tl::to_string (QObject::tr ("Forward<:/forward.png>")))); + menu_entries.push_back (lay::menu_item ("cm_prev_display_state", "prev_display_state", at, tl::to_string (QObject::tr ("Back<:/back_24px.png>")))); + menu_entries.push_back (lay::menu_item ("cm_next_display_state", "next_display_state", at, tl::to_string (QObject::tr ("Forward<:/forward_24px.png>")))); menu_entries.push_back (lay::separator ("toolbar_post_navigation_group", at)); } }; diff --git a/src/layui/layui/BrowserDialog.ui b/src/layui/layui/BrowserDialog.ui index 85b455b50..e15f1b54b 100644 --- a/src/layui/layui/BrowserDialog.ui +++ b/src/layui/layui/BrowserDialog.ui @@ -1,7 +1,8 @@ - + + BrowserDialog - - + + 0 0 @@ -9,22 +10,20 @@ 461 - + Browser - - - 9 - - + + 6 + + 9 + - - - - 13 - 7 + + + 0 0 @@ -32,26 +31,26 @@ - - + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - + Qt::Horizontal - + 40 20 @@ -60,8 +59,8 @@ - - + + Close @@ -78,9 +77,7 @@
layBrowserPanel.h
- - - + close_pb @@ -88,11 +85,11 @@ BrowserDialog accept() - + 469 422 - + 257 222 diff --git a/src/layui/layui/BrowserPanel.ui b/src/layui/layui/BrowserPanel.ui index 66071a8ee..eb985f044 100644 --- a/src/layui/layui/BrowserPanel.ui +++ b/src/layui/layui/BrowserPanel.ui @@ -223,7 +223,7 @@ ...
- + :/find.png:/find.png @@ -240,7 +240,7 @@ ... - + :/clear_edit.png:/clear_edit.png @@ -267,8 +267,8 @@ ... - - :/forward.png:/forward.png + + :/forward_24px.png:/forward_24px.png @@ -290,8 +290,8 @@ ... - - :/back.png:/back.png + + :/back_24px.png:/back_24px.png @@ -313,7 +313,7 @@ ... - + :/home.png:/home.png @@ -352,7 +352,7 @@ ... - + :/prev_topic.png:/prev_topic.png @@ -388,7 +388,7 @@ ... - + :/find.png:/find.png @@ -405,7 +405,7 @@ ... - + :/next_topic.png:/next_topic.png @@ -461,7 +461,7 @@ ... - + :/bookmark.png:/bookmark.png @@ -512,7 +512,7 @@ home_pb - + diff --git a/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui b/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui index 02421de0e..f47f3ff1d 100644 --- a/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui +++ b/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui @@ -229,7 +229,7 @@ surface. ... - :/down.png + :/down.png Ctrl+Down @@ -245,7 +245,7 @@ surface. ... - :/up.png + :/up.png Ctrl+Up @@ -261,7 +261,7 @@ surface. ... - :/clear.png + :/clear.png Del @@ -277,7 +277,7 @@ surface. ... - :/add.png + :/add.png Return @@ -586,7 +586,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/up.png + :/up.png Ctrl+Up @@ -602,7 +602,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/add.png + :/add.png Return @@ -618,7 +618,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/down.png + :/down.png Ctrl+Down @@ -634,7 +634,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/clear.png + :/clear.png Del @@ -704,7 +704,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/down.png + :/down.png Ctrl+Down @@ -720,7 +720,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/up.png + :/up.png Ctrl+Up @@ -736,7 +736,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/clear.png + :/clear.png Del @@ -752,7 +752,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/add.png + :/add.png Return @@ -791,7 +791,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/clear.png + :/clear.png Del @@ -1278,7 +1278,7 @@ Alternatively the transformation (imported to existing layout) can be specified Next - :/forward.png + :/forward_24px.png
@@ -1302,7 +1302,7 @@ Alternatively the transformation (imported to existing layout) can be specified Back
- :/back.png + :/back_24px.png
@@ -1461,7 +1461,7 @@ Alternatively the transformation (imported to existing layout) can be specified cancel_pb - + diff --git a/src/plugins/tools/import/lay_plugin/StreamImportDialog.ui b/src/plugins/tools/import/lay_plugin/StreamImportDialog.ui index 9ada7a02d..1850e7b9a 100644 --- a/src/plugins/tools/import/lay_plugin/StreamImportDialog.ui +++ b/src/plugins/tools/import/lay_plugin/StreamImportDialog.ui @@ -35,8 +35,8 @@ Back
- - :/back.png:/back.png + + :/back_24px.png:/back_24px.png
@@ -66,8 +66,8 @@ Next
- - :/forward.png:/forward.png + + :/forward_24px.png:/forward_24px.png
@@ -938,7 +938,7 @@ Alternatively the transformation (imported to existing layout) can be specified cancel_pb - + From e460314090a8d70b9507abaf2f5022e618153971 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 11 Sep 2022 22:02:10 +0200 Subject: [PATCH 07/52] Deploying more SVG based icons --- src/ant/ant/RulerConfigPage4.ui | 4 +- src/icons/icons.qrc | 15 ++- src/icons/images/add_16px.png | Bin 0 -> 340 bytes src/icons/images/add_16px@2x.png | Bin 0 -> 506 bytes src/icons/images/add_24px.png | Bin 0 -> 355 bytes src/icons/images/add_24px@2x.png | Bin 0 -> 549 bytes src/icons/images/clear_16px.png | Bin 0 -> 394 bytes src/icons/images/clear_16px@2x.png | Bin 0 -> 918 bytes src/icons/images/clear_24px.png | Bin 0 -> 689 bytes src/icons/images/clear_24px@2x.png | Bin 0 -> 1110 bytes src/icons/images/del_16px.png | Bin 0 -> 232 bytes src/icons/images/del_16px@2x.png | Bin 0 -> 319 bytes src/icons/images/del_24px.png | Bin 0 -> 246 bytes src/icons/images/del_24px@2x.png | Bin 0 -> 342 bytes src/icons/svg/add_16px.svg | 85 +++++++++++++++++ src/icons/svg/add_24px.svg | 87 ++++++++++++++++++ src/icons/svg/clear_16px.svg | 87 ++++++++++++++++++ src/icons/svg/clear_24px.svg | 87 ++++++++++++++++++ src/icons/svg/del_16px.svg | 87 ++++++++++++++++++ src/icons/svg/del_24px.svg | 87 ++++++++++++++++++ src/icons/svg/make_png.sh | 12 ++- src/img/img/ImageLandmarksDialog.ui | 4 +- src/lay/lay/MacroEditorDialog.ui | 10 +- src/lay/lay/SaltGrainPropertiesDialog.ui | 6 +- .../lay/SaltGrainTemplateSelectionDialog.ui | 4 +- src/lay/lay/SaltManagerDialog.ui | 12 +-- .../SaltManagerInstallConfirmationDialog.ui | 4 +- src/lay/lay/SearchReplaceDialog.ui | 4 +- src/lay/lay/TechSetupDialog.ui | 4 +- src/lay/lay/laySaltGrainPropertiesDialog.cc | 2 +- src/layui/layui/EditLineStylesForm.ui | 2 +- src/layui/layui/EditStipplesForm.ui | 2 +- src/layui/layui/LayerMappingWidget.ui | 4 +- src/layui/layui/UserPropertiesForm.ui | 4 +- .../lay_plugin/LEFDEFImportOptionsDialog.ui | 4 +- .../LEFDEFTechnologyComponentEditor.ui | 8 +- .../magic/lay_plugin/MAGReaderOptionPage.ui | 4 +- .../pcb/lay_plugin/GerberImportDialog.ui | 14 +-- .../NetTracerTechComponentEditor.ui | 8 +- 39 files changed, 592 insertions(+), 59 deletions(-) create mode 100644 src/icons/images/add_16px.png create mode 100644 src/icons/images/add_16px@2x.png create mode 100644 src/icons/images/add_24px.png create mode 100644 src/icons/images/add_24px@2x.png create mode 100644 src/icons/images/clear_16px.png create mode 100644 src/icons/images/clear_16px@2x.png create mode 100644 src/icons/images/clear_24px.png create mode 100644 src/icons/images/clear_24px@2x.png create mode 100644 src/icons/images/del_16px.png create mode 100644 src/icons/images/del_16px@2x.png create mode 100644 src/icons/images/del_24px.png create mode 100644 src/icons/images/del_24px@2x.png create mode 100644 src/icons/svg/add_16px.svg create mode 100644 src/icons/svg/add_24px.svg create mode 100644 src/icons/svg/clear_16px.svg create mode 100644 src/icons/svg/clear_24px.svg create mode 100644 src/icons/svg/del_16px.svg create mode 100644 src/icons/svg/del_24px.svg diff --git a/src/ant/ant/RulerConfigPage4.ui b/src/ant/ant/RulerConfigPage4.ui index 9e3f13904..384f15c4c 100644 --- a/src/ant/ant/RulerConfigPage4.ui +++ b/src/ant/ant/RulerConfigPage4.ui @@ -104,7 +104,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png @@ -118,7 +118,7 @@ - :/del.png:/del.png + :/del_16px.png:/del_16px.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index c020690d8..80edd91ad 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -1,6 +1,9 @@ - images/add.png + images/add_16px.png + images/add_16px@2x.png + images/add_24px.png + images/add_24px@2x.png images/edit.png images/align_bottom.png images/align_hcenter.png @@ -23,7 +26,10 @@ images/cb.png images/cc.png images/checked.png - images/clear.png + images/clear_16px.png + images/clear_16px@2x.png + images/clear_24px.png + images/clear_24px@2x.png images/clear_edit.png images/clearbreakpoints.png images/close.png @@ -35,7 +41,10 @@ images/ct.png images/dark.png images/defaultmacroicon.png - images/del.png + images/del_16px.png + images/del_16px@2x.png + images/del_24px.png + images/del_24px@2x.png images/down.png images/downdown.png images/execmark.png diff --git a/src/icons/images/add_16px.png b/src/icons/images/add_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..6332c79818a9a402ca80a8e5a912e6c45537953f GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt&HdT^vI!de=@mn044dz$Jd} zn(vSFSLwIag>m{W{JW+>|D5q1 zo*6qYXlhB(cZNHSyLYpDF2D5Vqj;|~$HI5J_!{=T&wdafwZ`j7d_m8&?K8V4l=L0H za#HBw*34Po1)TQs%)YsYW7f@_H2KqWcl$rKsAKd@m};rCGxK)YQ=RuI^Z6QP@AeP0 zbd50MKWyObb^1;%Q{K)4r839g-wB)-8KnBsINFB!x{5&k4b|!by_=?+<^SZ#=4^bW ka{kYn1KTD~sVui);B$@tQgl{+FVM3Lp00i_>zopr07;;Y(*OVf literal 0 HcmV?d00001 diff --git a/src/icons/images/add_16px@2x.png b/src/icons/images/add_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f659e088c3fdd718c79e74dd2a3974da2982e417 GIT binary patch literal 506 zcmV>8+XkIoz!vp}f+wG+*ps{CtL^k*U z0WD^;S?l|9xjZV*kPiF_qk#Px2=Vz4h-lGWv(1UU0HxF&fK+S!+uBad54%xHMF6sv z00372Fr7{x`mE+d2=VCJlTvT$pO5(X0sF$Ap8uNo#sB~S07*qoM6N<$g73KB00000 literal 0 HcmV?d00001 diff --git a/src/icons/images/add_24px.png b/src/icons/images/add_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8397489d81ba1e438b13b551a2d59371f5ced8 GIT binary patch literal 355 zcmV-p0i6DcP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Psmf zK~zYI-IPrV!Y~kppFh*t^h9=3@K_=$=&^)u>WQ*RA4WGt>?Cc4iclY9lS%UC=Oe(} zwHP}#h002ovPDHLkV1jsF Bl%W6s literal 0 HcmV?d00001 diff --git a/src/icons/images/add_24px@2x.png b/src/icons/images/add_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5d555ecb60e80d32ebb1e690a979fb1721a30d74 GIT binary patch literal 549 zcmV+=0^0qFP)ZkT*)H0>FuP>N<(90AM^GKZMwWP=pYVzOhouugzxjY-&3Z(De)idz(MX zvK%C)iOoAXy^zb>gff{-g5q7?>Fjr*EFd*mKx(pp)Hu(9kl(OnSvvRms;aQx@4a)n z=<2`$_&vTullc_Zr}(2<4$ZNy4y*x8jrZ^-#M=M>5j};(8`jMmtqyR`-vF!_V=c9* zFtw~qZ6~xkVEp#0xt#d;c^g8AsQG8V3uOVR$pTW71*B&1_X9)!|L|gRlcc71VvU!_KCKJXF{Sl+GW75Zc00000NkvXXu0mjfd#CpB literal 0 HcmV?d00001 diff --git a/src/icons/images/clear_16px.png b/src/icons/images/clear_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..1e090d40541ce5f299242e0c843b475845b76bed GIT binary patch literal 394 zcmV;50d@X~P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10T)R` zK~y-6ol`MxgfI|X2Z$^xKf@KW`~p6ZTzw~M9^i*iy1C{gOSDlgKS{+i+!~Dbiku@K z!f?ryJ3IF7XotWZh)AYsssI3rqWC6+AVf&Vr(NtBPp_DE$ z#41%W}8bZ0=>VS&I;2_S2s+3`45bY8#zS zCmn~Mot^!4b#?U-z?~on9|oE*%0y8_p-_M%N$7Ms=~}I}(QmBGDDqL}2G9b4Mx*gX zmgTNxS!lIdux)!Fh+?tm1+loe`2ODVIEzN)3@yO1;~s)9K%bhlk(%oWyOS zN~N+o&TWF_0Dy7N`b(#2+J3cKbvz-uZx8@*Uve)4uK87LoFH^v2LR;r`EkjI)Nr5) z2_a0=v;#tjnayUcv$M0^xSlALN+^{|u{A$FKK|^x`H&P3&4OS#Ow&v)EG)cpo2*zY zMs_%*6s=avBR@Gg+0Es0x52dgE%X^yt5rwSw0%N|naN~&&1Q2?mgR1**YnaIW)~M1 zUfNGjPd|+!j||`;Ei`~&3H zC7(iw27*YqY4>k3lSr|v6YX|;NGBo&*uZAwj^jFjm!oPPR$oyR|4fR><#M+Geh7ll za9=?Y0P6Mnx_k4WBipt;NB(yn)QMmw1VQjJ(d~Aht*or9`8mhZfw;lq%C;LsSUKWs zHFE76VfTN?MuTerWE&g%+n)MGdP16nl soF@{AyF?;!2jDzxnFzCK@egi)0lAp53nx077XSbN07*qoM6N<$f|{VBTmS$7 literal 0 HcmV?d00001 diff --git a/src/icons/images/clear_24px.png b/src/icons/images/clear_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..bd360bdbc69672572ccfda3bccc0936f43c934e0 GIT binary patch literal 689 zcmV;i0#5yjP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10zOGZ zK~zYIwN<;0+CUUNUSl+(0P__Xr11Cy`i(-;Aeqq6j6^{*5?_Jj2FV3TVIxayM6=3f zzht*qcliaN!jH*Ku>sk}2388Uw9h?f=G?~sR}LllfrykK2W<^g_uzKBP3?9&H7SieiFX`l?s;B4tp+jgbX|vG7@82G2LPON0KjZE z`yzzs8HSqpLi8$? zN{oE7*}!#Oe=?c;FirDGRn-?D(xybDNGU&Moo>Be!*$&N0J8pBmbK)ZKd7pD=%iS+ z6C$Qz82KpCcDn@t6pO`+$d78EC<+nLBj+5Nru|9U6(vsEl16?c5EU5=1_*-SMhIcn zYPEcle7oJ^_4PHdEbBgt8~|>TA5!9I$leo2H`v!BW-I6>#@Mc%EyN1Id($+*w z;9Msqi(D#|U>Jrr9*<2`Rf%(cBoY&lQr=$BrWEb2v|)^jM(LLw<0l=ZVqBn`!rR%!i?RI|ycs{v{(uQbn0|2BAV`}U-rTD8q`d5#? XffqqZ8?cX5Oz|0GdB<^{@ZgkEMkx()@_n3}$`pUm%}`2NqtRfEMq`naNH>)!ei(SG z)nctyE3uO-@aMXaZQDBlz8;N6;^yY&bJH{>Q4~?H*C7Z3xUAe% z*491~LPn~p9<#Ih6`3#1uCxna!gF%1x>@_J7x7flQ3xe=> zTI7S8L!cJoKk;$$b~>G6I2^*VEXcAv27si`_IkZ{l}g20ri%iLm=NNss`{P~GOAQ6 zRrO7j_EdN2;nW6m?70=&El**L46uwOUR6<|75b2NAa>qS%t0 zUtLZE^XU|~JFP%|Y1+*3i|TBZ?v#N1wQjR=0BHu17I`41lxVlxj;g8$UOIW*X)>Ak z1slcA&(HmW?f3gXB_$s_fSYKs0^n1~YpbFtqFSv+##vuq_rDWcTU#$Y*}<#WDE9v- z;Y0=8}Y1SCoNbbNgLv!|Ub z%L>&_f*|;l9oJ$Xx~?18V&~pK+SAz842v{JO1?YYt)U(<_ClUbr&HfikhWQ*ox&!& ze`PNeG6o*B+iho70LC3pqZl861^_1~C%=RhUQogEOY>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt-jVE{-7I)h`3@Nfu(CIO z=5tN%EMEE~!XxiQ=bfCepC)cz!W&#?PuzB=l3BgJn6cnHdjb2psrB3+_!ReOG&xRU z%s%UBR4&hucl5^0NcrS7v-~x`I=DN3Qk>ruc`4+K{X`SS&v6FN=FI1HMC@5Lt z8c`CQpH@mmtT}V`<;yxP|+Dr7srr@*0)n^`3@QIw8r~b zeG%fZV^mINXUn^?^|({h!e~iL$E8J`JbIem!CQljFCJ*H*9`hH<;PETt_2!hpWe^d zAla69{rlg}4!(Q8ZCWJ-E#Ln=993<6Y>yac#|g;;hOHmDzU!RU<92oN5?ncBC$qtl zh%WnIuVD$A}zV_N+8^{i`jj>I8iiez7GP-=0;; zF2i8(*?8(roo(E=&f70q$$agWc0*f7%$Hm3JsW3V^bQnpWn|dHnC=lWanMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt;`-E{-7{oo^>OavgHuah-qd zrTvuIjq_G}_p6>+W_vN`(uG&Y8o8Pt>9Cu1+a9ru>YV|X62g?$tt=B pew|75MaG< zeuqfhp(MYAOwYuJy&0C%I>kz&s+ffKupE7m@E`|iKqVDptT zMxnZlCie?gWM!t!oVoPx9-~W%oD8mkYvLj&S(a?#k;^nMEuN$@|J>(kHs|M`J6`r+ z`38p!9RVrs7PFtSGphL8&9*U%GOT!2`b>wvbW_ORo9F+Z;VnC0S + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/add_24px.svg b/src/icons/svg/add_24px.svg new file mode 100644 index 000000000..de08d6d4e --- /dev/null +++ b/src/icons/svg/add_24px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/clear_16px.svg b/src/icons/svg/clear_16px.svg new file mode 100644 index 000000000..baa04f017 --- /dev/null +++ b/src/icons/svg/clear_16px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/clear_24px.svg b/src/icons/svg/clear_24px.svg new file mode 100644 index 000000000..5739b075c --- /dev/null +++ b/src/icons/svg/clear_24px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/del_16px.svg b/src/icons/svg/del_16px.svg new file mode 100644 index 000000000..2bc4f2ea3 --- /dev/null +++ b/src/icons/svg/del_16px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/del_24px.svg b/src/icons/svg/del_24px.svg new file mode 100644 index 000000000..808fdb486 --- /dev/null +++ b/src/icons/svg/del_24px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/make_png.sh b/src/icons/svg/make_png.sh index 32f5d777c..32f9ad885 100755 --- a/src/icons/svg/make_png.sh +++ b/src/icons/svg/make_png.sh @@ -7,11 +7,15 @@ for svg_file in *.svg; do png_file=${output}/${svg_file/.svg/.png} png_file_2x=${output}/${svg_file/.svg/@2x.png} - echo "Converting $svg_file to $png_file .." - inkscape -o ${png_file} ${svg_file} -d 96 -C + if ! [ -e ${png_file} ] || [ ${svg_file} -nt ${png_file} ]; then + echo "Converting $svg_file to $png_file .." + inkscape -o ${png_file} ${svg_file} -d 96 -C + fi - echo "Converting $svg_file to $png_file_2x .." - inkscape -o ${png_file_2x} ${svg_file} -d 192 -C + if ! [ -e ${png_file_2x} ] || [ ${svg_file} -nt ${png_file_2x} ]; then + echo "Converting $svg_file to $png_file_2x .." + inkscape -o ${png_file_2x} ${svg_file} -d 192 -C + fi done diff --git a/src/img/img/ImageLandmarksDialog.ui b/src/img/img/ImageLandmarksDialog.ui index f4dea304b..b6e3bb660 100644 --- a/src/img/img/ImageLandmarksDialog.ui +++ b/src/img/img/ImageLandmarksDialog.ui @@ -106,7 +106,7 @@ Add - :/add.png + :/add_16px.png true @@ -136,7 +136,7 @@ Delete - :/clear.png + :/clear_16px.png true diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index 22b5dd627..01c5917c0 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -131,7 +131,7 @@ p, li { white-space: pre-wrap; } - :/add.png:/add.png + :/add_16px.png:/add_16px.png true @@ -151,7 +151,7 @@ p, li { white-space: pre-wrap; } - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png true @@ -375,7 +375,7 @@ p, li { white-space: pre-wrap; } - :/del.png:/del.png + :/del_16px.png:/del_16px.png true @@ -1386,7 +1386,7 @@ p, li { white-space: pre-wrap; } - :/add.png:/add.png + :/add_16px.png:/add_16px.png New @@ -1395,7 +1395,7 @@ p, li { white-space: pre-wrap; } - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png Delete diff --git a/src/lay/lay/SaltGrainPropertiesDialog.ui b/src/lay/lay/SaltGrainPropertiesDialog.ui index 67551b8e7..2ff5a7cb3 100644 --- a/src/lay/lay/SaltGrainPropertiesDialog.ui +++ b/src/lay/lay/SaltGrainPropertiesDialog.ui @@ -179,7 +179,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png true @@ -196,7 +196,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png true @@ -390,7 +390,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png diff --git a/src/lay/lay/SaltGrainTemplateSelectionDialog.ui b/src/lay/lay/SaltGrainTemplateSelectionDialog.ui index 65406eb88..c5baf1b4c 100644 --- a/src/lay/lay/SaltGrainTemplateSelectionDialog.ui +++ b/src/lay/lay/SaltGrainTemplateSelectionDialog.ui @@ -156,7 +156,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png New @@ -168,7 +168,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png Delete diff --git a/src/lay/lay/SaltManagerDialog.ui b/src/lay/lay/SaltManagerDialog.ui index b37c0c65e..856193f5c 100644 --- a/src/lay/lay/SaltManagerDialog.ui +++ b/src/lay/lay/SaltManagerDialog.ui @@ -871,7 +871,7 @@ <table> <tr><td>The "Install New Packages" tab to install a package<br/>from an external repository</td></tr> <tr></tr> - <tr><td>The <a href=":add"><img src=":/add.png"></a> button to create a new package</td></tr> + <tr><td>The <a href=":add"><img src=":/add_16px.png"></a> button to create a new package</td></tr> </table> </body></html> @@ -1013,7 +1013,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png @@ -1037,7 +1037,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png false @@ -1062,7 +1062,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png New @@ -1074,7 +1074,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png Remove Package @@ -1134,7 +1134,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png Create (edit) package diff --git a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui index 87c932dd4..1aec709fe 100644 --- a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui +++ b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui @@ -336,7 +336,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png New @@ -348,7 +348,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png Delete diff --git a/src/lay/lay/SearchReplaceDialog.ui b/src/lay/lay/SearchReplaceDialog.ui index 67a89a6ca..4c26a1cb5 100644 --- a/src/lay/lay/SearchReplaceDialog.ui +++ b/src/lay/lay/SearchReplaceDialog.ui @@ -728,7 +728,7 @@ p, li { white-space: pre-wrap; } Save - :/add.png + :/add_16px.png true @@ -779,7 +779,7 @@ p, li { white-space: pre-wrap; } ... - :/clear.png + :/clear_16px.png true diff --git a/src/lay/lay/TechSetupDialog.ui b/src/lay/lay/TechSetupDialog.ui index 56a85c4d9..818fc0b07 100644 --- a/src/lay/lay/TechSetupDialog.ui +++ b/src/lay/lay/TechSetupDialog.ui @@ -113,7 +113,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png true @@ -127,7 +127,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png true diff --git a/src/lay/lay/laySaltGrainPropertiesDialog.cc b/src/lay/lay/laySaltGrainPropertiesDialog.cc index ee31b2dae..64899c07a 100644 --- a/src/lay/lay/laySaltGrainPropertiesDialog.cc +++ b/src/lay/lay/laySaltGrainPropertiesDialog.cc @@ -208,7 +208,7 @@ void SaltGrainPropertiesDialog::update_screenshot () { if (m_grain.screenshot ().isNull ()) { - screenshot_config_button->setIcon (QIcon (":/add.png")); + screenshot_config_button->setIcon (QIcon (":/add_16px.png")); } else { QImage img = m_grain.screenshot (); if (img.width () == screenshot_config_button->iconSize ().width ()) { diff --git a/src/layui/layui/EditLineStylesForm.ui b/src/layui/layui/EditLineStylesForm.ui index 49b6d48e9..35c34c084 100644 --- a/src/layui/layui/EditLineStylesForm.ui +++ b/src/layui/layui/EditLineStylesForm.ui @@ -392,7 +392,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png diff --git a/src/layui/layui/EditStipplesForm.ui b/src/layui/layui/EditStipplesForm.ui index 2f8b473ba..3b6219dd3 100644 --- a/src/layui/layui/EditStipplesForm.ui +++ b/src/layui/layui/EditStipplesForm.ui @@ -377,7 +377,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png diff --git a/src/layui/layui/LayerMappingWidget.ui b/src/layui/layui/LayerMappingWidget.ui index 03855fa9a..6e87d18da 100644 --- a/src/layui/layui/LayerMappingWidget.ui +++ b/src/layui/layui/LayerMappingWidget.ui @@ -103,7 +103,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png @@ -117,7 +117,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png diff --git a/src/layui/layui/UserPropertiesForm.ui b/src/layui/layui/UserPropertiesForm.ui index 6e78a8964..d6c767157 100644 --- a/src/layui/layui/UserPropertiesForm.ui +++ b/src/layui/layui/UserPropertiesForm.ui @@ -123,7 +123,7 @@ - :/del.png:/del.png + :/del_16px.png:/del_16px.png @@ -134,7 +134,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png diff --git a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui index 7e3482704..448c7a7b1 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui +++ b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui @@ -191,7 +191,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png @@ -205,7 +205,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png diff --git a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui index de17b4e9a..9bb3c9f6e 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui +++ b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui @@ -251,7 +251,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png @@ -265,7 +265,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png @@ -341,7 +341,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png @@ -355,7 +355,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png diff --git a/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui b/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui index d2fbf099b..efc870079 100644 --- a/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui +++ b/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui @@ -148,7 +148,7 @@ - :/clear.png:/clear.png + :/clear_16px.png:/clear_16px.png @@ -176,7 +176,7 @@ - :/add.png:/add.png + :/add_16px.png:/add_16px.png diff --git a/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui b/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui index f47f3ff1d..d1a85bc2b 100644 --- a/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui +++ b/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui @@ -261,7 +261,7 @@ surface. ... - :/clear.png + :/clear_16px.png Del @@ -277,7 +277,7 @@ surface. ... - :/add.png + :/add_16px.png Return @@ -602,7 +602,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/add.png + :/add_16px.png Return @@ -634,7 +634,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/clear.png + :/clear_16px.png Del @@ -736,7 +736,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/clear.png + :/clear_16px.png Del @@ -752,7 +752,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/add.png + :/add_16px.png Return @@ -791,7 +791,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/clear.png + :/clear_16px.png Del diff --git a/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui b/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui index 2fc2aa3ef..adfc6057c 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui +++ b/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui @@ -107,7 +107,7 @@ ... - :/del.png + :/del_16px.png Del @@ -139,7 +139,7 @@ ... - :/add.png + :/add_16px.png Return @@ -257,7 +257,7 @@ ... - :/del.png + :/del_16px.png Del @@ -288,7 +288,7 @@ ... - :/add.png + :/add_16px.png Return From 13d11ac71444ca96d67caf0a7ede2c90437f13a2 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Sep 2022 00:39:55 +0200 Subject: [PATCH 08/52] More icons switched to SVG --- src/edt/edt/AlignOptionsDialog.ui | 16 +- src/edt/edt/DistributeOptionsDialog.ui | 16 +- src/icons/icons.qrc | 21 ++- src/icons/images/add.png | Bin 208 -> 0 bytes src/icons/images/align_bottom.png | Bin 775 -> 0 bytes src/icons/images/align_bottom_32px.png | Bin 0 -> 738 bytes src/icons/images/align_bottom_32px@2x.png | Bin 0 -> 1072 bytes src/icons/images/align_hcenter_32px.png | Bin 0 -> 838 bytes src/icons/images/align_hcenter_32px@2x.png | Bin 0 -> 1397 bytes src/icons/images/align_left_32px.png | Bin 0 -> 666 bytes src/icons/images/align_left_32px@2x.png | Bin 0 -> 1082 bytes src/icons/images/align_none_32px.png | Bin 0 -> 414 bytes src/icons/images/align_none_32px@2x.png | Bin 0 -> 839 bytes src/icons/images/align_right_32px.png | Bin 0 -> 680 bytes src/icons/images/align_right_32px@2x.png | Bin 0 -> 1065 bytes src/icons/images/align_top_32px.png | Bin 0 -> 715 bytes src/icons/images/align_top_32px@2x.png | Bin 0 -> 1056 bytes src/icons/images/align_vcenter_32px.png | Bin 0 -> 808 bytes src/icons/images/align_vcenter_32px@2x.png | Bin 0 -> 1395 bytes src/icons/images/back.png | Bin 722 -> 0 bytes src/icons/images/back_16.png | Bin 578 -> 0 bytes src/icons/images/clear.png | Bin 249 -> 0 bytes src/icons/images/del.png | Bin 199 -> 0 bytes src/icons/images/forward.png | Bin 711 -> 0 bytes src/icons/images/forward_16.png | Bin 572 -> 0 bytes src/icons/svg/align_bottom_32px.svg | 161 ++++++++++++++++++ src/icons/svg/align_hcenter_32px.svg | 179 +++++++++++++++++++++ src/icons/svg/align_left_32px.svg | 171 ++++++++++++++++++++ src/icons/svg/align_none_32px.svg | 87 ++++++++++ src/icons/svg/align_right_32px.svg | 168 +++++++++++++++++++ src/icons/svg/align_top_32px.svg | 161 ++++++++++++++++++ src/icons/svg/align_vcenter_32px.svg | 170 +++++++++++++++++++ 32 files changed, 1127 insertions(+), 23 deletions(-) delete mode 100644 src/icons/images/add.png delete mode 100644 src/icons/images/align_bottom.png create mode 100644 src/icons/images/align_bottom_32px.png create mode 100644 src/icons/images/align_bottom_32px@2x.png create mode 100644 src/icons/images/align_hcenter_32px.png create mode 100644 src/icons/images/align_hcenter_32px@2x.png create mode 100644 src/icons/images/align_left_32px.png create mode 100644 src/icons/images/align_left_32px@2x.png create mode 100644 src/icons/images/align_none_32px.png create mode 100644 src/icons/images/align_none_32px@2x.png create mode 100644 src/icons/images/align_right_32px.png create mode 100644 src/icons/images/align_right_32px@2x.png create mode 100644 src/icons/images/align_top_32px.png create mode 100644 src/icons/images/align_top_32px@2x.png create mode 100644 src/icons/images/align_vcenter_32px.png create mode 100644 src/icons/images/align_vcenter_32px@2x.png delete mode 100644 src/icons/images/back.png delete mode 100644 src/icons/images/back_16.png delete mode 100644 src/icons/images/clear.png delete mode 100644 src/icons/images/del.png delete mode 100644 src/icons/images/forward.png delete mode 100644 src/icons/images/forward_16.png create mode 100644 src/icons/svg/align_bottom_32px.svg create mode 100644 src/icons/svg/align_hcenter_32px.svg create mode 100644 src/icons/svg/align_left_32px.svg create mode 100644 src/icons/svg/align_none_32px.svg create mode 100644 src/icons/svg/align_right_32px.svg create mode 100644 src/icons/svg/align_top_32px.svg create mode 100644 src/icons/svg/align_vcenter_32px.svg diff --git a/src/edt/edt/AlignOptionsDialog.ui b/src/edt/edt/AlignOptionsDialog.ui index c2002f0db..c6e21d7da 100644 --- a/src/edt/edt/AlignOptionsDialog.ui +++ b/src/edt/edt/AlignOptionsDialog.ui @@ -27,7 +27,7 @@ - :/align_none.png:/align_none.png + :/align_none_32px.png:/align_none_32px.png @@ -44,7 +44,7 @@ - :/align_left.png:/align_left.png + :/align_left_32px.png:/align_left_32px.png @@ -61,7 +61,7 @@ - :/align_hcenter.png:/align_hcenter.png + :/align_hcenter_32px.png:/align_hcenter_32px.png @@ -78,7 +78,7 @@ - :/align_right.png:/align_right.png + :/align_right_32px.png:/align_right_32px.png @@ -205,7 +205,7 @@ - :/align_none.png:/align_none.png + :/align_none_32px.png:/align_none_32px.png @@ -222,7 +222,7 @@ - :/align_top.png:/align_top.png + :/align_top_32px.png:/align_top_32px.png @@ -239,7 +239,7 @@ - :/align_vcenter.png:/align_vcenter.png + :/align_vcenter_32px.png:/align_vcenter_32px.png @@ -309,7 +309,7 @@ - :/align_bottom.png:/align_bottom.png + :/align_bottom_32px.png:/align_bottom_32px.png diff --git a/src/edt/edt/DistributeOptionsDialog.ui b/src/edt/edt/DistributeOptionsDialog.ui index 74929ebe1..900a68f5f 100644 --- a/src/edt/edt/DistributeOptionsDialog.ui +++ b/src/edt/edt/DistributeOptionsDialog.ui @@ -279,7 +279,7 @@ - :/align_none.png:/align_none.png + :/align_none_32px.png:/align_none_32px.png @@ -312,7 +312,7 @@ - :/align_left.png:/align_left.png + :/align_left_32px.png:/align_left_32px.png @@ -345,7 +345,7 @@ - :/align_hcenter.png:/align_hcenter.png + :/align_hcenter_32px.png:/align_hcenter_32px.png @@ -378,7 +378,7 @@ - :/align_right.png:/align_right.png + :/align_right_32px.png:/align_right_32px.png @@ -457,7 +457,7 @@ - :/align_none.png:/align_none.png + :/align_none_32px.png:/align_none_32px.png @@ -490,7 +490,7 @@ - :/align_top.png:/align_top.png + :/align_top_32px.png:/align_top_32px.png @@ -523,7 +523,7 @@ - :/align_vcenter.png:/align_vcenter.png + :/align_vcenter_32px.png:/align_vcenter_32px.png @@ -556,7 +556,7 @@ - :/align_bottom.png:/align_bottom.png + :/align_bottom_32px.png:/align_bottom_32px.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 80edd91ad..4babee05d 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -5,13 +5,20 @@ images/add_24px.png images/add_24px@2x.png images/edit.png - images/align_bottom.png - images/align_hcenter.png - images/align_left.png - images/align_none.png - images/align_right.png - images/align_top.png - images/align_vcenter.png + images/align_bottom_32px.png + images/align_bottom_32px@2x.png + images/align_hcenter_32px.png + images/align_hcenter_32px@2x.png + images/align_left_32px.png + images/align_left_32px@2x.png + images/align_none_32px.png + images/align_none_32px@2x.png + images/align_right_32px.png + images/align_right_32px@2x.png + images/align_top_32px.png + images/align_top_32px@2x.png + images/align_vcenter_32px.png + images/align_vcenter_32px@2x.png images/back_24px.png images/back_24px@2x.png images/back_16px.png diff --git a/src/icons/images/add.png b/src/icons/images/add.png deleted file mode 100644 index 7175780cff60f7578b7dac26c89dcb682352b11c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>EL74F^`vD!GAbW|YuPgg479lYn)-6*{)BuHKOI#yLobz*Y zQ}ap~oQqNuOHxx5$}>wc6hbmm72G|21Ky{o<^dI|d%8G=Se#BykjOaD;r`CvFl(kp s>A?fi2Re?QcX=tBmS_-k`QQO&hOTgCF_DlYVW1WUPgg&ebxsLQ0L>sgg#Z8m diff --git a/src/icons/images/align_bottom.png b/src/icons/images/align_bottom.png deleted file mode 100644 index 6cb0911612676eabb471a4d84179b851af38db85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775 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 Q8~^|S07*qoM6N<$g1viuI{*Lx literal 0 HcmV?d00001 diff --git a/src/icons/images/align_hcenter_32px@2x.png b/src/icons/images/align_hcenter_32px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..22d81ade229e8b1bfec1a24c853cf8cb000f4447 GIT binary patch literal 1397 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 IM6N<$g251|#{d8T literal 0 HcmV?d00001 diff --git a/src/icons/images/align_none_32px@2x.png b/src/icons/images/align_none_32px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..681d3e28e5c866c6e21c7258ccbf72e41cbe2c02 GIT binary patch literal 839 zcmV-N1GxN&P)xKosyr$CQ4o0#NJJ&A^&28u`tL?U{3?}7--QrsD&D+Fq?z+jCvFLPW2%*4uGUGOPVmA)=D+`|l93?KsYXl(G*11OOzZ z>^qKgfQW71_jicsnTV|RQ$;CN_IRMPt zocK6JW(7Ld15pTD^nkjz$U#CLvCIlzp{Yy?eUe%ER|uli)Bc%X;W^I!98< z`(CeSHX4oHr^L2MM2oKLRvL}QZm-ufrIh!bPUpz7tcOYXme&My0RS#8E{+3{YinyC zZ*Fd01syEQdbql}Ivi~GJZ~WoZ<^+x^YimBVey0QCnqQ0!uOmBlHxdcmD47?HUR+6&d!bp+oEiXs0MQ{g_Tm}<>lpVB3kr3 zZ(((H^+OQ9mzS4^^?Lnpoc%BxA%th!_K%g7m0U~VLI{V$?d|QS;8iwF^LMw~{fvlh zt@VDe+0k0>$Mv1bm``F@PKa8^Qm$- z Re+~cu002ovPDHLkV1l;NgmwS` literal 0 HcmV?d00001 diff --git a/src/icons/images/align_right_32px.png b/src/icons/images/align_right_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..ffcfa69ff9228436ccd9e057e72870e74fc99b35 GIT binary patch literal 680 zcmV;Z0$2TsP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10yRlQ zK~z|U-Il$M(?Ar3&n$LcA-o0^FA;+%S3p7ICYDlDZT1l&IZbL-Tdk1REd?zV9W^wF zREgGJIqSbe5!*~WV|%h+RZw}9k%^;-yWX4`h| z`~C;lbw2{Q2Joz|NN0I9$D)pD+ynAKL2_Bn;eO96k?|~%h8Mpd5=!+T# zpaj6l zvhK!e+miAV>|p@RyBn)@OKy#mcL1=vvAV`UwS1EOyH|t)&^#(1y?z6&ww$XqKdM{+ O0000fkT8)UID36 zBzOSiatjFT*q$C7r;f4r&$DqX@=2Chd$DJ}{bt6QHLylA5Yg+lZD;}x<3AG7Zy`ji zGnt5v8J=kjAw=bKUoqVK9WoL+sRS;ga}uLGRbW#rMNwoYNP(+0i4vm!{je7+V1~8UqUcXf+DPbEK38(pWX^f^* zjn%Fpf>QPU3vi-<9C>1#RflZ=hg#3n$?{c1B%!g5&R<&caJam@{OSAtHh}j4{?x{( zD!IvsD4^9Gpn#~ok|y%xCLSy_KerNz=1=RhzDp!ZCt*u}d_xZ}73L)ZrMHXU| zQoC{&KV}u90H`J}sOzYd-w;bHe*>WM_rN?xRA?*n=jO)OmfKIMF8&<6i zPDIBO6HwcrZ0k!7S8(}- zNT;EEi__f+T2(Cb3z1I3WOvy9DMVS@I|+d}oNarDPS1%iBQ4XGqktq@?qLA;1UPqi zx;Qpes#^kVoiI9Abl$vI=#GGNYUhN`kybfxw>j#DfHbyqLigOWIrc3HegY`5bHX-E zYW4 literal 0 HcmV?d00001 diff --git a/src/icons/images/align_top_32px.png b/src/icons/images/align_top_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..3bb2fc8eafbfc04489ed48b185dbc28334e5da79 GIT binary patch literal 715 zcmV;+0yO=JP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10$52z zK~z|U?N-Z<(=Zf0ZcumZrV^|E!z}p*nn5EW7SNGk6I319#p;lznu6=@_iN4m1)T;FqieB~Ip#~p(K01-{@gq*P*uMj|{ zK}3^wyG_MNYxurTCS$tk2Sr6hq|r=ZtOWqrY&I9=ufFf2*Xw0n=-Xqgk1?9)0B&JJ;a zs)XeNItQ*j^}00THSFhhjRTudt6uNGwOT+D$$0`TSwK(|VICR>5YB+`n;2)n>X$^G zrcwD=z!b-IV4mg~A_0N^+dh)8lmeFWuOkgxV4pH8Pw zN25`nb8Z0u=e*^*?pcx~Y%mx|BJ@odulL^ha5#J!$FWuX&N*+5$Kw~4Wl_^F%sADmAsptVgUUP}4Ang1gA|;$C@+x!cCZxoe{7_Vn x0J?{%IZC!SCQh*Dv;1F)%p5RQdyoGOe*vsc^OZv$G6?_x002ovPDHLkV1l#?Kz#rJ literal 0 HcmV?d00001 diff --git a/src/icons/images/align_top_32px@2x.png b/src/icons/images/align_top_32px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ca23e903baca04191cfa2d5fecad4e06b7b21383 GIT binary patch literal 1056 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 Ef-mVo_5c6? diff --git a/src/icons/images/back_16.png b/src/icons/images/back_16.png deleted file mode 100644 index b5c926f5006b73d4e516d6144a644a2b3e69d535..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmV-I0=@l-P)I8hqmE|?HPZQFi92$_%5C89PpO`DTt z`LJ58Dy>$_F->zlkw~zxMv|nj?RL8_MZts+TB%f&TCJA6GMRsV_Inea4R{XV+W2{N zCcB=m0r)j#psH#volYN=N~MK*y`IGI0x#E|r!ZhCa0YM#;0!Aptj{cWIs;WzbJ=W` z7K_D4&1N%+;RP^Y{}wmKFgODOe{vN7&~<%Qk|bI#mlqq2#sm&^oh$?Jy>Wa~uONyd z;8@XJ!)Bop0Dw|zT9);6du!`tXJ^-i@E`)bfrHxy0MP68F0cB1{q6gY$9v!QUE~(0 zyAE!{;|#(knx-wi`S6MQ*UugnpD5Dn&)-MqmwbpxZZL;|e3L=^AkBz}tILY=<>1sY z2SMy0MH&GAM>!?Z(VyV4Ac*-+r*jgei~S4TZr9)=PoEKkcbs!0PIvG63w9adhA+_l QG5`Po07*qoM6N<$f>J^GjQ{`u diff --git a/src/icons/images/clear.png b/src/icons/images/clear.png deleted file mode 100644 index e1a2b8e318fcc20e037a1a0c72d55cdcd1c4bb86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>EL74F^`vD!GAbW|YuPgg479lYnj#DaI4g!T_OI#yLobz*Y zQ}ap~oQqNuOHxx5$}>wc6hbmm72G|21Ky{o<^dH3c)B=-Se#BykjOaDapYgW^Bl(c zQff*fkAx3rGVE&mf24wOy;ICDiOy0jJ#R@*4(2tlX0DLz4f)9A+W14h-)T;fkBgOP jc*0|ohKU{<9T^z7KJf}^&u$h6n$6(p>gTe~DWM4f94<^s diff --git a/src/icons/images/del.png b/src/icons/images/del.png deleted file mode 100644 index f49a15d9b7b8b0a5675178f878a1c207ca1f4777..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>EL74F^`vD!GAbW|YuPgg479lY{`RaqgEkGgJ64!_l=ltB< z)VvY~=c3falGGH1^30M9g^-L?1$R&1fcGh?c|e77o-U3d7N?UFBv_gGB_`hZfAZpK jmzCUX_Zk8XBp4Vb>|o?rv3R~VP$h$>tDnm{r-UW|LzXv1 diff --git a/src/icons/images/forward.png b/src/icons/images/forward.png deleted file mode 100644 index 6dbc76455ee2b00f98926e0daf33cb0dfc1bebe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 711 zcmV;&0yzDNP)qJ7%X_}S?@G6(f`Tx5B z0P^{KKby@`!!TS+Mg}LTREpXqGR7teA$YKK-!B$Kx>0-oQV@hWS(baQ1sumoJkRgg zB`0E059xnLSzPps%MYnxuonO>I!O*RnNrFmNwUuDcYt0S=qW(24MT0C@aT#9_QPk1 zczyGBjd$0BAvn4UNMAwu_G}3iL#B|3N-X5xAZ%oaD1!E9P%j&x=z1nChmt|S*+Y9~#ADo}M0u~-eu~1Ui zH;rnesmu?r3A4a0{LBq7ZwLjksIJv@snKki;MP5G1D~1$(=`-JOX^x(mxwQD2?s1z zGM|XSacw$$bm9D@#|Tg0-s4queRFrC(QG+x6$gG1V=P_Y`ev8A(Aee{ zjcwT@KKk}@P)C+^xYRM>lHlg% z7XA72XFd-P&j~|ALs4An7#SEC7|hMh`TqR*^uC{C3S6J^PY@n`+}`K8R7tp|=98yj1q8^Qu( z2nh-OoHS{YAYA76cLs)UuNWABOn;ACT3QNW8t~^kimeFE zP`-!;gP^DsBeE8R0ssGF(TL;m+zZn?*{$h~e z`OjGuti`eN?8o2Jwp@Am_1AxlXvCk8xR^QuwOQF$Ui$s`>#zS<6A~l301TL!nJNDJ z_xCO*E93nyKmJ;rKY#u;Hgz~NlYoH0A07^7uCG7;#pBXU6#xLa;o<#n#U!r)0000< KMNUMnLSTZv7YEP) diff --git a/src/icons/svg/align_bottom_32px.svg b/src/icons/svg/align_bottom_32px.svg new file mode 100644 index 000000000..3f8b95da0 --- /dev/null +++ b/src/icons/svg/align_bottom_32px.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/align_hcenter_32px.svg b/src/icons/svg/align_hcenter_32px.svg new file mode 100644 index 000000000..c84de77d2 --- /dev/null +++ b/src/icons/svg/align_hcenter_32px.svg @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/align_left_32px.svg b/src/icons/svg/align_left_32px.svg new file mode 100644 index 000000000..894ca8aa9 --- /dev/null +++ b/src/icons/svg/align_left_32px.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/align_none_32px.svg b/src/icons/svg/align_none_32px.svg new file mode 100644 index 000000000..57c0acb87 --- /dev/null +++ b/src/icons/svg/align_none_32px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/align_right_32px.svg b/src/icons/svg/align_right_32px.svg new file mode 100644 index 000000000..0142baf4e --- /dev/null +++ b/src/icons/svg/align_right_32px.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/align_top_32px.svg b/src/icons/svg/align_top_32px.svg new file mode 100644 index 000000000..2ea4c522e --- /dev/null +++ b/src/icons/svg/align_top_32px.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/align_vcenter_32px.svg b/src/icons/svg/align_vcenter_32px.svg new file mode 100644 index 000000000..fdbf54d71 --- /dev/null +++ b/src/icons/svg/align_vcenter_32px.svg @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 3c2092bdc2bce575f51b7faeb581bb7582c090de Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Sep 2022 00:53:50 +0200 Subject: [PATCH 09/52] [CONSIDER MERGING] Bugfix - selection did not work in non-editable mode --- src/db/db/dbShapes3.cc | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/db/db/dbShapes3.cc b/src/db/db/dbShapes3.cc index 090feb347..52c116cf3 100644 --- a/src/db/db/dbShapes3.cc +++ b/src/db/db/dbShapes3.cc @@ -45,7 +45,7 @@ iterator_from_shape (const db::layer &layer, const d { // compute the iterator by some pointer arithmetics assuming that layer uses an contiguous container // in unstable mode ... - return layer.begin () + (shape.basic_ptr (typename Sh::tag ()) - &*layer.begin ()); + return layer.begin () + (shape.basic_ptr (typename Sh::tag ()) - layer.begin ().operator-> ()); } template @@ -60,7 +60,7 @@ template inline bool iterator_from_shape_is_valid (const db::layer &layer, const db::Shape &shape) { - return layer.size () < (shape.basic_ptr (typename Sh::tag ()) - &*layer.begin ()); + return layer.size () > size_t (shape.basic_ptr (typename Sh::tag ()) - layer.begin ().operator-> ()); } // ------------------------------------------------------------------------------- @@ -272,14 +272,21 @@ bool Shapes::is_valid_shape_by_tag (Tag /*tag*/, const shape_type &shape) const { if (! is_editable ()) { - throw tl::Exception (tl::to_string (tr ("Function 'is_valid' is permitted only in editable mode"))); - } - if (! shape.has_prop_id ()) { - typedef typename Tag::object_type s_type; - return iterator_from_shape_is_valid (get_layer (), shape); + if (! shape.has_prop_id ()) { + typedef typename Tag::object_type s_type; + return iterator_from_shape_is_valid (get_layer (), shape); + } else { + typedef db::object_with_properties swp_type; + return iterator_from_shape_is_valid (get_layer (), shape); + } } else { - typedef db::object_with_properties swp_type; - return iterator_from_shape_is_valid (get_layer (), shape); + if (! shape.has_prop_id ()) { + typedef typename Tag::object_type s_type; + return iterator_from_shape_is_valid (get_layer (), shape); + } else { + typedef db::object_with_properties swp_type; + return iterator_from_shape_is_valid (get_layer (), shape); + } } } From 212d9d2d27deb38b10e9bc4a14024a505792ad31 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Sep 2022 01:00:31 +0200 Subject: [PATCH 10/52] Removed unused PNGs --- src/icons/images/align_hcenter.png | Bin 808 -> 0 bytes src/icons/images/align_left.png | Bin 697 -> 0 bytes src/icons/images/align_none.png | Bin 844 -> 0 bytes src/icons/images/align_right.png | Bin 681 -> 0 bytes src/icons/images/align_top.png | Bin 773 -> 0 bytes src/icons/images/align_vcenter.png | Bin 879 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/icons/images/align_hcenter.png delete mode 100644 src/icons/images/align_left.png delete mode 100644 src/icons/images/align_none.png delete mode 100644 src/icons/images/align_right.png delete mode 100644 src/icons/images/align_top.png delete mode 100644 src/icons/images/align_vcenter.png diff --git a/src/icons/images/align_hcenter.png b/src/icons/images/align_hcenter.png deleted file mode 100644 index 32ee4bc2104ede2a24d0f9ea7930969a52d22b3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmV+@1K0eCP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FTR01FTSts}j400007bV*G`2iXD_ z7B2-fHpn3W0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0007i zNklWab6#k}^HY{kmrAR)17!~p_Jq@E#Twk%k%L9BX#!Vv}z zz^9Or$XzxU?N0ROwOhTrIK;O#cOO=Q7= z5+J++qCopdd01StXYVWjzPr))%x4ND41m~xY65ve;ixvm^$8@A3Y>mrNr5OR{$67{ z69<2tSO@Pn?!eQo9Pe0S1u6=+OTT~z(15qjGCIwL`4e@woxb+C6@{WMW&+?m3 zfmzQcRv`;1pwn*Mc2H7=zLIu21g5_7CE0yza61JSNp(?~b)4UFf!Y~sSTlhn&dEC} z%}bI;0kD{F-l}rDfNsF;6`<2@eVg995476A{sGWB0QSth4eYn|GriU$yK{HF6tMnh zThVC6nPR^S{)OFc0-STJaTBXA!i!Hp>kw$YRpY%wRbVA^9EV9Mx2pi>9PHsSoR_b` z9z2HAdjaR^F&Jayx-R9%PNzcvNC;6FH|_&ORB!+gLeP@Ue-r)sPW1Df=<*BEw=+ZH z`UE)V1}r6@^IZ-8LxW$O5q1b-0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FTR01FTSts}j400007bV*G`2iXD_ z7A`n-MYVAN0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0006I zNklWZ zrHbmB9h^BoUtj5e=9zRNVj$H{6#x^E7<)~;96+8(!;8PP7)avkbC0aq8yClW&pXei zfCvE*lsXI5p3=oS0;p(_fph{SR?Kw>5-SYpoP>;M~j-UT+hYEP}z$Ub~*6ar#LSL`*K(b~W6hHo1{ zuh*+Jt|I;;fK%qbi5~8V z?r(@j*F-00000NkvXXu0mjfhD0LV diff --git a/src/icons/images/align_none.png b/src/icons/images/align_none.png deleted file mode 100644 index 44673b526b055d12b5a5b91af6c2d3ab2ab9495a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 844 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 DCIwKt diff --git a/src/icons/images/align_vcenter.png b/src/icons/images/align_vcenter.png deleted file mode 100644 index 41a1961be242b65b5c66d71cd1775eedb4fa50b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 879 zcmV-#1CacQP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FTR01FTSts}j400007bV*G`2iXD_ z7A_i~CG?d50013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0008U zNklxyFlPWu>hk0kIZuQ`jpa3Kmz{`3G3tZe?Lv2rN9g_RrC+UAz|)nCZ#&oq*KAow-8tFfFvBpDfHE9T0&g870)LOCuDgGWO3xR^KoRYR!bCt!|xdiOjOqQ zU<61v_fxyw25J|=UV)`ZC~$Z^V_h`@WC$(?l@tH~jDxuHTTM&A3&G)a&2?r53e4+~ zy|3i2PXs{ySjL;Bn<=ux`f3FH0ongS{$3%!y~`zFSr$kFfU5XI`#cg^aJfScev(_O z0T(2H9CAHy5a1P{lP6>;rNq$-Q)wBAh&zd;V?PHhqi( z!0RH;e^i9}x_km7sR8%3aa4r0>Fg;;6Bq{}pq~J%A}l8`4glW;{DB#{ubqOadbt7z zK?=AV&BMN!07prr3S0pXqcH%~>gwhs0Jht0&d$z;jt>Gu?hv?d%yk0BRm}Zv#I_%@ z^|G7A{dw@?Ga+t1%|A(d+tFIh&%PoQ&c(yU7~51pMJfkjv_m(gNPY^mpIlRV)ysY| zAMTbYu(hJe7DcbB*zW=30HV1BuDuds=25-^o#jY9UB!sVa94j* Date: Mon, 12 Sep 2022 20:30:09 +0200 Subject: [PATCH 11/52] More icons converted to SVG --- src/icons/icons.qrc | 15 ++- src/icons/images/blue_flag.png | Bin 286 -> 0 bytes src/icons/images/blue_flag_16px.png | Bin 0 -> 694 bytes src/icons/images/blue_flag_16px@2x.png | Bin 0 -> 1431 bytes src/icons/images/green_flag.png | Bin 281 -> 0 bytes src/icons/images/green_flag_16px.png | Bin 0 -> 751 bytes src/icons/images/green_flag_16px@2x.png | Bin 0 -> 1538 bytes src/icons/images/no_flag.png | Bin 324 -> 0 bytes src/icons/images/no_flag_16px.png | Bin 0 -> 746 bytes src/icons/images/no_flag_16px@2x.png | Bin 0 -> 1543 bytes src/icons/images/red_flag.png | Bin 281 -> 0 bytes src/icons/images/red_flag_16px.png | Bin 0 -> 699 bytes src/icons/images/red_flag_16px@2x.png | Bin 0 -> 1446 bytes src/icons/images/yellow_flag.png | Bin 292 -> 0 bytes src/icons/images/yellow_flag_16px.png | Bin 0 -> 756 bytes src/icons/images/yellow_flag_16px@2x.png | Bin 0 -> 1546 bytes src/icons/svg/blue_flag_16px.svg | 143 ++++++++++++++++++++++ src/icons/svg/green_flag_16px.svg | 143 ++++++++++++++++++++++ src/icons/svg/no_flag_16px.svg | 144 +++++++++++++++++++++++ src/icons/svg/red_flag_16px.svg | 144 +++++++++++++++++++++++ src/icons/svg/yellow_flag_16px.svg | 144 +++++++++++++++++++++++ src/layui/layui/rdbMarkerBrowserPage.cc | 10 +- 22 files changed, 733 insertions(+), 10 deletions(-) delete mode 100644 src/icons/images/blue_flag.png create mode 100644 src/icons/images/blue_flag_16px.png create mode 100644 src/icons/images/blue_flag_16px@2x.png delete mode 100644 src/icons/images/green_flag.png create mode 100644 src/icons/images/green_flag_16px.png create mode 100644 src/icons/images/green_flag_16px@2x.png delete mode 100644 src/icons/images/no_flag.png create mode 100644 src/icons/images/no_flag_16px.png create mode 100644 src/icons/images/no_flag_16px@2x.png delete mode 100644 src/icons/images/red_flag.png create mode 100644 src/icons/images/red_flag_16px.png create mode 100644 src/icons/images/red_flag_16px@2x.png delete mode 100644 src/icons/images/yellow_flag.png create mode 100644 src/icons/images/yellow_flag_16px.png create mode 100644 src/icons/images/yellow_flag_16px@2x.png create mode 100644 src/icons/svg/blue_flag_16px.svg create mode 100644 src/icons/svg/green_flag_16px.svg create mode 100644 src/icons/svg/no_flag_16px.svg create mode 100644 src/icons/svg/red_flag_16px.svg create mode 100644 src/icons/svg/yellow_flag_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 4babee05d..b7ae4f671 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -23,7 +23,8 @@ images/back_24px@2x.png images/back_16px.png images/back_16px@2x.png - images/blue_flag.png + images/blue_flag_16px.png + images/blue_flag_16px@2x.png images/box.png images/breakpoint.png images/breakpointmark.png @@ -65,7 +66,8 @@ images/forward_16px@2x.png images/generalmacroicon.png images/generalmacroiconactive.png - images/green_flag.png + images/green_flag_16px.png + images/green_flag_16px@2x.png images/help.png images/home.png images/import.png @@ -87,7 +89,8 @@ images/new_folder.png images/next_topic.png images/nextstep.png - images/no_flag.png + images/no_flag_16px.png + images/no_flag_16px@2x.png images/nophoto.png images/options_edit.png images/partial.png @@ -103,7 +106,8 @@ images/r90.png images/rb.png images/rc.png - images/red_flag.png + images/red_flag_16px.png + images/red_flag_16px@2x.png images/rename.png images/replace.png images/replace_all.png @@ -132,7 +136,8 @@ images/up.png images/upup.png images/waived.png - images/yellow_flag.png + images/yellow_flag_16px.png + images/yellow_flag_16px@2x.png images/salt.png images/salt_icon.png images/warn.png diff --git a/src/icons/images/blue_flag.png b/src/icons/images/blue_flag.png deleted file mode 100644 index d3189e2257d9fb8005cee45bdcf16d8d79ddeb1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>M`nUxc*DCKV1q!m4c>21s-{cY(7dO9khGh*LIKifSHEVX3E!V~EA+t&;-z4k&OqM?Yq? zTxEWwf9F}30JH6CH8W0dPhncTCDem+_9EkhulyMldV?)k*M$&=s-wcbCWfF>JRodJ{$+VnhG{ diff --git a/src/icons/images/blue_flag_16px.png b/src/icons/images/blue_flag_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..614cb07cb54bc935742f0f62568c7aa65fb5e999 GIT binary patch literal 694 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 h0AP%%0A#(6#4pk7GLJw@y)OU&002ovPDHLkV1iHNP;3AI literal 0 HcmV?d00001 diff --git a/src/icons/images/green_flag_16px@2x.png b/src/icons/images/green_flag_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2bdbb04000dbe8eeca74f31cbb75db4fa9cddc7e GIT binary patch literal 1538 zcmV+d2L1VoP)KY zK~z|Uy_a1~990y@e|L6gw!17#ph)(za?y&)5*u;WMn4N$rcn1Jf&=qN}zhSv5Lyqnm0k2S7YFZ55kUCKRK<*Pci zHRs9WTbFF@v0+j`yOmO*`2wh!4iTva?#|E8ZyXpH2m+YjgQxm(%w!zKN0dwq8HvSY zU)YiN%2(Th+q&)PkWy;*d;!vl&~yqA7Z^8A4{#e0$P;yaxzAW)x`NM#pL_J7t_SPv z>0%Kn{#O7_0UE17Wn3Agi-Ax46bDT1zqUsI;o|qVJ`s9itvy})j{ro(0CJoHG;U6R zqE9lWhUF(m%i)ot`;3+gU#@K)ZeGUU=)%kn$YTxQXJ3KUR01@?>*!b2A`-xXY1Z zLGnkDMZX&HJ3H4MizFgV$709c^tO4&slx(~8Q~B@7@-HD58*7rIHGsz z@eO}&_(4Q=INz+?c5)5Kn+b{(0y1WN$JDL_@BWUP15#OKAIebA8A zFa)sa9E}~#J~({v4$(ys2WkKXvPY)ySK7mAQP4wr{KI7*?y1VCiq1?v z4Pcr8HF)>V_x7Zc1H9D#(mMG=6i)+_wsW-&vJxl*9QxP7nq>?c@pp>e*}ElsOMklL zPJn#p4wzk#eg5&1$NQXt2}!sZ11#HdjiYL3>nFh7?VdD~=HP+S10PpF@O~- oR)ih%;q<5dcV+_1|IdVf0gz6cMO=$sq5uE@07*qoM6N<$f?7rIQ~&?~ literal 0 HcmV?d00001 diff --git a/src/icons/images/no_flag.png b/src/icons/images/no_flag.png deleted file mode 100644 index d6749c9112e809cb0f707bb859517364687dc576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>M`nUxc*DCKV1q!m4c>21s-{cY(7Zlzw)%`b6NVdc^qQp5r zH#aq}gu%HeHL)Z$MWH;iBts!2BUQoO(>LIKifSHE;cQPA#}JFtdncXdWj5q+Ie05g z=hnxAs^<>A^|3vt>Y~!UccK}Wc)h^lhm9xPzuZfIUwdkL;FGkBXA1imU-&(UP>ss2 zn`^!B@u?({Q!ZX<_s=}Z7YJ^Qdj0bJ85QaG(+)~J?mhf@PNCB->4lpWBop@?Vazz$ z#kgW7r>A0N)2pMI-19nG&mD>GdK_cKu;5+SlOpZy0_(5+P_Hhqmh*n>QN6Idga_zM N22WQ%mvv4FO#qK6df5N~ diff --git a/src/icons/images/no_flag_16px.png b/src/icons/images/no_flag_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e9ec30314413b6588499c5cd60a3f4959bdd16 GIT binary patch literal 746 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10(VJ7 zK~y-6jgh@i6LA>FzfbQ+uP0nO#waJuYo8jp42|p|3}-KL=ZFA}HVFNuK0+p3m@kfNnVF^6~NU>+S9B zv}u|zal<(J`amw1iyj>vJt880QvmA+oSmHoB}uw43`1_W+b^6>=P3XcfJ#K?{{#3< z(;WABJW{b(e45MU8trzwGC4WG|i}GS+^pQ2qq>bL;xZYd39Y6 z@9gY+OD2;VfXyo%aL%QCK7SVgMn*>d&>6$@^t9;n`R->jna7;-@hbrU0;N(Z2moHM z_t(JTfFKAE1Oc&F%%$u4LjVic0sMwxghWy7h@uDp5Cj2?F$jWyMx((QV^sjxItWxM zm5|%*{yi{F6GX%#kqD(yDLa`=egv?s(Np5a8Mc;7!Y=Mcb_xHYC}Uqma3}K`uh4S0B~^5o%wt|4gj4_r)62z-t6q` zdri|~mzS4Py7E0>VHiP|%XP7|v~ zXS3P!cs%~D|F{PTRIAnC@bGW}zy*M>8yg#rR4VnLTCIjoPEIUEQL?M6t3?3m{$l`O zhG8i6dfhWMHFXG}OhlhJ=b7c@pEF-Me=$ehGjr zAHnqWw5(|w0f35%iiFi_%>n?W^fG`5fY$(C6GB#Y6o67%4!|CXL}a6l=lP9bFzB;d zt#3UZPu%Hr+5oia@oS$0R4fBB0Fp=~+$I2bEEelar_#7!3B`x^?S_-o1-by6dw5%mx%i z5j@Xt3L=DnWm$MU9{Bx!J|2(nzjNnKx8B|JNdS~m0YHt}fRZE?9Y_cP!!TeN2Ib}D zIC0{HFgrWj{p{JZMtnpT3NzpWz?cnKQ&Y30xEaD~wc^mBL;UdY@V9zc&!+<98L(Ie z%);h+OG^t>Rjq#U;zd2SnT0}tJOdI!HW{$k?2S6hvhaGnY$z1^N)PY(Xn+qHaI4u9 zLO?0St5>g7S(cad@bI<)D5Wd_huMG*hhy8bXBY-!V`G{qigTTvogn~^2qBL?1Yll> zoB-HT1}rsuMNu$5KCYcTdp4kl_fSfEwh}hJE6f1K7F^VTgb=8zin+NtBoYZVlgVf{ zn~iU8Z-*?)2m}Hkglw#?u2$67*RK`|&d<+RJ%9eZIhjm4{C@v~Vj0-dfZ1#o6B85J za5zjPNs5S~xDXD9_iLJlsi`UWd_KftF-VeBarf@s@9*EguQW6?{LQkgno6bID=RDR zbUIzBX&O0x{P;CN5Y%D-F0%nED=WeCJmT>C&YKsZ^?LU|`?}RaH3y zZgO%GcDo(T&CTfT?Ir8$>$Ye#dQcDqc)eb@TrLa_4rV!y`%B-vkOx31WdPI_8ZaCV z)3LF!?BTKy_U(;h$Btc>WjR$So(E89z`nk|>xMW0 z1cSkYhPVOXbUO29Z!B7rQjCm@XiuIz**JRi=x=RpZLwnFW`H~cmX(#g>FDT~HwUV! z${IHZ0K44|Ns>0DetCHrfj}UqD9Y0L^XGqeI-SZ^;&}iC2AnGl?Ca|ryn6L&E2WfW zSr(!w!e+CQA(=;l$#Cca5!Rm zbq&BcfNx}3PF=is@#jDw(3?mkb|n%C>(bH^%W)hP1R+yfTN`d_YMS=@{V&VP%5wVn z4=%?XiWso5v2j7K#t0!JdfLB{BTPzj@0II927fk&N#fR-& t;Rqo=85dWsT#-YekU$98^cH-n@*f;XeoTtw?2P~b002ovPDHLkV1h4c#drV! literal 0 HcmV?d00001 diff --git a/src/icons/images/red_flag.png b/src/icons/images/red_flag.png deleted file mode 100644 index d288cf7d83fb394a7cd1b228ec3e03a5547d7da9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>M`nUxc*DCKV1q!m4c>21s-{cY(7toP^5#0_Hk}YwKC~?lu z%}vcKVQ?-=O)N=GQ7F$W$xsN%NL6t6^bL5QqM8R(Sm5d67-DgHYmg@wgCR%v(*I?3 z^LF}lmt55IInb;mG?~Hn$5kOAJw;)*i+(i?f170XCa^p_#mLlpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10!T?j zK~y-6l~PYgQ*j*s{GQ8gk8LlV^fm{f35|IWW3>(;jL4IxKuv<79d`)wqR?r#$eZn= zhfqQ2wnGP#b{S%2dXy@&LvLe>S$*LHKlt+b^ZkB*fK?>jsZ?sB zudgqoY1$b6w@6-(#bRjyrmpMH|CMK}dHdJ0+2$*Xa(Hch-OWN_1a5Z@z!rclA;kXQ z5T;Yc zF5UzX{gZ%iJ(~@*NRruD<8E3&T^-@^d^y_D!1`n|ISqhmr}K#M_?(f+yhtg^!5x5Wb~|6%K-w)dDg{nXPLqsQ z1g^$nv9th~kH_aoCf<9!d%Z&Nz7R~*fxGp;$)+L~IsD{xm23$_!r^dM^>_-_he<5? ze7n6u@R0-0AS1K^SMYQG8+no-T_zv h03k#XK+eL2^$Xt)GU5Vmltcgk002ovPDHLkV1j&{H}L=f literal 0 HcmV?d00001 diff --git a/src/icons/images/red_flag_16px@2x.png b/src/icons/images/red_flag_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8501bd1caa5ae389d486c617abe3f2314c38786d GIT binary patch literal 1446 zcmV;X1zGxuP)y*s!z6NN=-!Oib(zP<;$-Fl97?| zyrH4tgosQzxSn7<2+-NtSpX0YhpocG!ojHqPemZVzrWwx+uJ)6Kx-{kRaK$)LBKP? zc(Ap#HRw2w0?5tH?aj%_i2;bnZr}mX1#~H;o=zzN5%B|=?d|Qs_}HgDUz9z2N(csD zuxiy4ii@WK3*GqV??Nb91%iOOb?a6^d|+*NcL4_vu0v}F+xFn`j8Iy7hq}6J)YUz3 z$;1i$qLjM#CL~6gh%6V8`n8NNF&%=kd+0ha6UcQWe`VIP? z8{_6hWL;lh-;Y{r2M_~fAhGpYR#bexm=qUxN=?nBh|d>2W*G9+@0X#P8i@u1@~c)d zWEjp!W@cE{ufHgpHl3G6i*C#G>0$ABY%vT+nwpxE{@94fcg@Ys&A9!)I1xN8Eh;Nl zc1S4HARQe)4+a8*Un%7P^1V_bh9SRcCHoBItQU!xO2nf?ysn#wq?u8vs=6HiX2fwl zF1QBr#tBes!8BtWIMBk59i2oX`o)qZUpEX7`%a1|fLfoAXFz)_!ZHnW75J3Ae1~6| z;gCJ!87(bm-GK|E2mmtxbCdv;68!!MEiFf=uI>ehY}l~+pHL{rZ`=ACr6>YEjK%mt zY(Cadq+pgBTU!l=FUs$2$FMA$F>gnlz&HVx`Ft@>oob@8vLAp;m$IU#PcKUoQNutr zpn!d1<8{G{#)69iZALkAyZ4K~97nAdA?6O1Dp=wA zJO!iWZ#Z~;Q4SqG&c=<8l7S}@$WQEmg;`n8vTJL*M@7bB#sFZum$TG=S&u5c0LnW; zenAhdttWW7r?5CB3XbxQGg2v`7<&y1_0*Fne#Yd{&DhU@6Uq3NB<|_zgqa0^4{-sY5)KL07*qoM6N<$f?_S5 A8UO$Q literal 0 HcmV?d00001 diff --git a/src/icons/images/yellow_flag.png b/src/icons/images/yellow_flag.png deleted file mode 100644 index d84f9f324b4b610eccd628cb6c57bedba13cfc5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 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 literal 0 HcmV?d00001 diff --git a/src/icons/svg/blue_flag_16px.svg b/src/icons/svg/blue_flag_16px.svg new file mode 100644 index 000000000..00d6b8247 --- /dev/null +++ b/src/icons/svg/blue_flag_16px.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/green_flag_16px.svg b/src/icons/svg/green_flag_16px.svg new file mode 100644 index 000000000..c136e8aa6 --- /dev/null +++ b/src/icons/svg/green_flag_16px.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/no_flag_16px.svg b/src/icons/svg/no_flag_16px.svg new file mode 100644 index 000000000..6b5179aef --- /dev/null +++ b/src/icons/svg/no_flag_16px.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/red_flag_16px.svg b/src/icons/svg/red_flag_16px.svg new file mode 100644 index 000000000..00d2501e8 --- /dev/null +++ b/src/icons/svg/red_flag_16px.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/yellow_flag_16px.svg b/src/icons/svg/yellow_flag_16px.svg new file mode 100644 index 000000000..40894dc0d --- /dev/null +++ b/src/icons/svg/yellow_flag_16px.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/layui/layui/rdbMarkerBrowserPage.cc b/src/layui/layui/rdbMarkerBrowserPage.cc index d2193c701..dfa3cb9c1 100644 --- a/src/layui/layui/rdbMarkerBrowserPage.cc +++ b/src/layui/layui/rdbMarkerBrowserPage.cc @@ -56,11 +56,11 @@ struct FlagDescriptor static FlagDescriptor flag_descriptors[] = { - FlagDescriptor (":no_flag.png", tl::to_string (QObject::tr ("No flag")), ""), - FlagDescriptor (":red_flag.png", tl::to_string (QObject::tr ("Red flag")), "red"), - FlagDescriptor (":green_flag.png", tl::to_string (QObject::tr ("Green flag")), "green"), - FlagDescriptor (":blue_flag.png", tl::to_string (QObject::tr ("Blue flag")), "blue"), - FlagDescriptor (":yellow_flag.png", tl::to_string (QObject::tr ("Yellow flag")), "yellow") + FlagDescriptor (":no_flag_16px.png", tl::to_string (QObject::tr ("No flag")), ""), + FlagDescriptor (":red_flag_16px.png", tl::to_string (QObject::tr ("Red flag")), "red"), + FlagDescriptor (":green_flag_16px.png", tl::to_string (QObject::tr ("Green flag")), "green"), + FlagDescriptor (":blue_flag_16px.png", tl::to_string (QObject::tr ("Blue flag")), "blue"), + FlagDescriptor (":yellow_flag_16px.png", tl::to_string (QObject::tr ("Yellow flag")), "yellow") }; // ---------------------------------------------------------------------------------- From d881933840d8229d463e94d538e61229c42e1d18 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Sep 2022 21:55:35 +0200 Subject: [PATCH 12/52] More icons converted to SVG --- src/edt/edt/InstPropertiesPage.ui | 2 +- src/edt/edt/edtPCellParametersPage.cc | 4 +- src/icons/icons.qrc | 61 ++++-- src/icons/images/bookmark_16.png | Bin 704 -> 0 bytes src/icons/images/bookmark_16px.png | Bin 0 -> 688 bytes src/icons/images/bookmark_16px@2x.png | Bin 0 -> 1342 bytes .../{bookmark.png => bookmark_24px.png} | Bin 1046 -> 1030 bytes src/icons/images/bookmark_24px@2x.png | Bin 0 -> 2197 bytes src/icons/images/breakpoint.png | Bin 662 -> 0 bytes src/icons/images/breakpoint_16px.png | Bin 0 -> 628 bytes src/icons/images/breakpoint_16px@2x.png | Bin 0 -> 1240 bytes src/icons/images/breakpointmark.png | Bin 643 -> 0 bytes src/icons/images/breakpointmark_16px.png | Bin 0 -> 648 bytes src/icons/images/breakpointmark_16px@2x.png | Bin 0 -> 1437 bytes src/icons/images/breakpointmarkdisabled.png | Bin 659 -> 0 bytes .../images/breakpointmarkdisabled_16px.png | Bin 0 -> 656 bytes .../images/breakpointmarkdisabled_16px@2x.png | Bin 0 -> 1261 bytes src/icons/images/clear_edit.png | Bin 664 -> 0 bytes src/icons/images/clear_edit_16px.png | Bin 0 -> 678 bytes src/icons/images/clear_edit_16px@2x.png | Bin 0 -> 1282 bytes src/icons/images/clearbreakpoints.png | Bin 832 -> 0 bytes src/icons/images/clearbreakpoints_16px.png | Bin 0 -> 846 bytes src/icons/images/clearbreakpoints_16px@2x.png | Bin 0 -> 1885 bytes src/icons/images/empty_16px.png | Bin 0 -> 133 bytes src/icons/images/empty_16px@2x.png | Bin 0 -> 141 bytes src/icons/images/empty_24px.png | Bin 0 -> 139 bytes src/icons/images/empty_24px@2x.png | Bin 0 -> 146 bytes src/icons/images/error2_16.png | Bin 655 -> 0 bytes src/icons/images/error2_16px.png | Bin 0 -> 698 bytes src/icons/images/error2_16px@2x.png | Bin 0 -> 1554 bytes src/icons/images/error_16.png | Bin 674 -> 0 bytes src/icons/images/error_16px.png | Bin 0 -> 658 bytes src/icons/images/error_16px@2x.png | Bin 0 -> 1514 bytes src/icons/images/help_16px.png | Bin 0 -> 724 bytes src/icons/images/help_16px@2x.png | Bin 0 -> 1731 bytes src/icons/images/{home.png => home_24px.png} | Bin 767 -> 751 bytes src/icons/images/home_24px@2x.png | Bin 0 -> 1347 bytes src/icons/images/info_16.png | Bin 499 -> 0 bytes src/icons/images/info_16px.png | Bin 0 -> 483 bytes src/icons/images/info_16px@2x.png | Bin 0 -> 872 bytes src/icons/images/locked_16.png | Bin 318 -> 0 bytes src/icons/images/locked_16px.png | Bin 0 -> 423 bytes src/icons/images/locked_16px@2x.png | Bin 0 -> 843 bytes src/icons/images/next_topic.png | Bin 776 -> 0 bytes src/icons/images/next_topic_24px.png | Bin 0 -> 745 bytes src/icons/images/next_topic_24px@2x.png | Bin 0 -> 1386 bytes src/icons/images/options_edit_16px.png | Bin 0 -> 725 bytes src/icons/images/options_edit_16px@2x.png | Bin 0 -> 1492 bytes .../{prev_topic.png => prev_topic_24px.png} | Bin 797 -> 781 bytes src/icons/images/prev_topic_24px@2x.png | Bin 0 -> 1567 bytes src/icons/images/properties.png | Bin 764 -> 0 bytes src/icons/images/properties_16px.png | Bin 0 -> 762 bytes src/icons/images/properties_16px@2x.png | Bin 0 -> 1340 bytes src/icons/images/setup.png | Bin 762 -> 0 bytes src/icons/images/setup_16px.png | Bin 0 -> 940 bytes src/icons/images/setup_16px@2x.png | Bin 0 -> 2542 bytes src/icons/images/unlocked_16.png | Bin 368 -> 0 bytes src/icons/images/unlocked_16px.png | Bin 0 -> 451 bytes src/icons/images/unlocked_16px@2x.png | Bin 0 -> 960 bytes src/icons/images/warn.png | Bin 637 -> 0 bytes src/icons/images/warn_16.png | Bin 637 -> 0 bytes src/icons/images/warn_16px.png | Bin 0 -> 621 bytes src/icons/images/warn_16px@2x.png | Bin 0 -> 1223 bytes src/icons/svg/bookmark_16px.svg | 152 ++++++++++++++ src/icons/svg/bookmark_24px.svg | 152 ++++++++++++++ src/icons/svg/breakpoint_16px.svg | 128 ++++++++++++ src/icons/svg/breakpointmark_16px.svg | 127 +++++++++++ src/icons/svg/breakpointmarkdisabled_16px.svg | 128 ++++++++++++ src/icons/svg/clear_edit_16px.svg | 104 +++++++++ src/icons/svg/clearbreakpoints_16px.svg | 173 +++++++++++++++ src/icons/svg/empty_16px.svg | 77 +++++++ src/icons/svg/empty_24px.svg | 77 +++++++ src/icons/svg/error2_16px.svg | 150 +++++++++++++ src/icons/svg/error_16px.svg | 149 +++++++++++++ src/icons/svg/help_16px.svg | 197 ++++++++++++++++++ src/icons/svg/home_24px.svg | 141 +++++++++++++ src/icons/svg/info_16px.svg | 159 ++++++++++++++ src/icons/svg/locked_16px.svg | 175 ++++++++++++++++ src/icons/svg/next_topic_24px.svg | 145 +++++++++++++ src/icons/svg/options_edit_16px.svg | 108 ++++++++++ src/icons/svg/prev_topic_24px.svg | 144 +++++++++++++ src/icons/svg/properties_16px.svg | 193 +++++++++++++++++ src/icons/svg/setup_16px.svg | 146 +++++++++++++ src/icons/svg/unlocked_16px.svg | 191 +++++++++++++++++ src/icons/svg/warn_16px.svg | 152 ++++++++++++++ src/lay/lay/LogViewerDialog.ui | 2 +- src/lay/lay/MacroEditorDialog.ui | 10 +- src/lay/lay/SaltGrainPropertiesDialog.ui | 14 +- .../lay/SaltGrainTemplateSelectionDialog.ui | 2 +- src/lay/lay/SaltManagerDialog.ui | 4 +- .../SaltManagerInstallConfirmationDialog.ui | 2 +- src/lay/lay/layLogViewerDialog.cc | 8 +- src/lay/lay/layMacroEditorPage.cc | 4 +- src/lay/lay/layProgressWidget.cc | 2 +- src/lay/lay/laySaltDownloadManager.cc | 2 +- src/lay/lay/laySaltManagerDialog.cc | 2 +- src/lay/lay/laySaltModel.cc | 6 +- src/layui/layui/BrowserPanel.ui | 10 +- src/layui/layui/NetlistBrowserPage.ui | 2 +- src/layui/layui/layBrowserPanel.cc | 2 +- src/layui/layui/layNetlistBrowserModel.cc | 6 +- src/layui/layui/layNetlistBrowserTreeModel.cc | 6 +- src/layui/layui/layNetlistLogModel.cc | 6 +- src/layui/layui/layWidgets.cc | 2 +- .../oasis/lay_plugin/OASISWriterOptionPage.ui | 4 +- 105 files changed, 3259 insertions(+), 72 deletions(-) delete mode 100644 src/icons/images/bookmark_16.png create mode 100644 src/icons/images/bookmark_16px.png create mode 100644 src/icons/images/bookmark_16px@2x.png rename src/icons/images/{bookmark.png => bookmark_24px.png} (76%) create mode 100644 src/icons/images/bookmark_24px@2x.png delete mode 100644 src/icons/images/breakpoint.png create mode 100644 src/icons/images/breakpoint_16px.png create mode 100644 src/icons/images/breakpoint_16px@2x.png delete mode 100644 src/icons/images/breakpointmark.png create mode 100644 src/icons/images/breakpointmark_16px.png create mode 100644 src/icons/images/breakpointmark_16px@2x.png delete mode 100644 src/icons/images/breakpointmarkdisabled.png create mode 100644 src/icons/images/breakpointmarkdisabled_16px.png create mode 100644 src/icons/images/breakpointmarkdisabled_16px@2x.png delete mode 100644 src/icons/images/clear_edit.png create mode 100644 src/icons/images/clear_edit_16px.png create mode 100644 src/icons/images/clear_edit_16px@2x.png delete mode 100644 src/icons/images/clearbreakpoints.png create mode 100644 src/icons/images/clearbreakpoints_16px.png create mode 100644 src/icons/images/clearbreakpoints_16px@2x.png create mode 100644 src/icons/images/empty_16px.png create mode 100644 src/icons/images/empty_16px@2x.png create mode 100644 src/icons/images/empty_24px.png create mode 100644 src/icons/images/empty_24px@2x.png delete mode 100644 src/icons/images/error2_16.png create mode 100644 src/icons/images/error2_16px.png create mode 100644 src/icons/images/error2_16px@2x.png delete mode 100644 src/icons/images/error_16.png create mode 100644 src/icons/images/error_16px.png create mode 100644 src/icons/images/error_16px@2x.png create mode 100644 src/icons/images/help_16px.png create mode 100644 src/icons/images/help_16px@2x.png rename src/icons/images/{home.png => home_24px.png} (74%) create mode 100644 src/icons/images/home_24px@2x.png delete mode 100644 src/icons/images/info_16.png create mode 100644 src/icons/images/info_16px.png create mode 100644 src/icons/images/info_16px@2x.png delete mode 100644 src/icons/images/locked_16.png create mode 100644 src/icons/images/locked_16px.png create mode 100644 src/icons/images/locked_16px@2x.png delete mode 100644 src/icons/images/next_topic.png create mode 100644 src/icons/images/next_topic_24px.png create mode 100644 src/icons/images/next_topic_24px@2x.png create mode 100644 src/icons/images/options_edit_16px.png create mode 100644 src/icons/images/options_edit_16px@2x.png rename src/icons/images/{prev_topic.png => prev_topic_24px.png} (75%) create mode 100644 src/icons/images/prev_topic_24px@2x.png delete mode 100644 src/icons/images/properties.png create mode 100644 src/icons/images/properties_16px.png create mode 100644 src/icons/images/properties_16px@2x.png delete mode 100644 src/icons/images/setup.png create mode 100644 src/icons/images/setup_16px.png create mode 100644 src/icons/images/setup_16px@2x.png delete mode 100644 src/icons/images/unlocked_16.png create mode 100644 src/icons/images/unlocked_16px.png create mode 100644 src/icons/images/unlocked_16px@2x.png delete mode 100644 src/icons/images/warn.png delete mode 100644 src/icons/images/warn_16.png create mode 100644 src/icons/images/warn_16px.png create mode 100644 src/icons/images/warn_16px@2x.png create mode 100644 src/icons/svg/bookmark_16px.svg create mode 100644 src/icons/svg/bookmark_24px.svg create mode 100644 src/icons/svg/breakpoint_16px.svg create mode 100644 src/icons/svg/breakpointmark_16px.svg create mode 100644 src/icons/svg/breakpointmarkdisabled_16px.svg create mode 100644 src/icons/svg/clear_edit_16px.svg create mode 100644 src/icons/svg/clearbreakpoints_16px.svg create mode 100644 src/icons/svg/empty_16px.svg create mode 100644 src/icons/svg/empty_24px.svg create mode 100644 src/icons/svg/error2_16px.svg create mode 100644 src/icons/svg/error_16px.svg create mode 100644 src/icons/svg/help_16px.svg create mode 100644 src/icons/svg/home_24px.svg create mode 100644 src/icons/svg/info_16px.svg create mode 100644 src/icons/svg/locked_16px.svg create mode 100644 src/icons/svg/next_topic_24px.svg create mode 100644 src/icons/svg/options_edit_16px.svg create mode 100644 src/icons/svg/prev_topic_24px.svg create mode 100644 src/icons/svg/properties_16px.svg create mode 100644 src/icons/svg/setup_16px.svg create mode 100644 src/icons/svg/unlocked_16px.svg create mode 100644 src/icons/svg/warn_16px.svg diff --git a/src/edt/edt/InstPropertiesPage.ui b/src/edt/edt/InstPropertiesPage.ui index 94d2f3e4a..3b173f591 100644 --- a/src/edt/edt/InstPropertiesPage.ui +++ b/src/edt/edt/InstPropertiesPage.ui @@ -731,7 +731,7 @@ - :/warn.png + :/warn_16px.png Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 4edab8ab7..4afa93938 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -183,7 +183,7 @@ PCellParametersPage::init () } mp_changed_icon = new QLabel (mp_update_frame); - mp_changed_icon->setPixmap (QPixmap (":/warn.png")); + mp_changed_icon->setPixmap (QPixmap (":/warn_16px.png")); update_frame_layout->addWidget (mp_changed_icon, 0, 0, 1, 1); mp_update_button = new QToolButton (mp_update_frame); @@ -210,7 +210,7 @@ PCellParametersPage::init () } mp_error_icon = new QLabel (mp_update_frame); - mp_error_icon->setPixmap (QPixmap (":/warn.png")); + mp_error_icon->setPixmap (QPixmap (":/warn_16px.png")); error_frame_layout->addWidget (mp_error_icon, 1, 0, 1, 1); mp_error_label = new QLabel (mp_update_frame); diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index b7ae4f671..2154ff27b 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -26,9 +26,12 @@ images/blue_flag_16px.png images/blue_flag_16px@2x.png images/box.png - images/breakpoint.png - images/breakpointmark.png - images/breakpointmarkdisabled.png + images/breakpoint_16px.png + images/breakpoint_16px@2x.png + images/breakpointmark_16px.png + images/breakpointmark_16px@2x.png + images/breakpointmarkdisabled_16px.png + images/breakpointmarkdisabled_16px@2x.png images/bright.png images/bulb.png images/cb.png @@ -38,8 +41,10 @@ images/clear_16px@2x.png images/clear_24px.png images/clear_24px@2x.png - images/clear_edit.png - images/clearbreakpoints.png + images/clear_edit_16px.png + images/clear_edit_16px@2x.png + images/clearbreakpoints_16px.png + images/clearbreakpoints_16px@2x.png images/close.png images/cm_add.png images/cm_diff.png @@ -68,8 +73,10 @@ images/generalmacroiconactive.png images/green_flag_16px.png images/green_flag_16px@2x.png - images/help.png - images/home.png + images/help_16px.png + images/help_16px@2x.png + images/home_24px.png + images/home_24px@2x.png images/import.png images/important.png images/instance.png @@ -87,7 +94,8 @@ images/move_simple.png images/neutral.png images/new_folder.png - images/next_topic.png + images/next_topic_24px.png + images/next_topic_24px@2x.png images/nextstep.png images/no_flag_16px.png images/no_flag_16px@2x.png @@ -98,8 +106,10 @@ images/pause.png images/photo.png images/polygon.png - images/prev_topic.png - images/properties.png + images/prev_topic_24px.png + images/prev_topic_24px@2x.png + images/properties_16px.png + images/properties_16px@2x.png images/r0.png images/r180.png images/r270.png @@ -126,7 +136,8 @@ images/save.png images/save_all.png images/select.png - images/setup.png + images/setup_16px.png + images/setup_16px@2x.png images/singlestep.png images/stop.png images/techs.png @@ -140,12 +151,16 @@ images/yellow_flag_16px@2x.png images/salt.png images/salt_icon.png - images/warn.png - images/warn_16.png - images/empty_16.png - images/error_16.png - images/error2_16.png - images/info_16.png + images/warn_16px.png + images/warn_16px@2x.png + images/empty_16px.png + images/empty_16px@2x.png + images/error_16px.png + images/error_16px@2x.png + images/error2_16px.png + images/error2_16px@2x.png + images/info_16px.png + images/info_16px@2x.png images/marked_24.png images/marked_64.png images/marked_16.png @@ -158,9 +173,13 @@ images/fit_right.png images/fit_top.png images/fit_bottom.png - images/unlocked_16.png - images/locked_16.png - images/bookmark.png - images/bookmark_16.png + images/unlocked_16px.png + images/unlocked_16px@2x.png + images/locked_16px.png + images/locked_16px@2x.png + images/bookmark_16px.png + images/bookmark_16px@2x.png + images/bookmark_24px.png + images/bookmark_24px@2x.png diff --git a/src/icons/images/bookmark_16.png b/src/icons/images/bookmark_16.png deleted file mode 100644 index 59767c43a1550f88df558e54be4efcdf35f17963..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmV;x0zdtUP)GD%ZfS~F5A8c!yZPh0(?TN0Xbd5>M~G86r-APCmK zG6;o24o90~GB$D8Fv!8l7^$gN2Bg{JK;OPglV^n!z0wldzne8KtW^7Y_};SD>$UPc zPy79TF_+7!K*J0ok%&c>eeq36ENpJoz857!S(GeB zlj$>nUJ3xl!>1l?snpTEPIc>uOSK2O6}pFW0xSpEU4WefSXUiS&CXRanapB59uFHL zkqA+1lHqtir(F;R+Q`a1z-$Msoeig>ju#$3Q!|;&dZkjC005H9<#gYG|IXT%&A^68 zyAKYXG?L0Ufb9lsUBB*a{C2&FYtu7jMNx*5$>i7i7Ut*YtG)w+XO>=lh+mm~AeKox zU}@-J8^3&=)ih0;OC%B>cdRiMi)r!usq=+mbt5k_JKHz0;CY^A80OHQa-dT*MHqWW zUHHCGMp-oi06ZQKWLfTS6c~QbfTqL3I6ARb0&d*AExudL%c`o{0)ap+7!2A7AqGJZ z+^JM5-_$_Wz}$McEWcR!RMmA{C4|h#vTRGI(_`6e_M#+7J^*e2`DP)+SakGBbaeFk m$jC^0Gk$n@cvn;5zt&G7bJT(e;-Ve^0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10zFAY zK~y-6rBX|16HydBGcQSJ@@q>&YX&XY4x#p=!4wswC$O33m%)CD#)@t8;{4smPjN*Xj!uy?G}u4QcpcuxC7L= z0DBW)_f*a%o_Y9$%CfvvC=^BjfMl~-v$My4Yw`1HU`1tH_xByQlEPQO*#bD4f8G`R zdMS@9;}c4$RO(A6lV3KrFg-n8?A+ITYVO6m_@&8vszMq8-m}?31wVh8F$}|)N+c5R zx2-W2iy85|sk6)Z;z~~CwzqF{LKH=o$)SIP7h@=ne&>abpmJwkgFC#3`GYYMF$734h#%5R^vmV(2lCYf2|)M WNz{R$XzTU>0000P)-4$}OVX9P3Uo6wwWKW-ySvL!gCf=lk&wVYbXw~V z$D|)bQc!^mtOkLb*Ch9D*EzuqB`9d5vNlY!yK2)dyZga@-uu3%KeoFc?(V1LKlQ+Y z=Y7xnobTs6?{m)Kz<=FjHbJ{~?XtGCv>exjg{GoF*Y*0@0%)@dYHn_R5!h-fRso;w z*s;TMF9AeE3IVKx(X0FW`}f{60H4q21s<8_P!z4{K?IaiB|e|;;d=rA8~`|2xSOmL zgPi*Z0Bpd~+5Czb0p#Z9t_Id`Sht${7N!A;omm?5oC5H8Z*T9Oe-%JPiU0~;dI9aK z4i+0ur-R+=T+#lwyk4zLy_df_dT9%F(ssL@j?T`(S&Q`AY_?Rt-`^28N_3-A zYCEu5DYa-gMFJ1ZF^Nkx1kfKn(+I+O)}KD#8FBr^%;9`Pf2@aO2#_e-X>%B9nl9U44cN7cKyF0?(g5 zeY!I`tOih9Tib0I#ySzX+S;SB|HBHx%eKSXy`T*xX}l}KyI`9$Ny;Zqe_MMG9~?f6VHk)=iLUEk-C6Ks zHloVP%3GSIJq=v^w6{J^tLE0kTVfoB$AVp0W2aiFP6@P005<>rQxiste1gP1BRlpEi&!&M{UWH zB~dqX#sC1t#l)R@5Z^z^8k$pi&Io#WUAV0Vla{_}P>pPx9%4|SIT2-KX#!R}Vaw;k+$jHbbCntxrv@}AY5F(NZ%p5>O5&$%-os;LUaJ=R_diweS z4B)6?7zYD^z|G>~Vy&*OZUa!Dl-gEbU+=1~A9G#E1Wt?_e<}c<&vzMk)a9_z-P<31 zT?6c!=t7d0mzQXo=5`S&0G-8?SSS*Vw zD=WW=)ju78HA<;NB2sR*+rRMp{l;{~|F`MbKWTofT=~7#{{R3007*qoM6N<$g6*`6 A1ONa4 literal 0 HcmV?d00001 diff --git a/src/icons/images/bookmark.png b/src/icons/images/bookmark_24px.png similarity index 76% rename from src/icons/images/bookmark.png rename to src/icons/images/bookmark_24px.png index c315058ce29dd745cc3fc7c854bb6da797a80aa1..50b208d0c02ac8331fa68e5a65166561701da789 100644 GIT binary patch delta 29 icmbQn(Z(@BMToP&BeIx*f$uN~Gak=hk+RY40y6-5T?sD$ delta 45 wcmZqUn8qS|Iv5xjI14-?iy0VL)Ipf>roU{%Mzagd0OQ>XOaK4? diff --git a/src/icons/images/bookmark_24px@2x.png b/src/icons/images/bookmark_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..bc21b96f551fa82d1e073f8744b087dbe765b764 GIT binary patch literal 2197 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 O0000myQW9$wQ!Ob7dZ^-|trjnOl6nv-Ui<^R z3F1KyB6?87-&F%|>}U^UPAE6@3|-DV-nXsL4YOTZ(B{GJKS0q+5$4Iy}} z+2qNgA(~+b!hEI_N~y9{QgW>*c%#+gl~#*QP2?Z6f}ib$z&!9V5YNu#eb^*G;{ryPvBXBG59We61;2uSIv2LL0XBd;@Rq|TAb^X&>`cARJ5y8C!VqBzSQ5Sh&dg;|lmuj+)9!XT zySmDyECaX%908>LKJ*Bj0iJ3G0Uu0HGn^!ZaZC_JgmFw5MTAjAU~3ra>X0i5nl==I zd(xD*TP-r3y1xQH_ah*H_koe8$Hq7@JWSw$m+uB#L{UW<;l_uvObsEBO7U%{18^94 z3F8y4o=1Si!64xBp+gKLNe|2dni*HJz{oE1yljg+*YDkK`P|Afj$XN9Q}igX2oN{~ zP6EvD+eagcN-zPDkQBcjyjDn8I2c70EP%-AG7c~r zhCO$avbWAsLQw$dXV9r<(ymNJrNFk1Q=$}OK{?<3W**8Vpa*pTg$b}q&=m#345ZAv zbgECrZ~fvDSO%t7IvoxsNyT!@0W7$;7gWs0CuH4GN>=jR#Zr9<{MqR+(`Zx_39P-E zK=TPG$9|>bg03o3O8(aS0_gL@4h0r~xz9H@d8pZ}3@(d8N4gu?b_$NfeU&gipz@qA z+HH&Vm3`=IM2nM?3|KD+0=*a5wCuMRxch+@50=EWJZElW!y3_@=nb!8#mm6iOsSEY zQp_evB?~G$o#%eabwSfA>xSmPSGTrU&@u1_@T?Wk-;CCPhkwa39!ygjP~GQUa63z9 ztzAIr5LoMWd8XYa(-`M~%l($XzF!1p4@VKN4-M(FfRWz@pKycFwr;vPYITZ&$G5ln zQG3UdS!(41`lURO+!x0@KR8J0TdNlXWxyH}vT4_mlIJ=dKGER2I*{0M0=NLgw*>(& z)a#780qCBHd=dtHO-jz^IX~$>Ir>QUsSk9$L+LT#U0}2UoC-sph$04DgR&$X1=>pS zmXy4v6fNCt1AQpn0e&L_;2+C@yMQ?%H~@^APOD0B6>TKn09(E9zXu-WI>++e6ak!O z?-!HPyO`jfuV%CKu4WTduVz=#SF;bf$yc-gcKH{;crrBSYA>(=0000N7uL_kX6#u00Kz4vD*;uz(}f+bS0jbDA!9$}1^ykn4$YBf&fB);4 dZrA^u^B;MJCA`$UxBLJA002ovPDHLkV1h`h7YqOZ diff --git a/src/icons/images/breakpointmark_16px.png b/src/icons/images/breakpointmark_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..182911cde3bd0d4f5b17b305710e1dc8f49c7272 GIT binary patch literal 648 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 qT4(c5{%)a8eV4H>j0000@ z=iYk;{_Dkf#lAOzTR;K03S>{(+CU4a18cxbAo{le3}77i0JwHZ*aP4P;OC1#E&><= zJ_2q4a=9D;&1RF`-Cb5!SE*L3wA*bN|2yzCu=jTWMuCrkbS9Hw zc6OFKckW=@Hl}F;5QgEYU*GpxSy^Fmagk=T3GgTI4e;x$0K5f!2AHK%iMx02lF4K+ zO;d?W3BynUbh}-`Fr?e<(r&kT`0ycXYij@@@CEQ&T*yig9|ArH+)Aawy?gh_WHLC8 zgX1_@mWAUu$`iJ2V_BAZHVgyHvPh*;OioVHY&NOa>jv-+y#PHr55PE?dA?LCasU2( zQmGWK>nZ@(b+K(5+qM;um|++Sz%Y8wEf$MxY;3T%x90$_13#SyPy*i1X0tqa@Zi+U zbz$*0ve_&^{zU5(z%78O zsVQ97RRi@GyROT?z(Ajgklt5c8hwe%<#L}^9H0O&F)@K@nri(348u_CFS{Tf7lvUd zvG`a3(=;g-i+x&gfU5w*!^7w$zVG$=v)axo*RNlf$DBOaaR519qo{X;hhd0mnsmEe zC8)Q_;S)uXI+Ub6-dEmzqGbS)4iM=t6;Zu-p4SH=f2?piB=T%KpV&( z92_t>IGA|k>i2+NuZs(e=XnG{pxT2VpwVc^uvXF%G=coq))s|A0nhW4fVfvYqC@Cj zkUk_rm58c?ZL zs~jC2F)%QIX_`b)q}Kf+0NqpZCFyiJI)J*G^`rO?VBGV(E9rEaLZLtuMSUi24uU{g z(ya9*@O>ZO_gP+EmZNwd_&y0hAd0nGjp^xW9LG5&7LRz}_xptOcByN%T0DOI7~l5+ zzU7R|2w)d@+xPukyh6lwRAeo%*+ha)6=-F+t(?cnEJj?wOVCqX^F$b zLz($kz($hDMQQmpdTIGhfOI;|*w`2&BO~PVdAZ+dx7#!t4K_D7dH(!4$H&Jq{w2MP zxRLPgO94oq_ka)SC9Ibzveka!AAXp``wj!|0&mc}(d2q-(mP&jz&gDTl1qJ>{a^k9 X#P9<)tz;@Y00000NkvXXu0mjfUmr@7 literal 0 HcmV?d00001 diff --git a/src/icons/images/clear_edit.png b/src/icons/images/clear_edit.png deleted file mode 100644 index 6e5e18e79a0d775bdfaf3507657c1226b8c1fabf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmV;J0%!e+P)IdqM%NulCPEQoAnc4Yosa_6RqE-FcreC6T%;5+C0;6Egf z2Rl1EEv3}9h^%?<>%c@rPQ3Sf{eJ)3AK_lF7g%dQR#o+;UaxCojM7@;oFmJ!Dos=8 zz5im2+3fXtKLLU}*joEZDfP11Y(5FY5a%2KK@d=@)l`xsYCIml&hs4L9e}>Ix+Wrf z&1N%NSXiLlZgX{YMNt$q8Vxo!Hn7%WtqsyNeY(23Iv5UzBL$$8+M1b}(P0>}w6ugV zhEAu${QNxY>+2X}SX^8r3`3G6(IT=1pl)41uhnYGImgk_5qX{y$1$x|i#U!cih|?g zW1MpsW0d#)#T545Ct7O&CX)%Lr>A)D5fQxioSmIh5&XJ-MZstOUA+_!y_=Xs^Irqk(QjG-tBhQlF6Q4q&5?RFcjHCdKbBJ%Y< zyq~72E6bAe^KfUl)-dz)4kAd%L^4-yiS)vwi`Y()EKpe}-KE0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10y9ZO zK~y-6rINpEQ(+W_pYwgWw?l7fQ!+>bS_)meb-cHfuA+llsffFS3PMSse?XemNf5-r zrJ}1&%@8uRqf?<^2cb|KQuD(!x%Ym@CArX67d_+Q@SOL&?}7g;x!Ty;+PYz_eGc3Q zZUQPI$G}J6Rkd3E@mD~(Tz(`XZ#~Z=2!bi!_fb{iIHuR@4U;5ERrSfv&d#T6fO5I~ zSVZ3C^LZNt0V0>hsVco*k9NDA0uLt;3$VStT~gKh{QSH(H#bKVMGOW5`u#ot#bS}= z#!&JYnZ91d@XVfd!mZ2mF;&bgPq?`seQgkeajRAO~?l|rFFsZ=70A{G`FSXo&i z2m*4soK@9l0A{T4K@bE}0EdT%q-l!hd91Im6NVwi7~(kQ=;#O$VLZDr0f?#=J!DRR;zu<%)Gj#QmN!s^{FvtV;q%=$T#QQ2UUGttJQw~N!>r!Z%J7EG_lGL=Kufz M07*qoM6N<$f|%GjasU7T literal 0 HcmV?d00001 diff --git a/src/icons/images/clear_edit_16px@2x.png b/src/icons/images/clear_edit_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe5d3f61687e62c33c4fc94340839fd9601fa3bc GIT binary patch literal 1282 zcmV+d1^xPoP)4E(tPX znoRx)Zx*3Yi8tw%v}6rlL{kiSs)$VxcWj&8o!w-zGta|zhMAq&bR*vSyUm;5@Av(@ z_kO=OZ{S5YaUS1Nsr050Vp&Q#3tRxE00}$-{sQg;TZUo${J#O{x~{a_?dw8_FM!tu z%=;U#Y8b}tXMq0=pj<9rl2YCTF8cvOkV>UUCX*uYOk zzn>eRSS-FLgt!T00Fuch*=!a~(-0y)OiD?s)uLXnb9#E}4V%D6hGE0n4Fv>l}ZgH+-t|j z$C##x>$(8{09Opdco_6if)Bc`t3rrxfV2=IB%aM?nVXvdB*pPwh0Oh&{#%jI%RPfr8g*3D!x-mBM3rP3P_04e1M0E(h8JUr|t z+S%Em*=*8l6B83GEiF+f6e8jPwOWn6y*>YVWMsteA|b?b1i*FOw}D8Xw^}VKl}ao` zHk%E>2F16xx9M~`{+JNL_kDJhhXI5TQvj-}MiQO{F^ITlf!r5E0J^TLblb!~Ui(3` zTCKj~rfK#S@5vno*x%omJm;eUkVqu@0z!A02RtpE5WuZlw;bSa0LO7+Bhu+Kg+d{A z&ppfM^IW@jt?ywK$bA?Bct(E!#4evF9#`$XHZd{L7sC5MNhzZMuIt_dXt&#;PwH9X zj~_qAvaDE$`T6-!K}#vIZQGmdb_4*}@*IPOHZwERx6dn;3U}|`jV;W{$w@9>_OB6G zmgP@OQIxF+fTn4?z(as~z3vC@?(WiVwwW=BDa%37MDU?n zt?tjx&b|vw9UmW)N~KU$72CEsI5o^p7281ZSh+dO&l#B-}`Zf<@a zjO%S`sjBM7bgxmErs>bT(P;D)_pH~)vMfx~^!EOdq9~vA#>Ac)<#KsWO8GsIg6^50 z$z%q;lDV$S(a{mjX44b5fH}i3ei{e>pja%<2qA6*FG2Sd%w#f*jEs;-Bw}M6$HB5J z>h-#J4FmW?QIzHN_4QxkV$Ph>%F4Vr6rL#Na6`#fMp;D;padJI`}I&#xJ)tE;beI-O-H<*X3m0`M~6 s0tdjMl=8l+s^8tXapTYPEa>U zqqm^bgwjAnL6#k~OBl7dUF#4OC`cd`1R}dgbqXR(s+|?KF2DGR3-^&ZWANatRh)9o!H1mHVA_J>8Z%Wm+t?x!e#ZD&W_h{7p zg6IGNfR&XMcQTVX_uIfg%%7NGeRdY-@ng0Q4icE2Msr=XKmes_{Hp8Pzm8+%UAN%D z-x`2ZDxKX?t8G1g;so)L5rU@4x@EE0*-7Z)MM8-L!El%@x=ujXIU9>b8kFh=&;UXr z-G}4x$n$KL(xppmzjKG6X;QN+@~ISozCN^g95fA-;upi947=+<6%soe8US#YmMC4m z%=Wu?>&V-qN6{}_K%!B6*TwTZ5b^84Mt+XRdAYVmC7)-lzn_-dx4$Btoitv#f*+0Y zs$3?llwAi5O|usqhxEaN3>OMiibb4Uj*q>)Y}?$)v12q{zs^`=W7!cI+Wf-M{SP0? zr`y|^Hw;FWm#GvAlr4+=sZ%uHx>ZNsrPExych7h=Jw09r!jZ_}>q=$u>HGKI!|raz z!(q;sO8m3B%BR^`X1cogaTDUD(_4~;@kB(L0|1#!#xwWr`)jUNJMyts)B6t{(uqVE zUS8&Exy*2}$is<=^^;>`1^>~b(E8k*()a9%h1%Qa)#egYsg&LriJS>(+Ubh#w*rJT z&8m9d(3;~6jgF4~RGXiF<~(??JJ!?lhf-?byN0*19TDl-xIY6QRa*l6cPPUE0000< KMNUMnLSTa9D~~Y% diff --git a/src/icons/images/clearbreakpoints_16px.png b/src/icons/images/clearbreakpoints_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..4070c5855ba96597132e47b9f096ed6d627ddbf9 GIT binary patch literal 846 zcmV-U1F`&xP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10^3PM zK~y-6m6K0s6n7YgpWjS&W_PyT%x+?uT$1e}6+uCI5D|KiPiO-^Yh&XeEq&s zn>y_1uoF@0Zv&D*=q-VW7}b@P<;{59+h}i>hpCkRMQ^Vx^z_J+cwCgW=&=|t$HoYpIz_Ojhd?Mqn_-|E2BWqeHkCR9paB?4 zjeOqO8D7ifIAjWD z9*wd!F@c>(a5oTeU6E8v(134$a-2%y=uw^-1}Vp(RxDC06mT7fS5s5i$s~F-igWog z(>HGDi%Uy)TY_S_{LOl`n*D8S%lrB4Sr&sq&X-E8P;qc7b!om^f+_~fX zW@jH+0|TG61OP)rLqQG3Or_4$eLoIhYT7?LzMpC;HJ47OYa(JaHa2b>{rwYr9^Jcm Y4ZU|ldc+5y*#H0l07*qoM6N<$g7Z6)_y7O^ literal 0 HcmV?d00001 diff --git a/src/icons/images/clearbreakpoints_16px@2x.png b/src/icons/images/clearbreakpoints_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3239689efc8fca0660702339a414c113b891dfac GIT binary patch literal 1885 zcmV-j2cr0iP)oacqXAY}&*@R#Oh7M(f6437t;RPH{+va)hDo#xMDW4xP4kO650 z{`9o~4#apkd^YylYZaqyZQ19A!64Ng9o$&Aj`Ycs-~fn#2qJ=Inuuj#nI@KD@OC7^ zrqNMM8)5}^ShB-48NkJh7k_{JlTViX?CGcR`u(Ji9|yn~7$Di*O;vk4a^V6D4dL>5 z(A;iYTrQNRp=laQ(?BWac)gSXoynvE76b19qf-KeLZMY6veihXIPm71%x`HSP+m^* z*s(l_$~WFX`uZRo#+5Pd04SyG@MM1Hc)j$e)AZ=N2dD)8HYvc$l`HR2N*xB=^WAQ? zy!Rd*9UZKF^;KLYB_whn65ZWYY}srg2TPzbRJ?**RlD#hcKl^i;E4uD^kmLj90#GZYYvem1pXl>2vPMkQw zSC2i0XU!Vi4?JLp!tF-O$pfWS)-%5-Dsr|ib|zT>%d#2(^%K9J(t-kdM@9gsDJlY` zutr9RuU$*&>eWnfPbtnK7rJz?sgP03aeu0PYV2ur!UKXcP^o zaJlR|E`l{YOk(}|DIq*-*W#+Jy;&17`^45yrKULsZ+C2G0mzihnLZz6Tn8YgnH9@4 zF~eaJ>()&P;d}mh+%+|MMadD%G_&W;^T5W98#SOx0RgugO)07Z0W4rBowf}d29~a4 z>N>`?YsA;Ap)?elm=g^R6utN&?z%cG!@x2O`v8{3HN(KNmtMhsSLAs>a^}pMJ{^G5 z@i?YqIGwg7l|sLAh3GTSP!bAJehb84Lj%(`Z^rZBgII=P!y5+wOeURWz0Sl1(An83 zwY9as1*SbxQbM8E%TOZ02R%I$h}hZdl-nGanz0zE4?m==r3H0Mok(_fQ?+9U$uGVj z-Pea{7;KNn>9ND`S8lzAzy*N5L;@^}hBA^w5 z&CQfN_0&X9EL%p^)~ysg^bmuo6h~4iGOq8)^8i3iP0b9Y)B>+k+#d)~5eV?_>(@Cw zILNTBv%u@M6DgBSVp-Yv8j%R&hYwS+X%kv$=>$(yzx5V7KK+!=-d?b);Eu@v!b+*% zUDb6J3?Dmuh#opbWn0^%5DWM1DYu7noUs{Cy;V|ervr0;6Z)`*<#UJBw-ibsoQYnmNG8+O%^kkCM zrAzcLT}oiZ3d&nr^1^Xr`EuUhzaJ6F>yUDD0PLnA`HyInqr=0X>om@tOWTqqm`d@7 zWRmsKC|@O$**ws5VDwaq%k!oO;QtJ3OvH5l5yMKy(U&em` XFyie;5n;o(00000NkvXXu0mjfH(;E- literal 0 HcmV?d00001 diff --git a/src/icons/images/empty_16px.png b/src/icons/images/empty_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..1529b3495e3c0ae927e672a256666bf4e23575a1 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt)2HE{-7zopr01K)iZU6uP literal 0 HcmV?d00001 diff --git a/src/icons/images/empty_16px@2x.png b/src/icons/images/empty_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c560efa2dd3ce58d08695a65b4c2315728d4c60a GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4;b`WOlfBG>MC@5Lt z8c`CQpH@mmtT}V`<;yxP?40Ui(^Pc>)V5jj6hzK!vFPo d9u6Spdo}?D21a+r1sy;RgQu&X%Q~loCIDkxB;Ei3 literal 0 HcmV?d00001 diff --git a/src/icons/images/empty_24px.png b/src/icons/images/empty_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..ce5c57c6e6817be4979a08403fcbaf58c53b5231 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&AY(jT978-h-yURS1o9dt{9FHy dgNvbI6(gqv1LL`Os&+t822WQ%mvv4FO#neFCJz7r literal 0 HcmV?d00001 diff --git a/src/icons/images/empty_24px@2x.png b/src/icons/images/empty_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..af3e114ada205dad3a131e7025fefdf7faa2b516 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3TAX~PbvH$7ERG^?_ ziEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0xWo-U3d8I5lbGBN^rO$z_l f=Xp4Qm|&pKreeUr*!TKCI*9A(>gTe~DWM4f+_ohl literal 0 HcmV?d00001 diff --git a/src/icons/images/error2_16.png b/src/icons/images/error2_16.png deleted file mode 100644 index f2b7ab6ea194bbf2b26f422ec463c3f4328019cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmV;A0&x9_P)dptk}D}g2HO&;O&joN7o$NMy>t$Q z?DbsJ7CL84ai$Cnh5U&?2WQieL2jlFF#@5;B*s~MBgb;n5c_s;Du~^tLwlABm-Bw` zaDaatviM=!b~y-weL5Ug!pS5B00Ph7$coaDB&kuYR=a;Ruqe3X`1hs3@ppq?f3i5x*)Kp7Z(JD0&s8uOs4?PgRHKCZfwlj zp2y|$`IccA?;-=+w#$y=e0!xR5CKBEUEuH#NF;zvW^Qo*(ygu8mu{DoN~N-{>!&dQ z2!h~KQPYs!+av7q5^OY@3lfQkfEa^(bi|cRlZ9cp55VLAfKpn0c79IS@i8zMJdQmK zQH;kyhr^cu5Ceco7^WoOk9MA%ocvbHnoR(Je0@#AFiZgeH%Cd>+&~^P(Rn=B|GT}z8)(o<|EEYx3&COZcaX3xWc51bn z11z8N$6l}Zwy0?+1_7kOfFK^nRiVJ#WD>6DLDRGy!!SNXr51xaoz9CO2tHFvtKoQ@ p1^`|VzRR-Q5k>L!ujKzWKLIq!#%fA_ZQK9=002ovPDHLkV1nUw8}pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10!K+i zK~y-6rIJBQ8$lGu|FbEYoi)jBL&ac|n50(P+=NKFlz@oPd#=($PttyYwiXYz&_h3f z7aP*6A0Z-=gFzw19#o=@NgDTHQky2zY%t)?^sr@1m8OS2crXm_{ob1&1N>)@s~5#$ zF~AsGWsIeIy`C2UD5cEj^W|k(UQ8yFjlTj4g~E$UrSj(X_&B*M1bm$i;g*H==%_g1 z9EM?tXf*m<*Y$VT0NdN!uWGg0>-j){`}g-HOicmVEO2oFC<;h0h-Ny?H;;~_NF?%7 z*Y&p!V0U*n^7;7qJUTr+{pAJ# zbi3WPNH`2NlaWZH0nupK4T|!oAkJ}XV?&DQx@fgpYXIgY0QlZ&J&2v10h^l;)#_mF zjN#7E5Zdjw4gmHBrs>w|b;pNmYYQO6PQW>fr6mA>-!zG7nz92BLJ(qEzo&S;1D7D2 zLkK|}fTAe<&gA5<_N%~}owXfM3dpi8QI;J*TT!4;+IIk|s(z|cn$Wyn36=#g23%eO zmSv|90Ot;{0&rE+_5eV#H}*a|uGL6)d07lL2(Y<1aa1l7RaKulfMhcHF&GSHa)c0b zWkrC}>z!^lex%bPcX~>~;qd!JBC!Wt`O5ix{=;d#{`h_@#$$#dc?<&>9tNA3K*jIp zhvhN}g+kd>D)qz>dUepw&d$S5r?dL){QTZUzwZJ7+3mJ&`u&HRrY+9Q%oP6hOeadE glBZNEc?Q+|1P;05l}xdVi2wiq07*qoM6N<$g87#}F8}}l literal 0 HcmV?d00001 diff --git a/src/icons/images/error2_16px@2x.png b/src/icons/images/error2_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ee2dd2eef406c1354ca3ca74b92b1809a18325c0 GIT binary patch literal 1554 zcmV+t2JQKYP)x zYfD4lN}w%$*gDuA0wYe_6}-X%En8mJ(zFS4RaqjYB!V=iQS8W3WZ9L1C0}35l5QVV zDY6|qG0tGHFPw+-B#E}RHr#GEnx>(uDge5!lgVU=#bVsJaf5t5j}QWv%XQ7=a`}gb zhGusR5DJBU5sgOwnaN~io6Sale?R>$7t%N1VE*s})YrrKI9RRF*of%rg5hEEgM(b0 znIRI1u(q~_rfE5k$MdU^k&(~t86X%8{`$(5E1%|aInmVA#AEySV;>*KjK>j&55t~4 zaOMo0Jqxl7He00$hXWpe9DQ_@vtNHrGMPk{WwW=p_mJ1?{nuRqCMPF*uU@?xSzcbY z_4M>G+Sv(jzKMAHY3T2VVi7+11it#JWV#Wc9CNuS9y!AK%a@5pqiC9z@9XQ^J1{UX zUF|1r1V|(j|5;vMwzaghFxt`r@4SO}?KN;ZA)SVkC*k|=ONQHNaS_Xj6a4(;m(g{d zL?R)@VzKjpt9qEFx)TTlUQZ^IO?JDT$A*UB{r3^aj)AJe=bvM~@djMJyuER?R#p%n zeZ)bZkD8hq5{X1hAP{(EOMrMhejH$Ma1eQH4DsA^aQ-~J`YPtw80h-Fo0pYNW1pB{ zaBvWSn>TO1bw_}3IQ+|WI_*$Zm4|FL%u}Z@pLquJz4tJ$U*EZLwWg+csJR(MQAnjy z&R{V3#3q1DCi8oM&dyFaeHsddQoA227O_MkrMUrJ*N<)jSXx>d2I%PMfY0ujvb)pt zbZKrNlgW&f!<8&pU0rno)Tt`w^fXB86U2Jv3EEWZT$me%ww2dr3ZDfT)p;7=V0Cu~54Zx_c z|E~e)Rx1FCqO6r;l_jv-?JL=A)|SoZu{SqEDz)z6!c$LyEF&bT^nXaw?Gjwo7v=ay zX&PC>06>=INJ%Ms%e_Ps~)lr!0-1P zot>R8N|MB-OP9FP*H?m&Wp*q{LOlB{-__I*iA0bjiH?qr-}?Q2V@m)4uh;vx-rn9n z158Xz5NvHleDDFHukYT?-EPFuqfA*WOiWAw(B0kr7q8blzH#W5hthNB&Yg@#qelvb z0?p0Mj6CuPjTbM%7hhn0`)#RQSEroAffyJ-Jo+f}Za1NDnECm6tX3;MJw1OtaNxj8 zckm{GhcWNt-yIxEJfxsTaF#aBk#h%FJa<^-^#e$+J0IaO6P<>&MW!Y?RZ~wQV zD9`(RzSQPfcK}dUC=_a0U0pr4w6ye_Teohx4a2aOO)VA+cDp@aUtb@qt*!mErl#f( z`}XZi+{?T>x*Jx@G)>FY)YQ)ahK7bBLWu3}Z2znJ5%K#E54R}Nr~m)}07*qoM6N<$ Ef<>VG3;+NC literal 0 HcmV?d00001 diff --git a/src/icons/images/error_16.png b/src/icons/images/error_16.png deleted file mode 100644 index c9dad1310711826bf2c1dd147eca79606aefe4b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 674 zcmV;T0$u%yP)8*v!MpYNrYN-kv4G=nk8kTiF_LMgU`U>xe; zY)*tWPJ!g6fD%Z0|3NuR_Yk=bDiV||f`eO4ai~8iNw4QxV~cYjriI?U9io9q6Djmv z-r@Z|&-=U|zQF&kVzDSElgW=_Jl+umfdoMyNfbMZq8wxc#djGdhUySsqf4R}0&Ab?%>FEcaFi%f>4(`i}Pb;|_+ zfk2>|n3@W`tk)U#_kp7$Fqf-q!1I9H4aV~T&*MR-!+wOr_;!B&#ImgS8~~W6`7AXt z!RYW1xV#)rx!p!8k-%5ed=3Ej0O0$@#fa2u_1?HnPX4N;l@$QMW1o*To6Qjb;JPFj z4PSf92ms?a>Lmz{kN>iKzWYzFq1uy^J!pLpJstpn*=kWR82o8jRyV;TSw7xuHi6O6 zyVrZY*r?SY%krn*3DIaYyIHBgQdI|x4Hh$ox+pqZl?r09ShjDbs_JSa5}`)9Z2z8} zC3||B?76wVkMwza+YW_7q^jzhp66|oYPFhwwYZ3sBtdq$7P*#nx;Lx8`3}4AB3RNj1pk!dH?_b07*qo IM6N<$f&?lsN&o-= diff --git a/src/icons/images/error_16px.png b/src/icons/images/error_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..b4cba2d51d3519cd8c389f1c482adeb7233ace49 GIT binary patch literal 658 zcmV;D0&V??P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10v}04 zK~y-6t&+b>8*v!MpYNrYN-kv4G=nk8kTiF_LMgU`U>xe;Y)*tWPJ!g6fD%Z0|3NuR z_Yk=bDiV||f`eO4ai~8iNw4QxV~cYjriI?U9io9q6Djmv-r@Z|&-=U|zQF&kVzDSE zlgW=_Jl+umfdoMyNfbMZq8wxc#djGdhUySsqf4R}0&Ab?%>FEcaFi%f>4(`i}Pb;|_+fk2>|n3@W`tk)U#_kp7$ zFqf-q!1I9H4aV~T&*MR-!+wOr_;!B&#ImgS8~~W6`7AXt!RYW1xV#)rx!p!8k-%5e zd=3Ej0O0$@#fa2u_1?HnPX4N;l@$QMW1o*To6Qjb;JPFj4PSf92ms?a>Lmz{kN>iK zzWYzFq1uy^J!pLpJstpn*=kWR82o8jRyV;TSw7xuHi6O6yVrZY*r?SY%krn*3DIaY zyIHBgQdI|x4Hh$ox+pqZl?r09ShjDbs_JSa5}`)9Z2z8}C3||B?76wVkMwza+YW_7 zq^jzhp66|oYPFhwwYZ3sBtdq$7P*#nx;Lx8`3}4AB3RNj1pk!dH?_b07*qoM6N<$f|~6vMF0Q* literal 0 HcmV?d00001 diff --git a/src/icons/images/error_16px@2x.png b/src/icons/images/error_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7396d7191d2b9373d48651c87f921d44da22cd77 GIT binary patch literal 1514 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 Z{{_Z(CR;l5e3SqH002ovPDHLkV1nzlMv?#k literal 0 HcmV?d00001 diff --git a/src/icons/images/home.png b/src/icons/images/home_24px.png similarity index 74% rename from src/icons/images/home.png rename to src/icons/images/home_24px.png index 7cee0be19f47be137800d26f13fa019a939a1ffa..70d8112d8bfc47ee6fae5597dd3108c6a5c6d3f5 100644 GIT binary patch delta 29 icmey*`kr-yiV$akM`SSr1K(i~W;~w1B4wl7P9^}5gbCvS delta 45 wcmaFQ`k!@ziV{n)lV=DA5Y%v_bTBY5a29w(7BeugsDm)$O@G;jjb=NU00z?w00000 diff --git a/src/icons/images/home_24px@2x.png b/src/icons/images/home_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..540e3b484c3ad2af77a3c91932a47577cd6bd432 GIT binary patch literal 1347 zcmV-J1-$x+P)nAGO_NCG1vYkPrFh%6%!DGw;4460N(__d~-t; z2}K0zDjd$%VZ+6qU=)6f0X72%4@v`2I{3mYn5KSsd^9rBA`|Nsl8}8B5`abAIK>K`hEv~tp!L;9Q@pMUtkQ(v7g`>C6SR92^X&%b5(!o=}=wZ@Domldq{t= zH=xn;@Q)n;9Hqd(1r8nr2Tbb(;bZH*U5(@0ulAq-n)wK5oH3lAj&1RtJ zWv*rVTarAx$;0!N814bH>(!{l)cD=ji8XbnJFg@yAPAps0*ZG7ZJz^SU-CdA+la5k z-(D~;zO5=c<#I;D z*V_)}+3kXrpko_l>Lx!qA2b;p>61AA=rF7V!2TO`BnbYKFy#TJY!Ndc0^a)r*b7JF zIy)V}2W3IL@LdYJZfH{<%p7Y3@W?!YJ@@-+?B+XhV9t#!QMg<#mRs_k-~~j_fOz;=Ubox5=v$-o3aAJ#3P=1NB4$8k zctFh=xC!upTF*i^2_8t|f1%kS{(nOGAzqHMWLn|PCy!h8=)p#fXW*e#HJ`D5dYoe&Hv5+W`KW6t$XPA`}?M8+5ljh zW>_wl#~T59z2GF9-MP)>c56`-VLsPjW?`l$W^Ox<^P29bbm9B{Wj=rCJC0qOPN#_D zuk@gE0NpSQTPqWEI{s;~c+?XS8jmLs(I}OQ0D#fx9n1t~1`)?Zs%}}<8vqyyN$Kn1 za7aom8kv{ErDZCmZU9^)2|Uls5g8xMq=+~HEGE*gn!!w3L=G&=iUmMFrqF7G;th$H|aJpiD$@as5^2MM6rY)+KI^A>=PZQGv-005Li8$i5) zd8V~)C%*JcxBJp!raNXf*IZ$ylyOxkSPws*rDHc5XZL`v1MslC6Aj=|MCxhtp9EpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10dPq~ zK~y-6rIA5S!cY)~|2NYvSQvJSny{#)5RxJ*q6QN2ASA|1a0A`CcV#?>MWLn|PCy!h z8=)p#fXW*e#HJ`D5dYoe&Hv5+W`KW6t$XPA`}?M8+5ljhW>_wl#~T59z2GF9-MP)> zc56`-VLsPjW?`l$W^Ox<^P29bbm9B{Wj=rCJC0qOPN#_Duk@gE0NpSQTPqWEI{s;~ zc+?XS8jmLs(I}OQ0D#fx9n1t~1`)?Zs%}}<8vqyyN$Kn1a7aom8kv{ErDZCmZU9^) z2|Uls5g8xMq=+~HEGE*gn!!w3L=G&=iUmMFrqF7G;t zh$H|aJpiD$@as5^2MM6rY)+KI^A>=PZQGv-005Li8$i5)d8V~)C%*JcxBJp!raNXf z*IZ$ylyOxkSPws*rDHc5XZL`v1MslC6Aj=|MCxhtp9ETA9*}9t*Yuof4|>zaPSlR`}<&K5D|z7 z%v>g-G!b5ojEu~k3qUrT)dBHZRlV_{p=eZUFiq28>H+{F-eIQ4x~?y@46wNPKCUQYHWCRd ze!m|8P%IXa&u>CXSz}rU0L)|pc&O`os%d~!Dyyq1FOQDi=J<_IAf@cH?aCXsF;8_Moz6@F@{MN#4ayv?R_1}Q>_*y%u35AblaD~*lablk74eQau;l+xkhs6eGsx!Np1 z8*&^O2LLn63jlC2>u zwLzGX$zsxXprB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt;PfT^vI! zdd~(K@-;aK%-I>U?g96)X{{~p0$g$_Ni}UEe;l~E?H{mnLMwtnQ(HyAP~)l%JV;^H$Vu_5iyT-Pfuvm)klch@UB|r6nou~ zSyoCaIict0oduavE`cH@9APIu%eV$Me6iDMsNZqu`VQtrO-4MezaKjTy}{t=>gTe~ HDWM4fqNjC5 diff --git a/src/icons/images/locked_16px.png b/src/icons/images/locked_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..28e8887a2a35d68a99594e1b902181e59dc2e647 GIT binary patch literal 423 zcmV;Y0a*TtP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10W?WO zK~y-6rINo(!$2Ix-$@CQK|!2c%pgdI(9+UT37K4u>=wbHTN7|}v;7Y;1WM_j;^1@{ z!tKF21Q%!R)GT=}Ekr1nst;~?-}`>P?|uOPl-OmGbO3k&&NkKufEOXedn1wLwNh#! zrChnLOV@QNrTkJ#El6H9H9JbFMX%SZq9}URTF@p$|e1i>fCI}_l!+wHO_3Qh8)<{xKSHt%#g70JhXPph_R0^nl3Uc+&m zQveSnt8INS7+jWRDFED%JQPAqfZ8jNoV45RC*vh;l;`<$3pm)P!6YLfj$~fV{lCgNllZ4WG~Vs->l60TAE~Fs+o5p9Sy&x1!N#PG@K5{n^>s z;&?oMYOKTIpsucNeQ%LwU9D^-Ea?p{Py~uQg zy}i9-t*x!6eqYlxwZ6W-JKNjaj{5rgwc+96XTT;fm`YPh7ZnwBxE}5L1d~U~ACR@jG216Aq;IRI*EYChTi${9Hy01U%;4`5l=1>3)r zEFt^2AtHWzcn!$f+dJHBet!N{+kYe?XEl_ktgH-xSS$vIRYOE_0hChyZ-dXOK(e{h ze*$Uh#4$`%z~yp1KF@{b=H{M2Y8A+c{sW{9pzAuLqoa(EkJHf5ka>Xa?rus-N+>KW zq^GAR^8n|iv;hVN2CyuP-Q8XK`};EwFf%j5^71k}J3EBK;miXR6&0ar8U+OfxZUo| z0~m&Z!*Q7I@pv*1(Ad~`WSoFWRVQx4A5~XZSGuW3^yePKzXl*_4fv*T2 V8}QnAUjYCB002ovPDHLkV1lH8hB*KL literal 0 HcmV?d00001 diff --git a/src/icons/images/next_topic.png b/src/icons/images/next_topic.png deleted file mode 100644 index 2ba1acba36fc2ee34d25dc61fcdbfba7b07a4a57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 776 zcmV+j1NZ!iP)3g7(M3Zc(!s?=bm9^hAmX52j2JIHdSGngaD$OzjZkXaG>i zV*Dk);r;UaeLs2c_kFY6D zclY%41l!x&Uv+hLwH`V^k|e}pF}Ezs0guNszaPXgz$v6DKn?QXzFR(bCg3@FVo!)< zKluIrPM6E|h%wezEvb~!a3Yadshi>!Kyr{abBNu(>5kru2f(d)0M|^@EZbWJySONd zDZk&}8VZG60H7#JMc4H*W6YaKBvyPrAJ-S&03-)&R+HpFOIbuGXNY0`)G}+?I!Fx= z32^wGAM4$OfWQ%f$Fr(lYD6YLMCv7-M~dgM$s; z9vT{gAPC!qLVDMfN~;*VD!R{m#K5WJM`!>1le#5y&Ks7*Ifp3P+6pT>G7S_~fzuZO z;Yh>09iS?TQrRg!Jv|M^*xonT%mbJ1z{;m_Yqm(1GM2WwR=A!@r7Cp*N@-Zv_44TG zXhl_3sH%#Qk&%jF7zNIG=i=hx);r~G;s9`E4A$3oh&=g7jPF#-tmk)MGO*>OmX?+Y z0R7d{Tg$S-nx>@zz~}REJ$xLX1ZX=3Tz&}avx3Ov%&y|Vj(d3%}w0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10(MD6 zK~zYI?Uc`J6G0rs-*nsAq^&gmL_HV-X8m350whU#=<#@xn}xIuAcT-`IDBYeU?8RI`i?CJ0Dxf_G!lt;DW%C) zkd6TDKspBef`q-ar>7~TyV0VeD7z&|8kJ>v$hPezLdb)3I{mrMSj@vXAEd~ycw=*q zlDe*Ii9}-cuNA1O>T|hVZv%nA_{hk}Wlhs=QcB;cs_Ltn)*WE&17N)e@>v*X25IEn zaW9obT_xmCKrk507>03lY;3Fwk4B?nW@cvHahy+tkiCnK%`VtEz+MIH98mZ&fTgDuguMq#itgF%T}SJ zF~+QhJt&vUHSve;00ixg4sLQ`DCJy<)Ae;sSdCK*(HP+b-7$aj^n)g{h9{#6Ke}s z`}zR@$1VXok6?CUoKGh0x^SS$JJ<-j-DnS$ejE$|@;1aLZt#0ar(t+gKueJ>!1)UE z{#_nR@uuNGr@snOhWX@0%kYi?CgYn52Rb++0V1Xr`EuSaX^bVTR{pjtD3!>S$}4U6 b+kc`ToD(}9G+e-000000NkvXXu0mjf5YbFa literal 0 HcmV?d00001 diff --git a/src/icons/images/next_topic_24px@2x.png b/src/icons/images/next_topic_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..484db733b880e9a2d89011fa1308524d296ab31b GIT binary patch literal 1386 zcmV-w1(o`VP)@57+Nn# zcEN>44JsjA8E^Pl2&={f9HnS%rsivA9L8iHWfYa$bP+wpFh23rs-@SYHFQenjMhBcKA;f-7 z(^diBIGxTmqvOvxKvt3@)iDPURRi#NJUNK9YuC0L6}M^tE|)6@AW^K4_xD*%9N$2L5j2azPH&SWxuHCqUCB@cBv zoep4S=5#O+2wb0a5TU{N7^GsjHm`&D>vVm5G7Is_z`(#IJz*rh&r=j-fe>P!BuNK> z#wo>r0v}kd){}m}KQ-mPFt9oh2uxl~#b7)(xgU=~Y7Fm%D|8({i-1@)6vm^EXx4xX0y4wt*vc(Y9=E&qr^ut z$7&%^LdEs`vv}MuWFX|S5M@(HQIt1<&tzHV=+UFJx6eG<`FuV)J3G-d4PXEm%oJ?_ zY=O%?1?e(*9Lx2Ef^_N|r0d*u1R|DBYemzk?Dv4(Za)n?v3KuY+-`T#dX0^ZsH#dh z90qs>Se@A(1K8KG9g?Fk9+_y3WCX@XGyCb+9Lpq@Tj2Yfkp+@0?OMM4>7VZ3zkhq` zb4#X>qA07#o*Og4Ck^qtT>^wekeC^9==KK5meN)5gnaDl_ zICJIF(~%p7sOXne8DkL$2qwLMjf=ZG^2KLG)j^as+QUQPw=@7)Biq z$3QZfTrY%Z^!a?Ks!Bsc1B(|g24Hx2m=h;XaO~JIG)+SY(QC8W+WPwXPT#wC@2uT! ze-(IY--cy*LuO_;O~nBLjqR}UeHi&0zCDEZXH}PZ(76_BX=zzvHk-SJ5V>J2JK98} z(Of+tM6af4yF#Imn!T1=3mtY$PGG6{Wbme!Vf|tFZxAjX!W(*^+dSx83xz@<)nc)1 z1@@DfVWZJ#zWG~{B)ws?*|z1IFHnBEWYxR_HoOZDZdGI+X0aO0S8Ho)v!-b)0aB^d ztxza*vsm3+3mmW%7C2n6?j88&SLp4;du?Ra=ApvxfvZ=q-T-b?axXB^VPAY3hJJwW zy72xIsmMH32=GW++6)`tgYanxp2YiGvSRa4Z2;3kXnhO(M_~9zUE_Q?Rlfx;9)fhj z5c5!NfOHbTF!L}Eze*Ts9;ysrw0Wo^z+9MzD)xb_d62gE_Xqt(#jRQkWX%Tx0l$%P s=loB;`uciVmS_UWZM6BCYBE6o14U0Ia2_XwDF6Tf07*qoM6N<$g4&3Ci~s-t literal 0 HcmV?d00001 diff --git a/src/icons/images/options_edit_16px.png b/src/icons/images/options_edit_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..58a803870da5e3d0ab5961e359ac2b8a38c40a91 GIT binary patch literal 725 zcmV;`0xJE9P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10%A!- zK~y-6g;G6eQ&AW_-{sx+n!FI3CauBHO&4tup$Se>h2qcd?$j+?OJ6eu6q+|@>fqp< z!9}Gs1wjX)W>7aVh=kCe6kY=5z2@GRm(Ru2HflZ7ce&>~=R5big#Tb|ZS5uzStX*crBdm|xPUP#N~O{qfcHX(I1xQ`9OnTu z-yxzK*=%+q2m*Aw-MN1XF!Re~GI=SPOp@n$^S^p#SJ zhT}N5i0B!ByHZLvO%njHu&{tkCIbM-=kuu7>mVXXDWQ}CfC*;4W&pS+rCds<({ki~ z5e^Oxg27;*0c@bKR*OB)(?ST?wrvs7(~+n# zW&$EwG))sx6rtPgGBZCSqIM7jJ6h{p7>51faQI}z7vufI;qXJJ)6s{Ahl+@5uIs+5 zR4U)K*0;kj+!R7wcU|}M_#2#q<2YBDc?rO4*L7QekzvF%kK4jk*F{Gz_C~=FFM7jp7G3GFq1PaxfVD)p49(a=F}rUOpmn5+E9lvVHq@ zLZJ{q9C*$1ybm{uzb=6jCr*Sc%lZhoxEgGih)m`4`Gac+9tNHU*s)^={r&w64-XTM z$9$TQ28V#Sw z^!*5QZGlqi2tXtf!8A<(48tImN)d@f@WF$@An|ydp`jsv-vMYe8i)wMZ|BaPyS`-t zTI*9lvtF-LsZ{Pc1_Go~DMm*}NvG3{jEs;>CVf)v3HYBovf1p>EfY9<_Uw1S+W_Tq zxwW6Z7=}S0uzvG|!(qR2ao|hKvc}u(Cr_T-Y1?+VMYvZG+qQ#_<6HqAkH_OAlgaxf z(jg+k{QNww>jK{?IWE|128u?$JMJ>{lf>`J*25rih8|{h!6}0 z2?PR^%ViwL0XPPH-;+Q-pHFG6UjT^3VqM@96BCS#jI?yScI{$xbd;&7sSXl`VRWsJ zMx#D~qwN(?`F#Gc*7`Z%d9C$hfDsCXx=#6?J$pL9+ez%*yO-J7*R}8~Q7mLLV+^fJG z@Q~}et?|2_T)%#uv9U3Rhle}#^YimuyLPQZ=en*x3+kq6rfu6^SsTwMa0PhAaU3F% z2%hKBY&Ho50z{+Hj>#t?OixdN1+dGjW-v$Gu?0JKKAQfj&vcsqfw0J~PJ zQLEKD9aj6K zG#af-E0IXh*Voq~GB7YeyFKRTdW)Sy@@3 zR4Vy?UzE$`H`m7B%oa=l9kZZPsi3t6m@`fDRok{3tEL&tvKqk0l}e@6w<7X+wOT!X z;lc&CE5VJBGntGrK0aPjO7#PTLLp+Y7}aXkpKw;8P$;flXIa)uz$ZXcMBXeGi|+wF z`*_1GxOC}~r<6J(A{PPIbzPR1mwoU*P1Ah8*SbQX@M$0rc+~T}gT-R;-Sxm>3qPl) uPoEysT4#V~MdTS|Iv5xjI14-?iy0VL)Ipf>roU{%MziZo0Oh6%TmS$7 diff --git a/src/icons/images/prev_topic_24px@2x.png b/src/icons/images/prev_topic_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e80b3e0d72b936a725d276e7d6f329b80a443e14 GIT binary patch literal 1567 zcmV+)2H^RLP)OP9=DxC_NOz`4voGZYhM*~H8iZBv&i6lis6e8sHdVQ}f%hj?h ze-4ODyeA_9YHDiobvoS@pgI%rW1-VJpw((E(CKtnfvpu46p2Q0B z-KR0<8X!0cp&1P*CP!KV6y(pGz`Qz2etLNeh$ml$qJ%F49~+IvEf$MqM}Cw+Z=$g+1suOOj-DI-Pf7`y_l)LB4Ar=9McV zwwaxbWFR>C{CjL$a9*1VOePbpt*xr$0dzVYZEbBBjYfbhA;kNNKFP@!;W*e5A+JU- znV2NSoZW6$*d`IoW;1nlbpQw8T}UpsK1WCHW{eZQ2yQ zESrBX$t0E_I0dtzg{?Mf^Fjr(EH795R#Kf8Q>vs~F4uwu+`W4@dO4m{0D#l!^h%P{1l+p!z{{S_Z}IuO@c1v-vJ>*k zQ`;su1>xjnM1Oxje!o8@d7sb6_3PK8UoX$UpYU90Vq#)y!-fqPgb;82`!rBEF#I=- zRXLb)^ia_Z$nfx1glI4Tp_orF0J8Kf*16vkZlHuhA@1M5PjhoKLL^?zB}t;ay`8bK zF^DXqyC)_lyeS1JMa&cq+www+KxI(Av+3DY#QHZsgjbtj;t%NE7sFF=j zin#@yjmFt25H1`TdqSiBH%w~^pv(@1Rv7;UB*g$dvyjK*>4P(9qC%uh$z^Rc#piG3`w=Z7hLy(i$#1t_S7?O#KdJ`+4uvFL-Xgd%=E1-~AF{A#Fg1EKkm zt16cCCZ&h~KIe~cwGCdWh3Z`z(^SWjhbp0n(Hn5_T`<1}xkVb%R7YC5PAJ0bg=+`k zNk;yVQ6O!zCKNHb@JcgXXfoSgqzKKHix(wA)Ai2jbb5oq;CA5ly~h$CT})hFXbH_1 z?6@CAeko=DbdixACpHtAh#!lLZJEQv!;gZ&V3QEyxK5|rmZ|r=#7m@!{{a-k!%Wb4tP~b(wvI~)jU^r0eLXve6 zk_+l;^am_N2qPwgf`%ihE=+<*$u6RVAShAjqJenUMRc(Z3Jm+VaVVUd``p?&Iz3&8 z$3(^V=KFZx?|q)cdF>Jm290ES zc{$C^%~VwEA(yi-Ir*7Fp@83|ZW_w~2;AseXSP=H%znP!t6r1if88OjDt408~NX${Da$F+4hsEX#Cub|Qp8mStpF zX3%b@yUha(Y^6XD9Dak>>m?G2kW3~KLeSIGLo60!VPS!IJPz$Awi`hZICmT>p}xMJ zWHN~?%S5A5a=F~9NL6LAq6UX!g9%8+4n{w5f8;G*uNSx54PZ0_q*5vF4nC!?uMb_< z_ikEZ;MBfV2WFnp+vVe-%|@At zgqi>Pf!XPgG<94es9-_7Y0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10*6UN zK~y-6g_B=MQ(+j!e@D+rH#f%oQ&b?5gf}yZh{VN41d?J9MQ9fi0|~+`LV_&@2Dy^L z8>xs2Y9feNfk8B7{+#P{Zdm*;uj-^=%XLS0?m zX-Sg&s;XMqq4K2McxFX!9vT{Yz19;&QS^6qc3LYdD>sx{3e<(orMUfa8`NGoD67FN_ zmbF9xK@jlXXxo@*DCSB3AhIk|RaM2cmJ5g>KiOpJ{{gz1#Mk{0gTa8q;h>_zh@vP& zqfw&KDCu+>PwPbp-ra^kOXIzC28_i#?SIAC*ch#?ttg5@Fc>5d2=Ksc=4xF7(6bG} zvq2gg8qE(Ns@FTx4gXkR`c=wIQK2$D2d}J`~{11@Z&wn zZ!)p3A8?$%LNt~j91a5z4u?r35__tvs|!Q`mbX6NWM&uftdV&&!}pgxTyD7zKrk2t zU~+O2pj6D0auSo%v(`f;nXTrmfq2Hq{L%_D1AbgC7iP1WP$)!AO%1?Lp}xMhK}6_P sv-*zT*=n`MySlmpWo2a=Fbj120kN|<#_ODqE&u=k07*qoM6N<$f^|4uJ^%m! literal 0 HcmV?d00001 diff --git a/src/icons/images/properties_16px@2x.png b/src/icons/images/properties_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3bfe41ca103bbbcc73bdc7c52352655fb31dfe45 GIT binary patch literal 1340 zcmV-C1;hG@P)e{WmL3UnQlfm>W?v5C_y5rdFGbW6M-OS3H5g#;&od7-=6B#R&I z0vBEoTtR2DL@&(Z2qYR^){(l*jl>w^NBmm0WpgUfcJfgSsG}XF-{*MI720wREgSxC z`o8aZ-skzB=d(uu*lf1ycs$-GgxC!{%=%yk_!@X~WMpJgO-StByVop9(p6y7IvLKz zzd)@T37sTK?*NgqUp^e9`mZdF#3h(a=w`psP{Je!)CUaR-OY1z) zWo{%%qPMqq)e8oL0kheR!C)YnOcD-DvTm|X3&4ATv<;amEw6wHP zUtbSEM@I)1i$#@0a3KUwy#y7H6+}QZH#f@w7tao$l@p3F9~>M+qtVdT)`rn&BoGK- zx7+dgd@B^z)YQ=5-%pud5OuxG{xkmo$Ri^oiY32%m>YB5hNYOh-EM}5hf{AD3}P~w za5|l;o){V$0(~i(${l$$baWJ#%XMEQyk0L3hl5Zk zL|0drkY#zllH771IC&VY98+$?n;(T;Ed+uKs`aminwlC;oH&8WWQqaL3nARf1o}JB zN^ymGaBr|w?10)s1Q$XK4Gk>~BY^Soan*dtM`D@4+pUOXoZic`D-;Nz>&Z!|cpRR7 z1&T_tp0Cy!)38`9IGxTFBrvH@)!vNfO_^N95-LOvX~x&X|VJ z=fiHd69@$Kz*$+A_hozFEgM=XmhJZ3bw+riNkLdDA}kf5seXpa=GO_{&7UJnv!bkQ z9x$)0f;AcsOGV6iuHdCW>l#0^x5>>9ek5B)Ya9oXU`sDu^3fVRa943Q(Ie0dwV;2 zy?!3(6gHc!I*~|RCXd!z`@4G#;<@c0T*xvcufd#6W~9h-(@QE+T#)c0000k-e literal 0 HcmV?d00001 diff --git a/src/icons/images/setup.png b/src/icons/images/setup.png deleted file mode 100644 index ff05063a7c57456ea31d01f4d76c2e5b3523b12d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 762 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 Ef`J9@g#Z8m literal 0 HcmV?d00001 diff --git a/src/icons/images/unlocked_16.png b/src/icons/images/unlocked_16.png deleted file mode 100644 index 6b5b0d538525e35c0457db2555abc77a7c856500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2>u zwLzGX$zsxXprB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt*poT^vI! zdXG*t%sb>D;QF6wlc;9i1n=;K=*>I49N+5-PJh6%alw;CC+YmEV`AVqd_i?lu*~tz@9wJpd3(^>HE_w+ zYt6_4m#U<pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Z>Uq zK~y-6rINo(0%07+pI0iEf*N#j51p>*9E5`xMI>-&ZE(B6B_wDqr9VN}2!w)WX|a4s z0{;T(T^ee3IBL4{vZux1y1dKk8Q+)B=lg@NKqw?P0PIdClO3hhb~>GYky1VY7z4Nw zLd?QU5MK9v|IoJWC&Mt_Ez6pkra3DV3UB>>Uz5BdxleK>O0ZY2*B>p*nhuA0tl>002ovPDHLkV1h)@yJ`Rc literal 0 HcmV?d00001 diff --git a/src/icons/images/unlocked_16px@2x.png b/src/icons/images/unlocked_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7c709e2877ae5512566e9950ebacbf073bff5162 GIT binary patch literal 960 zcmV;x13&zUP)sXCyl7lB)V+1}p%@#^a8t2UdBwzjsr zgM))%!!XiW>5gzX{NDKZcwIW3R=eG$guh+W`gn+L^B%RCWxmITBCSXoYP5F+@ z2L=Yd85tS*)-a3%;8);#;Ah~H-|v4oGc&Vnnr3=)bMyS@=x7aa54Zx{DBzRx?L}2T zQPp9e&zGvLt<|2Mo;6h+R@Gaodg)lcsj8o=>JJ+m8_S)Yoqxt+vClI3AE;{H7tOf^ zs(KmdUR+#!qpPc{%PBf-3LH4mpOol8~}a5cNz1aL?m3u9NV{r~!I9S2*FS~Rb>K|&KS0R<4Gj&1 zLLow-5cT!-XAjWZ+l$BJ!Q=7J*VlLU053`<158d%Vp$fJWic@^Q8GZjv*1K6EiJLT zy9+=h5-Ay==-`|Fm9u2mS)l);t)u6$yC&0000FaKj!`_Q(N@y`IA9@_HdAGO&b7I-`l~UxITBnDDwI~ z=FcNMd)z1~C06>~k7$#&KfKt({K;d^C-~i)Vb+=o0Nl=D(b=#qacgnjQmIh|NCG4w zoepAt&JJlUuKh1PsZIKke;a4cc?^I7Fqii8MmEW&DartbdlI-d-MxCr3B+RZPkKX= z5Z@cZ<&}6K99DOFr61ZI7UkNO&z$p^Hxn&_+8A?vg15iVayYC?01k8!47hav@x9Zg z3c1aT954aXV4>Wv9A5;6SF^i!#kQ0Z6oJ#&7Bc{9OW7;O>M4>Q+KGS|;>?dKI9 z8gh#OW*P+2vB-b=Xj#+FI=~;B1Y8*d*AD{F%~HxiX6=max|R=sgp^oJr&M(O$P!Sz z-NKiI$>|)9O=a5*0FAQ?lkmK#C#75vj;7TInP~^rmjGwm41^FMl3fNwHZp4$Y}Yk! z2C6mevW+i5*#{K08N7Zq4j|fP02oLnVyIMVaTta?uPrJxKCIs|3{|wO(8XRi(YJmB X_oS&DXk~uz00000NkvXXu0mjfb)gLI diff --git a/src/icons/images/warn_16.png b/src/icons/images/warn_16.png deleted file mode 100644 index 357216719b6c2d9628842c4439804e4110b27762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmV-@0)qXCP)FaKj!`_Q(N@y`IA9@_HdAGO&b7I-`l~UxITBnDDwI~ z=FcNMd)z1~C06>~k7$#&KfKt({K;d^C-~i)Vb+=o0Nl=D(b=#qacgnjQmIh|NCG4w zoepAt&JJlUuKh1PsZIKke;a4cc?^I7Fqii8MmEW&DartbdlI-d-MxCr3B+RZPkKX= z5Z@cZ<&}6K99DOFr61ZI7UkNO&z$p^Hxn&_+8A?vg15iVayYC?01k8!47hav@x9Zg z3c1aT954aXV4>Wv9A5;6SF^i!#kQ0Z6oJ#&7Bc{9OW7;O>M4>Q+KGS|;>?dKI9 z8gh#OW*P+2vB-b=Xj#+FI=~;B1Y8*d*AD{F%~HxiX6=max|R=sgp^oJr&M(O$P!Sz z-NKiI$>|)9O=a5*0FAQ?lkmK#C#75vj;7TInP~^rmjGwm41^FMl3fNwHZp4$Y}Yk! z2C6mevW+i5*#{K08N7Zq4j|fP02oLnVyIMVaTta?uPrJxKCIs|3{|wO(8XRi(YJmB X_oS&DXk~uz00000NkvXXu0mjfApF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10s2Wq zK~y-6jgrA@6HySxzj-e&+1anu-A2)?v}wuq|p|=TdB0q6DD7BZ248<6GAq6^ltgQsY4q{KFC4yy1sDPd)6EKGx%j zQgtW8yp>=sBpU?PA?DgBfBQPco)_K)aJ-Em>eAY?CznhWaek-&Ngxye4abS%?((SV zdB$36`o*JZBdAy2Gv_Cn3rXf;xZZ`e?#IB@1w_$v{d8A!M5Yk&V@r1>1Gad!b4d2et7TC}jXeO$M)D zjR5FvGXM;vk};IaRUd{SuWE~mdmq+q8HNfhE3(+>Cc4%yJ0Gh$b>iUN00000NkvXX Hu0mjfcRLmc literal 0 HcmV?d00001 diff --git a/src/icons/images/warn_16px@2x.png b/src/icons/images/warn_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fc9dfa5f42cd3a5aa31db3821f2190686bf36b23 GIT binary patch literal 1223 zcmV;&1UUPNP)t7!25X^!mUTmPF9<9G8nYRlCX7F3nrSl45!)-YNE#JWMdmoE-?`j^+~5L>c9cAVS)%Nt%LRWaC@L-EiEMM$&-B3 z+uPgo{d0cjcP=b%xPT9VF<=0;^Y2z^8zG{z;pZmpoGbktgMF zzLb9!$ht?YDuuUJio6^M*{wp3_PeDVG~COP0x7Q)$cufs(rgkExDKpIc2aE#0uBM< zrA7y?Y#l`S-x?qUYkd|PwmSgKz-!4)Dw2F|3-D!jrp9kyxpAaxpbOB1@u>rvU~D{u zuVjeHsgMLJfxbi&>q(I7z-K`A8!tPlD76^GbL8{aHiypj894uSKmb1Ac%sRZNuUXM zf8FgSe(ZH&vKVAHP{e>P(9Onue^BCEf0@xMvtT55DhZCbBMle=n5y4en2pPXO~AI$keE7|*s6r$xsTa0IY4Z?jQ&cgOsb2@^2fE0mXI zQD2t_Uxw_62m`|8173xTs?Vir#z!o9+g_EIbs4WJpLHzX9$0f_xOT{yjm zK?Wgsa<1jZPe6-uui*7&(%5hpVMPZM38)3Ca5GG2AO0*k47u zBL!e9P!Ugnt`r{L>&3FF3Ah2*x}pvpm4Lcbh~-`(D=UK+cULN&_Nd?@uA70*BCm-H z-@l9IY=Y@-_-AMIp%ZloslA^HSQkYgU}kMm2g4&105w3jat%hKH~~05c(V{+*-^vt z-_HRP(PUBNfMy0#6T)n^VYk~k-SY!L3C4?TNG(AN;J&Xch0WE?pxMFy5rhWA4#k4= zA9~LD$-Qj=Pr;YH@>`+UP1^g}qj=mEvHdKEHnia-20ps&- z7ewzV9AIQ*766YYg`vTX36}w^bf3CFO7be<3jz{$O zn-dTb)uYAf0kN>9x}2)YI{@6kQyTCX!0rYI*fv3+7lL0zbUsBaqIN-7XD)ep7V`5` z>FQk1V!I$3(7LBiY2PjYzYti1zvN3834aOh&|&8fN>4D zBqhB1&J>el9|P0Thfb^nl6D&jgFG0V;k{$$R04kiY!-qb3*K;U0cL>5m68hJ3~&_) ltsv + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/bookmark_24px.svg b/src/icons/svg/bookmark_24px.svg new file mode 100644 index 000000000..1535bf47d --- /dev/null +++ b/src/icons/svg/bookmark_24px.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/breakpoint_16px.svg b/src/icons/svg/breakpoint_16px.svg new file mode 100644 index 000000000..3109cec7d --- /dev/null +++ b/src/icons/svg/breakpoint_16px.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/breakpointmark_16px.svg b/src/icons/svg/breakpointmark_16px.svg new file mode 100644 index 000000000..bcd1a43b7 --- /dev/null +++ b/src/icons/svg/breakpointmark_16px.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/breakpointmarkdisabled_16px.svg b/src/icons/svg/breakpointmarkdisabled_16px.svg new file mode 100644 index 000000000..561437552 --- /dev/null +++ b/src/icons/svg/breakpointmarkdisabled_16px.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/clear_edit_16px.svg b/src/icons/svg/clear_edit_16px.svg new file mode 100644 index 000000000..232bd9689 --- /dev/null +++ b/src/icons/svg/clear_edit_16px.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/clearbreakpoints_16px.svg b/src/icons/svg/clearbreakpoints_16px.svg new file mode 100644 index 000000000..e5114070c --- /dev/null +++ b/src/icons/svg/clearbreakpoints_16px.svg @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/empty_16px.svg b/src/icons/svg/empty_16px.svg new file mode 100644 index 000000000..f26d37c7f --- /dev/null +++ b/src/icons/svg/empty_16px.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/empty_24px.svg b/src/icons/svg/empty_24px.svg new file mode 100644 index 000000000..d2e244e7c --- /dev/null +++ b/src/icons/svg/empty_24px.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/error2_16px.svg b/src/icons/svg/error2_16px.svg new file mode 100644 index 000000000..47c402c79 --- /dev/null +++ b/src/icons/svg/error2_16px.svg @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/error_16px.svg b/src/icons/svg/error_16px.svg new file mode 100644 index 000000000..ae5cf44df --- /dev/null +++ b/src/icons/svg/error_16px.svg @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/help_16px.svg b/src/icons/svg/help_16px.svg new file mode 100644 index 000000000..a6def5985 --- /dev/null +++ b/src/icons/svg/help_16px.svg @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/home_24px.svg b/src/icons/svg/home_24px.svg new file mode 100644 index 000000000..7e4e7a398 --- /dev/null +++ b/src/icons/svg/home_24px.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/info_16px.svg b/src/icons/svg/info_16px.svg new file mode 100644 index 000000000..d0170eae3 --- /dev/null +++ b/src/icons/svg/info_16px.svg @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/locked_16px.svg b/src/icons/svg/locked_16px.svg new file mode 100644 index 000000000..cdd51d93a --- /dev/null +++ b/src/icons/svg/locked_16px.svg @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/next_topic_24px.svg b/src/icons/svg/next_topic_24px.svg new file mode 100644 index 000000000..ef0371f56 --- /dev/null +++ b/src/icons/svg/next_topic_24px.svg @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/options_edit_16px.svg b/src/icons/svg/options_edit_16px.svg new file mode 100644 index 000000000..27df65abe --- /dev/null +++ b/src/icons/svg/options_edit_16px.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/prev_topic_24px.svg b/src/icons/svg/prev_topic_24px.svg new file mode 100644 index 000000000..d87904a9e --- /dev/null +++ b/src/icons/svg/prev_topic_24px.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/properties_16px.svg b/src/icons/svg/properties_16px.svg new file mode 100644 index 000000000..9e7e81da2 --- /dev/null +++ b/src/icons/svg/properties_16px.svg @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/setup_16px.svg b/src/icons/svg/setup_16px.svg new file mode 100644 index 000000000..2aa742023 --- /dev/null +++ b/src/icons/svg/setup_16px.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/unlocked_16px.svg b/src/icons/svg/unlocked_16px.svg new file mode 100644 index 000000000..a2f6195c2 --- /dev/null +++ b/src/icons/svg/unlocked_16px.svg @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/warn_16px.svg b/src/icons/svg/warn_16px.svg new file mode 100644 index 000000000..846c46a50 --- /dev/null +++ b/src/icons/svg/warn_16px.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/LogViewerDialog.ui b/src/lay/lay/LogViewerDialog.ui index 889342ade..d625b0d06 100644 --- a/src/lay/lay/LogViewerDialog.ui +++ b/src/lay/lay/LogViewerDialog.ui @@ -169,7 +169,7 @@ - :/warn_16.png + :/warn_16px.png diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index 01c5917c0..3621b1fe6 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -492,7 +492,7 @@ p, li { white-space: pre-wrap; } - :/breakpoint.png:/breakpoint.png + :/breakpoint_16px.png:/breakpoint_16px.png F9 @@ -515,7 +515,7 @@ p, li { white-space: pre-wrap; } - :/clearbreakpoints.png:/clearbreakpoints.png + :/clearbreakpoints_16px.png:/clearbreakpoints_16px.png Ctrl+Shift+F9 @@ -628,7 +628,7 @@ p, li { white-space: pre-wrap; } - :/properties.png:/properties.png + :/properties_16px.png:/properties_16px.png true @@ -648,7 +648,7 @@ p, li { white-space: pre-wrap; } - :/setup.png:/setup.png + :/setup_16px.png:/setup_16px.png true @@ -821,7 +821,7 @@ p, li { white-space: pre-wrap; } - :/help.png:/help.png + :/help_16px.png:/help_16px.png diff --git a/src/lay/lay/SaltGrainPropertiesDialog.ui b/src/lay/lay/SaltGrainPropertiesDialog.ui index 2ff5a7cb3..58d1e9411 100644 --- a/src/lay/lay/SaltGrainPropertiesDialog.ui +++ b/src/lay/lay/SaltGrainPropertiesDialog.ui @@ -244,7 +244,7 @@ - :/warn.png:/warn.png + :/warn_16px.png:/warn_16px.png true @@ -345,7 +345,7 @@ - :/clear_edit.png:/clear_edit.png + :/clear_edit_16px.png:/clear_edit_16px.png true @@ -452,7 +452,7 @@ - :/clear_edit.png:/clear_edit.png + :/clear_edit_16px.png:/clear_edit_16px.png true @@ -517,7 +517,7 @@ - :/warn.png:/warn.png + :/warn_16px.png:/warn_16px.png true @@ -618,7 +618,7 @@ - :/warn.png:/warn.png + :/warn_16px.png:/warn_16px.png true @@ -732,7 +732,7 @@ - :/warn.png:/warn.png + :/warn_16px.png:/warn_16px.png true @@ -824,7 +824,7 @@ - :/warn.png:/warn.png + :/warn_16px.png:/warn_16px.png true diff --git a/src/lay/lay/SaltGrainTemplateSelectionDialog.ui b/src/lay/lay/SaltGrainTemplateSelectionDialog.ui index c5baf1b4c..4bdeab7d3 100644 --- a/src/lay/lay/SaltGrainTemplateSelectionDialog.ui +++ b/src/lay/lay/SaltGrainTemplateSelectionDialog.ui @@ -118,7 +118,7 @@ - :/warn.png:/warn.png + :/warn_16px.png:/warn_16px.png true diff --git a/src/lay/lay/SaltManagerDialog.ui b/src/lay/lay/SaltManagerDialog.ui index 856193f5c..a5e57f393 100644 --- a/src/lay/lay/SaltManagerDialog.ui +++ b/src/lay/lay/SaltManagerDialog.ui @@ -238,7 +238,7 @@ - :/empty_16.png:/empty_16.png + :/empty_16px.png:/empty_16px.png true @@ -537,7 +537,7 @@ - :/empty_16.png:/empty_16.png + :/empty_16px.png:/empty_16px.png true diff --git a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui index 1aec709fe..eb032592d 100644 --- a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui +++ b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui @@ -260,7 +260,7 @@ - :/warn_16.png + :/warn_16px.png diff --git a/src/lay/lay/layLogViewerDialog.cc b/src/lay/lay/layLogViewerDialog.cc index ef8d95319..dff6d7404 100644 --- a/src/lay/lay/layLogViewerDialog.cc +++ b/src/lay/lay/layLogViewerDialog.cc @@ -276,13 +276,13 @@ LogFile::data(const QModelIndex &index, int role) const if (index.row () < int (m_messages.size ()) && index.row () >= 0) { LogFileEntry::mode_type mode = m_messages [index.row ()].mode (); if (mode == LogFileEntry::Error) { - return QIcon (QString::fromUtf8 (":/error_16.png")); + return QIcon (QString::fromUtf8 (":/error_16px.png")); } else if (mode == LogFileEntry::Warning) { - return QIcon (QString::fromUtf8 (":/warn_16.png")); + return QIcon (QString::fromUtf8 (":/warn_16px.png")); } else if (mode == LogFileEntry::Info) { - return QIcon (QString::fromUtf8 (":/info_16.png")); + return QIcon (QString::fromUtf8 (":/info_16px.png")); } else { - return QIcon (QString::fromUtf8 (":/empty_16.png")); + return QIcon (QString::fromUtf8 (":/empty_16px.png")); } } diff --git a/src/lay/lay/layMacroEditorPage.cc b/src/lay/lay/layMacroEditorPage.cc index d5929a4bb..42bfb4e60 100644 --- a/src/lay/lay/layMacroEditorPage.cc +++ b/src/lay/lay/layMacroEditorPage.cc @@ -321,8 +321,8 @@ const int sidePanelMargin = 4; MacroEditorSidePanel::MacroEditorSidePanel (QWidget *parent, MacroEditorTextWidget *text, MacroEditorExecutionModel *exec_model) : QWidget (parent), mp_text (text), mp_exec_model (exec_model), - m_breakpoint_pixmap (QString::fromUtf8 (":/breakpointmark.png")), - m_breakpoint_disabled_pixmap (QString::fromUtf8 (":/breakpointmarkdisabled.png")), + m_breakpoint_pixmap (QString::fromUtf8 (":/breakpointmark_16px.png")), + m_breakpoint_disabled_pixmap (QString::fromUtf8 (":/breakpointmarkdisabled_16px.png")), m_exec_point_pixmap (QString::fromUtf8 (":/execmark.png")), m_debugging_on (true) { diff --git a/src/lay/lay/layProgressWidget.cc b/src/lay/lay/layProgressWidget.cc index 9dd1b75d8..276d3dd0b 100644 --- a/src/lay/lay/layProgressWidget.cc +++ b/src/lay/lay/layProgressWidget.cc @@ -172,7 +172,7 @@ ProgressWidget::ProgressWidget (ProgressReporter *pr, QWidget *parent, bool fw) attn_layout->setContentsMargins (0, 0, 0, 0); QLabel *attn_label1 = new QLabel (attn_frame); - attn_label1->setPixmap (QPixmap (QString::fromUtf8 (":/warn_16.png"))); + attn_label1->setPixmap (QPixmap (QString::fromUtf8 (":/warn_16px.png"))); attn_layout->addWidget (attn_label1); QLabel *attn_label2 = new QLabel (attn_frame); diff --git a/src/lay/lay/laySaltDownloadManager.cc b/src/lay/lay/laySaltDownloadManager.cc index 8d9491926..4c0f84de9 100644 --- a/src/lay/lay/laySaltDownloadManager.cc +++ b/src/lay/lay/laySaltDownloadManager.cc @@ -98,7 +98,7 @@ ConfirmationDialog::mark_fetching (const std::string &name) void ConfirmationDialog::mark_error (const std::string &name) { - set_icon_for_name (name, QIcon (QString::fromUtf8 (":/error_16.png"))); + set_icon_for_name (name, QIcon (QString::fromUtf8 (":/error_16px.png"))); std::map::const_iterator i = m_items_by_name.find (name); if (i != m_items_by_name.end ()) { diff --git a/src/lay/lay/laySaltManagerDialog.cc b/src/lay/lay/laySaltManagerDialog.cc index e53ec4cef..85bbf84d6 100644 --- a/src/lay/lay/laySaltManagerDialog.cc +++ b/src/lay/lay/laySaltManagerDialog.cc @@ -999,7 +999,7 @@ SaltManagerDialog::update_models () } if (has_warning) { - mode_tab->setTabIcon (1, QIcon (":/warn_16.png")); + mode_tab->setTabIcon (1, QIcon (":/warn_16px.png")); } else { mode_tab->setTabIcon (1, QIcon ()); } diff --git a/src/lay/lay/laySaltModel.cc b/src/lay/lay/laySaltModel.cc index 3f2209158..e72ccae2b 100644 --- a/src/lay/lay/laySaltModel.cc +++ b/src/lay/lay/laySaltModel.cc @@ -163,15 +163,15 @@ SaltModel::data (const QModelIndex &index, int role) const if (m != m_messages.end ()) { if (m->second.first == Warning) { QPainter painter (&img); - QImage warn (":/warn_16.png"); + QImage warn (":/warn_16px.png"); painter.drawImage (0, 0, warn); } else if (m->second.first == Error) { QPainter painter (&img); - QImage warn (":/error_16.png"); + QImage warn (":/error_16px.png"); painter.drawImage (0, 0, warn); } else if (m->second.first == Info) { QPainter painter (&img); - QImage warn (":/info_16.png"); + QImage warn (":/info_16px.png"); painter.drawImage (0, 0, warn); } } diff --git a/src/layui/layui/BrowserPanel.ui b/src/layui/layui/BrowserPanel.ui index eb985f044..74e1d2aeb 100644 --- a/src/layui/layui/BrowserPanel.ui +++ b/src/layui/layui/BrowserPanel.ui @@ -241,7 +241,7 @@ - :/clear_edit.png:/clear_edit.png + :/clear_edit_16px.png:/clear_edit_16px.png true @@ -314,7 +314,7 @@ - :/home.png:/home.png + :/home_24px.png:/home_24px.png @@ -353,7 +353,7 @@ - :/prev_topic.png:/prev_topic.png + :/prev_topic_24px.png:/prev_topic_24px.png @@ -406,7 +406,7 @@ - :/next_topic.png:/next_topic.png + :/next_topic_24px.png:/next_topic_24px.png @@ -462,7 +462,7 @@ - :/bookmark.png:/bookmark.png + :/bookmark_24px.png:/bookmark_24px.png diff --git a/src/layui/layui/NetlistBrowserPage.ui b/src/layui/layui/NetlistBrowserPage.ui index 74697088b..f43cde269 100644 --- a/src/layui/layui/NetlistBrowserPage.ui +++ b/src/layui/layui/NetlistBrowserPage.ui @@ -121,7 +121,7 @@ - :/info_16.png:/info_16.png + :/info_16px.png:/info_16px.png true diff --git a/src/layui/layui/layBrowserPanel.cc b/src/layui/layui/layBrowserPanel.cc index 1f46f5858..b26bfba4b 100644 --- a/src/layui/layui/layBrowserPanel.cc +++ b/src/layui/layui/layBrowserPanel.cc @@ -332,7 +332,7 @@ BrowserPanel::refresh_bookmark_list () QTreeWidgetItem *item = new QTreeWidgetItem (mp_ui->browser_bookmark_view); item->setData (0, Qt::DisplayRole, tl::to_qstring (i->title)); item->setData (0, Qt::ToolTipRole, tl::to_qstring (i->title)); - item->setData (0, Qt::DecorationRole, QIcon (":/bookmark_16.png")); + item->setData (0, Qt::DecorationRole, QIcon (":/bookmark_16px.png")); } update_navigation_panel (); diff --git a/src/layui/layui/layNetlistBrowserModel.cc b/src/layui/layui/layNetlistBrowserModel.cc index 82ffa4f81..0151762ef 100644 --- a/src/layui/layui/layNetlistBrowserModel.cc +++ b/src/layui/layui/layNetlistBrowserModel.cc @@ -2505,9 +2505,9 @@ NetlistBrowserModel::columnCount (const QModelIndex & /*parent*/) const QIcon icon_for_status (db::NetlistCrossReference::Status status) { if (status == db::NetlistCrossReference::NoMatch || status == db::NetlistCrossReference::Mismatch) { - return QIcon (":/error2_16.png"); + return QIcon (":/error2_16px.png"); } else if (status == db::NetlistCrossReference::MatchWithWarning || status == db::NetlistCrossReference::Skipped) { - return QIcon (":/warn_16.png"); + return QIcon (":/warn_16px.png"); } else { return QIcon (); } @@ -2921,7 +2921,7 @@ NetlistBrowserModel::headerData (int section, Qt::Orientation /*orientation*/, i } } else if (role == Qt::DecorationRole && section == m_status_column) { - return QIcon (":/info_16.png"); + return QIcon (":/info_16px.png"); } return QVariant (); diff --git a/src/layui/layui/layNetlistBrowserTreeModel.cc b/src/layui/layui/layNetlistBrowserTreeModel.cc index 4cf123eb2..f70084468 100644 --- a/src/layui/layui/layNetlistBrowserTreeModel.cc +++ b/src/layui/layui/layNetlistBrowserTreeModel.cc @@ -62,9 +62,9 @@ static QIcon icon_for_circuit () static QIcon icon_for_status (db::NetlistCrossReference::Status status) { if (status == db::NetlistCrossReference::NoMatch || status == db::NetlistCrossReference::Mismatch) { - return QIcon (":/error2_16.png"); + return QIcon (":/error2_16px.png"); } else if (status == db::NetlistCrossReference::MatchWithWarning || status == db::NetlistCrossReference::Skipped) { - return QIcon (":/warn_16.png"); + return QIcon (":/warn_16px.png"); } else { return QIcon (); } @@ -392,7 +392,7 @@ NetlistBrowserTreeModel::headerData (int section, Qt::Orientation /*orientation* return tr ("Circuits"); } } else if (role == Qt::DecorationRole && section == m_status_column) { - return QIcon (":/info_16.png"); + return QIcon (":/info_16px.png"); } return QVariant (); } diff --git a/src/layui/layui/layNetlistLogModel.cc b/src/layui/layui/layNetlistLogModel.cc index f65e9c84d..bb777690a 100644 --- a/src/layui/layui/layNetlistLogModel.cc +++ b/src/layui/layui/layNetlistLogModel.cc @@ -165,11 +165,11 @@ NetlistLogModel::data (const QModelIndex &index, int role) const if (! le) { // ignore } else if (le->severity == db::NetlistCrossReference::Error) { - return QIcon (QString::fromUtf8 (":/error_16.png")); + return QIcon (QString::fromUtf8 (":/error_16px.png")); } else if (le->severity == db::NetlistCrossReference::Warning) { - return QIcon (QString::fromUtf8 (":/warn_16.png")); + return QIcon (QString::fromUtf8 (":/warn_16px.png")); } else if (le->severity == db::NetlistCrossReference::Info) { - return QIcon (QString::fromUtf8 (":/info_16.png")); + return QIcon (QString::fromUtf8 (":/info_16px.png")); } } else if (role == Qt::DisplayRole) { diff --git a/src/layui/layui/layWidgets.cc b/src/layui/layui/layWidgets.cc index 1878937b1..f4d64498e 100644 --- a/src/layui/layui/layWidgets.cc +++ b/src/layui/layui/layWidgets.cc @@ -1006,7 +1006,7 @@ DecoratedLineEdit::DecoratedLineEdit (QWidget *parent) mp_clear_label = new QLabel (this); mp_clear_label->hide (); mp_clear_label->setCursor (Qt::ArrowCursor); - mp_clear_label->setPixmap (QString::fromUtf8 (":/clear_edit.png")); + mp_clear_label->setPixmap (QString::fromUtf8 (":/clear_edit_16px.png")); QMargins margins = textMargins (); m_default_left_margin = margins.left (); diff --git a/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui b/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui index 33cae9bb9..fd744207f 100644 --- a/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui +++ b/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui @@ -284,7 +284,7 @@ - :/warn.png + :/warn_16px.png @@ -379,7 +379,7 @@ - :/warn.png + :/warn_16px.png From 50e64c9c65489598c1210ab2a2d89a696a5b40a1 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Sep 2022 22:13:50 +0200 Subject: [PATCH 13/52] More icons translated to SVG --- src/icons/icons.qrc | 18 +- src/icons/images/fit_back_24px.png | Bin 0 -> 521 bytes src/icons/images/fit_back_24px@2x.png | Bin 0 -> 968 bytes src/icons/images/fit_bottom_24px.png | Bin 0 -> 514 bytes src/icons/images/fit_bottom_24px@2x.png | Bin 0 -> 1024 bytes src/icons/images/fit_front_24px.png | Bin 0 -> 527 bytes src/icons/images/fit_front_24px@2x.png | Bin 0 -> 1002 bytes src/icons/images/fit_left_24px.png | Bin 0 -> 532 bytes src/icons/images/fit_left_24px@2x.png | Bin 0 -> 990 bytes src/icons/images/fit_right_24px.png | Bin 0 -> 526 bytes src/icons/images/fit_right_24px@2x.png | Bin 0 -> 999 bytes src/icons/images/fit_top_24px.png | Bin 0 -> 510 bytes src/icons/images/fit_top_24px@2x.png | Bin 0 -> 996 bytes src/icons/svg/fit_back_24px.svg | 186 +++++++++++++++++ src/icons/svg/fit_bottom_24px.svg | 187 +++++++++++++++++ src/icons/svg/fit_front_24px.svg | 186 +++++++++++++++++ src/icons/svg/fit_left_24px.svg | 187 +++++++++++++++++ src/icons/svg/fit_right_24px.svg | 188 ++++++++++++++++++ src/icons/svg/fit_top_24px.svg | 187 +++++++++++++++++ .../tools/view_25d/lay_plugin/D25View.ui | 12 +- 20 files changed, 1139 insertions(+), 12 deletions(-) create mode 100644 src/icons/images/fit_back_24px.png create mode 100644 src/icons/images/fit_back_24px@2x.png create mode 100644 src/icons/images/fit_bottom_24px.png create mode 100644 src/icons/images/fit_bottom_24px@2x.png create mode 100644 src/icons/images/fit_front_24px.png create mode 100644 src/icons/images/fit_front_24px@2x.png create mode 100644 src/icons/images/fit_left_24px.png create mode 100644 src/icons/images/fit_left_24px@2x.png create mode 100644 src/icons/images/fit_right_24px.png create mode 100644 src/icons/images/fit_right_24px@2x.png create mode 100644 src/icons/images/fit_top_24px.png create mode 100644 src/icons/images/fit_top_24px@2x.png create mode 100644 src/icons/svg/fit_back_24px.svg create mode 100644 src/icons/svg/fit_bottom_24px.svg create mode 100644 src/icons/svg/fit_front_24px.svg create mode 100644 src/icons/svg/fit_left_24px.svg create mode 100644 src/icons/svg/fit_right_24px.svg create mode 100644 src/icons/svg/fit_top_24px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 2154ff27b..7b5eddd82 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -167,12 +167,18 @@ images/folder_12.png images/file_12.png images/empty_12.png - images/fit_front.png - images/fit_back.png - images/fit_left.png - images/fit_right.png - images/fit_top.png - images/fit_bottom.png + images/fit_front_24px.png + images/fit_front_24px@2x.png + images/fit_back_24px.png + images/fit_back_24px@2x.png + images/fit_left_24px.png + images/fit_left_24px@2x.png + images/fit_right_24px.png + images/fit_right_24px@2x.png + images/fit_top_24px.png + images/fit_top_24px@2x.png + images/fit_bottom_24px.png + images/fit_bottom_24px@2x.png images/unlocked_16px.png images/unlocked_16px@2x.png images/locked_16px.png diff --git a/src/icons/images/fit_back_24px.png b/src/icons/images/fit_back_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..3e7a3d44e3a09145b1a3ddbb05f71a390ecf2f3d GIT binary patch literal 521 zcmV+k0`~ohP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10hUQb zK~zYI?T|l9!%!5(?~4(1aSG_}*AV;wf=)G|i?Jd_w42Zj6$&C9ikqdT2*$0oyDozG z862FX#l@kJ@{sqZtv7K}V;jk9b?n*RJ-qX~_W(?lAQCsM)oQD{uHR^yHm?#A1c3m6 zjZ7wUmk7w`^DBm7TpNb5WQX1{koYB{^1v>1I-S>Ux4T;^m2RS*7JZ~rsTE3TlTw-{ zBr*4UOG3c+{dM2>FD%Pi`}G3LvP2k$bIQr_Fj=qHzpB-vW*CNZjYfk20C=7kYz3D} z6q&I zKN|#rm&@h$RRGm$wS$jqas3x?Dcx5rfHr|0vHSi003{3{GC`I`<<^26aZsg00000 LNkvXXu0mjfe17O# literal 0 HcmV?d00001 diff --git a/src/icons/images/fit_back_24px@2x.png b/src/icons/images/fit_back_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..696203967963e4cf6e0d6148c7376ad13e5d06bd GIT binary patch literal 968 zcmV;(12_DMP);CLT%)=^s!qrBLdrr?#@}yg#1r`%W(=L~!PPcQec6FrU-Hejny} z<{7@bGs9RxK|w*Dc%2M48jX?u{{Cae*gL&2V~qJ7z=sP93#YD{lIvij(HQZ4{|Lal zaU6H&Foigdnb!JRsZ@HhySsbURp->e=H}*brBXTS>+2gE7#Jv(%jI~Q-T#^~uiU-m ziyV40UlNfQMUfFg{3WFvUt3%I)26dFP_NgATdmd+=X^{`c~UNyW6$g8%5%o|{a8x* zR0uH|MbVSR#l^R6n$!R@Gc&^g9t$DHIOiwrc6+>6=AWarz9EEoDufsXa6C0Nl^P;3 zK($&O=A1v~oR4wNpApe`5Cnf`Z}}oCD=TMO>l;xN{VIeQRZ1OKtJTC1iKlaNa`H5e ztFEI4j4?NrQcP=|`JKHn#ybx&+lj8D2DH|7V@ym$^R-$n?95_1 zVHkd7jQPPBQwxG%CkO&^(K$D;wYBxWQtCPp{o8K0zw6%W<;>2`J_2w8;OfxO(8sPi z=K#i-FNlZ%_;zV&sokB;WIWG{iKqd9Nh#~DI;Q|Z5R3r01weDo?{#l89Vz7@fHMFe zY;0`2=b~{6ptb&th^`RPLzm~3-LkyA+yd|b00Z#3i^dvYety0JU=9EyqC2l{Gaaq< zT>u8aC#$QgL$-NqfWg7RTSW9G5&gElzW!4-Hj@d0;12*l0_X>D+cs|vAf>DWU`nZP z7-QML7`XhHcg`=Pnr+q^0Kj!3`p@_M%vWa;J3Bj%lv2->QkOmteHm+j^VNB8dwV(Eebe@YxL0Vc qtutv2{F0rOSHttXpY!%mki`FmR>p7j@;BfB0000pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10gp*U zK~zYI?UK(+!f+Ue-|w2%B13ARojpb*9XgcY$x~2=5Jz;`AQZYqrcL3N< z^dC$F6T$e9Zo^zI7c|YTE((I>mfPueIvt+pL&;?F8B1UoS}K5~n_cSa8b@%^jc(M8 z#X|r%vS*GH@jUNo>v}3Yb@zZ%4gjzQxA&^1ahXhJ-kv!&c&|S0`)8pU@=A4F!IHPB z_}cYX9Zj?L%&~!PXeX=GO9i*QN0_QrTCK0+p#oLa0-FmTPooOf{Zh@;T8@i21j|0T zOd<>G@3FHoCzb890V6_4D^)$QQZ*R+i{OXPF}@w0Z`1dYX}95mZ2$lO07*qoM6N<$ Eg2pf7l>h($ literal 0 HcmV?d00001 diff --git a/src/icons/images/fit_bottom_24px@2x.png b/src/icons/images/fit_bottom_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dafcb2c1b7a94ea98b933e8e6d15eb40bcf06f83 GIT binary patch literal 1024 zcmV+b1poVqP)U zK~!jg?U&0>8%G?+XV&W)<3N-W$g7E4A+>6ON)RbZP!5q$a)@%PEa(9VD-@y>D_1xm z?F9}TT5+-m0mM&mU?F)=YQQG%-(E*6U|>2!J?A@tRDl#xF_-7Q6iC07*}=jjInK7d7gKbQkr#L z_wvZd$Y;7tpg=yKZw7!%l+q4D$fHW7(z9LV|3L_Gno@d|Qkn&T`TqX?KnY)gTrSs4 z2)RTE=^%tW=A8F9jT2 z&2qV1&TjRA?+*Nj$|Ho3@2zC(lI3#won0!GN)jQ21_lN~zlFB?-rnBcz&ktC5>XHf zL`^IZHL*a{!~#(h3q(yU5HlNtyR!Di?ahx9=$KfV9;~kiqn(AVV9Yw;UoymvyYp=RBZHdQEZT|K( z032#+YC2<@GZv6iUJ#t)1L*nfH1eRfnt=JK{HxOk3nA3ruy&IJXn*mw0-SSs z>cHx@U7dcMIr#dn5{&BRw67BT(&V?+2J&Y(wanT1ksz%*Dhqd9yE|x3E3mkR+xvdr uI~iWJa0xm>zkaY58ZgGcMBO3AkG}y)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10h~!h zK~zYI?UF%D0znvtznM1MQp;kAji5_J2MZ~xOGOX}L6Ik6=~4>)22Y+k_#Y%NZ&G&) zj1G0FtV6em4jTlSW4mo8TJ7$1sZiV4F|R(y@11!c=3@X_*nq5t@pycJdbTfzhdqtF2nFObAqmv#i zUj_J+eHOuiIlp-EF*3En=QH)$uNCRE4c`=dCdTmfB}+K~fRA2X-oCnhMZ?iyD>y0) zdb#)K!mxwnSp@@*7tN_Z$;ax@n62Q9xTeRu?$24vzwz;M_MA9pYz1oR-8tL$c-yF8 z#zXGj$|c=a;B~864pG{u003azMK0=RHNOZURLRKg{){a8|0DRK*u>q&`2>kgj{kPc R8$SR5002ovPDHLkV1kb#>#hI* literal 0 HcmV?d00001 diff --git a/src/icons/images/fit_front_24px@2x.png b/src/icons/images/fit_front_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3daf2f5b7a1caafdd3485001c0138276d0b386c2 GIT binary patch literal 1002 zcmVy2nOX0J`y1KI6~3*5OhAu-|3 zsaL$o-NPm*dr^bv;zHIH{KE!3ECK@Ew)5W1@6CIjNHk&Qz1G(8FrQn~_nm$}^CrKU zDL_O-L`0a7dKQ;TrK6T*%>qDgE6NBVULxX+;o;$R-Hf5Tuv97?HBEB{5zk908*3PV zloCA8J7*Zi{mIG6?{#xpJ1{XZ(GicwXA+4-uC1-jh{a;EP$+22>o7GnB{=8Awr#-} zTXP&|pja&atI8=$jE;_WR4SDjN@>n)ae0+SP`ISFqY;3ITdEQOiwjVRbvaajS=JR=93E$H>I5@a2rR;7^&AM5io}SJg z^o8#Zd`0B}0DPyCsY>4YY2((%pKrr&MF40gA1i~f~ z2%AVCY$AcMi3GwX5(t|}AZ(QH10Ta>%-Da2+kbv<7D5P+08k+*D^03YH&@pVJo9>c z5K#&t>Mp24NC`p+Sdh7k_2lZ>fn}$w9}R?Fcz*Y)@z=BZDhBi1=sEp}_x-YpnJYgY zB9BcXwa$|E4!mT?Gw<nA}rN1{kkzNfo-&sZ|$}obX|G*@T-N!TL#mA_{E}dnX~C6 zvae|SF`bN-z#qFOFT0$Z?Z)0pSA1{p^J@B&B(8hH*jhqFc=Uhw6`hPy!1ajnPdU}+ zx(Jt&Z=ZaA&0wy6v-$*Gl&cjhw}Y0YTCWtC-Olt@U75Bd+v-bitTm^mKiNci=R0F> zl_580HjgPss#0KXEByl^!iD6!`7d?bzLeUSM?_fMNh>cSWv6#l(nSQa>zU1_k4`_X zwQs&jNcz4^y>C@(l>(e|IGZdlBn@o-==8w=fD7r}r>OChIs)QG=T6H;ryoCeZ!b#E zWvX>bflkX_Ih~>{8=Za}iF@vuRCP(UPWdeKde`Vt{X-lkK|Ap9i?vWd2zd~8hX_AD Y0FP6FXri&$AOHXW07*qoM6N<$f<&apF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10ij7m zK~zYI?UBDr0%07+zwc>D6oweJv_%9pwHy8cK}~X3lN^KuO%Zr);^H9EVwe)#wS?eO zLq7%~oEn1~ngVGlknS*julLmV-lo9LlRK@^XS?UQ_xZfv?+Y-JgOHtBC=|kDUe7J! zJU%xirfGfwz@{jQWk*0f9uLjU1TF%>*)3lvbDs|nRaor!0 zNF;fQW_L$-#`XUGzZwBXfWOOYXR6dc#W>SAQxvMWD4~>g^7;HiEEaol z1-K_mt1YOX$M*I`H@D2?aw$sbE&v=@vz`@on1_3A23E9Y>&Q(x06@K7&*{1zO(YV2 zM?m>wei7^BQIe!5w*X0!UUgl+qm*u2vz`@I-lvx-M-JVV{|IB8rIemn{hkTbhA~;K zR&NFcq|@mN#+Wz)2qD>0sYC|_003Z&kFDOX6(NL(VHg>n=QG0q+U+&~Kx3G*L+cw7 Wj;Ky$^$sWi0000EFr# literal 0 HcmV?d00001 diff --git a/src/icons/images/fit_left_24px@2x.png b/src/icons/images/fit_left_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6002708caae7ba10be1bf81b064e2513e26cb543 GIT binary patch literal 990 zcmV<410np0P)@TUb|Zl`Iff*Mz(7b& zfed zzh~az-JOppBO@cDm#}tNKA+zqqKn-Kqm+6C;Qh(T$=#$qR?@;+tu}1i_7;Fk zTB)|glc2RGDdl;~vbNXO*3KsFOB7^zd3mU>uWzfrzrQdrFks~@i%R9|7GtD4k9?GR zy{?21%=0|OIsYRFg7+2{7JfJN87DA3Jw4QHHn)7=FXZraFK1cASn2~HA|l(ibr1yi zIp-su=WS0-O`S9K#0r$l93_;l~Xmw&j`t?>ULrM${Hzt1@z0kAVZJ{~I( zDNrmHhkW0^>-&De7R@J>GY@VJpJ@G)e&nOf&CMN1DX)5-_aoRHF)^BttX4~v;Zf=eo_eJCcUZC(qM3Gy`Hg$e^<*&uVpBq$KAR_v>R8D;h5fPP2 zr6V_WbaXWK8i{`gUQ{xHUXuy*noOYAWCFb=6X-RWK(EOJdX4dY;4nhxEMi2&m~J%c zvR+Rwh*FBQ*35O?lM@pYPm=bvHG!Yy#kT-xDP`(!_DU)COrp|GUt1G+7`%QN3`9bF zQmt0q_9DjPy6zRF)YnR>s^d7Tj^l_VeTgUVh@U#WhZAQ2?6+F2FFKEUJe5l24uFRM z&JGR^UQ61SSl}oB++{#$2(dmhGt=rUW;Bd3Erh56pdbjQllCPNc#Ql@yWYSB0MhsU z_0D6)69hp6zyW}FmzI{^PSTS|;M@H--w7dYA;ecn&MP}*c6PQ2;3fb9@M)4Bqd+K` z_2A%@0ss<1+<5+&@kl8@2cQ6aG(SH-XsR~~Y(GAI!3*_kLWo}$7Z>lP6Ehmeaef2v z4S+m=>!y06z`Z|Ty##>5F#L=ty@RYcf*`o@>@ljEYK;Q>T%Q+0{B7HI>Z>z~)z#HI zVHo}zhT*a2p@%UF2q6f-`pU{m>Z>z`|5vIBqW}P@lAzB&GbobVA%Mq?E>*xCwlpUXpF M07*qoM6N<$f`l8$2LJ#7 literal 0 HcmV?d00001 diff --git a/src/icons/images/fit_right_24px.png b/src/icons/images/fit_right_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..b57ee7c939b590706c1a4430a244fab3489cc327 GIT binary patch literal 526 zcmV+p0`dKcP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10h>ug zK~zYI?UO%90#O{tf4@V^h=$-O$0qlnQE+OqM!TaS(1wO`_GT9c5t5S7L9dqnIJDVf zP!J8#R?w(4mDOFBp7+%5UQ>{IaxbIJ&-D2Hc;C-^@5cie;Q-ndbGcl=<#Lrcj++s`$ggQy zQPZ?lMBB^Rf{3u_xjFrKR}Mr`3=X`3D2fK9)We)?1BcK)JUSk?Z3==wzt^%XTP%ST z0Odk~(n26k3xW9041k^|`VU5ek>KyR?24I8#%r3U!SWaO0l+jr%_p3h_F_$C613ax z4a>6RXf(RXa?1SPcKQ~43rn8bxuYPP&AJsuSx3ZRZ*LGajigj=>b~wCyXx)r&7e}L ztTda=2T79dSOtYh6P|MAB-tQi33)h7oi+9RPs(FnfpQ3oQ|;^7mw! Q&;S4c07*qoM6N<$fmLei}42XAKvX{^-X_FGNcnUcM1_C*R zKu8sr=n{85D0{SrQjO+N`iEYGmKI`dRRVz`)PI}VH}ihK_g*gzC}ifnU1uE+^EoZd z_sjc!_qY3FXNQo4goK1Rq3wt(l}cYWn_VS@9O*_FDdnF4aAs_5Y~9q8G8I-Tl|I|H zR{-FsQmV6rAxJ5y5aMtumAbdMxcITD&u9X(v$MVFbb2L|$>e)_dQz5UsZyzATwaG# zgw|`fZw3xz^piNLqB zSS+q9r4Do_X4|Yc8jb$#E(A{CJqk|%Jfg z>UBb-l1eE>oAiThj&3qjZ(9?PQl8_S6Cp(8clJ_BDy1a%RsPdNU~X>iGtT)bM11bL?#<4lZqLZb$ZbGa zbAj&q6%T)6>N74NrM!TM1OTp1PENX=#SDg0ssQjZ=b(Ob_n$QN85M9Grw;(m1At(R zUFke#IKJ=K0pR6RKhyt^?b&PMF)AR0_zDqsBH}kD|5tX()YMcH0IqWm>Zex+PMCPK z1x80l(*W=V01!mH`1Ucw5kg!70QvW3&(UX)&Fb{p0=Zo7JR*LGh=0t?%zPhB%wQbH z`3nH<_#D%Bp6)xY(`yU(zF!6a!a4t%5EA`^f$h({2ms{%zqw;Nt+oIFoI=DGwrxkg zI)hkPSh&qOf3WFcpH8bS@c-((GCw~b`RWWoAz}ppv_g{!2q|UPR%gh$H2`?2)0s@* zR<&B~+Ug8qd3m`B0Ck;C`&&o|ac*#M@SS{lw>ev@37f!=(M5SXD5XEdogpEJ{{WzY VzU8c)5mW#G002ovPDHLkV1gbf$>IP2 literal 0 HcmV?d00001 diff --git a/src/icons/images/fit_top_24px.png b/src/icons/images/fit_top_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..9bcff834a12a1069932689ae2f3c86b90bf7c811 GIT binary patch literal 510 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10gFjQ zK~zYI?UTJr!%!5(@2jnK60}O){WmI3PP*1a2Q767qTPgM5egz1O1GApP7w!{4(i~? zAc(7ji-VK2I4ZTq@?JjbO`Hlbjr3V@>zQ8edGGwV2Ldoq50Ri@rBa!VgomyO361cC zxUOTlKo-*J^mR`_Hk(bvC&o|5Vw15H+27#-XzuEEv+>e+ebZMIMY-^LA@4^rnM}}+ z_p_Pk{W&3l%LR%M0&~&3lUB2FAd2Grj~gtBg5|g{%$*#d5CQw}=r|f^3WDHv&YGq< zyrJH^-V6X=MgO4zU;y~L!a>7QsWgR%2JgRsh@YyePD_&X#09WzTXGyn%VaVeJb-e! ztRUh#0Brfau8LGujhLpnMk(Fn2?qesb-m0OOXYI8(Vl=>t+vP*dz5AQffpdl@-t)X z1`(J2UROniVQeDeE^l~8l+q$1c5U6YfngZ&dcA)6TR=XazonF#Jpra^7OT}N{uTfL zKq)QxXWuF!gqW6P6$C*j^aE(O+W-Kqe%|)2FEW~_f>NnHmH+?%07*qoM6N<$f>TuB AmjD0& literal 0 HcmV?d00001 diff --git a/src/icons/images/fit_top_24px@2x.png b/src/icons/images/fit_top_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c68e7b53aa24d54565640fe6f5183f6988261c7c GIT binary patch literal 996 zcmV-Mj zp;GF10PoGr%Wqx6tgH+b zi^bjkzP^#tsZ&4bg|{KXi1cX4s?Pn}NNK)qfcYPDLs zf$xvlIJ{S|ZL+M?3m_sQr%<3ie*b_4!MRSSb9;7n_BEX*Ho)ZMWozI%Q6h4$n0 zEkDgbAz&ZBa`#3_9UcThaF%nvS1y+$LqvX@5$%87Y@R*oxyT0o zE9QxaLZZm6MVI`aLa_QWS=v<$2!AQ&Us-O?6#0pp?4EIVUM) zPtJvoLR7oab=82BvaXa0g%H!VTFvXuVmzMby|0w|PAOG$U3cAeU16d#ZeVqF^*rbN zf)L_CyWRdOxz&@YR;xDw{0iXA;Nai~raI#QN~udi2m`?%+Jra z0DK960DNkq(FT~Fo-P8I0zg8DtIuyU9x3JL02F`^7Zw%E^Wo7-Mw+#5w(W*;DQk1q2oBI zug)me*Vk`y&VS>apLibnB-#K+tMl60+FI(XGlqXxst%I|q*AJ9t25?(w*frT&6zat zjpuniTb)sCZEdvx?C9pS*FsXti@FoyULmE_&crqFQ+igO56iNC%-Tav6#oEXjlz~6 S4lIZO0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/fit_bottom_24px.svg b/src/icons/svg/fit_bottom_24px.svg new file mode 100644 index 000000000..12a66525a --- /dev/null +++ b/src/icons/svg/fit_bottom_24px.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/fit_front_24px.svg b/src/icons/svg/fit_front_24px.svg new file mode 100644 index 000000000..274c700d5 --- /dev/null +++ b/src/icons/svg/fit_front_24px.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/fit_left_24px.svg b/src/icons/svg/fit_left_24px.svg new file mode 100644 index 000000000..8ebfd5649 --- /dev/null +++ b/src/icons/svg/fit_left_24px.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/fit_right_24px.svg b/src/icons/svg/fit_right_24px.svg new file mode 100644 index 000000000..d2d1107ca --- /dev/null +++ b/src/icons/svg/fit_right_24px.svg @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/fit_top_24px.svg b/src/icons/svg/fit_top_24px.svg new file mode 100644 index 000000000..f77f567f1 --- /dev/null +++ b/src/icons/svg/fit_top_24px.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/plugins/tools/view_25d/lay_plugin/D25View.ui b/src/plugins/tools/view_25d/lay_plugin/D25View.ui index a38817f62..5ac851c82 100644 --- a/src/plugins/tools/view_25d/lay_plugin/D25View.ui +++ b/src/plugins/tools/view_25d/lay_plugin/D25View.ui @@ -261,7 +261,7 @@ - :/fit_left.png:/fit_left.png + :/fit_left_24px.png:/fit_left_24px.png @@ -281,7 +281,7 @@ - :/fit_front.png:/fit_front.png + :/fit_front_24px.png:/fit_front_24px.png @@ -301,7 +301,7 @@ - :/fit_right.png:/fit_right.png + :/fit_right_24px.png:/fit_right_24px.png @@ -321,7 +321,7 @@ - :/fit_back.png:/fit_back.png + :/fit_back_24px.png:/fit_back_24px.png @@ -341,7 +341,7 @@ - :/fit_top.png:/fit_top.png + :/fit_top_24px.png:/fit_top_24px.png @@ -361,7 +361,7 @@ - :/fit_bottom.png:/fit_bottom.png + :/fit_bottom_24px.png:/fit_bottom_24px.png From a3fe8cc49d1309263a9484f6c30bbcc0676662be Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Sep 2022 22:51:29 +0200 Subject: [PATCH 14/52] More icons translated --- src/edt/edt/MakeCellOptionsDialog.ui | 18 ++-- src/icons/icons.qrc | 27 +++-- src/icons/images/cb.png | Bin 326 -> 0 bytes src/icons/images/cb_31px.png | Bin 0 -> 455 bytes src/icons/images/cb_31px@2x.png | Bin 0 -> 762 bytes src/icons/images/cc.png | Bin 320 -> 0 bytes src/icons/images/cc_31px.png | Bin 0 -> 491 bytes src/icons/images/cc_31px@2x.png | Bin 0 -> 761 bytes src/icons/images/ct.png | Bin 327 -> 0 bytes src/icons/images/ct_31px.png | Bin 0 -> 519 bytes src/icons/images/ct_31px@2x.png | Bin 0 -> 796 bytes src/icons/images/empty_12px.png | Bin 0 -> 130 bytes src/icons/images/empty_12px@2x.png | Bin 0 -> 139 bytes src/icons/images/empty_31px.png | Bin 0 -> 140 bytes src/icons/images/empty_31px@2x.png | Bin 0 -> 152 bytes src/icons/images/empty_32px.png | Bin 0 -> 141 bytes src/icons/images/empty_32px@2x.png | Bin 0 -> 154 bytes src/icons/images/lb.png | Bin 312 -> 0 bytes src/icons/images/lb_31px.png | Bin 0 -> 455 bytes src/icons/images/lb_31px@2x.png | Bin 0 -> 790 bytes src/icons/images/lc.png | Bin 334 -> 0 bytes src/icons/images/lc_31px.png | Bin 0 -> 484 bytes src/icons/images/lc_31px@2x.png | Bin 0 -> 829 bytes src/icons/images/lt.png | Bin 308 -> 0 bytes src/icons/images/lt_31px.png | Bin 0 -> 468 bytes src/icons/images/lt_31px@2x.png | Bin 0 -> 804 bytes src/icons/images/rb.png | Bin 310 -> 0 bytes src/icons/images/rb_31px.png | Bin 0 -> 436 bytes src/icons/images/rb_31px@2x.png | Bin 0 -> 759 bytes src/icons/images/rc.png | Bin 328 -> 0 bytes src/icons/images/rc_31px.png | Bin 0 -> 481 bytes src/icons/images/rc_31px@2x.png | Bin 0 -> 805 bytes src/icons/images/rt.png | Bin 318 -> 0 bytes src/icons/images/rt_31px.png | Bin 0 -> 468 bytes src/icons/images/rt_31px@2x.png | Bin 0 -> 797 bytes src/icons/svg/cb_31px.svg | 117 +++++++++++++++++++++ src/icons/svg/cc_31px.svg | 117 +++++++++++++++++++++ src/icons/svg/ct_31px.svg | 117 +++++++++++++++++++++ src/icons/svg/empty_12px.svg | 77 ++++++++++++++ src/icons/svg/empty_31px.svg | 77 ++++++++++++++ src/icons/svg/empty_32px.svg | 77 ++++++++++++++ src/icons/svg/lb_31px.svg | 118 ++++++++++++++++++++++ src/icons/svg/lc_31px.svg | 118 ++++++++++++++++++++++ src/icons/svg/lt_31px.svg | 118 ++++++++++++++++++++++ src/icons/svg/rb_31px.svg | 118 ++++++++++++++++++++++ src/icons/svg/rc_31px.svg | 118 ++++++++++++++++++++++ src/icons/svg/rt_31px.svg | 118 ++++++++++++++++++++++ src/layui/layui/AlignCellOptionsDialog.ui | 18 ++-- src/layui/layui/MoveToOptionsDialog.ui | 18 ++-- 49 files changed, 1335 insertions(+), 36 deletions(-) delete mode 100644 src/icons/images/cb.png create mode 100644 src/icons/images/cb_31px.png create mode 100644 src/icons/images/cb_31px@2x.png delete mode 100644 src/icons/images/cc.png create mode 100644 src/icons/images/cc_31px.png create mode 100644 src/icons/images/cc_31px@2x.png delete mode 100644 src/icons/images/ct.png create mode 100644 src/icons/images/ct_31px.png create mode 100644 src/icons/images/ct_31px@2x.png create mode 100644 src/icons/images/empty_12px.png create mode 100644 src/icons/images/empty_12px@2x.png create mode 100644 src/icons/images/empty_31px.png create mode 100644 src/icons/images/empty_31px@2x.png create mode 100644 src/icons/images/empty_32px.png create mode 100644 src/icons/images/empty_32px@2x.png delete mode 100644 src/icons/images/lb.png create mode 100644 src/icons/images/lb_31px.png create mode 100644 src/icons/images/lb_31px@2x.png delete mode 100644 src/icons/images/lc.png create mode 100644 src/icons/images/lc_31px.png create mode 100644 src/icons/images/lc_31px@2x.png delete mode 100644 src/icons/images/lt.png create mode 100644 src/icons/images/lt_31px.png create mode 100644 src/icons/images/lt_31px@2x.png delete mode 100644 src/icons/images/rb.png create mode 100644 src/icons/images/rb_31px.png create mode 100644 src/icons/images/rb_31px@2x.png delete mode 100644 src/icons/images/rc.png create mode 100644 src/icons/images/rc_31px.png create mode 100644 src/icons/images/rc_31px@2x.png delete mode 100644 src/icons/images/rt.png create mode 100644 src/icons/images/rt_31px.png create mode 100644 src/icons/images/rt_31px@2x.png create mode 100644 src/icons/svg/cb_31px.svg create mode 100644 src/icons/svg/cc_31px.svg create mode 100644 src/icons/svg/ct_31px.svg create mode 100644 src/icons/svg/empty_12px.svg create mode 100644 src/icons/svg/empty_31px.svg create mode 100644 src/icons/svg/empty_32px.svg create mode 100644 src/icons/svg/lb_31px.svg create mode 100644 src/icons/svg/lc_31px.svg create mode 100644 src/icons/svg/lt_31px.svg create mode 100644 src/icons/svg/rb_31px.svg create mode 100644 src/icons/svg/rc_31px.svg create mode 100644 src/icons/svg/rt_31px.svg diff --git a/src/edt/edt/MakeCellOptionsDialog.ui b/src/edt/edt/MakeCellOptionsDialog.ui index 9f9d2ba33..9fae1b2bc 100644 --- a/src/edt/edt/MakeCellOptionsDialog.ui +++ b/src/edt/edt/MakeCellOptionsDialog.ui @@ -145,7 +145,7 @@ - :/ct.png:/ct.png + :/ct_31px.png:/ct_31px.png @@ -165,7 +165,7 @@ - :/lt.png:/lt.png + :/lt_31px.png:/lt_31px.png @@ -185,7 +185,7 @@ - :/rt.png:/rt.png + :/rt_31px.png:/rt_31px.png @@ -205,7 +205,7 @@ - :/lc.png:/lc.png + :/lc_31px.png:/lc_31px.png @@ -225,7 +225,7 @@ - :/cc.png:/cc.png + :/cc_31px.png:/cc_31px.png @@ -245,7 +245,7 @@ - :/rc.png:/rc.png + :/rc_31px.png:/rc_31px.png @@ -265,7 +265,7 @@ - :/lb.png:/lb.png + :/lb_31px.png:/lb_31px.png @@ -285,7 +285,7 @@ - :/cb.png:/cb.png + :/cb_31px.png:/cb_31px.png @@ -305,7 +305,7 @@ - :/rb.png:/rb.png + :/rb_31px.png:/rb_31px.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 7b5eddd82..885abe798 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -34,8 +34,10 @@ images/breakpointmarkdisabled_16px@2x.png images/bright.png images/bulb.png - images/cb.png - images/cc.png + images/cb_31px.png + images/cb_31px@2x.png + images/cc_31px.png + images/cc_31px@2x.png images/checked.png images/clear_16px.png images/clear_16px@2x.png @@ -51,7 +53,8 @@ images/cm_erase.png images/cm_mask.png images/cm_merge.png - images/ct.png + images/ct_31px.png + images/ct_31px@2x.png images/dark.png images/defaultmacroicon.png images/del_16px.png @@ -81,11 +84,14 @@ images/important.png images/instance.png images/invert.png - images/lb.png - images/lc.png + images/lb_31px.png + images/lb_31px@2x.png + images/lc_31px.png + images/lc_31px@2x.png images/left.png images/logo.png - images/lt.png + images/lt_31px.png + images/lt_31px@2x.png images/m0.png images/m135.png images/m45.png @@ -114,8 +120,10 @@ images/r180.png images/r270.png images/r90.png - images/rb.png - images/rc.png + images/rb_31px.png + images/rb_31px@2x.png + images/rc_31px.png + images/rc_31px@2x.png images/red_flag_16px.png images/red_flag_16px@2x.png images/rename.png @@ -123,7 +131,8 @@ images/replace_all.png images/right.png images/rotate.png - images/rt.png + images/rt_31px.png + images/rt_31px@2x.png images/rubymacroicon.png images/rubymacroiconactive.png images/pythonmacroicon.png diff --git a/src/icons/images/cb.png b/src/icons/images/cb.png deleted file mode 100644 index 2fce471d3782cecac0440998cf95e18fd653088e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^@*vE?1|rvqSpq4>;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUjrYM%sopppayVYeb22er|4R zUI~M9QEFmIYKlU6W=V#EyQgnJcq5-UP|-q97sn8f<8PpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10aQsu zK~zYI?Uu1>!cY{3e`7B$NQRnnM%+-f`Y{?j>}d(X$YhYLTT^asjBlOPBl&kf9GvwOxxyf_#P9?k`} zZMz@M58z3MPNAfs65+u2=lQA9)~THeAR`4=a0ORz1y}HY4kuY8Ir$7ZAzA!2IDqR| zesxwj$pXn6lFh|paaXNY>p}<^hEZQGmmQMLuX^Fwo~bq}!TNM|LATp2nWmYW&1M*l zMwh)_@7{5o+sNIQW8eqYInBMc+ijG~WdMK>0;|;u`FtLm%?7%z!}omvfaiG_kH?8H z+qU~rZ+NtC*EDTEd85%NwOXy5Wm%cwaLDO&`Z1r+-*@#e3{xkUGN!SeKO2Uz7DBLA xtF2wveUjO^lt@-$U#%k3NA|0|#_~6rCR;;;qnvMGdu{*#002ovPDHLkV1m<7#aaLW literal 0 HcmV?d00001 diff --git a/src/icons/images/cb_31px@2x.png b/src/icons/images/cb_31px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9f4fef1c36175c14740fb0c49318d1c8bc6eac GIT binary patch literal 762 zcmVaFG*-_RcPc(+y@w z7L7~5!3^o(KOoo&{sFaJN{5utvr{{HPlsqo+w=Uv^^N3xKX9n;bK>{oQii?I67Y!*c z8d6*|q_}8s6(^!iBDx@=3jlPzbp4u$HhE^@-SMXZwOwv0uwLQ`ZYi){;z700;Vr(~ zZntBarX{Bf`}_OJdcD2{&f-fC|ICAk9s$_Cb!<%@pXj>&yjH925z);k>0mI3Wipvq zzu$jML}vglZyn#J&lzKvVdh*~e1YkrSAL6~PG{rj=x8SzjiOSiAe+qs0GiDv48y?j z@$uf_;o-wnD)no|=bkN_H3)7$b<471p68)bsi0UaLRD3$stR4#VObVD&x2{2F0z;?Es%jI62oSY z8$@(^etzE7H0=tLKPj4~T{Rkw_e6BcGfU_l4}yqZ19%1ijIo!KwRe;92gcZ2URikG s)jzFR3mx9#!+_eo77vp9%q<0g-!;_T6oX>zlmGw#07*qoM6N<$f@Y#;TmS$7 literal 0 HcmV?d00001 diff --git a/src/icons/images/cc.png b/src/icons/images/cc.png deleted file mode 100644 index c6d6791ace5f078c679959a9efc4e629cd2304ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^@*vE?1|rvqSpq4>;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUh`DTGysbppayVYeb22er|4R zUI~M9QEFmIYKlU6W=V#EyQgnJcq5-UP|<8p7sn8f<8P;(+M9GzZS%vULALi^YE``2ynX9cC;p4`HD#hb1rveJWbkzLb6Mw< G&;$U8t#$wa diff --git a/src/icons/images/cc_31px.png b/src/icons/images/cc_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..794fe0aeadd50209014cd8a29882f780501c0a48 GIT binary patch literal 491 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10eDG7 zK~zYI?Uu1l!cZ86&o6c&gcv5Bi4V{P1_mAgL&Dg_7a-~2!lvC=7`VKEF7Ae=TN4*) zc?BOpM@e8M$EA>}1>4e!37qZke{;V4_vH3o;HW)F!o_mAyvrL{C=}L=)9=lGzkiz- zxYz4h;ra(WYEc%78Y&VFeBGX1wJFY%tN>|rxbTgcZxhK9fXC1$Lqz6DebP>T0RSS> z3hMJTCOg5m)Y-yGmPlTbYeLpIF2(@N<9D=1bri}VeD-W&hZ?;D@pM@ zuPP#~$z<{Z;7LTD6AS_%{ZV`SrOqE7%J@BvNvhv#5J9Ztv`vS5tNqU_^)Ftsk?=fU huwm`>-G0F!{%ZzVg(?9r9cx;8rj6arDtK@UD zZ5Ik`#-;I~A&mzOX*_6b-N*k2X5IyGwjz8=M1MqS5uNc5Yhv$(slYQDC!%8_I(CYQ zK(z67S@m_s18aO;Is3cRd%a#nRn?=}fp|QA)ai8gA=tR0qzdi!__fXgC}u(=?IG zYf>A=8MGI}UdMPm#%MG`qtQU6QUMWhxm^A#N{<)U_z4`^ zStgS?==b}3?RNXnFbpyb39G$pCyyYp=DW7 z+qT~U_vNkY`gJ;;{y{{iZtGcv(C2Xgx0grS0Q<3-TK|>l38q#>s2(0m~`?z2BxXO%g r;;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUei+^%J#?Kq1Kz*N775{M_8s zyb=cIqSVBa)D(sC%#sWRcTeAd@J2pyprS>dE{-7{$KOu7$a`3U$K`zJvll{=43)FH)1a;=-6_ z)PGv(`p~Gt<+??D?4kc&)rW-VeP~g)d6+!a=gEA&gY8{=LteGaJ8EX(TQf7v7U)_A MPgg&ebxsLQ0FI$^mjD0& diff --git a/src/icons/images/ct_31px.png b/src/icons/images/ct_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..08e46f8d030e0aa198ac8cc53e6a42a4af69166f GIT binary patch literal 519 zcmV+i0{H!jP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10hCEZ zK~zYI?Uu1l!cY{3|J&NIz#s{O4lIgKKp+eRcGQuC%?E&ijm^5jAR*-e95t*=Y%tgk zzJch%pcBEQaexGV2f@_Rn&t)_O#kVed++(boO{#s01_e@C)xiD*(Vv7@lj-o035sW zBT1iNA{irjLb7O@W;>I~%rs47Hk+MUmenR%T<^z%dJ1Qi&E}<7QMp`3DwP5NXqtxUbc$#+3fs1k zNF=aWEC2xG@ff{c&lB8eG_IWRJ-Bmn@0LLu4hb|bY~O&Es3TrM{s4u=y* z{Z{8*O?kqB@7DtWB(DJ+061*5TIcn8{X*CE{d7A0*6DO^0Q3R80C-hZ)ppkUJ*O|+ zEg^&rzy|P0^4+qmln~<7G|hVecS4AVpk5overivy{8`2%aOX}5A!Y#1*0GEQ0Qt^$ zq7WX!LwE=e;UWD0zy03Ohf&-J^&)!nrcf#Ud8|b002ov JPDHLkV1o7i-XZ`1 literal 0 HcmV?d00001 diff --git a/src/icons/images/ct_31px@2x.png b/src/icons/images/ct_31px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1294310621174fbbdbc0917bf6d8491cdb4912c1 GIT binary patch literal 796 zcmV+%1LOROP)(BV)a8A6xT`~f-?Gjs|ekOrI#ot!cR;c$_=t#@V#(!oI- zZVA1mkReM3-JArMIG5OTXgj2ko*ha%i1&1eme}~4>&ub%{lK9<@7?=8pL=}o6?_4X z5K)APE{Ny?0NsV|J`+)dXD$lQ!2mp;(zd}Z3j|9%&MgZBOMF_J@9-AiI6ps+CK8F% zFpx|pQ>Uk=tKclo{O*v5o&s3AcdQOxpJ|%*qEe}B648TkkB*M6s?};6z|Fnm+weVO z?8eVLCyMv`eRG)(6-9YHE?%$KSN8Vy*2Cd2ip3%h4-WwVj^jYrb@X~Y)M~XaJ3BkS z$6fDv-uq?p357!D*gTi%Y#A)eih7=hVzG!qp#W7?p{go0O@n1w@H`KuX-0YFGqd6+ zCns+f=`fSY0083g@egU&b)l;2gIFvU8+(4I(*XdSot-U`1`NZnfB;lHXgrzs#Ni#B z#c+-j(MUX%O0BnAtrf>{plRAjn{C?wfUT{qU(IIo>xA*=n&b0+L%CHvpU?jQ0A1Hn zDwWXfcHz1%%H=Xl(}bcZuq^94uYBgN_>f6+W(X0z#hB&n;NW1b(P+H1Z98rl1~Uv} zPcc!#G zYVm1u*W9uI=Q++8>jK#SC&n{{zX?r{wovf{H?bWdy05w_yK?^h2Ra`&=CB9TZQ aF@FFVR@&JF_=v0k0000gTe~DWM4fy=WvF literal 0 HcmV?d00001 diff --git a/src/icons/images/empty_31px@2x.png b/src/icons/images/empty_31px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..54a39c48c2e3bb6b41349caefcb2abaac6bb1f06 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^b|B2b1|*9Qu5bZToCO|{#S9Fx?I6t9|MX)jP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXpdwXI7srr{#j3 f^0SKonMmM6ri~v1Bk%UtCqROpu6{1-oD!M<<=7^_ literal 0 HcmV?d00001 diff --git a/src/icons/images/empty_32px.png b/src/icons/images/empty_32px.png new file mode 100644 index 0000000000000000000000000000000000000000..3bb1435698079a3f538b44693b0da4922e95ff4b GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP*AeO zHKHUqKdq!Zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IXpdu+x7srr@*0%>48G*beh5zgG dJRCsG_iO?R427JT>5 gzopr0B8m$r~m)} literal 0 HcmV?d00001 diff --git a/src/icons/images/lb.png b/src/icons/images/lb.png deleted file mode 100644 index a986c1ba41cdd82058757bc3528203c511734299..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^@*vE?1|rvqSpq4>;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUj5L{?n>|Kq1Kz*N775{M_8s zyb=cIqSVBa)D(sC%#sWRcTeAd@J2pyprXm1E{-7{$KOsn$lIX6;~ITfM(-g*%h_EM zl?Bv($Jr<-eGE`I_Ro9rvWKl=m;6(H&EDbDB5;9QEP2m|n6)RW*Yo*l-Yt5!GQuT- zTSw_?o}O`fUO}_;od;~@74a22Ke*qQnYH_majv`A^?M)gxG^#q8qY0MU$i#0+2qda x+0BuMuWpkwW>Dx~Tx%UQudc=5^L+lxj9+W@QhuG)Itg?hgQu&X%Q~loCIH1rZe#!e diff --git a/src/icons/images/lb_31px.png b/src/icons/images/lb_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4301fbf470f813486f47f552c2f590a3ebc309 GIT binary patch literal 455 zcmV;&0XY7NP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10aQsu zK~zYI?bb1C!ax`X;5Vm-i&7|LXa_g@4=fQxI~QufA>cpgBH1Kc>z2hq|3RmMtKgI& znIyl#cImE5rV86kRJnvBz z?7D70U4O$5HD!@QhdPJ@yVrAUej2C93iwMju5pcPT;m#7gOe-?Av(5gLkQ6!SvnaG z;1U2TmCClhI63}Hojp$SoaFUvHoI#y8f7UZn$2c8ilTdxHzcoAjUW%;82}u|skhth z!gM;tXf!JHdcB7*3~#rMNs_!|jT-<608&aU77G-MMZ|Fo(=@SKtpEV?`5fc%_-M>^ z-G2ISXpo!$fMr?rR;zW^?RJgfa7f?xKY}25-!`t->r76*^D#}$d|+ADQcB5Mt+tG! xXrOxL=}lBWZ-FEyB&$k6>^`;Ey|p*h_y!iFjmWq`vS5ZxfC)a+#sdNq<6g~1jG)h z&`xcZLWXp4=-4F$T{_pOlS8GL4uVd(uY-xC?cJr-+@;BTA9xUczk840C%=1l!`%T2 zg+ig29E4w@)9F|d))5-9Sj_T@YZ2FRWrz;9eYY3LWHK|gTJ1U}L_ALN z7J&PGi_aBkm0dUkezV&_!A&y2Ra~a|Qw)+G1 zdOcaGR8mt@Q*ayyOG`@tfNHghm6a82Y;2_F=jX4@&CUJtTCmgU?1W$T|8wqCcN`~0 zQmn47VtIKPx~@alb(p3J+qU7lE-cGRj-uFMA^^}U(Qdb)>-xFa^z^jnLakN{08p#d zhFjr3(t8tAy}f*fILUYY0mCrT2L}hqYPAZ}G*2D8xw#1d$Ye4<8;!nF zXaAoXxm@m$;lYBz*VfWTJzL4DB-Q8^%hH;FpuwfX-TU%T2Np26CKMr_) zlS1+(fX4tJgm~JG^{xdUgb+?N<%NgeRsB=IoS@v;;3wV+m^0DhL2{qNC?slr1D;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUf9q^=%g?0EHw=Tq8=H^K)}k z^GX<;i&7IyQd1PlGfOfQ+&z5*!W;R-fr?gox;Tb-9Dh6QBJW`Z9+z6d;*t)%h8t(3 zOIePjobwm9)YMqj<+=DrT@S;{lg}80cfM15qaNgy#CqB?zhdDw&0{xYW4wOO;9h(7 zOix@w+Pbh}tIua-@0C1xac1fAn|i@zfgcTp^prO7baceIfBzEBI#rkP!pEI!A}bTB z_P-C1TpzeTa=Ps9GlsVcGX9oruZT;0`p$Vrs`119x8e^R-oCcqa?iClJ7a83m}8Xn V{s{Oa*8v^P;OXk;vd$@?2>?+deIoz> diff --git a/src/icons/images/lc_31px.png b/src/icons/images/lc_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9f0f0bfc7c2ae4d91d5d6bad0b5081f43cf3e6 GIT binary patch literal 484 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10dYx0 zK~zYI?UuVv0znvs&nyfShK5cHI(&dFD4CK3qa_KQJ^_?8L@Y>Xw16kDBB7NB*pAC9 zP?~6mf<&vGW8<22-KB7Eg?!z~+2qU2pPl@`ffNw#VB2;tZeb>q`F3Qz zbZ*@Fm)!58DDXR!uN?S!Jz)tNrxBIlFC63`SuhNv*=RIi7)Fz1Au&0C696ce%T7K{ zT)rnqFDF?fS((jd=hbSpB&CE>sx+U^FGyBM7GskGxChW}wOUv8dOg2huTiVj^6hr} z5j|~E#l#<)+mRf6WHXG)0IXYcffoU%)kqiBhm&-+!QZhR`%hc2q;c%F6I7~8`B%95ml#*O7_p}vaZGyc{(Q z1H&->889(1Q5qZ^+ylN)vz@uD`^E%C3H^QrTTJ7*{;`+Y2Mx)VaG~VSe-uCrZqQBT@00000NkvXX Hu0mjf2oH(N literal 0 HcmV?d00001 diff --git a/src/icons/images/lt.png b/src/icons/images/lt.png deleted file mode 100644 index 63af853b6cd147d5367a5c5c63350787a0fcfd80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^@*vE?1|rvqSpq4>;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUf9$J%+ivfkKict`Q~9`MJ5N zc_j?aMX8A;sVNHOnI#zt?w-B@;f;LaKt=tYE{-7{$KOs1P+2>Is_e004b0T-D)QSZ^N?+Pyc;OXk;vd$@?2>=AtY)AkA diff --git a/src/icons/images/lt_31px.png b/src/icons/images/lt_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..6c31256dc4fbd9e32b7b6690eef883b97efbd462 GIT binary patch literal 468 zcmV;_0W1EAP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10bxl* zK~zYI?Uu1>0znXl|A}rDgCO_>2|mK9AYA%%K8N;pF@<0g1Ls2s*9Ftqt%V%iD_mzF zsf@)zg2L^eA{vfMLJGaJxv$!p+2vz)Sr}jk$qLEo*OF6`6{O5rY<-oeU8XJHcWf;d zi+jtm)=DYX>-Dwgc_Wh7Bx@uu(s0Y}s$p4HtKDvwJDrX=j>Fk(wwcf8%l$@U%;Xrt zLZQ(AmIELFD5bDktxzhJ5QZVD)hf2zEdU@00=TYwu(;Rj-Nofal1~88Xf#^m@wnXW zcExcVHk-|j)_NH`cu?oV;qdlHa{uO@=Z$RJ{!mKMw(WP{_aBb+=1~;&2ZI5lDC)=a zMG<)e;FCPpTHlCBO>6xO;88^MA=3Ydf3=rHEg7dT4}xGHzh)*Ek`#x6)SV&`NEGUIt5D^!;{7B1-Pk7|hw^eLrv<_q;!NKDlmWM`%9%#dT3~9v=$f{ z85!N&+`Nx25wC4zPe@LZd`a@n{QUe!5m5jrB1CnA1HhS?nNK8(Bwv%vk$ge&8Og^a zAKb1@^GJ2)zMxbpr8Ak#)1ICl$>;N!o}LB(6bc0_EiK{f>EJ`L+oDOHRi z@1{v6lWthNZmQ?=`9YGhyu6IX#YI?_1Yin>_7l}jy zp6C6#>4f7Z1>iY=hp4=t2d1W`2KM*&?`>>s3_6Yj$8oMSn4O*dJU%}D9>9-F*U#$x zYciP(Vl}98etzy=r+!LAegpVWy#N3twxL26 z4I{1_MqD?HxNaD6-7w<1VZ?RAi0g(C*Nv$E;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUjrb>}81>ppayVYeb22er|4R zUI~M9QEFmIYKlU6W=V#EyQgnJcq5-UP|-wB7sn8f<8PpV;?cZ@PX2N8({=Z{Kq}pFNOxywL30tkBS? z#?Y-Ro_%<7jyJEMS^CZcw*P81`6_wM>iGxmpR`L|{w!4bC|eNo0UsfyrYSq6uIs%s wjn#X^>Nx34@zw3$r5?OlU+|sby!}>I=4$;-1`7q|10BcU>FVdQ&MBb@0AwR><^TWy diff --git a/src/icons/images/rb_31px.png b/src/icons/images/rb_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..e01b1acb08a2e1b515b7371f851d69137c60cc71 GIT binary patch literal 436 zcmV;l0ZaagP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10YOPb zK~zYI?bg3a!$2Gd@NcgkS=vSDphLF!29x<5DUEK;!a!B%urqtOVv-40s3E(`!di0bB^=h?H_ z%vvlKy*Q4Urs+qX=dVpT+8p)#Wipv;q?DXaryHfzbJ_FO4sdXgG0FAUl53LVa<7YD e?d_<3FBhM&^@qE8X4LNh0000qXrZ(B?V_OO)L0Vr?!6B@gx~Le@;?6V-97LD3WY+U@D5^L zVmKTY*Eo+mV`pcl=oI&@c^+HCy=51a%jLp4CUV>4^LcYoUUhsK%YMOa;ih+}>iA8W z_mtc;tGy-Y`5EiTCEoH`~9#i z3x|h?0DxAjg={v9dc7WwMx$4;SZo)-t8ty{Z*|i&AKA8zQmKSYCId~=plKQm!+>d; zASo=%dO2IS^z`z!oMj#F$j0yKS^E7xG)=n}3kHLZ*So&s|I5-fzAa~1C-&Y`@kk^R z>h*eoR;vZWFs5>iMgst#>-yE%*;#Mu`|fnMYapFY{{etpE{95`g27;be!q`uwTfb~ z2q6Rug~GKht7{;+OY#ND1CsAarbt>OKP8jNb0LHcfU_f&N}ZEzk~|{$f#h3~4>u}v zTaav?o}PZyb^Q_}VO`fRkB^VPk!(8E%zdi636e(u-T;6Q;@v3rWt9Fdgs^67T))Og pT&$Y&iulh3IZul(>i93G;6Jx=;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUjrh(VmpwKq1Kz*N775{M_8s zyb=cIqSVBa)D(sC%#sWRcTeAd@J2pyprXZ|E{-7{$KQrUb1@rooS8BwdA(4PasC!} z4$GN;Gq#n)P7mtfG&$Gr(t6PSih#^&#-NGCY1*5DPIc;M`DreFcVz3eZoPY!!h%(T z!V_nmJ$`1E^-jx_<^0O|XHTDATKl_W*4dLs_urcte_rk9>j^I-lNr=2Z|Gd^OD^v? zaetejX?usv;@z^h#Qy&0yuM5Ra$8T?k{@BSn|{20ne4YtwwlkK--hx3a=lZJ7qTb< Poy*|q>gTe~DWM4fowj*( diff --git a/src/icons/images/rc_31px.png b/src/icons/images/rc_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..70a2c6f3d2a755fc46246e6ccee70d0573e2da10 GIT binary patch literal 481 zcmV<70UrK|P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10d7e| zK~zYI?Uubx0znjo&s`iS3=N$Yboc;UP%(5WQpnex+}(V+b2F0*?AZb053cJrqZTF-iBHGD_hP%}^kNOv`>o!}h7DIaD34lr|E*1+KV>qABnM@|>)uKH10m*@F+b`X2m#ftZolb|g zZ9jXpwI9Ol+&A-Et@WEyidyT}@pydW&3xnAzAYj$127?Z=s3=)h@3c%^8nypL?%Ey zSM70Aj!izDPQCmTn_NVe#+Y8e--j`#CnC$(pA)Oll+sWqi*>0<>1av^^9N*V9Yh4Dg5abC0)p3}Br%Hw3JwND zr#e))gE(|>bkTrN#}19{QmIR021`46zYa!;*PFyhYd!a#2hNc5-Y=Xt@A+{F2Mh*- z!QdZMBjM!aBzuG7_-Ax}{g13dM z&QO#1RcW+K{%_hng#w$nF&;FG@t|Rh2aUGR@!N=q+y}-0Mn^{h2!%ppHSMiZ>eyZ5 zm&6}6(R#c(eUUhI#-q_F03uSaeRdc4C2`MGn`y?l<}_R5o|<2b_iS!%h6e`+AD?w3 z5{X{hw(rrvxOSVHh&%-P>)Ml4Ditpli@lEHpp-&HD3wa#QmGW)+S+<9B5S}mVE?S? znD{&34X5Y!i}m&O=;GpHth2L|LZLvVQsL<6h=qj(y1KepT3U*3Y;5!a&wy7z8Yt>$ z`~vxWJ|-e+Zf=h0>1iU72$4vHR4PR-mqSEUKA(T;uG4O+E2Um~^-oMpc=pZC&a$_+ z*X^#;KJn|KopBNQP~Qdy1}XrntE-ouU0z-WARdqZaMx*P+|AU~)K`F+nHdU&0@Z5u zd~?fYvnZt`lgV6qWz}wtbGn=NQ9I7Y$H)73cXuDGtgOT=%fhm(3lC3DPL_v;hW3Fk z)E#Hq8COdE1U}Uo03z~!czF13E|=@x+1UvLBoc{V>2$g}GBWZ}DfQa@J=z&>z+p0( z{GCiD50p|dfbH$=gPQi;t3dlTUc=K|GtDo?58KrOYuqnu{Cql>%jJezJ$^~N*&6rn zR98wJJC3vFIL?}F+t{|v*=MhRSivX8uY)ljG>q|}VT=cjw%^?Ra>vyq-U?msv^FBJ jiJSZC27|$1FzCx4eYx~;vjb?hIQv;UIIC6N#5=*4F5rJ z!QSPQfg+p*9+AZi4BWyX%*Zfnjs#GUy~NYkmHj5OxUjUI1h?i{ppayVYeb22er|4R zUI~M9QEFmIYKlU6W=V#EyQgnJcq5-UP|-|J7sn8f<8P$iFd{ArT3GE+P2t-tv?(2)$Du6{1-oD!M< Dt=4eO diff --git a/src/icons/images/rt_31px.png b/src/icons/images/rt_31px.png new file mode 100644 index 0000000000000000000000000000000000000000..6d876a04c396109d79414ff19d322bbdd6a4a248 GIT binary patch literal 468 zcmV;_0W1EAP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10bxl* zK~zYI?bg3)!cY_j@bAQ4T zXeUt!v>+s3ht?wX4=wpK<(uvy9Ddv!E*v1{kj#^uejPa_ncsag;>H17|EjNI)kt2F zER(#M&*u-OX|9!0tX8XQ$8qjSnk4hG-{kv#HwxS^jOOlKtJRA2dOh1}wZyV4P9~F$ z>$)=lIKT&k!ChFq(P*GlDggkLQdq54$mMeIJP(CJ0o&~s0B~`vxzp+N!r+EsG)V#g zwARJpaF}hk+hSQ3E0xN|ah%yflkfZ8e!tJKzkh$`uIoN(tv{4f)LOqU7K@*mAH8|l zh=>Qk1Mo~zY}>vSk+N;uF94<@@&qLF)Lu{3iQ&uTa#z14hKq<71i@%L9wP{X(f3G_ z!OtbdQ#{2}JjGKy(wy96qS|EtjYqM;{w1;O?dOuoWMVhcoXsZ%vZOFSOl}hZ0000< KMNUMnLSTXe^wY`! literal 0 HcmV?d00001 diff --git a/src/icons/images/rt_31px@2x.png b/src/icons/images/rt_31px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7a0dc4284f51a6e360c9afba7038129e1c4cd3c2 GIT binary patch literal 797 zcmV+&1LFLNP)69#FHD-;`~KjDd!BnP&o9rtx7-W(0Fr|w z4@e#W;C1NwoaCTaO`x+awvCAzxpA+c3gVMqK^4S3bAAyY&*$?))6>(zN?>+&HkeMQ zM^O7u>3&E)Avr_!PeFmE-x>c&*wjc!(pfD zejVt!tyq>dF8su^24N0!guL``O*Px)a~s-Ho@g?}k}gS^@w} zPI|ti;W!Qq!}upQJUr}qea}z4RUS2Zp=p{{I~%D-WsQ@piU)(iu|lCRkjZ2ai^ZyP zdwY8TfSH+@Z^dGsA@8Z9j>ESv)P0^qcA zG%fzW5Ro7F+jtcu-!CpMKDI1t=;Y*N008FZ=6-H$Y?LFBNKr&y->vBx@j9G`LZM%w zQ0PoVrU2mh`1tH5_tmSQ=hyfRo^rKvei1)!Hm9t(U)K1a$GKE0-J83OUnX8_jr;de z7m*9sb+fMPW^=h5a=9ET=OS|9RpSfsR?yrnfR}C$$8d_X6w76<$an;b` zs-eYILyN117FP`|t{PfgHJbiD-feqaTSZU29^JC1^`TI9;ytrpy;bhpiK* + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/cc_31px.svg b/src/icons/svg/cc_31px.svg new file mode 100644 index 000000000..88fb2fc4f --- /dev/null +++ b/src/icons/svg/cc_31px.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/ct_31px.svg b/src/icons/svg/ct_31px.svg new file mode 100644 index 000000000..3c0be3fd6 --- /dev/null +++ b/src/icons/svg/ct_31px.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/empty_12px.svg b/src/icons/svg/empty_12px.svg new file mode 100644 index 000000000..2ecfed838 --- /dev/null +++ b/src/icons/svg/empty_12px.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/empty_31px.svg b/src/icons/svg/empty_31px.svg new file mode 100644 index 000000000..04c346dac --- /dev/null +++ b/src/icons/svg/empty_31px.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/empty_32px.svg b/src/icons/svg/empty_32px.svg new file mode 100644 index 000000000..572db2a9d --- /dev/null +++ b/src/icons/svg/empty_32px.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/lb_31px.svg b/src/icons/svg/lb_31px.svg new file mode 100644 index 000000000..f8ab93c6a --- /dev/null +++ b/src/icons/svg/lb_31px.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/lc_31px.svg b/src/icons/svg/lc_31px.svg new file mode 100644 index 000000000..72edc347c --- /dev/null +++ b/src/icons/svg/lc_31px.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/lt_31px.svg b/src/icons/svg/lt_31px.svg new file mode 100644 index 000000000..f733c76ff --- /dev/null +++ b/src/icons/svg/lt_31px.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/rb_31px.svg b/src/icons/svg/rb_31px.svg new file mode 100644 index 000000000..a14b5d899 --- /dev/null +++ b/src/icons/svg/rb_31px.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/rc_31px.svg b/src/icons/svg/rc_31px.svg new file mode 100644 index 000000000..7830c34cd --- /dev/null +++ b/src/icons/svg/rc_31px.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/rt_31px.svg b/src/icons/svg/rt_31px.svg new file mode 100644 index 000000000..85ff8f427 --- /dev/null +++ b/src/icons/svg/rt_31px.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/layui/layui/AlignCellOptionsDialog.ui b/src/layui/layui/AlignCellOptionsDialog.ui index fb90dd6ac..5d3b2dbff 100644 --- a/src/layui/layui/AlignCellOptionsDialog.ui +++ b/src/layui/layui/AlignCellOptionsDialog.ui @@ -110,7 +110,7 @@ - :/ct.png:/ct.png + :/ct_31px.png:/ct_31px.png @@ -130,7 +130,7 @@ - :/lt.png:/lt.png + :/lt_31px.png:/lt_31px.png @@ -150,7 +150,7 @@ - :/rt.png:/rt.png + :/rt_31px.png:/rt_31px.png @@ -170,7 +170,7 @@ - :/lc.png:/lc.png + :/lc_31px.png:/lc_31px.png @@ -190,7 +190,7 @@ - :/cc.png:/cc.png + :/cc_31px.png:/cc_31px.png @@ -210,7 +210,7 @@ - :/rc.png:/rc.png + :/rc_31px.png:/rc_31px.png @@ -230,7 +230,7 @@ - :/lb.png:/lb.png + :/lb_31px.png:/lb_31px.png @@ -250,7 +250,7 @@ - :/cb.png:/cb.png + :/cb_31px.png:/cb_31px.png @@ -270,7 +270,7 @@ - :/rb.png:/rb.png + :/rb_31px.png:/rb_31px.png diff --git a/src/layui/layui/MoveToOptionsDialog.ui b/src/layui/layui/MoveToOptionsDialog.ui index 26cb98bc8..f8155d23e 100644 --- a/src/layui/layui/MoveToOptionsDialog.ui +++ b/src/layui/layui/MoveToOptionsDialog.ui @@ -162,7 +162,7 @@ - :/ct.png:/ct.png + :/ct_31px.png:/ct_31px.png @@ -182,7 +182,7 @@ - :/lt.png:/lt.png + :/lt_31px.png:/lt_31px.png @@ -202,7 +202,7 @@ - :/rt.png:/rt.png + :/rt_31px.png:/rt_31px.png @@ -222,7 +222,7 @@ - :/lc.png:/lc.png + :/lc_31px.png:/lc_31px.png @@ -242,7 +242,7 @@ - :/cc.png:/cc.png + :/cc_31px.png:/cc_31px.png @@ -262,7 +262,7 @@ - :/rc.png:/rc.png + :/rc_31px.png:/rc_31px.png @@ -282,7 +282,7 @@ - :/lb.png:/lb.png + :/lb_31px.png:/lb_31px.png @@ -302,7 +302,7 @@ - :/cb.png:/cb.png + :/cb_31px.png:/cb_31px.png @@ -322,7 +322,7 @@ - :/rb.png:/rb.png + :/rb_31px.png:/rb_31px.png From 1b8bf1f76d1c7a5847e289371804f0cb2e53a210 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 12 Sep 2022 23:14:49 +0200 Subject: [PATCH 15/52] More icons translated --- src/edt/edt/TextPropertiesPage.ui | 16 ++-- src/icons/icons.qrc | 24 +++-- src/icons/images/m0.png | Bin 420 -> 0 bytes src/icons/images/m0_24px.png | Bin 0 -> 612 bytes src/icons/images/m0_24px@2x.png | Bin 0 -> 942 bytes src/icons/images/m135.png | Bin 426 -> 0 bytes src/icons/images/m135_24px.png | Bin 0 -> 586 bytes src/icons/images/m135_24px@2x.png | Bin 0 -> 862 bytes src/icons/images/m45.png | Bin 428 -> 0 bytes src/icons/images/m45_24px.png | Bin 0 -> 574 bytes src/icons/images/m45_24px@2x.png | Bin 0 -> 840 bytes src/icons/images/m90.png | Bin 430 -> 0 bytes src/icons/images/m90_24px.png | Bin 0 -> 630 bytes src/icons/images/m90_24px@2x.png | Bin 0 -> 928 bytes src/icons/images/r0.png | Bin 427 -> 0 bytes src/icons/images/r0_24px.png | Bin 0 -> 587 bytes src/icons/images/r0_24px@2x.png | Bin 0 -> 932 bytes src/icons/images/r180.png | Bin 422 -> 0 bytes src/icons/images/r180_24px.png | Bin 0 -> 588 bytes src/icons/images/r180_24px@2x.png | Bin 0 -> 925 bytes src/icons/images/r270.png | Bin 447 -> 0 bytes src/icons/images/r270_24px.png | Bin 0 -> 619 bytes src/icons/images/r270_24px@2x.png | Bin 0 -> 942 bytes src/icons/images/r90.png | Bin 436 -> 0 bytes src/icons/images/r90_24px.png | Bin 0 -> 596 bytes src/icons/images/r90_24px@2x.png | Bin 0 -> 888 bytes src/icons/svg/m0_24px.svg | 106 ++++++++++++++++++++++ src/icons/svg/m135_24px.svg | 106 ++++++++++++++++++++++ src/icons/svg/m45_24px.svg | 106 ++++++++++++++++++++++ src/icons/svg/m90_24px.svg | 106 ++++++++++++++++++++++ src/icons/svg/r0_24px.svg | 105 +++++++++++++++++++++ src/icons/svg/r180_24px.svg | 106 ++++++++++++++++++++++ src/icons/svg/r270_24px.svg | 106 ++++++++++++++++++++++ src/icons/svg/r90_24px.svg | 106 ++++++++++++++++++++++ src/lay/lay/ReplacePropertiesText.ui | 16 ++-- src/lay/lay/SearchPropertiesText.ui | 16 ++-- src/layui/layui/LayoutViewConfigPage7.ui | 16 ++-- src/layui/layui/layLayoutViewFunctions.cc | 16 ++-- 38 files changed, 903 insertions(+), 48 deletions(-) delete mode 100644 src/icons/images/m0.png create mode 100644 src/icons/images/m0_24px.png create mode 100644 src/icons/images/m0_24px@2x.png delete mode 100644 src/icons/images/m135.png create mode 100644 src/icons/images/m135_24px.png create mode 100644 src/icons/images/m135_24px@2x.png delete mode 100644 src/icons/images/m45.png create mode 100644 src/icons/images/m45_24px.png create mode 100644 src/icons/images/m45_24px@2x.png delete mode 100644 src/icons/images/m90.png create mode 100644 src/icons/images/m90_24px.png create mode 100644 src/icons/images/m90_24px@2x.png delete mode 100644 src/icons/images/r0.png create mode 100644 src/icons/images/r0_24px.png create mode 100644 src/icons/images/r0_24px@2x.png delete mode 100644 src/icons/images/r180.png create mode 100644 src/icons/images/r180_24px.png create mode 100644 src/icons/images/r180_24px@2x.png delete mode 100644 src/icons/images/r270.png create mode 100644 src/icons/images/r270_24px.png create mode 100644 src/icons/images/r270_24px@2x.png delete mode 100644 src/icons/images/r90.png create mode 100644 src/icons/images/r90_24px.png create mode 100644 src/icons/images/r90_24px@2x.png create mode 100644 src/icons/svg/m0_24px.svg create mode 100644 src/icons/svg/m135_24px.svg create mode 100644 src/icons/svg/m45_24px.svg create mode 100644 src/icons/svg/m90_24px.svg create mode 100644 src/icons/svg/r0_24px.svg create mode 100644 src/icons/svg/r180_24px.svg create mode 100644 src/icons/svg/r270_24px.svg create mode 100644 src/icons/svg/r90_24px.svg diff --git a/src/edt/edt/TextPropertiesPage.ui b/src/edt/edt/TextPropertiesPage.ui index 7d7dadab7..1ac85ca2d 100644 --- a/src/edt/edt/TextPropertiesPage.ui +++ b/src/edt/edt/TextPropertiesPage.ui @@ -278,7 +278,7 @@ to show text objects scaled and rotated (r0) - :/r0.png + :/r0_24px.png @@ -286,7 +286,7 @@ to show text objects scaled and rotated (r90) - :/r90.png + :/r90_24px.png @@ -294,7 +294,7 @@ to show text objects scaled and rotated (r180) - :/r180.png + :/r180_24px.png @@ -302,7 +302,7 @@ to show text objects scaled and rotated (r270) - :/r270.png + :/r270_24px.png @@ -310,7 +310,7 @@ to show text objects scaled and rotated (m0) - :/m0.png + :/m0_24px.png @@ -318,7 +318,7 @@ to show text objects scaled and rotated (m45) - :/m45.png + :/m45_24px.png @@ -326,7 +326,7 @@ to show text objects scaled and rotated (m90) - :/m90.png + :/m90_24px.png @@ -334,7 +334,7 @@ to show text objects scaled and rotated (m135) - :/m135.png + :/m135_24px.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 885abe798..90d9448a5 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -92,10 +92,14 @@ images/logo.png images/lt_31px.png images/lt_31px@2x.png - images/m0.png - images/m135.png - images/m45.png - images/m90.png + images/m0_24px.png + images/m0_24px@2x.png + images/m135_24px.png + images/m135_24px@2x.png + images/m45_24px.png + images/m45_24px@2x.png + images/m90_24px.png + images/m90_24px@2x.png images/move.png images/move_simple.png images/neutral.png @@ -116,10 +120,14 @@ images/prev_topic_24px@2x.png images/properties_16px.png images/properties_16px@2x.png - images/r0.png - images/r180.png - images/r270.png - images/r90.png + images/r0_24px.png + images/r0_24px@2x.png + images/r180_24px.png + images/r180_24px@2x.png + images/r270_24px.png + images/r270_24px@2x.png + images/r90_24px.png + images/r90_24px@2x.png images/rb_31px.png images/rb_31px@2x.png images/rc_31px.png diff --git a/src/icons/images/m0.png b/src/icons/images/m0.png deleted file mode 100644 index 01cb343ca008d7d6edc1dcefc03af23197d43f0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBg&LULk#xU{_(7}CQ@5lI69p|^rVD1y-sHNZJN2}?%apFswaDvrS1QFuX6wUxsk^@ z4)A?qOEyz`8S-#vzrW7|iM5Az7pJJ+S9xrAqjcJ=6<<&P3N?7&Gb=&x^J0~TssGhZ zWOFPlY{|>|Dc9`w-8+fRB0KA{k?85xpIT(c|&cE zYt7KU`Lax4vq_A7N9jfXT6R;vszY{p!M`W4a=puXK&S diff --git a/src/icons/images/m0_24px.png b/src/icons/images/m0_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..c81ad042c4545af616ec0eef084c6aff91d6745e GIT binary patch literal 612 zcmV-q0-ODbP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10r5#h zK~zYIwUaTA5>XJx{{w4OjL9XCY_bgrk-#Pxf*skQl>|$_fE^*BH&$0!-KQY2_XAj1 zSiqGQlwcv6>;`t1N=|ve-@?P}u6uV+#D6l$zL~uFz1f)o{<8!CNZteRG9`W?B4W z4#0hqSrOT411gou6u`s1Ln*Zx3&C`64dC0ht+i}vS}Ybf0)l$IesBe07{&m9 yG+9KxkzA4dkaB+rK&AMTx=r$~h#dS-ZT$qw`ss2!dvYNF0000?gmIElTv_EspM{ejg1Z0AEjQw?^OVu_4W0drfJ<~vpEp7R;vYWZf;)r ze7+7d2LW_UtbIX5pUf8AuYrXTQ5Qhf>-BOZ68R;X-0gO8aBwh%zqvyA&s892k6vbe z!^~Uhbov4S+xeWIpTB43EoPp!TBoQ70HY6Lv6#?-QI*YRd%JJhg`oh;%geR{oSdAD z4G%hg*KXzh!lyyDFErD7X^=qB#z3ILXtmZXimxw%=~-rha~@C`uT#QGXDPZQC|2ZfRY zi9|x`KrWZ--NI&XW5A*dDh}+1LZRmXlA@0e4-Xl@E&!c~K3XZrtW+Fubv~8?5Ya7M zo{xt)0JuCKD+9PS9}jC{zyL_4QZqX{JHn6Z_4-Qy(*WYk{Mw%K{?ot!q~d@M3_nWq z`Mi~*R7Iop7BkN>^VZSP(O1|UY*Zgv08(+F3ZN5@$A4>@)*WRNtV$Muh5{J*_=m^i zfh-?8DOmtgaR4y-AR3L@9&S`53qYy>j^$$&$pVlm04MUXiev%E6o3=?SVgh`WD3BE ze5@i_08+V$K}6Tg+zyAsVCFB1>t+Bn6~9&0y#S=@005ZXeRti+4{}I<0MBfEgP2RO Q%K!iX07*qoM6N<$f>ng5HUIzs literal 0 HcmV?d00001 diff --git a/src/icons/images/m135.png b/src/icons/images/m135.png deleted file mode 100644 index 1bf117274d8fe0835ed95f4d2e13619b07bc099a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBg&LULiw%w#y}pfI_k*t`Q~9`MJ5Nc_j?aMX8A;sVNHO znI#ztAsML(?w-B@?^9Is7#JA&JY5_^JdVG;wpWiOP=x)1e3+w>h{-0ai^}&LoRoz6 zA27ZM7co=1UCqaP&tXyEjSC%ZT&*iiwB*m;O^MlDW>mcW_T)J!?{*fS|6lXx{Mk`MaLL1a$7S6qRoyV7(x#p4G;}jmlRS+#uDlRR6CBdmSDSvSaL{hjfPd1D9Xod>la*ct2(J~a+>6zPrt P1|fr|tDnm{r-UW|%|WFk diff --git a/src/icons/images/m135_24px.png b/src/icons/images/m135_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..892e30af87f191caa015f03d6885a9afab3d0667 GIT binary patch literal 586 zcmV-Q0=4~#P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10oO@H zK~zYI)sjJv(m)u7-_fFFQAnv}2qXqBaPr_)({S-Wc;du~_$SQ9>)tt#n0Vk1c=X_^ z5w9F3mWB|b7zbH#+l1Javi-ai!x|R5yWLHElP{CZ*Lk0LryuaYiilDGpj^=8I)F5Q z8~_7=7FG_xEdWm=0f^}K1_NV0pXyTxMhpj<8=luD(;N~LmWn&uRM_vb?* z+6O?Vm8NMw3x$HWzE`i;zbqDu=S1{`h#nKsBOo;|06$E#RoBAx{f6E* z#@JWJ*y3L%Q2_o$OriiTO_9e`QItT_G)LEUmvipaYPHX?0y>?}K7f}1oV6On1^58q z9b@b`>V?h(V2u4btMN*g{*$k6id0oS%4V~UVHj>cpLb#hc%HY5lM@mf1VogK&Frf6 Y8BLDyZ07*qoM6N<$g8gm=_y7O^ literal 0 HcmV?d00001 diff --git a/src/icons/images/m135_24px@2x.png b/src/icons/images/m135_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..96165edbf0b407921f2ce8c724ecf616a3960d00 GIT binary patch literal 862 zcmV-k1EKthP)9g=84UQmfVCn*l53K>*7Do?C*KttMJw2fgz&O`AVHKK2!hML|)Ng<`SjFPF&Fnyb!Ai$o&2EX#T#k*MzN?NxVnb_}oAO9Q6; z0#LgfIAS23PUp6^wys4{{5T+_1;7NLTdfK}1E4d;^zJ||2JTXxNF-YEc>Fq*O3B0G zlgZ?j)xAXfG;08U0Qhe8b;elB&ffQTHxZ=)fH9UFHeq*nS6^RWZwi9&wNJ_q?5sgV z?*P;pW3TLp9LC5QI66A|Vs$@teZEEeG<5(C8_SrZ?mLKaexWM>KLLC|=O5J=V>d(; zZ&2jvc9>wX~g4kb9;N6>uom`1C2)G&0j)(gVVJ=t#bMX?UF<9X;)S=7-NI# z{gL2pAceNLYtHKqgsTC@*f*Z*+2PUOLaqU)aSb?)Yrtt9yaThWV|ehuz%1(+9`t*O oXI95>g@|4dk>6<@E-o|X4`^FC=&LrP#{d8T07*qoM6N<$f_xu?7ytkO literal 0 HcmV?d00001 diff --git a/src/icons/images/m45.png b/src/icons/images/m45.png deleted file mode 100644 index 34d169cc885c4f77eeb30f8634427a7737073efc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBg&LULgau*s8nzKq1)@*N775{M_8syb=cIqSVBa)D(sC z%#sX+kc?CXcTeAd_bIA*3=E6{o-U3d9>?Ea-S5ThD8TkX{-aKgi%Zaosi6WcJ*~Y< zo96CoEa&m=B~&l&Bdy_@gr9rxPO z?Y-xLpt!}MqM6A#Y_lUcqs$8%S->P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10n155 zK~zYI)l^Mu8c`HI(`O80NXF470~TZkoGADph^tbC&`sQT=ce>mbeCkCAK-6s8w0M~ zNI@4_sNhCsoC&m=(bVQxMK28=Nl9IL8&0N~qbH2T_XHkEF-d%P}oVL(JX{z-!T z2p})ZvK|boR;#+EY2R(z-XWqV%N+8>fA)Gkwb5v(?RHyjwOR+APG{e;EY-5C{pobN zlxe@;mjx34kH!Fvk8Vit?LtexJ!?ZVkimOw*j?^Z7A=zrqIbc>FGv zN{y4rV!Z M07*qoM6N<$f=Sx_Gynhq literal 0 HcmV?d00001 diff --git a/src/icons/images/m45_24px@2x.png b/src/icons/images/m45_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c3782bd7c21eeaeadc91ceb97d52d6b443635755 GIT binary patch literal 840 zcmV-O1GoH%P)VOU16I0d?RwaYns6Yo@vrHj2d_Q!;<>A=!-Kgnd7@ZQY(&UeB-fPjGi3nG$;DD^lG`B}^$h-d*o z6u=??-Z$a^=Izj9V1@(`(I)`Q03u%UW<~&j1OS+(87dZw(L$lXOQjOmb)A>XWo{S- zuhnY2)oOipCe4xn06;t*|KcTnZc>Fzi$H+i1Oogf5a2gc70}5&CK?H#GIQbU^ER4Q@HvNkU+ zE~F8;192_Dwwwc40kDdP?sCN*AKa{QbabR#US3M)=jZP$mC9ma`N`CsvW?S0Q+9902o?`({f$c`OVFZTrQX8Mx(LZ z?RJ^y;@seLAO!%ruFs#Ip7OJ^GhQqf6W7<*vSAopl;xs%c7-yT%x6Ce8JD1ym;~W) zm=cM^-PYDtb7yC#mC0n<+uPgL{{DWmKh{?POG`^XlgXr!OeW22Hp?|lYwhjrHC0u; z3xz^7B<&tR`*AXH0nupmetmttold7MRaIM>rZqX|`NPA*nk>t|hNN`?dXgd)m$!D&1SQW zNF*}KaufCmqIaSd#@L;g{Ri<(fFw!nwY9Z+DwV1!ic(iqwZ6N%TR%8BxQ)eP_e0kC zjfc~G(Q?r|y*-KO*hPFBy#lM~6>KoZhKZXfgRam-EuR=fq!7`f-*p58OqoA2fF*5n SQVRM20000cdx@v7EBg&LULgZ3&+5hlKq1)@*N775{M_8syb=cIqSVBa)D(sC z%#sX+kc?CXcTeAd_bIA*3=E7yo-U3d9>?Ea-Kgi{D8lxje@zn;Yi~ft7n=qbbwR)gNEkmGJKw@{V%Su5L<%uWn?EZf4(pyh8JP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10s~1z zK~zYIwUo_@+F%rh-!r4dZ>F^B=Rd70p`~D!v&p6udI#>N8^K*Kpxw66Tj~dJ}KtJ0q7C_ zmWbXzn#IhY6N$tF06yiiZTkl^U+>qw2;Bcnr_*c2DGt={_XPm?H^4fZ&7KS}4C6SU zSS+3l7>!0(QGi$w(Cv2b0Ng3m%QlQjc-gQlgJ5n03x~vaIexWGZ*stJOS7N z27>`d0WS6pMJ;q)UlI}f#(X|cxvndjIaD)tm>cT!34oiZSSpozCZ*gsj`I`%T-S{o zhEdft?Kyyz5&(b);9b35*FDb*bta`O3L!3oo@tt|G)L9$N-r5p2``lGntIi=Q|#c1%PzWQv&32IVHe!Iu-ac!A{4{007ptT5TYu+=LQi zu~JBt5P6<=D}?y4-EJ=dfQWdxTz*R?lV6EwtI+&W z_{Tz_Fhk(4+Uaz@GjqXz=F~;=wJ4QJi=ff#^&|qX>7N1RaybMrP4m2fN~ID4SeA8G zfK#njLjc>h&pUyx>rT*^&1RV(KxGde6%lQidCAOQ_CkW0uZd_AnRrh92K{QtT&dc} QA^-pY07*qoM6N<$f`xz+p#T5? literal 0 HcmV?d00001 diff --git a/src/icons/images/m90_24px@2x.png b/src/icons/images/m90_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f873646a34f37b37112ca2e9e1ee0d4c04564428 GIT binary patch literal 928 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 aj{XB&wzh#yD=?h^0000G zK~!jg?Uyl6+dvqG-y>1oSSkrkR7iwNLY;t-V1NOsfEkf+ke2+-_n5v#1w=W zNKm6Fpc2xiBy|xc*Cm#Y;JciYbL@db^LZDKq2&Yjlmvg7h_3&6E1kTRRgaY||KH38HdR-{6va%9cfeZjN zn@yp>=H_Pf1Sq9508)6_?)Je`K*?r~Qu-diD<7A{0F=AkZmiSkBzZ-eruDbB zw*COP2k_ggMpXy655YkPKq{3=qTlaxiwwiC<%d3*9_1BpjNBtq9V(( zM(#pg9(5qdfFjHK`nuE_0C;yGuz(_irfL0RvG@;y9L&NM2qK`!U>JrSi^Tvz4rbvB z1QAeVkjcR;T!A10iVQM2n1w5#I-tlRlY?2f0;&UwEKCj_TOg2tB8yB8W_hpcdx@v7EBg&LULk!^{STYifkLt+t`Q~9`MJ5Nc_j?aMX8A;sVNHO znI#ztAsML(?w-B@?^9Is7#J9pJzX3_JdWSJx>3)?QRLXi` zK~cF~mfb;C2UU+9s$lpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10r*Ko zK~zYI&6H285@8g^pOa$bMO5;-(E^nj23-X%Y~?HxKY{cGX4ks)wPov8Zu%yHge}5F zv~klFx#AVae8)UQDzOL&-l2;BvX9GhK`Myg)0Dxp!M9#J) z1p6h&ERnl{g5GM`1HfVBVs-e!=j0>5W4Z?#%4>-BoL(P)I5&1U%g{5;y}bWZ#I z{^@eL{57kCA$dabA<0K1pOAb?@)^n3hGDdw-6axXNFVAZH>-9o| z!5}yuk3;M8y<6l4l8^D{mW2S^6_N67)ZZq0?`XxH`~XSO3RG#c$!`Dv002ovPDHLk FV1g)Y8|MH3 literal 0 HcmV?d00001 diff --git a/src/icons/images/r270_24px@2x.png b/src/icons/images/r270_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d89aaac058313bc4c54ce39accfa365998ffe204 GIT binary patch literal 942 zcmV;f15x~mP)*kD$M)~%^AxBP>4twqyVaQn0X5T zi0G5vV3*6KPESwEqA2EPXJ?g2B%-XYuFC7{>sJnkgLS42)RKJ((8F%Gb0847nVFd> z&CkylW3kxv+}xZRjYdlg3kzz8DSO)SH-Mj7D*(9C`U(+Mh9;mJ9*^fX6bh9@QB=d> zuo{cSu7kngH_eiNbf#4R^km6_3+P6pCD+#0gh(W!E-ft;mzS4|Hk+-RB}+u~8ZcRa z9=%wSh~mH_70?Z4-UsReMof*y0NVC})6>)KgM$O%=;%mDrBXsNnG9qy8GkO9^OehG zyBR@tqtQa|089ZG)f+5Hl5=-=H;_mq{E{RImzS49CX?~Yvh1r=Dx^2hNLnq__E2Va z0T56xCxnLcju}u@^;IgB8eLpmd@-1?o8oH{&}JbbDgh_~_|YaT z>13S^tBK9c&Ghl{@mL~}s2F8QL(dt=)*nZ_OOnRi8_eko&+*x1-O*RFfCz+U$AV50=|N*Vx&=&NSQ3DiGh&j5_| zyWp?|+@Td~wOR+voYZc;>1Q3&1pEWv0k~@?Pf=BAwNOJTp6_&@ncV;kwbD>`Vj?O6C>puulYa|Y0?ft|U^bQj zvw3vi$oj3PhVpY@FEI0aRCj4dFXM@53wT5sFteT-D$ML==GK2nEi4|&U*UUght9it QD*ylh07*qoM6N<$f*t*w*Z=?k literal 0 HcmV?d00001 diff --git a/src/icons/images/r90.png b/src/icons/images/r90.png deleted file mode 100644 index f34bc5b11094fb1735101af46de0e761533bed94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjY)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYYs>cdx@v7EBg&LULig6$K8h(0fl5sTq8=H^K)}k^GX<;i&7IyQd1Pl zGfOfQLNZbn+&z5*-lwSMF)%Pnc)B=-cpSfb)zFLCQRLXicpsfD7oDVeo5VCl1ewd? zoN{!oNOy<}7`Cc=B)=3Cv29wrlGWR^sr6RZksCb*I?^(mW;@ycNVuPT!#@AsY{`GS zR?V!C<=yizS>%B5myfO0GGc!p-e~w^xhq18YX$EK`Ntc3bXTgbxp_#->fqf?jHfeP zKYBCFeOPou?ugY%!`OHPT!E^gnQ zQ5Do+ow0b*rDmpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10pUqR zK~zYI&6Gip(ohh`|HF2bS|r-?lyDF)5Y`K4W25~X98CNM+`R4LQEwdhE*vF+c%|jbi7c*;<_bt**M8RFL`ffev_HW1Mb3@Sw2*5X??zD=AQt9O%c(T z+X6tA~uQKT9&1lrWq|3 z3oQ)8y$AhgNX)DN(6&?npt`PmVw&d3Xf%2-o6Tg$akAs_Seeh~auh|^4w{)i5K${} z3)apL0SEw(*Lng#1VK>f_xsv#IMi(0)*Q#tT-Pmlo~JFB%TGH4ZU7$v$j88~0&+yu iN|Qect{g1+ru_!W9o++?EgY!;0000kDrl>vY;_R6Kp%#_RJ zZ~1)wmgo5|4yW`1v@raR=>Rkg#0>k1z6e-EB9U$?mD0Diwlu3_wUwmP?}eWLt{7vV z0G|b%uu4)81Y>)9Ti@N?)kRS>ve~RrEEWwj=R4p(6_|w8idzDYzLgl+g;Z7jDoIjA zmSyhj?2MBnY4!BkYzccC`#hu;$lNp)kLS$`QWL5 z6J|-qFceB+D7bcCHcMbp|IFQs*{oT;&Ogjrl8*u+dPYQPzjG{kGW-SQC4D&*rRZG% O0000 + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/m135_24px.svg b/src/icons/svg/m135_24px.svg new file mode 100644 index 000000000..7850093c6 --- /dev/null +++ b/src/icons/svg/m135_24px.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/m45_24px.svg b/src/icons/svg/m45_24px.svg new file mode 100644 index 000000000..09853ce66 --- /dev/null +++ b/src/icons/svg/m45_24px.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/m90_24px.svg b/src/icons/svg/m90_24px.svg new file mode 100644 index 000000000..bdea03687 --- /dev/null +++ b/src/icons/svg/m90_24px.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/r0_24px.svg b/src/icons/svg/r0_24px.svg new file mode 100644 index 000000000..4c18deeaf --- /dev/null +++ b/src/icons/svg/r0_24px.svg @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/r180_24px.svg b/src/icons/svg/r180_24px.svg new file mode 100644 index 000000000..60dc26edb --- /dev/null +++ b/src/icons/svg/r180_24px.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/r270_24px.svg b/src/icons/svg/r270_24px.svg new file mode 100644 index 000000000..d38946495 --- /dev/null +++ b/src/icons/svg/r270_24px.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/r90_24px.svg b/src/icons/svg/r90_24px.svg new file mode 100644 index 000000000..89b40f041 --- /dev/null +++ b/src/icons/svg/r90_24px.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/ReplacePropertiesText.ui b/src/lay/lay/ReplacePropertiesText.ui index 031476ae1..5b56da4ca 100644 --- a/src/lay/lay/ReplacePropertiesText.ui +++ b/src/lay/lay/ReplacePropertiesText.ui @@ -31,7 +31,7 @@ R0 - :/r0.png + :/r0_24px.png @@ -39,7 +39,7 @@ R90 - :/r90.png + :/r90_24px.png @@ -47,7 +47,7 @@ R180 - :/r180.png + :/r180_24px.png @@ -55,7 +55,7 @@ R270 - :/r270.png + :/r270_24px.png @@ -63,7 +63,7 @@ M0 - :/m0.png + :/m0_24px.png @@ -71,7 +71,7 @@ M45 - :/m45.png + :/m45_24px.png @@ -79,7 +79,7 @@ M90 - :/m90.png + :/m90_24px.png @@ -87,7 +87,7 @@ M135 - :/m135.png + :/m135_24px.png diff --git a/src/lay/lay/SearchPropertiesText.ui b/src/lay/lay/SearchPropertiesText.ui index c6e5783ed..7631b1aa4 100644 --- a/src/lay/lay/SearchPropertiesText.ui +++ b/src/lay/lay/SearchPropertiesText.ui @@ -68,7 +68,7 @@ R0 - :/r0.png + :/r0_24px.png @@ -76,7 +76,7 @@ R90 - :/r90.png + :/r90_24px.png @@ -84,7 +84,7 @@ R180 - :/r180.png + :/r180_24px.png @@ -92,7 +92,7 @@ R270 - :/r270.png + :/r270_24px.png @@ -100,7 +100,7 @@ M0 - :/m0.png + :/m0_24px.png @@ -108,7 +108,7 @@ M45 - :/m45.png + :/m45_24px.png @@ -116,7 +116,7 @@ M90 - :/m90.png + :/m90_24px.png @@ -124,7 +124,7 @@ M135 - :/m135.png + :/m135_24px.png diff --git a/src/layui/layui/LayoutViewConfigPage7.ui b/src/layui/layui/LayoutViewConfigPage7.ui index fc794d04d..f19d1d18c 100644 --- a/src/layui/layui/LayoutViewConfigPage7.ui +++ b/src/layui/layui/LayoutViewConfigPage7.ui @@ -201,7 +201,7 @@ - :/r0.png:/r0.png + :/r0_24px.png:/r0_24px.png @@ -210,7 +210,7 @@ - :/r90.png:/r90.png + :/r90_24px.png:/r90_24px.png @@ -219,7 +219,7 @@ - :/r180.png:/r180.png + :/r180_24px.png:/r180_24px.png @@ -228,7 +228,7 @@ - :/r270.png:/r270.png + :/r270_24px.png:/r270_24px.png @@ -237,7 +237,7 @@ - :/m0.png:/m0.png + :/m0_24px.png:/m0_24px.png @@ -246,7 +246,7 @@ - :/m45.png:/m45.png + :/m45_24px.png:/m45_24px.png @@ -255,7 +255,7 @@ - :/m90.png:/m90.png + :/m90_24px.png:/m90_24px.png @@ -264,7 +264,7 @@ - :/m135.png:/m135.png + :/m135_24px.png:/m135_24px.png diff --git a/src/layui/layui/layLayoutViewFunctions.cc b/src/layui/layui/layLayoutViewFunctions.cc index a321eb15a..81464f704 100644 --- a/src/layui/layui/layLayoutViewFunctions.cc +++ b/src/layui/layui/layLayoutViewFunctions.cc @@ -2190,14 +2190,14 @@ public: menu_entries.push_back (lay::submenu ("global_trans", at, tl::to_string (tr ("Global Transformation")))); { std::string at = "zoom_menu.global_trans.end"; - menu_entries.push_back (lay::config_menu_item ("r0", at, tl::to_string (tr ("\\(r0\\)<:/r0.png>")), cfg_global_trans, "?r0 *1 0,0")); - menu_entries.push_back (lay::config_menu_item ("r90", at, tl::to_string (tr ("\\(r90\\)<:/r90.png>")), cfg_global_trans, "?r90 *1 0,0")); - menu_entries.push_back (lay::config_menu_item ("r180", at, tl::to_string (tr ("\\(r180\\)<:/r180.png>")), cfg_global_trans, "?r180 *1 0,0")); - menu_entries.push_back (lay::config_menu_item ("r270", at, tl::to_string (tr ("\\(r270\\)<:/r270.png>")), cfg_global_trans, "?r270 *1 0,0")); - menu_entries.push_back (lay::config_menu_item ("m0", at, tl::to_string (tr ("\\(m0\\)<:/m0.png>")), cfg_global_trans, "?m0 *1 0,0")); - menu_entries.push_back (lay::config_menu_item ("m45", at, tl::to_string (tr ("\\(m45\\)<:/m45.png>")), cfg_global_trans, "?m45 *1 0,0")); - menu_entries.push_back (lay::config_menu_item ("m90", at, tl::to_string (tr ("\\(m90\\)<:/m90.png>")), cfg_global_trans, "?m90 *1 0,0")); - menu_entries.push_back (lay::config_menu_item ("m135", at, tl::to_string (tr ("\\(m135\\)<:/m135.png>")), cfg_global_trans, "?m135 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("r0", at, tl::to_string (tr ("\\(r0\\)<:/r0_24px.png>")), cfg_global_trans, "?r0 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("r90", at, tl::to_string (tr ("\\(r90\\)<:/r90_24px.png>")), cfg_global_trans, "?r90 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("r180", at, tl::to_string (tr ("\\(r180\\)<:/r180_24px.png>")), cfg_global_trans, "?r180 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("r270", at, tl::to_string (tr ("\\(r270\\)<:/r270_24px.png>")), cfg_global_trans, "?r270 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("m0", at, tl::to_string (tr ("\\(m0\\)<:/m0_24px.png>")), cfg_global_trans, "?m0 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("m45", at, tl::to_string (tr ("\\(m45\\)<:/m45_24px.png>")), cfg_global_trans, "?m45 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("m90", at, tl::to_string (tr ("\\(m90\\)<:/m90_24px.png>")), cfg_global_trans, "?m90 *1 0,0")); + menu_entries.push_back (lay::config_menu_item ("m135", at, tl::to_string (tr ("\\(m135\\)<:/m135_24px.png>")), cfg_global_trans, "?m135 *1 0,0")); } menu_entries.push_back (lay::separator ("hier_group", at)); From faed28028948ecf904b5d17b61faa35c31e00ce7 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 13 Sep 2022 00:29:16 +0200 Subject: [PATCH 16/52] More icons translated to SVG --- src/icons/icons.qrc | 10 +- src/icons/images/close.png | Bin 197 -> 0 bytes src/icons/images/empty_12.png | Bin 146 -> 0 bytes src/icons/images/file_12.png | Bin 284 -> 0 bytes src/icons/images/file_12px.png | Bin 0 -> 277 bytes src/icons/images/file_12px@2x.png | Bin 0 -> 452 bytes src/icons/images/folder_12.png | Bin 358 -> 0 bytes src/icons/images/folder_12px.png | Bin 0 -> 346 bytes src/icons/images/folder_12px@2x.png | Bin 0 -> 549 bytes src/icons/svg/file_12px.svg | 127 +++++++++++++++++++ src/icons/svg/folder_12px.svg | 118 +++++++++++++++++ src/lay/lay/laySaltGrainDetailsTextWidget.cc | 8 +- 12 files changed, 255 insertions(+), 8 deletions(-) delete mode 100644 src/icons/images/close.png delete mode 100644 src/icons/images/empty_12.png delete mode 100644 src/icons/images/file_12.png create mode 100644 src/icons/images/file_12px.png create mode 100644 src/icons/images/file_12px@2x.png delete mode 100644 src/icons/images/folder_12.png create mode 100644 src/icons/images/folder_12px.png create mode 100644 src/icons/images/folder_12px@2x.png create mode 100644 src/icons/svg/file_12px.svg create mode 100644 src/icons/svg/folder_12px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 90d9448a5..78da1cff5 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -47,7 +47,6 @@ images/clear_edit_16px@2x.png images/clearbreakpoints_16px.png images/clearbreakpoints_16px@2x.png - images/close.png images/cm_add.png images/cm_diff.png images/cm_erase.png @@ -181,9 +180,12 @@ images/marked_24.png images/marked_64.png images/marked_16.png - images/folder_12.png - images/file_12.png - images/empty_12.png + images/folder_12px.png + images/folder_12px@2x.png + images/file_12px.png + images/file_12px@2x.png + images/empty_12px.png + images/empty_12px@2x.png images/fit_front_24px.png images/fit_front_24px@2x.png images/fit_back_24px.png diff --git a/src/icons/images/close.png b/src/icons/images/close.png deleted file mode 100644 index 2600eb1a4735199fc187f2d2d43df54529a383a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Otx zW-{1(l0OSl%UR$NS21s-{xTzwUWto+i?jfBwOMdQR1AR zo12LPZ!4! jjfu$#60D0GtQZ)Wd>9!0ru6s%r5HS2{an^LB{Ts5z4#)_ diff --git a/src/icons/images/file_12.png b/src/icons/images/file_12.png deleted file mode 100644 index 5113c326282113b0a07ad9cc36e716d57df38f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmSQK*5Dp-y;YjHK@;M7UB8wRq zm~VhEW1f4mDNs5|7uS^&5}mG6&8IvJf^Qu)+p_as|uVim$S8LYK;KXLvf)WDbL@P zKlr%5jW!g1cfP&N(dE{-7@6MN5D^EEs0v^>18 zeS6VD74bw(OChf!zJMvgPYUh0CTMs#3SDHd?wy_gL~viHVcce&*KLU$Z(JBxt+Lwv zJ9m~^+U8|DPW@xTDz4rAif#f|qe(%kVc1aPQEybUPHT-5rgiiOY zy?^@g$0K+74IO4YuPi?%#mpi&F@#5;A?45fCwZO~Uk^_HuwG%Mgu|&#bNH`n$y+Q{ Vk)P-vR|s@1gQu&X%Q~loCIBuNXKDZd literal 0 HcmV?d00001 diff --git a/src/icons/images/file_12px@2x.png b/src/icons/images/file_12px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a8a1afcc94c859c766678be02a12ea563a0bbc GIT binary patch literal 452 zcmV;#0XzPQP)&~m>cl|_7q+80>wg?F1$(NbP*Cw z(9)*kTTQ~u=QnR=gex_h&7MW%O++4?bLEvOLm;}gwp-Huk!9Hv@BzfX0sa&)pU)>{ zS?-;41Ar)s*>1PhL=nskRV55Vl4OW#^=+o8Dyr6u7mEb|L5)wR(@9YjpFlhsjW`~U zh(MAgE&L4L##OD^v;yRLJ~p#G5T|L%dc8ik*aJ7yW_^(7`S^4?eL3d_X_~UxY>1-z z{`%pn7Xd|4yo<;H;BYvwTrMwmPcQs3Kt<&7)(cpzUjBu*E_t_mB@DyfXMPQ@FS&WD zzVYT2-3xDZ5CnmDycKW{ymdro<{j^JAl~s#2Z49I)xr6Q{NbGd|9Blx4eo$$ zj*f|Lo811N{lASz;FZ_?hTNB@URrNRT2yjx$L`bJiz93HF8lK9*^OJ*?)otXS-zbo zckcDo#9%iYJ9j_7_vX)@EPnkchh>G=pPHSQdYY?_*c9GQy2?1i-}q}p@wUR<1-uy! zSDGt*CJT5cU16TUaQprCDZNKE=Q4M^W!UJd@8uwI;Pb_$n-3Q$$XT4c*B^fBz@uoE z`|dwP1-K*c_;I;6+%R%q@n3|QpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Ov_W zK~yM_g^)2$!!Q(vzvmYhsdcI#Ax1zIQV)=-k&u|!SP?g1_t~kiL+4PlCmQaa>;HtUj*=<3Jr4hZx7==9Mgk z8#j#z^kLLB69CX@w-E)=JjtR-5G~@1`4QZTlkOjy38%vmn+a literal 0 HcmV?d00001 diff --git a/src/icons/images/folder_12px@2x.png b/src/icons/images/folder_12px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd758fbdf635b87aba7596281ea344aa49f243a GIT binary patch literal 549 zcmV+=0^0qFP)~6$B9kK?Ly!5fmH2$|n#k1$_d+&c?!4 z(8_1XLue@of)I2qjB)>FGR6y2?982W?mcH_R_KP-`Ucp-9xt6vXR_UHzxB!Mg#u`` zS~I|=Lw?Qkyd76?fFgj1TmW*gUFT?TEI0A~@s*SFXMkhi3W!_?R2YUEz+8Q#!2af_ zF>!Hzm`1$_Fdc^Bf(v%D*{l_#C^`c;+-)#aR>o}43s_$n=kofAD2nd1*6%bwJ{AzLl%>@Jo0!eC_ zsmLlxyyIlezhA19tjJn@kY51VV;<|EWRb+d6GQX}B-TM1(C&%(Af_ZLTMc!U#43@= z%v?_#BiH2rNMi3Gb=@Ywh%J9W?silz+w-*8eih#R)BF00000NkvXXu0mjf>?H2* literal 0 HcmV?d00001 diff --git a/src/icons/svg/file_12px.svg b/src/icons/svg/file_12px.svg new file mode 100644 index 000000000..df4864548 --- /dev/null +++ b/src/icons/svg/file_12px.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/folder_12px.svg b/src/icons/svg/folder_12px.svg new file mode 100644 index 000000000..fbbff0764 --- /dev/null +++ b/src/icons/svg/folder_12px.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/laySaltGrainDetailsTextWidget.cc b/src/lay/lay/laySaltGrainDetailsTextWidget.cc index 4d91af745..3bbda18a2 100644 --- a/src/lay/lay/laySaltGrainDetailsTextWidget.cc +++ b/src/lay/lay/laySaltGrainDetailsTextWidget.cc @@ -142,9 +142,9 @@ SaltGrainDetailsTextWidget::loadResource (int type, const QUrl &url) static void produce_listing (QTextStream &stream, QDir dir, int level) { for (int i = 0; i < level + 1; ++i) { - stream << "  "; + stream << "  "; } - stream << "  "; + stream << "  "; if (level > 0) { stream << tl::escaped_to_html (tl::to_string (dir.dirName ())).c_str (); } else { @@ -162,9 +162,9 @@ static void produce_listing (QTextStream &stream, QDir dir, int level) produce_listing (stream, QDir (fi.filePath ()), level); } else { for (int i = 0; i < level + 1; ++i) { - stream << "  "; + stream << "  "; } - stream << "  " << tl::escaped_to_html (tl::to_string (*e)).c_str () << "
\n"; + stream << "  " << tl::escaped_to_html (tl::to_string (*e)).c_str () << "
\n"; } } From 438a3c50e3d81965cbddc7b7cbcf425c8e7d24aa Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 13 Sep 2022 00:40:30 +0200 Subject: [PATCH 17/52] One more icon translated to SVG --- src/icons/icons.qrc | 3 ++- src/icons/images/options_edit.png | Bin 622 -> 0 bytes src/icons/images/options_edit_16px.png | Bin 725 -> 646 bytes src/icons/images/options_edit_16px@2x.png | Bin 1492 -> 1301 bytes src/icons/svg/options_edit_16px.svg | 20 +++++--------------- src/layui/layui/layWidgets.cc | 2 +- 6 files changed, 8 insertions(+), 17 deletions(-) delete mode 100644 src/icons/images/options_edit.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 78da1cff5..daba124f5 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -109,7 +109,8 @@ images/no_flag_16px.png images/no_flag_16px@2x.png images/nophoto.png - images/options_edit.png + images/options_edit_16px.png + images/options_edit_16px@2x.png images/partial.png images/path.png images/pause.png diff --git a/src/icons/images/options_edit.png b/src/icons/images/options_edit.png deleted file mode 100644 index 08ec0456e33b9e6b794e011a9ca2ce30a4e14c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 622 zcmV-!0+IcRP)F~%(T#yn5{Aa5z-n}LaWgu)ID(@?H;9WSZy}~yY)fd<-s|FPkQkPCwtLV2<(%{X zz!i!dYudKWcDvm{c5+{ebwo7zAhGvAFWpFaiLInO$d3~Znx=t zK40wX<-IB8BuTz#nsze?g0t~>{8k9@uvV)nQ4|$?-wzHa=Wray5+OuU6h&4Pr549= zzgR3nk|YQrVgTvUn}@^UBVE^Dmdj;r|DSV?^?L1b&bOR%mSx%LY&N@~mx94yP?sd> zo-E5J0AQLXdc7V@(*&gyjYi{ov)R0*X_`(5xeEXk07j$HGsf6bRn_~YQb`5?!!RJr zG7Q5200<%A`+gXPVN5BNau~p_R4QH5H0?wP0RUL7R!Gwn%jFUP5JgeC-EQBdX?ojn zoHw~)S(beYg5YNuh7qN-TCdluuIs{e-Tdw(NdnIKhv{^>`LAIBU|H6%QmMR9Rh4B~ zh9pVA7`rs>f-z>;w!Qr)sysVcz9C6cA&z5sp7%Y=vX6w22fD6nf8)v-dI)pQ`DU~E z<#}F^rs)&Mah?-G&V1j0FN8R?ZTt5jbGZ5)%d*aoimqCJ0P0rH+vRVai~s-t07*qo IM6N<$f-GnjA^-pY diff --git a/src/icons/images/options_edit_16px.png b/src/icons/images/options_edit_16px.png index 58a803870da5e3d0ab5961e359ac2b8a38c40a91..99e3284d58e73e7b454c1b5aad060dc027094802 100644 GIT binary patch delta 563 zcmV-30?hr@1%?HXUVjrwL_t(IjjfSCXj4%b#m~KY|I^1yFa|O>NSC1EP?`)5I;e|X z&Ft*%l0TFOf!8s6x(hlMiqH%WPKJkcsGv^LO_DUG&zJY--gmD{8MrBUi0fcL99ucDt`#*MFsqu~W;k3iJ6~2qAX% z_Vzw3?$;S4exPaEqa;a0tJT^})3jn3#zwJN%%^F3#uy9M8!Q6m^LbuX)rXGb zp*a0DmYH3aHoX0D$3e2mrdGC|g2^tuPFKnWp&$z&iy1TCLW-TrRgOrF?4J zwhaK=+uJCWN&tXbt%kv10Mj&)Wf|f)wg@427XebrXNF-scN~XMO4r*j6h%=solbuO zI1oY{EFbZNF&0Kqv_UC_X`1kTe}Ulp{^cFcg%D3X&wo2!`9d7W?TWs_nN#AnZEfu)5#<5wR4SDpo`t%Wo5-aC4UIBYE! zF)B)>(j0*ILWnpKJ#-xB0W;qrq8r(4b|MG@bi3WTe+n@3%VaWnDVa=?=XvwK?|X(} z_^DLNA|hz5H8a1tC_>fu{SyF4r_-_7*;(XrIXfPY695pA0C2xpELs3iE|*OJpfdur zzP|otYHDiEwtsDmgPC!3bQCD1B4(Z-qR6tW%cl{RmzND9x+0|n08CC!qEILR0CsnG z(d+dvJv|*C3@bKR(p#*&(lH(*tTsE(bJKrF=hfHS~N`)Q52!u?J_ezBBFK>1Up*mTo{J^;c)n5 z#24fJ!{P8lr_<4ghlh%YYOd?Pt5hoAwbr-8Fx(VETz6gf^Y|N_gX1_?nRyAoYu9yK cf8&hs6DRx$Ta-P_O#lD@07*qoM6N<$f;QGKTL1t6 diff --git a/src/icons/images/options_edit_16px@2x.png b/src/icons/images/options_edit_16px@2x.png index 606d9a78399dffc34d76b84e26007916049df573..82e48175c7927c8bafa27d9ea3e4b7f2b96381d5 100644 GIT binary patch delta 1224 zcmV;(1ULKC3zZ6xU4I0kNklYzensfn5fdRpg zb|@-pfi96)x-ftkKowG}_+{}BKX(BMBqRo=4h%@BQq@ucLt6$aB!sHMk|r5Y6_a1t zag#WHcJ5(F?Aoavx$OW$&-Tta_nhzEd(OT0!87@fMV>am#DBy@)UvEQKmoXAjJbUA z;>8~UZDqXGVv>`t>%Q2?CL$jK&jE*l4=l^N?z-+>*L6=kH9#_%?3kRKykuF{b>P=T zA~Ckd9uSdFL_}k;7(G2bw70hdJTD^Wo(dqDOm>w@rC(I_tZmx>Vau|9a9#I!#iv*- zo(1|H$B{rFfPdpSghHW;`S(@;+L|N}`o4b^IO;eK-QC@6Zf=szW<$U=*L8meUIqq5 zL_0bxlu1#o`eWc|$~qMx%%b;cys$TrL+>)ptaM0|yQei9{q22-J=R zC~jEA@;s;ctf!Go$k91hdp-!FZAeSgH`abmF;j^i{6A)!#{NGkwM z+t790gTP-vZ!8w0c9#1|p-^CTbroRQ81q`WTwV+YgKCr&KDjxVQ*#Vqbs@7cRtY+kQ(#PO9o@5mCo+s!K3D zJY1K&7UIyML(I&~G@MLZTQ${ioxb+Nb=@n#X@7QWLqs$hjf!PG+{Q-9Yi)Z0j4>38 zMYguKDypHT0Kjn(k#IPS<2VEY0ol9%k0To!8)UOtwokM3k%H7&Q`y-wzg1J0lx7(@6%?`bpRsrld7J|X0wP0#uxxXp%9Ts1Q9`1xq0&@ zqobn?4ee~_{rmTsnVG4!A?zGTyD`6Qmb?+bHC6q*R4UoKDg}!9d_D+N+e%fLo}OlU zdb(-g?d@#uPFj|A-EkaxdU_tQt7`QCsx925r6qjdM^z`&>9p4 zN4jEteVwJHB{G=|nM{U-g$1o$rS9%-cE=^ppFiLC!~n*aV?gD(1?=>AE|;s!aDNrJ zy}iB7%F2rF>R4M_tGNFe4u^A33;>MP0;p>3ZTE`jdA*+Jy)Gi>RF&oBWnElctaQR% zRedv=Ol~y_+!BC@yaceewnm{)pin4Os{D%Qd4E*=QmNFJz{jdexm*VL-WYQ%oldVd zi@on{SR)?+Q-wldq|)EJV4v-E^g%rDt3)F4kB9_4&)fG5fXDbT86O|FM@L7`0B@`6 m2@$!IN~KPyXxE`bv#PJ}GW`UtqV8f=${Oy%?W zgKG#L2A&4kv43L+{r&w64-XTM$9$TQ28V#Sw^!*5QZGlqi2tXtf!GAPO01U$*l}ZtbMDW3b!65N? zoS~s1f8POUG#ZEqz;EZyox8qe0$S@+K(k)2Q>j$$IR*lxQYl79M@gsCjEszsOeTF& z?FsmwJF?mA(Jd1=d-m*iz}o=ja=Epiz8HoT9Dm0FI0k&*lR!S7Pid`R0Eoq6UEmWF z6O4?Ev~;_6?P7Fvl&Pty4ibi8bghp@qdtM7?G;e@eEzW3`Z?fvt@UGo5ekL6PWhfa zdpf||N$lObm)Y6bUO9DCW>v;o1T4$CthIis-7y>vGcYjF6`&V*yR8=i5uskM<2Vl0 zYJb&Nr&|PoLvVNa#9}c_)9e^7|3vEbI;Bzx&-2!j`Wo)dfjNM_zCIF(#D?IvZr$3n zO+;8)TJpjF6p_z>R}8~Q7mLLV+^fJG@Q~}et?|2_T)%#uv9U3Rhle}#^YimuyLPQZ z=en*x3+kq6rfu6^SsTwMa0PhAaU3F%2!EdE(QGye1Oh~((T>R{B1}(Dvw#17#>U0~ zxOwv?v$L}u9RRdOxl(Gn7kE2?uK>GNt5K`fIvrN~*)WU_5;HS1%*@R6irJFYc0)uy zSkET_V4CI+z)!2XW#AX!GH|WgY_hPh(3Rb0#J`wC>o9x`V6Tk-tKt%Lf{|%qz07|I|pyN&u z5pLgZ{U&?}yr{K)P$~5?;8m+t78e&;Sy`b}D*1k2l*{Ee*T&z>7EAygv!GI`ptS~= zGfneV+qN64rWwn!8o3qPl)PoEysT4#V~MdT - + transform="matrix(0.08097688,0,0,0.08193194,-111.93548,-22.413459)" /> hide (); mp_options_label->setCursor (Qt::ArrowCursor); - mp_options_label->setPixmap (QString::fromUtf8 (":/options_edit.png")); + mp_options_label->setPixmap (QString::fromUtf8 (":/options_edit_16px.png")); mp_clear_label = new QLabel (this); mp_clear_label->hide (); From 878389e8580f89e4826fbede2fb9eae4471d5d9e Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 13 Sep 2022 01:12:09 +0200 Subject: [PATCH 18/52] More icons transferred to SVG --- src/ant/ant/RulerConfigPage4.ui | 4 +- src/icons/icons.qrc | 18 ++-- src/icons/images/down.png | Bin 220 -> 0 bytes src/icons/images/down_16px.png | Bin 0 -> 330 bytes src/icons/images/down_16px@2x.png | Bin 0 -> 394 bytes src/icons/images/downdown.png | Bin 227 -> 0 bytes src/icons/images/downdown_16px.png | Bin 0 -> 345 bytes src/icons/images/downdown_16px@2x.png | Bin 0 -> 450 bytes src/icons/images/left.png | Bin 226 -> 0 bytes src/icons/images/left_16px.png | Bin 0 -> 298 bytes src/icons/images/left_16px@2x.png | Bin 0 -> 411 bytes src/icons/images/right.png | Bin 221 -> 0 bytes src/icons/images/right_16px.png | Bin 0 -> 330 bytes src/icons/images/right_16px@2x.png | Bin 0 -> 416 bytes src/icons/images/up.png | Bin 218 -> 0 bytes src/icons/images/up_16px.png | Bin 0 -> 314 bytes src/icons/images/up_16px@2x.png | Bin 0 -> 394 bytes src/icons/images/upup.png | Bin 221 -> 0 bytes src/icons/images/upup_16px.png | Bin 0 -> 378 bytes src/icons/images/upup_16px@2x.png | Bin 0 -> 425 bytes src/icons/svg/down_16px.svg | 87 ++++++++++++++++ src/icons/svg/downdown_16px.svg | 93 +++++++++++++++++ src/icons/svg/left_16px.svg | 88 ++++++++++++++++ src/icons/svg/right_16px.svg | 88 ++++++++++++++++ src/icons/svg/up_16px.svg | 88 ++++++++++++++++ src/icons/svg/upup_16px.svg | 95 ++++++++++++++++++ src/lay/lay/ReplacePropertiesBox.ui | 6 +- src/lay/lay/ReplacePropertiesInstance.ui | 2 +- src/lay/lay/ReplacePropertiesPath.ui | 4 +- src/lay/lay/ReplacePropertiesShape.ui | 2 +- src/lay/lay/ReplacePropertiesText.ui | 8 +- src/lay/lay/SearchReplaceDialog.ui | 2 +- src/layui/layui/BrowseInstancesForm.ui | 8 +- src/layui/layui/BrowseShapesForm.ui | 12 +-- src/layui/layui/CellSelectionForm.ui | 4 +- src/layui/layui/EditLineStylesForm.ui | 8 +- src/layui/layui/EditStipplesForm.ui | 12 +-- src/layui/layui/MarkerBrowserPage.ui | 8 +- src/layui/layui/PropertiesDialog.ui | 4 +- src/layui/layui/layLayerControlPanel.cc | 8 +- .../lay_plugin/LEFDEFImportOptionsDialog.ui | 4 +- .../LEFDEFTechnologyComponentEditor.ui | 40 ++++---- .../magic/lay_plugin/MAGReaderOptionPage.ui | 4 +- .../pcb/lay_plugin/GerberImportDialog.ui | 12 +-- .../NetTracerTechComponentEditor.ui | 8 +- 45 files changed, 631 insertions(+), 86 deletions(-) delete mode 100644 src/icons/images/down.png create mode 100644 src/icons/images/down_16px.png create mode 100644 src/icons/images/down_16px@2x.png delete mode 100644 src/icons/images/downdown.png create mode 100644 src/icons/images/downdown_16px.png create mode 100644 src/icons/images/downdown_16px@2x.png delete mode 100644 src/icons/images/left.png create mode 100644 src/icons/images/left_16px.png create mode 100644 src/icons/images/left_16px@2x.png delete mode 100644 src/icons/images/right.png create mode 100644 src/icons/images/right_16px.png create mode 100644 src/icons/images/right_16px@2x.png delete mode 100644 src/icons/images/up.png create mode 100644 src/icons/images/up_16px.png create mode 100644 src/icons/images/up_16px@2x.png delete mode 100644 src/icons/images/upup.png create mode 100644 src/icons/images/upup_16px.png create mode 100644 src/icons/images/upup_16px@2x.png create mode 100644 src/icons/svg/down_16px.svg create mode 100644 src/icons/svg/downdown_16px.svg create mode 100644 src/icons/svg/left_16px.svg create mode 100644 src/icons/svg/right_16px.svg create mode 100644 src/icons/svg/up_16px.svg create mode 100644 src/icons/svg/upup_16px.svg diff --git a/src/ant/ant/RulerConfigPage4.ui b/src/ant/ant/RulerConfigPage4.ui index 384f15c4c..ac380684e 100644 --- a/src/ant/ant/RulerConfigPage4.ui +++ b/src/ant/ant/RulerConfigPage4.ui @@ -90,7 +90,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -132,7 +132,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index daba124f5..4a5f116d3 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -60,8 +60,10 @@ images/del_16px@2x.png images/del_24px.png images/del_24px@2x.png - images/down.png - images/downdown.png + images/down_16px.png + images/down_16px@2x.png + images/downdown_16px.png + images/downdown_16px@2x.png images/execmark.png images/find.png images/fliph.png @@ -87,7 +89,8 @@ images/lb_31px@2x.png images/lc_31px.png images/lc_31px@2x.png - images/left.png + images/left_16px.png + images/left_16px@2x.png images/logo.png images/lt_31px.png images/lt_31px@2x.png @@ -137,7 +140,8 @@ images/rename.png images/replace.png images/replace_all.png - images/right.png + images/right_16px.png + images/right_16px@2x.png images/rotate.png images/rt_31px.png images/rt_31px@2x.png @@ -161,8 +165,10 @@ images/text.png images/textdocumenticon.png images/unchecked.png - images/up.png - images/upup.png + images/up_16px.png + images/up_16px@2x.png + images/upup_16px.png + images/upup_16px@2x.png images/waived.png images/yellow_flag_16px.png images/yellow_flag_16px@2x.png diff --git a/src/icons/images/down.png b/src/icons/images/down.png deleted file mode 100644 index bffb8b7493adf9397b48dfe7cd5c5f7725599172..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G^rrQ8CHYnAtw0tMMiJbhi+uW_@8@C(1-SegkGk}YwKC~?lu%}vcKVQ?-=O)N=G zQ7F$W$xsN%NL6t6^bL5QqM8R(=-}z%7*cU7IYHu6gJAcK`k*Vufv=dLxPGT!^T$&EyN@WHU9XgOnGd=a96;sDEX!R;ScN#)-yS{6?B^%fo3syy85}S Ib4q9e0AyZ6O8@`> diff --git a/src/icons/images/down_16px.png b/src/icons/images/down_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..3e4717082b371458a0d27c574a3fd9e08769ea8d GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt znWr8HD6hCAAbEg$g;37siN`wbuw`CVaWG;~FO&_}((4rzn51mzvF`VSy^m`j9F|Xg zsqk_J>&)8UcfM@Y=sGMUlWeo}v)c3Hsypx8S{ZaqMfQ5u|0NQSGnr#nt*ZL18#C=G zdqJUtypzBI1D;g9JEeEI3(C^Urk3z2P7t1Sz(4KVONJunWdFF@@@T9 ZalX0LTYf3-`UmtPgQu&X%Q~loCIBf0g_r;U literal 0 HcmV?d00001 diff --git a/src/icons/images/down_16px@2x.png b/src/icons/images/down_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f66cf575e76a88d418e2a0c24052884ce1b790a7 GIT binary patch literal 394 zcmV;50d@X~P)SKtab#NO?;v2}J| z0XfT-?snffza6`;KmzmtS(d$T6;(>L=4YP(FF;?G<>wX%rBqwj^#?yU{w4rg>l@$! zNQ$DkZJI`H5*PWpe2mscjKyK_HCzi}i~j< zeBw?3AB1n*8DJ1c;NFH9#9u|^!W!j*ZI5i4R`6>Hf5doj{pDw07*qoM6N<$f{E3jTL1t6 literal 0 HcmV?d00001 diff --git a/src/icons/images/downdown.png b/src/icons/images/downdown.png deleted file mode 100644 index a47dc96e79480b16b87ed9806e64446ef9bb0979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`-Aj~-FC-YLEAbW|YuPggCZcbqi&b53jJwPGZ64!_l=ltB<)VvY~=c3falGGH1 z^30M9g^-L?1$R&1fcGh?c|e8ko-U3d6}OTTBr*x=o)7b5_V&2^ zl1+~=m?Y2;@ijn(yT?N0pSsbhLaBy44&|L2zs%3`ocX5YfXRcMf(%TLIr*-n*DnJa O$>8bg=d#Wzp$Pyg+eelF diff --git a/src/icons/images/downdown_16px.png b/src/icons/images/downdown_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..82f4b40ea6827095800e14d9a252b2d6822fdd9e GIT binary patch literal 345 zcmV-f0jBpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Om#6x$F8Zi;wDMQ0a&thG@K!#N|Bl-N|!W#lySVjQ=iNfuj zMApcwAbBGBoagzcF^0w%W?A-4@`dCnoL^j`pJW`zC+8fhs`>!Xh{&**_nZ&i!t@V+ r672oKgud_Re^?}N&h5G@rRD^8Da3(}%hKO*00000NkvXXu0mjfnFNra literal 0 HcmV?d00001 diff --git a/src/icons/images/downdown_16px@2x.png b/src/icons/images/downdown_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..011bff1f242088f917afe2d7035e1778957d5c70 GIT binary patch literal 450 zcmV;z0X_bSP)(FLR0JdA`$UgAxE90352S+DR$5bBH%h zv&GlMp9uh%`4Ye#fQzy$uiLi0ok9GGh~B=F?%WV2abR!|5zzd-|*W!R-+og8G zAif{=8~1%Gh%s?1Kne&SaVNkO2w(A0fEb7naW8-nh){8F01a`aA%qFyMEsG6-hIXm z`uo|Oh?#j5z$rvg6gNsK)OGzDBW?tk;f7QZkvcvsejl*b1*vaHecx|P?JftBE`w6a s*zU{$+ea}msE&T*fU`7nl~k$X6PRJ*yV5Bm&;S4c07*qoM6N<$f|qi-v;Y7A literal 0 HcmV?d00001 diff --git a/src/icons/images/left.png b/src/icons/images/left.png deleted file mode 100644 index 3584371100b9d240ab8b32b23db28762210d9c2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`-Aj~-FC-YLEAbW|YuPggCZWa+f<~K`Pe1Jl-C9V-A&iT2ysd*&~&PAz-C8;S2 z<(VZJ3LzP(3hti10q;{(^MDH7JY5_^DsCN}9LUF@z~OZC_x+iA0m3Cy_xG8*_Edz} zm=-C8F|2u!(G}?HaCOd{j&g=w&pi(dSF-vrim|xyUEma2_y5rUsIr%wLQTK=jDRLG Nc)I$ztaD0e0ssq}Ms@%I diff --git a/src/icons/images/left_16px.png b/src/icons/images/left_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5a747ae382372550bafa12c7294d6b79c38f1a GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&KtGvAp|Ia(Va6zm>b)R8-bBFmGTp*j)VP zKhLz1RjXb_Odni)n^Tu_rWAA^T9kIwJusJ)4a=WAnxh>0=~i>RYJRuKk~<_tD#~OpLr3O3tCTdP-HtNiGLhD4*cD>=8MA}q(i-M_ zcr@SG!kwY2PrwI|4f7&W#eAQwFR_bT;vt22S(dL&)4Tw*ZTq=9fT}(N?_=>TVJ=-t zaWg<)_GIEcoLQzVQ}->bHHPZg4lkeph*)XGG~di$uTf^o#hl-kapr8&@cv1S3j3^ HP6anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt-hm-qJ4#lE?pcweb>++QH_SK9pTlLFZs#Um;c%v(RaJGu9vZR28( zZI3^4K2T8751+r?W1E*|SZJyGPSu$|t0oJqc>miq_PREMw0z354R4zqvgc0t)2*zg zaQ^e$^S*&1{A<5*UYpONY%xdYxW(s;27V#d4GP(lB25?=E}8uGd7j}AIc@v8*LnJRjp+?gjG2BpsN=9Gq~j#sAIPOz|l}IkTQg-D*#0`S{eh?y~ugsw1VDYl|;@ a6HnBwpLX=zt@l7LGI+ZBxvXMC@5Lt z8c`CQpH@mmtT}V`<;yx0|TS3r;B4qMC;z^j(kl90X!xiR<1lTFMb|?Hy(veyCGwM#Vl`HzXwCJzy?^n-KgZvfEMRe$On!Cp z0<(j=OZfHlf+&sWdA)|&ya$4;6wiOQWe{;K%)I^WM_WU_&^^vCwfk4DT6ILdGc<^S zE$KP)LZ%H49a&Awn0>bX&sfp8a$lCy7V9gVJV{xHG&!@GwwceJY|@#)$umh!P{x5v zkkx@nkoSP7l2!w^O9=z_ksF4S84LuHZ~FlQA#&Q?{d(dJ$DiK_PmP>6YnkQas|)yC zN~AS~W|uct3Nak}v)t63b%t?2*MlTE-UC-{xEhYgaQtw8lFY~AbKtm4f|Q`()jPfa zCw(+cXI!$W)FOQ4G>7bUOdN@P2D=ZadGoIDKQT*{qsXS7N$lOjyTRA9Kykp}>FVdQ I&MBb@0R6w4R{#J2 literal 0 HcmV?d00001 diff --git a/src/icons/images/up.png b/src/icons/images/up.png deleted file mode 100644 index 653de88bef134ac145ba96d039e8a8b14bf8e9a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G^rrQ8CHYnAtw0tMMiJbhi+uW_@8@SFHD2`~YLWJ_ElN}Tg^b5rw57@Uhz6H8K4 z6v{J8G895GQWe}ieFNU7sOA9`+IhM-hE&{2PLL3MU~lK?CS+nfDeFLe(iP)L4|Cj{ z*#4+1#YhxNewg2KAl1eEfxV>R5syL%gTPrHGbG#?85XYM;AZnwxehdm!PC{xWt~$( F698a9J&6DS diff --git a/src/icons/images/up_16px.png b/src/icons/images/up_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..e512c04c8444c443adbadc6230cae0ed7ef61961 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt;zrT^vI!dbdt8`zqo;gxIX!)`r)8mXUm~rp_$D6ULInrX0;z;K3U1AFq50v;r2Fd zhRz8#yP8dW`Rz8m-ZlAmpUV?viBroS8BJa;GwY$^*}Mt>lg>@_9TdvO)y2%l;W+ ziK$l1YTnb#NDHvUD+e01oObi0Ip=4h6uE0EGH<2k_}5A;z!h;YCrr z=Xt(Ub@t5s_EZ5i?-pLy^;Sx`=}9>4g!Kqi;X@bR&1YG5t*Yt^zvH+N(Jh)lzwLdv zM#5?*Mg?r)z7j?OSGbRaR=^kTDlsS!3U`rs5Qqi0mG~nN8*U@f3OoxwCP7ocO%gN} zTr0uMA5+1HBm~rhG!+~Gq?8+V6wc3a>>y??O&8KMJ%s?8ra7DPvv*)cMCDLotTV2m ozopr0IT3d-~a#s diff --git a/src/icons/images/upup_16px.png b/src/icons/images/upup_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..05cb00a504145dcc172769ad440eb86692b98d35 GIT binary patch literal 378 zcmV-=0fqjFP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10S8G$ zK~y-6rIImjgFqBS=OcGcT3=+hvmixsf;4fJq_vd-sFnuX7l11yP2>}7Lt{bQAa0YM zNdt%w%K>@H-Fr zzLC5gWp3b&G3Kb0qEd>DWJ7ZPXObZd;5mw-r!33v`ggADp3*cu0QeA*@Aljo0|P)& z6w4q8Rsdc|-ux1@a2&^v=it6148s+G*H$8Z*joGW&x!y5p68vCBsl1@a05TuXm}e2OUk_F2O>1pvdR3HC&T+4R)_RkT4qzCDolC;4wGVR& z_$u)0tV`d4Pz8!)^-f8i19$+S+P1wN$Fb_V?iGLq@FF7b2NRgXjWIU>P}lWaszme= zki2lg0if^utEOr0ruFVgUdFB)RRQ15=Siu=qChM>RU#;`7M>#E6-b4zm2e9D6~0Eo z^(D*#kCpf#kQ*K&@hxyD_>zQ_fQKZc6x=I8@)5vU3AjVzLt*+K7-OzWz=8e0V`}$2 zZA!t&QU|29ehSSm#n%f?;n6EliO9}1L2{cDBqGlBj$VP2K&T(sW(ED%J8;S;sdMc7 TULwWb00000NkvXXu0mjf19-Ec literal 0 HcmV?d00001 diff --git a/src/icons/svg/down_16px.svg b/src/icons/svg/down_16px.svg new file mode 100644 index 000000000..243ab3c55 --- /dev/null +++ b/src/icons/svg/down_16px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/downdown_16px.svg b/src/icons/svg/downdown_16px.svg new file mode 100644 index 000000000..b8ab00b6f --- /dev/null +++ b/src/icons/svg/downdown_16px.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/left_16px.svg b/src/icons/svg/left_16px.svg new file mode 100644 index 000000000..a007a4e6d --- /dev/null +++ b/src/icons/svg/left_16px.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/right_16px.svg b/src/icons/svg/right_16px.svg new file mode 100644 index 000000000..7cd8ca667 --- /dev/null +++ b/src/icons/svg/right_16px.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/up_16px.svg b/src/icons/svg/up_16px.svg new file mode 100644 index 000000000..e687768e5 --- /dev/null +++ b/src/icons/svg/up_16px.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/upup_16px.svg b/src/icons/svg/upup_16px.svg new file mode 100644 index 000000000..05dd67192 --- /dev/null +++ b/src/icons/svg/upup_16px.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/ReplacePropertiesBox.ui b/src/lay/lay/ReplacePropertiesBox.ui index 3e0f63f5f..2c33b9c67 100644 --- a/src/lay/lay/ReplacePropertiesBox.ui +++ b/src/lay/lay/ReplacePropertiesBox.ui @@ -48,7 +48,7 @@ - :/right.png + :/right_16px.png @@ -58,7 +58,7 @@ - :/right.png + :/right_16px.png @@ -78,7 +78,7 @@ - :/right.png + :/right_16px.png diff --git a/src/lay/lay/ReplacePropertiesInstance.ui b/src/lay/lay/ReplacePropertiesInstance.ui index 1bc37cc77..772decf8b 100644 --- a/src/lay/lay/ReplacePropertiesInstance.ui +++ b/src/lay/lay/ReplacePropertiesInstance.ui @@ -25,7 +25,7 @@ - :/right.png + :/right_16px.png diff --git a/src/lay/lay/ReplacePropertiesPath.ui b/src/lay/lay/ReplacePropertiesPath.ui index 34425759b..99a621b2c 100644 --- a/src/lay/lay/ReplacePropertiesPath.ui +++ b/src/lay/lay/ReplacePropertiesPath.ui @@ -55,7 +55,7 @@ - :/right.png + :/right_16px.png @@ -68,7 +68,7 @@ - :/right.png + :/right_16px.png diff --git a/src/lay/lay/ReplacePropertiesShape.ui b/src/lay/lay/ReplacePropertiesShape.ui index fcfab0404..c1b749972 100644 --- a/src/lay/lay/ReplacePropertiesShape.ui +++ b/src/lay/lay/ReplacePropertiesShape.ui @@ -25,7 +25,7 @@ - :/right.png + :/right_16px.png diff --git a/src/lay/lay/ReplacePropertiesText.ui b/src/lay/lay/ReplacePropertiesText.ui index 5b56da4ca..41b9959ec 100644 --- a/src/lay/lay/ReplacePropertiesText.ui +++ b/src/lay/lay/ReplacePropertiesText.ui @@ -105,7 +105,7 @@ - :/right.png + :/right_16px.png @@ -115,7 +115,7 @@ - :/right.png + :/right_16px.png @@ -141,7 +141,7 @@ - :/right.png + :/right_16px.png @@ -158,7 +158,7 @@ - :/right.png + :/right_16px.png diff --git a/src/lay/lay/SearchReplaceDialog.ui b/src/lay/lay/SearchReplaceDialog.ui index 4c26a1cb5..e54cda3d3 100644 --- a/src/lay/lay/SearchReplaceDialog.ui +++ b/src/lay/lay/SearchReplaceDialog.ui @@ -798,7 +798,7 @@ p, li { white-space: pre-wrap; } ... - :/left.png + :/left_16px.png true diff --git a/src/layui/layui/BrowseInstancesForm.ui b/src/layui/layui/BrowseInstancesForm.ui index d295a1f40..8f2f5201c 100644 --- a/src/layui/layui/BrowseInstancesForm.ui +++ b/src/layui/layui/BrowseInstancesForm.ui @@ -90,7 +90,7 @@ > - :/down.png + :/down_16px.png @@ -130,7 +130,7 @@ < - :/up.png + :/up_16px.png @@ -164,7 +164,7 @@ > - :/down.png + :/down_16px.png @@ -212,7 +212,7 @@ < - :/up.png + :/up_16px.png diff --git a/src/layui/layui/BrowseShapesForm.ui b/src/layui/layui/BrowseShapesForm.ui index e4732cb64..f4a4797da 100644 --- a/src/layui/layui/BrowseShapesForm.ui +++ b/src/layui/layui/BrowseShapesForm.ui @@ -72,7 +72,7 @@ > - :/down.png + :/down_16px.png @@ -82,7 +82,7 @@ < - :/up.png + :/up_16px.png @@ -169,7 +169,7 @@ > - :/down.png + :/down_16px.png @@ -179,7 +179,7 @@ < - :/up.png + :/up_16px.png @@ -246,7 +246,7 @@ > - :/down.png + :/down_16px.png @@ -256,7 +256,7 @@ < - :/up.png + :/up_16px.png diff --git a/src/layui/layui/CellSelectionForm.ui b/src/layui/layui/CellSelectionForm.ui index 659d671a5..386813c9d 100644 --- a/src/layui/layui/CellSelectionForm.ui +++ b/src/layui/layui/CellSelectionForm.ui @@ -205,7 +205,7 @@ - :/right.png + :/right_16px.png @@ -428,7 +428,7 @@ - :/right.png + :/right_16px.png diff --git a/src/layui/layui/EditLineStylesForm.ui b/src/layui/layui/EditLineStylesForm.ui index 35c34c084..341b45eb0 100644 --- a/src/layui/layui/EditLineStylesForm.ui +++ b/src/layui/layui/EditLineStylesForm.ui @@ -207,7 +207,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png @@ -255,7 +255,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -428,7 +428,7 @@ - :/left.png:/left.png + :/left_16px.png:/left_16px.png @@ -439,7 +439,7 @@ - :/right.png:/right.png + :/right_16px.png:/right_16px.png diff --git a/src/layui/layui/EditStipplesForm.ui b/src/layui/layui/EditStipplesForm.ui index 3b6219dd3..a682951e5 100644 --- a/src/layui/layui/EditStipplesForm.ui +++ b/src/layui/layui/EditStipplesForm.ui @@ -201,7 +201,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png @@ -249,7 +249,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -435,7 +435,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -446,7 +446,7 @@ - :/left.png:/left.png + :/left_16px.png:/left_16px.png @@ -457,7 +457,7 @@ - :/right.png:/right.png + :/right_16px.png:/right_16px.png @@ -468,7 +468,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png diff --git a/src/layui/layui/MarkerBrowserPage.ui b/src/layui/layui/MarkerBrowserPage.ui index d352c1916..b3e34f405 100644 --- a/src/layui/layui/MarkerBrowserPage.ui +++ b/src/layui/layui/MarkerBrowserPage.ui @@ -248,7 +248,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png @@ -259,7 +259,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -356,7 +356,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -374,7 +374,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png diff --git a/src/layui/layui/PropertiesDialog.ui b/src/layui/layui/PropertiesDialog.ui index 4edb7171e..c2af6c108 100644 --- a/src/layui/layui/PropertiesDialog.ui +++ b/src/layui/layui/PropertiesDialog.ui @@ -88,7 +88,7 @@ - :/left.png:/left.png + :/left_16px.png:/left_16px.png false @@ -108,7 +108,7 @@ - :/right.png:/right.png + :/right_16px.png:/right_16px.png false diff --git a/src/layui/layui/layLayerControlPanel.cc b/src/layui/layui/layLayerControlPanel.cc index a4d225ce1..f5efef48e 100644 --- a/src/layui/layui/layLayerControlPanel.cc +++ b/src/layui/layui/layLayerControlPanel.cc @@ -348,25 +348,25 @@ LayerControlPanel::LayerControlPanel (lay::LayoutViewBase *view, db::Manager *ma b = new QToolButton (tb); b->setObjectName (QString::fromUtf8 ("lcp_dd")); ltb->addWidget (b); - b->setIcon (QIcon (QString::fromUtf8 (":downdown.png"))); + b->setIcon (QIcon (QString::fromUtf8 (":downdown_16px.png"))); connect (b, SIGNAL (clicked ()), this, SLOT (downdown_clicked ())); b = new QToolButton (tb); b->setObjectName (QString::fromUtf8 ("lcp_d")); ltb->addWidget (b); - b->setIcon (QIcon (QString::fromUtf8 (":down.png"))); + b->setIcon (QIcon (QString::fromUtf8 (":down_16px.png"))); connect (b, SIGNAL (clicked ()), this, SLOT (down_clicked ())); b = new QToolButton (tb); b->setObjectName (QString::fromUtf8 ("lcp_u")); ltb->addWidget (b); - b->setIcon (QIcon (QString::fromUtf8 (":up.png"))); + b->setIcon (QIcon (QString::fromUtf8 (":up_16px.png"))); connect (b, SIGNAL (clicked ()), this, SLOT (up_clicked ())); b = new QToolButton (tb); b->setObjectName (QString::fromUtf8 ("lcp_uu")); ltb->addWidget (b); - b->setIcon (QIcon (QString::fromUtf8 (":upup.png"))); + b->setIcon (QIcon (QString::fromUtf8 (":upup_16px.png"))); connect (b, SIGNAL (clicked ()), this, SLOT (upup_clicked ())); ltb->addStretch (0); diff --git a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui index 448c7a7b1..dbb3e9401 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui +++ b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFImportOptionsDialog.ui @@ -219,7 +219,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -233,7 +233,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png diff --git a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui index 9bb3c9f6e..a28b97c7b 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui +++ b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui @@ -237,7 +237,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png @@ -279,7 +279,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -369,7 +369,7 @@ - :/up.png:/up.png + :/up_16px.png:/up_16px.png @@ -383,7 +383,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png @@ -620,7 +620,7 @@ - :/right.png + :/right_16px.png @@ -670,7 +670,7 @@ - :/right.png + :/right_16px.png @@ -716,7 +716,7 @@ - :/right.png + :/right_16px.png @@ -736,7 +736,7 @@ - :/right.png + :/right_16px.png @@ -765,7 +765,7 @@ - :/right.png + :/right_16px.png @@ -899,7 +899,7 @@ - :/right.png + :/right_16px.png @@ -1084,7 +1084,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1107,7 +1107,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1143,7 +1143,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1159,7 +1159,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1195,7 +1195,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1211,7 +1211,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1228,7 +1228,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1265,7 +1265,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1364,7 +1364,7 @@ suffix ... - :/right.png + :/right_16px.png @@ -1470,7 +1470,7 @@ type ... - :/right.png + :/right_16px.png diff --git a/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui b/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui index efc870079..4dd76f3b7 100644 --- a/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui +++ b/src/plugins/streamers/magic/lay_plugin/MAGReaderOptionPage.ui @@ -162,7 +162,7 @@ - :/down.png:/down.png + :/down_16px.png:/down_16px.png @@ -198,7 +198,7 @@ You can use expressions inside the path components for variable paths - :/up.png:/up.png + :/up_16px.png:/up_16px.png diff --git a/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui b/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui index d1a85bc2b..27ed8bb8f 100644 --- a/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui +++ b/src/plugins/streamers/pcb/lay_plugin/GerberImportDialog.ui @@ -229,7 +229,7 @@ surface. ... - :/down.png + :/down_16px.png Ctrl+Down @@ -245,7 +245,7 @@ surface. ... - :/up.png + :/up_16px.png Ctrl+Up @@ -586,7 +586,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/up.png + :/up_16px.png Ctrl+Up @@ -618,7 +618,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/down.png + :/down_16px.png Ctrl+Down @@ -704,7 +704,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/down.png + :/down_16px.png Ctrl+Down @@ -720,7 +720,7 @@ For "bottom" mounting, the top PCB layer will be assigned to the last layout lay ... - :/up.png + :/up_16px.png Ctrl+Up diff --git a/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui b/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui index adfc6057c..188969569 100644 --- a/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui +++ b/src/plugins/tools/net_tracer/lay_plugin/NetTracerTechComponentEditor.ui @@ -97,7 +97,7 @@ ... - :/down.png + :/down_16px.png @@ -165,7 +165,7 @@ ... - :/up.png + :/up_16px.png @@ -247,7 +247,7 @@ ... - :/down.png + :/down_16px.png @@ -314,7 +314,7 @@ ... - :/up.png + :/up_16px.png From a5b34037ab2eb4f8ad7257880ab38a0ad8e940f0 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 13 Sep 2022 18:23:47 +0200 Subject: [PATCH 19/52] New icons translated --- src/icons/icons.qrc | 9 +- src/icons/images/bright.png | Bin 244 -> 0 bytes src/icons/images/bright_12px.png | Bin 0 -> 482 bytes src/icons/images/bright_12px@2x.png | Bin 0 -> 942 bytes src/icons/images/dark.png | Bin 242 -> 0 bytes src/icons/images/dark_12px.png | Bin 0 -> 482 bytes src/icons/images/dark_12px@2x.png | Bin 0 -> 909 bytes src/icons/images/empty_16.png | Bin 149 -> 0 bytes src/icons/images/neutral.png | Bin 237 -> 0 bytes src/icons/images/neutral_12px.png | Bin 0 -> 451 bytes src/icons/images/neutral_12px@2x.png | Bin 0 -> 826 bytes src/icons/svg/bright_12px.svg | 120 +++++++++++++++++++++++++++ src/icons/svg/dark_12px.svg | 120 +++++++++++++++++++++++++++ src/icons/svg/neutral_12px.svg | 107 ++++++++++++++++++++++++ src/layui/layui/layLayerToolbox.cc | 6 +- 15 files changed, 356 insertions(+), 6 deletions(-) delete mode 100644 src/icons/images/bright.png create mode 100644 src/icons/images/bright_12px.png create mode 100644 src/icons/images/bright_12px@2x.png delete mode 100644 src/icons/images/dark.png create mode 100644 src/icons/images/dark_12px.png create mode 100644 src/icons/images/dark_12px@2x.png delete mode 100644 src/icons/images/empty_16.png delete mode 100644 src/icons/images/neutral.png create mode 100644 src/icons/images/neutral_12px.png create mode 100644 src/icons/images/neutral_12px@2x.png create mode 100644 src/icons/svg/bright_12px.svg create mode 100644 src/icons/svg/dark_12px.svg create mode 100644 src/icons/svg/neutral_12px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 4a5f116d3..0092b5403 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -32,7 +32,8 @@ images/breakpointmark_16px@2x.png images/breakpointmarkdisabled_16px.png images/breakpointmarkdisabled_16px@2x.png - images/bright.png + images/bright_12px.png + images/bright_12px@2x.png images/bulb.png images/cb_31px.png images/cb_31px@2x.png @@ -54,7 +55,8 @@ images/cm_merge.png images/ct_31px.png images/ct_31px@2x.png - images/dark.png + images/dark_12px.png + images/dark_12px@2x.png images/defaultmacroicon.png images/del_16px.png images/del_16px@2x.png @@ -104,7 +106,8 @@ images/m90_24px@2x.png images/move.png images/move_simple.png - images/neutral.png + images/neutral_12px.png + images/neutral_12px@2x.png images/new_folder.png images/next_topic_24px.png images/next_topic_24px@2x.png diff --git a/src/icons/images/bright.png b/src/icons/images/bright.png deleted file mode 100644 index df3a90a7c8dfb78896c49a48eda05e3509460e1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7l!{JxM1({$v_d#0*}aI z1_o|H5N51TiJu4*WH0gbb!ETKC@&(ZX_9ei8c;~K#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2AtWPJ!QIn0;C+f}9#CO~r;B4q#jUB6y!jd&IGp1OaG+I z=JM=s$-VlcO8J`7O#g*B^^;~BZxcN`&z|GMN(Ujsm3#s`f>+;pT=>4{b^Xmto!vz@ g&OVIbGq3EGo}p>QE+Fu#1!xC@r>mdKI;Vst02qZ*NdN!< diff --git a/src/icons/images/bright_12px.png b/src/icons/images/bright_12px.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa6c7702012f99fb5daec6be7a7d8238b2eba18 GIT binary patch literal 482 zcmV<80UiE{P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10dGk} zK~yM_b&S7iB2gTL&%Ms57n@))K`pgV@DEO%K_P_nmWi?P3496PLWNzkrRA~+O9~77 zfk6w2jWC6vLuQPa-<{kv5khw7l;?ckVfak7S~WCHdlW)6iAdv|LkJ;*Ao#0k+TDCU z--B5XG|4ngIh)NC5h)^4wr#6kucs`_qFSwX1pusEE?>su@y&j}k2M+%HX4oa zJ>&5hgTWv?olXW%Boe=*lvuCVtkr7$0|P+2-A1KSi4oCH4#3)MHW~mFi^cy60MPAr zkxHd*H~`)AJODr@lZg~cr4o+Eqt3sUN~uWUym6%zrPFBufa|)Eg5x+4LcDRt*i$x} z4FO=eTt*7R;Sh(z;SUFJuj~4Ip-_0AOeT@=VzH2(=RL$+*L^h%<4Fk7*>1PU=kq+5 z%Rx#B+qTi~_c5JL$@hKBahzv%erYzF7eNsGNG6lFVHn04V-P}+@B6=ZyIp6sTD<_k Y2mFGcIGGcsH2?qr07*qoM6N<$g81*x4gdfE literal 0 HcmV?d00001 diff --git a/src/icons/images/bright_12px@2x.png b/src/icons/images/bright_12px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..89c7255c4ed6580db6da87b0ebf2d30ca3d17ffc GIT binary patch literal 942 zcmV;f15x~mP)XD zU|?Y26Dj4il=5v&({$4`g%AR_+pUVlqN$Yn1NbhPOs+kpA*v0A!{LvBACywBSB^I{ zGyq^();+#b>hH$J#;M)i-QS-zFbrcEm~iq?D8$s%6n%Yt_Uu_ra>iES67*tnL!AFQtJIwDixIgLWu7HOw%Nr%>odKL|!Bg zFg`xc*w`3KDS)2gwtqvA4IkE(3s(kr5|+R{|P9p-{L-^7(vq8~FWx zCv1`2RZ^)`x<_hhX{p$?(S~jzhgcu-RH2fvcks322x6t zQlG-zcb&`SjygL#-vmOsuG8Gy%-Pu)fk1%%{{H_ZzP!B5{QNusN~yVYI{gYBG#tY) zqQD5i?d>gIub1uZ?V1fIm&>uRu)x;V763wsUz5q?ht7PpmbnCc;pD+!kjcqO{C+=e zZEYx}$mjE9G8y9WIMHa7QmKRxLfN)Gmrkd@snn~wHN!9lfmgt@U+P_R`OC7biT(Zk z#H0CIiw(nw2qC_5xm@pgJRYxUni9a{@z~eb*Z)|S6}N4BZf|dI=P8YU0sFZ@!1L{O Ql>h($07*qoM6N<$f`<3Ma{vGU literal 0 HcmV?d00001 diff --git a/src/icons/images/dark.png b/src/icons/images/dark.png deleted file mode 100644 index ab8851a5110d558adcf32fb41cdaf32e22f622d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7l!{JxM1({$v_d#0*}aI z1_o|H5N51TiJu4*WH0gbb!ETKC@&(#x69we4k#pB;u=xnoS&PUnpeW$T$GwvlA5AW zo>`Ki5R#Fq;O^-g@IFN~52!HA)5S5Q;?~|t2l*Ndc$_Ma{r{i3$KtSA`d6jxlO}Bo z$kApjY02GmFT6MX^HFm}&wC4V8BUnZ=3=PTJvmil`4nNdKME4HbyokTdIxWKctFd- d_h4;hFLQFTIlJZEk{+N944$rjF6*2UngH|6Pf7p) diff --git a/src/icons/images/dark_12px.png b/src/icons/images/dark_12px.png new file mode 100644 index 0000000000000000000000000000000000000000..8a23b7ace0ff88a42e608dc32e71a5a363b32de2 GIT binary patch literal 482 zcmV<80UiE{P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10dGk} zK~yM_b&;{E+F%?<&p*j02AATHLLj(^AXvc%xL_%zqk~&Z@8ZMw6b32u1v->FSng7A z6CHvCq(M;JG^kN*V!jUd(&2JF+Yio}e!?@&X4A1O>$}#vEg}|xQYy>y{Fh}}pU30z z7C-=6t=0z-c}UY#q9`(xBmuzlJUX2Y)9EzZ@AvO#v)ONHG#YOUg~DpL+nG@m2`?B9 zhnS|xU@*8|E*Ho2Jnu)AWtA`t&6hGjp6B%YeI}EMv0N_S8Nl6YwX$B50m3i@px5hB zDwRGOfQsYzmd|><2B2QAb3UJyanpRpFrE~x_0!f`r{!|_X5hLm06`F7+xA~WL>^t& zz1|9HwHg4v?~^3Sg8_U|O6ApRHGeJWcDwk#&wM`5;yC_lZZ?~f<2aADZQnbN!|8M~ zvMfVHs8lKxi$zAGQF=HW?t&or^Z%%JyZz>PJbt@gub+T|h@g~8wbnnk+wJ{gvDgFr Y18l&U=x;ZZ`Tzg`07*qoM6N<$g5A5=a{vGU literal 0 HcmV?d00001 diff --git a/src/icons/images/dark_12px@2x.png b/src/icons/images/dark_12px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1725c0d32fbe8e85410d6ffbff9eb6789fbe5a47 GIT binary patch literal 909 zcmV;819JR{P)#~g1?54`aGo^zh>_c<@;JV)_B z^!4?PYpo|m)^q^i?I zuhgtf8*%r=-0}kWHR}IF-D9r($Uc&z<>Ut(WqQq zU5SXu{QSHaW5n}3F~$r7=-aJ+3t+9~@bK`ZRlgX8LV;8&1;E(Y7^9=3;bHg*Kzp7y z0lWrqaB%P_@i5lb)+%^%a*|jq2Jq&Xm5MfJ!@-Y>F#>U3F1rv!x6+byS!8r#IXutwAH#gU9a5r~nXD5VzX{D6^ ze+|03yQ_G3@qlOAIX45))YL>g96`S2~l){0tlcbai#rWiU86 zSiv(hGvSH+J)KTJ4SUhY0I^t%&d$z9iAST+iox969LvkgXsr>E58<}i`M&=f@B@_3 z@MBEI$Hz$|63oudGBq`YQVQqXlT0S_9PT_g#+awT5R|**{{BAJ+M41@DHazONu^S( zuC9h-zxclYUS-YQBxB4sz^5UdnZ#O4u~kFmS jnse^S*4EZ~EsehcTH;nk>)TpQ00000NkvXXu0mjftOB_r literal 0 HcmV?d00001 diff --git a/src/icons/images/empty_16.png b/src/icons/images/empty_16.png deleted file mode 100644 index 10b1f1be69386ddc01a2e7bfea83c208f1210e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ zFy8=S#yt0AQ=p(^iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0vQo-U3d l7QM*{60D08M0%JwfQAb&FxLB4^Z{iVJYD@<);T3K0RT{2BXa-% diff --git a/src/icons/images/neutral.png b/src/icons/images/neutral.png deleted file mode 100644 index d98ee7442576d547d7dfd840c620568002246d4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7l!{JxM1({$v_d#0*}aI z1_o|H5N51TiJu4*WH0gbb!ETKC@&(V)GK9e#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2AtWPJ!QIn0;C+f}9#CPRr;B4q#jU-QEcp&7@UWBz{QLjZQRx>cd}Z&Y9#p;mFL--8{cJ?KzHF`%iCOF{gKn7vrkxNgIAk ZnH%xz@yGVv2?iR@;OXk;vd$@?2>_|#P8|RM diff --git a/src/icons/images/neutral_12px.png b/src/icons/images/neutral_12px.png new file mode 100644 index 0000000000000000000000000000000000000000..d86335b0d15fbc292098922d9e0f5922bcea8174 GIT binary patch literal 451 zcmV;!0X+VRP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Z>Uq zK~yM_g^;~!!eAJM&-WKAF4e(;Q->^qKe#zmDim*`wOzb~UXKc`?KL>*C>^9AsEZIO zLE@5xYLMhh{JNM@3T>Y04A0^4z62*Kl}es-{sQ2d5F#k05JE^P<%n~BJDE&u0AK)6 ztJQ88WA9-YUYe#U48y>By+*xWXSQwYmSsI=v)S=>yZs=gQt3j|G}Cb$W*7#E7nM?R z#9%N$x7&?;-_O%jD)kzMA%4ogX}8-bm&;5_`Ah*cOw;6l$uXTy2boN!MF9xcb(4G) zi$xp`2SF3f6Y)({DJ65cTw-B9pCg@42b2&pE))t;QlZ!D!SlQ!1#l;XIO@87{7+sk zm!a#r_XGf{)#?>vY!pQi*=#o4aUAS+J1iCp^!t6xW;5w|USm3)zJ33`*=(Ng_xmTM tR13fvV+@+6`9Tm2ZQFiWtyZ4^@CDjVm7*lCjBWq`002ovPDHLkV1iX{xtag~ literal 0 HcmV?d00001 diff --git a/src/icons/images/neutral_12px@2x.png b/src/icons/images/neutral_12px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2ea7243fb768f5e85556c1995fbb75ddcbbde571 GIT binary patch literal 826 zcmV-A1I7G_P)?>2 zK~zYIt(DJ9RBaT;Kj&!_m1vM2vxhh zJ3DV0V;-sMc@b#@41lWoB9a%8IPk)8oQb0}$-$Op?{33J`Ad_ zCjNh{wY8P*?rs1)&wFA33m}upoLD@tuCA`Yy<~s}fNVBfGeAd2N8p||lqacFD%A|o z($a!42H=#bnd%BPz%xJ|pt-rZW`I;G6}a0*M4Va!VzF4@ zem1`Ej{r0_HqzA8bYk)K^>t=uW`gj!NhXu;fHi>j_VyD4Mn*=0iCo_M7u^MDXlS6V zt?jSH$HvB(o}R`SgR0(!@(Oeu=L7Hte$DXTKq8R{LqkJ|2)^$>OD2}!mK6oM z0E)#TD=RDP?Ck6ls{HKM*47vv9%goS761`>?>Nr2Ab;4(90eW(aj{q=m&>uWwMC&& zV0(L;bUIBcm11sgj%YMWsZ>Hlv|Rbqy?Tc(eao^g0{;T%s + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/dark_12px.svg b/src/icons/svg/dark_12px.svg new file mode 100644 index 000000000..87d812f10 --- /dev/null +++ b/src/icons/svg/dark_12px.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/neutral_12px.svg b/src/icons/svg/neutral_12px.svg new file mode 100644 index 000000000..999c2f4a2 --- /dev/null +++ b/src/icons/svg/neutral_12px.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/layui/layui/layLayerToolbox.cc b/src/layui/layui/layLayerToolbox.cc index 9f3ea1ada..579a57ee0 100644 --- a/src/layui/layui/layLayerToolbox.cc +++ b/src/layui/layui/layLayerToolbox.cc @@ -796,7 +796,7 @@ LCPColorPalette::LCPColorPalette (QWidget *parent, const char *name) b = new LCPActiveLabel (-10, f); b->setFrameStyle (QFrame::Panel | QFrame::Raised); b->setLineWidth (1); - b->setPixmap (QPixmap (QString::fromUtf8 (":dark.png"))); + b->setPixmap (QPixmap (QString::fromUtf8 (":dark_12px.png"))); b->setBackgroundRole (QPalette::Button); b->setAlignment (Qt::AlignHCenter); connect (b, SIGNAL (clicked (int)), this, SLOT (button_clicked (int))); @@ -805,7 +805,7 @@ LCPColorPalette::LCPColorPalette (QWidget *parent, const char *name) b = new LCPActiveLabel (-11, f); b->setFrameStyle (QFrame::Panel | QFrame::Raised); b->setLineWidth (1); - b->setPixmap (QPixmap (QString::fromUtf8 (":bright.png"))); + b->setPixmap (QPixmap (QString::fromUtf8 (":bright_12px.png"))); b->setBackgroundRole (QPalette::Button); b->setAlignment (Qt::AlignHCenter); connect (b, SIGNAL (clicked (int)), this, SLOT (button_clicked (int))); @@ -814,7 +814,7 @@ LCPColorPalette::LCPColorPalette (QWidget *parent, const char *name) b = new LCPActiveLabel (-12, f); b->setFrameStyle (QFrame::Panel | QFrame::Raised); b->setLineWidth (1); - b->setPixmap (QPixmap (QString::fromUtf8 (":neutral.png"))); + b->setPixmap (QPixmap (QString::fromUtf8 (":neutral_12px.png"))); b->setBackgroundRole (QPalette::Button); b->setAlignment (Qt::AlignHCenter); connect (b, SIGNAL (clicked (int)), this, SLOT (button_clicked (int))); From 22bbb4b3209a7319d6d28367b84891b6536ebf49 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 13 Sep 2022 23:53:11 +0200 Subject: [PATCH 20/52] More icons translated to SVG --- src/icons/icons.qrc | 14 ++- src/icons/images/fliph.png | Bin 253 -> 0 bytes src/icons/images/fliph_16px.png | Bin 0 -> 553 bytes src/icons/images/fliph_16px@2x.png | Bin 0 -> 956 bytes src/icons/images/flipv.png | Bin 240 -> 0 bytes src/icons/images/flipv_16px.png | Bin 0 -> 549 bytes src/icons/images/flipv_16px@2x.png | Bin 0 -> 1021 bytes src/icons/images/invert.png | Bin 249 -> 0 bytes src/icons/images/invert_16px.png | Bin 0 -> 571 bytes src/icons/images/invert_16px@2x.png | Bin 0 -> 1137 bytes src/icons/images/rotate.png | Bin 301 -> 0 bytes src/icons/images/rotate_16px.png | Bin 0 -> 708 bytes src/icons/images/rotate_16px@2x.png | Bin 0 -> 1548 bytes src/icons/images/rrotate_16px.png | Bin 0 -> 699 bytes src/icons/images/rrotate_16px@2x.png | Bin 0 -> 1532 bytes src/icons/svg/fliph_16px.svg | 108 +++++++++++++++++++++++ src/icons/svg/flipv_16px.svg | 112 +++++++++++++++++++++++ src/icons/svg/invert_16px.svg | 107 ++++++++++++++++++++++ src/icons/svg/rotate_16px.svg | 126 ++++++++++++++++++++++++++ src/icons/svg/rrotate_16px.svg | 127 +++++++++++++++++++++++++++ src/layui/layui/EditStipplesForm.ui | 8 +- 21 files changed, 594 insertions(+), 8 deletions(-) delete mode 100644 src/icons/images/fliph.png create mode 100644 src/icons/images/fliph_16px.png create mode 100644 src/icons/images/fliph_16px@2x.png delete mode 100644 src/icons/images/flipv.png create mode 100644 src/icons/images/flipv_16px.png create mode 100644 src/icons/images/flipv_16px@2x.png delete mode 100644 src/icons/images/invert.png create mode 100644 src/icons/images/invert_16px.png create mode 100644 src/icons/images/invert_16px@2x.png delete mode 100644 src/icons/images/rotate.png create mode 100644 src/icons/images/rotate_16px.png create mode 100644 src/icons/images/rotate_16px@2x.png create mode 100644 src/icons/images/rrotate_16px.png create mode 100644 src/icons/images/rrotate_16px@2x.png create mode 100644 src/icons/svg/fliph_16px.svg create mode 100644 src/icons/svg/flipv_16px.svg create mode 100644 src/icons/svg/invert_16px.svg create mode 100644 src/icons/svg/rotate_16px.svg create mode 100644 src/icons/svg/rrotate_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 0092b5403..ed9e50b30 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -68,8 +68,10 @@ images/downdown_16px@2x.png images/execmark.png images/find.png - images/fliph.png - images/flipv.png + images/fliph_16px.png + images/fliph_16px@2x.png + images/flipv_16px.png + images/flipv_16px@2x.png images/folder.png images/forward_24px.png images/forward_24px@2x.png @@ -86,7 +88,8 @@ images/import.png images/important.png images/instance.png - images/invert.png + images/invert_16px.png + images/invert_16px@2x.png images/lb_31px.png images/lb_31px@2x.png images/lc_31px.png @@ -145,7 +148,10 @@ images/replace_all.png images/right_16px.png images/right_16px@2x.png - images/rotate.png + images/rotate_16px.png + images/rotate_16px@2x.png + images/rrotate_16px.png + images/rrotate_16px@2x.png images/rt_31px.png images/rt_31px@2x.png images/rubymacroicon.png diff --git a/src/icons/images/fliph.png b/src/icons/images/fliph.png deleted file mode 100644 index a47b95fea7c47ac4e754134e73114f90f3dfe8e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rl| zEMRb$)11Hz6yYrJh%9Dc;N}Nm#z{Y!mjVUZOFVsD*>7`ki?VBYwzhczg=9-yBTAg} zb8}PkN*J7rQWHy3QxwWGOEMHfGEx=XJ$(b-r>N!u6^3}aIEGl9zB|d0ufc(X*?QlZ z<-aa}e8jo=$dOY1Nd--2!d{;WSMCdtub#AH&VjZA>PgZ}*23Q5O}A}4GcN4lU}&?B qHe992&@*9XU9+apF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10k%m* zK~y-6&62-s8gUrLpYLfd65B#TC{jXVaS_r&tcF&Lkl&7 zc{Wl&Qc9=O?_E>(uR$)Cd)sIrx9{0yZG1 zLqVK6m`TwZL4wdMB0A`#9Tc?avx3^}YF1Sz)&1pjNAe z$z)QpEUTHAn9u{Ly%hivrTKimDzDf3902-WcLK-1V_wtJ(t^y)Ozq<0V$s3DK@}0P z2?GGAaX1{+M@L7g)#atAdzufN{E2x%X=y1821AlcrP54IP3ZwtCj>x5Dp3?IZnwJz z06zD$hRWk?005eso568huGi}=4hDl3DLu#AK;_`zV5Q&h=ZkebI%@Ty@{{-gX0sUu z1qErMDCT%Po+1DhHv$N&w8rIfSplH$RW%+3_Cw_|Ho!0p8XFtq>N(a1BHHEIBy`so zoR`bk007u*HfS`On0k%{5Yg_3))J)Q@Vs0mfLg7FAP6z_92J0w^a~3MA?>OZc>5yj za=DDZ;4Fe5MD)DAzW(H@o~1Tmbvm6kB4X_IxyWS|z`p=+dISUxU%F6OHh5>q;@?@7uN(m5!rBcgJIvWA)1}@TAeNpl0bJ8= zTh#B4gd(Nqs~b4iZV`(*L&lu}Na>k58whLnqfV#$7`ki*l;m+wlB7P)N4KHKN2h zKQ}iuuY|$5C^fMpHASI3vm`?yBqLS9-P1SVeTr%xP@%i0i(`nz>8+Cw@-i53F!i6c z$}(TdZL)INi*|mYkd}v^x)&sE-o>=8=<1fWKR6bKzGr=)6=#~W-QZcB3j0LkI#$hD d%>MP->>Djilxlu{ItDb7!PC{xWt~$(69DS(O4$Ga diff --git a/src/icons/images/flipv_16px.png b/src/icons/images/flipv_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..e3dadb9335c74e4cbc75312cf2f85c32f74bf3f8 GIT binary patch literal 549 zcmV+=0^0qFP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10kTO% zK~y-6V_+Z={Qv)7==$~RLI3~%w63|NsB2zkmNWT(xRd(18O799URb6#e}C zL~U(t8QIv_7?vzq!hqF)|NsAUfBg8-V!?t1K}U`pv6GaPl#PvzSU)nM=GqW5&e*DYvjT8RK>7#SIlzS%L;m6hc; n$p#=9By`}wfk={bBQ5{{^!Cr?`U~Qt00000NkvXXu0mjfN5Kj8 literal 0 HcmV?d00001 diff --git a/src/icons/images/flipv_16px@2x.png b/src/icons/images/flipv_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4d43ff5da29a79d8e3541a76eadd282c6c13b1d9 GIT binary patch literal 1021 zcmV88+RB7@b8^zQ*uGiYs|$#JrhHwDQ$|4Nh2vHI?$HED50erjIPj983kdb zwr`~MMP3Mk$XGG`KC$=Afg%o&XtvwOQWNsrf4);TUJ)4tE{Xv0EqA3zbF7AVgWP& zXpY5VmOvm-H$Ojrj^j9;D2fJ)#d2nOc{%T~1p$ai1>ih@tFkQD1%pB3;^LxIQBhGP zNs``Xvz=;fZAC*v13Ei9iw7VgEdWO*lWCfonyL+jLgv-gRf8Z1db8QAv)k=#M@I*$ ztE>O@T*m_BE3B=pEj`ckVtswR;BvXp-rf$L=Z}2OBLS3!6$k{3kx0b2S6CK{MeFr? z;dZ;BR;!P5J%$;Eu=RUyhB98RzEaB#z^%L{T)DOr|q!ZEbKk9AMecZznl` z;}ljgA_tI8r@sw{!_9>hRzZON{(fyF5^3RiUX&zBU>FAJbQ-cOLzd;DCeI77TCFdp zr>7I!+uO?k@^_CS2D5*Hh{^%{RMMmj^L%f;>+YPA}-Zu;=F>jA8_RlxQeVCU_}<(q$&+4Z+M ziI}^QynuW~m~BMkgN+c2*05Dby=(^E}d)``bc=rL3P8JuSfCvDbo12>szu$jpWMss>wzj4NfC|lN z+-a%7lMVyEC@(uQ;Io2=v_#aJN~NCk_4WN~G#dZJ$Hz>qV(I&4kzVj#6uA(zYbl4Y3;0Ad-2zP6pEna3AP2T(v*B05h*_h)8ie)f1gf2dTd)Lzmn zb>*c6?8DR$(al&a*5~v2A{vcm3x{;VQbGhGy0)>g@vOVM`**!w|JR8E6cCPxJjrD8 rX>V_D@WcTMNZy~*{{r&=`UH3n{fPZ8)wnf300000NkvXXu0mjf>*Cgy literal 0 HcmV?d00001 diff --git a/src/icons/images/invert.png b/src/icons/images/invert.png deleted file mode 100644 index 432939c66de21c1cef01c7a550d760509660f89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-duDYhhUcNd2LAh=-f^2tCE&H|6f zVg?3o0T5FdgVjhk82Oy|u1@C2ZcY>8_`iF1B#Zfaf$gL6@8Vo7R> zLV0FMhC)b2s)Dxz(3*%C*gZ45OmVpNPs|2;I6EXc2>_tDnm{r-UW|q9;~} diff --git a/src/icons/images/invert_16px.png b/src/icons/images/invert_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2c3630234b322dfec76d57809dad88d04b2b5f GIT binary patch literal 571 zcmV-B0>u4^P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10mw;2 zK~y-6m6Ne<+E5gR|9kBiOSyDn>A+m2Ze0qeEOl9y4~Ajf zg<&{3y=RBTaU4;r)qVhYlcp&pNy2x#9g-x$YPG^-GNB*{m{RINYyBaP0v~_`c6<+kVdhTu3R;)uY*LBF}S^6A?H+I{=6X0KgezS_pBr!Fs)hX_`3) z@T<{il;;|Z$73j^esTbxgb>WKtQU)=ln8==0NerqTCLXHb=@2Qoet-msuV>*gTa8h z-R>L!H~?f>c5Rww>bh?6ToNfI`u#qIVfaTW)d4DHvMlQxW9;o|nYP<4mdhok(dj+Q52ls{{><{{-4X+k9l`9wJy47aVrUikj!S1htp0w;4st|lt3iTn`H8wiE~dE<_(kPhm*9K@ABRA?)P&J z_g>Bsnp8XMdi;r>fcs7(f9Pk+P~5fcwA?^YioT&Fm}h3rHjq=d0D~1K?aU z@taar%>cs-3k!c82%xvO_oMFa?nkQnc@U?nl*?s`#UiV#t5|DUSy^FiZ4K9TnVp?w za&nRvFJ9Csj4@Nb?_bYmvujNQY-T+RbOCH^Z1DW~b3D)65_jat5jHk9w*6ly6i6nM zOixb-pGvBFb*E}<1Bk_9H$>zYpiNbAU6)s{UhP<=-2ehPj>Fx%cUfLuMnv8MH`D3# zqg??uGk1WtTCGMdm*dTwH@h0V4*;N8EHXAWhT}K@Z>_Z#9mn}|8$diBkBZ2ms&>_C zH8PnD*4jNcZw3IMTCFlNGD0SkK}0;?_dgEKgsGE=JW|yzRVA0pz1Ms{3WY*UOiXa% z#0gY28V-kl4b}|6l`B^+s_Gzs>$-cE{h&H}^eE%w;{b@rm$6vvvpRsa_C6rhYIWBG z_kSoBi!nGjxXB<70i?gb|HDWmQUWBO&u_bGd#Two(5Pq6o-sT;44|P(?yDc@`HJQB@6vLO+^pHoGPwS%A~0Pair!GMNNGL^7#V$~OS*?d`V!ZEtVq*s)`W zX1=hnz|71Hyz5toVe=76rBc5G)9|hehjArWR#v!o?;ZdmG8Hta^@qswysv;&fWE#y zj4?ayb0Af#RmR4~SXx>_L`uHzUk}#mF8O@E6b^?6fLdEy8y7BIprfPXKbseeMMg(Q zdHVDzz}s4_mS~(2wxl^XH}?ndbpX-V*T?bW#}91oI1WQYL-meWL~b^A#IVa?GB7Z3 zu2QMY(J+{}u1m34+!D8s!Ndcu&d<;1{vEsLXcmn|e*?Y<;;gl-udiefj;QZMn7M00000NkvXXu0mjf D^%w^8 literal 0 HcmV?d00001 diff --git a/src/icons/images/rotate.png b/src/icons/images/rotate.png deleted file mode 100644 index 165f2325d6681392ad393b85b46fb4685d3f07a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`dAk3J{(y|>W$X?><>&kwOn?*#F-$#Y{FHlIf#5JPCIX^cyHLrxhxhOTUBsE2$ zJhLQ2AtWPJ!QIn0;C+f}9#G*#PZ!6Kid#!3UleRn;BhH8zLw-GmS~wSxTQpFbKQ%I z1%}fF_bHs5BwnV#urQgIL7_AMh)QZ+T5LpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10#Qjs zK~y-6wNg(=lW`b+e*Vjm-(s@t5B{0W3Zz3IV{=UR8Cu>HDL=?l79j{h1eiR7FR;#+=h(Sbs}*Xtdz*=(~$qw$s1 zYJHUBVzJn{_4W1UBOQ=DHa^u&-%ar@>&@5JK!242BI&(>n7SrN`4&ma9UUF-=I7_#SKC_Rr6nah!^6X`N!A_|sffqpLnNi$w;dhc-d7m}F@xm9mbFjlH;NHhrwEIi7V+SAPg(n=lfXuDAKSlgN8E~lX*Z41x qlyh#xuKf!D3V-$QkrYBC0pJ%~#5P!`1NQ;|0000 zZQkeJbI$wRC-)ZkAI|_Jr<^=_a^c>+dq41aJnKnDhMTK;Mjp29+qZ8e03;_T|7CCed~n_7t+EJ2Y}4X%$p=} z=+L2L0E@?q4{CsnU{n3FhH5$!bi^X!n;c$HAbUI6eCC;5Y_kL<>>fJ|=9w~5Pqyz3+57qpGW`lK{*QYCuFh z0PIy&Rn_tF@x7rKr%jvIXS3N(0QgQs9*(6hB3?yNnpdn?aRV4>&x?b#XT_J$6Bid( zU0z;pkBEryJ{hD^sfG?5IAGUkG{;4xXDsmmG!+#Ubw))+dHeeM5?WhZ^AV&yk2n&M zOL=*DXN!xAPd^!Cu~=$MCesfh(i)~X0ATXu$wO<`u2nmo&V*B^PH8Y+Vzb}8%Jj>ZFHcHI zNlEm0JPH70rA)z3*9ZK(Xl`zv;cL%zA`rQeq$v3=S@26#DWk-^d zl79CKOi+Zc#H-m}nn@lsj4c0tTU%R`(P(VR&CP9exm+dw_8jv6Kw!;D#sXM0Ffg#N zw6t`7MMZ_ar>AEs07OSc;%&oB{Nef&QIUdFO;k`molZBX)oQ&rZ{B>dva&L9)22^0U{Oa$$AX+=8~jpF#W;WhxE zprGJ(Z*T7{0Emf+aog?o(<+tf%TXub8$z=I=+B)yrz* yFft1=GBOpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10!T?j zK~y-6wNg(=lW`b+e(IuOjXoRx$v-ul5FYHb9AE0b!lkf-vEuU(LhKM8WDo?ypspP( zsKXc(v$M4#HIn2cHZTwwv%Jl-bPY(;>A_J?Nzup2P2bU!LcAd49nE zsBAXd7YGC*B%S;1mhEnktc=IwR~Hr*TmTwKHj!*2S$!aarKKf#dV2cw*1NsE{jS|^ zf9H0)-$bL)+azt~{fb@cmT)+H#o=&#ot>Sn1%OhiRACrKm0=iF>2$g^pU*dtyeWiO z+hb>Sb=B?n`;*CJ@{yt_GbEKlq0lluJ|6UVJTm}jv)R7qa=D&84oH^8VlltfYF+Q@ z>e2z62Y|-L#vI8?RaL(^oz9W@`FVRHkr*WT1Hg*ee(S)%!0WNGu@RCNw;XKF9334U zp8;?SvMhfj>DVTinwomt-`_u1EEao6DrN!z&~?36lB8uJ#D*kE%et=jn$=H+LZOt! zVkup^(3zQ>oD6%t-Y;eXl4Y8v4O^|&pPHr(ll+%pDwP^kRW%EMclu6k9Jd|*eWI?W z7>mU;lC31gCdrXZCUcAAQM0-|6be0$L?UkikfRBV&>?p@=#wwATpn(CE6ATY7GxOmy@Ky2Pw z0pP3<;yy<`e<$UK0I7K!=|T|?p2mMoynH2OS^g9Z1|Rx-zGvoB6mv}b!R2zj-|>+E h@^q+W`n_CCRz3{_MPHq z@hJe7*VWZ6co;?9L*XYcx}~LMVP9Y0EN>vmw*WW*3<2l^&?zF9AEtn$nwpwOUtmB$ zK&euxbm(+CTWoCX?;AI6{DI_o08I}P@<0J3=UFV4sIIOqwL+n|>vTFNjLqqEDn>>| zW>_qi85WBrvZ|`ekd%~kuClUnA<23XIpu4Af6hR1Wo2a~NhBsF_W8jFNoi|qi%UpI zc&(+SC6{ET3cIp7Z(@TYqi<|ckJrbt26WS^PdB-nxyzGfMm#x z8#m%xTU#Fo0He{^>x(;c=FBp^UcY_Uu3bBOdU|%PT)FbJJAU%y$+#0IPAmp6p$n6B zVA;Wg2j@E+j=+eBh--Si{#Rc_5pjyhpop{u2M2%D+}vC}ckbMNx0jKMii&6ePk82f z{TGl7a5|ld$B!SM4**$NSv>&01CZuR1j$SQivd8PQ0R(^imsQGl-$R=yStwOP)u@# zTUv*&4kXmo)h)2w?IB@dVYkxL(|-fd;j8#~Gyxb)O-;=Zk(WzKN}}9Bv)LRbBIzPh znwpxLfqSO)sx>VNzpbqsDHxt8;R4fF@8~ zM)EOFp296*j@4?7HJi=4*|TTgCoGQ)#i`yA<>AAJ^$iUTcePsWXjD|xO#lfbp9at+ zB6mGE77-iCqvhr0a{xf2(Hx%i%SbYP$BrGJ8w>{X_U+q$cD+6Kub{a!f$NghoH|7a zfC5mj*I(JQXU_qWMI@K|YAwl3lG&4W3nW9XU%y_udiClygTY`vfBt;Cy8zef*}0T4 zx)3VHg#e&Vr|aLeY10vh!?A_rvm~c`>>W7S++C;pZ?+o~6XWnkjtmb*^1@K$CaF>S z;!~It8iY%iE@@0AQ)Wa&#OC$u*S|S9IJkNIz^Z_I{xF$`$hhskZZsOx>~?zy0H{Sf4z*kH?icOozIe}jf`Wo>>-G8$lgadLTwL5a0PQ03 z(_|fpciFBl(nJ9Q$W%<57Kps(7o+pj&8Yui15y&6#OUbgv}4DPEnBi=NpW&=@*B;~ z%^OJOlZ+d8*$Eve0^oVsG>FIw0O0-=o;kp@89>midn?%eHw8!cAx$RrGZaq4E`t%B)9UeCsKB|?MmsjSh<+sN_%!rSV|Hk#~a|DlA i!}}sK@`!8r7k>g)@~q|}_1aDV0000 + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/flipv_16px.svg b/src/icons/svg/flipv_16px.svg new file mode 100644 index 000000000..3f4b569b5 --- /dev/null +++ b/src/icons/svg/flipv_16px.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/invert_16px.svg b/src/icons/svg/invert_16px.svg new file mode 100644 index 000000000..7f2175db7 --- /dev/null +++ b/src/icons/svg/invert_16px.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/rotate_16px.svg b/src/icons/svg/rotate_16px.svg new file mode 100644 index 000000000..2b80ffbe1 --- /dev/null +++ b/src/icons/svg/rotate_16px.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/rrotate_16px.svg b/src/icons/svg/rrotate_16px.svg new file mode 100644 index 000000000..ddffc5edd --- /dev/null +++ b/src/icons/svg/rrotate_16px.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/layui/layui/EditStipplesForm.ui b/src/layui/layui/EditStipplesForm.ui index a682951e5..f96b62e22 100644 --- a/src/layui/layui/EditStipplesForm.ui +++ b/src/layui/layui/EditStipplesForm.ui @@ -391,7 +391,7 @@ - :/invert.png:/invert.png + :/invert_16px.png:/invert_16px.png @@ -402,7 +402,7 @@ - :/fliph.png:/fliph.png + :/fliph_16px.png:/fliph_16px.png @@ -413,7 +413,7 @@ - :/flipv.png:/flipv.png + :/flipv_16px.png:/flipv_16px.png @@ -424,7 +424,7 @@ - :/rotate.png:/rotate.png + :/rotate_16px.png:/rotate_16px.png From 0a9c396ae3f659eda021d4ee0175b520e1bf45ae Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 14 Sep 2022 21:25:59 +0200 Subject: [PATCH 21/52] More icons turned into SVG --- src/icons/icons.qrc | 12 ++++++++---- src/icons/images/pause.png | Bin 442 -> 0 bytes src/icons/images/run.png | Bin 435 -> 0 bytes src/icons/images/runthis.png | Bin 543 -> 0 bytes src/icons/images/stop.png | Bin 393 -> 0 bytes src/lay/lay/MacroEditorDialog.ui | 8 ++++---- src/lay/lay/layMacroEditorDialog.cc | 6 +++--- 7 files changed, 15 insertions(+), 11 deletions(-) delete mode 100644 src/icons/images/pause.png delete mode 100644 src/icons/images/run.png delete mode 100644 src/icons/images/runthis.png delete mode 100644 src/icons/images/stop.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index ed9e50b30..797e31c17 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -122,7 +122,8 @@ images/options_edit_16px@2x.png images/partial.png images/path.png - images/pause.png + images/pause_16px.png + images/pause_16px@2x.png images/photo.png images/polygon.png images/prev_topic_24px.png @@ -161,15 +162,18 @@ images/ruler.png images/debug.png images/bug.png - images/run.png - images/runthis.png + images/run_16px.png + images/run_16px@2x.png + images/runthis_16px.png + images/runthis_16px@2x.png images/save.png images/save_all.png images/select.png images/setup_16px.png images/setup_16px@2x.png images/singlestep.png - images/stop.png + images/stop_16px.png + images/stop_16px@2x.png images/techs.png images/text.png images/textdocumenticon.png diff --git a/src/icons/images/pause.png b/src/icons/images/pause.png deleted file mode 100644 index 0d1a15b5e07ccf0e142c705f254e0417323e7cdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmV;r0Y(0aP)q4YD-$*vF5xBg2(CSnx9}7m z!pz={3D7VDO;>lhn25^2!WFfv>Z(_jhI2;-Fq_Tpfw$ie2Da~2HJnbT!?G-!gE_6L z$^aDKl^YTFQr9+$@aY`Sx3}ik7JXeTGF4?cpYwEgx0m)nmStR6OALX$t~;k*Sc|4a zvtIwH{{Y5Nj>m}i^yc#pP+E(|NU>NP2gou?YY9z5-tTvS!DvJhq3HFF0|ppeUZOE# zisEpd{%}YP0h8x{>Za5A&)Ba@fUj%Bdy+_}aktr!L`X3n2T*0}9O6B3x9b3YwL)V= zLO2d+N^F-)Vh9B9JHXaCG$mxSIRU8BI7bvA9-Il#IEShdPF?U(6!u{}Zjm(k53|9sIoU1qND_?1j@FC;$Ke07*qoM6N<$f{u}~^8f$< diff --git a/src/icons/images/run.png b/src/icons/images/run.png deleted file mode 100644 index 84bd4b5057b23adcebde01423eb3f6371c6adbb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmV;k0ZjghP)4KsyMG` zW@&Q^)WhopMy zIjRps2>^&nqVp3%O^+BX3!Qdk7}gY;RCk_S@1oeUb(6!G{h6)F002ovPDHLkV1h&!x(EOO diff --git a/src/icons/images/runthis.png b/src/icons/images/runthis.png deleted file mode 100644 index ca2842d9391ba653e03b598e14559bd10cc1347b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmV+)0^t3LP){@;2>%jb*mqRmKL@4-W%_EyVTmIDRC-3 zK>7u0Jb{;f*@D{P60!D zpD&s5oRfQ0_M9t)Tgum;(ToA61H%Q-TIY0oMU@TNJ7qsVbN)nTurQ%K^9cysVoShQ znx=0K0shDgdh|Z76pB+9&YCmcLsfK}Km|ZVo{31KR;$HF0`_Jd?WfeZn(w_mJfi#D zrY^d(z_L>6JwR6g0FK6~^ec0^U=c1lj`I$9{Z9btkFW9c789*Q0pus};+A5_^~3w+2D*0vNK^4rdOvYzeI=n`!)D zJywc&iR?{awJlWwd=c>v0PNF*Wb*qjV)asfrsD!1I;|xlBS5iUudn=d4cp|^Ti|lH hyBwvH?7zuzX$Mq8hFhbjxe@>X002ovPDHLkV1hZ5>_Pwl diff --git a/src/icons/images/stop.png b/src/icons/images/stop.png deleted file mode 100644 index 4707c4d78bbd35152d8a9633bccbaecfdd21f358..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ zFy8=S#yt0AQ=p(^iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$QVa}?Y@RNT zAr`%7Cwb>FIr6x~*FQU~kavJjZ>sCL>E0WkuyHKgo%=n-(DMk3q0s6jVbhjYZ93hy zf7)-ozT=O-bbTzbvTUfh|Hoqf%U|;@m{>fYv8+?8=}FHrmIlW6?T7o*870cBcdb+2 zrmM%YEb3xVhhY$dq3JYD@<);T3K0RR9KouL2# diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index 3621b1fe6..d02f93ee8 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -399,7 +399,7 @@ p, li { white-space: pre-wrap; } - :/run.png:/run.png + :/run_16px.png:/run_16px.png F5 @@ -419,7 +419,7 @@ p, li { white-space: pre-wrap; } - :/runthis.png:/runthis.png + :/runthis_16px.png:/runthis_16px.png Shift+F5 @@ -442,7 +442,7 @@ p, li { white-space: pre-wrap; } - :/stop.png:/stop.png + :/stop_16px.png:/stop_16px.png true @@ -462,7 +462,7 @@ p, li { white-space: pre-wrap; } - :/pause.png:/pause.png + :/pause_16px.png:/pause_16px.png Ctrl+F5 diff --git a/src/lay/lay/layMacroEditorDialog.cc b/src/lay/lay/layMacroEditorDialog.cc index dd1f2725f..a09fef3d6 100644 --- a/src/lay/lay/layMacroEditorDialog.cc +++ b/src/lay/lay/layMacroEditorDialog.cc @@ -3434,7 +3434,7 @@ MacroEditorDialog::do_update_ui_to_run_mode () if (t != m_tab_widgets.end ()) { int index = tabWidget->indexOf (t->second); if (index >= 0) { - tabWidget->setTabIcon (index, QIcon (QString::fromUtf8 (m_in_exec ? (m_in_breakpoint ? ":/pause.png" : ":/stop.png") : ":/run.png"))); + tabWidget->setTabIcon (index, QIcon (QString::fromUtf8 (m_in_exec ? (m_in_breakpoint ? ":/pause_16px.png" : ":/stop_16px.png") : ":/run_16px.png"))); } } } @@ -3481,7 +3481,7 @@ MacroEditorDialog::editor_for_macro (lym::Macro *macro) int index = tabWidget->addTab (editor, tl::to_qstring (macro->name ())); tabWidget->setTabToolTip (index, tl::to_qstring (macro->summary ())); if (macro == mp_run_macro) { - tabWidget->setTabIcon (index, QIcon (QString::fromUtf8 (m_in_exec ? (m_in_breakpoint ? ":/pause.png" : ":/stop.png") : ":/run.png"))); + tabWidget->setTabIcon (index, QIcon (QString::fromUtf8 (m_in_exec ? (m_in_breakpoint ? ":/pause_16px.png" : ":/stop_16px.png") : ":/run_16px.png"))); } bool f = m_add_edit_trace_enabled; @@ -3736,7 +3736,7 @@ MacroEditorDialog::set_run_macro (lym::Macro *m) if (t != m_tab_widgets.end ()) { int index = tabWidget->indexOf (t->second); if (index >= 0) { - tabWidget->setTabIcon (index, QIcon (QString::fromUtf8 (":/run.png"))); + tabWidget->setTabIcon (index, QIcon (QString::fromUtf8 (":/run_16px.png"))); } } From 9454d6289dc9449cce6b1710f0f3455df61b30df Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 14 Sep 2022 21:37:24 +0200 Subject: [PATCH 22/52] New icons turned to SVG --- src/icons/icons.qrc | 6 +- src/icons/images/folder.png | Bin 433 -> 0 bytes src/icons/images/folder_16px.png | Bin 0 -> 422 bytes src/icons/images/folder_16px@2x.png | Bin 0 -> 654 bytes src/icons/images/new_folder.png | Bin 455 -> 0 bytes src/icons/images/new_folder_16px.png | Bin 0 -> 503 bytes src/icons/images/new_folder_16px@2x.png | Bin 0 -> 733 bytes src/icons/images/pause_16px.png | Bin 0 -> 331 bytes src/icons/images/pause_16px@2x.png | Bin 0 -> 448 bytes src/icons/images/run_16px.png | Bin 0 -> 518 bytes src/icons/images/run_16px@2x.png | Bin 0 -> 1056 bytes src/icons/images/runthis_16px.png | Bin 0 -> 683 bytes src/icons/images/runthis_16px@2x.png | Bin 0 -> 1550 bytes src/icons/images/stop_16px.png | Bin 0 -> 264 bytes src/icons/images/stop_16px@2x.png | Bin 0 -> 341 bytes src/icons/svg/folder_16px.svg | 121 ++++++++++++++++ src/icons/svg/new_folder_16px.svg | 129 +++++++++++++++++ src/icons/svg/pause_16px.svg | 152 ++++++++++++++++++++ src/icons/svg/run_16px.svg | 121 ++++++++++++++++ src/icons/svg/runthis_16px.svg | 175 ++++++++++++++++++++++++ src/icons/svg/stop_16px.svg | 125 +++++++++++++++++ src/lay/lay/MacroEditorDialog.ui | 4 +- src/lay/lay/layMacroEditorTree.cc | 2 +- 23 files changed, 830 insertions(+), 5 deletions(-) delete mode 100644 src/icons/images/folder.png create mode 100644 src/icons/images/folder_16px.png create mode 100644 src/icons/images/folder_16px@2x.png delete mode 100644 src/icons/images/new_folder.png create mode 100644 src/icons/images/new_folder_16px.png create mode 100644 src/icons/images/new_folder_16px@2x.png create mode 100644 src/icons/images/pause_16px.png create mode 100644 src/icons/images/pause_16px@2x.png create mode 100644 src/icons/images/run_16px.png create mode 100644 src/icons/images/run_16px@2x.png create mode 100644 src/icons/images/runthis_16px.png create mode 100644 src/icons/images/runthis_16px@2x.png create mode 100644 src/icons/images/stop_16px.png create mode 100644 src/icons/images/stop_16px@2x.png create mode 100644 src/icons/svg/folder_16px.svg create mode 100644 src/icons/svg/new_folder_16px.svg create mode 100644 src/icons/svg/pause_16px.svg create mode 100644 src/icons/svg/run_16px.svg create mode 100644 src/icons/svg/runthis_16px.svg create mode 100644 src/icons/svg/stop_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 797e31c17..159c94214 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -72,7 +72,8 @@ images/fliph_16px@2x.png images/flipv_16px.png images/flipv_16px@2x.png - images/folder.png + images/folder_16px.png + images/folder_16px@2x.png images/forward_24px.png images/forward_24px@2x.png images/forward_16px.png @@ -111,7 +112,8 @@ images/move_simple.png images/neutral_12px.png images/neutral_12px@2x.png - images/new_folder.png + images/new_folder_16px.png + images/new_folder_16px@2x.png images/next_topic_24px.png images/next_topic_24px@2x.png images/nextstep.png diff --git a/src/icons/images/folder.png b/src/icons/images/folder.png deleted file mode 100644 index 3246e27e35acbd4765dc4e433df0fe6470720ead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmV;i0Z#sjP)Oo9@wSv5rWv*`4nPd(12K_ zuuLze70dK_6`vtou(LHJ5;^=WOaf-kbNBXcV7Ot~`~Lm^EtUaLofYgaFms}mS~D~D zd$XQ+2^eEW{r(lLmJ88?n`;-&g_oXjEHpj^UayLclS#`T(S?GnvwX$Ucd%kTEG^r!x926aAyaua3_H> zaO;T5!mS+m!2cESg%?It1-#Hf4RGn8Vt92C6_kHOITc3nZdP6q{ZRmTJMZ3uLZ6N$ b1nR7B^aF_VYSmvy00000NkvXXu0mjfio~^Z diff --git a/src/icons/images/folder_16px.png b/src/icons/images/folder_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..99611a07a0e3c9c1029c9c28900879098554ae15 GIT binary patch literal 422 zcmV;X0a^ZuP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10W(QN zK~y-6jgY@i!eA7|e;3O4;nXt8?jy8|IvS0}!ACHf5a0_L1>KORSi{jba8qTr&ZT8?A_=h zp8q?(@2jeg8~_ms_l(2)!y#SQ01$sA9NfL~ID4*KUc~d_8vy)Fj|)p(*YG_#0>^^& zpzT82L(c9CdyPtbUQG+uP2qG(+8od{MbLVyuv!5bY;$1k2F=zVSZI)XTLT)c>OWhz zW`l;ae(5Th^EL+T0`0B_yTHr?&M&Xln5b$fBBM(57OCnu`*zAkU1djq0k0%*bs0OF Qb^rhX07*qoM6N<$f+ilb3;+NC literal 0 HcmV?d00001 diff --git a/src/icons/images/folder_16px@2x.png b/src/icons/images/folder_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..da8ff3b833260b6360e1f61aefaa019e5a9ea82d GIT binary patch literal 654 zcmV;90&)F`P)9Am~3}plDlDMapwNjRy?5{OuJ~KRU4HlbeDl5ET~3e@N~u%8eZb4g zi^VVCnGoVf&U|Cx6$?0k1TI_TBjN+4lmNElbEDD7i=t?&-|x$;LX}Eo-05_7%jNP< z8v({&*J`yQ6C7YL7jHpk@du*tQnjl?4R@80vYy=MjP zcDp+;?Z8S>^1{Ly8dp|Ri>)`-IJ>xLB|wKzN^KK!VmKUnwOVbf*Xw24zO+>1^T!YP zzHbHGxN#FmcYtQI8JXY!hlgKy{pPI|JSip)2qFIJ{+IVIaOcu|;-Xiddfa_}U?O`M_{SJf8h8f!T-8YxCy$g_&3xqA+rOnz&g(msc%Bpp_JN5nlJt$ oDj1U9_((ML`LiBozfxD(Ise zfg5lGekzclq@tyYJ1@>_7<>hQR|Md3c`p8w9}_ z8$t$yeiDC8B~4;UlUUy0UZvOT{ZvJ30=ir7bv4=cS~5C5DukK>5CzE2wx2#uc75YH z08G1W@TST&RVLywt4jd0>c)yrB7|)%&T$N(A0!|A|rE&(z6IB;0 z0vQ=&ncbX#>EawtvdWk925P&eiTM|4i&}c5OtjR8s765Bl`oq;U(`2HsU`<@K}c0x x6~m;;vGF@$or9W+c}}g&oXQtjzS$58;2*7pd4>a2Q(FK4002ovPDHLkV1jh4vP%E} diff --git a/src/icons/images/new_folder_16px.png b/src/icons/images/new_folder_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..5e3328c80c595c3b592988f4014655af98b520a9 GIT binary patch literal 503 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10fb3J zK~y-6jgh@C1W^>le{YSMQO&4qr_gD48k9n86rvCciH{H~ktmgKc3X|kZX`q~BoZP1 z2i1s9Cn4Fyhyn%0HdirYcRtuS$t~W=Ip^M-r$|6Viogb-NJD^zQYy^w7_m_S8lY0y zs06|7KvLv+rI&iWp+qF>k2Z5NEU;X#9k5;0H~T|H5|Zi3~+=6EvrGeBQHqAwmgM$3)D zGBC14?dl0pJ?(e({2mM&U77v$f?R;Ud`!LllbeX&UXHHl8c^uPpBqMcEUIUBk#VgY z75PU8oq&P?wu4?A1lwr`_*)BL$G_0EgQUoE@Yl*<*eS021xb9v|24IsZc(j_v-cf zdM=minF!E6UA0slhZns6PR$DY72cixf0`+DL#8V&+vyPINjQQ7jf$n$2dS?K3k) z?0oqM+qR7e7niO8h<5;$O2yTY1Hj(i54?W!)`(n%p#ww|=>F$-PvPd7Bg&gzd~M>^ z(_JH?-@kqW7{LJmI8iu=>$8Q}VmD?BIC(T@Bp?ov1LSA(+M6sv*j+y@RmlRj16a=B z*I(NX=+fiFS|(FY4Lds^wtV7$?UM#Qu?_D!@9Rh=m(48+1jdU(0#>6F6aCT;ATlA`k)nZ(BwVXa$6i zJPaQ0^Wa*Z2_rP&#C{W|4Q5_b#nYdJh8XrhoWit0M33b4e|O+7;Cz&mSXArY P00000NkvXXu0mjfy=Xti literal 0 HcmV?d00001 diff --git a/src/icons/images/pause_16px.png b/src/icons/images/pause_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..8fc1c31f2b65ce08e094a55947921e37c7caab7e GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt(q^T^vI!de=_&Xy|DHr~Nvouf8scz0SQr^iJ4Kv$KB>oUs*q zC8<37?z?yM?KXQ@OF7P4zHZf~2m_gI{#sm{FJ4bzP|9pPbdNPkgTe~DWM4fC<%qt literal 0 HcmV?d00001 diff --git a/src/icons/images/pause_16px@2x.png b/src/icons/images/pause_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..860a4ca054cff421cc7c8113ffbcd7d64ebf77ba GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4;b`WOlfBG>MC@5Lt z8c`CQpH@mmtT}V`<;yx0|TS4r;B4qMC;q>w%LabL|oVB zEOt;x{#K!(Qt{=ycl58X;<8+Fk1Q86H*(~ZW^gat8dnk@Y_mn2XWA2G*%U>U2kVdX zaNqmg($xEMz1j!EAA5`SybeX(X0BkGz_4Q}o9VNMpKYbhES^tVr137vYUQd|H>0>2 zGH#n`pDvOu)v;>KJP0~swy>yk&pB_!*fg2dPklkSOcjTpn1x)aF-YUX z1+ziov)s&?fvVn={du4wF7l#>(=^s}F_Ub=)<+7DdN}9(O=7K?q_WXIcB93<=dX{p l>`Gv$ILNQB_J5{L{)YG}nV7o|X8}W>!PC{xWt~$(6974vu>Al4 literal 0 HcmV?d00001 diff --git a/src/icons/images/run_16px.png b/src/icons/images/run_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..c05088464e132969068214ce05d5362ce52b0f82 GIT binary patch literal 518 zcmV+h0{Q)kP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10h38Y zK~y-6t&&S9gi#d7&;1^EzA3XnOicQ+P!kJLY8D=Yg~vu@VWB1qk2MP`nzB%+X>8cc z(qd#YDMra+CfUitZal(Hq#5e_=3e|QG%_JG@~gYJr~bcA=NzK{1VAN#%0GpL5RK)Y zvir8~w&O%1F$%y{lt4<^NsOQks?U0fE`~>j_fx4<4**`2K#ddlh6>)L3ul>OjZchk zrPJva07^lEk^?8YuKZBr1Z9=rXyDn>s?vvGFt`q&;a5TRksCvI15o4i@svdZui;s< z-n@xKB69$$a=9;U8M;AE-N>u4CZd-$!EgN6p2_LSd0&Tb4}j-e!H;M}R0pQGmDh{Q zi)!1p`L_Z~+GGhkzj#ZeF6q*-VAuhFVEgR!tj{ovtDHBFCo4l~EA#$&BvLlDXWC)t z>+L@bABR^=)7)o_WxsUzd5w-;4eAto(OjDJb^1<{$>i9thm{j3vjn|D7v5&?c{CcG z0Z>uUjHHyU8rP(|)_ofag_Z%-78LwUEEa1QLNo$kMTh^&8(~1fK2ItKwEzGB07*qo IM6N<$f(;$y@Bjb+ literal 0 HcmV?d00001 diff --git a/src/icons/images/run_16px@2x.png b/src/icons/images/run_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..41031936648c9ea154e8a5df4b6090e342f23bb2 GIT binary patch literal 1056 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 kdq4Mb>U{rZTt8p^z%H{|9 + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/new_folder_16px.svg b/src/icons/svg/new_folder_16px.svg new file mode 100644 index 000000000..83bab4bc0 --- /dev/null +++ b/src/icons/svg/new_folder_16px.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/pause_16px.svg b/src/icons/svg/pause_16px.svg new file mode 100644 index 000000000..02033e9fb --- /dev/null +++ b/src/icons/svg/pause_16px.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/run_16px.svg b/src/icons/svg/run_16px.svg new file mode 100644 index 000000000..6ef8fdf9c --- /dev/null +++ b/src/icons/svg/run_16px.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/runthis_16px.svg b/src/icons/svg/runthis_16px.svg new file mode 100644 index 000000000..ac1be0680 --- /dev/null +++ b/src/icons/svg/runthis_16px.svg @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/stop_16px.svg b/src/icons/svg/stop_16px.svg new file mode 100644 index 000000000..e8f2a50f7 --- /dev/null +++ b/src/icons/svg/stop_16px.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index d02f93ee8..c14d56af0 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -104,7 +104,7 @@ p, li { white-space: pre-wrap; } - :/new_folder.png:/new_folder.png + :/new_folder_16px.png:/new_folder_16px.png true @@ -1377,7 +1377,7 @@ p, li { white-space: pre-wrap; } - :/new_folder.png:/new_folder.png + :/new_folder_16px.png:/new_folder_16px.png New Folder diff --git a/src/lay/lay/layMacroEditorTree.cc b/src/lay/lay/layMacroEditorTree.cc index a6035d641..b85111f78 100644 --- a/src/lay/lay/layMacroEditorTree.cc +++ b/src/lay/lay/layMacroEditorTree.cc @@ -363,7 +363,7 @@ QVariant MacroTreeModel::data (const QModelIndex &index, int role) const if (role == Qt::DisplayRole) { return QVariant (tl::to_qstring (mc->display_string ())); } else if (role == Qt::DecorationRole) { - return QVariant (QIcon (QString::fromUtf8 (":/folder.png"))); + return QVariant (QIcon (QString::fromUtf8 (":/folder_16px.png"))); } else if (role == Qt::ToolTipRole) { return QVariant (tl::to_qstring (mc->path ())); } else if (role == Qt::UserRole) { From fdfacd8532a6c54738818e07f7767c541fd8a2a8 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 14 Sep 2022 22:29:29 +0200 Subject: [PATCH 23/52] More icons as SVG --- src/icons/icons.qrc | 24 ++- src/icons/images/defaultmacroicon.png | Bin 454 -> 0 bytes src/icons/images/defaultmacroicon_16px.png | Bin 0 -> 355 bytes src/icons/images/defaultmacroicon_16px@2x.png | Bin 0 -> 455 bytes src/icons/images/generalmacroicon.png | Bin 745 -> 0 bytes src/icons/images/generalmacroicon_16px.png | Bin 0 -> 528 bytes src/icons/images/generalmacroicon_16px@2x.png | Bin 0 -> 936 bytes src/icons/images/generalmacroiconactive.png | Bin 704 -> 0 bytes .../images/generalmacroiconactive_16px.png | Bin 0 -> 580 bytes .../images/generalmacroiconactive_16px@2x.png | Bin 0 -> 1071 bytes src/icons/images/pythonmacroicon.png | Bin 1130 -> 0 bytes src/icons/images/pythonmacroicon_16px.png | Bin 0 -> 758 bytes src/icons/images/pythonmacroicon_16px@2x.png | Bin 0 -> 1750 bytes src/icons/images/pythonmacroiconactive.png | Bin 1218 -> 0 bytes .../images/pythonmacroiconactive_16px.png | Bin 0 -> 814 bytes .../images/pythonmacroiconactive_16px@2x.png | Bin 0 -> 1944 bytes src/icons/images/rubymacroicon.png | Bin 1017 -> 0 bytes src/icons/images/rubymacroicon_16px.png | Bin 0 -> 755 bytes src/icons/images/rubymacroicon_16px@2x.png | Bin 0 -> 1582 bytes src/icons/images/rubymacroiconactive.png | Bin 1139 -> 0 bytes src/icons/images/rubymacroiconactive_16px.png | Bin 0 -> 773 bytes .../images/rubymacroiconactive_16px@2x.png | Bin 0 -> 1739 bytes src/icons/images/textdocumenticon.png | Bin 433 -> 0 bytes src/icons/images/textdocumenticon_16px.png | Bin 0 -> 707 bytes src/icons/images/textdocumenticon_16px@2x.png | Bin 0 -> 1485 bytes src/icons/svg/defaultmacroicon_16px.svg | 126 ++++++++++++ src/icons/svg/generalmacroicon_16px.svg | 163 +++++++++++++++ src/icons/svg/generalmacroiconactive_16px.svg | 155 ++++++++++++++ src/icons/svg/pythonmacroicon_16px.svg | 187 +++++++++++++++++ src/icons/svg/pythonmacroiconactive_16px.svg | 189 ++++++++++++++++++ src/icons/svg/rubymacroicon_16px.svg | 187 +++++++++++++++++ src/icons/svg/rubymacroiconactive_16px.svg | 189 ++++++++++++++++++ src/icons/svg/textdocumenticon_16px.svg | 171 ++++++++++++++++ src/lay/lay/MacroEditorDialog.ui | 66 +++--- src/lay/lay/layMacroEditorTree.cc | 21 +- 35 files changed, 1427 insertions(+), 51 deletions(-) delete mode 100644 src/icons/images/defaultmacroicon.png create mode 100644 src/icons/images/defaultmacroicon_16px.png create mode 100644 src/icons/images/defaultmacroicon_16px@2x.png delete mode 100644 src/icons/images/generalmacroicon.png create mode 100644 src/icons/images/generalmacroicon_16px.png create mode 100644 src/icons/images/generalmacroicon_16px@2x.png delete mode 100644 src/icons/images/generalmacroiconactive.png create mode 100644 src/icons/images/generalmacroiconactive_16px.png create mode 100644 src/icons/images/generalmacroiconactive_16px@2x.png delete mode 100644 src/icons/images/pythonmacroicon.png create mode 100644 src/icons/images/pythonmacroicon_16px.png create mode 100644 src/icons/images/pythonmacroicon_16px@2x.png delete mode 100644 src/icons/images/pythonmacroiconactive.png create mode 100644 src/icons/images/pythonmacroiconactive_16px.png create mode 100644 src/icons/images/pythonmacroiconactive_16px@2x.png delete mode 100644 src/icons/images/rubymacroicon.png create mode 100644 src/icons/images/rubymacroicon_16px.png create mode 100644 src/icons/images/rubymacroicon_16px@2x.png delete mode 100644 src/icons/images/rubymacroiconactive.png create mode 100644 src/icons/images/rubymacroiconactive_16px.png create mode 100644 src/icons/images/rubymacroiconactive_16px@2x.png delete mode 100644 src/icons/images/textdocumenticon.png create mode 100644 src/icons/images/textdocumenticon_16px.png create mode 100644 src/icons/images/textdocumenticon_16px@2x.png create mode 100644 src/icons/svg/defaultmacroicon_16px.svg create mode 100644 src/icons/svg/generalmacroicon_16px.svg create mode 100644 src/icons/svg/generalmacroiconactive_16px.svg create mode 100644 src/icons/svg/pythonmacroicon_16px.svg create mode 100644 src/icons/svg/pythonmacroiconactive_16px.svg create mode 100644 src/icons/svg/rubymacroicon_16px.svg create mode 100644 src/icons/svg/rubymacroiconactive_16px.svg create mode 100644 src/icons/svg/textdocumenticon_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 159c94214..82a770a3e 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -57,7 +57,8 @@ images/ct_31px@2x.png images/dark_12px.png images/dark_12px@2x.png - images/defaultmacroicon.png + images/defaultmacroicon_16px.png + images/defaultmacroicon_16px@2x.png images/del_16px.png images/del_16px@2x.png images/del_24px.png @@ -78,8 +79,10 @@ images/forward_24px@2x.png images/forward_16px.png images/forward_16px@2x.png - images/generalmacroicon.png - images/generalmacroiconactive.png + images/generalmacroicon_16px.png + images/generalmacroicon_16px@2x.png + images/generalmacroiconactive_16px.png + images/generalmacroiconactive_16px@2x.png images/green_flag_16px.png images/green_flag_16px@2x.png images/help_16px.png @@ -157,10 +160,14 @@ images/rrotate_16px@2x.png images/rt_31px.png images/rt_31px@2x.png - images/rubymacroicon.png - images/rubymacroiconactive.png - images/pythonmacroicon.png - images/pythonmacroiconactive.png + images/rubymacroicon_16px.png + images/rubymacroicon_16px@2x.png + images/rubymacroiconactive_16px.png + images/rubymacroiconactive_16px@2x.png + images/pythonmacroicon_16px.png + images/pythonmacroicon_16px@2x.png + images/pythonmacroiconactive_16px.png + images/pythonmacroiconactive_16px@2x.png images/ruler.png images/debug.png images/bug.png @@ -178,7 +185,8 @@ images/stop_16px@2x.png images/techs.png images/text.png - images/textdocumenticon.png + images/textdocumenticon_16px.png + images/textdocumenticon_16px@2x.png images/unchecked.png images/up_16px.png images/up_16px@2x.png diff --git a/src/icons/images/defaultmacroicon.png b/src/icons/images/defaultmacroicon.png deleted file mode 100644 index 5d76f4a1488fb49878ba1a356d7fe94f99469bd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 454 zcmV;%0XhDOP)00z;B#h1U%0%w8+AARTTg5Efo`F0puW_F zXoAq`gB328v{o-96T&6=hBE|m>FyZxaQEH<@RVg)rK(MdNF5i+&r<>LxJ0CMcUWIj zl8;%IJ@5B>Znq!Jx`;wmARV4cr}OnjG&WP_^WEC&3VSCxMwI w$D0Oig0wjB{ktZad}|>hhq|uE9D3XG1uhD9E^6LFHUIzs07*qoM6N<$g0#uK?f?J) diff --git a/src/icons/images/defaultmacroicon_16px.png b/src/icons/images/defaultmacroicon_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..1b172838348ae16bc6db720fb97f2932bcfa392d GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt&%sT^vI!dgo5^?P_)qXq{iS z_DZXG!DQ(tY;sD>dADZsZk9daR`@zlEt2ODi`oL83#|!pVv3W@>Mz@6yvX{ceNX$; zK^K);hSM*9GuPff;5lhc?R|Tu2dkZpre#ND{|yv5x+*t1$1GkzP(xK9@K~&7{_(kz_Xam_p-%$qxspa*Gqd3_Ft8`kzv3-&tgNnyxR}`8uKRJ y8sURt`yL*WaD1-Ts8>K#~}5j{ohxsg3=Wq04}NXYh3Ob6Mw<&;$T9mW#Lm literal 0 HcmV?d00001 diff --git a/src/icons/images/defaultmacroicon_16px@2x.png b/src/icons/images/defaultmacroicon_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc1eff1cd7a0df6fa0feaefe630a64db46e8e19 GIT binary patch literal 455 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 literal 0 HcmV?d00001 diff --git a/src/icons/images/pythonmacroicon.png b/src/icons/images/pythonmacroicon.png deleted file mode 100644 index 5b1bc42700bbae84e5f0ac28dd611d5e014f8c0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1130 zcmV-w1eN=VP)V^v*OH_ZD}soGl2}-=snoWj2R)cJ3D~N%p|&My(JBVn zjoF!bd)S?Eb$8QH+817i`38Q^`#kRqL(Gi-wU{|)1L*U5y{44XZ6Sn}*+gVJ4S+LS z2=SPiq2v-JqIbMr@8v`yK^q(E?zs>WQVIwmAf<#5BIE4vDujUF?Gv1D6B7so0%)vk#&17w;^xE`AQG?vw4U$6 z`qy{x`@LWB&Fma-{$hRysfh*V=f6cX8pY`7D3+I(v9`8`p`jsMdi?_gUksxBg&?k9 zxrS5EoPvJ$F{%olhqMWweln8N0hk#ck0<%y!F_)CaF4gPwip2S^z?8tnPk&6xwyEP zHC^MIe|*KWf6lYN(9abW6}-N&&WnqS+|ts*$4g3?WaexKMC6J)I|zrvICyk`^~E)) z8;sW0R;;eB!nSOTjg6tNuP^uX84-~Xhi^_M8~`>qHvs_8sn6ncMI{E_8vp zS@C2>q%?k?)Iiooq5v2u~h}<8F w+I<_bHbCx&QzG07*qoM6N<$f?pU1RsaA1 diff --git a/src/icons/images/pythonmacroicon_16px.png b/src/icons/images/pythonmacroicon_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..0b891c2f7a45b2eaf14fb47136a109191288b610 GIT binary patch literal 758 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10)t6J zK~y-6b&}6ZlW`o!U(fe>Y&=_sgr=UR_@h0HU}>u$47RefkXj<>VTa|02T4#&Z2v)d z(Wx-kS;0%B*V2&GgByv8Vnk39W*t)Lk=Un0?MWryrw`u`uh$noyfscmL_9$4>Gw18 zQ9BJ!OiVn_X0uJUZEI&yg^Z1jMU3NcCX>lzv)N|bw(0BZ#V`zX-M}#P6SJ-xba!_H zpbBt0oldW;thB`AaRBo9{F$&}IRBywa4wg75Rb?4`~3jaH{4=w?)86RUDq9f0bE;M zUA=GHHbX;00B9FrH~xj#;}~_BtBgDwrn0iift6Ax1Xz}(wYRsUlwxUViSt)H-22tU zc*7{Sf81g3`#192g8!1=fg2keo#RC|HZ~+24oe^qkVqsVZjW1nH-a+xc2Y)Pq@=vc zCy~1m$-T=-Yiq02)YQoM__&D3Lj}mr&JLZOovf{`;q&U`B(E;ev9ep zY5M#7SzcZS*i!&UM@MLyhHcx-%*@bS)WX!$Dco*1KCh3SM?K{8c@l{PySuxzwY8DU z<(wOYlgXrPZf=Tcnqpa&0OIv}Wp;K}3Q46>0?6?2u!xAnVlfesumMn9T#TlHX__o9 zE^>HyNNH&)n)a{Ffk1$=vNEF4=!rTjKnsV%jEtl>I5=QnV1S~cA_rbyUnh}B(ACvN zNl6L&`}-#ZMxnN*X*%|;tt|!z2dS>Ermn8;Pc!T5(RH2e?QN3Dq$AKoq!Ne#Hvtdu o6IcYc01dbfT>d*B-vPY;4So#~i2UOG2mk;807*qoM6N<$g0?bXS^xk5 literal 0 HcmV?d00001 diff --git a/src/icons/images/pythonmacroicon_16px@2x.png b/src/icons/images/pythonmacroicon_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dd14a0ad58d06917b0097150518da5bf64b01e0a GIT binary patch literal 1750 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 diff --git a/src/icons/images/pythonmacroiconactive_16px.png b/src/icons/images/pythonmacroiconactive_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d81a50fd92f4d3b86111dc5b85f6a807bbef09 GIT binary patch literal 814 zcmV+}1JV46P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10=r2> zK~y-6b&^eNOkos;pF6jDJ6fWhmW44x+aaMFlPRghHM1Ckg@{2K)r1OSBN3K@(E8c2 zz%-_1fs#;NC=yN6R7YCBrKElrlBQiu(~g;FXL|2F7Ie_)yZO%fPM$Y!zV9eZk%;61 z%ctH?qi@PoxS^rpYV>u_7BwZxbkwB6;cy`9Z@96su`&9pJEW%J@x^@1R01QFz)U4E z$A6uZ{f;Z^0I*HMkw_%+vh+*851+mZ!d(~FlSx?&Gk*}I#5G=ehTw&9#WXjz+$HVF<@oc zO2xBR$8M=ibPb{FIsjkaeWv&A8tC^iOn{hLhdAvY>f4{5t&X_4V~4BKvHB3=R&mZGRPC z-hag9a?#%2j;`y3LLt0fFPf&|cDq4=#bq88n}W~h1Bf9a{@U7Fx&NVEvbAjK=;#m; z5zDef(=_Ss>6W@Pb>c2@%d_DgS>|0TCoUbAa5yX?;o7?ftU{09YoPJ%^T-7MxBe=Pz8KHgbw4m4_VCq~G1%;e_K4KQGly%=MOfn%Nn zf2E(T@3v4$RVIPr_xrhZ`8s1i#yEHM3`t3_?nRL2@#kz9+sOT6t(-k_j)KAhl8GdS z82|2pWm&jpIjPxQgQ}_&#pY6Zr;5_jQXJkwin5Cc>OoXh#W}KoUHA52@XJIIkzybK stO9a@aiAOc1Sr4?pzL@3_YC0cPoFk&w2Z@~ literal 0 HcmV?d00001 diff --git a/src/icons/images/pythonmacroiconactive_16px@2x.png b/src/icons/images/pythonmacroiconactive_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..509ce5182288a0dd51fb78216bfa84aed03ef55c GIT binary patch literal 1944 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 diff --git a/src/icons/images/rubymacroicon_16px.png b/src/icons/images/rubymacroicon_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..8317a9695b7e3af81c27a363a9f672be89f2e879 GIT binary patch literal 755 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10)ROeqiKqV4kkIKhonQ|RS?8H z2n9BBF6cTP1BGspJUn>u38pZ?Np#87L)6Bbx!1+5w1mE=KY#dq|9ro{-(TW_Y}f}&ST zNhXtoLZROVg+c)#1mSR)_4Re8o=(yAunTvEo8o61sUWexx6jP;83qRj85kHS6&H=2zx%U31cWvzcm7H7=KniHQk%dU_Zh9;Umy8^bUFyaGUyBs9%|bhdjn zQVoHo0Clx>sHzG;CX*@e$L{Vffj|HtCjfjtA3Hlc3=ItdFfu%XrfDoKEs;v4Fin%S zwKWXG;NakZLZLu=dpkf@03011;rII)A0OxR^b`P1)6jLD&dyGBUB~bDV;BYwhlAeU zUgGgM!C){a*|vQ<5{bO8s;a{4^&*|+I5{~Xo6Vx@I+c}`0C+qe^7%ZOOorp*V`8yb ln`GN|Jy8GGSNlKh{Q}6G=QzZwxKscD002ovPDHLkV1hSLP_O_1 literal 0 HcmV?d00001 diff --git a/src/icons/images/rubymacroicon_16px@2x.png b/src/icons/images/rubymacroicon_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a1bf27e43c2f8ccb872abcb4ce4f81ff92d955c2 GIT binary patch literal 1582 zcmV+}2GRM6P)VQS3j#V;7ZD7Ik-bS06rnID!20&p$&5fubnd5JEvwlEvafXwTcW zZA;)udZrI|UftZ>yjfM%l)St=ZSLQYD~g^@7m3>*-?`0ZW9!zfe;51<@+S(INUo}C zip^%Dwzd|d(WvDN3=IBb@<|0e4LLyho8`2$w4$n!XC@ay-}TC~kOSNg-e>>*{VZQz zj?3kGCh}ws#NY0B+uPgMtE!q3vw48Jx;kAlfYJoA1-xD_pMJW7g9i_?di843($a`+ zFt$roRb%;+kWUn#ghHXrq!|e;C{Uw2YaP(V*l4_2#{oSdA84*X3x z8Tmv38XoQQ{QLp{rkqWzTKM5YUVeEF_xi@D|G1vv;bDXjtXZ>$hK2_1yeA`1D&WyR ze-uT9uW_Zf8%wGMQlRfoFP)v8+Puf(p|`geqtS@fYMqoksQ^V$m_B_v27>`16b>9X z5EJ$a2n3}sloFm1CKwII1T89J?>Ara-SO|afJ{qElN}u$(&zKZ^XJb?DdjGB&-;sk*}0F%k2%`aKLgagO-V>B75 zuB)c^S1)t3UWHK-uGvF}4zXp+7VY`w&6|{!mC@JNM_XGPPNx%~K<9vzl3*~%`1m-G zxafP1wH*5PYm7!C;XC749#~mgv=o6LJ3AYT#R5Qaad84Uz^qxb*t>Tx02eM?h=!JU4HPK&bYjn%yURuyyS&ZV%hP)FqTdXoz1>+1s`GgG_q!#V+0 ztCjThbc7HI9~J;2vEuUb@}ytMINWYG=gys@qM|~Jg+d`38yf*wv}jR0Jfag&T3U(_ zg08MET3TATd-tw3=X5&B$jAV|X0x$#=T0mZ3!zYmhK2@CpFR!5-lNLON;YoXNJ&Wv ze!rh%$BuFJ>Q#ggY}&LbzGT0)c>Esd?Cg}P8j*IpJ!vmb9PRDxQc5Y^Zg)aFH8u6I zHT(AMlRlqMc6D`0DW(3mJl4a4nwlDHG)s5v*ujk(Hvm|A~%GbMM~0ggjjv-nw;*lP6CmB~AvH%Z1D3(!~`;AuB73NF>78*cehueK8OFEN;ht g4I#w;!kd7<0Lg049T?`_kpKVy07*qoM6N<$g8LHd`~Uy| literal 0 HcmV?d00001 diff --git a/src/icons/images/rubymacroiconactive.png b/src/icons/images/rubymacroiconactive.png deleted file mode 100644 index 20777021530f2d1c83338878de70a78aedf615e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1139 zcmV-(1dRKMP)iK~zYIwU*s)R7DtvpLb@?*M9VqmJMt_LdtScp|n^8NhHdZ zfk2{$5=p98O%U-$x%3afM7U6~MlaN$NFYXwmxe@YdZQsqY>;3jq$UlDcDpLwcF#HE z#cr3DZjq2M$(u8oK%v)hM z`1m-d&z{D=mSWxh4&1<{sEQQz9HIqBJIgxK0BEgA=@gy*I(kyQG`Y=q%EKrJErzzo z|HSh=`uqFo@9*c*50@A}KTfhIMMGaBf2nCodY*`AnSrY8x46ntPoO=LD^*!lEM0Iq&_ z^*#(L892&8tFnP0C{ZX;1oZ(_4rtI20G3~_TmxX^6PxbKKs@84mBC^wNm;B|VzFel zWN_=s4j~bL+`7ft56{t&>tOr7ZB(?U|G@U)LnHGg>J46%fS z{L4QSC@{y|l1yGTN5d$LoN@+HjM9o(b(?85O;OF`s^u5g-6O^lQldm@#cdL6Eh1t? z1g$knmCGU`H3iiSDzA|^j)|g(yI&`wq!dT7D-ZkG@*g%eLQ}iWR{8({002ovPDHLk FV1h^m63PGo diff --git a/src/icons/images/rubymacroiconactive_16px.png b/src/icons/images/rubymacroiconactive_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..6b848ed41eaa49a3caf604f32ec60a259ff5ad92 GIT binary patch literal 773 zcmV+g1N!`lP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10+LBY zK~y-6jgwtSQvnpme|Pt8*Jjg}iK$Cdskb46d=tefS@dCIAC^$!DAK(|^%VG^W6H+uG@o5%M$v(9L_oX{+z?%2yBz8s)>MQ zdwmBj3)|uT{{Dwfx2sAFtHMrHTwPsVCDQM(!{Kl^XQt1J5g6?>5)1oK!aibQKe5n8 zjOR7I|v-^4rTIaiGj0OkAIj&LmG+nhoZhn+K17o3&Lcybj0)(VCQyj=Vz ztc3kr20+22d-A*#6)74x$f-snyHk=F?tV)CBbolsHyPdE!`r+k9M)u@g#DArgt;*ZiQg@+dBsi-v{Id~)w$Z+k>RaTBHk$*8CYlW4Gi3tFc20#!5 zsuGG&)t>+af&mh;6Idx(LYpRm080zYl%|xCsmo+#ahc@gWPpGKke!`P#-f2M^_Kvs zyIzM*)^Y!FJ0p$}=4a=bou0)#<;LsrqC}!ttyX|f62R)}Dup@e*lycUqESFaC+pDf z)l*nrh;g5h19@4vr`*U1GR0?#7=Jd7#bVi*z~}Sv>cI<4CKH0N3xMc)l%adWq^71~ zG#XidzmCOZAs7rY+VKXj*9(B4s%kEf``4@epFaKq;D0swq8nxg00000NkvXXu0mjf DY${y2 literal 0 HcmV?d00001 diff --git a/src/icons/images/rubymacroiconactive_16px@2x.png b/src/icons/images/rubymacroiconactive_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a069435f88db880cf2f87378cfed2e1c0acb26 GIT binary patch literal 1739 zcmV;+1~mDJP)0e)aMrKXK*X%~N_Yn;--#H}*WiOwYk znrt{Xn+)tsvlSP9lr1rH4Mt<58>@{!&d$ShLFwiWb>e!Aaws5Ny*oU6+n#}SGjRhdNiWmH8* z^@o3!5&lV3MV^XHPQ?P_FV^@7l5n&$tYHof#9|W zf4Mu&&qtNs(D)aD3%@+KfpEB@D6y_o8S7>zlk-F<$7dh=+;CNy!$1@~#mnEy9C+s` z5fg?A-sQ7jUqYSm{@-x*emgJ|e%CmGWkVm{M1Rx-b;8HpU-mHk>|gPo9-IM}=Y)${ zb|6^Y>swn}H!F$~3t(_2u&yOPDjDGH*|Y4}u>+gUM&j#(?0%~P^NY`*)9FA65Gq0l z-W>c5$8R5>6CQ3r8?b@}hTD6Lvo*r6STFA`IWYMBU@E-*=RYsEZb}~%=bX}eGJGHi-kNLlSRBngR9|db1qO^T+HFa zhiPkT!(y=@NfLMjJ7afJySNsY;Vymm`Z#;%4DSsef3SfH%&d=nI&hXk#rHzyoCY)+ z4P|9zT)A=ui^W1pN(#xz$&8PW!x-o#1BEGt6dDRC&3u)Q&i$P`ckaw?z+f=&O3ZQu zf>RwQ8MF_e-U{4;xw*Nx-EJBh8n}GTOL-`~&Z=qLbArxSnza{=Ys%UJu}HRzM{ z$dfYlRrTDsaf5{m7XqY59l`C}xA~{s$2a1#X#C?_+;e*{rxt|9OG--U=;$ChIhp$U zdaPC}TCFw&532UfT1u-nhQ1FwhN=8kC4>DAnwy(BaNq#IqNp7ZLhy$34}5s<5(qVL zvrVa{riRYWP7DSE4u^xW@iDTqvjfGN1Q-K(OP*RnY1Kw1lnJ_=T{wMCOi!5j(Vp!9 zbaizFmrRW^05B$x^6uTgfDlu+T0ndD>|uO-oVvO?mM&e&{{8!DI`uX-{lAb*gx)Tn z%zYAocRp=n*VUage$oKI;{2}zgzuIv>IeW9$9#p&^VUqY;k1FPSFaKuAJ58_E6IK) zhtu&Na3bzKO6HYB%pbH50`Q%T4Wwz)C^oJDz|rpjK(7zo_;Qp1lgY&Q)7JBtH2udC zl+WiQF*T6|D;BUIVLn9^Q0=S6s5M3y`1s<-Ts(6T^YdoPo+uBHyfUqgZ2&A=wk(+H zj51(0n|VyqVe7s^NAsU>yWF9%ef#&JP0#|6mYzywZ6(QR$;e)r=3g~)zVkyMP)EB; zf5Nvny-Z$F9^<1dg{oi&ZNusi{GPvYGXz}1ZV6|FB&xB2^D}Q;`UJieL_S>I| zOP_U%-=Auah{tMU?>ndF=i7zdZWrC%-9iWv{aWsHI!O=)N~>Q*RTX6KWS|VgY5~BQ zlEibXp95e?!4fv@+{Dm-hX7dd&0=)%I*zsvK$&)83 zDk>6D2D-YsSodr?xrMpxYkdO|YQ;zcLAm@c^g2De_Wd|&Y<21CsF+9baQf&OhK7bh zu?PbrBO|3}r73}eN=Rg6_FR!h7N~=W5g002ovPDHLkV1h{~U{e49 literal 0 HcmV?d00001 diff --git a/src/icons/images/textdocumenticon.png b/src/icons/images/textdocumenticon.png deleted file mode 100644 index 1262af379397b1e6241ae52ca02728aac7843c34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^R0y z;8#(Oxj+%l0*}aI1_o|n5N2eUHAey{$X?><>&kwcM^e~CbGOOSS3n`j64!_l=ltB< z)VvY~=c3falGGH1^30M91$R&1fbd2>aiCQ^o-U3d7N^%vQe4;UAkmUOn`xH{2aos* zQLVx`46Q8Nr#}$j(BW!d+O8lWB6c_|zbRqWFQz3bHuru{68)W?K56D(R zH*U|}ye~HWk<&KjM$cMyGILfK+w{FnIk(*;+5)^3yObo_7!_G~4oAE{IPaiEpGFtc zy4OnQiy02soS*UhXLaXo4$nyj986)MuD7?{{B9e2ed&}U(TD%PJpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10#Hdr zK~y-6oscm|8(|oRpa1R$6Ftcpt57Tm2O1DT4y-=#?#sSbUoj}M;jeZN=mL`tbHz<#=aMnA<< zIG@jd^E@ve1c7*tYATn@P0GLFLZMLbJnwxF1gx!nMoNjUOQh7>W?h#oFE0b2HDSkb zoRgE259xFo;6+%ZpE|p3j)9Ey^SPbArSl9K|0SUZ4J3C7RLBRI*HUOq+BBf48 zM+aS92D+{Rf<~i(rfF!J)^-5j_rFs?* zUtb^5XfKA*4Z!^TCk6%vczk?pcmCaj1|Wo>rzc7#lfkxaMn^}F@8yG)?mP zJh51e@$qqXcXyeco&EEIQVOLMmSwTJx=MGq!O~KSxw$zeCMEzlJv}9x&2n>d!@|M> z#bOcQwFHPnA_yUvit$?^}`A*Vl>1;{Y5VALF_%Gcz-9G=SmZVfOa+ z*x%ph;NXCZiwgz^2iwXjm&*V&8VxQlFNs7V0KNpM*Xu;1JzQU3v$3&3sZ`?X>WY<> z6_Uv$p679Rc!=w|+}_?&tJRpAngaMC0nX3QSzKJCSS)gMbVM?l#4rq$QjCm@U|AMJ zLqoW(OE?@Rkx1Y;4z_LkLMinwl}ddNg+h#tjbWN54-XFnK|rlmqgt&t<6@d7)oPV; pxy;?&9l2a?QYfV?z~cW@`2~?w=#Vxrk30YX002ovPDHLkV1hm$HFW?0 literal 0 HcmV?d00001 diff --git a/src/icons/images/textdocumenticon_16px@2x.png b/src/icons/images/textdocumenticon_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e98d4b4a353cb3df8e82f8089e4c7bb311041630 GIT binary patch literal 1485 zcmV;;1v2`HP)pL26>{+u@2gt1zTgVK#t5ow7Q4AU;8XmMj*h3ddqt@wjh7|pU{ zXUr^k+vygQLKgjAu-L(nMIr1q`9pf6@1|=&X;q} z^M2ns_uL!!$r4K$B&GZvr~{NA3KybTT?#xFiyi9d==dv{OgeuQ{K}Op{{Sp%AOml2 zZ$Feyr@w0UTeRS!Qp&PeEY^7G(xn{usZ)O=gg{XgqY0s)C}y!t6Gs2Ui4!>-(>gv_2jo-cpt|i7sq4B5@ZrM;PMw7rK+kwas>=!H+%WP%l;Mu^% z;MoQYE%iCqG%FU1h4Jxm>g((I`0*nEb#-+FgF$1z7lWG`Sn6}0$^6x;S3G#|z?i>f z%NAoDvqLvudG-`#W^t#}iOaPdx4Q_p+e1;2o5DgDPUkW-O+!kF5HrBrw{KHbRh5&( zQsAZrG)=?p_TX|Y$8NV{v8cvDvREuwtyY{)Cz_^_O6e$yLLd-e>(;GH0=nJqoPORG z6c)PBG>xgLDZ0A4=;kB{T^dfB#Z8wUxM~<+5{d)H8+sCzQ*K(m!%I1Ry56Z^IMwv(?WHOnQm6eqeFl~OnUnUX> zsq4DbbzP>@X&DR#B_KT>kLetn%_c*kkc`LU^2w7YQcBruT7gV99*+l`&Blfe8z?O; zWzCv3^!N93@7_J0K7C4OXD5L`AZHH1r%#^%@caE#R8%lJI!ZVkW^8PXy?gf(i9{$Z zEd^MaXFy8H^mG!N&CcDscbT4^#%i_BLI4DTK!7`U?$FoQmj}=2;>C*`J$lsW4-XIH z_xl+f9HgV8gY)Ol1N;W_4xy%LsHz6QmoHzqaNz=*H*dyfvthN`@Or&Ge*74KR4Qc( zFE208fdiD3l+fDR3c#~x&oW_mUIi*ED~-!#=gyt<_V(s1G(0?<2b{06vNF^7rcIlG zxh(>0Fs}j|H*N%=xw)C%-d-FI2d%BGynOkRSS&_YR~I{W>{!&mz`%fMd~k3OfPwwRmMwZA@%h1@bKY7YHDhXSR#?&%$YL) zR8&-C!ecoGbX_NrNC2>M<*&r!aYCUGMMXtODTzj-+`4s(v9U1#B9REHsuBzaX=`gE z91a6B2YJ`7UF_e#AD_?1$jAscZrtGY>(>Y&XlQ82ApbQSX6}JUj~+=~PsvayB!v(Q z-UHd~?Afz9eNEFA9NX5`CgbtAeE$5olv3t@mcMxMg6isOcJJOzI2@*>rG;oTiV%Wz z>(;Sn&mOE+E752a0I%1};lqa+9UWz8Xb6Dq+qdIzIJkWIGJSo0D2js5=i}tblhoAI zFfcGcBod*#yjS z`gu3uv17+ryLK(r)zxHwj!P+-n3zCHY4j&2Cm9(Tp`@e)yWO6%PC-F|Vf^#w&%Al_ zhMt}tCMPFz#+m*x85$bm=FOXEn#PJ1D@Z1jOiWCWPN&UFU?N3PaJgKhQYogUrVQir nC1$f}Uh>L6P(p~G!p+ft?G{Oe8AJRR00000NkvXXu0mjfwA9o9 literal 0 HcmV?d00001 diff --git a/src/icons/svg/defaultmacroicon_16px.svg b/src/icons/svg/defaultmacroicon_16px.svg new file mode 100644 index 000000000..c7a32056b --- /dev/null +++ b/src/icons/svg/defaultmacroicon_16px.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/generalmacroicon_16px.svg b/src/icons/svg/generalmacroicon_16px.svg new file mode 100644 index 000000000..61890992e --- /dev/null +++ b/src/icons/svg/generalmacroicon_16px.svg @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/generalmacroiconactive_16px.svg b/src/icons/svg/generalmacroiconactive_16px.svg new file mode 100644 index 000000000..3d365c999 --- /dev/null +++ b/src/icons/svg/generalmacroiconactive_16px.svg @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/pythonmacroicon_16px.svg b/src/icons/svg/pythonmacroicon_16px.svg new file mode 100644 index 000000000..564eda1ae --- /dev/null +++ b/src/icons/svg/pythonmacroicon_16px.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + py + py + + diff --git a/src/icons/svg/pythonmacroiconactive_16px.svg b/src/icons/svg/pythonmacroiconactive_16px.svg new file mode 100644 index 000000000..c7f5907d8 --- /dev/null +++ b/src/icons/svg/pythonmacroiconactive_16px.svg @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + py + py + + diff --git a/src/icons/svg/rubymacroicon_16px.svg b/src/icons/svg/rubymacroicon_16px.svg new file mode 100644 index 000000000..1adca248e --- /dev/null +++ b/src/icons/svg/rubymacroicon_16px.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rb + rb + + diff --git a/src/icons/svg/rubymacroiconactive_16px.svg b/src/icons/svg/rubymacroiconactive_16px.svg new file mode 100644 index 000000000..223250fa8 --- /dev/null +++ b/src/icons/svg/rubymacroiconactive_16px.svg @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rb + rb + + diff --git a/src/icons/svg/textdocumenticon_16px.svg b/src/icons/svg/textdocumenticon_16px.svg new file mode 100644 index 000000000..37857ac71 --- /dev/null +++ b/src/icons/svg/textdocumenticon_16px.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ab + ab + + diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index c14d56af0..0e273ab7d 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -103,7 +103,7 @@ p, li { white-space: pre-wrap; } ... - + :/new_folder_16px.png:/new_folder_16px.png @@ -130,7 +130,7 @@ p, li { white-space: pre-wrap; } ... - + :/add_16px.png:/add_16px.png @@ -150,7 +150,7 @@ p, li { white-space: pre-wrap; } ... - + :/clear_16px.png:/clear_16px.png @@ -170,7 +170,7 @@ p, li { white-space: pre-wrap; } Rename - + :/rename.png:/rename.png @@ -190,7 +190,7 @@ p, li { white-space: pre-wrap; } Import - + :/import.png:/import.png @@ -214,7 +214,7 @@ p, li { white-space: pre-wrap; } ... - + :/save_all.png:/save_all.png @@ -234,7 +234,7 @@ p, li { white-space: pre-wrap; } ... - + :/save.png:/save.png @@ -333,7 +333,7 @@ p, li { white-space: pre-wrap; } ... - + :/back_16.png:/back_16.png @@ -347,7 +347,7 @@ p, li { white-space: pre-wrap; } ... - + :/forward_16.png:/forward_16.png @@ -374,7 +374,7 @@ p, li { white-space: pre-wrap; } close - + :/del_16px.png:/del_16px.png @@ -398,7 +398,7 @@ p, li { white-space: pre-wrap; } run - + :/run_16px.png:/run_16px.png @@ -418,7 +418,7 @@ p, li { white-space: pre-wrap; } ... - + :/runthis_16px.png:/runthis_16px.png @@ -441,7 +441,7 @@ p, li { white-space: pre-wrap; } ... - + :/stop_16px.png:/stop_16px.png @@ -461,7 +461,7 @@ p, li { white-space: pre-wrap; } ... - + :/pause_16px.png:/pause_16px.png @@ -491,7 +491,7 @@ p, li { white-space: pre-wrap; } ... - + :/breakpoint_16px.png:/breakpoint_16px.png @@ -514,7 +514,7 @@ p, li { white-space: pre-wrap; } ... - + :/clearbreakpoints_16px.png:/clearbreakpoints_16px.png @@ -544,7 +544,7 @@ p, li { white-space: pre-wrap; } S - + :/singlestep.png:/singlestep.png @@ -567,7 +567,7 @@ p, li { white-space: pre-wrap; } N - + :/nextstep.png:/nextstep.png @@ -597,7 +597,7 @@ p, li { white-space: pre-wrap; } DBG - + :/debug.png:/debug.png @@ -627,7 +627,7 @@ p, li { white-space: pre-wrap; } P - + :/properties_16px.png:/properties_16px.png @@ -647,7 +647,7 @@ p, li { white-space: pre-wrap; } prop - + :/setup_16px.png:/setup_16px.png @@ -683,7 +683,7 @@ p, li { white-space: pre-wrap; } N - + :/find.png:/find.png @@ -773,7 +773,7 @@ p, li { white-space: pre-wrap; } RN - + :/replace.png:/replace.png @@ -796,7 +796,7 @@ p, li { white-space: pre-wrap; } All - + :/replace_all.png:/replace_all.png @@ -820,7 +820,7 @@ p, li { white-space: pre-wrap; } Help - + :/help_16px.png:/help_16px.png @@ -1376,7 +1376,7 @@ p, li { white-space: pre-wrap; } - + :/new_folder_16px.png:/new_folder_16px.png @@ -1385,7 +1385,7 @@ p, li { white-space: pre-wrap; } - + :/add_16px.png:/add_16px.png @@ -1394,7 +1394,7 @@ p, li { white-space: pre-wrap; } - + :/clear_16px.png:/clear_16px.png @@ -1403,7 +1403,7 @@ p, li { white-space: pre-wrap; } - + :/rename.png:/rename.png @@ -1412,7 +1412,7 @@ p, li { white-space: pre-wrap; } - + :/import.png:/import.png @@ -1421,7 +1421,7 @@ p, li { white-space: pre-wrap; } - + :/save_all.png:/save_all.png @@ -1430,7 +1430,7 @@ p, li { white-space: pre-wrap; } - + :/save.png:/save.png @@ -1527,7 +1527,7 @@ p, li { white-space: pre-wrap; } - + diff --git a/src/lay/lay/layMacroEditorTree.cc b/src/lay/lay/layMacroEditorTree.cc index b85111f78..45c754aaf 100644 --- a/src/lay/lay/layMacroEditorTree.cc +++ b/src/lay/lay/layMacroEditorTree.cc @@ -44,37 +44,37 @@ static QIcon tree_icon_for_format (const lym::Macro *m, bool active) { // TODO: create a nice icon for the DSL interpreted scripts if (m->interpreter () == lym::Macro::Text) { - return QIcon (QString::fromUtf8 (":/textdocumenticon.png")); + return QIcon (QString::fromUtf8 (":/textdocumenticon_16px.png")); } else if (m->interpreter () == lym::Macro::Ruby) { if (m->format () == lym::Macro::PlainTextFormat || m->format () == lym::Macro::PlainTextWithHashAnnotationsFormat) { if (active) { - return QIcon (QString::fromUtf8 (":/rubymacroiconactive.png")); + return QIcon (QString::fromUtf8 (":/rubymacroiconactive_16px.png")); } else { - return QIcon (QString::fromUtf8 (":/rubymacroicon.png")); + return QIcon (QString::fromUtf8 (":/rubymacroicon_16px.png")); } } else { if (active) { - return QIcon (QString::fromUtf8 (":/generalmacroiconactive.png")); + return QIcon (QString::fromUtf8 (":/generalmacroiconactive_16px.png")); } else { - return QIcon (QString::fromUtf8 (":/generalmacroicon.png")); + return QIcon (QString::fromUtf8 (":/generalmacroicon_16px.png")); } } } else if (m->interpreter () == lym::Macro::Python) { if (m->format () == lym::Macro::PlainTextFormat || m->format () == lym::Macro::PlainTextWithHashAnnotationsFormat) { if (active) { - return QIcon (QString::fromUtf8 (":/pythonmacroiconactive.png")); + return QIcon (QString::fromUtf8 (":/pythonmacroiconactive_16px.png")); } else { - return QIcon (QString::fromUtf8 (":/pythonmacroicon.png")); + return QIcon (QString::fromUtf8 (":/pythonmacroicon_16px.png")); } } else { if (active) { - return QIcon (QString::fromUtf8 (":/generalmacroiconactive.png")); + return QIcon (QString::fromUtf8 (":/generalmacroiconactive_16px.png")); } else { - return QIcon (QString::fromUtf8 (":/generalmacroicon.png")); + return QIcon (QString::fromUtf8 (":/generalmacroicon_16px.png")); } } } else { - return QIcon (QString::fromUtf8 (":/defaultmacroicon.png")); + return QIcon (QString::fromUtf8 (":/defaultmacroicon_16px.png")); } } @@ -586,6 +586,7 @@ MacroEditorTree::MacroEditorTree (QWidget *parent, const std::string &cat) setDragEnabled (true); setAcceptDrops (true); setDropIndicatorShown (true); + setIconSize (QSize (16, 16)); } void MacroEditorTree::model_macro_renamed (lym::Macro *macro) From 164748be225a5b4f8a5498d33902e6c031638914 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 14 Sep 2022 22:35:55 +0200 Subject: [PATCH 24/52] More icons as SVG --- src/icons/icons.qrc | 6 ++++-- src/icons/images/checked.png | Bin 281 -> 0 bytes src/icons/images/unchecked.png | Bin 230 -> 0 bytes .../pcb/lay_plugin/layGerberImportDialog.cc | 6 +++--- 4 files changed, 7 insertions(+), 5 deletions(-) delete mode 100644 src/icons/images/checked.png delete mode 100644 src/icons/images/unchecked.png diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 82a770a3e..d5dbdb137 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -39,7 +39,8 @@ images/cb_31px@2x.png images/cc_31px.png images/cc_31px@2x.png - images/checked.png + images/checked_16px.png + images/checked_16px@2x.png images/clear_16px.png images/clear_16px@2x.png images/clear_24px.png @@ -187,7 +188,8 @@ images/text.png images/textdocumenticon_16px.png images/textdocumenticon_16px@2x.png - images/unchecked.png + images/unchecked_16px.png + images/unchecked_16px@2x.png images/up_16px.png images/up_16px@2x.png images/upup_16px.png diff --git a/src/icons/images/checked.png b/src/icons/images/checked.png deleted file mode 100644 index 6e17c9efb92125cc7eabadb1454aec4ca7baa23e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>M`nUxc*DCKV1q!m4c>21s-(uuq;N;J_`0FW9NVdc^qQp5r zH#aq}gu%HeHL)Z$MWH;iBts!2BUQoO(>LIKifSHEVS%TMV~EA+y^{jD4k++APkwat z%Y&*d@4N+0ZV8U~-{UzUz45dn!;?9GRqjM3ziN+qy}Uq^l_B9%WQxaR*1HyLQ`ETA zm_1kS72EMX@|@gl$+GgY-RxpZYgr6~HnqHX7sTx-)9V%O6mo3)eb3K%|LyoEM`nUxc*DCKV1q!m4c>21s-(uuqU}ygQWVQoPNVdc^qQp5r zH#aq}gu%HeHL)Z$MWH;iBts!2BUQoO(>LIKifSHEp{=KjV~EA+ 0) { bool value = ! item->data (column, Qt::UserRole).toBool (); item->setData (column, Qt::UserRole, value); - item->setData (column, Qt::DecorationRole, QVariant (QIcon (QString::fromUtf8 (value ? ":checked.png" : ":unchecked.png")))); + item->setData (column, Qt::DecorationRole, QVariant (QIcon (QString::fromUtf8 (value ? ":checked_16px.png" : ":unchecked_16px.png")))); } } @@ -828,7 +828,7 @@ GerberImportDialog::reset_free_mapping () for (QList::const_iterator s = selected.begin (); s != selected.end (); ++s) { for (int column = 1; column <= int (mp_data->layout_layers.size ()); ++column) { (*s)->setData (column, Qt::UserRole, false); - (*s)->setData (column, Qt::DecorationRole, QVariant (QIcon (QString::fromUtf8 (":unchecked.png")))); + (*s)->setData (column, Qt::DecorationRole, QVariant (QIcon (QString::fromUtf8 (":unchecked_16px.png")))); } } } @@ -1607,7 +1607,7 @@ GerberImportDialog::update () } item->setData (layer + 1, Qt::UserRole, QVariant (is_present)); - item->setData (layer + 1, Qt::DecorationRole, QVariant (QIcon (QString::fromUtf8 (is_present ? ":checked.png" : ":unchecked.png")))); + item->setData (layer + 1, Qt::DecorationRole, QVariant (QIcon (QString::fromUtf8 (is_present ? ":checked_16px.png" : ":unchecked_16px.png")))); } From c7006898a65ebe37db9fc6b1db15daed2b42da23 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 14 Sep 2022 22:47:39 +0200 Subject: [PATCH 25/52] More icons as SVG --- src/icons/icons.qrc | 3 +- src/icons/images/checked_16px.png | Bin 0 -> 380 bytes src/icons/images/checked_16px@2x.png | Bin 0 -> 611 bytes src/icons/images/important.png | Bin 391 -> 0 bytes src/icons/images/important_16px.png | Bin 0 -> 813 bytes src/icons/images/important_16px@2x.png | Bin 0 -> 1880 bytes src/icons/images/unchecked_16px.png | Bin 0 -> 161 bytes src/icons/images/unchecked_16px@2x.png | Bin 0 -> 180 bytes src/icons/svg/checked_16px.svg | 89 +++++++++++++ src/icons/svg/important_16px.svg | 165 ++++++++++++++++++++++++ src/icons/svg/unchecked_16px.svg | 84 ++++++++++++ src/layui/layui/MarkerBrowserPage.ui | 2 +- src/layui/layui/layLayerControlPanel.cc | 2 +- src/layui/layui/rdbMarkerBrowserPage.cc | 2 +- 14 files changed, 343 insertions(+), 4 deletions(-) create mode 100644 src/icons/images/checked_16px.png create mode 100644 src/icons/images/checked_16px@2x.png delete mode 100644 src/icons/images/important.png create mode 100644 src/icons/images/important_16px.png create mode 100644 src/icons/images/important_16px@2x.png create mode 100644 src/icons/images/unchecked_16px.png create mode 100644 src/icons/images/unchecked_16px@2x.png create mode 100644 src/icons/svg/checked_16px.svg create mode 100644 src/icons/svg/important_16px.svg create mode 100644 src/icons/svg/unchecked_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index d5dbdb137..86622eda1 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -91,7 +91,8 @@ images/home_24px.png images/home_24px@2x.png images/import.png - images/important.png + images/important_16px.png + images/important_16px@2x.png images/instance.png images/invert_16px.png images/invert_16px@2x.png diff --git a/src/icons/images/checked_16px.png b/src/icons/images/checked_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..770b617a17ce7b8d72244c96e90ccd1b5eaf1cb2 GIT binary patch literal 380 zcmV-?0fYXDP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10SQS& zK~y-6rIImj!!Qg*AB(IKbcVcJY7GX%PWpbM}=Z6T^{6ixp4L4Hw> z6hQev2LRRgGDL*0-)4-F7~`sV&z}eQ(KJnJj8S8ZPSf~+`O{oZ?5q_ssV3x a&-w<>`|Kf`Gk1#s0000TtbYjg-=q94V!_Uaz&>q5P85Xy8#y2w{W}t)fHutp+}eg<)vIFl-bZ%6~L4s$4v@ zVGsly4hMt~%w{tz%L1S%3X&ut%QB>t#BmHj6h$bdTKT^3v)}Kl8f6<+bD$3_%VIX0 zkt7L9DWWI>s4dmcAdq08Te^*8o1qVtk-LlQrNbQ=Xs6XkB<+85GbWs zE|;Wf`aJ_fU&8Tt%zQpa2*KrYVYOOynt0DPeEA@1+68sO&^(I!?1DjEPw-Hl&G%YRd{&*P&(p;*#NzbU$%b6b4g#+G-F`n% zJ#y}ta|Mh3gN-iPuS244cDHX33H*I@{vpM{>l}({35f~c?9=|AVXE(tZV+(bYhYkI z>AZ4o8}|Z!hGh(#8z$RCB<#IoDHhEjEGRdZWx>{lJBznf`_4&yVlr{w_C^o&+0R=J z#^v0uX?>rc^=VE4?}^K{2Ta5ZFHdOOxN<4CLOgR@9=`!k(Y%uu*Y>=)ciEEBf^Vfr z<^K6hK8#cP_pbF~3}oq9Y^Jv}dfw~^k(Aq$rY$WkNLgfeY?s<pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10=h{= zK~y-6byMFV=t2BLfk&W!fb9p$=Iq!L%_u+6&5fKAW z2H;i}iUHW>IPT~={>4V#6I}xdFYQE!i zI;VMs;;2=tjV;#IWi}QUX?}d1R%d4DWp{T%&6wzNxh9FI=!&z`>73Rom5EucHoZ4I zOo@dBayuLZfL`?U(0)S$d5eqFMJiQdU|?V>=OrGGr-Nrqd}lVN<8yNq8XBUl`g(fa z)kOeker$|_W;2CNCi+xbnpQJ*w7k6B4gfMDVl6E#Pai52se5`o+v)E|CJ=zyX2YQ< zg5x+;Dipx!DIk@?Dwj(h6&5B(Mn<}cXhs5{?6cor-V~3k<7;a;+1&*Ia7rcOi3Ch~ zJ=B3fPUI(2srt+6YB>P21b`+SiD>R}9CwiHKM8=SwxA%obB6yfDbJ(1u@Ozx)ktS!o!5_Kl5~ZI z2LPfH0NXaZeSLxF|DF@%1_ORtt@yCAf~{Z>a*HKLU@DV|+iGgo0c-;Ryk75Po-y&Y zLXrNeQqix@PO7V_A^=pP)6s$3O+llP!X^`~7>%cD#zep0-*z4WwY9agj^5t4&!p1h zO(1g`iJ&6uT4}L>!eIcw_f#q^L?S1SzP>khyL~QqFhoTzmur$|Ol;NZV&B~EjCW#! zevgjQd!sSaVKBthjERGTgRic9AW2*Of{!4S%q%ai$Xd9uV{2nmAl(eL-S rT|Or61|bH(3_z2GqBuL}4r2*%*~Rh00000NkvXXu0mjf{z+(I literal 0 HcmV?d00001 diff --git a/src/icons/images/important_16px@2x.png b/src/icons/images/important_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4bfd85570615772b7191eddf873cb6ffcf7cc0d GIT binary patch literal 1880 zcmV-e2dDUnP)u+Z4)=uo&=|Vn$3^Fb73)aE5O5GTW3PA#)N?R)-6n-=l zf-Z^@!v7GVfGNw^6sDxX5v$ayv{Gpnk)({`Bxnk5o91gKgE+)rT!?+|efJ}_<%AG> z)1)5h{^hy&mPunB-2fDV8@WsU)e19$-7K7bjGSzKJv}{TV`F2^NF<^Qhr>nyFqupdqtO_zs;ZiZN z7)$26$+f_@NRrgh)YR0wapT4i0LtgHTCJhx=H?G1NopXX&HpR-?*9J%b55u8U+IPI zYIWkMMkDuCS5xHfT@w6$68wIO`u!C0`)Ts-UAlSWhMXSna=B&)1_sU%(d(%Y<^{|V z(ZSBn&Q7gX8wWreRjOoTVIhqejdZ`HgcjS|NnBW<_V?bS*7|yCJ#m6sPn@91Pd}xY z*GunPEL2=rm;gW;jYjC`==d`c9U!9IIY&f4_j-8c4QYaLn*XzAPM0<0AZ|U#v zKgaXD0Dz9D)$(ngr}3H^5AWWvch}Y zD=Hv8dD;v(eYCNc!x-7a5!Mz zyBBj8FJkcHBNsYS zA;|K;_VRK_!5}CeUw58IwVeFnaM%FAkWD}rjYf40zy_B4vSJ#|3J?5v^Ja+a#6R6$ zRw}`k3Fwh}Nz(*~rGP2tGRq-IdqBZ)*iu@GL>>gvYcs|&FlhpDgTW9Z0FNm*1;+Ck z4^)(tK&#Q@<$*a-1OYG_jWGbxYyvT}*&G9w6-7=0S;ugDWhEfX5GN;d&YMgwO9PY1 zlol`<0&`opZk+~z!5mTG^m=eSkCys+JoWo=v8f5ksVUI2XE_OcBnSim+qP|+1`y09 zaKEmuE&u?3XH0yNmf|!TINIB>1fculk8!ED7jyITP}=QKm6omxE(7?RAcz2P@ZiA! zfI!AbM4Ti^C#_a%2mm!Il{8pbNW&Tp{e$P}E1ix;^m+<5G|BN8s@=UCf4P1gBje+lzQsrcEgcSRz_EC{TTY~!gLkh55xvk`#bEi6cLOG`?(+dX^w^y%9G zzD(OQ1Q=sUj^jS*>gw|GJTKf#BoyZ*X~m(G9zVt=xBEGea*t=(9tu4N-nh6(A4a1J ztyU{sy?WKhaoi{CDrF+tn=Q#+D=0|bO6984Pr%x0m8R--;ZV zaXRT&217=YUA}zzPeiomg}_+^7!e)F7NwSyC>^ugDSZ7pEesFSA6r|g?bIonxN(D? z4iD4Zu3Z##I4D?DMDJTHRFo2>JkJXkE?l^hwanMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt+0BlY3Nje*FdOa+ z|2O6GQjSTc{0{SErZ|ePs&W%b-_*w{7V$v*u(kc0SXTK0n+F?!IvG4&{an^LB{Ts5 DEL<MC@5Lt z8c`CQpH@mmtT}V`<;yxP?4jji(^Pc>)Y!ac^MRVm=BsK z{h#W5l#5en{;9eC?}Qde>@khx+mOHFm8=ryhXYJZEF1y~4h;;9V1~kgTe~DWM4fBb7Bi literal 0 HcmV?d00001 diff --git a/src/icons/svg/checked_16px.svg b/src/icons/svg/checked_16px.svg new file mode 100644 index 000000000..6747255f8 --- /dev/null +++ b/src/icons/svg/checked_16px.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/important_16px.svg b/src/icons/svg/important_16px.svg new file mode 100644 index 000000000..659aedf4a --- /dev/null +++ b/src/icons/svg/important_16px.svg @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/unchecked_16px.svg b/src/icons/svg/unchecked_16px.svg new file mode 100644 index 000000000..a99e11dc2 --- /dev/null +++ b/src/icons/svg/unchecked_16px.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/layui/layui/MarkerBrowserPage.ui b/src/layui/layui/MarkerBrowserPage.ui index b3e34f405..627ea3381 100644 --- a/src/layui/layui/MarkerBrowserPage.ui +++ b/src/layui/layui/MarkerBrowserPage.ui @@ -546,7 +546,7 @@ - :/important.png:/important.png + :/important_16px.png:/important_16px.png diff --git a/src/layui/layui/layLayerControlPanel.cc b/src/layui/layui/layLayerControlPanel.cc index f5efef48e..17ea16f53 100644 --- a/src/layui/layui/layLayerControlPanel.cc +++ b/src/layui/layui/layLayerControlPanel.cc @@ -373,7 +373,7 @@ LayerControlPanel::LayerControlPanel (lay::LayoutViewBase *view, db::Manager *ma m_no_stipples_label = new QLabel (tb); m_no_stipples_label->hide (); - m_no_stipples_label->setPixmap (QPixmap (QString::fromUtf8 (":/important.png"))); + m_no_stipples_label->setPixmap (QPixmap (QString::fromUtf8 (":/warn_16px.png"))); m_no_stipples_label->setToolTip (tr ("Stipples are disabled - unselect \"View/Show Layers Without Fill\" to re-enable them")); ltb->addWidget (m_no_stipples_label); diff --git a/src/layui/layui/rdbMarkerBrowserPage.cc b/src/layui/layui/rdbMarkerBrowserPage.cc index dfa3cb9c1..221a02cb9 100644 --- a/src/layui/layui/rdbMarkerBrowserPage.cc +++ b/src/layui/layui/rdbMarkerBrowserPage.cc @@ -1268,7 +1268,7 @@ public: const rdb::Item *i = item (index.row ()); if (i != 0 && i->has_tag (m_important_tag_id)) { - return QVariant (QIcon (QString::fromUtf8 (":important.png"))); + return QVariant (QIcon (QString::fromUtf8 (":important_16px.png"))); } } else if (index.column () == 2) { From 4ebe51fb0598df390b4a3c19c92e6dec5e43b9d2 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 14 Sep 2022 23:32:03 +0200 Subject: [PATCH 26/52] More icons as SVG; small fixes to image landmark editor. --- src/icons/icons.qrc | 3 +- src/icons/images/move_simple.png | Bin 258 -> 0 bytes src/icons/images/move_simple_16px.png | Bin 0 -> 308 bytes src/icons/images/move_simple_16px@2x.png | Bin 0 -> 661 bytes src/icons/svg/move_simple_16px.svg | 87 +++++++++++++++++++++++ src/img/img/ImageLandmarksDialog.ui | 2 +- src/img/img/imgLandmarksDialog.cc | 9 +-- 7 files changed, 95 insertions(+), 6 deletions(-) delete mode 100644 src/icons/images/move_simple.png create mode 100644 src/icons/images/move_simple_16px.png create mode 100644 src/icons/images/move_simple_16px@2x.png create mode 100644 src/icons/svg/move_simple_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 86622eda1..b9668b18b 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -114,7 +114,8 @@ images/m90_24px.png images/m90_24px@2x.png images/move.png - images/move_simple.png + images/move_simple_16px.png + images/move_simple_16px@2x.png images/neutral_12px.png images/neutral_12px@2x.png images/new_folder_16px.png diff --git a/src/icons/images/move_simple.png b/src/icons/images/move_simple.png deleted file mode 100644 index f810ae03381ac3e51d3c88100495bb5187617c26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>EL74F^`vD!GAbW|YuPgg)R#AQwc6hbmm72G|21Ky{o<^dH(db&7anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt%^VT^vI!diPFt9iB-q)4s7N3EbXRyXNywH$6v=L>8+BXYREM9J|XhDPz_%RuzSr zH#fXyd##sdwx&D%jCkWrUWezU(L(2Dm^w~n)oy&!InC8qQn=A;lHa+{8MBsk3tLy; zIL{He<*eYe8TY$)7;avD^1hfRQ(^YRy3aHFZb;85GB_&qy)^^q83s>RKbLh*2~7Zb Cw0a}} literal 0 HcmV?d00001 diff --git a/src/icons/images/move_simple_16px@2x.png b/src/icons/images/move_simple_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e75cd0d7a06fa0bb16fcbba9d3016cb43f8d3508 GIT binary patch literal 661 zcmV;G0&4wdR82TRqsrx%hhYnedz1WKd z9y$iPcx#~!Zm0Ga1nkoxvU#!P_(>*|(jIuAC%t>_(R`bSCMcqytH3Ns@dCiS_aT z-VTJqIXCI|`yYWl;1Tc`*z0z?7fF(QEy`C&fR}s@bj)mOW>cU8%*%)bw^R}dRXnp66Jf5vS;GDbiN^Rclb}trhQ3Rnp%WpyE z=f^;e8-C-mCcotu9?uLI1DA{M$Qm+ht$OpCr1Q|@@V5OtE71i{ zRnoy~zM@97)nr!8YAb?|ph&4jQS^N{9DX3+2>cyr0Y`BhzhOs{xx=hlz!7=9gI|VG z6ipX%=iG#nWthjaT891+v;oZQErc0JnKhE$WqI1S78Yqp*ukuJZb-7Xnyi{knP#Mv zfE<%4-Ha3#kkb*3&1}4jh`+ugI+S$CAL@u^z%Sq@Fe}@X_&)FgSpQ+zjL&A)%VHC5 v94-{gzoX?2nAs;_RDk4i!*y`-{{Z+6Y8?B{Pj15V00000NkvXXu0mjfF@`OY literal 0 HcmV?d00001 diff --git a/src/icons/svg/move_simple_16px.svg b/src/icons/svg/move_simple_16px.svg new file mode 100644 index 000000000..a97b8302a --- /dev/null +++ b/src/icons/svg/move_simple_16px.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/img/img/ImageLandmarksDialog.ui b/src/img/img/ImageLandmarksDialog.ui index b6e3bb660..b9d16e493 100644 --- a/src/img/img/ImageLandmarksDialog.ui +++ b/src/img/img/ImageLandmarksDialog.ui @@ -166,7 +166,7 @@ Move - :/move_simple.png + :/move_simple_16px.png true diff --git a/src/img/img/imgLandmarksDialog.cc b/src/img/img/imgLandmarksDialog.cc index 7d4c15ce5..b8755adb9 100644 --- a/src/img/img/imgLandmarksDialog.cc +++ b/src/img/img/imgLandmarksDialog.cc @@ -238,6 +238,7 @@ public: double l = double (search_range) / ui ()->mouse_event_trans ().mag (); db::DBox search_box = db::DBox (p, p).enlarged (db::DVector (l, l)); + m_selected = -1; int li = 0; for (std::vector::const_iterator l = mp_image->landmarks ().begin (); l != mp_image->landmarks ().end (); ++l, ++li) { if (search_box.contains (*l)) { @@ -419,7 +420,7 @@ LandmarksDialog::LandmarksDialog (QWidget *parent, img::Object &img) mp_service->updated_event.add (this, &LandmarksDialog::landmarks_updated); new_pb->setChecked (true); - update_mode (); + mp_service->set_mode (Add); landmarks_updated (); } @@ -436,11 +437,11 @@ LandmarksDialog::update_mode () { mode_t new_mode = None; - if (new_pb->isChecked ()) { + if (sender () == new_pb) { new_mode = Add; - } else if (move_pb->isChecked ()) { + } else if (sender () == move_pb) { new_mode = Move; - } else if (delete_pb->isChecked ()) { + } else if (sender () == delete_pb) { new_mode = Delete; } From 5c8c918fb9e2e4e58e19d3de0151987ded683541 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 14 Sep 2022 23:42:08 +0200 Subject: [PATCH 27/52] More icons as SVG --- src/icons/icons.qrc | 3 +- src/icons/images/edit.png | Bin 254 -> 0 bytes src/icons/images/edit_16px.png | Bin 0 -> 402 bytes src/icons/images/edit_16px@2x.png | Bin 0 -> 631 bytes src/icons/svg/edit_16px.svg | 104 ++++++++++++++++++++++++++ src/lay/lay/SaltManagerDialog.ui | 2 +- src/layui/layui/LayerMappingWidget.ui | 2 +- 7 files changed, 108 insertions(+), 3 deletions(-) delete mode 100644 src/icons/images/edit.png create mode 100644 src/icons/images/edit_16px.png create mode 100644 src/icons/images/edit_16px@2x.png create mode 100644 src/icons/svg/edit_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index b9668b18b..032de4114 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -4,7 +4,8 @@ images/add_16px@2x.png images/add_24px.png images/add_24px@2x.png - images/edit.png + images/edit_16px.png + images/edit_16px@2x.png images/align_bottom_32px.png images/align_bottom_32px@2x.png images/align_hcenter_32px.png diff --git a/src/icons/images/edit.png b/src/icons/images/edit.png deleted file mode 100644 index 9e568e1494311e7fc30829f74b29a49a1ef48bfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE({JJxcr-b8c>9@z$3Dl zfq|PBgc;wmAJ72`vX^-Jy0Smu;t(+~*3-SK3KWtpag8W(&d<$F%`0JWE=o--Nlj5G z&n(GM2+2rQaQE~Lc%P!02UM8k>Eak-ar$k)A=d!~0T%TM?Jv#W=&t{+`|F19Vg)CM z^$2oB@J?Y}vIi*N0@@Zl8MDv~h>wj7oox7=jJxcYY`uRr7O}hPW qjcd=DnLG4MoFc@qcI#`E4-92bXMM`8pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Ut?3 zK~y-6rPHxa!f+7B@$Z!mBo5H29gGm(fHxqaLuuR{n&8gFB+p=s?;s`&ZVaX_eFvtd zD^wq#3AzdAg2vRgmT=qulF#LL$^C^IrK)GZ<>C1(A|G|!4_4L5Xf#?6hr?G@og4-p zhr8Xbw%cvZ50QUjkA2^tB}vi&uq=y4qd}|HdW)jy7ML3q_&SgK{XVi0 zJ7Au_LIb#ng=-0F)~+q@dXq(nu*OEIEZIQX~WyK;i;E0mMhh0Vuct+A2n95@jvj%Wb$S_9>2}L|58Mrx5X)gUx>&%5t&(Q6F>lQUH6-a z%(A|V-r!nm84ictONhvM5!`Vc(OL_|k!WW*>cEXLG8&C4CGM34`3)C_;S;SjT5FOd zAxRR9F&JY2h~t>eW`pax-&d>E2ad9%aTa9jSQ`$o+wA~Yuh(a}?0DKpAcMbZ0*|7I zD2lMwGM!HI5|3*OWMRKI-19uP+bsZt!Ql7xnA1LH?s*Z&pen(p?7@E9u6un%~tKwt1efj;541p0>G5O@gqLExd_0H-4ItRwg* zrPP-yIPB}O)6vZDgaarMnE@!J-UDc@0Xm=gaRd%62!dY1UMk@GK0y!w|Nh|(;I+ek zqh-gW86atzN}8q;1i|4*WsDI(thF+q&&Bh+>-(!#&Ur-w#}b{w^8&u_7fM)b#ai1w zJTFisQ2=k}jGq@MyE=ihuLCcDan13y%4;J501 + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/SaltManagerDialog.ui b/src/lay/lay/SaltManagerDialog.ui index a5e57f393..d82099633 100644 --- a/src/lay/lay/SaltManagerDialog.ui +++ b/src/lay/lay/SaltManagerDialog.ui @@ -961,7 +961,7 @@ - :/edit.png:/edit.png + :/edit_16px.png:/edit_16px.png true diff --git a/src/layui/layui/LayerMappingWidget.ui b/src/layui/layui/LayerMappingWidget.ui index 6e87d18da..a7ea6a8cc 100644 --- a/src/layui/layui/LayerMappingWidget.ui +++ b/src/layui/layui/LayerMappingWidget.ui @@ -131,7 +131,7 @@ - :/edit.png:/edit.png + :/edit_16px.png:/edit_16px.png From 306c8b789c35f9f1fc04b1f43dfb03ff4fad450e Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Fri, 16 Sep 2022 23:47:40 +0200 Subject: [PATCH 28/52] More icons turned into SVG --- src/edt/edt/EditorOptionsInst.ui | 2 +- src/icons/icons.qrc | 27 +- src/icons/images/debug.png | Bin 673 -> 0 bytes src/icons/images/find.png | Bin 702 -> 0 bytes src/icons/images/marked_16.png | Bin 336 -> 0 bytes src/icons/images/marked_24.png | Bin 1077 -> 0 bytes src/icons/images/marked_64.png | Bin 1222 -> 0 bytes src/icons/images/nextstep.png | Bin 610 -> 0 bytes src/icons/images/replace.png | Bin 808 -> 0 bytes src/icons/images/replace_all.png | Bin 839 -> 0 bytes src/icons/images/singlestep.png | Bin 587 -> 0 bytes src/icons/svg/debug_16px.svg | 223 ++++++++++++++++ src/icons/svg/find_16px.svg | 196 ++++++++++++++ src/icons/svg/marked_16px.svg | 95 +++++++ src/icons/svg/marked_24px.svg | 106 ++++++++ src/icons/svg/marked_64px.svg | 127 ++++++++++ src/icons/svg/nextstep_16px.svg | 268 ++++++++++++++++++++ src/icons/svg/replace_16px.svg | 239 +++++++++++++++++ src/icons/svg/replace_all_16px.svg | 267 +++++++++++++++++++ src/icons/svg/singlestep_16px.svg | 268 ++++++++++++++++++++ src/lay/lay/CustomizeMenuConfigPage.ui | 2 +- src/lay/lay/MacroEditorDialog.ui | 12 +- src/lay/lay/SaltManagerDialog.ui | 10 +- src/lay/lay/laySaltDownloadManager.cc | 2 +- src/lay/lay/laySaltModel.cc | 2 +- src/layui/layui/BrowserPanel.ui | 4 +- src/layui/layui/CellSelectionForm.ui | 2 +- src/layui/layui/LibraryCellSelectionForm.ui | 2 +- src/layui/layui/MarkerBrowserPage.ui | 2 +- src/layui/layui/NetlistBrowserPage.ui | 2 +- src/layui/layui/layHierarchyControlPanel.cc | 2 +- src/layui/layui/layLayerControlPanel.cc | 2 +- src/layui/layui/layLibrariesView.cc | 2 +- 33 files changed, 1831 insertions(+), 33 deletions(-) delete mode 100644 src/icons/images/debug.png delete mode 100644 src/icons/images/find.png delete mode 100644 src/icons/images/marked_16.png delete mode 100644 src/icons/images/marked_24.png delete mode 100644 src/icons/images/marked_64.png delete mode 100644 src/icons/images/nextstep.png delete mode 100644 src/icons/images/replace.png delete mode 100644 src/icons/images/replace_all.png delete mode 100644 src/icons/images/singlestep.png create mode 100644 src/icons/svg/debug_16px.svg create mode 100644 src/icons/svg/find_16px.svg create mode 100644 src/icons/svg/marked_16px.svg create mode 100644 src/icons/svg/marked_24px.svg create mode 100644 src/icons/svg/marked_64px.svg create mode 100644 src/icons/svg/nextstep_16px.svg create mode 100644 src/icons/svg/replace_16px.svg create mode 100644 src/icons/svg/replace_all_16px.svg create mode 100644 src/icons/svg/singlestep_16px.svg diff --git a/src/edt/edt/EditorOptionsInst.ui b/src/edt/edt/EditorOptionsInst.ui index d7529a797..bfbe93beb 100644 --- a/src/edt/edt/EditorOptionsInst.ui +++ b/src/edt/edt/EditorOptionsInst.ui @@ -159,7 +159,7 @@ - :/find.png:/find.png + :/find_16px.png:/find_16px.png true diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 032de4114..8315c7ece 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -70,7 +70,8 @@ images/downdown_16px.png images/downdown_16px@2x.png images/execmark.png - images/find.png + images/find_16px.png + images/find_16px@2x.png images/fliph_16px.png images/fliph_16px@2x.png images/flipv_16px.png @@ -123,7 +124,8 @@ images/new_folder_16px@2x.png images/next_topic_24px.png images/next_topic_24px@2x.png - images/nextstep.png + images/nextstep_16px.png + images/nextstep_16px@2x.png images/no_flag_16px.png images/no_flag_16px@2x.png images/nophoto.png @@ -154,8 +156,10 @@ images/red_flag_16px.png images/red_flag_16px@2x.png images/rename.png - images/replace.png - images/replace_all.png + images/replace_16px.png + images/replace_16px@2x.png + images/replace_all_16px.png + images/replace_all_16px@2x.png images/right_16px.png images/right_16px@2x.png images/rotate_16px.png @@ -173,7 +177,8 @@ images/pythonmacroiconactive_16px.png images/pythonmacroiconactive_16px@2x.png images/ruler.png - images/debug.png + images/debug_16px.png + images/debug_16px@2x.png images/bug.png images/run_16px.png images/run_16px@2x.png @@ -184,7 +189,8 @@ images/select.png images/setup_16px.png images/setup_16px@2x.png - images/singlestep.png + images/singlestep_16px.png + images/singlestep_16px@2x.png images/stop_16px.png images/stop_16px@2x.png images/techs.png @@ -212,9 +218,12 @@ images/error2_16px@2x.png images/info_16px.png images/info_16px@2x.png - images/marked_24.png - images/marked_64.png - images/marked_16.png + images/marked_24px.png + images/marked_24px@2x.png + images/marked_64px.png + images/marked_64px@2x.png + images/marked_16px.png + images/marked_16px@2x.png images/folder_12px.png images/folder_12px@2x.png images/file_12px.png diff --git a/src/icons/images/debug.png b/src/icons/images/debug.png deleted file mode 100644 index d0f12c4c25367d158fe437a7d64b37eb259733cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmV;S0$%-zP)%1vd7fqk77vTbf zAgJ5$rU;4(>P85<>!Kityb3S8>!wH+1trXgFd-=D1Jeb|k!y46bkm)=vvW>22_h-g zP0#iFd*FGW2mYfp0P%;1U4RL+0A*l5kN}3)17)CF^QxbP5RUFuYC+vw1zbszT%ZKB zDr>;EHB~y(-sJaRI=<5%+qHv3p;pwaMo`h6a8wD&@% z?^M?jgyLa5GYyJ@e0;82M zPv8A;^Z9%R=mp9OfT4T)uErzb8)xG(zD?M+MQZp7-fDrE@)fuKfoGL%JRWr!7#Jwk zYPA!9vs~lu<_-GDcr-3UgzpeoC`|qZBl{1Jo zxs1)JOfH5Q9G&OIo3~~+5@-h&Kfxdy z%+U|Cf1hF>VBiLQGd9@EwOijw=?j~JAheAIXBbVjrWbQ}<6gP7>Y#hzz&UXE@$j4z z!=hrAW#s{&)oKj@OqcBZU7j`ddR>tu=~X6^d9EnRMifP0jGYgM!}p4!yx!Z}`}I#i zyCK@$IBox0GOuvrdq8wc6N4>#bObu zR0`#C8M>}R)3o^6*;&E&{kZG8U*`b|fS9Ifjasdi%x1Glr_%rc#u(Pt)*yty*49?? z^766);N^TKl4V(WLdZrwpT9%CzP^U%dC)Wsx~@Z#q++E~Q5PIA#-?Eyf-#2icnr=t z0AMniU_2gUG#VicL&Rb+$g;d}5#{*!*fR{n?Q}X1P16J+1OUJ}2V)FD5a8nC0z!!M zqobprOG8vuRr7tHuCK4hIp?^!xj_&Ff2!GRimR(De|2^BZNJ}-7667}d=G-)QLoo4 z5JKXF5QJd}*L87la3FHIoa}ktgXwfyEffm7w;^{PNeJ;GolZAoSuO&A5aN6|9EP@S zmmSAJyWK_T0 z-N{nGyeOq4kx0C=ZTs206Zt-Xe!m~7s`|0p?V8)$+hqV43-FrEhbMnD33^4nJ zFy8=S#yt0AQ=p(^iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0v#JzX3_ zEP9t-GW2!|lwfqLHN$Isd|Ra`o(p9*E#mL=N4V&U&^^|iMdVR2e#|GKbS2J z_;)b9Mfl}g@nwCfY-$k;H=bw6XfJ)tX#V?A?mH!$sdWpQgO0M-UDVNfZhM+7|HmQk biw*VGu_hP#Y%^Vf9%Jxy^>bP0l+XkKy4!(! diff --git a/src/icons/images/marked_24.png b/src/icons/images/marked_24.png deleted file mode 100644 index b5ffcbd6b5f6788ffe55f52a68694e7022dc1a10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1077 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf4nJ zuwMXS#+}{I=K}>LOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kz!zA-sI`x z7*a9k?W}l@;6Rz<_0M;`eO2T=`OK++pyJD$Oia3`c+_mLXA}H8cV?o?tW1}i^VvC4DFc>{|V`}NS_xHc6*`9+7H$F?~=xE(@ z@%5t5#cbXwn-sDb_UW6Z)bWm-tf3qm~FYB4FjLWq(qM!X9Oh0-%r1z zSF-n`QU-%eLCSW;#O{li7T9k6@GMv{+gIcuQ$azQ+w%Uqk^eVWg}MdQwNCo@PJGq1 z`v#AUJeb+j(@VCVzGOe+^<(8L-tkM>W&bI-$Vvt9A2>AAw&d3ipJadMo~FcVE|aC9 zTe2^-WHF?OIuhN5_}Kzonl>e^sY(vg|;Y$xqW7pv+V3vAN^*@#E`Ho zY1_w&A5XKQo{Mu$pS)o1<{h?<+ivdPZ2e`UC3Ca-fdcl!UZ%A#@kUDo?M-$8T#7huiyFmZPBZ?S*$nn zt>^#lyY_tb*U3TQ($k;Y{Kzy4eg3lbDSzt(QKspP8+s;L%hkQC>b|<-ZuIn!E&uP% z`kLl`{lT1zIk`b;QbNVI-!A)kZvAZ=^VjEe%r59HG4cKP!#4iy{)^>{>7GB(?i>h~!pn{;gkUHO>9aUe&tCULfj^UqJFHo|}S74kteR1;t5} z?5x{KrdjpoALsRKx_vD2%DKNb9c#V^eVKeHb)ToKQicDF#=i}AYkOG>9xpdw=BZcv z^sSWj@y*Y>J9*@77#tSezvVu;_QT?b*Oum8{PIISnz{H?jO={9*%zZE3Uh<>%8ng+ zoBj9ThRvmk_X6|XERVeBI=6r6wBO$XzXsUwkSue6W zkMCgO_%bX1u6WTWDa96ch5&;c|Hf@wf+S1}CBD}+X~n0yC05^#a-N+!eM{?+G^f>$Tko6?lv}O8T(`OL%YKG!3}!(LH<)gC zFeY#(D6=-`HuQ>+D`@h!m^$jJ8I`Y_yQ8d diff --git a/src/icons/images/marked_64.png b/src/icons/images/marked_64.png deleted file mode 100644 index afff90c70476f1ed48bc1203648da8b8250070cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmV;%1UdVOP)j{00004b3#c}2nYxW zd%TV))FpK~bf8Bi`VxePW&7_2y%;^zEd^n<$0 zZQt1DG96J-#x9D%4dy~krsxu*#uz^gjbTCKE@3(mZxf80WHFctWRs0aGLnsHU`3j7 zSzAhvABfF13N3I>+i=eFsp)x7|Gy{ix&7O|pkV~>t8Sza<_IpCIN*QzZlnl@$u1xW zQ|>eekdfsv$r(>34#S-rO_&^^2o(&RIHg-B_%?YHCdZJ)UanH@SYRb^4zQ_IV@hH= z911M{^pNT1MeT*eB_wr=Q78pO=M^vacW0XGZvw+f8d$Uy9z8;tC z#JaQ^0pTy;cZF-s8YO2w8z?YKh zKSaKIt^k+ELHfKbURb;j;3wc8h3Y7ZFL^Ui$oT#EYhb|7XDkOwezkpTC_ldum&XY} zMb3v9Md>>5y@Gia#h3g_8TmfD%SM9n?tI`opa~fBF*YA~@nr8YgSDd&w>%2K>ZDCP zGJie5QD9V^=(ESyIo}~5jQ)K6E2=N=H;sB+1%MUExntaez_uTIj~FUDwtB^*Bh2i{ z`2e65_*2E~v&NTvAMjt}7N^=0mf{=e!Om?+DB?{t&s%4*HAGNW)Z8a6=pQ7K@y8@^JijH6VSbVFq1dr_T z?vx#~oXzRG0KNh2s;8eNlgZ0KZIUT%cyG=}05ta1QSe(Xbv*~A&#$~M9O&F}o46>5 zyq^0B5rW|=@Qdon6=14cogFy5Hs$H!)3ydq_8#Sidw>I%cKRH=A+3bG*oS1s@97?& zgTf4d4>@OnmP*S(Qlv$b4oWm8^HSE^0L_F^^c!?*f`$S@I6qF?rrM zBSj-tOEm&Q7to?cKsA|8V^ePwP1oMMr)fg*DAWaR?+3PiY~8Jba}0! z%WD-~UaRQxT1A)FD!RN@nXssEuCJ>Da7&IjpNk4_U3WIu@&320VWc4~N{CW(!BJS? kmffB;QERS-I!DO)53uDVI@g$VSO5S307*qoM6N<$f|@iizW@LL diff --git a/src/icons/images/nextstep.png b/src/icons/images/nextstep.png deleted file mode 100644 index f547dca5acec26aa1d588d02b4d0e45dfc05462b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 610 zcmV-o0-gPdP)UJBBKAlU!GyLT^23nE?w@u09^TP!J>gWy3#BVu9&HNRR&;%ZEvhomW+O{fC{ z^WF@f`M%+el3uUM!;Z$uaTDDD0J#h0Qj>aZ7ojT%p`Zy6LTNi_doh4!e&P7Yc}hP@ z060e+a-VZNdHRTMo10w>oCSd6IBb`<;U%EK&V?OJ(J7Asv0lP_*jX@`HZ2$lO07*qoM6N<$f^bs-CjbBd diff --git a/src/icons/images/replace.png b/src/icons/images/replace.png deleted file mode 100644 index 6d45e8f26ced9d64f3dc4f7d6f6de7bc0eeeba62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmV+@1K0eCP);@;lggvaA~z&ZC-Dis_a9%d}d z`eGQyL_8iZ{}<48T`Uv|i-ADkhNfvwS(Z^Qmyu4Vv9`8mWipu`2L}gtEqL+wBGb z6pKYDih@d|0!`DL`}_NY0LB0up9KWJ-|w>7Y`)IUPI$duI2;ZDfMr?O-Q9&GNswh3 zf*@S$=;%<+|3KiJ6Jrbw4GnnwXc!wC8{nM7G)-i)S*)+Gqf{z^F-C$QPz|uXz5ON@ zi#Y{BKt7+x%)3b>5y}ucBKw4x*6WjOk-}Qjo*JT zK0Xf4`Re@q{9H>*OBK@7)8jbJLCNKE+3${gK%I?as{aaRzY|`LO`xl*YZbsfuh&~z zT3TY^aQGnrB$LU0!!Q<9RUKeNGz(x9fOxy_7VKQWtJjkVg+eO;1{h;Uz)9S*+3crq zI6SAoMBO+VPanB%Um;V8WAPMsO(+^<)0000t{&- diff --git a/src/icons/images/replace_all.png b/src/icons/images/replace_all.png deleted file mode 100644 index b0530123ed99a88ecfb112421562c0133b11479b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 839 zcmV-N1GxN&P)nu~K~y-6b(3F6Q*ji>zrWq<_1d_iZc{H;Vu61c5;8;>Q-@NT zmZO($)ad`87eR~6!o-z|qA()pwTB*rz|4n`(EgYY6$Os$O%Z80$XGhf>vc}2r-vLl zwexg1=X^g8-*XO!y}?RKO0s2HmgeT>^nLn?!|_B_RW1|?dCg|?S)S*uu~-aiYimJW z*ZVb1^ZNb%jsF5vRpnM!R|jo2+YzVJY0S#X!p6o1W@l$HHa4aQgTYVXaQMW25Doxx za&lVjcKbz-$78fwtw>Exh0SJzEX%N1EJ7d<$c{uJ#y}wOZa2UH02YhoOlfK90khc* zlgWgPj0_MFWLZX8Ss7d|m(gf6o{rBa0165Uq@<)IYjJTg6h(n3iU0sX5OC%4B}`0w zh1>0hD2fM*ii+et0G{WGF^0^{Ok6mB4&&qFkR%C=G5iXJ(9_k4si{eLyf0jU_fonF$lZ?ypV#$r6nW_JbLTWaerhPx9+r{yxjF3fSWOh0oKAXl`!C%*@PuWo703 zK7fD96rSPajfbddAAvs@MbAfuyDj&iC<^N9>&=>`y{M?D5aWP#Ns>_4;6rWu2>iiy z#9%;ocQ<&RL;LIBxZCQ5$z=X9JUooNygcwce_YeF=efDL$p!$A`uqDgM@L5i#?bL* z8Li$9I2?{mMae<09s>Xnkw`?*>({Q5-|r_P z8YH3)B8m{vQz8<8zdz%2I{Q2x&ofn3xdfw#sC`@Tgou*%n7bXSs&YHUe*g^B4QDHA4=&tu z59gfkeCHl16@4{ENKad2W(~oQh`^7q3>YIATQEk3wh@d0YyS?=*!#fz`FZX=TxR9z z3dv-WRO$qkN`+dj#$nvKy?n%G^J7~*&(pcwoZ1Vvrf1UXx~?u>U(_H7v`{D)y)e=*+rM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/find_16px.svg b/src/icons/svg/find_16px.svg new file mode 100644 index 000000000..e05c4c367 --- /dev/null +++ b/src/icons/svg/find_16px.svg @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/marked_16px.svg b/src/icons/svg/marked_16px.svg new file mode 100644 index 000000000..28b30347a --- /dev/null +++ b/src/icons/svg/marked_16px.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/marked_24px.svg b/src/icons/svg/marked_24px.svg new file mode 100644 index 000000000..a335147f9 --- /dev/null +++ b/src/icons/svg/marked_24px.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/marked_64px.svg b/src/icons/svg/marked_64px.svg new file mode 100644 index 000000000..31099572a --- /dev/null +++ b/src/icons/svg/marked_64px.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/nextstep_16px.svg b/src/icons/svg/nextstep_16px.svg new file mode 100644 index 000000000..a3051cbc7 --- /dev/null +++ b/src/icons/svg/nextstep_16px.svg @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/replace_16px.svg b/src/icons/svg/replace_16px.svg new file mode 100644 index 000000000..49541cb86 --- /dev/null +++ b/src/icons/svg/replace_16px.svg @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/replace_all_16px.svg b/src/icons/svg/replace_all_16px.svg new file mode 100644 index 000000000..db438c646 --- /dev/null +++ b/src/icons/svg/replace_all_16px.svg @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/singlestep_16px.svg b/src/icons/svg/singlestep_16px.svg new file mode 100644 index 000000000..f57c52204 --- /dev/null +++ b/src/icons/svg/singlestep_16px.svg @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/CustomizeMenuConfigPage.ui b/src/lay/lay/CustomizeMenuConfigPage.ui index 78ee4529d..e445e2755 100644 --- a/src/lay/lay/CustomizeMenuConfigPage.ui +++ b/src/lay/lay/CustomizeMenuConfigPage.ui @@ -195,7 +195,7 @@ For special keys: - :/find.png + :/find_16px.png diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index 0e273ab7d..4a18b2856 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -545,7 +545,7 @@ p, li { white-space: pre-wrap; } - :/singlestep.png:/singlestep.png + :/singlestep_16px.png:/singlestep_16px.png F11 @@ -568,7 +568,7 @@ p, li { white-space: pre-wrap; } - :/nextstep.png:/nextstep.png + :/nextstep_16px.png:/nextstep_16px.png F10 @@ -598,7 +598,7 @@ p, li { white-space: pre-wrap; } - :/debug.png:/debug.png + :/debug_16px.png:/debug_16px.png true @@ -684,7 +684,7 @@ p, li { white-space: pre-wrap; } - :/find.png:/find.png + :/find_16px.png:/find_16px.png F3 @@ -774,7 +774,7 @@ p, li { white-space: pre-wrap; } - :/replace.png:/replace.png + :/replace_16px.png:/replace_16px.png @@ -797,7 +797,7 @@ p, li { white-space: pre-wrap; } - :/replace_all.png:/replace_all.png + :/replace_all_16px.png:/replace_all_16px.png true diff --git a/src/lay/lay/SaltManagerDialog.ui b/src/lay/lay/SaltManagerDialog.ui index d82099633..eaf406944 100644 --- a/src/lay/lay/SaltManagerDialog.ui +++ b/src/lay/lay/SaltManagerDialog.ui @@ -77,7 +77,7 @@ - :/marked_16.png:/marked_16.png + :/marked_16px.png:/marked_16px.png true @@ -103,7 +103,7 @@ - :/find.png + :/find_16px.png @@ -376,7 +376,7 @@ - :/marked_16.png:/marked_16.png + :/marked_16px.png:/marked_16px.png true @@ -402,7 +402,7 @@ - :/find.png + :/find_16px.png @@ -690,7 +690,7 @@ - :/find.png + :/find_16px.png diff --git a/src/lay/lay/laySaltDownloadManager.cc b/src/lay/lay/laySaltDownloadManager.cc index 4c0f84de9..2d840392f 100644 --- a/src/lay/lay/laySaltDownloadManager.cc +++ b/src/lay/lay/laySaltDownloadManager.cc @@ -114,7 +114,7 @@ ConfirmationDialog::mark_error (const std::string &name) void ConfirmationDialog::mark_success (const std::string &name) { - set_icon_for_name (name, QIcon (QString::fromUtf8 (":/marked_16.png"))); + set_icon_for_name (name, QIcon (QString::fromUtf8 (":/marked_16px.png"))); std::map::const_iterator i = m_items_by_name.find (name); if (i != m_items_by_name.end ()) { diff --git a/src/lay/lay/laySaltModel.cc b/src/lay/lay/laySaltModel.cc index e72ccae2b..520f72395 100644 --- a/src/lay/lay/laySaltModel.cc +++ b/src/lay/lay/laySaltModel.cc @@ -155,7 +155,7 @@ SaltModel::data (const QModelIndex &index, int role) const if (m_marked.find (g->name ()) != m_marked.end ()) { QPainter painter (&img); - QImage warn (":/marked_64.png"); + QImage warn (":/marked_64px.png"); painter.drawImage (0, 0, warn); } diff --git a/src/layui/layui/BrowserPanel.ui b/src/layui/layui/BrowserPanel.ui index 74e1d2aeb..c6cc0d220 100644 --- a/src/layui/layui/BrowserPanel.ui +++ b/src/layui/layui/BrowserPanel.ui @@ -224,7 +224,7 @@ - :/find.png:/find.png + :/find_16px.png:/find_16px.png true @@ -389,7 +389,7 @@ - :/find.png:/find.png + :/find_16px.png:/find_16px.png true diff --git a/src/layui/layui/CellSelectionForm.ui b/src/layui/layui/CellSelectionForm.ui index 386813c9d..56f67ab88 100644 --- a/src/layui/layui/CellSelectionForm.ui +++ b/src/layui/layui/CellSelectionForm.ui @@ -286,7 +286,7 @@ - :/find.png:/find.png + :/find_16px.png:/find_16px.png true diff --git a/src/layui/layui/LibraryCellSelectionForm.ui b/src/layui/layui/LibraryCellSelectionForm.ui index 0664aec43..278a2b57f 100644 --- a/src/layui/layui/LibraryCellSelectionForm.ui +++ b/src/layui/layui/LibraryCellSelectionForm.ui @@ -102,7 +102,7 @@ p, li { white-space: pre-wrap; } ... - :/find.png + :/find_16px.png true diff --git a/src/layui/layui/MarkerBrowserPage.ui b/src/layui/layui/MarkerBrowserPage.ui index 627ea3381..7d88a98b4 100644 --- a/src/layui/layui/MarkerBrowserPage.ui +++ b/src/layui/layui/MarkerBrowserPage.ui @@ -188,7 +188,7 @@ - :/find.png + :/find_16px.png diff --git a/src/layui/layui/NetlistBrowserPage.ui b/src/layui/layui/NetlistBrowserPage.ui index f43cde269..6874d6910 100644 --- a/src/layui/layui/NetlistBrowserPage.ui +++ b/src/layui/layui/NetlistBrowserPage.ui @@ -190,7 +190,7 @@ - :/find.png:/find.png + :/find_16px.png:/find_16px.png true diff --git a/src/layui/layui/layHierarchyControlPanel.cc b/src/layui/layui/layHierarchyControlPanel.cc index e3ad5ce34..735e9e406 100644 --- a/src/layui/layui/layHierarchyControlPanel.cc +++ b/src/layui/layui/layHierarchyControlPanel.cc @@ -299,7 +299,7 @@ HierarchyControlPanel::HierarchyControlPanel (lay::LayoutViewBase *view, QWidget QToolButton *sf_next = new QToolButton (mp_search_frame); sf_next->setAutoRaise (true); sf_next->setToolTip (tr ("Find next")); - sf_next->setIcon (QIcon (QString::fromUtf8 (":/find.png"))); + sf_next->setIcon (QIcon (QString::fromUtf8 (":/find_16px.png"))); connect (sf_next, SIGNAL (clicked ()), this, SLOT (search_next ())); sf_ly->addWidget (sf_next); diff --git a/src/layui/layui/layLayerControlPanel.cc b/src/layui/layui/layLayerControlPanel.cc index 17ea16f53..e223ba989 100644 --- a/src/layui/layui/layLayerControlPanel.cc +++ b/src/layui/layui/layLayerControlPanel.cc @@ -288,7 +288,7 @@ LayerControlPanel::LayerControlPanel (lay::LayoutViewBase *view, db::Manager *ma QToolButton *sf_next = new QToolButton (mp_search_frame); sf_next->setAutoRaise (true); sf_next->setToolTip (tr ("Find next")); - sf_next->setIcon (QIcon (QString::fromUtf8 (":/find.png"))); + sf_next->setIcon (QIcon (QString::fromUtf8 (":/find_16px.png"))); connect (sf_next, SIGNAL (clicked ()), this, SLOT (search_next ())); sf_ly->addWidget (sf_next); diff --git a/src/layui/layui/layLibrariesView.cc b/src/layui/layui/layLibrariesView.cc index 2862fbc05..d7bdebce1 100644 --- a/src/layui/layui/layLibrariesView.cc +++ b/src/layui/layui/layLibrariesView.cc @@ -286,7 +286,7 @@ LibrariesView::LibrariesView (lay::LayoutViewBase *view, QWidget *parent, const QToolButton *sf_next = new QToolButton (mp_search_frame); sf_next->setAutoRaise (true); sf_next->setToolTip (tr ("Find next")); - sf_next->setIcon (QIcon (QString::fromUtf8 (":/find.png"))); + sf_next->setIcon (QIcon (QString::fromUtf8 (":/find_16px.png"))); connect (sf_next, SIGNAL (clicked ()), this, SLOT (search_next ())); sf_ly->addWidget (sf_next); From 2ae82af73abe61ca204459ca61060fdf226b9253 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 00:00:28 +0200 Subject: [PATCH 29/52] More icons to SVG --- src/icons/icons.qrc | 3 +- src/icons/images/debug_16px.png | Bin 0 -> 654 bytes src/icons/images/debug_16px@2x.png | Bin 0 -> 1476 bytes src/icons/images/find_16px.png | Bin 0 -> 683 bytes src/icons/images/find_16px@2x.png | Bin 0 -> 1514 bytes src/icons/images/marked_16px.png | Bin 0 -> 477 bytes src/icons/images/marked_16px@2x.png | Bin 0 -> 914 bytes src/icons/images/marked_24px.png | Bin 0 -> 693 bytes src/icons/images/marked_24px@2x.png | Bin 0 -> 1325 bytes src/icons/images/marked_64px.png | Bin 0 -> 1209 bytes src/icons/images/marked_64px@2x.png | Bin 0 -> 2455 bytes src/icons/images/nextstep_16px.png | Bin 0 -> 593 bytes src/icons/images/nextstep_16px@2x.png | Bin 0 -> 993 bytes src/icons/images/replace_16px.png | Bin 0 -> 778 bytes src/icons/images/replace_16px@2x.png | Bin 0 -> 1870 bytes src/icons/images/replace_all_16px.png | Bin 0 -> 832 bytes src/icons/images/replace_all_16px@2x.png | Bin 0 -> 1899 bytes src/icons/images/singlestep_16px.png | Bin 0 -> 569 bytes src/icons/images/singlestep_16px@2x.png | Bin 0 -> 875 bytes src/icons/images/waived.png | Bin 247 -> 0 bytes src/icons/images/waived_16px.png | Bin 0 -> 530 bytes src/icons/images/waived_16px@2x.png | Bin 0 -> 1042 bytes src/icons/svg/waived_16px.svg | 113 +++++++++++++++++++++++ src/layui/layui/MarkerBrowserPage.ui | 2 +- src/layui/layui/rdbMarkerBrowserPage.cc | 2 +- 25 files changed, 117 insertions(+), 3 deletions(-) create mode 100644 src/icons/images/debug_16px.png create mode 100644 src/icons/images/debug_16px@2x.png create mode 100644 src/icons/images/find_16px.png create mode 100644 src/icons/images/find_16px@2x.png create mode 100644 src/icons/images/marked_16px.png create mode 100644 src/icons/images/marked_16px@2x.png create mode 100644 src/icons/images/marked_24px.png create mode 100644 src/icons/images/marked_24px@2x.png create mode 100644 src/icons/images/marked_64px.png create mode 100644 src/icons/images/marked_64px@2x.png create mode 100644 src/icons/images/nextstep_16px.png create mode 100644 src/icons/images/nextstep_16px@2x.png create mode 100644 src/icons/images/replace_16px.png create mode 100644 src/icons/images/replace_16px@2x.png create mode 100644 src/icons/images/replace_all_16px.png create mode 100644 src/icons/images/replace_all_16px@2x.png create mode 100644 src/icons/images/singlestep_16px.png create mode 100644 src/icons/images/singlestep_16px@2x.png delete mode 100644 src/icons/images/waived.png create mode 100644 src/icons/images/waived_16px.png create mode 100644 src/icons/images/waived_16px@2x.png create mode 100644 src/icons/svg/waived_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 8315c7ece..5f2432663 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -203,7 +203,8 @@ images/up_16px@2x.png images/upup_16px.png images/upup_16px@2x.png - images/waived.png + images/waived_16px.png + images/waived_16px@2x.png images/yellow_flag_16px.png images/yellow_flag_16px@2x.png images/salt.png diff --git a/src/icons/images/debug_16px.png b/src/icons/images/debug_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..3097e1dd5d212f37d1bb0448766da357df300209 GIT binary patch literal 654 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 R9#a4S002ovPDHLkV1guRG06Y` literal 0 HcmV?d00001 diff --git a/src/icons/images/find_16px@2x.png b/src/icons/images/find_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8a10b20cc8bd427a2ee25980fd597d100f8561 GIT binary patch literal 1514 zcmVa1 z-BuWeD~z#k=jZ2tf2V-4v9XMzC_iMg+1imKM+!X80|25Z0%Hu6QiNfMAPBI%y}i}x zbpG@_?~A3SrPjX&OiWCiPNh;moj!efSWy(D(`i&H6_m?m$g&K^7~1VN48y>^d-u?6 zHsQK18jZ%X=XsysxN+mJw+4)jjb$`VyFNNPIxNdFYPA{$1_nR~0RS+@z!*zf@47DT z+_{5=g#|c{1Jg8@ecwO3xVZSNTY&KL#mSQ=FOQ6je57d_rl+SdI5-GdmXS)OAc`Ug zA?WY#N4Z=E&+~8`2gPC$*=!b1o;-mhNhQm&J}?a9!W#o>wc1%-*S{{8%j(3$1cru& zAW705fTn3krBcXbGU(~)L95k*s;c059)@9nF_tYBi@zC$vEB`Uk542?I^WydTgc^d z7#SIXD2fR{RaK~}3R#w6Syu9LHk(a`Xn1%SnM?+mOs2qb-1%;MfCqN+T#}@dqA23j zsZ$_?fDn=(6h(oeD3BxxK@h-koTPwUE(cxLAqWC0l?phH10kd`J3A{JSnI2RX0zF+ zX<7yV%H{HFUurg+=yW>C_3`7!0RXzL0{~=M&fdR&zponr0RTY|^i(Q!m{JN^mUrbj z$8n&P0zh&v2m-9HujA06LnssqV2mM(BB-jmQz#*ad7eKC;P0*g06-}Pr4+vJBM1V- ziw|RL*Le&Gf&h(11FNg6a9uY+13(l-Q8%qm0F+YGah&JA@5`-L3yPv3iXu=-_h90C zK@cR^FbolfA#B@@8`B10bOYc4AfL~#b~>GH&-0QNxvmSxabVl_uETMhaRaN^<(}bpJP*rtbKoA6=lp>yMD=RCwa^(twAOHY948!r> z-rgTKHa0p3)Vmh|0L5bQXV3FK?dj<$t*xzr=XvCExnvWH(=CoDim46 z!u9LdvAn#DnVA`gq6m)L*<5Yg2G8@QFbvNfJ9g}%X`1#yfPFtms?};*5QOhFP5UsN zP8Z^WUkyqr>h*ef=FAx~I5>z#qk+xM&EyvV!Z2Lsd46(nadGRlJrIX!nx0`87fPkl zukCjGsN*cRII+{J7hub>z;RrOG4{zp z!_n18>Fn&R@bKZoUI51cfHAf)Ffgzhr`qV~XjYcxtK;M2<3mG3dwSx-!=s%K~Gp&T-s#?*$Me^7;J5r%#{m8V*V+n$6~I08?>Vz83(ncTSYc zW!$`Z^S0}{Q!lRx?<@-rifXl55Cq|>BuTJsd+MMC>AfSW)oS5Cueh7|2lq8-aRSrC Q>Hq)$07*qoM6N<$f)mZkH2?qr literal 0 HcmV?d00001 diff --git a/src/icons/images/marked_16px.png b/src/icons/images/marked_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b6b3adb541510ef3e38680df20626e4b21c6ef GIT binary patch literal 477 zcmV<30V4j1P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10cuG^ zK~y-6ozO8zLQxb3;Qy-lq#+_93qnwW1|{g#lQ%t)z^Se24boy;ldEk(i&IGu4_XtK zmX;O~2^Y1XB^yJULQx9AJJ{c%U>fH0jED36=iCd-StOU|wICVH=ku2&*Bx`<4bwEQ z6h(OvLcH6;ytz)4V6SXbVdzL$O%w!Rz&YG#U-VE)E-pQ3k+FCUZ{G`DHkOI9{!RE3?u_GRv#F`7`UHS3m+PxkDjiO2AnC~Eawma6 zppngH&q%HTK&#c#RaLD4AOI$l$y<^Of1XKlDUnFr0r=K5tyU}+k3*r*^AP)dzPC=N zvpemdAf?<227|8vD1_(_u@ItfS=K2@F*N`H3WdUv+wJ}wVgQUrqh*q-|Kh<@Jn3}$ zdWaQ8X;-V&gPHJ1h+o(B3IL{3sT-0WTLA!2uh;ht!+4ZZhHc})6;6_Sv&{Yg4u-Qw TRFGeY00000NkvXXu0mjf6<)~d literal 0 HcmV?d00001 diff --git a/src/icons/images/marked_16px@2x.png b/src/icons/images/marked_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7288e62f6e1195361fa35cb9431eb23501d9dd50 GIT binary patch literal 914 zcmV;D18w|?P)Q-;ImI&^&(Z-1Ne^d(ZRx!*e+N ziT<|(AOk=R00j||LS{UZh+4f~?ABhMyo6QH{Y~t%rHLj1vVpnW7n~#W~(P*MRpRXUl0XcBP($dn^^78Ue zLf@N4?h6F zr5ewhpP%n6E-wC(z=;U8wYBd6oR&HyeVe!?7z}n778ZUL;~5zlkw75O10YAr5G~L1 zZUD^y_H6+#n4O)yVX;_d#5fV5qod;q&zhT?Uxh-UP5{*al$*R$G&3`E zGcPaidorG%pZ`q|gf;+bsR7gg&ReZke|C2EZ;!|G1i%FVhc>u>I1mW*n9b(dWL&9K zu8xk5-UCo12^S4DOixeW%F4=GAR?5OmQIb2kKb8ai&k{6gy;D_qtW;y87Cq%Ha3m} zII$&MG`xCfXy_qhOduktRH~JvwUkdzPI?RmLvTG@r_(J2gTZb9y6pyF09qRw8s3Np zC)VQk`}_5J{m=DqB0_I(?^6IZ+rmX5w2?^Uy2)gkO9nI=O>`ri<2W9`xy?RasUb?n z#>Vcd)#{avK=Gqesa7T?CT;^bxMN%tqRHiQjYtXLbUI%GXxcS=Ex;Z@5ZXA7oB9`? z(v}0j%=3I-W@ct&qW~#yIRNYf0|SqVD4vX0R8*wC43&z;;P6KS| o07wVWF1h8TC`7)bmLu`}0r)0L{h`qv8UO$Q07*qoM6N<$f(venwg3PC literal 0 HcmV?d00001 diff --git a/src/icons/images/marked_24px.png b/src/icons/images/marked_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..03944ccbc88ca78f03149cc8b24eb679c4c663dc GIT binary patch literal 693 zcmV;m0!safP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10zyed zK~zYIwboCFQc)BJ@N?CN6AvV^vInIoWr#v8^c5p0Qb;wBixy_HaAT`h&Z3RrCZb?g zjRxVO)gZVT3?c%hm2R>khN+%Npwc)}iDm}AX!zQU^pN?N^E_~O_x`?fxr=j&rc?lq zOv@$!wp=dv7{E!*6!6oLNaTrLum8vx`=Tm791hP0gTZnn5_t*0peioQvNI3}l#E8> z*JiWnQyX{re7-UfVR3Qs5df`fc(>a@GOUQTE<8kys`pV4UaS-;<( z1;DoOYZi;8s>F#13kwTb05f|AY=s=2pPzqD{~oT9PN(m$t*zY@1mW{IZZ?~1vMjsy zg^y}57@W6St;$X}d7l41jx)x7XS3P6|AmjLP$=ByIPS+ds$6q(bFTm#ohSgnOd^qZ zx)aXx{5MIGu1th0LM);vR<;XBCX*Qex&s9e5lNDC-C!_mC~=3wu?pbKfpH=t0NSOc zrH72MKSTtrRy)k+^LJFi6(Pq$p-_Q{5Dtf5s6M5Lh&r9lMX%TUuGMO(JEfEb;1Ym| bJ_vsSf6Oq=QzPo-00000NkvXXu0mjf!fQ0- literal 0 HcmV?d00001 diff --git a/src/icons/images/marked_24px@2x.png b/src/icons/images/marked_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..28cadfcc6ae81e65834ace697b34c3751583069a GIT binary patch literal 1325 zcmV+|1=9M7P)rYrDL2(^@@ma`t<3Kfoio~Nd;IkHa6B=TU-0Rh)`2gGYGtP|LHTY13VH8 z23u-sY6e9FylPUO& zjEs91FJ9~dO4U`y2v9yWG}K`>n}3%ncoAXi)~!yUUR7kQ02OYxyVGPc`6LS7Xf)pT z`Fw|fJXN950#vzNu4BuVE&D^F;6;Rvj*j!d1~r{g1FXGz_3C^1`T2iJ418r}p91@U z$5Vu_9T*rm5f3jSG&D4P3A{L)LD{3Dqpiio#n&q;Dt>Z0ohN~vfN>UkuJ7yXdp{>9 z#~%-$vX%vuIi1dvdc8iV)9EI*Z{L1tWMt$Z@C=}xF21+7w<{+nClC)W|F*2Pv%*IV zexa$U>GS)WFJ8R()^x8GQ0H(sPGx6j-${f|dCLMaf&FXNtob2wP_owwc+PIOf3RrL zqQ4U1BU;v@DZxh|%pQ-YJvTS^cH}^76o}M#VSy_K4!izj;S({UekH9?L z)z$Thq9~J72S;41{Xj|h_nXh2J=?9<>&KG8&w0xNG{CDio9&xeh=^;ox4XOhqs+|A zr0{8LSwNoO?>}HNnWDaQN%&e>t=20#oo+lCyvT!=)i|g4h(lC59F9|3tu|?3yk#&L z?s&c4BWZ0}z)QP!?Q*2z0Bvn;_O!Pw;Gs|`)Kp$x{_||`sAua*d4QcecI@~{;^1{U-FSb0|A`s5tho&E@WjMKb4f{w zS7IC>+_JW*$c!JLq`$xaM6?&U1@kQn*wWI{azUmXAf+v9E(7R*ebv>~E(zlo)VC}V z5y0&AdXE^5#*uK#ItG~2HGkHRH$_oy0FKVi&gCwbYl+2Txuht{ja1;$7C-@B2Hu?a j-?Cx_$OWEE_uPK~2Fez2j~rq%00000NkvXXu0mjfW$S#_ literal 0 HcmV?d00001 diff --git a/src/icons/images/marked_64px.png b/src/icons/images/marked_64px.png new file mode 100644 index 0000000000000000000000000000000000000000..0c1facf37e12785ed51e95a0edebd5de6f912ea2 GIT binary patch literal 1209 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=Ax8o-U3d6?5LsuFeS#l{s#| zeDB*`mUo%mUzF_H$*IfbqBL{X1fGdMPNazm6)roe)RCc-?H$&2y{&FO4@G zn{lINWq#a`+7wN!`yE`OgT^PPImhZ3sBdQl} z#K^}O%XVGX+>J}%0GH_3zVQ0BN3}%OdFgU6-sV|jnb@<7onwKMt8S)6Oz-yXQ*)2L zWr%04mkcQml2AOr6ykQ}!`j)q}#Tz<0xomzu|U6Rj^Y&qu7Ik9a4Jt3NlpV z=iYLve5aLnPK)t}2*<0K{8KM99T>yfuRQSeFSR=$_rJ_2=VplbHRdTZJ>3FxOVGUYi}k^o&_F(X=I0V>|PFMs~N%`AlnMx%khmd#Q2w_HC|) zP>m})?;lpuIet+^O?Trl#=8zF&rkOMTv&a5>VaejQG>^eJ_j|<+WfF_MK}A0Cs&JV zf9>JeAle}z94nv1`9tGB$h7S3MNod|%=0tU9S5haSAyWiYEj;Dh7A)OQKKfws;M9q-w06YMV+-2bKa z{Ts<|@q4T4Ip?N-b2Z(Sdn{Jxq$c|h83`k^U3NXD;y;8l)}4qxu6y$|gN0E+L+Eeu z&5LsF+}Rer@8-*vI={=T+3ey+sVU**k9^yrSPpH^%oCP0dn>nM(Is1(B8&ZM`}<jd5&Gtcc%cVM+U<9SkcO|fZTRZ!h68Jp{C*l)1@_}ZOr^LQrTcgFcTb9c_EPOEg2 z5#g9un0qYG^CR>97qS;Jj_sEFVEmxA>Rhyi>~%L;jnc498rhr~%*&R{esd&QiCZc9 z^3z@HHr{o~W6g9Y|ack(m7QRq~+{y5{ztc1;XAN^Q-?rMi?MBhT*%H_I~Bl$U) z)-#$jv3q_x>1U(1TfvB9%S%ZYG0)HJtvWu8o0v}=6H%~k$f2CM=$_2pDRFanb~0-w xd~5h$)v#*S%m&}2X)Z#7P9>-LCW`!Fp7v4j@)fpI5x`=H!PC{xWt~$(698rI7iIte literal 0 HcmV?d00001 diff --git a/src/icons/images/marked_64px@2x.png b/src/icons/images/marked_64px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0c162fb274b2672173c74949ded5839367c71425 GIT binary patch literal 2455 zcmdT``8U)J7yr(}FpPZ}$u6EKl#qRCT1aEf5{j59%ri6A$v$?4QKS^c9;KMEmtu%w zYKrGULmJ|>#1zvMS>n|X?;r7=b3gZU?t0EW=iYPfb!YTx1biPH004yj8I=RbV7_jt3P0pC!SOKe_`HcyLii=ik1e%T!Ul+IY+Q-n!=LFUDb#bwAr~kOln0S! zA(D=F-qNGs$BHz1&^r4Ug}`j`7aJ{da?iYe^L3i(qGAE=l?+gp_E&fGxsEC51bLic zS#GvlqkkuSd%`w4_o3eQf0;p)W`Ke~B)~mJ$GgzHG<7#Ygv_nbAGXx#$zg%e z>FR?-^%7_nSPt|Bkfny-DJx;#s$2&;4&z1hG+9Q0y2;&tax{FQ#7Z-3#I(oHb4^YO zWq~KRKv^_Xui_nZZrlCZiSDX~T|4QtRNx51)!%@@T5@f2vg+l9!a~8=wf9;zd?hU3 zf=K&@PTLG#0r%~-QYi29dpjdtu)*CNzEAF3+&P5Y7HJMHr*71zmRw=~LlsyA2SI)V z_>M+8+vxhFqRIz&tQJOuE?LT&514i|C=ex0)B|C4?^Z;d-DA?z8-!(Uk99p%QMA6k zB^?4!!Z3V#9Gf(Tlm)UN9)LZNUU=7Q@jk<|=4oq6$r>_|x~aJQpc`D%=Ube;icB%{E$9skYebVixYlxG9xfqlkxu$0I{?`M`>weuU#}x1nvnT(Q#3~5 z;Kp}CJos<+HRG?CN-jF$-)^!^~ze`{NyND z(Xdf!%bI$_9IUSU?vR>9iyY7jr7u8Txxt1kS$};_(^56Z@VMKZ*R!wjjSAW8N2Q{S zi-b_e=-p~{3)^1g?R+Qi#aQypqk6=S?WxJD57uHPa2^2Rm?5b`a&JW0L!+%m!TN49 zUGMVz#G8x>l%GD!DArp)SoJYlql~{oNREmpFJOKlXCd~yODZhy&zgDEv-x5}t13dQ z2L}r5#6MfkMQ3vd`7bX)oSTW1>L&hVBM)hGV%5GbG)|7Q+<8}KWUg2Erdxd00d3{V zw+U6lklngn*MFWBiL3eoVlAqK3dsv*y4TD(!)= zwE}cQUxC`I;O1y@9()ROD^vrJwzc0lSvsWGJ|BcMpvN7qoc3(qkaXqp zbf0+36QxEa`%saW17C?Pi~3q*WLn;B_)5CfExUGAtnGqp2@Cg^onwUL@nIZY10#d6!A;!}#Oi5rW$zxLC5a zMn9E2G}f9-fGhxlQ4WFQL-HS~k|T%LxUjCDZzuvP6FOwYUmBdtLq8I;pPKAc7=I-? z%;3H)S#fZ36@m$Az~{Wt9{E*te^WqU!e)JBZVq9TVrKp<-*4-Xx^5ger~6K(iVaIr zwP!r@=aM&)pbQXD?v)?Givuuo>{byTVX)a zFv0%Q<@Ya}7$Zi!Q8z4Y)g{1_s88ZZ zAX|_?Yxu|yIKL#fcR)g`CxLLOeX7p-*O@R5EUU?U{P<;<%i7hl^3FJmfwYU(2E`ag zF^GBkD%qy%0QcO8gI`7@)1P+}(VD1$AvNhlg?{>F^VmdUpW01uNAic~*7rt}(xc2w z_<~R9?+zRniAOSg(*%Wn#DU*`R${h(@G;P^o75HWBogAhi;NwLc2PD?cB;Y; zVuV%gr%Fh@o%?*+r8Gf&>G3Lv1J0K)OZlA$$bT<0ZqYUC{n(pstO~wL5h^!TC(maA z_ci|ijQ>3v^lYS(1mtBMx-qK_UqBh#FKH8j0$9AKFayyllOaRsQ=#PANo;e1(vl|B eRw6CBXBViYs|S%Y)Q$I^D!~3E8r5LupYmUWaBjr_ literal 0 HcmV?d00001 diff --git a/src/icons/images/nextstep_16px.png b/src/icons/images/nextstep_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..8af3a6f27726fe7977fb16f2d57dda450c685112 GIT binary patch literal 593 zcmV-X0pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10p3YO zK~y-6jg!x76HySyKfC+(N4B(XFdn2}ur{p_aD@;>ilwKb7g0}bF9qpA5bXcpy>~B) zg;Kl-;z41-wpda$2f>4gM#RJlV$y^{5>waYc}SYF*#sRJnD=J*%=Zm%l+0FD9& zb_;$Wm2|Da04e2>0-#c^vAFP{Tlo6jo&QwOF(+!Xx_&gUkM9ox`3qBa4?qS1Z3Pbp z@d3zvU+zDHehLoFO+~u@AfTXk2IajfiwlnicK?vS+Xf7es0q#LW=#(ivCL$y@U=uicgrL($rkMXl6IY%#|4mmkP+=lK9&=J1=)Al}gm> zbw*FR1D8q3Y*ppw{1ejYG_%)c(G8t#Z<}m3OR-oCy?=ggDGU%o!L(GOu_~4&_*Jv< fecA5zk9GbFRalg{&KkEg00000NkvXXu0mjf&g2XU literal 0 HcmV?d00001 diff --git a/src/icons/images/nextstep_16px@2x.png b/src/icons/images/nextstep_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7f7a85568b5809a5afff66005cd1a09ab8aaa3 GIT binary patch literal 993 zcmV<710MW|P)Tf(K@=Q(scDi^A(x(e z?4^`a@U@phEl_Qr>R81_$-#l%+(IBYsa@pAHlo34jEs#XOVfkowY1q?ts}b+7H0PU zci+En-ptO3hYz-tlmaQis|!w_@e&M5gakniLI4P=6~)V!6?V22Qc}A-;-D=BqM&fo_iPt^OR2KX z-2LBN5!@WU#ro}Zs@$~_7g3Pd82=ExNA7SI7~0|N)e`Tc&P(Wv8# zKkWS!=`@;kypm!l5U!Jh;YKHQUKfS}KCQ=|#8iN;hdA4H#c>w6g?*}cwSBA#IKosw zxujUjmmME@zt^2n?L8pOk>kOk6o6WR%S-?8`AFI__4hx&Y|jHuCbW&W0e1>CKqjAfTx_TFIS_f=!>>jY3h9(7^ zJYYueCBNlUwg}>C~j8NlfV8T z9*?uRxe3>RZvl@fvkZI<+=oCQ!1VMqu~>}R*;#VAoRN0p`WJ^f7s%Y-CHne4B9qC~ zgr->XoyrQ#pvj$L7-_G>2#W8GD)FOAd|^ZE<5iD_i=Oh zR%-?JkpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10+&fd zK~y-6b<)jCR8bhm@$We^O_Ms&j561JD@Cxp*I=9%W}_5_;6iAkNvzzpZdqwL4Hfh^ zxM&#}7FLKYf^6wV#5Wjn;W!K$LksCnir%^Rv?xWL`fbjEbDj^J=Q&Uw84icfMx)VM zK>XwUNDeOOy6(|5?Wy1IPr6*LM#pi~&dyHOG|ktVrahaOn6Uo~=(_G{X=#~mZ*Pys z~P>-7R)nkI!p0Zr4Wt*u1}aXuD{RhI!m2qmQ?5C|}I=Qf#4 z1}P=QVv$@f$L#DZmSrJ?5VmcXO-0Vn&yS3ajk#>wW@Ga^sYef3U0tQ7rUuhADHe<5 z^La|8Qg&``?nfD5S=Qa2o*sI8d#O6*;qjGIq(?`{<#M#OwPBhjQ&UrRp-^zb;qZwv z0Kn~b^JVNlA0A#N+<20Eamka^V>UN8X>Dy)&CSg&A;d-C&2dB?><+!|LXF^3(`izv z6wzo@L?RIk!$3-zIF3k;L;!+sKWrA(e=@d{%YABUTDtY6ET3A?6 zN~yO>sj`miy6)-f>UuvkH1w`)B1);3N~zM{)qTA9Fmkx~H`J2~V!X;s@c;k-07*qo IM6N<$g5Q5__W%F@ literal 0 HcmV?d00001 diff --git a/src/icons/images/replace_16px@2x.png b/src/icons/images/replace_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..aa4d4c563613467b0ef62f348bd9f3bd67c6296a GIT binary patch literal 1870 zcmV-U2eJ5xP)pb|Illw{=MdFA)YsP+a2#islrp0zis!m+zN@Qic64;q{htCHIB?*YrfC;+ zUH>2y3dL1bjY%o7ENj&?&7$Ktk6hRN_1M_h-Tx{;Pft%e5{X<-Bog0Br_%{VQ2>xq z;&~pf>*6>Lwr%t5*|X*K_4UtIS64roo}OO&j{*Ao`+E(;_#xPBjd_JEm7K?}9$Ar51!>(Ps{@mT&y)P1p zaQygj+S}U+27~CjP9P9K(=@uey2xZQ2q7>{lXN;wJRWCmZjN9un6@ly?~^A_uD>_H zp+koTT3T9uo=T;R!-o&k*49Qa7{o9PA3#-AqR}Y2t`m>Psi~=hY5v3Y;0`!jqB>_ z*t2I3s;aVg?_OfD81Z;Kt!dh?sx_bh^z`)9)YR1MP*v6MP}4L5fdIO$`^j}($FeL; z)AT#2udk=Eu@OzvXlrXj2tgna=-52CZ2>e*>xx7oNr0xNCK?(VXl`yMnM`6B#v6^E zK7G2yM00a90F8}}0O-0N@9phvtQx@cyjH_7B2r2^Iy#6(qX;1?qd`?wOw+`&ENt7x zwr%F;=UG@-z%)%f&%^UPA2tvOM1&Ac)c|Of8^>|bG>v#X4#1f+X8^c(@glKUjBq&2 z($W%^W%(e5LV?-YSxnQ!bzMBqt8^!Y5VC3milWTBuDc$K#Q-Rm%j9x7a=9FXgM+ND zt`Z0YNG6k5mPNT-rd%%jAdchUIF3Ipwry_!PpUE?rL1!t=a)i=NM*y3@)i7}M~^sr z_AHk#UnZGM(%Ra}g9i_MfXd5tT`DWjvaDz0&Ug>hFpb07XD^JizSi zEa%Ukr&uf!4u|RN?8I>#--K=3c%H|@hYu?@z5u*;g(%SUS8(ZsZ$t+ z!OF@COG`@tIF2)^D9Xp#Z1(AP242w!L9`}Bv?fS2q<^L6<$GO7aQ34ZsaTMOg#}KZ zK24!eAeBlnG&Dq0QxoZQnsho1fU2s!p67kKor$+>m*TbStB3{#KmD+Qcr-+zP~gIa z3pkF$jvYH_Z*M1)$@maL2vk+=wQc+6*Fn4q@Ya8X@V{0Sf%er2sZ=WYo6qd*Ea`Nb zOeW)l2qDlkt=G2gn|*zK^;H^pw}p}|8U3ul)71^?>gpI88ba4~9LJfwapOjAW@g4W zP=Nr@G_BY3ythJBQLzLFShqZWb7z$=i!To$BO@d1+_@8AUemOnluD(Kv)OEJW@g4u z{u)Hj+aR{Af-OG?!H4Y$F8wgc^W{9}{{7Ei^+=@FF0}H1gauvstqt- zv}kE*;mVaOq*5t>Y2c_3;>)*9TE)cv{rkJSy1L#lvDtzGd;;826oqIsN;DcJ5{Urd zdXo8~MQdv-SFc{JB>y|`-FGFgm~b5D=)HUQa?{h(zJX*ii4bDz6bK;}gb*JAjli+j zJKMc`H`lIRBbiJB+y}lVgxI#yjgOBnJC1WSo6Y8?r>Ci{tz~X*Zqjw#qnmffE$d85 znF5xil$<%-;BFb z%EbF5-W>b(?Mqc#oRCu1ODX>#rF5i}wv_UBQp)HzO}<_H8#hcvQKdn%cmMzZ07*qo IM6N<$g3)J(umAu6 literal 0 HcmV?d00001 diff --git a/src/icons/images/replace_all_16px.png b/src/icons/images/replace_all_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..646168cdd74cac539a769acab4f8c9392e9e8266 GIT binary patch literal 832 zcmV-G1Hb%pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10?kQ8 zK~y-6b(2wOTXhu1fB$=L)6^~@V`=Q=Zm>Y}5Q3Bx3TY{^MXFm^U@uok*rsFpQm77D zDQ>2;Q;XGZg0H^#Fc{tFUM7}0DSg=322JqMIf`votTffC*CaPC%ke={Ydg==dHB8` zhmY^*>>btJ-Q8}Qrf+?Hy$r}RH2;bli*4Kb#>U22Fc>^x7)H2OtKqut<5H<~-Eo|; zTrT(Ie*v~_>*aF!W;7aosi&u>wY|NaTCK+F>MDzii={%LaBpjCEA=dh4q#c<`|)`E zbS9H&4Tr<{{eGg+D5h!B*4E}J6bjE*DwTaJD=Xjb1{eULQ0TS3zP{&z!61IW9{>@- zG))450BdV&t;J&TRp0_p-wDuSvDiMtFb;QhbzxZ+UauDbkH^EAH(n>7&yh~2X=!OW z)Y;i-?!G|NbzL+~BNPg8`qW95mX`4Od?=;ZEEbuX{E&wazbBi`>d9o%yC*~u`J`U2 zk7$}k>gW-gbj6dp!gXDmJqA<9_A~yC!@2XLB$F>L0BNOEc_+Y4rBcnV>*DnoOdShw z{?>2Y_;eWmpFhCQ-|^tlFMM=IG5q#91_uXk1FtBh1V95k0JlDWm#?!g^Mcuoq3vvl zBD`Ob=m;=9Jx#S*9R#fH4ED4_HN4vde*Cr0{YP7jjEu0nyu3LuFtE87pwu?O+oU-D z&J~VK%#&NI^6_28=zABiEQ_I`p`hb9v;F=3-Ui?=pU+2n_%cT)=E*&-QWK5I$w>@D zXJY<$MlX(W;6U)Fxw$zakqCxiq#Vb&(b3V-tO1|R%*;GpSXcn1xODpuE{pDrnk5EY9^DpX4|&@pZr8*Ttvzu@`Z>r?Ji7XY}?j%n*RoTK@-)7sYA2?0000< KMNUMnLSTZ5{*Xoh literal 0 HcmV?d00001 diff --git a/src/icons/images/replace_all_16px@2x.png b/src/icons/images/replace_all_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..157d46ab34f5d43b2e361b79818f5eec4b302ec5 GIT binary patch literal 1899 zcmV-x2bB1UP)+8Rx7d-eb} z2@WOgHtqM|bNti!{eGX{_ndprh5xfjYgu&QzyaIn=;+sNHe1-TELoQ2l+9)v9~>Ms z{-*%(c)V3r)i+dCt=Dzkr>bfdAQcLQ+~VTmy``n4@nW%fW@u=r|Gx?li^W_nm+L}R zRn@n`;c!rvWh6<$vMemi!Zb}x)5I_gve|4lm&;u-P4fqXgM)YfV}Pw&x2|`)-S5@a z)x}&cm*nwysH>|Z91i1fI1oaR%jKAwn&SHP>&(v1QYaLdnVA_i4CBD%%a=d>$^h|r z+^OsO$1N=_-_UiP*49>2>f$Or=i1LX60lF8)tLZR^O zp`oGKwF20d|EaC5eYdHp=>?C+BkkV3o95roVid_Irg z@294whVk)n>~{OQ2M->!O;1n%`bz_}wY4<_0)f{fk%+gowUy@PX6$x*1%TV_M$XcYgM2OplMpOrfF>4xDid$P!t7K zRnasJhr@x>=`2GnH$_p1$KyDiPU`CFO1|jk&6`&){33u@EauX6-3Jg3hY1FQL?RJt zYHDygok-H-vswb^?(XK`!GlarPNFCZ+qZ8o1L(T$_j*9@R2N?6l0-Lfni8yoTY zeC48wqM#@Wg+hVF#YJTKp=ejHUL~1Ka_rbKCMG7(b)7wX_7Dz-Q53~%v)R_K8Ne_M z%d#w%mX-(xg8-a9eVX?6cBZDLkYyRK*GnJ}D1!+h0LWxAbaZquHa3RC;o#J%Q$!*W zip8R}W&lmoQl@DZO5FlnyLOG+w{O$Y(ZQ`-w<-cH>tX(AK;z!Mdz?6Ng0ZnNs;jFx zbLNcP(b1u;1wax)IDlW6ruieA%~sy*{rmTm$z%ZV`~AqWOgf#eNbsveQGVG!#o+W3 z9*>9a?rs_y8URwjZb_0pf0hD2172QUe0hhp>+EE+S+dz|MeuVzov-;c-u#}E)-cS^ z&(qo2$&DK~0GB7|sqmI8Nyz`lL^RxNVjhf(@IoZ`y#5&-X>=^)}Z;eHAhW?<-= zoo?zwP8JpxIC=6Uqobn$LEsNU2z9j@%9D=Y^`0bXFO)lDA%&tql^tgDEGsTOF@jBo z@3++pU3a_Zvu7zAFrmsQ*2oQ38ZI!JBjjd=@A81yu?DCJ($CnF%SXu;cmUEt>30zRLQzP>&h z8X8Ea)3mp@6N|;3UoEoY46J_09y<=b(p#Q~s&w8tv;oTy{G?y-`5lAm>S}s=dWc4& zWHK3!967?xn>VA1qI}TO((=;q@bK93%oPgUFBF;27nsi*EZa&N*Hxm<%oVtmHF)Ly zc|N@Zfk1%X-d>{7D06djBoYY4KTVOGGt2%+Btkl!=HkVRNRm{(TV`fvP!y#eSfPXrqye^V z+g8zGGW&pAnIb3NTi_oV2!%qNJ9myqB=UI8oIx-cq_3}!NF;&~;^yJQhp!9_3<#gk zM<^5`7z`2$h002(s``E`7K@Y=xBwjM>guAatE-%N@7}%4&CT)JAE!y>Ov2$Xy}iAJ zLZKCqPx${SNz(3#iHVFPNq+{uxn;|i72BLjrG#Z!IfuiMD=F|Q@HX(Ea+e{MGYE&n zBoc{I5d&c7&Yd(iHqzJESMrYn-;pF~YH)BcFNFB+@bK`!$jFFQQo`r+2_eK~yWRfc zrAwD`uhJHrTr3vL#aA^U#EcL^^z`(IqeqX5bUG~_*;OG#jS#{ng!ritVpa%oUkLGA zAw>1l^2OtEXIop_-*)ZV^~sJMJG@UVybRziQE7uhh`=+0zW}14p~17J#g96CQwVWK l2r(~&ct;5FZ1S&Y{|3{Z(7-%ICLaI*002ovPDHLkV1nC`t7HHG literal 0 HcmV?d00001 diff --git a/src/icons/images/singlestep_16px.png b/src/icons/images/singlestep_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..8bebaf89bb428f6839079a5651a355bea1f83859 GIT binary patch literal 569 zcmV-90>=G`P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10mey0 zK~y-6m6JVd6j2n0pF49WnGFt6OtHp7SRw5e0~(M7MFN)EsUU);)?Z+g#>QeB89hl%Rsa-A!iW2ho|pW_IRS3~^(eUG;?v_uRvI&wI~@s@Fo%TH%bF z6el&&kCZ4(F*Rtd(3V1L)wi`mYcTij0PU?MrcX|D?dCiScNVa1n?m6bjYflJv&nv3 zxjg@y&C2T?34%bT%2Q&^TH;JN;(4CTU6_+7ilkbt{yJa3^yK??B0Etc-EJyLB0?vK zW#-(BShJS!3Q>2Jm?NerrKA_9@@ainHd?WCf;gAJ`1U!Wa<78@#zrkGlv1%GrDA2E0u3-as#tuqNE)Yb zHY0Y9IE)`2vl$v z^*QVBUaz-0z1*O(TljMh@^Jm?!-1Ir-mc&3f8l==0Jx_Me^*eP)B{I(KQzF~>XV^z z0WMvpicw%zCV<}r|&A~000000NkvXX Hu0mjfd?)_z literal 0 HcmV?d00001 diff --git a/src/icons/images/singlestep_16px@2x.png b/src/icons/images/singlestep_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..767d617a44e5ef6daab30923c6fca9f66cf254ff GIT binary patch literal 875 zcmV-x1C;!UP)Q(+j#KkwQ0ZVGcjQS(G0Bncri)C#&N@j?&;O)vU!6V**230_H8g7`0Z zA#`D2;O!P(G|C?!2EjlRR4g(mVrD|FnLFEQr;F|Arkn1EqV&Bvzn=H`KJWK@--q`V zQ{!PnQ3Q$tiUJ~eU*=M<+Z8r8;>7FDS{(=?{1r}28dG&VM(>pD_O0P5@O@%enL zudf$8djK&t9yV+?g{tZ(E|)8f94nwhQ&SUOuNNsL{r&woold&Dy9ow^EG#T!OkCr+ zk&_3+)OgsazU;tt!jewj2DAfDf%QZYs;V+HG=!8AP16X4LIeVV;tH6X*)*za9J|S% z0RmV8Iuk{huvjeUx=vIxSPAMytpY_#0l?tk;I{1TNpgUTzyRQa-D{?Ji1*VQM%}ei zqR|Mgt*!X|{sh@TlH9}^@C&%Rtw1;wXC|k6fisCsnZrJtL$jn4kbpCDt95U? zH#9T=5Q`akk!Qk|0@5z<)H<-)#Qvj56#V$XE8e{RToCcnx2|*#=rM!Exd`fcNlA$S zvE2%U0Q1GCrB&8`{^8||Io|pUBTt3MwjapmR@^y1Jqgscz4n z|2i9vj{@1Y*SR7<=JETTjE-D^ygT7RpN@}Qfq&yd8<&$^0m%RW002ovPDHLkV1o7+ BoLT?? literal 0 HcmV?d00001 diff --git a/src/icons/images/waived.png b/src/icons/images/waived.png deleted file mode 100644 index 1b2d47c4fa44f63980dbedc0712b7c6ca313c1e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>M`nUxc*DCKV1q!m4c>21s-{cY(XH$E;l-&;~BwOMdQR1AR zo12(==y8= z-!q>XISHRIn-Kl#iQCEp&YqJhqdwmbUsDueTBm0sK9P~ZQ*`lq&z!^N`wogY_UV0{ jxum1xm;COgpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10iQ`k zK~y-6?UFHQ8gUrK-~YhCp)Lmvvbjc9RVj#D)g9%9pW(X}s1cOQH>k><{Waw7tgKzjA-wz%i5BM(u0QGu( zyW8!)o|*Z4-c2MDyRPf*j7Fmug+k#ifLE4fy&n#TegJSB=c5qf2mnwnmp^NoHkKrb z$z<}f-EMD@oR7s~KNUr}CAma0n#<+B1%ttp69KSG#ib^j%k|TWm#sg*IOrQjpZsAw9>4MX{l8RIoupE!3zBlb-#2|e-&9rANhXsyAvyP$ksdFyEPsv1<5z>h zV9qd%FG7f$a5#JvjYfYwcnu-M?X$&j9H){_r_V_K=|!njaNz2OOYzkqOrIV8Ku_NcI+EwD5Z7OLM5$H#L@6_x_Pg>iErw3O1l{kT)6k# zbI9b!yKUIn0>p}#328D0MZ0FTa}h{(Ljs}_Lkp+QAvjCqlX_eLU- zf!*ERGOI)V{r%~Vj*eRZGCI{94u?O;X0uNZ4h~L}{9Z(U)%U9U`ueV`s(LDkm6eqQ zfSE!bB(FK0&JzH%8bd=vb0j^w_R`GE%xA`4TU*rN|#w^=H@*2sQ zrfD&|-L3&(Sy`E;Xd@bK_7$!7~R@3>s92fCF?rEZYCWYXAjx!i!=Zr9vy_kEIYTg9_kaB6F7>o>+C zl}h;mTs9eBoSU1g+uGW?P+nf1H~6u!u|@#Tn|wUUWU_H@Z_gG81bzmf{%z%^08iy| zxepaZ(Ew0U6fKv_4Un|y`_1j`?RNk$9*?JOHX8xZ?RFoVt0Wm|X=&L8z}eZ^Pf1?1 ziYK}_R=|6^ySrZ-A0ICPfa&S!JCR6a9>5;}UaYC93GeUk+cq~h7XyL7mDSbN3nGH` z_4RLkKHma>BTdt;xLmH6D=I4T8yg#60{H4waFLjiZ43{&{r}Z4inh7~|117_h)8~1 zu;=aU>};Kwm?#E-bUJ-I91idJe7@#PCS%*)-d+H36F{Bc?|)@&ZLLT|psMPc*X!ML zI-Nm9QSz#)TDJd8kbEv4kEfxxEEEdeTU=aBiU>oY&^?l`>bjSDdwXvgx}Kh%jggU& zDFBQ{qjyQRJWgjovgr8u_@k1Nk~{!991g9kt4jsI(b3V*O^;If^73**L3TEkbLH`641@xXl!i!&8SXM6wTpqXe9fM-%{7TSyfea1b`yK($dnr{yM&Q zR*bVQp&AZ{zcUuuY}Qs+SGNP;wut1-x`u{^pY&vKaBv`gzyB8iKm3DwPlII9;o;%+ z;^N{w^e!Y4i7Ap*1vX@!SW% z%F4biTYYZzOc|;1rRh*OCqxHC`p{-98Wg>1a~?d4EMKG4*&oF M07*qoM6N<$f>ZhRm;e9( literal 0 HcmV?d00001 diff --git a/src/icons/svg/waived_16px.svg b/src/icons/svg/waived_16px.svg new file mode 100644 index 000000000..11893e73c --- /dev/null +++ b/src/icons/svg/waived_16px.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + w + + + w + + + diff --git a/src/layui/layui/MarkerBrowserPage.ui b/src/layui/layui/MarkerBrowserPage.ui index 7d88a98b4..a5651d155 100644 --- a/src/layui/layui/MarkerBrowserPage.ui +++ b/src/layui/layui/MarkerBrowserPage.ui @@ -512,7 +512,7 @@ - :/waived.png:/waived.png + :/waived_16px.png:/waived_16px.png diff --git a/src/layui/layui/rdbMarkerBrowserPage.cc b/src/layui/layui/rdbMarkerBrowserPage.cc index 221a02cb9..3a7c48c87 100644 --- a/src/layui/layui/rdbMarkerBrowserPage.cc +++ b/src/layui/layui/rdbMarkerBrowserPage.cc @@ -1275,7 +1275,7 @@ public: const rdb::Item *i = item (index.row ()); if (i != 0 && i->has_tag (m_waived_tag_id)) { - return QVariant (QIcon (QString::fromUtf8 (":waived.png"))); + return QVariant (QIcon (QString::fromUtf8 (":waived_16px.png"))); } } From f5983480464a24a0513386edb0dd9b5403fecbd8 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 01:25:46 +0200 Subject: [PATCH 30/52] More images to SVG --- src/edt/edt/edtPlugin.cc | 18 +- src/icons/icons.qrc | 27 ++- src/icons/images/box_24px.png | Bin 0 -> 486 bytes src/icons/images/box_24px@2x.png | Bin 0 -> 816 bytes src/icons/images/cm_add.png | Bin 815 -> 0 bytes src/icons/images/cm_add_24px.png | Bin 0 -> 1006 bytes src/icons/images/cm_add_24px@2x.png | Bin 0 -> 2029 bytes src/icons/images/cm_diff.png | Bin 797 -> 0 bytes src/icons/images/cm_diff_24px.png | Bin 0 -> 937 bytes src/icons/images/cm_diff_24px@2x.png | Bin 0 -> 1777 bytes src/icons/images/cm_erase.png | Bin 741 -> 0 bytes src/icons/images/cm_erase_24px.png | Bin 0 -> 922 bytes src/icons/images/cm_erase_24px@2x.png | Bin 0 -> 1721 bytes src/icons/images/cm_mask.png | Bin 888 -> 0 bytes src/icons/images/cm_mask_24px.png | Bin 0 -> 877 bytes src/icons/images/cm_mask_24px@2x.png | Bin 0 -> 1671 bytes src/icons/images/cm_merge.png | Bin 780 -> 0 bytes src/icons/images/cm_merge_24px.png | Bin 0 -> 1032 bytes src/icons/images/cm_merge_24px@2x.png | Bin 0 -> 1865 bytes src/icons/images/partial_24px.png | Bin 0 -> 777 bytes src/icons/images/partial_24px@2x.png | Bin 0 -> 1485 bytes src/icons/images/path.png | Bin 575 -> 0 bytes src/icons/images/path_24px.png | Bin 0 -> 688 bytes src/icons/images/path_24px@2x.png | Bin 0 -> 1288 bytes src/icons/images/polygon.png | Bin 504 -> 0 bytes src/icons/images/polygon_24px.png | Bin 0 -> 717 bytes src/icons/images/polygon_24px@2x.png | Bin 0 -> 1453 bytes src/icons/svg/box_24px.svg | 153 ++++++++++++++ src/icons/svg/cm_add_24px.svg | 273 ++++++++++++++++++++++++ src/icons/svg/cm_diff_24px.svg | 285 ++++++++++++++++++++++++++ src/icons/svg/cm_erase_24px.svg | 273 ++++++++++++++++++++++++ src/icons/svg/cm_mask_24px.svg | 273 ++++++++++++++++++++++++ src/icons/svg/cm_merge_24px.svg | 268 ++++++++++++++++++++++++ src/icons/svg/partial_24px.svg | 232 +++++++++++++++++++++ src/icons/svg/path_24px.svg | 218 ++++++++++++++++++++ src/icons/svg/polygon_24px.svg | 256 +++++++++++++++++++++++ 36 files changed, 2258 insertions(+), 18 deletions(-) create mode 100644 src/icons/images/box_24px.png create mode 100644 src/icons/images/box_24px@2x.png delete mode 100644 src/icons/images/cm_add.png create mode 100644 src/icons/images/cm_add_24px.png create mode 100644 src/icons/images/cm_add_24px@2x.png delete mode 100644 src/icons/images/cm_diff.png create mode 100644 src/icons/images/cm_diff_24px.png create mode 100644 src/icons/images/cm_diff_24px@2x.png delete mode 100644 src/icons/images/cm_erase.png create mode 100644 src/icons/images/cm_erase_24px.png create mode 100644 src/icons/images/cm_erase_24px@2x.png delete mode 100644 src/icons/images/cm_mask.png create mode 100644 src/icons/images/cm_mask_24px.png create mode 100644 src/icons/images/cm_mask_24px@2x.png delete mode 100644 src/icons/images/cm_merge.png create mode 100644 src/icons/images/cm_merge_24px.png create mode 100644 src/icons/images/cm_merge_24px@2x.png create mode 100644 src/icons/images/partial_24px.png create mode 100644 src/icons/images/partial_24px@2x.png delete mode 100644 src/icons/images/path.png create mode 100644 src/icons/images/path_24px.png create mode 100644 src/icons/images/path_24px@2x.png delete mode 100644 src/icons/images/polygon.png create mode 100644 src/icons/images/polygon_24px.png create mode 100644 src/icons/images/polygon_24px@2x.png create mode 100644 src/icons/svg/box_24px.svg create mode 100644 src/icons/svg/cm_add_24px.svg create mode 100644 src/icons/svg/cm_diff_24px.svg create mode 100644 src/icons/svg/cm_erase_24px.svg create mode 100644 src/icons/svg/cm_mask_24px.svg create mode 100644 src/icons/svg/cm_merge_24px.svg create mode 100644 src/icons/svg/partial_24px.svg create mode 100644 src/icons/svg/path_24px.svg create mode 100644 src/icons/svg/polygon_24px.svg diff --git a/src/edt/edt/edtPlugin.cc b/src/edt/edt/edtPlugin.cc index 5da6ed90a..10416a756 100644 --- a/src/edt/edt/edtPlugin.cc +++ b/src/edt/edt/edtPlugin.cc @@ -261,12 +261,12 @@ private: }; static tl::RegisteredClass config_decl1 ( - new edt::PluginDeclaration (tl::to_string (tr ("Polygons")), "polygon:edit_mode\t" + tl::to_string (tr ("Polygon")) + "<:polygon.png>" + tl::to_string (tr ("{Create a polygon}")), 0, &get_shape_editor_options_pages), + new edt::PluginDeclaration (tl::to_string (tr ("Polygons")), "polygon:edit_mode\t" + tl::to_string (tr ("Polygon")) + "<:polygon_24px.png>" + tl::to_string (tr ("{Create a polygon}")), 0, &get_shape_editor_options_pages), 4010, "edt::Service(Polygons)" ); static tl::RegisteredClass config_decl2 ( - new edt::PluginDeclaration (tl::to_string (tr ("Boxes")), "box:edit_mode\t" + tl::to_string (tr ("Box")) + "\t<:box.png>" + tl::to_string (tr ("{Create a box}")), 0, &get_shape_editor_options_pages), + new edt::PluginDeclaration (tl::to_string (tr ("Boxes")), "box:edit_mode\t" + tl::to_string (tr ("Box")) + "\t<:box_24px.png>" + tl::to_string (tr ("{Create a box}")), 0, &get_shape_editor_options_pages), 4011, "edt::Service(Boxes)" ); @@ -276,7 +276,7 @@ static tl::RegisteredClass config_decl3 ( "edt::Service(Texts)" ); static tl::RegisteredClass config_decl4 ( - new edt::PluginDeclaration (tl::to_string (tr ("Paths")), "path:edit_mode\t" + tl::to_string (tr ("Path")) + "\t<:path.png>" + tl::to_string (tr ("{Create a path}")), &get_path_options, &get_path_editor_options_pages), + new edt::PluginDeclaration (tl::to_string (tr ("Paths")), "path:edit_mode\t" + tl::to_string (tr ("Path")) + "\t<:path_24px.png>" + tl::to_string (tr ("{Create a path}")), &get_path_options, &get_path_editor_options_pages), 4013, "edt::Service(Paths)" ); @@ -414,19 +414,19 @@ public: if (cm == CM_Add) { combine_menu->set_title (tl::to_string (tr ("Add"))); - combine_menu->set_icon (":/cm_add.png"); + combine_menu->set_icon (":/cm_add_24px.png"); } else if (cm == CM_Merge) { combine_menu->set_title (tl::to_string (tr ("Merge"))); - combine_menu->set_icon (":/cm_merge.png"); + combine_menu->set_icon (":/cm_merge_24px.png"); } else if (cm == CM_Erase) { combine_menu->set_title (tl::to_string (tr ("Erase"))); - combine_menu->set_icon (":/cm_erase.png"); + combine_menu->set_icon (":/cm_erase_24px.png"); } else if (cm == CM_Mask) { combine_menu->set_title (tl::to_string (tr ("Mask"))); - combine_menu->set_icon (":/cm_mask.png"); + combine_menu->set_icon (":/cm_mask_24px.png"); } else if (cm == CM_Diff) { combine_menu->set_title (tl::to_string (tr ("Diff"))); - combine_menu->set_icon (":/cm_diff.png"); + combine_menu->set_icon (":/cm_diff_24px.png"); } #endif } @@ -528,7 +528,7 @@ private: }; static tl::RegisteredClass config_decl30 ( - new edt::PartialPluginDeclaration (tl::to_string (tr ("Partial shapes")), "partial:edit_mode\t" + tl::to_string (tr ("Partial{Edit points and edges of shapes}")) + "<:partial.png>"), + new edt::PartialPluginDeclaration (tl::to_string (tr ("Partial shapes")), "partial:edit_mode\t" + tl::to_string (tr ("Partial{Edit points and edges of shapes}")) + "<:partial_24px.png>"), 4030, "edt::PartialService" ); diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 5f2432663..5b7b34a29 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -26,7 +26,8 @@ images/back_16px@2x.png images/blue_flag_16px.png images/blue_flag_16px@2x.png - images/box.png + images/box_24px.png + images/box_24px@2x.png images/breakpoint_16px.png images/breakpoint_16px@2x.png images/breakpointmark_16px.png @@ -50,11 +51,16 @@ images/clear_edit_16px@2x.png images/clearbreakpoints_16px.png images/clearbreakpoints_16px@2x.png - images/cm_add.png - images/cm_diff.png - images/cm_erase.png - images/cm_mask.png - images/cm_merge.png + images/cm_add_24px.png + images/cm_add_24px@2x.png + images/cm_diff_24px.png + images/cm_diff_24px@2x.png + images/cm_erase_24px.png + images/cm_erase_24px@2x.png + images/cm_mask_24px.png + images/cm_mask_24px@2x.png + images/cm_merge_24px.png + images/cm_merge_24px@2x.png images/ct_31px.png images/ct_31px@2x.png images/dark_12px.png @@ -131,12 +137,15 @@ images/nophoto.png images/options_edit_16px.png images/options_edit_16px@2x.png - images/partial.png - images/path.png + images/partial_24px.png + images/partial_24px@2x.png + images/path_24px.png + images/path_24px@2x.png images/pause_16px.png images/pause_16px@2x.png images/photo.png - images/polygon.png + images/polygon_24px.png + images/polygon_24px@2x.png images/prev_topic_24px.png images/prev_topic_24px@2x.png images/properties_16px.png diff --git a/src/icons/images/box_24px.png b/src/icons/images/box_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..ddad5610c102b6bcc3cdce9fdaf5cd7f62ab6ce7 GIT binary patch literal 486 zcmV@P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10dq-2 zK~zYI-IP6U!axv(zd@KHO4=MCwBZmwKtvfSH=smyMl;bQlM$c{amecNr6Uo5s`b?c9ZX@ zE}DQp7!2Bu<1ic!+n(pGtkA43xrmGa)NveLEEd{owG_}G2o$JwRCNT~87z%4cdqMR z8Dp4CCID!(hA4z+4RN@?7uBK=;t+X!+jn98UWv%9s$HNoDI_Sag~-!8syY^t(Qe2= z5bVuMV@P61HrsESJ4swp+Z@cHVfTL4>DcYmw49(!C@*j_`YHq`wWCf81*#Af*>{9P zfhq*0{tF`VjX)KGA|X}i&hdR8pm(N&n*Lj43!|!X+Ce4%&xk#|LU+#di-(P!8?q3! z&$?DLWbtwwJI(CpRdsx_0zX4fRWZg~yRLiH@Ap5a)9FV|&O_L!54Kkg;M_a7jL`Bo cc>gKB08n$;xX+szS^xk507*qoM6N<$g47VulK=n! literal 0 HcmV?d00001 diff --git a/src/icons/images/box_24px@2x.png b/src/icons/images/box_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..44b8f1cfc3fd16cd42267bf2373b6a578f8edb44 GIT binary patch literal 816 zcmV-01JC@4P)C3D)9LhY0sM?X01}c|EEZs9 z+}+(J3|Ffa0Kl>=Fc+sHX8r&?W#FiYnHj!+(XBs$Iy3(S0LO7|JkM*!Bj4?IF&qvP zC;0m%KKS%^$9sp2J^xg@V4vQ6lR6M(U^E)7+wJy7tXs91#U0kNtR8@5D>aeAzY^31 zN98~w*0SO~Dbi=qzaj&A2`LHwFa2w-sepk4ITWbung;sUJHVVzfhrwQcX^EiDuOxb zUjvN;m#u$5(uIzrU!eX0fPxs;YEi5cZ;;sz2aNB#ryw6qAo%qIGOq5+o{?l0EGef+O2+a#*O-o8M8_k-Q z9A)4F@IJn99Ov5eyk>l_)9Gv`lgTfj1Q|$AOB~193Px#24YJ`L;(K)qX0$juPW65000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyZ1 z77!B$`!|vR0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0007p zNklL~H^gSg8;}5K^glheU;4u@O|z zAVNaGMo{n%C@SWXfDvM05N)C{!4zVl29oUE?(9B`o!!~n3wMd$gXMiUv-^Gf{>11bhrM5Hf&gHkHp{}%yeyogBSZde2DqtQ6LO*K{JTMB$;f?21VO54ZmTg+c-M)}W0di69Zw)qIMIz$KuV=_2z$ znxdr?kByB11y+cy0$2-?TJ_k?o)Gn}3-O2_uvsI;HMb{M*krzt<0!RhXxba-1LQa6D` zChmy5yCKf01NQVzJ-7JtLyISeEPj7C#ZGsJ$UvvaKxeX+IcRUML*(NQzKUm2q$wTU zol8d!C&TCItQ|_Z2&}-UYx_Q%-*nBleIM!8U$Trq(OeaId2W~}c~ifBbZa9d(Mrho tC7hUkm5gu4m2%d7^vy;)Ecpjg`3pd?0Dt^9@WucD002ovPDHLkV1h_oXmS7m diff --git a/src/icons/images/cm_add_24px.png b/src/icons/images/cm_add_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..94fdb614367b135c9924d7ec92667b3211890c70 GIT binary patch literal 1006 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11A9qC zK~zYIy;V(UTvZhQ&ftA-QZth@pwtwNR5C>gHi6c>*}blWDj0F)!k;!!p=orYGwB$! zap6u>T)C*RE0q!q6%;}0RO%3kkXT9(f=-#VNv*Aubdt&B%}+iTcV;qg@)B(p9yna? z9 zOeT}``~A+Y2rSDwuax3w{4FxOKxR_p?cc~huaFB<92tC-N-0{F_2sSzNZJ54!At98 zF;5oP$n;NS>LPU*?S}uZ*133L`&_${1C$+rgs3Kf1j+^dZ5tDjuK!*^CG+@jlu9X% zoQaW6mR!GEtsqhnK1DJWiA0u_QXCo@%2X@anV^_=iCPt%D>wC;eE(Mfjw5GcR7!C)I;b_tq{wqe$uIiIiC4&#MRN5PM}~)}lwvd*UEZz&sS=1tg6Ye; z=lhR9%pjOa0bloPE&M^iYytc&fVo%id-@@J+CcIefX76HjRbCytAdi?%FWI1W;0*} z0W(-xn*lQbhz~3|xt;WFAaL|a`u#ijg6+VC6M))N0S&m_2msfU@G1ZO0Q$YM-%3z& zYE^7}GYF_AzzAT)6>&0BoYZVKR^G{&MkWUd2nSBc=`jtY(dxFJifi&imrY4 z)wL)HJn#gV&wxwUz|U;Njy($7w$a_)J+X6(NJyX^5FcPP2;42g2Do|)vB&^y+s1HY0L(4`r2;tq zB9Oiee*P@rWWh`dvB8r%?)BI7Pn%*Ig$J<%0hExiLuF z0S$iP1OP&g{|J&tMdVVg0?V>aE2Z$xr$1<+NexbF&>DEOV literal 0 HcmV?d00001 diff --git a/src/icons/images/cm_add_24px@2x.png b/src/icons/images/cm_add_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5170061cb01354097218e44f2e3bda2f159a08 GIT binary patch literal 2029 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 bK)Qbcp0f$K65jK^00000NkvXXu0mjfUT#~H diff --git a/src/icons/images/cm_diff_24px.png b/src/icons/images/cm_diff_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..2c48b683a567fcc597a508840c262b9eda48230d GIT binary patch literal 937 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 Xrtzah4r5)?00000NkvXXu0mjfrwT#4 diff --git a/src/icons/images/cm_erase_24px.png b/src/icons/images/cm_erase_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..5f37f9d87e2393493263cabfcc18f1f33d9a3814 GIT binary patch literal 922 zcmV;L17-Y)P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H111CvD zK~zYIy_MfpEvAD%fKta3vYVWfHFFI)sqV$qqn^ndN~keu)?S;F+YfL7b1fH zfmk@yc_D-{XM~Q52+JI?AZRB?$LvK|hYj5fGc-+`rp@_yaZb*X^wi8=_`;WS9?tW= z-|ustAFs&&u_h-cm!i>V$Fi(tATf-YnVFl>XtWcH#q3iNjE#+TDwPV+XcQ4S234g} zsW3i1esC%R%d(bLmFt-WsQ&>^e~0Z~q4qQU`4feA-$7NeEUS1b0w5tGP=Dwhez*^Z zd(hc~$3McOAMo5r4DECJV8YIh3|MYg#61!b#OPTO!LvC!QJgX6+>1xxE6?XLs49hg z77ljdpxKKc=_kGlRFlbMLsdzoQqOvkj3C$>NNO+Xj^p$QZurk9VSb|tI(yJ*QOIXe zRdTsp(^p$tTwFXBK{}mosw$aGrtxACJg&f_yKu1EQ&a^azy+Tm;rkmO)jq$_B%c|u z+@m1Ljx!*Je#01pPb9$8P}Tk#sv@6Y^PWsiO^JwHHpaOBvj1`<5_!e|tgf!+`$vd~oOfOK3lTYg(nv9Ws0m}t9X4(UyO= zU0GR?Znrz2X?}h_cvn>^m&-CcJKJfu+hf6pAjuEEfd{vs-N132AbG`N(Y9^7Q!15; zLxZs9I1cPSf$s|xF1-;xQUZbpU%_w7u;1vfqR{H__jy&++=lOR@NFt|q&z2RH(SNvG4jKBx{UuL9LnD%Dg~3fXJWtieug1c9&oq)zUkXCLe2ovl#>f5ZMW3c2@C zRj%jL(5gf0FSz#!-2E8td6coPAkn)kW@q z?w4-&`DAsw9^y$cFTE=4Y>AXV5^)d3TwDsOPsHy7%d!?!RX+Ii>!6cq)g>6$$8hKY z@ecR>-v9ExsH(){@v8&BX!y!B#suj9_rnlY^`CT?tOY+O0*Isa+>1M0ya4789o?*IS*07*qoM6N<$f|IwjhX4Qo literal 0 HcmV?d00001 diff --git a/src/icons/images/cm_erase_24px@2x.png b/src/icons/images/cm_erase_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..731db133882d58b3ffdecb1ff53d7608be58eb59 GIT binary patch literal 1721 zcmV;q21fabP)+vj@_RRw|~yPy|=w>$K-)8 z`OeME~=WYOP<(X(-!T=Zu1UN7-KmaAFq5b&1HoC(2fh0(l3|Maaa-<7}(QI=y zlDDprGk=oPSIMa>WF$yVUM43lk>QKv`0wP+A^MuOo6X3f)g-V+QItX1_{E7U1&qHy z-W(!toaf@-XX)GdZpL^;Q3jA_5t9^VTCCB!1|-{s5c>guw?+Y~0IB^xwn46${fP{x z>S-!!UQT0m2qD_@5C~cnIfW3aT>?34AlrjvJY_uUeq`eT+x@PXJY-p7N`Md#uhpKC zF{xhZ1cVS90f6L4(T$Op01d`j>@5HD4Crkk+mTv?Tw0Jc&cys3dOfbpB5n1$xj28D zT%1qo9Jx4`DNkX^*g;tr78XVt8ylz7^_!ZSrW1+8h_T)Z5QvjYakhFrIoqVq>(Lo+ zAaI6cyQC3WT`pJ5h}YcQJhj3E;)PDyj0S^227|#I0@8bgWW+9>T>{p-kcH2$^hvv- zc={QLlgT)ljFHJ0eS30U$m8+E46ZTX)6>JAo}Pj(p87w2!& zC#?gI#}hMIbP7&gJg$Ek*!+}n=@dR7Z`f0tn3Vh zLbd7lP$;yirl#g+lKE~mUNw+uPd}U7arHuPfS8X3>5eW6&%27#3E z8(srI3=a>dYwQHDjigfup$Z{RlJxog{tU$W_3H<>Y}xXYMGrdxtgEf9T?YUgpRLxu z4t)-&%V_)ZG`hb#kGi@#xy{Ma34m4sDgdCWs_K*3*;$a>p6)CfjqVphBu(MTZ2+nP ztdqWG`t5wL7NCmm-XQ>hq9}uYzkk0G$NE;{>i2pA&%L2Fc%&*_cM8B1N<0fvfm*c? zq8b1=KdBASZ=V6`a@J+vJd&<&ddpGdt;9XNaWlK+C^k>fMWcy-$;2$VplM=ul3v&Q znP}AIaupT+n&rg1cJ0c9)2*&%F5U`}a}(rTSkq|OGRL+-AZt7q?y%LfJ13!WyWPfw zCSpipipq(7?iQW#?}N0(o*`z|7}YFDEXc5B&_>k@Plw zALP1Fn|C)EpCMy2WNcc~!ESP(i#&IbJbQpV(@CCbC+8#N{G_IHlk~Y;a`8MZWOQ7o zC@=%o=YU}(IzQeE0Of=^MQPFTAZaSo^qEH$J1`51$0ow6V+i3CP>yOKt#!c=SmPFPi#e&bb5G zda4TX)>moUOwWNlC-HK&bF&~WJ@Tq-xP|d%aaF#%R_P!sB=RDz+`4sZCZ6{l?L{(~ zGyoBd&w#O+tN~VeLm^G^XLLL}`qC^dCYP}1>kAp<6h*0rNj~6^o)2ETcI}9E3u1L=-iQKpbLOcE>sj{ zu&=MrDxSZm($LUQ@AvzS*<2TZy;g13q$-T3^bl6zUj_2W{btVtF_r%Sb!moNq<;N9 P00000NkvXXu0mjfMzA$B literal 0 HcmV?d00001 diff --git a/src/icons/images/cm_mask.png b/src/icons/images/cm_mask.png deleted file mode 100644 index 304bb9ef09c34832a38adbe2ef7884bd782564b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmV-;1Bd*HP)Px#24YJ`L;(K)p8!8|4z2?L000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyZ1 z7790u)hU<&0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0008d zNkl-aTVP&_xAQS9~vDP=Iy-Y{pbDP$IN=5 z3>?FZcNE8J`V~i8VxS+uvaCtRaVV8ar0d||;FVMl)c+PhB>-ihE+Pd3N~wl^EdV4Z z7ZIT_wTE~=uq;bh<7fkL94Egk0+A2ehsZDL{}!NBDrGxy1d#_iFd$Ko*Z-3TQP^VK z0Q?^hvq$%2DJ&

%1}+2TrYtf)7AZ2{YR?(@lb+@{ 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 R$n*dJ002ovPDHLkV1mbk8rA>+ literal 0 HcmV?d00001 diff --git a/src/icons/images/cm_merge.png b/src/icons/images/cm_merge.png deleted file mode 100644 index 11dcb87cca26057324d218b78da6f409c5fad379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780 zcmV+n1M~ceP)Px#24YJ`L;(K)p8!8|4z2?L000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyZ1 z76&A{#TE+y0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0007G zNkl)AiHJs5^9(QwV#ls<@0KGN z6(R=Dto{!fbx`C$o&rW$@LWyNL9T1y({x}`AXiAP-v9~&P>$&Q+08nL0y`Pcy4)c8 z{gvV?7hH+bug~5likj@2qgn)7T1pBH0EjQ01LSwmmm#22V7(vH+M-ST>Z6!edN#V{ zJ28L`fOvA5{`}y|5-hLz1OGtxJ0S#EKndKH7#}@e$}hE(-eg&I9SppIA$q50mn|wEJ`l zBI-v`Y6G|mpdC~Z^E^V43i6<;SBMD)7Yplad;`~V zz#q}4SHQ+v095Plu!?w|h6}*k2evfNEV&zars6=SNbWs>*mnfU?cSKGNtwE=GM_wr z195l`$}FM50RvA0)x-X1PEJ3e`ksM{jyw#vDn z(O%vJ3WenUbK78rL3HX+jhdQWUOs$s0EkW;C~30qm2>bS@ktH2c5}*eUzp~XEO5}~ zF`#D``zXqjs_NBUHX0S10Y6q^g6ow6J&oZoD~~=eOhd|lAcMa`Y$4RMc4p520000< KMNUMnLSTYEmr_~) diff --git a/src/icons/images/cm_merge_24px.png b/src/icons/images/cm_merge_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..11b8de5a09cba16cd297c23a0781abb89441795d GIT binary patch literal 1032 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 literal 0 HcmV?d00001 diff --git a/src/icons/images/path.png b/src/icons/images/path.png deleted file mode 100644 index d6759d24256d202107f67fafab1e5bb383f46794..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 575 zcmV-F0>J%=P)WFU8GbZ8({Xk{QrNlj4iWF>9@00E;(L_t(Y$L*BAN?bt{ z#(&31z{)mNgtRGaZ3HE+V3}g`26=-;(&Pzz0$afc5cVz#DN+T&GDK3@N$wxBGwb~< zW_IrEYC_0fvGKrR&Yih@=bZ1GIq=B#q9>dkU=ZUU`N7H(pvrs)7{)cV01wxF#jBjqTV?9rpXBsLsCo?7&A#T#ddRc6vOJK>y(ZXc|Cm z^L?jDM$u~iX#UQ336m<`^Ag-_trsZDZq+|i0o5lbD N002ovPDHLkV1gS4`3(R7 diff --git a/src/icons/images/path_24px.png b/src/icons/images/path_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..b439108e97f0ddc21afcd6a082fbdc4fd914b64f GIT binary patch literal 688 zcmV;h0#E&kP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10zFAY zK~zYI&6P1|6j2a{zjxfmLM4I_Y$P^zm)b^)1MLJ`TWw50V?y>~JPYp-Bp?V@+KFN* zf{-d{(j*8r=2j2{V-b)!&nFW|s~nc=$u@f#G2MJC6uqs>(cgU7oqnPs34ucW2tQvI6%X=_cIb)}i%-Y_7r5cq)5 z_E$i0&StiC4-ndDy?cf^JOGOiUYWoKAbC~jj5>c>#J>jG&L9+8UiW%+*vsgGxvqQEaU9Bb%5bP3j-1H8icUahZo=7H+^$aJI1c4|58%?%XzjALkt_eVfXM$i zllpHSrT*rZj^kSE%h_Qk>HXN)SiM**GFftwzXK9lSwx@aqAzvn1$z4gLW}0BXtosX z*;t`8IvkDb(Q9aZxvl%;7q@DR8BoxG@1J8)V=*&A@6K(*`TLk-r=sGq$mYsC*4nD$ zIF)>YG{^&lVMwFVsCI_`&+QM^ WYzy$ec_V@V0000ANn$cL(WKMFB;yGA zSd`X{E7yV*#f9Q3Anww*5v2%1qZMk?Bz7`4bKfrRJ$LTMIddnSBr^pcI0@(6cg}h4 zd7t-uyjRgdh)53D1W-y11Z}?r^}$y9=s7WV7Kn%fR8Un->~hh%Qpz*go%jp5u3Jhp zU5r+$)v9tF=d7-ejg9q}%jNyv-rns*Ki8u5d_G@-4tO95$8pZCudny%`r6uBpHhmI zm6g3#es6W*aY1_^pU+V1QkY8^=y#{sHFE73Z2&(THpX%NnpYTts5xW}d z_0M#F9gYFd^NZB|5}Ron^^~0%r@xF!9mH!8)Xn?XoRS1s#Y1GeP;`BY)jD>A$-qWYB-K%_OfT5;}bkSO}^M%K*qX@1^C{l^(DWH0i(l zHnJuJZSu09Lmp^C(4_yaiva^c`S$(b^jS;GtLr>qB4}IxGh!h0fFXNuGO!R-uU_>Z zfBBYSdF?6>nAU&GQ6fYCV2A;Ib2>4Y2u4XBLH`hc0R@oD#hr5OnSvBS5C0+)K)+CE zXTJ|a@B%>^Zvl;^)CX$4j{dEK*aqs=n7`FxF zf^2abdRE#cXgmMg0yH{q3+MrELOM%abQ~7uuW+XK95HR){q1N3lP~@9Xso}3>H)Kh zm5@-eRAymjoHK8Jo}k)qeE}eyC9YH|C(~8p z=cZcnfFcn>wk)w69)Jic|3tj~_wW3y!b@+&+kd_abr*HM5O3ez_WL>aT&&$X?%i8H z(WiY6WM<~j{{Er9K;V!eo%`+3ytv=WgmfbsG1{?*mhzUaegr^wRB3yncV;Let1 z4`^Ziuh-!GM58YR=kgMtti?XQFgkqQ?r+KC`cV&}Z4eE#S-(4vC zG4a$3{`>@*=f*p6qHq6b^gxeNN}BEk$G-j_f_DgB#zC!xT^I~IvHm6%Up60MgKAY? z!8r2oE#n%I1^Zbj)O?!+ZRh{cE-~H_(F6WRWFU8GbZ8({Xk{QrNlj4iWF>9@00CS{L_t(Y$F){5R>Lq1 z{RRdmPSXRlHz6AXGi%CCI0XYslN)dZPC;WwwiseNvYpbV7`>P0yvWwKr0?(C0@wn0 z#AIJ6?VSHtyYT^9Kk~vO{j2Q`KPCx{;*Xa@pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10$NE# zK~zYIomM@I6G0e$W^qyoHivME2Y!HHk=0JDB=%w&e}Gun#AK7=lxP&S6aT|qZ{u%} zBdtY78$m$?jb1o8vv-&Md@Qn?%Z@s@ZIgq?B|VXEy;*$(l&Vi+oCPNGaLx_gSe_2!Ki{0-z9L*3bKtCLpOC$Jv!q zve)Y|V^KiHAsP96(tS)RB|DwYu`|&3H*20tx#k&tB4iviyS`~x6JzP=0V!cD|+YzZM)mf%F;Z0MO8MBYj;ee2R7EW;}fOyI}^ z&Rxe~FaUtTk~0{jE%h-8^1$hsgl*d^vk*d5^>LOUDga);25j6w_t^_bDba4X&m9{s^)r-@pvhDV); z;CP7Y`8Dv}J@D;aR5wn6dtb5He1KZ5hDM_?BKZ->m+Ag@tu*K53I71NatGq%Y0w=4 zJFkIYtgRmcjDY$U#M&h!;8%qZEY2V-s3H<{e*vUfWek(uG6kE>;P)p(Tv@>#&gXO= z4bHm%J|o8R8H64XPJn2VyFxN`0+P^`o+ZeG770!t$3c!jKnRghv^CuuDy0;#ZUd2D zo+xkiEko_I3~bw;9-tAezd+fsNs!`bX6Xui`urtu@fL9T_Ua5Wk#7U_ZFFC~DOCGX zm6mBspH=SQ~; literal 0 HcmV?d00001 diff --git a/src/icons/images/polygon_24px@2x.png b/src/icons/images/polygon_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e323437d2a0d52f6ae294a68b269a2b44206a04b GIT binary patch literal 1453 zcmV;e1ycHnP)R^&|N+KF;)FBJ@G-4R9E$z z->Z7B-urd6fF~rI03d{T+G}rkUFU@m4pIn70iZFco-8s#vXn4J1jbMZ!CU?xIEMN%KQZl1;-fb`V+mTCGN{blaq3lTMekJEYxab^dKe^_0uy zp}CN6fN7c=K_hCl8ZFCGgSWe6=hy@98PK(89UroKsS*Njn&!qZW572A2<_iGvjMve z*d6b0yVpK-762h0cu4B?^MGemq1)(4uBRN^ySm=xwb@0_bK+7Ya49hZrKEQuAG98L&y`L_(yc%!a1($#HsClYmE5_pZCkofrczo}B}et7Gav|B z3EXQx_B;ThUa!li>mH!2yrQn?3+YLAp(to3xDt4hn^3|EP#3rgS913-zd9YXpzFiz zvKXM*adPAV9V5%j?9?tqN5A7p;N$0kGtU8MUjQDTf@N8_R9o=Xq+w)5GdltxyB293 zk;i-F(H41do80@8-2IK*s*`tqCU38kR?8h{9+Kt(=PR?Zayp5T4Z`fynYewNF6*9o z762hePlc4|m>o$>PWA}dAk0qVLMgMZZ*t`E|B>0bE_8pNY;BVVo8;aNa`$&~t3lrV zh1|SO-nvHK_>r_+*P(fjyuZ(C9~Y`sE|RS+^5}2!=q`D9hy39!^7}W)?_MXreT}?# zi`@T<+`mcg-DGw4LMmpbUV&6ux7(Y2@9#$omr)}`N%jX>$yCK>g)wy zPq|#)U0ht;iNaLJz|mIf$}@EDsaF9I;^8q@S!>%>`O^~6l{&1rPRILSy2~qHy8s_K z=ju@~J9Qq&PbX3Kj&K+lC! z86TGN zV8^}u`Q5NM1a>K097)_d7{m<#epQG^&$<4&c|BhYBpI(q54`*p0H9v~SKjQ)tu>rD zxPRvXu5qOT&kbVRsLy4smS@KhTq%Pjacd1H4y-_yz|2uDxRRO@hdA+wJQpxcQ_RiH zjmtsRcNTE<{VRCz$(MTd3<+#}li!t;fh+v#Q;KD^apmJBzik-C>E-3+?a|Ru|9uh3 zUNu^&RL0lV*2ZM}v!yQ}1n}wA4-l(qa%JXhuJhg}pJQ?5OTWFkx;iF=;L6I%cEt4j zr<6rWp`7@{P8U;3A|Bl-WgiYYlw+5EuT@gwX(&%A6{m|QW + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/cm_add_24px.svg b/src/icons/svg/cm_add_24px.svg new file mode 100644 index 000000000..1a6fd0a1e --- /dev/null +++ b/src/icons/svg/cm_add_24px.svg @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/cm_diff_24px.svg b/src/icons/svg/cm_diff_24px.svg new file mode 100644 index 000000000..724c3720d --- /dev/null +++ b/src/icons/svg/cm_diff_24px.svg @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/cm_erase_24px.svg b/src/icons/svg/cm_erase_24px.svg new file mode 100644 index 000000000..4a0a0b4cb --- /dev/null +++ b/src/icons/svg/cm_erase_24px.svg @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/cm_mask_24px.svg b/src/icons/svg/cm_mask_24px.svg new file mode 100644 index 000000000..2b8f15859 --- /dev/null +++ b/src/icons/svg/cm_mask_24px.svg @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/cm_merge_24px.svg b/src/icons/svg/cm_merge_24px.svg new file mode 100644 index 000000000..a4c0902e3 --- /dev/null +++ b/src/icons/svg/cm_merge_24px.svg @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/partial_24px.svg b/src/icons/svg/partial_24px.svg new file mode 100644 index 000000000..9443b6cb1 --- /dev/null +++ b/src/icons/svg/partial_24px.svg @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/path_24px.svg b/src/icons/svg/path_24px.svg new file mode 100644 index 000000000..7bf2f3fa6 --- /dev/null +++ b/src/icons/svg/path_24px.svg @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/polygon_24px.svg b/src/icons/svg/polygon_24px.svg new file mode 100644 index 000000000..cdae72412 --- /dev/null +++ b/src/icons/svg/polygon_24px.svg @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 85af2d35e85b1e126e88a5f23753b74ff6c09f30 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 01:40:02 +0200 Subject: [PATCH 31/52] More images to SVG --- src/ant/ant/antPlugin.cc | 2 +- src/icons/icons.qrc | 3 +- src/icons/images/ruler_24px.png | Bin 0 -> 679 bytes src/icons/images/ruler_24px@2x.png | Bin 0 -> 1721 bytes src/icons/svg/ruler_24px.svg | 152 +++++++++++++++++++++++++++++ 5 files changed, 155 insertions(+), 2 deletions(-) create mode 100644 src/icons/images/ruler_24px.png create mode 100644 src/icons/images/ruler_24px@2x.png create mode 100644 src/icons/svg/ruler_24px.svg diff --git a/src/ant/ant/antPlugin.cc b/src/ant/ant/antPlugin.cc index aa942aeac..fda6d5b8a 100644 --- a/src/ant/ant/antPlugin.cc +++ b/src/ant/ant/antPlugin.cc @@ -151,7 +151,7 @@ PluginDeclaration::implements_editable (std::string &title) const bool PluginDeclaration::implements_mouse_mode (std::string &title) const { - title = "ruler:ruler_mode_group:ruler_templates_group\t" + tl::to_string (tr ("Ruler{Add rulers and annotations}")) + "<:ruler.png>"; + title = "ruler:ruler_mode_group:ruler_templates_group\t" + tl::to_string (tr ("Ruler{Add rulers and annotations}")) + "<:ruler_24px.png>"; return true; } diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 5b7b34a29..94292e783 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -185,7 +185,8 @@ images/pythonmacroicon_16px@2x.png images/pythonmacroiconactive_16px.png images/pythonmacroiconactive_16px@2x.png - images/ruler.png + images/ruler_24px.png + images/ruler_24px@2x.png images/debug_16px.png images/debug_16px@2x.png images/bug.png diff --git a/src/icons/images/ruler_24px.png b/src/icons/images/ruler_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..72a3bacf2cc0e2626b7e29513f68eb12e51b4547 GIT binary patch literal 679 zcmV;Y0$BZtP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10yIfP zK~zYIt(MPg(_k3KpMtllh->S$w;o3BLcx}~gJ>m;m0&%H;-%t2Xs9O^eq)ygE3$*o8v0=4oM=2{V{ zD;KtPUB3_DlBrw8_%rKK@99YUr z0ILEkPk^PHzx+0l-&Phg9#d06@P3tS{SAhYlwqvM#P8SemPjO&tgy?!FgA zvDt37omjp$9a8t7MsfY3usPC;#Tb(%N$T`^J-YzihAq|1$48soI+g>wWMEUxxl6+{ zKel9gs?*b60W}3?Val8E!4k%pEM1OuSU%|v%W)-!VaVd-dCz`9{sJ$6BevTruMq$M N002ovPDHLkV1g1iFD?K8 literal 0 HcmV?d00001 diff --git a/src/icons/images/ruler_24px@2x.png b/src/icons/images/ruler_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d4c8d050c0a7e1e19210d0420ba0ba965725d619 GIT binary patch literal 1721 zcmV;q21fabP)g+`;%OC%DfL?Ur& zG#Wk03X)l4%@?#t3M4BkD=T$UsnlsO7-%#aDV0i{YPI?+w+LaZIRln2e0+TTy~T?c zlO%cn9*u|VDV3zgt_Y89Dl02>DJdy^VzHP2xO(+!vb&SCHq-d+W=d0&eMQ8EoqXXv zw%NOPFXQ6k`0=XuN!xj{?Ko+wp;1#tX-Z=3i139^NJzL_S64?*na-RhyDpJeek9Fx z$(1X`_DvhNOg>re9PFQnxF`Ky*Zv4%YKHu;^3#+9=v zO^zQVV%%uL1IX9ubkkO>Sn+yQRh3wwP{3p|AtxsX9c||UM;FlJz8p8*?{5N*E<7_c z6$eT(#(!A;?vfolc1#Dbh-8*{l;8yqd`U^kGQD0Or&KDTQmN3;&;Ya9j6)4ake~Y` zl3@oNHrHi$zuvzK0GK){9&=|Ti{JcocV>!Y(zWdD?8#9V;D%RfwOV;;Y3b6Qo*uE; zY=%muf=niZ>Xqlv&~O;$3#~YG>=g3n&OkD6yG7gp`g;7nZ|bCYJe8g#E?8TgIq_lH z)u>v?Z5yRltCg3Rm%mnBT`d*_0Vb0PwY9Z?vm0p%A~f#a2w~<_SlZfA-}sZ;LS2Bf zJLKPp+ArX1o3gU9rFy+SE-x<+DwPUyxg5m>Z@5O-VM8Ljp_(@n^0bFg{OmN>==ap-^^u)AOV z-d}g!69E3zZ5HR+^_yynii%nR>>qIpg-n}{4tLtz9FR6${V5bCyhtQEJE8&xj{MG@ zJI5=PN*D|VC=?1&q2o@mZ2l_Zg1G|05D<}3S}Fc&4vZJ^U-WNhm7fu;+XCu zOqt;Hx6Pef5y1l^)WidAqu1->%w{u8CKJ-r(~+H>jl_rIkpIFwG#qJ!`C=R7k0c>` zT4I0J2WZ+*@FOB%;K=(nM zw6voBz@dQ4*NQsDM^a&9qw)`EDMF5Hh`;XgROIXd_NK+AJRf$rw!nO3$tm*)Ha=+om40k1i*}p z47RtohuqVSq-}-;58n-VAQ3HR$oAjJi$9QOc9F)<$%c2x+9jlZe$?OtS}5$aX>5cb z2(VZzsNYu`a(NtkX+zR_rG@JC72bm={=9{3TuFYvoZS6#)NSLJLJ_46;A+ZXyDInc zIGQ8xwNON91Gv^O!FE-n0Pn4c(#Cyy%zv+iY}(jNoA!3^=`mZ64ms0~3cOo@_msG< zu8x8r5CFGt-`?M-R%`#~Uu^I@Jr2~g0pO!|w(ohY)6~=yJZ-F2s<&%o0y8CWy+vUd)#shdD}1at=qVz z+UFsiDVhSr2M-?1nml>(U(1&-pEYOB9C3Pj`ry0Vds^=X++hRkH~jXr#+F-tCuRWl ziA192Xu`YL$V`$II-O1@kw|(C2E!oxglgJRYuI6l==nQn(~dcOP!YYigEno@}=;ktZvj{(r!G$|FLf(dZ>f6P%+t!-iWSPbElZ0#L>3zrp+m$Afc|YZgZw P00000NkvXXu0mjfvb!}s literal 0 HcmV?d00001 diff --git a/src/icons/svg/ruler_24px.svg b/src/icons/svg/ruler_24px.svg new file mode 100644 index 000000000..193483b08 --- /dev/null +++ b/src/icons/svg/ruler_24px.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 188ae060be7f031ae19201979aa03bb6345ce526 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 02:06:24 +0200 Subject: [PATCH 32/52] More icons converted --- src/icons/icons.qrc | 6 +- src/icons/images/move.png | Bin 576 -> 0 bytes src/icons/images/move_24px.png | Bin 0 -> 1011 bytes src/icons/images/move_24px@2x.png | Bin 0 -> 2075 bytes src/icons/images/ruler.png | Bin 609 -> 0 bytes src/icons/images/select.png | Bin 579 -> 0 bytes src/icons/images/select_24px.png | Bin 0 -> 1064 bytes src/icons/images/select_24px@2x.png | Bin 0 -> 2526 bytes src/icons/svg/move_24px.svg | 98 +++++++++++++++++++++ src/icons/svg/select_24px.svg | 97 ++++++++++++++++++++ src/laybasic/laybasic/layLayoutViewBase.cc | 4 +- 11 files changed, 201 insertions(+), 4 deletions(-) delete mode 100644 src/icons/images/move.png create mode 100644 src/icons/images/move_24px.png create mode 100644 src/icons/images/move_24px@2x.png delete mode 100644 src/icons/images/ruler.png delete mode 100644 src/icons/images/select.png create mode 100644 src/icons/images/select_24px.png create mode 100644 src/icons/images/select_24px@2x.png create mode 100644 src/icons/svg/move_24px.svg create mode 100644 src/icons/svg/select_24px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 94292e783..5aac1741e 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -121,7 +121,8 @@ images/m45_24px@2x.png images/m90_24px.png images/m90_24px@2x.png - images/move.png + images/move_24px.png + images/move_24px@2x.png images/move_simple_16px.png images/move_simple_16px@2x.png images/neutral_12px.png @@ -196,7 +197,8 @@ images/runthis_16px@2x.png images/save.png images/save_all.png - images/select.png + images/select_24px.png + images/select_24px@2x.png images/setup_16px.png images/setup_16px@2x.png images/singlestep_16px.png diff --git a/src/icons/images/move.png b/src/icons/images/move.png deleted file mode 100644 index 90e407843cac941d6088fe98de3826d0145e36d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmV-G0>AxWFU8GbZ8({Xk{QrNlj4iWF>9@00E>)L_t(Y$Gw&@Pr^_T z$A3jXfFFTx!02fE4IG?IjD+2pxYao6?(FWO4u-|#b#XQ>hRrZyP-@ba3dlK7;62(x zgWx62^}ToR|G#^^yH_YKHXw;!yV!uZt}B}$u>ny^iHL|&YON#&_(ax4GC6Yr3<7G;XnXD~30j zp7%o-1ll-)VFW(|0KBG;bMZ2bz^vGtE6F(9aiKk)iZo6{?rXU=s$NNbXlpKuR89ek z+|{O@TZa#sHipF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11As|H zK~zYItyXVn8+90derc^F)0!sDlGG#p&?2bJy3VGDjCKRTQV{HiieFMlH~cdc#vp=h zIC0ckM4>pXN1$09ei*4iiVXdr+q{AkVPgd)njrIoY|C^d*=U;FPwz}>=LDHeBYNV^HD;JGMwP-Y|b$55) zR8=)X(s8fJTNV};4hMt5d@L5z4Z|QwPEJnhe!u^AGMRjXGBuUZ$FdPnNNXm^6I7tqW95-)kVfn_b z80S`#x=70Q1tj;aAuuXcf_-&@pouD9-DCXf>5e9jR$y zRaGN_K%fwh$Bk<7>?U;tH7;Kz|IUy%e<815p%nD5jSKj+_=!VC!0#)lsu}?Rk;!D9 z9UdN@d+~+Q_IKWTvk8UP{-YTHP$>hY0zmzq)x*#My=-0sXgYu4!msa5y+8EVjcd;R zeUCe!7Xf_*&{hDw2xvuY*LOVeo$=MBYs+WmzkKQ6BKvn1;_n_dq@Zt|;(0ax^eOq{ zN8}G5l8aN6cDAjJ^R;U6*9MJ%&vUoPwQbtgT5Z#DlFwLXp5(GW05W*mNGMCG>&&HKe0KW+#7HucltdV`6P5dr|IB&)64e##Bj=%hBa%5!W zq!7XY08w|~TmYT`a774FtP%(z&hhN)H3bzTpMm6l8-Wu*4}c{h#7Z@1vz@^DEJ7elAhKbt4E*fY(gn-zUcH4Km#Y94>h?Tbe1B~gDC(@o8;LTcSokL zEgu{1)Q#CeGBL=>(JtNZb>E(!pN};>GHoR0(C_TXMF$?%q5~aTcPRM(41GJ&>GY7? hyDKaA?%LL8%Rd0w{D=5$361~&002ovPDHLkV1iBv-tqtd literal 0 HcmV?d00001 diff --git a/src/icons/images/move_24px@2x.png b/src/icons/images/move_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..64e7437ec13895c93f66d1bf40ed5e28b5e13cf4 GIT binary patch literal 2075 zcmV+$2;}#PP)NIVUH8UdAILZcUJA^zXG(gD1riAfm5b>fZf;MW? zY1yF2l&GUJ3lTN0d?BPeu`k%kS{Hb9Js_iV?bHhJ2yzu*3_zu-8I zu}zxzCw;Pf?!D)p^WA&TJ&%v*8vuakdV71T($doU)6&xVdwYAU0Q~Hmm}}Mn;Dwf! zmLpQB)Ja4jB1olDXG=@V5diA|u=$oTBmjs2Y^trTJs}p0$A}0jl?p1A3Pc34SUgr+ zTYCb)CIF)OmUjvOJOQ9+|Ni|3kw`Q_MA)!l14c(j;c~gKWy=;25rjgaXZP;iMgTO7)L}XEiHxD>je*v<4|5+4k7|$32$uq+j)A#o}F?A zyl!A(9B_{St|4ID35?wbM(zT`Uqy5V0{JNvib1E-xfj6Gq54i+0RU2t;|kZTSyN!M z*^(pHng{=;y{_qRKk^lrgw1A4&dA8v?D2TEA%yQVj*#yVEc|8J37ek z+jMnxg}iveJ$UeM!1)j0>p|fDE#Te&aQ6mq=L_Jg&!Xn{annI0CM*CEL95kvz~_oj zH9i0sfP%ey_nu^oaf~t4*VhA_7jGYUE8@xa{pQt>LgUM;z<>V={HG6Z?|wOQelKqZ zzA(a2`5FWQ2F4i5%gapw3gD0Im|ualb#-+=-??*Vp~vG9R#pC)oM&EX z&!;BSgW*xScI%8ZPRUpO2N>86buYJRWIXPV;Z?ejEn zUfTX<12wkykwhXH>g?=%mnoIX>({PbTdG?1Q|kE8K#2*WxDq;;=5o7fP1!N}_;0sK zsZ`#0c$xvf?e@l<&{Jq0HwBtwVOv|9++Z*)yK&PdzHxJaUR<9^44$~z`++ogJydk? zBWk%cKoW^$=;X2$h>7g^PBfm>GSN?(fj;wdl62Clpd^c@9yYkFb2kG+C>(48;bxGX|-CPE3rU?t`m{p!jrB<2%+)G zLEypx;C%G_&iyV2i3^0hE72b8N=(rLfS8Diva_?dx3#rBCrf&g977{~TVM=34U;kP zrK+%7fn`)g#ZUHR0y#$9v~JzH9*f1&NJPg1ojFm^pm6~D*4EaAD_5>u*wfRa3~JvO zYO*O_rN%a?zC`t<2jMAR7UiB5|L7-LR>K+w?M-u{6?p|FRVAS^<~ z0D-h9p-?F7-QC>=kx10U7;^@G)@|CBj1-IM!q`MW1(iOa-W+p3ErY01xND*sx zI>m0c7p`8tdYjE=OHLAt=+vt}rmSb43cF=^oV)HIP4(yG81;}`F8^0&XJ?~Ap?EJ` z3UO8y@GBu79veiKK58UEs}~yU=BaG`9Fwc(|3Otg^U0I002ovPDHLk FV1n;k^Tq%G literal 0 HcmV?d00001 diff --git a/src/icons/images/ruler.png b/src/icons/images/ruler.png deleted file mode 100644 index 5d6d268957f7bd4778dd8ba50a026776f5dac892..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 609 zcmV-n0-pVeP)WFU8GbZ8({Xk{QrNlj4iWF>9@00G5GL_t(Y$F-I}Xj4%X zhkuFL#jaw}$!zK1o?E(fRUF#Ep+W``92^?xQ14n49E!LUYcYeALN!nkX*p3SQYl4? zP)$KZEFIDWR00)hKZoa^zNV(nyw|h5H(b8oIUncpo|H^EN&I>yUQQDJdV!+|agwld z306zk*oBsmbWFJUkzu*)38}s=cd{uf<|N7DP7-LjF^VMY&Q+KhgvmTi=CNWfmaagH z8PwLWi6WBz!1sl?Oh;P0mphl0HkRbh91~N0((X>^VDH$Qlq6+3fqUTg6OwKvwbKUAae_50ZQnU6?c+@TWtHn9#>xSIf(WaS7EgTPp%~c-#Y=#EvU|cjlzTec<>f2yFcL5 zBD}l}GXovNb)Xi2+8VsR4|7*y!CNK(;M*p=djtz3Fx5wLUnVoy*@llVVDTnQUrYoZ v4w=0ND-%#IBnl6Q+!{C%_}-Aj{tSKs07Hi=IFng@00000NkvXXu0mjf^9Tn0 diff --git a/src/icons/images/select.png b/src/icons/images/select.png deleted file mode 100644 index 9a5611aac2e01e36dcc2e490e843722f200bccd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 579 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 literal 0 HcmV?d00001 diff --git a/src/icons/svg/move_24px.svg b/src/icons/svg/move_24px.svg new file mode 100644 index 000000000..ab191048e --- /dev/null +++ b/src/icons/svg/move_24px.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/select_24px.svg b/src/icons/svg/select_24px.svg new file mode 100644 index 000000000..d7a911032 --- /dev/null +++ b/src/icons/svg/select_24px.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/laybasic/laybasic/layLayoutViewBase.cc b/src/laybasic/laybasic/layLayoutViewBase.cc index 859156ca1..57c00aa38 100644 --- a/src/laybasic/laybasic/layLayoutViewBase.cc +++ b/src/laybasic/laybasic/layLayoutViewBase.cc @@ -5390,8 +5390,8 @@ unsigned int LayoutViewBase::intrinsic_mouse_modes (std::vector *descriptions) { if (descriptions) { - descriptions->push_back ("select\t" + tl::to_string (tr ("Select")) + "<:select.png>"); - descriptions->push_back ("move\t" + tl::to_string (tr ("Move")) + "<:move.png>"); + descriptions->push_back ("select\t" + tl::to_string (tr ("Select")) + "<:select_24px.png>"); + descriptions->push_back ("move\t" + tl::to_string (tr ("Move")) + "<:move_24px.png>"); } return 2; } From 2635ca06af2700a2dbb146a6a4c4948500d089a2 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 15:28:06 +0200 Subject: [PATCH 33/52] More icons turned into SVG --- src/edt/edt/edtPlugin.cc | 4 +- src/icons/icons.qrc | 12 +- src/icons/images/execmark.png | Bin 593 -> 0 bytes src/icons/images/execmark_16px.png | Bin 0 -> 434 bytes src/icons/images/execmark_16px@2x.png | Bin 0 -> 706 bytes src/icons/images/instance.png | Bin 918 -> 0 bytes src/icons/images/instance_24px.png | Bin 0 -> 740 bytes src/icons/images/instance_24px@2x.png | Bin 0 -> 1378 bytes src/icons/images/techs.png | Bin 1603 -> 0 bytes src/icons/images/techs_24px.png | Bin 0 -> 1458 bytes src/icons/images/techs_24px@2x.png | Bin 0 -> 3591 bytes src/icons/images/text.png | Bin 407 -> 0 bytes src/icons/images/text_24px.png | Bin 0 -> 648 bytes src/icons/images/text_24px@2x.png | Bin 0 -> 1399 bytes src/icons/svg/execmark_16px.svg | 109 +++ src/icons/svg/instance_24px.svg | 130 ++++ src/icons/svg/techs_24px.svg | 124 ++++ src/icons/svg/text_24px.svg | 126 ++++ src/lay/lay/SearchReplaceDialog.ui | 949 ++++++++++++------------- src/lay/lay/lay.pro | 1 + src/lay/lay/layMacroEditorPage.cc | 2 +- src/lay/lay/layTechnologyController.cc | 2 +- 22 files changed, 969 insertions(+), 490 deletions(-) delete mode 100644 src/icons/images/execmark.png create mode 100644 src/icons/images/execmark_16px.png create mode 100644 src/icons/images/execmark_16px@2x.png delete mode 100644 src/icons/images/instance.png create mode 100644 src/icons/images/instance_24px.png create mode 100644 src/icons/images/instance_24px@2x.png delete mode 100644 src/icons/images/techs.png create mode 100644 src/icons/images/techs_24px.png create mode 100644 src/icons/images/techs_24px@2x.png delete mode 100644 src/icons/images/text.png create mode 100644 src/icons/images/text_24px.png create mode 100644 src/icons/images/text_24px@2x.png create mode 100644 src/icons/svg/execmark_16px.svg create mode 100644 src/icons/svg/instance_24px.svg create mode 100644 src/icons/svg/techs_24px.svg create mode 100644 src/icons/svg/text_24px.svg diff --git a/src/edt/edt/edtPlugin.cc b/src/edt/edt/edtPlugin.cc index 10416a756..8df9edfa7 100644 --- a/src/edt/edt/edtPlugin.cc +++ b/src/edt/edt/edtPlugin.cc @@ -271,7 +271,7 @@ static tl::RegisteredClass config_decl2 ( "edt::Service(Boxes)" ); static tl::RegisteredClass config_decl3 ( - new edt::PluginDeclaration (tl::to_string (tr ("Texts")), "text:edit_mode\t" + tl::to_string (tr ("Text")) + "\t<:text.png>" + tl::to_string (tr ("{Create a text object}")), &get_text_options, &get_text_editor_options_pages), + new edt::PluginDeclaration (tl::to_string (tr ("Texts")), "text:edit_mode\t" + tl::to_string (tr ("Text")) + "\t<:text_24px.png>" + tl::to_string (tr ("{Create a text object}")), &get_text_options, &get_text_editor_options_pages), 4012, "edt::Service(Texts)" ); @@ -281,7 +281,7 @@ static tl::RegisteredClass config_decl4 ( "edt::Service(Paths)" ); static tl::RegisteredClass config_decl5 ( - new edt::PluginDeclaration (tl::to_string (tr ("Instances")), "instance:edit_mode\t" + tl::to_string (tr ("Instance")) + "\t<:instance.png>" + tl::to_string (tr ("{Create a cell instance}")), &get_inst_options, &get_inst_editor_options_pages), + new edt::PluginDeclaration (tl::to_string (tr ("Instances")), "instance:edit_mode\t" + tl::to_string (tr ("Instance")) + "\t<:instance_24px.png>" + tl::to_string (tr ("{Create a cell instance}")), &get_inst_options, &get_inst_editor_options_pages), 4020, "edt::Service(CellInstances)" ); diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 5aac1741e..268b16e74 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -75,7 +75,8 @@ images/down_16px@2x.png images/downdown_16px.png images/downdown_16px@2x.png - images/execmark.png + images/execmark_16px.png + images/execmark_16px@2x.png images/find_16px.png images/find_16px@2x.png images/fliph_16px.png @@ -101,7 +102,8 @@ images/import.png images/important_16px.png images/important_16px@2x.png - images/instance.png + images/instance_24px.png + images/instance_24px@2x.png images/invert_16px.png images/invert_16px@2x.png images/lb_31px.png @@ -205,8 +207,10 @@ images/singlestep_16px@2x.png images/stop_16px.png images/stop_16px@2x.png - images/techs.png - images/text.png + images/techs_24px.png + images/techs_24px@2x.png + images/text_24px.png + images/text_24px@2x.png images/textdocumenticon_16px.png images/textdocumenticon_16px@2x.png images/unchecked_16px.png diff --git a/src/icons/images/execmark.png b/src/icons/images/execmark.png deleted file mode 100644 index 496dbf1404804578b7ca9df896d0f22a7a827372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 593 zcmV-X0Px#24YJ`L;z6$(Ew8Q9x~ei000SaNLh0L01FQQ01FQRlKBIr00007bV*G`2ipu6 z6)!e>SO^3F0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0004~ zNkl?aW?0HgcD4SF!X+e~6;RDQ-Ni1O+RTQtVP%Yip5C{01Vn z2S>IN6a%Ml-F<;0>2l4%g`L1!WH;<4>&ZQM#mw;gzc>Gx2P@I*cDYK(>PElcudL6e z)9hk46M!g+7z_rLbFG8#_&&WL;N8|1!zAHaqmcoO$K$mET86Ky(hC9}2LZPl4SZ{v zOeU9#Xu0z9%}s7@Y+#MS8jCd+fSr#!|Lr8ZEFXS(lywfCWMLR)y>2%v7d3@K`)zyS zss|?U@tYRYwD?Vn8bv%|_uDSRmkGIuteFU)s;DQ3QPf+2;*pCecMtC|OcKtf)2vni zqo@(oBZoClLCo5#*K|;VG>60p;tA>rqy1lW;+XALODZ0md^-8(Z`(h7iWp_|Y(yuH zxtPslyJ$FfQ~+LC%MEK6J|LhFz5kGjfj=*fmT(kB)hiU=^T0Vy(-h|%ZtifY1K{}e z@e;nB!v(YS;HdqZbKvWI&i6FsGHeFTs^zy8rnBKi~YQ9j3xC fR^ZyW>Nx)eaM6|9K$0c?00000NkvXXu0mjfWyStj diff --git a/src/icons/images/execmark_16px.png b/src/icons/images/execmark_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc438f679adeab299f1d94657cd981062fa6c90 GIT binary patch literal 434 zcmV;j0ZsmiP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10Y6DZ zK~y-6rISBP!%!5(&wC_DU$As33YH8mc2Hb&m#Wa!3jSGD(BL8gJCxX@b1bD>LF`x1 zPteZd;_Rpn{Q@1#kmJy%QfX7$UU=N)zTZ8UdoC~`NJ^3mlj_EOUdyg$->cPXjifOP zU;PN>F%v-^}!_}L>B-w0INcX z_9QjSn@h;o^16HDT2ji8q$7mrYEeO|n1WIYhEh<5(aTD~Fn$$hwpVcYaG;kj%hzET zN|GgQWV@KiY-MoVJkq^0&yrGxa$3M3*h^C@_nj7hoPM&v#6H cNbEWP0G(x|>dGMej{pDw07*qoM6N<$f|TgGfB*mh literal 0 HcmV?d00001 diff --git a/src/icons/images/execmark_16px@2x.png b/src/icons/images/execmark_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5db7fedfd25a1d521a355523e51a4abce5aeca85 GIT binary patch literal 706 zcmV;z0zLhSP)(0Ec&l!PqHJDR3FAfhXSe9sEN5&!}~k|Y)K`TSEyA&dY3NEF3lCX;zi zL}AAPeCK@5Ct(DbPTeH`d4FdTeIW)~ghsi1E=;XVA#fo8UDwAVk;uJlHapj^9JT=f zfZOlF)fX~?7lTHKc&{WzfL4??LAY`KOOQfQ)Ui#h@T0H@D* zF`t@;6q2Cp`j{-scQs9$a}3}(buGeS>1VlyWGsmvS^=UcmQ+=J8w!P19Ra9SYIr}p zhQgi>Q4~w*boxy=9Dc_b+Z{SUtx{`l!%p)oU{ZpkWFU8GbZ8({Xk{QrNlj4iWF>9@00R0+L_t(Y$JJF`NEBfd zJ-a)z&Wsg>X;KlACW(}&wMc5j29i=}h)O7h{k{3n9}yNJL2tbj1hvo~F0SE&VFiXr zx(_DRW~2mWD;gMDO0uOhyEA)xn3>%fb=_VH{NOS(=Yw;;d%ipO0;_#l4Da+WxEUit zv`B-(KsW@*K|l!tie&hfG;C>DvW`Y5n3(#c07_^@qDaU=AZ&OV*75=m4;T`)01OAP zJiutd@@7nbCahBhV+#bn0rKxsLO<9r5utKq# zjkJP*5{jO{Vg*FzHh|?&b!*VuJ}_AW0M+|5d)ls5IKlAQV0rA!%z&L+(_4MTm0nVq zmkgE%0^$+@t2qNv6|i$~zn<=IADArCc0RisD_F3C>bDla!6@R|dmI2kA+=0r+0pkpeb zP9#LL&@*9pz^+>)#uJc`m?+E|P*Jr(Betu=-{-^+F3+=J|KyAxc0m=E#W(_r>S1y2 zj&1;ohNdYt&TICb$EiyGXR+tBp9^JQPg)ywDZCU4r31C|GDT(rz%wKw|IK{WJ)=*=CX_xI^crSma>5v`Sv z0O$rV0idhvsi%YHXNf`!MBy+I5m9S7QA;TqTfb=@(2z&1V^U0wZD?%D^>ylJs*UBt z4u@mw`lOBdk$uJ<5B!WZ26#xJL07*qoM6N<$f)tUJ+W-In diff --git a/src/icons/images/instance_24px.png b/src/icons/images/instance_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..820f79c650cdc3bf64494a82806bfc438a5a30e8 GIT binary patch literal 740 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10&z)1 zK~zYIwUu2+6j2n%e>*c~uDZ66n31eS6h>G^S)`E_x%8F~A`}$%AwdsOR1nci4-o|$ zi)9aiJ_vmnR1i@?x=Cb9Mm?1IkPowB^hH6fh_1U$5A(6JJF}z3bYYl#=brmN=luWY zo`L^7JOGNKR05SQW6K_oM@Dnd04Q!g8YYt2rP9+3f&@aI`W8)d{kte-+Su57YFZ6U zAtNalz!5TH&dk6t+7X7-6eJUnN~m-Fopf01PIEiZqR9f6WtmV%CyycnjD7k_NwJp& z^ZnG@}PAp5@K^5j7~$N>P>u8bum-EGE-@;281o3D&Q!;=;*Rd<7z+lBBMBG1t$vspo!A zt3laNWFxXR&;OOo~e1!!7bU%1uiTqCg z5EpL`QeHAg(_psuKm!Vt`RF-+kYaB>(RVT@+VAo6SDe)JB)zXjIC3?@nU*zF_@#en z6`G*I+NHehK2GRHANQXRbLDOnf6-h5rA1uYzkyx#6{>AAk*>m=4n*@kNDCM!^%6eZ z2!}RX1=hiHv$EPXPYYn^PkAAp*xTjMcLvqw(K&V{rCeX WU1{8xc1^SZ0000i~~KViDklS0(v{fFJ!%7o09P z+#_S~%y}{A^?{-&Sj-tHDa^TixV-|0_cfrou^MScIu;Fb0yR58 z3QK|f^vs`VKGcTcpMDX%!nUUY?MI%$4r>{}GT_+T7@e5J+h;D~p!00bU+TkY8L3!G8E<5&6ctYIL@>C<^wdeK!t0RnOzkN{CpmDkLM~ zQ}3UHd*o*kw6m=h6vxJ`HjblDf~J=mVpiy|$||ICB^HY~6kI@e?;Qi;AqSO%kqc5HKp^ZasU9^&MiWW%2qL(mQ-zgo zS#~8P#95eUhWn#-)NH#~0C)5az}9gN-;ezPj){_InFxl)r_j{#1^T{;ettIBZN_W% zDp8r%PsD;&LVATQ$}{8Y=@U5h`4x1ZzXFdp006k)n!p9u1X7GNax?G3tw0#T#Rvev zWTeqML6$Xlkl!jJ9{jNlu_8>il#;eaY;KhA4xHR+|E?@f{?ujYf@CI<#6xKeScFcY(r&m+q~E9_@ja z-8z-6g!;WviUy2Eac+{1lI2gYXSGLQg?FFhJ*(Y;HAG&QR$?{DCsKvv{*zj3ChyvR k#6%Gw|A$?-b^D*&KduZ5pdL*TBme*a07*qoM6N<$g45i9&j0`b literal 0 HcmV?d00001 diff --git a/src/icons/images/techs.png b/src/icons/images/techs.png deleted file mode 100644 index 6762d44699a70ba9748214a895ad515f7839dfa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1603 zcmV-J2E6%+P)Px#24YJ`L;(K)o&Y_Z!lf7h000SaNLh0L01FTR01FTSts}j400007bV*G`2iyZ1 z6bLm`Y5rIM0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z000G= zNklw-$MZmjf6YJ(CXUMhhD zQW{Y{1g!w^!V5wL9+0pTS$rfCl>!nmswi$_5<;2^Q9BKg7{{$!sR~ZlvD4sqyR)9% zoqKqg^`@vv;7a#pG`he4Ip=@wxr)22!NI}J)6>(3eBa-rl*$D`0D$Yd0Ovi=8_#C5 zM~)snI(Mft)a^bVJb18ua&q$dAP9Cp*3(kln{kreZHkl~0hUdiOA9t*Z<@*rlXEfG zb^nyh<(?cF87cfvz`(%3fkL71i>LA%t6#}gwV+T4#FCg;5C?ZwBOss8KexEJ`0SadH>s9*1!Xyy)*h_pEf8A+I*#Zjlum$~M3xJ% za0#V^1>feuXO2rtOUsYWo;~}m4*}}Re}4WO8%mk(4A>6X z9>fw+ByI}aG>XrH^s&bS4pLv{om zmFsR(QSt0pv>lg?tsD5cn0n5g6G+#S(AgYs!Oj$+KeNQi? zQmNAkf`F7AP}A#hvr*2aL%jUH==8@G1dNYx$Y!{r>sCA>QL}ZnPtym;RDQpEdmzQx}7YjIlX+DH-C2F2{3gT&S*FrpU z&y7G+twm|;*t)rXZ8U)s^#G3dUp25DhpDM4QmN#u<$2!t*sN7SCkU1bNGx6N(#V3u zo0)jy+N}cjZiiShg2WOL$d1&DF_^%|(k|oUClMo~RyLbG^1|zd7}`T$zle&b>&okp z_*y0|Uugh7*>_+4sz^p4-4x|sDU@YV3qwSN6DLO5*3mHpz>Xa|P7gn`Ph|XAS(*NW z$a`;zEY8TxUw$uj<21IVle`$d~o;nrfzJ6Vb2vQ5MV;=MK z^9&z8OlKyu_d|mwo6Q>k)t`#|<5v>A`%jT-SxluQQe6?LRYXkKP%I*1!cas+s^y}X zT1`r&l5}--$-uzCf!of{d_MnNHk&oqUOgr<`;t_zOh~nOT|T&sxkU(9d_w)Ooc$A0s?4i5&UXtl`D555snwnyK{3It%jIv?<`pM2rX7B$s z^l$fUu`Fv}sZ{Fx;Ik!_O3sRr(QO?aLw9?&{0D<`pLw0KO$`75002ovPDHLkV1j#w B0J;DG diff --git a/src/icons/images/techs_24px.png b/src/icons/images/techs_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..9a73ce28ff8345d25473a48db167c821ec511dbf GIT binary patch literal 1458 zcmV;j1x@;iP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11wTnd zK~zYIm6K^qR96^=-*fM5Fyjao+*+^}6mT3X;x>v>1yQUPLqbYzLu(|i5fV&Vlcv=g ztD$vETGE9oiE)9Z211R3BwC%SU9<>w0d-`M3JL=Zh``L9nYTYcgH|lQe@@QwJx_AZ zcYr~JWY9C#h7YFpc~GOxW{c0x&fb@jl5&n@=4W@aJDStR3X`+Iacoky$HdPj~Jp)}vAVcnGr3=Vp!i{zAnII4bEA^_-x5S=9bOG-*& zBuQdhTbnSO&8V)fmII6iNM0A*-5pY(UV{r)YT@yEL{U*uJjv@qi0;0(X%<2d0K_AK z!{L~gk&&@0Iy(BYpPwJLZ{NOp^XAQ}tgI|a_&h-CEx_FYKmue9AgSPUKg3r*9P(}1 zlkZu-A@h*K;TUSKy*=jOp~Gu}gM%+V7Le3tWMuqUQBkp2qtSRPD=XE-#l=!$;sU^a z8mPa}3)LC{jj?ys8UaZK^f+UeD=Sl5EEXt=0<~HNT>KtzT<-%8c}mbX_bEX0b->dNDBU>mYbD;^Qs};M>-Mry zqeh*0bpN5Lsi~(UBO_f7hl3=^Yei)73L5;>oE9;f3Dd?=2tiqr7;kxG5b-B5@WVe$%nobt4U|QUG^3*5fxi6@a zB^vy7WX&dCX8bI;m%TBgTTlN|GiEA?~8EiEm>;$}|=?*0yVx&Q!a zaS;Qy^753VzDg~iAAy8P!%=6qj|MRG2?5EF($dm}Ee?l&=*U38S@#%{YcFhF_O+aWI+XC2_~MEcACF*PJov-BIg9zcr< z!2QsW(0iM=eK}-i^aOdq>}X7je7U#p2OH%faQ6=!zxWReF19H*o4ODZGWI@zCY2E4 z!I2|J3d+mNr~GoMdUSq4@uZsLUu&eGD8PApaDr<`;p^!@W}#h~61(Wk+*xC5Ef&iS zAwO*{2_8HkWRbWp6jo(+)@)K=;&7mQ}!=b3mOH05NIH zW%rWh>k4=5*pc3!r|Lf;8Jw6ff8MHO3uI3hTwR?|LxJRe0Jxoiqy>ZoxY~hM8+={` ztq&Ch8Pv#{KT@4r@>3kiu|kO2X9{|HdQ8`@U43=ND<<*h-#78@j-M4DecZ4xT%BMV zCQPH$fYObch7KIBY-R45CZ)OECGGnlTyAK0v+=$&u&JqO9DrIpD`h*pbb+K{Ftz{bqUT6V00IFJK)Vp)%3$jL1*fH*4=?|~f&c&j M07*qoM6N<$f?htmF8}}l literal 0 HcmV?d00001 diff --git a/src/icons/images/techs_24px@2x.png b/src/icons/images/techs_24px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..84163531faabde346f61c34840263a5c42268e43 GIT binary patch literal 3591 zcmV+i4*2njP)ZYUZj!tK;Cleqgbl z-5nVjnJ1UaTLCa6B&5V@wZ2KRUoZWF3JMCgs#K~*0QB_qY>SMH%u7v8-AyvVHKz3E zAfUf|`Es(qzkekF0-z9r3Wb6IxP1BY6C_{g)<7)IA~$c|OoPF|BS((V_0ID3*I(}-xsqfe$+t{e- zwKNp}H_LA1G4ZXH1VDvC(L(ZH9yxdy0nh5{>OTXZmzNhi%ff{V34lI6J|>+`SLf;J zX_3if7L7*JAeBn(0C+fkFWFo}HdgR*&X)whL4yWWkzDb!5O9(Bqlbrw6#&g-`I@b~ve;A477;6TNlGE`MmVC<*}z;1OGhZSXIWdH!RT5Sg4 zLsBDzsDBV5-9gGoMvzo=dmq}|+?+Uf?%Zsb+2f^4m)KJrq|HKFn#tA%(p*C}R+0?{ z(s+xkEh4K6xN-H0b|c`JJ$rVJ(P&&ta%iXdBqRe|7OGdj(U%6MXJ%&pYV_#Q^(2b{ z+yG!MDJhAaGG$6!X=!PIR4T=qHER$N5z&pk18~>?hZV59o?ZU#sC(fJ_N^C;-q!!b#}-_gC;z{GV~FtP%kM0Tr`m&AODEn;TqMSQu{<7|2LPB1!1a?rQ#l}&JBvsA z)3fVusT`2GcBakZ*2?X&JD9pC5jPE0UFK7I$P ze+~`~eyg;!^s$tb6vW5JyBk`qR+vmC=yW>g3rjO_@dKc~wD(p1Aq{k{bJ&6U62R8d z>p6kLiXESw#mbap2n-CYC@CpPl1L;w+O^PG0};oM9}g=nEqx3C)M|B?MU%;79pD{y z;QS7twy&7&K1AjPXdichwz$l!>*=t-Zf(W)g$4jXWo5;H+}zwC0AW4GA=!`QtBV&e z{t^JCQYrWC+t<5^{B9?CcoBJYS)Wep#}?KUlJzB|;TtmdujIEo$ee#8v$xWkxseN> z8|4mB-h1!8JtXJ3b_;+`W>g5#Lh_Tev@}UmQXD zz8yJoWEB96A3q)vIGp>_cnhd0=&}9uT4j%S_Y%FIZ_k%1f56iluv?(?1SXGkTD$V{ zawUMOo*jB2;F7`T&YcSefaji_<~mdsp!|HVjs11r_f5cm(16}6G(+6;&58^H0Ay!p z4*?L|Tl2mM=t@gV2Liw|PmS*&P<^#W!@Bfk2oKcWH-TS-g`lo5yJv-Zh}#;Cd%QmY zprWEe2SD?q2$0kOP&YO}~5&-)9cz0-^wc);j-nV$F+`eF- z%89kUzFs|a=+M_vQc_j{h$s1Edvq#sfnS!HnfYdPbo3jcp`mZ=-o5)dyWK7gA2t*k zrJ{qt{V((b2%U2|Ebx&7>wi5QTBQud#l=Ah2?+~>f`Z*=+XueE)95%zU;Zj_(}H%hiCT@zD}6*SIubbBEk2nFFhT z6@Y2O)fm6wduX*<6M#mb;|!R5eSI4Mz|z*zYfJ*W1<(XNTJQi+eWi;AV7EFW006h{ zwgLcjI$Z+*Q)dFzVPRnv0C3{u8I+e9U~6mXIZ*$QM^C_T!98bLO%pDbm~gtlhy%HI zvFDuAmxYIi-vLkwbi_g>)2B}_J#gRvKK|5Mgb*0$t3{x{A5MRo44-~-XXL2T1LnF% z1HL*RFqHsy8)_R{5%z~%m@W1m&8AJ8b{jxxX9Bn9&!1oV{`>D2)z#IhOeT}6v9Zy+ z@@}oDyjzP8_WT`dmd$gX1^rmy=IKX(p1{?;&ebQeGphn-iybPJs@dP)ze=f8wyIRB z7L`iXI&a>*+W^Yk1cVS)l9`t;UoHfo0-$VdZS~o@b?fl;>(|Goq#Z`W!WocDh4Wsk z9t<>AK3x38r+}Jk004`Pc>l~D0Koe7>px$$YE>411^_JpS^*e^5EeH97m2UCtOx0_ zcJ11gAAR)EFU!ix2K^=VGyLh*7o3(sI}EV40JhdH7;JV2ZdcWzxS|mbhdbg$Ynv5k zzPW;-Lk1%-AfTuFuPXvB?{WX!aHIs~#y05n`l^J4gi8QE?tBmKEPcg75JK1_63IW_ ze*5i{LI`g9;1K?CG0&Zpf_8}WOmvc!@18)&f+R#I{0&xH$9xSH~LF)>Sz9Xs|+;6N>| z9asl1PvM-cy|V`sxD!X`L@H z-Q@>Ui$VyJtQ;_4KobDyeO2(1p{t{5&n&RdIeLn*7`Sl~FqQSFdVZ`g&K5SHyu92O zK))XXe@_A=mG$-Y6Am6cI1vEWEs1tHwNBZC_ATYG0X8!rkpps-laTOmy>A1|7Qj^Q zOaz$k_BrR$$$D%&Qi`IYqTv1e_m3tSDulTHKm-6hy=Kjt2_}FdzTM~zs8v;2-iD}LvHSc5d{SWzaXg>LR9pIv(H0J zQsrxZQ4lWAWm}UrMD?TfcsamMvSh>?gU@mE!s7LQ+aH zIwvP*TVi73A(HVVgSxd*lYA*UI{G{SZkiYDCXk&th5+d2=XaOn?_FPcx-Zg8>FMb^ zb8>RFxfbT(e{v-`l;jMOo_*Ah+OT26X8<^DxQ1;XPG;+ezvSv!fds&rGiQE7a_$d| z|0Ky?)A~P)kW}aA=O=YO51q^Q?b|;gIsAVO;ExfKE5pLVZmLwOMh_1Ut4t=ds?}cdx@v7EBg&rSuqx=oBh{wfI_k*t`Q~9`MJ5Nc_j?aMX8A;sVNHO znI#ztAsML(?w-B@?^9IsfC_(mx;Tb-9DjSo+Ka_e;Mm9e>yi|HobWx!j{AQU2>s)Hn9q>bSnqWxufMqHrXTpHXX?B^y!V71#CPw1l^*`|+pa*~)P464#=gn- wzW1Pdfo#t4sHfXj-mdKI;Vst0MWjsFaQ7m diff --git a/src/icons/images/text_24px.png b/src/icons/images/text_24px.png new file mode 100644 index 0000000000000000000000000000000000000000..199cdead430a2afaff96e7d3a3d3d18d9faf4394 GIT binary patch literal 648 zcmV;30(bq1P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10u@O_ zK~zYI)s(@DQc)DfzgynNX!tO7<3gkeERcjYy`h;(XfxWPZ7tn|4Ek{8N{DdtmM&%~ z^ar#RT1k&^RrG93$QD9KfxIR(8H{G|YcUQu;P}+s%-P+;Ip_Bs&bbG;=q8p;ASnSn zoaEMp5Qp>PT`P!sQYaLj0f1o`#{g<8)R=7~ZGY#iD)lj$OxlW~{3R(`t(F&n_rCxnZ`NwH%|@efy<9H82SA_CHw1uo zyRA9_=C(&tj>qGjOeXVKN_mt@rIG+J8jUsppwsE7aF~PBKe%5k7Po@I;J`2p^VFHk zTgZcK9Sr#uhz_4MDhWE zZ2)5cmjMvK8vs54n>bmHKL9o+F>i$s?-mA}18q({<3fn>B6*9fsURr;KnM|=_Ae^V z3D6|j%x1GcrIgfl-9GiL4FG^rO4jRjDvH7r_Zk5to4T&sQcC9Y`So@%4Z=h@$%U`* iGUpm3KQFE9!rMP2N(V%N6T(OU0000v*}LUQ{3vu>r3oV*aL-(#;t6g$NLlBA^~{ByL53Z5gqlcYyzbh}eM!z~S@xT&=CG+heg_rNiAc-Ut5@4C7K;u@dwYAE zh_r}EX}aTQv;rcs4cHS52D2_-zFep4x&rX~{RIh%TMB&dbYt(%9H|*T@M5 zgKJZOh-9(&^f`6v)VrZj$bS0t>AO``Rg*?uI2^X?x(<*pB5CDdb_EUs&aSSm;_mM5 zw@OP(f4_3&N}tE$2^&eVSj_78`||)Rke5zC(*%e}A#hOFbi~s?g-ZmCkB^%&m8LB~M6!Xy01XWdwc&6$U(>Yi z($dn1F^1FW{Kx1Q2n0;2Kvp`=3A_Vr@cDeMo}Qll#l^*c?c29++UN7Rj3lL$7_ZIz z8b3Egq*z3n7Zw&iFDoni6_Ax4ZnyhUVnte?P7di-pboH}J9qBQv9YnuH8nLqoH%h} zXgT7&d-t~7xpSu`d2QC$__+m$$R1$Z$jC_U?c2BCD<~)kcXV`gmz0!5m*a2TxN+Vn zAQTF{cmX1k3v2<3SX^z=(9rPy+}vDVOG}F{k^Ijo`P$Uw`2?PQ* zm&=8SQ~+a2slPKOKtwhHp8`3_du?rPW%uvjuh_L~*XYHI7n7~C8JJI;f0E>TJf6oE zi$#(@H2?zx0}hwVH4S_SEQrXLN~z(D2mn3+a&FwXQQp_rS28*}TGZRy>j6|e9=F!l z*B_{?tPE(HHVRY%B|y%#Yu9!R4-Y$o!C;=%YK`l<{xs&LOP3CGc6Lq_6&1}jH#ZLh z)xfF*taw*KM9u^GPN(y;P$=ZE*=$dHJsyu+qS2^r@7}#X_4oI80KWjQ1GfD9{PVN3 zv#;80wy4!=U9y!DkH@XiXf)gDbk0mqPqzZIN~te0CE#PgvqE||uoc+3nq+`JrPNoe zaafIjT;Le6gT>Y}&Nf!S1_XgY;9C|~na6aQ) zoY|B#YMQobetup7eFol-Cd4%dBJ$99G&VN=Ny^Go)3m8no>}qJo`sUhr1txR2M^G7 zo$Bi9RQ^DMzbD<;klDRaL`-S(%p$clG)m+Z^l|EZKNg^i9`mBBD`MjR3s7^ zShMdyDpKExWY4qyC0-t8>`E*P!;{Y_{`VDF$2wki{0j}kYTJzQ+a>@2002ovPDHLk FV1g|2nl1nU literal 0 HcmV?d00001 diff --git a/src/icons/svg/execmark_16px.svg b/src/icons/svg/execmark_16px.svg new file mode 100644 index 000000000..54ff4ca7a --- /dev/null +++ b/src/icons/svg/execmark_16px.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/instance_24px.svg b/src/icons/svg/instance_24px.svg new file mode 100644 index 000000000..fb697b4d9 --- /dev/null +++ b/src/icons/svg/instance_24px.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + C + + diff --git a/src/icons/svg/techs_24px.svg b/src/icons/svg/techs_24px.svg new file mode 100644 index 000000000..cc80812a9 --- /dev/null +++ b/src/icons/svg/techs_24px.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + T + + diff --git a/src/icons/svg/text_24px.svg b/src/icons/svg/text_24px.svg new file mode 100644 index 000000000..6586435fe --- /dev/null +++ b/src/icons/svg/text_24px.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + A + + + + + + A + + diff --git a/src/lay/lay/SearchReplaceDialog.ui b/src/lay/lay/SearchReplaceDialog.ui index e54cda3d3..21db4a07c 100644 --- a/src/lay/lay/SearchReplaceDialog.ui +++ b/src/lay/lay/SearchReplaceDialog.ui @@ -1,7 +1,8 @@ - + + SearchReplaceDialog - - + + 0 0 @@ -9,65 +10,63 @@ 590 - + Search and Replace - - - 9 - - + + 6 + + 9 + - - - - 5 - 5 + + + 0 1 - + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - - + + Qt::Horizontal - - + + 3 - - + + Find - - + + 9 - + 6 - + - + Qt::Vertical - + 20 40 @@ -75,81 +74,77 @@ - - - - <html><body>You can do much more with custom queries.<br/><a href="int:/about/custom_queries.xml">Click here for details</a>.</body></html> + + + + <html><body>You can do much more with custom queries.<br/><a href="int:/about/custom_queries.xml">Click here for details</a>.</body></html> - + true - - - + + + With ... - - - - + + + + - - - - - 5 - 0 + + + + 1 0 - - - + + + In ... - - - - - 7 - 0 + + + + 0 0 - - - + + + Object - - - - 0 - - + + + 6 + + 0 + - + Qt::Horizontal - + 40 20 @@ -158,46 +153,45 @@ - - - - 1 - 0 + + + 0 0 - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Find all</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Find all</p></body></html> - + Find - - :/run.png + + + :/run.png:/run.png - + true - + false - + - + Qt::Vertical - + QSizePolicy::Fixed - + 20 20 @@ -207,33 +201,33 @@ p, li { white-space: pre-wrap; } - - + + Delete - - + + 9 - + 6 - - - - <html><body>You can do much more with custom queries. <br/><a href="int:/about/custom_queries.xml">Click here for details</a>.</body></html> + + + + <html><body>You can do much more with custom queries. <br/><a href="int:/about/custom_queries.xml">Click here for details</a>.</body></html> - + true - + - + Qt::Vertical - + 311 40 @@ -241,20 +235,20 @@ p, li { white-space: pre-wrap; } - - - - 0 - - + + + 6 + + 0 + - + Qt::Horizontal - + 20 20 @@ -263,86 +257,84 @@ p, li { white-space: pre-wrap; } - - + + Delete All - - :/runthis.png + + + :/runthis.png:/runthis.png - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Find all</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Find all</p></body></html> - + Select + Delete - - :/run.png + + + :/run.png:/run.png - + true - + false - - - + + + Object - - - - - 5 - 0 + + + + 1 0 - - - + + + In ... - - - - - 7 - 0 + + + + 0 0 - + - + Qt::Vertical - + QSizePolicy::Fixed - + 20 20 @@ -350,89 +342,87 @@ p, li { white-space: pre-wrap; } - - - - + + + + - - - + + + With ... - - + + Replace - - + + 9 - + 6 - - - - <html><body>You can do much more with custom queries. <br/><a href="int:/about/custom_queries.xml">Click here for details</a>.</body></html> + + + + <html><body>You can do much more with custom queries. <br/><a href="int:/about/custom_queries.xml">Click here for details</a>.</body></html> - + true - - - - - 5 - 0 + + + + 0 0 - - - + + + In ... - - - + + + Object - - - + + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - + Qt::Horizontal - + 40 20 @@ -441,33 +431,35 @@ p, li { white-space: pre-wrap; } - - + + Replace All - - :/runthis.png + + + :/runthis.png:/runthis.png - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Execute and ask on each action</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Execute and ask on each action</p></body></html> - + Select + Replace - - :/run.png + + + :/run.png:/run.png - + true - + false @@ -475,27 +467,25 @@ p, li { white-space: pre-wrap; } - - - - - 7 - 0 + + + + 1 0 - + - + Qt::Vertical - + QSizePolicy::Fixed - + 20 20 @@ -503,43 +493,41 @@ p, li { white-space: pre-wrap; } - - - + + + With ... - - - - - 5 - 5 + + + + 0 1 - - + + - - - + + + Replace ... - + - + Qt::Vertical - + QSizePolicy::Fixed - + 20 20 @@ -547,53 +535,51 @@ p, li { white-space: pre-wrap; } - - - - - 5 - 5 + + + + 0 0 - - + + - - + + Custom - - + + 9 - + 6 - - - + + + Saved - - - + + + Recent - + - + Qt::Vertical - + 20 20 @@ -601,41 +587,41 @@ p, li { white-space: pre-wrap; } - - - + + + Qt::Horizontal - - - - <html><body>Query (Search/Action) - <a href="int:/about/custom_queries.xml">Click here for details</a></body></html> + + + + <html><body>Query (Search/Action) - <a href="int:/about/custom_queries.xml">Click here for details</a></body></html> - - - + + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - + Qt::Horizontal - + 40 20 @@ -644,23 +630,24 @@ p, li { white-space: pre-wrap; } - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Execute and ask on each action</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Execute and ask on each action</p></body></html> - + Execute - - :/run.png + + + :/run.png:/run.png - + true - + false @@ -668,12 +655,12 @@ p, li { white-space: pre-wrap; } - + - + Qt::Vertical - + 16 20 @@ -681,66 +668,63 @@ p, li { white-space: pre-wrap; } - - - - - 5 - 0 + + + + 1 0 - - - - - 13 - 5 + + + + 0 0 - + QFrame::NoFrame - + QFrame::Raised - - + + 0 - + 6 - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save current query to list</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save current query to list</p></body></html> - + Save - - :/add_16px.png + + + :/add_16px.png:/add_16px.png - + true - + - + Qt::Vertical - + 20 20 @@ -748,72 +732,75 @@ p, li { white-space: pre-wrap; } - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rename saved query</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rename saved query</p></body></html> - + ... - - :/rename.png + + + :/rename.png:/rename.png - + true - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Remove from list</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Remove from list</p></body></html> - + ... - - :/clear_16px.png + + + :/clear_16px.png:/clear_16px.png - + true - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Replace with current query</p></body></html> +</style></head><body style=" font-family:'Liberation Sans'; font-size:11pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Replace with current query</p></body></html> - + ... - - :/left_16px.png + + + :/left_16px.png:/left_16px.png - + true - - + + - - - + + + Liberation Mono @@ -823,61 +810,57 @@ p, li { white-space: pre-wrap; } - - - - 5 - 5 + + + 1 0 - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - - + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - - - - 7 - 5 + + + 0 0 - + Results - - + + Export - + QToolButton::InstantPopup @@ -886,118 +869,118 @@ p, li { white-space: pre-wrap; } - - + + 1 - - - - 0 - - + + + 6 + + 0 + - - + + false - + QAbstractItemView::ExtendedSelection - + false - - - - 20 - - + + + 6 + + 20 + - - + + Press 'Find' button to show results - + Qt::AlignCenter - + true - - - - 20 - - + + + 6 + + 20 + - - + + Press 'Delete All' button to delete all selected items Press 'Select+Delete' button to show items found, select some and delete them - + Qt::AlignCenter - + true - - - - 20 - - + + + 6 + + 20 + - - + + Press 'Replace All' button to delete all selected items Press 'Select+Replace' button to show items found, select some and replace them - + Qt::AlignCenter - + true - - - - 20 - - + + + 6 + + 20 + - - + + Press 'Execute' button to execute the query - + Qt::AlignCenter @@ -1007,75 +990,77 @@ Press 'Select+Replace' button to show items found, select some and replace them< - - + + QFrame::StyledPanel - + QFrame::Raised - - + + 9 - + 6 - - - + + + Apply action ... - - - + + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - - + + Delete - - :/execmark.png + + + :/execmark_16px.png:/execmark_16px.png - - + + Replace - - :/execmark.png + + + :/execmark_16px.png:/execmark_16px.png - - + + Cancel - + Qt::Horizontal - + 40 10 @@ -1097,36 +1082,36 @@ Press 'Select+Replace' button to show items found, select some and replace them< - - + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - - + + Configure - + false - + Qt::Horizontal - + 40 20 @@ -1135,11 +1120,11 @@ Press 'Select+Replace' button to show items found, select some and replace them< - - + + Close - + false @@ -1178,7 +1163,7 @@ Press 'Select+Replace' button to show items found, select some and replace them< results - + @@ -1187,11 +1172,11 @@ Press 'Select+Replace' button to show items found, select some and replace them< SearchReplaceDialog accept() - + 829 589 - + 748 671 @@ -1203,11 +1188,11 @@ Press 'Select+Replace' button to show items found, select some and replace them< find_properties setCurrentIndex(int) - + 149 79 - + 162 249 @@ -1219,11 +1204,11 @@ Press 'Select+Replace' button to show items found, select some and replace them< delete_properties setCurrentIndex(int) - + 176 71 - + 190 232 @@ -1235,11 +1220,11 @@ Press 'Select+Replace' button to show items found, select some and replace them< find_replace_properties setCurrentIndex(int) - + 141 75 - + 272 245 @@ -1251,11 +1236,11 @@ Press 'Select+Replace' button to show items found, select some and replace them< replace_properties setCurrentIndex(int) - + 203 75 - + 226 357 diff --git a/src/lay/lay/lay.pro b/src/lay/lay/lay.pro index 8bd49c256..8de679cd3 100644 --- a/src/lay/lay/lay.pro +++ b/src/lay/lay/lay.pro @@ -175,6 +175,7 @@ SOURCES = \ RESOURCES = layBuildInMacros.qrc \ layMacroTemplates.qrc \ + layResources.qrc \ laySyntaxHighlighters.qrc \ laySaltTemplates.qrc \ diff --git a/src/lay/lay/layMacroEditorPage.cc b/src/lay/lay/layMacroEditorPage.cc index 42bfb4e60..7f18cd9bf 100644 --- a/src/lay/lay/layMacroEditorPage.cc +++ b/src/lay/lay/layMacroEditorPage.cc @@ -323,7 +323,7 @@ MacroEditorSidePanel::MacroEditorSidePanel (QWidget *parent, MacroEditorTextWidg : QWidget (parent), mp_text (text), mp_exec_model (exec_model), m_breakpoint_pixmap (QString::fromUtf8 (":/breakpointmark_16px.png")), m_breakpoint_disabled_pixmap (QString::fromUtf8 (":/breakpointmarkdisabled_16px.png")), - m_exec_point_pixmap (QString::fromUtf8 (":/execmark.png")), + m_exec_point_pixmap (QString::fromUtf8 (":/execmark_16px.png")), m_debugging_on (true) { connect (text, SIGNAL (contentsChanged ()), this, SLOT (redraw ())); diff --git a/src/lay/lay/layTechnologyController.cc b/src/lay/lay/layTechnologyController.cc index 51b2bceca..964b40199 100644 --- a/src/lay/lay/layTechnologyController.cc +++ b/src/lay/lay/layTechnologyController.cc @@ -117,7 +117,7 @@ void TechnologyController::get_menu_entries (std::vector &menu_entries) const { lay::PluginDeclaration::get_menu_entries (menu_entries); - menu_entries.push_back (lay::menu_item ("technology_selector:apply_technology", "technology_selector:tech_selector_group", "@toolbar.end", tl::to_string (QObject::tr ("Technology<:techs.png>{Select technology (click to apply)}")))); + menu_entries.push_back (lay::menu_item ("technology_selector:apply_technology", "technology_selector:tech_selector_group", "@toolbar.end", tl::to_string (QObject::tr ("Technology<:techs_24px.png>{Select technology (click to apply)}")))); } void From 7fe16df8ef6130c9a05ec799a49fbc802e3e58ec Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 15:33:29 +0200 Subject: [PATCH 34/52] More icons turned into SVG --- src/icons/icons.qrc | 1 + src/icons/images/bug.png | Bin 3003 -> 2842 bytes src/icons/images/bug@2x.png | Bin 0 -> 6706 bytes src/icons/svg/bug.svg | 274 ++++++++++++++++++++++++++++++++++++ 4 files changed, 275 insertions(+) create mode 100644 src/icons/images/bug@2x.png create mode 100644 src/icons/svg/bug.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 268b16e74..4bf4ce8b7 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -193,6 +193,7 @@ images/debug_16px.png images/debug_16px@2x.png images/bug.png + images/bug@2x.png images/run_16px.png images/run_16px@2x.png images/runthis_16px.png diff --git a/src/icons/images/bug.png b/src/icons/images/bug.png index bd49f5666367fd14b4489e8bf6041c875dc69165..262a79b8d9cf7b8b5e12c9dd5b4136877436cd23 100644 GIT binary patch delta 2799 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 BE=B+V delta 2961 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From f0e692f8ed8db13723ec2808aa7c39e903aaa0ff Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 15:55:42 +0200 Subject: [PATCH 35/52] More icons turned into SVG --- src/icons/icons.qrc | 6 +- src/icons/images/nophoto.png | Bin 392 -> 0 bytes src/icons/images/nophoto_16px.png | Bin 0 -> 690 bytes src/icons/images/nophoto_16px@2x.png | Bin 0 -> 1546 bytes src/icons/images/photo.png | Bin 357 -> 0 bytes src/icons/images/photo_16px.png | Bin 0 -> 518 bytes src/icons/images/photo_16px@2x.png | Bin 0 -> 1112 bytes src/icons/svg/nophoto_16px.svg | 184 +++++++++++++++++++++++++++ src/icons/svg/photo_16px.svg | 176 +++++++++++++++++++++++++ 9 files changed, 364 insertions(+), 2 deletions(-) delete mode 100644 src/icons/images/nophoto.png create mode 100644 src/icons/images/nophoto_16px.png create mode 100644 src/icons/images/nophoto_16px@2x.png delete mode 100644 src/icons/images/photo.png create mode 100644 src/icons/images/photo_16px.png create mode 100644 src/icons/images/photo_16px@2x.png create mode 100644 src/icons/svg/nophoto_16px.svg create mode 100644 src/icons/svg/photo_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 4bf4ce8b7..04ba8d41f 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -137,7 +137,8 @@ images/nextstep_16px@2x.png images/no_flag_16px.png images/no_flag_16px@2x.png - images/nophoto.png + images/nophoto_16px.png + images/nophoto_16px@2x.png images/options_edit_16px.png images/options_edit_16px@2x.png images/partial_24px.png @@ -146,7 +147,8 @@ images/path_24px@2x.png images/pause_16px.png images/pause_16px@2x.png - images/photo.png + images/photo_16px.png + images/photo_16px@2x.png images/polygon_24px.png images/polygon_24px@2x.png images/prev_topic_24px.png diff --git a/src/icons/images/nophoto.png b/src/icons/images/nophoto.png deleted file mode 100644 index c15fcfc44e1bf69a6ed831108ad0705c2e64cdb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>M`nUxc*DCKV1q!m4c>21s-{j^Hv1EyK-?I%UBwOMdQR1AR zo12wu%q(h}t}mgb5KX?l%wRX*>$TlXewJ9mR8(}S2(ziJy-i!GQU)TE;QZh?M{@M9yn z;~V)Vr+nV2`u>#RfutUOE6;BXJGgA0l>A!hq;fO*^wsl!>m=p(@tw8HU|KTo@yFda zMf@4}wp1DN9o}RX((~lrjA@Cc$&B2ei)U0vGX#10TxM~&UixHC{;7)Tb-xpy&c7jl g```bEUX`|bt%qCw<{Vvo4(L?|Pgg&ebxsLQ0IGSImH+?% diff --git a/src/icons/images/nophoto_16px.png b/src/icons/images/nophoto_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..06138ee995fb9c0e7ded7e2ef5bbcb91be54ec4f GIT binary patch literal 690 zcmV;j0!{siP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10zXMa zK~y-6t&`778*vcD-)_FP5CcKuQugA-QZESvLQ92G1f_y|Y``4S8uXx{2M>aH5HVm7 zghZi%CJjhV;=%j{1xreZ6ouqwl{Pe?J#GCFBq7Glz8;zs(St}kFfa_?_hFdtJm7x? zNjpjVzlh(Gd`Ggo)$1hrtd*U&i4&ZeDRXM-2gx+aCy_{GO$cEKA&f{Qvep9jUV-+u z0cx>WEPM$BOalDs^^)Xghr?lLnnq32D1g#T z$Jx`7e0s!*Wg`S_EV{UE^g^>}|78jvxY{0#>g=8`br_+giK7ZpA#P!DU@iA((8uWBsO8y%&lY41HAPpW+jog{}y4wD=X zg+gzvR;w;ak|{}&sjBL)a=D!0{CtT3IX(T8Wa3WVX`OtG!Qdf-!9$XAC>m YH-`0L8iQ!l-T(jq07*qoM6N<$f+egoV*mgE literal 0 HcmV?d00001 diff --git a/src/icons/images/nophoto_16px@2x.png b/src/icons/images/nophoto_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9b661018ab369d61f65dc8eb3069ed3e45c6fa0b GIT binary patch literal 1546 zcmV+l2KD)gP)nlyf3YGT?5M1%*81ud2rLP}HNVL$`L%gppr;MVATPz!YGp@;c6%Lk^%X=k7) z!T8`mS;@@a`>gfbXRWQ@SN$RzKBO>2QW8;Xt{PL)Xe483`r>%P?5D0WGU%os7 z2p|rJV|;jc_&pK%&%*{El-AZ?1w=sPjW;GlWJE*)B62`P%6&dxr_<@Qg3p-K>5TY% zzD^M-PxITB&C+A1*T5pfFrEnBy7l-|Gb0~=oPQ-0%J%szP>)`@9!6XLxWhU02$r9S^E3? z<=C-f;_-MyRnC&YD=(^77 z)2FjS*zNX=v3mjloI7`po}M0bU1xODCj9mF*4*;XKc}#(3%lLU)~#FV=;&a>h7Bl+ zLOdSF>-FBxwWW+2n5$IYXl-r9Xli1*sEFM5yGJ>%rw2t*_;uGV)~#EIX__RHNlu(N z!PL|gkw}EX!ovIdzwa9Wn4FyC%$YOn-@l)Nf&$_@cA&rWjy3;ycQ;Gle;-ZLSigQf zwY9b6=jQ`(`SRuY+|LgXkH-P9*=$TsP9h>i8yktf^;QOis;X30RWZymv!{C<}UZAC=1+UkO&*!_R|BMt&PfySKo|BUUz`(!&(P)%A zckW;q24iDmT)1$7L?Xeh*Ir|ywbgpYb@(u42M>~ylS6H7E#>8RuYSWY?g?NzozCk3 zM~@zz1(BDR2S6ke;r#jY7>2>^+qcnmoom;warW$45{U#8ue`$b9XqV&R`m8#e)uqo zqOft}MoLRd85|r0AQj7mRO{8&);3XHT`fnB94Q$eAAjuP#ft=kL88$px~^MJ{eC}- z7cXYXk|iV(3F7fM6B85MxN(ER!a^b?B}~QREE^sMV9}31V%)sR|BH)pxm=8mjbRwZ z^?`wb&z3D)_GNo}`*o`)6p^P#Mn>wZs;U}7p^)RANdp`X2dh`FrnIya(=-VL0%)4X zwr$(cG>sL#y;eT~aAosm{Pp$N?e8nIaHvh3M2p8ivw*4_;~Y|H;V@B=W--8`D9&));j&uVU4T70u0vNXC6d=I3l zFJ)OZb8LZ~eE8uN0QT-J10XjynX&#a06dUVJKPCqY~NlAz$c&l4@d$ZD2npkBLzr7 wQ~<5a{-d*3QIx?)88-tWmGeFkshm6iJ3nt$Dz$Ug?*IS*07*qoM6N<$f&hc=_y7O^ literal 0 HcmV?d00001 diff --git a/src/icons/images/photo.png b/src/icons/images/photo.png deleted file mode 100644 index 5bc6781afa6a15a4e443df3b2230e28ec2499db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>M`nUxc*DCKV1q!m4c>21s-{cY%)esh+b8QJwNVdc^qQp5r zH#aq}gu%HeHL)Z$MWH;iBts!2BUQoO(>LIKifSHE;T}&H#}JFtMMrI^S}a z&Vutk$?q0?Vv=k=Gwt5vl%^|-IAeq+2`q3Z*IF}Q{q@htUl$L#o%?=e9b?70N}-I~ zWyK5nV^31GdOi*ZhX88HN$p^vCNj5y^ x9~R3#nRE5~UX_)rR<#SomwtF1|6~7MM){QJU*@fBtAYMt@O1TaS?83{1OQ~kiV*++ diff --git a/src/icons/images/photo_16px.png b/src/icons/images/photo_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..0fcdf4e386f6a8334b1db178a48ea55459374980 GIT binary patch literal 518 zcmV+h0{Q)kP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10h38Y zK~y-6#ge~@B0&(wzt$RMMlf;`SkWG!OT4&#P7*ug2iHiLZN^(O%VhElu`hIVzG!uqXFBtVHgIYD8g#BIxD66 z^!OjA(+NQkpxthx)oMX0h2?UI&1Qp6r-MqR0^7Eswax=T?hz1%AzatRbUH<|*@Wx5 z7z_re)oR#ow@(dt0%)x<8jTRgF{;%n%H=Xl(?qx1MUo_c2LQnFc*Nmwcx?4&)(e1$ z&b!?X*EQzzIie`Se!oW?$4HU{>-8F@Y2M2uqVtXXGzS2=<8V5y|r1hc~1!u#ehY|GPuZsr{%j|ma;LOS_bDO_m@H))@ zu)DB(Tx5?b7(_%6{DETZ$Q(okP24!5(n+V&U9|_3j4?5B7MH#Fg@W#S^}g@>s$NkK zp74bK8RFkKDW$#zegw4Klmz|~LhL-2u!_NBvDk;!*46}|02K@d|K8r-{-~7t?rZsK z?vRIpANZ2lUHoa9=Bv@s(dl?R9?Vakot=F%Ha7M;5{XEqloUej=J;mHkq9A5=ao|7 zy}i8;hG7&kyFHXrGfJuVdHeYIc+miqVHgRe)caeUGv#@hJiGV)2Oenr=z2TP$*R5qw6}Z>$1GOOgtVBj*gB_pPrst!0vt3UIHm4 z2L}fnA0LxWrwhUJHp{YzMx(5)t>LN(n$H6r!)M zkFKsRJkP^4O*S?*NG6k5mc`1-3PVFf=(=9SPZ!NI|*+*JjnQYjqA0bp`+k~eSOAcP}R**49!}Q-iMSgu^%2 z{QCO3s(`9TkgxWEfdPCz9~T!FxUO3`0x2b#Oa@)o(KHQB(`avRFW9Q#!Pl^{u@T2{ zI6OS8y7u-Jt%j;QAcR0E#q#npp68+KIzk9E?MA!fIC!3i=Xppekx~{!=GRn0$%=G3 zUG!gDTMIxW65;CVicBVhZQEFug=JaTwoN9JA)C$Ox-OpQ5sgLxc=qgB5tnV-_X?1P zVVnWX&dwHzXl`x>AdyJ0wY7z9+oV#df`C*iRS@Ag4yI}H`SWK0Iy*ZHJef>}rKKeR za02ci9~+u?(Y6w2(eq} z36)aM_xJaI8W|axK0Q6H_%a5AL0-IgL04B7Qc7a680+inoS&apaw8ZFCKneMe+`Gj zf8_heqNY?S^&FU>Ol>3*314q-@6Xl5wY9Y+Ha9na357yV8S|qwuipb3KsrY#bKmPZ e+Y_GfRrm+pQzzI90Jh8k0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/photo_16px.svg b/src/icons/svg/photo_16px.svg new file mode 100644 index 000000000..402ce5999 --- /dev/null +++ b/src/icons/svg/photo_16px.svg @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 708214fa0df0e2c37689ae8446fd54646bbc450b Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 16:19:50 +0200 Subject: [PATCH 36/52] More icons turned into SVG --- src/icons/icons.qrc | 6 +- src/icons/images/save.png | Bin 526 -> 0 bytes src/icons/images/save_16px.png | Bin 0 -> 507 bytes src/icons/images/save_16px@2x.png | Bin 0 -> 931 bytes src/icons/images/save_all.png | Bin 546 -> 0 bytes src/icons/images/save_all_16px.png | Bin 0 -> 606 bytes src/icons/images/save_all_16px@2x.png | Bin 0 -> 995 bytes src/icons/svg/save_16px.svg | 135 +++++++++++++++++++ src/icons/svg/save_all_16px.svg | 186 ++++++++++++++++++++++++++ src/lay/lay/MacroEditorDialog.ui | 8 +- 10 files changed, 329 insertions(+), 6 deletions(-) delete mode 100644 src/icons/images/save.png create mode 100644 src/icons/images/save_16px.png create mode 100644 src/icons/images/save_16px@2x.png delete mode 100644 src/icons/images/save_all.png create mode 100644 src/icons/images/save_all_16px.png create mode 100644 src/icons/images/save_all_16px@2x.png create mode 100644 src/icons/svg/save_16px.svg create mode 100644 src/icons/svg/save_all_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 04ba8d41f..5180e1704 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -200,8 +200,10 @@ images/run_16px@2x.png images/runthis_16px.png images/runthis_16px@2x.png - images/save.png - images/save_all.png + images/save_16px.png + images/save_16px@2x.png + images/save_all_16px.png + images/save_all_16px@2x.png images/select_24px.png images/select_24px@2x.png images/setup_16px.png diff --git a/src/icons/images/save.png b/src/icons/images/save.png deleted file mode 100644 index 5a13d75ea243a8fec3f89f1bf097e4b6e71f7519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 zcmV+p0`dKcP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FQQ01FQRlKBIr00007bV*G`2ipt< z6)HFzhfY!e0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0004H zNkl?$76fp9c7B*ap6Bp< zPx|``?>(Fr7}LcrX~?B&-0)xd^J2=OD}Okm=pYG3nhB*qg*p`Sr~;0F%k2)Wp(w zdhd(QZ<|-dCM4UHBK@-qU$WcVKUld3`#TXrU^E(G5@rc97r)X>nAHJz1DU~FCTBkL QU;qFB07*qoM6N<$f)QTUg8%>k diff --git a/src/icons/images/save_16px.png b/src/icons/images/save_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..f65bc2cfd89d47aa4fec8c6e8454407440241a83 GIT binary patch literal 507 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10fZVT^Q0=(y{lk{q=Vptxcfi}t`2F<6oRN7qBea>NsvMj;v^2@ zXbqq8oJ8#qf?%@v4>&kQ9TcO@l6YKHVttJU58UB{@BA+J-UI(B8-GahfQ2diZ^z9u z?RNXAbM9NQSd^Iwm{^i>HU`K=QS{>c@{+Aq*BFgPG@DH%#kOv>T1YyXkaSMcBcNtx z_U`=$!s<1W$t3xF9y5yt{8R!sv)`LJWoE~NAYj%@v9)=Du)6wBkOZ)=|79ns$4lt> zRX#quNpA5d?#?>b!!^u|AP6P`Vs&Ei7%Qb^>h(I=Y<7A;>(y&EZr`O+snG3q_XHrx zdFj-UAE%l1Qrf;3>d?Uhs?};Lm&?DM)c1Y)zW?it3BY~se|;k9WfVnx>hEy&;w>&+ zULljokWQy5l}Z!}h4>N7?7o?u2CfW;LyjDtBfPOruh*l~>Fk+<*c~|Mc(C=5!C*k6 x(U@qA+eMDQM0a=Xj`BP(KV4hiO!@y$eFx0&y7|Us@`V5Z002ovPDHLkV1jbM?M(mx literal 0 HcmV?d00001 diff --git a/src/icons/images/save_16px@2x.png b/src/icons/images/save_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..152fe5d668885f644c89ba78c09089dbda32a46b GIT binary patch literal 931 zcmV;U16=%xP)cRL5z?kA(^c_Nv58YOOzT1@BmI+#n@Iz0p%zr8batZXMg%FN zXl5a2&(;%F4<|hlhukW3d>~Xp~GQ zQxS0y83%CKY`$xn=H2!6^^bweE|-g7Fv#fWC{v}TS8|y0NetCfU6j>x$!Lw z!(ec5u#kzKo}RKzIDk(8d_La?N~xRq@B{(@0)aq*7`r!0^E(=;RO-ZalxxBPyatd+ zBx>zQH?BAGX6@_5A`>)w-ma(#mA`Y8Qa1tQ*B-d!vW>mNEdK6c65D^EX&N&#Gt|}9 zkxVAf)E&oNAR^;RsWH1Qu*KEdH;DcGJuTNf7=}TAe?O*a;`Msz?CdN#10@>(xLQ}k zZ@>IN^EEGqVK6*A3_xpZ>&r1vNu0~Tp1IGbUwq5vgCv@!F*P*>fUfH=-oRe^FZ^Hi zk$CX%R1q#NE|zTIRPU(I=T4DsTyG@)<2X;uzwv)_hs}q7qG=kTPza?IOG`_HLZRnQ z%J%m5q6Qqm0YFPjOWKa~`}!lEq@Uuy_1y_^x7&@b>$c)&ffHB;f*TtfE6=QZ=I7@< zK;diXza3)p(c^-6TU#4DJ3EL7LqkJYmPIC$!LlqY%OV<$p4mVo|Lmv8JUAAgn3%xr zcC)*?OFSMYm&=uW>JtW(Qd!_$J^&DrG2qU##D<0j!r?F?!rIyz)z#G;9UYY=4n?}) z;NSoNpU+2AQxoBEn3|dzbX{k1a5eEGp9G==~G002ovPDHLk FV1lg&x|{$2 literal 0 HcmV?d00001 diff --git a/src/icons/images/save_all.png b/src/icons/images/save_all.png deleted file mode 100644 index 0c2d4440823d964a6351ef3730f1a58e03c0b64f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 546 zcmV+-0^R+IP)Px#24YJ`L;wH)0002_L%V+f000SaNLh0L01FQQ01FQRlKBIr00007bV*G`2ipq^ z77h@PV-j=#0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0004b zNkl!=WD$8JUu=lCuEjG+#VpOgG};*cR%2M1@|k`n{x((K_PTV!mI|60Wg_d0nh?+ z@y`|f`o?g+VZC1Sw)2j5`wf;DCPS7BtpJs83!w4-BQc#YoNovr(CKv8?RHh2qtU1W zI4d*R0~$aa&NpOP2EcN;tib@ zMj$R0iwMNl@k)E|i_VwLD`FFp?MtaQv2G!RSC8TD?h9ro0N(pX0g2P;6q7JZkhyA< kX2Ps}`m&CC@>iGn3?(ONw=qt$?f?J)07*qoM6N<$f(r)WqyPW_ diff --git a/src/icons/images/save_all_16px.png b/src/icons/images/save_all_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..914cdae7651b5a32fd898f9d3cfefa0fecad60f1 GIT binary patch literal 606 zcmV-k0-^nhP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10qaRb zK~y-6jgmoY8c`I5zn2*m9OJ~I60o`ux)ri$8)yg2Cel_dMTpQvT{Oj?U{@uC&_yBi z2ZSt=uB8;SNU+ewxbhF!RltDIP`at3AlSKG)Co04+XD|Cm-7zaeH_I^B4Pk*EY^im z>SAUpBF6sy{(D{5$AHW`B9guSR!su3KA-P%tya@EH#cduTAZGqP8n_6Mno#W`QIc< zo?$#5Yq?yG^41pVbec>iGefGBI#Np6K-!xviO36JuhD3rX&T=yFWKFBL$O$7Wo2b5 zz_Kjwni7$RB9hX9XW`}0dfyoUU@ix_bNdz_j*lpp%N!gW;JWS%$z=5n9nkyEK$A}| zA+!piRep>OGNsqty?38vGD)}FoguMpo2fszVP8zsMANi+765c$yc`PtQcn*x05cRM zyPo0E<0m8%3EJ&8(P(sGz{j8cLG0w@LHXf~T{Z*Su`4vyn+c6PRK6#zu!ZM|NXN~I!(VMrtr5z{m!91cq$ z5V&fjWm#9vRM!I1{3%IFDRpRB7Q^9?QmHgW5|78dW^Sk(KoF6vQtAtUVHo)Req7f@ sL>P@mj7B5RH#fi|`IpZB!?Rew0rWf2r+s}GZ2$lO07*qoM6N<$f@~ literal 0 HcmV?d00001 diff --git a/src/icons/images/save_all_16px@2x.png b/src/icons/images/save_all_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f09c308fd9b9580f78ec3080f4c34957e0c4b571 GIT binary patch literal 995 zcmV<9104K`P)Pjw2vsK?Dgs|@K@B3O>T7CmWtwRV=Tk&{2?rUyt zuB&)80NT8Bx69>vmPjP-8;wRh9uIcA9e|yk9oE*?xVgD0n{a)7T}|DR0GdQ1aUa0r z@zCGjpS|F8I??O($g-?DdHz!<=81fOtZX(L0F#rGWHK27fdF>9or8k|6h*06T#}@3 z@?c&Ri!15!#>PefVzC(Uc$`2W0D#-=#$+;81W+rD5JD@2_(BNrGw?JN3K0s03Ib(W zW@BRmgTcV)=qQp@bOvYTbUJZ5os|KAXTTHSUZvn~U%n)nOw!iY_78ukl@MY!cfemB zZ~^r6^gL1&#a!y#bg$1luEA8#=*ladd zS649_jb#hn`5}LusA{br{GgY~Pabo1b%o#WN3Yk@*Vo6z#YHt~Y6r-bR;$HiGGQP#`VJukGcz-EbaZfj zeoi2$g-04?wucoK`n zHUUdG9Jb^J3=aw5Ef7b^P~6jQ10_J93n^(T6BoQMt{ RDw+TQ002ovPDHLkV1npG$i4so literal 0 HcmV?d00001 diff --git a/src/icons/svg/save_16px.svg b/src/icons/svg/save_16px.svg new file mode 100644 index 000000000..50a820f6f --- /dev/null +++ b/src/icons/svg/save_16px.svg @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/save_all_16px.svg b/src/icons/svg/save_all_16px.svg new file mode 100644 index 000000000..6a38da07c --- /dev/null +++ b/src/icons/svg/save_all_16px.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index 4a18b2856..3080ac48a 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -215,7 +215,7 @@ p, li { white-space: pre-wrap; } - :/save_all.png:/save_all.png + :/save_all_16px.png:/save_all_16px.png Ctrl+Shift+S @@ -235,7 +235,7 @@ p, li { white-space: pre-wrap; } - :/save.png:/save.png + :/save_16px.png:/save_16px.png Ctrl+S @@ -1422,7 +1422,7 @@ p, li { white-space: pre-wrap; } - :/save_all.png:/save_all.png + :/save_all_16px.png:/save_all_16px.png Save All @@ -1431,7 +1431,7 @@ p, li { white-space: pre-wrap; } - :/save.png:/save.png + :/save_16px.png:/save_16px.png Save From 84061b8362320178e9cbf07d0c761bf6031b15ec Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 16:53:05 +0200 Subject: [PATCH 37/52] More icons turned into SVG --- src/icons/icons.qrc | 6 +- src/icons/images/import.png | Bin 344 -> 0 bytes src/icons/images/import_16px.png | Bin 0 -> 406 bytes src/icons/images/import_16px@2x.png | Bin 0 -> 729 bytes src/icons/images/rename.png | Bin 489 -> 0 bytes src/icons/images/rename_16px.png | Bin 0 -> 646 bytes src/icons/images/rename_16px@2x.png | Bin 0 -> 1231 bytes src/icons/svg/import_16px.svg | 122 ++++++++++++++ src/icons/svg/rename_16px.svg | 150 ++++++++++++++++++ src/lay/lay/CrashMessage.ui | 4 +- src/lay/lay/CustomizeMenuConfigPage.ui | 4 +- src/lay/lay/HelpAboutDialog.ui | 4 +- src/lay/lay/LogViewerDialog.ui | 4 +- src/lay/lay/MacroEditorDialog.ui | 8 +- src/lay/lay/MainConfigPage6.ui | 49 +++--- src/lay/lay/SaltGrainPropertiesDialog.ui | 34 ++-- .../lay/SaltGrainTemplateSelectionDialog.ui | 15 +- src/lay/lay/SaltManagerDialog.ui | 38 ++--- .../SaltManagerInstallConfirmationDialog.ui | 12 +- src/lay/lay/SearchReplaceDialog.ui | 2 +- src/lay/lay/TechSetupDialog.ui | 6 +- src/lay/lay/lay.pro | 1 - src/layui/layui/MarkerBrowserPage.ui | 4 +- 23 files changed, 359 insertions(+), 104 deletions(-) delete mode 100644 src/icons/images/import.png create mode 100644 src/icons/images/import_16px.png create mode 100644 src/icons/images/import_16px@2x.png delete mode 100644 src/icons/images/rename.png create mode 100644 src/icons/images/rename_16px.png create mode 100644 src/icons/images/rename_16px@2x.png create mode 100644 src/icons/svg/import_16px.svg create mode 100644 src/icons/svg/rename_16px.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 5180e1704..5c2a0307c 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -99,7 +99,8 @@ images/help_16px@2x.png images/home_24px.png images/home_24px@2x.png - images/import.png + images/import_16px.png + images/import_16px@2x.png images/important_16px.png images/important_16px@2x.png images/instance_24px.png @@ -169,7 +170,8 @@ images/rc_31px@2x.png images/red_flag_16px.png images/red_flag_16px@2x.png - images/rename.png + images/rename_16px.png + images/rename_16px@2x.png images/replace_16px.png images/replace_16px@2x.png images/replace_all_16px.png diff --git a/src/icons/images/import.png b/src/icons/images/import.png deleted file mode 100644 index d89416fe2222135a2c10fe9e2170885dd99ad7bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rl| z>|jWX*)47c6yYrJh%9Dc;N}Nm#z{Y!mjVUZOFVsD*>7`ki^|KfsC0J$g=9-yBTAg} zb8}PkN*J7rQWHy3QxwWGOEMHfGEx=XJ$(b-r>N!u6|VPmaSX9IeRQ%d*C7Xi*8QCG zJl^O|?q2aA_st*8JuR&}oejh{1PN^M;rpOdCf;=H$eLFEw!2B+&Ym&X`J?f9xzas` z2`$}A?lE{=4q3~#@z;JwX2<PfUmxx7b75KbpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10V7F7 zK~y-6rIRgB!%!H7pG&6(OZYUfk^TY%rVVBVIn#u|sKOwzcu)j^BgiEL5X=BSfY2^Y zmMMP2pR=Lz4x&!3*c1JD{zk_&v6{3 zDGWm`EzT>vI?-%tT7UqRW{Mw@9x_i5$1!{LUG6T9@z$2wOWZ`GXMR~pHp-Bnz4um9smFU07*qoM6N<$f(rDf ADgXcg literal 0 HcmV?d00001 diff --git a/src/icons/images/import_16px@2x.png b/src/icons/images/import_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9faa8eaf0318abc4520458f65d2126e5e6b16d0f GIT binary patch literal 729 zcmV;~0w(>5P) zK~z|U?Uz4j6LA#BKQTdQ@DEh(=pbkztr6~^U?4Z76>_0N3oSSZE|S5`*-=!)#i^5B zgoYM%a4O{{b5Sn}89Im;P-~%!P;#*yG$c?8KZpDwX?lqymj=Nv{NVBa{NCfeckkT~ zh72Eo5aQv9IP>}1`~>QRrfClb={%RqJvxqmYLHI<27#lDTrTIS15ML9%7>nT{{aj< zfQ5wx{C>ZyysZhn#>~u2NBKZ9;5ZJENQCL>X#gUTh^wyW8E_m2UDwIy^9^1w7(AH( zip3&{M54uc6K)A1uGQ!gU;-)6O5ivS@pv5DwoyVCyQ!Z67J(#CT}IJpR79gu(F+QN zf>0Di0799#Bnt1A1>kyARoxRpYzQG<_ML&|nk$pzn5oCeqvwcCguoMGf*rR(RCf$wh2#+^Y-;K#-!2ihDXqI z0Q2+n)rPxzh4<^Lj7b-Iy64~B1%_dusw(*}-?+Ybn_cJU$p#=v5~gXQsw!We00000 LNkvXXu0mjf(ilsx literal 0 HcmV?d00001 diff --git a/src/icons/images/rename.png b/src/icons/images/rename.png deleted file mode 100644 index 71b798b6f268e2df8f61b7a43cc5c36e76e4f731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 489 zcmVPx#24YJ`L;(K)xBzBcyB9V9000SaNLh0L01FQQ01FQRlKBIr00007bV*G`2ipn@ z6(1$FFJi6$0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z0003% zNkl+4G1=tieT*%SnrD9^+{5s@FnsDsRSz@z``QISS<*tEOsA2 z5wehwbjB1mdQuqm`j>17IWXKAxO12@bKs9KU$0X9If=_nA{}!WV}6|A!Y$%BCI|xJ zIR3o^NmMEoa=9F{*^JR>w3)!9A<}d@6`mY1mnaSuMxaOFi$XzHl0p~BuS{(>v*0=Hk&>6 zfs4lVExbQr8tv^VOQjNF7*Z@23B&L_!C)|08(`P0d_GU1P@q<;;rl+;+VAgs-~*ik fAd}Lu;=k|-HUGr7;FRe@00000NkvXXu0mjfqSwV- diff --git a/src/icons/images/rename_16px.png b/src/icons/images/rename_16px.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf59003928da06187d18cc28621a144afb5a0dd GIT binary patch literal 646 zcmV;10(t$3P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H10uxC@ zK~y-6jgwDElVKdkKacO!ckW$|nX=(Ui>^|E2fJ+g(q#}G?2k9GMnxA7N|zGPi_t;E zTZd5~bTY3h(Vp$fz4N2kuGVnZ)L?S^Vk-+mj1_lO*$79PI8yjnqdOBr5 zqtRe%Ym1$o9j2zH2nK_MLLsWv?>$c*rSHe%@o$oz8)MWqgKRb{+qPA&*A=-C79c?V z;lAdpXS2;KmoNR=+uM75CILV?ou*ta^W*0sdjAld7&tM56Qf)`v>(jPWh8Y0Ur*>O z0id$5urS%WaDf-?vT8P){Yy(rYqeU9iHQk@hlg=pcQVjgluB!yi%uxmFt=X^0Q#Li zEkC`>$IoBP)oa%QI5;?9etw?y_4U(jB!wm2lQb*oC7{^Q;2+QPWQ*D|{^G&J}-_vY;<-}i4yVsUX1-}jlGo~FCIyIrQIXl_YL<#IUz zs#dEyIy#bNS;}NGrwQ87gp=K?*kBxMvv3&%yC?f<1jNb!|v`bmSwTBvcl-- g=y9X-#OHnYzmUxLEue^{iU0rr07*qoM6N<$f?>rb6951J literal 0 HcmV?d00001 diff --git a/src/icons/images/rename_16px@2x.png b/src/icons/images/rename_16px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1e21ecdcea98618c37784e4a95b2916054c8a5b6 GIT binary patch literal 1231 zcmV;=1Tg!FP)h)7#n&Pt`_w_F*~3%A?dnu=p}b@kS|uUe$CUTPh)+LA3w%svtck8aJ$``3ZNzH)ODTt`FSiB3r3@n zU@(Zs+JxD2)(_%0NCwzDl01!0165U06rIyP7(Qd zBLE3&U}R*3nVA^?Dl01q1Ofnzjg2ueF#&+ZVxhdeyd)F~?RfCufk{NZQ%d>L0Z5pE z==5*hx|NcW5)K?V5Pjp=EM#V8GBh-l@UZ#Bi4&gymqa8#Re-n@1OfpD2L}O&L?RRy7jx#!8B8YA60N3D zT3Qgwtk7#JWs zI~%jvjNNXhwzii1{1kSoh}+2I; z*JWKrkcj+JR#x_MEr{qg)HF@5U%xIbEiIyyk|$4|h=|C-!h)PWeL7};>(;F}fK>~U ze|5v_^(w%$azH8d8NgQ;I#^s3T3au1@Zdqtojb?U?p>0mX;`gRZr;2ZyI-y~0hCfh zKx2}bxf8vfotvkjp&`)J)MV`H>LLgjXHMh7#SHE`2BunXJ>(>N~)%&=IsDXPfr7oo14q_?b|6VETp!!mfgE| t|9=2hs})_>Q}Riza#=<1^5=HL`Ul@R6_d#7F-QOa002ovPDHLkV1groOgR7m literal 0 HcmV?d00001 diff --git a/src/icons/svg/import_16px.svg b/src/icons/svg/import_16px.svg new file mode 100644 index 000000000..d56df57f0 --- /dev/null +++ b/src/icons/svg/import_16px.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/rename_16px.svg b/src/icons/svg/rename_16px.svg new file mode 100644 index 000000000..2be41e288 --- /dev/null +++ b/src/icons/svg/rename_16px.svg @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + A + B + + + + diff --git a/src/lay/lay/CrashMessage.ui b/src/lay/lay/CrashMessage.ui index 9ac5c81d1..267fe5aef 100644 --- a/src/lay/lay/CrashMessage.ui +++ b/src/lay/lay/CrashMessage.ui @@ -67,7 +67,7 @@ - :/bug.png + :/bug.png Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter @@ -126,7 +126,7 @@ buttonBox - + diff --git a/src/lay/lay/CustomizeMenuConfigPage.ui b/src/lay/lay/CustomizeMenuConfigPage.ui index e445e2755..698768e18 100644 --- a/src/lay/lay/CustomizeMenuConfigPage.ui +++ b/src/lay/lay/CustomizeMenuConfigPage.ui @@ -195,7 +195,7 @@ For special keys: - :/find_16px.png + :/find_16px.png @@ -223,7 +223,7 @@ For special keys: - + diff --git a/src/lay/lay/HelpAboutDialog.ui b/src/lay/lay/HelpAboutDialog.ui index 1d04a3545..07b329094 100644 --- a/src/lay/lay/HelpAboutDialog.ui +++ b/src/lay/lay/HelpAboutDialog.ui @@ -137,7 +137,7 @@ - :/logo.png + :/logo.png @@ -226,7 +226,7 @@ - + diff --git a/src/lay/lay/LogViewerDialog.ui b/src/lay/lay/LogViewerDialog.ui index d625b0d06..7d252850d 100644 --- a/src/lay/lay/LogViewerDialog.ui +++ b/src/lay/lay/LogViewerDialog.ui @@ -169,7 +169,7 @@ - :/warn_16px.png + :/warn_16px.png @@ -206,7 +206,7 @@ log_view - + diff --git a/src/lay/lay/MacroEditorDialog.ui b/src/lay/lay/MacroEditorDialog.ui index 3080ac48a..95b142033 100644 --- a/src/lay/lay/MacroEditorDialog.ui +++ b/src/lay/lay/MacroEditorDialog.ui @@ -171,7 +171,7 @@ p, li { white-space: pre-wrap; } - :/rename.png:/rename.png + :/rename_16px.png:/rename_16px.png true @@ -191,7 +191,7 @@ p, li { white-space: pre-wrap; } - :/import.png:/import.png + :/import_16px.png:/import_16px.png true @@ -1404,7 +1404,7 @@ p, li { white-space: pre-wrap; } - :/rename.png:/rename.png + :/rename_16px.png:/rename_16px.png Rename @@ -1413,7 +1413,7 @@ p, li { white-space: pre-wrap; } - :/import.png:/import.png + :/import_16px.png:/import_16px.png Import diff --git a/src/lay/lay/MainConfigPage6.ui b/src/lay/lay/MainConfigPage6.ui index 198060873..b3b01f052 100644 --- a/src/lay/lay/MainConfigPage6.ui +++ b/src/lay/lay/MainConfigPage6.ui @@ -1,7 +1,8 @@ - + + MainConfigPage6 - - + + 0 0 @@ -9,44 +10,44 @@ 130 - + Application Settings - - - 9 - - + + 6 + + 9 + - - + + Circle Resolution - - - 9 - - + + 6 + + 9 + - - + + Number of points per full circle - + - + Qt::Horizontal - + 40 20 @@ -59,9 +60,7 @@ - - - - + + diff --git a/src/lay/lay/SaltGrainPropertiesDialog.ui b/src/lay/lay/SaltGrainPropertiesDialog.ui index 58d1e9411..ebdd65a58 100644 --- a/src/lay/lay/SaltGrainPropertiesDialog.ui +++ b/src/lay/lay/SaltGrainPropertiesDialog.ui @@ -48,7 +48,6 @@ - 75 true @@ -85,7 +84,6 @@ - 75 true @@ -178,7 +176,7 @@ ... - + :/clear_16px.png:/clear_16px.png @@ -195,7 +193,7 @@ ... - + :/add_16px.png:/add_16px.png @@ -243,7 +241,7 @@ ... - + :/warn_16px.png:/warn_16px.png @@ -258,7 +256,6 @@ - 75 true @@ -274,7 +271,6 @@ - 75 true @@ -290,7 +286,6 @@ - 75 true @@ -344,7 +339,7 @@ ... - + :/clear_edit_16px.png:/clear_edit_16px.png @@ -369,7 +364,7 @@ ... - + :/salt_icon.png:/salt_icon.png @@ -389,7 +384,7 @@ ... - + :/add_16px.png:/add_16px.png @@ -451,7 +446,7 @@ ... - + :/clear_edit_16px.png:/clear_edit_16px.png @@ -516,7 +511,7 @@ ... - + :/warn_16px.png:/warn_16px.png @@ -543,7 +538,6 @@ - 75 true @@ -559,7 +553,6 @@ - 75 true @@ -617,7 +610,7 @@ ... - + :/warn_16px.png:/warn_16px.png @@ -660,7 +653,6 @@ - 75 true @@ -676,7 +668,6 @@ - 75 true @@ -731,7 +722,7 @@ ... - + :/warn_16px.png:/warn_16px.png @@ -772,7 +763,6 @@ - 75 true @@ -823,7 +813,7 @@ ... - + :/warn_16px.png:/warn_16px.png @@ -882,7 +872,7 @@ remove_dependency - + diff --git a/src/lay/lay/SaltGrainTemplateSelectionDialog.ui b/src/lay/lay/SaltGrainTemplateSelectionDialog.ui index 4bdeab7d3..7ab454058 100644 --- a/src/lay/lay/SaltGrainTemplateSelectionDialog.ui +++ b/src/lay/lay/SaltGrainTemplateSelectionDialog.ui @@ -18,7 +18,6 @@ - 75 true @@ -75,7 +74,6 @@ - 75 true @@ -117,7 +115,7 @@ ... - + :/warn_16px.png:/warn_16px.png @@ -132,7 +130,6 @@ - 50 true false @@ -155,7 +152,7 @@ - + :/add_16px.png:/add_16px.png @@ -167,7 +164,7 @@ - + :/clear_16px.png:/clear_16px.png @@ -179,8 +176,8 @@ - - :/import.png:/import.png + + :/import_16px.png:/import_16px.png Import @@ -198,7 +195,7 @@ - + diff --git a/src/lay/lay/SaltManagerDialog.ui b/src/lay/lay/SaltManagerDialog.ui index eaf406944..4afd2a16c 100644 --- a/src/lay/lay/SaltManagerDialog.ui +++ b/src/lay/lay/SaltManagerDialog.ui @@ -76,7 +76,7 @@ Mark - + :/marked_16px.png:/marked_16px.png @@ -103,7 +103,7 @@ - :/find_16px.png + :/find_16px.png @@ -219,7 +219,6 @@ - 75 true @@ -237,7 +236,7 @@ ... - + :/empty_16px.png:/empty_16px.png @@ -375,7 +374,7 @@ Mark - + :/marked_16px.png:/marked_16px.png @@ -402,7 +401,7 @@ - :/find_16px.png + :/find_16px.png @@ -518,7 +517,6 @@ - 75 true @@ -536,7 +534,7 @@ ... - + :/empty_16px.png:/empty_16px.png @@ -690,7 +688,7 @@ - :/find_16px.png + :/find_16px.png @@ -804,8 +802,8 @@ 0 0 - 537 - 284 + 334 + 213 @@ -828,7 +826,7 @@ - :/salt.png + :/salt.png @@ -843,7 +841,6 @@ 9 - 50 false @@ -942,7 +939,6 @@ - 75 true @@ -960,7 +956,7 @@ Edit - + :/edit_16px.png:/edit_16px.png @@ -1012,7 +1008,7 @@ Remove Package - + :/clear_16px.png:/clear_16px.png @@ -1036,7 +1032,7 @@ Create (Edit) Package - + :/add_16px.png:/add_16px.png @@ -1061,7 +1057,7 @@ - + :/add_16px.png:/add_16px.png @@ -1073,7 +1069,7 @@ - + :/clear_16px.png:/clear_16px.png @@ -1133,7 +1129,7 @@ - + :/add_16px.png:/add_16px.png @@ -1178,7 +1174,7 @@ scrollArea - + diff --git a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui index eb032592d..ef18920d2 100644 --- a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui +++ b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui @@ -260,7 +260,7 @@ - :/warn_16px.png + :/warn_16px.png @@ -335,7 +335,7 @@ - + :/add_16px.png:/add_16px.png @@ -347,7 +347,7 @@ - + :/clear_16px.png:/clear_16px.png @@ -359,8 +359,8 @@ - - :/import.png:/import.png + + :/import_16px.png:/import_16px.png Import @@ -371,7 +371,7 @@ - + diff --git a/src/lay/lay/SearchReplaceDialog.ui b/src/lay/lay/SearchReplaceDialog.ui index 21db4a07c..9c24eb188 100644 --- a/src/lay/lay/SearchReplaceDialog.ui +++ b/src/lay/lay/SearchReplaceDialog.ui @@ -745,7 +745,7 @@ p, li { white-space: pre-wrap; } - :/rename.png:/rename.png + :/rename_16px.png:/rename_16px.png true diff --git a/src/lay/lay/TechSetupDialog.ui b/src/lay/lay/TechSetupDialog.ui index 818fc0b07..71b39a402 100644 --- a/src/lay/lay/TechSetupDialog.ui +++ b/src/lay/lay/TechSetupDialog.ui @@ -112,7 +112,7 @@ ... - + :/add_16px.png:/add_16px.png @@ -126,7 +126,7 @@ ... - + :/clear_16px.png:/clear_16px.png @@ -303,7 +303,7 @@ buttonBox - + diff --git a/src/lay/lay/lay.pro b/src/lay/lay/lay.pro index 8de679cd3..8bd49c256 100644 --- a/src/lay/lay/lay.pro +++ b/src/lay/lay/lay.pro @@ -175,7 +175,6 @@ SOURCES = \ RESOURCES = layBuildInMacros.qrc \ layMacroTemplates.qrc \ - layResources.qrc \ laySyntaxHighlighters.qrc \ laySaltTemplates.qrc \ diff --git a/src/layui/layui/MarkerBrowserPage.ui b/src/layui/layui/MarkerBrowserPage.ui index a5651d155..00e834dce 100644 --- a/src/layui/layui/MarkerBrowserPage.ui +++ b/src/layui/layui/MarkerBrowserPage.ui @@ -498,7 +498,7 @@ - :/photo.png:/photo.png + :/photo_16px.png:/photo_16px.png @@ -563,7 +563,7 @@ p, li { white-space: pre-wrap; } - :/nophoto.png:/nophoto.png + :/nophoto_16px.png:/nophoto_16px.png From 3172c1c4bce1e44f4db57ad2047f34853d1176a8 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 17:37:42 +0200 Subject: [PATCH 38/52] More icons turned into SVG --- src/icons/icons.qrc | 3 + src/icons/images/bulb.png | Bin 6961 -> 6970 bytes src/icons/images/bulb@2x.png | Bin 0 -> 17590 bytes src/icons/images/salt.png | Bin 16551 -> 15867 bytes src/icons/images/salt@2x.png | Bin 0 -> 37012 bytes src/icons/images/salt_icon.png | Bin 3679 -> 3682 bytes src/icons/images/salt_icon@2x.png | Bin 0 -> 9215 bytes src/icons/svg/bulb.svg | 337 +++++++ src/icons/svg/salt.svg | 1518 +++++++++++++++++++++++++++++ src/icons/svg/salt_icon.svg | 1518 +++++++++++++++++++++++++++++ 10 files changed, 3376 insertions(+) create mode 100644 src/icons/images/bulb@2x.png create mode 100644 src/icons/images/salt@2x.png create mode 100644 src/icons/images/salt_icon@2x.png create mode 100644 src/icons/svg/bulb.svg create mode 100644 src/icons/svg/salt.svg create mode 100644 src/icons/svg/salt_icon.svg diff --git a/src/icons/icons.qrc b/src/icons/icons.qrc index 5c2a0307c..1ff153d1a 100644 --- a/src/icons/icons.qrc +++ b/src/icons/icons.qrc @@ -37,6 +37,7 @@ images/bright_12px.png images/bright_12px@2x.png images/bulb.png + images/bulb@2x.png images/cb_31px.png images/cb_31px@2x.png images/cc_31px.png @@ -231,7 +232,9 @@ images/yellow_flag_16px.png images/yellow_flag_16px@2x.png images/salt.png + images/salt@2x.png images/salt_icon.png + images/salt_icon@2x.png images/warn_16px.png images/warn_16px@2x.png images/empty_16px.png diff --git a/src/icons/images/bulb.png b/src/icons/images/bulb.png index 03e4e3e09e4300dd1a2be7fd223e971e54b001fc..eac494b9163220c296f8b88781dc23dd75a33bc0 100644 GIT binary patch literal 6970 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 literal 6961 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 DC!vz$ diff --git a/src/icons/images/bulb@2x.png b/src/icons/images/bulb@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0c1a7b37b9a1c6c629e08d5f1bef22227c2023 GIT binary patch literal 17590 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 Cm@23M diff --git a/src/icons/images/salt@2x.png b/src/icons/images/salt@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f8029c4dfb5d57a2f2a033ac15c38d26a5bbd7a0 GIT binary patch literal 37012 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 literal 3679 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 F?tdV&+v5NL diff --git a/src/icons/images/salt_icon@2x.png b/src/icons/images/salt_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0950714b8f8b890bba662d06d97031f64a517b72 GIT binary patch literal 9215 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 literal 0 HcmV?d00001 diff --git a/src/icons/svg/bulb.svg b/src/icons/svg/bulb.svg new file mode 100644 index 000000000..a3fb01ad8 --- /dev/null +++ b/src/icons/svg/bulb.svg @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/salt.svg b/src/icons/svg/salt.svg new file mode 100644 index 000000000..cc7f29dba --- /dev/null +++ b/src/icons/svg/salt.svg @@ -0,0 +1,1518 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/svg/salt_icon.svg b/src/icons/svg/salt_icon.svg new file mode 100644 index 000000000..b8a00edd3 --- /dev/null +++ b/src/icons/svg/salt_icon.svg @@ -0,0 +1,1518 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cf50b38090bef1a1e0a90777ea1e9530b87d0462 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 21:00:36 +0200 Subject: [PATCH 39/52] Corrected resource file paths --- src/layui/layui/AlignCellOptionsDialog.ui | 20 +- src/layui/layui/BookmarkManagementForm.ui | 129 +++++----- src/layui/layui/BrowseInstancesForm.ui | 211 ++++++++-------- src/layui/layui/BrowseShapesForm.ui | 265 ++++++++++---------- src/layui/layui/CellSelectionForm.ui | 8 +- src/layui/layui/EditLineStylesForm.ui | 16 +- src/layui/layui/EditStipplesForm.ui | 24 +- src/layui/layui/LayerMappingWidget.ui | 8 +- src/layui/layui/LayoutViewConfigPage7.ui | 18 +- src/layui/layui/LibraryCellSelectionForm.ui | 176 +++++++------ src/layui/layui/MarkerBrowserPage.ui | 23 +- src/layui/layui/MoveToOptionsDialog.ui | 28 +-- src/layui/layui/NetlistBrowserPage.ui | 12 +- src/layui/layui/PropertiesDialog.ui | 6 +- src/layui/layui/TipDialog.ui | 7 +- src/layui/layui/UserPropertiesForm.ui | 6 +- 16 files changed, 469 insertions(+), 488 deletions(-) diff --git a/src/layui/layui/AlignCellOptionsDialog.ui b/src/layui/layui/AlignCellOptionsDialog.ui index 5d3b2dbff..637bdd8b2 100644 --- a/src/layui/layui/AlignCellOptionsDialog.ui +++ b/src/layui/layui/AlignCellOptionsDialog.ui @@ -109,7 +109,7 @@ ... - + :/ct_31px.png:/ct_31px.png @@ -129,7 +129,7 @@ ... - + :/lt_31px.png:/lt_31px.png @@ -149,7 +149,7 @@ ... - + :/rt_31px.png:/rt_31px.png @@ -169,7 +169,7 @@ ... - + :/lc_31px.png:/lc_31px.png @@ -189,7 +189,7 @@ ... - + :/cc_31px.png:/cc_31px.png @@ -209,7 +209,7 @@ ... - + :/rc_31px.png:/rc_31px.png @@ -229,7 +229,7 @@ ... - + :/lb_31px.png:/lb_31px.png @@ -249,7 +249,7 @@ ... - + :/cb_31px.png:/cb_31px.png @@ -269,7 +269,7 @@ ... - + :/rb_31px.png:/rb_31px.png @@ -482,7 +482,7 @@ adjust_calls_cbx - + diff --git a/src/layui/layui/BookmarkManagementForm.ui b/src/layui/layui/BookmarkManagementForm.ui index f6d45b126..958a4cf54 100644 --- a/src/layui/layui/BookmarkManagementForm.ui +++ b/src/layui/layui/BookmarkManagementForm.ui @@ -1,7 +1,8 @@ - + + BookmarkManagementForm - - + + 0 0 @@ -9,69 +10,69 @@ 240 - + Manage Bookmarks - - + + 8 - + 8 - - + + QFrame::NoFrame - + QFrame::Raised - - + + 0 - + 6 - - - + + + Double-click to edit bookmark name - - - + + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - - + + Delete - + Qt::Vertical - + QSizePolicy::Expanding - + 46 111 @@ -82,24 +83,24 @@ - - - + + + true - + false - + false - + QAbstractItemView::ExtendedSelection - + QListView::Static - + QListView::ListMode @@ -108,36 +109,36 @@ - - + + Qt::Horizontal - - + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - + Qt::Horizontal - + QSizePolicy::Expanding - + 81 31 @@ -146,21 +147,21 @@ - - + + OK - + true - - + + Cancel - + true @@ -170,10 +171,8 @@ - - - - + + ok_button @@ -181,11 +180,11 @@ BookmarkManagementForm accept() - + 182 334 - + 163 178 @@ -197,11 +196,11 @@ BookmarkManagementForm reject() - + 275 334 - + 163 178 diff --git a/src/layui/layui/BrowseInstancesForm.ui b/src/layui/layui/BrowseInstancesForm.ui index 8f2f5201c..69ad3dbb7 100644 --- a/src/layui/layui/BrowseInstancesForm.ui +++ b/src/layui/layui/BrowseInstancesForm.ui @@ -1,7 +1,8 @@ - + + BrowseInstancesForm - - + + 0 0 @@ -9,74 +10,68 @@ 193 - - - 5 - 5 + + 0 0 - + Browse Cell Instances - - - 4 - - + + 6 + + 4 + - - - - 5 - 3 + + + 0 1 - + QFrame::NoFrame - + QFrame::Plain - + 1 - + Qt::Horizontal - - - - 5 - 5 + + + 0 1 - + QFrame::NoFrame - + QFrame::Raised - - + + 4 - + 6 - + - + Qt::Horizontal - + 40 20 @@ -84,96 +79,95 @@ - - - - > + + + + > - - :/down_16px.png + + + :/down_16px.png:/down_16px.png - - - - - 5 - 13 + + + + 0 0 - + false - + Parent - + Count - + Flat - - - + + + < - - :/up_16px.png + + + :/up_16px.png:/up_16px.png - - - - 5 - 5 + + + 0 0 - + QFrame::NoFrame - + QFrame::Raised - - + + 4 - + 6 - - - - > + + + + > - - :/down_16px.png + + + :/down_16px.png:/down_16px.png - + - + Qt::Horizontal - + 40 20 @@ -181,38 +175,37 @@ - - - - - 5 - 13 + + + + 0 0 - + false - + Cell instance - + Path - - - + + + < - - :/up_16px.png + + + :/up_16px.png:/up_16px.png @@ -221,43 +214,43 @@ - - + + Qt::Horizontal - - - 0 - - + + 6 + + 0 + - - + + Configure - + false - - + + Choose Cell - + Qt::Horizontal - + 283 29 @@ -266,8 +259,8 @@ - - + + Close @@ -276,9 +269,9 @@ - + - + @@ -287,11 +280,11 @@ BrowseInstancesForm accept() - + 437 234 - + 245 129 diff --git a/src/layui/layui/BrowseShapesForm.ui b/src/layui/layui/BrowseShapesForm.ui index f4a4797da..fbf617eff 100644 --- a/src/layui/layui/BrowseShapesForm.ui +++ b/src/layui/layui/BrowseShapesForm.ui @@ -1,10 +1,8 @@ - - - - + + BrowseShapesForm - - + + 0 0 @@ -12,113 +10,109 @@ 199 - + Browse Shapes - - - 4 - - + + 6 + + 4 + - - - - 5 - 3 + + + 0 1 - + QFrame::NoFrame - + QFrame::Raised - + 1 - + Qt::Horizontal - - - - 5 - 5 + + + 1 1 - + QFrame::NoFrame - + QFrame::Raised - - + + 4 - + 6 - - - - > + + + + > - - :/down_16px.png + + + :/down_16px.png:/down_16px.png - - - + + + < - - :/up_16px.png + + + :/up_16px.png:/up_16px.png - - - - - 5 - 13 + + + + 0 0 - + Cell - + Shapes - + Flat - + - + Qt::Horizontal - + 40 20 @@ -128,34 +122,32 @@ - - - - 5 - 5 + + + 1 1 - + QFrame::NoFrame - + QFrame::Raised - - + + 4 - + 6 - + - + Qt::Horizontal - + 40 20 @@ -163,41 +155,41 @@ - - - - > + + + + > - - :/down_16px.png + + + :/down_16px.png:/down_16px.png - - - + + + < - - :/up_16px.png + + + :/up_16px.png:/up_16px.png - - - - - 5 - 13 + + + + 0 0 - + false - + Shape instance @@ -205,34 +197,32 @@ - - - - 5 - 5 + + + 1 0 - + QFrame::NoFrame - + QFrame::Raised - - + + 4 - + 6 - + - + Qt::Horizontal - + 40 20 @@ -240,46 +230,46 @@ - - - - > + + + + > - - :/down_16px.png + + + :/down_16px.png:/down_16px.png - - - + + + < - - :/up_16px.png + + + :/up_16px.png:/up_16px.png - - - - - 5 - 13 + + + + 0 0 - + false - + Cell instance - + Path @@ -290,36 +280,36 @@ - - + + Qt::Horizontal - - - 0 - - + + 6 + + 0 + - - + + Configure - + false - + Qt::Horizontal - + 325 29 @@ -328,8 +318,8 @@ - - + + Close @@ -338,10 +328,9 @@ - - + - + @@ -350,11 +339,11 @@ BrowseShapesForm accept() - + 479 212 - + 266 118 diff --git a/src/layui/layui/CellSelectionForm.ui b/src/layui/layui/CellSelectionForm.ui index 56f67ab88..2e2aa4b06 100644 --- a/src/layui/layui/CellSelectionForm.ui +++ b/src/layui/layui/CellSelectionForm.ui @@ -205,7 +205,7 @@ - :/right_16px.png + :/right_16px.png @@ -285,7 +285,7 @@ ... - + :/find_16px.png:/find_16px.png @@ -428,7 +428,7 @@ - :/right_16px.png + :/right_16px.png @@ -546,7 +546,7 @@ - + diff --git a/src/layui/layui/EditLineStylesForm.ui b/src/layui/layui/EditLineStylesForm.ui index 341b45eb0..885142f58 100644 --- a/src/layui/layui/EditLineStylesForm.ui +++ b/src/layui/layui/EditLineStylesForm.ui @@ -206,7 +206,7 @@ - + :/down_16px.png:/down_16px.png @@ -254,7 +254,7 @@ ... - + :/up_16px.png:/up_16px.png @@ -391,7 +391,7 @@ Clear - + :/clear_16px.png:/clear_16px.png @@ -405,7 +405,7 @@ - + :/invert.png:/invert.png @@ -416,7 +416,7 @@ Flip h. - + :/fliph.png:/fliph.png @@ -427,7 +427,7 @@ Left - + :/left_16px.png:/left_16px.png @@ -438,7 +438,7 @@ Right - + :/right_16px.png:/right_16px.png @@ -546,7 +546,7 @@ - + diff --git a/src/layui/layui/EditStipplesForm.ui b/src/layui/layui/EditStipplesForm.ui index f96b62e22..9f536ffcd 100644 --- a/src/layui/layui/EditStipplesForm.ui +++ b/src/layui/layui/EditStipplesForm.ui @@ -200,7 +200,7 @@ - + :/down_16px.png:/down_16px.png @@ -248,7 +248,7 @@ ... - + :/up_16px.png:/up_16px.png @@ -376,7 +376,7 @@ Clear - + :/clear_16px.png:/clear_16px.png @@ -390,7 +390,7 @@ - + :/invert_16px.png:/invert_16px.png @@ -401,7 +401,7 @@ Flip h. - + :/fliph_16px.png:/fliph_16px.png @@ -412,7 +412,7 @@ Flip v. - + :/flipv_16px.png:/flipv_16px.png @@ -423,7 +423,7 @@ Rotate - + :/rotate_16px.png:/rotate_16px.png @@ -434,7 +434,7 @@ Up - + :/up_16px.png:/up_16px.png @@ -445,7 +445,7 @@ Left - + :/left_16px.png:/left_16px.png @@ -456,7 +456,7 @@ Right - + :/right_16px.png:/right_16px.png @@ -467,7 +467,7 @@ Down - + :/down_16px.png:/down_16px.png @@ -588,7 +588,7 @@ - + diff --git a/src/layui/layui/LayerMappingWidget.ui b/src/layui/layui/LayerMappingWidget.ui index a7ea6a8cc..64e070fc8 100644 --- a/src/layui/layui/LayerMappingWidget.ui +++ b/src/layui/layui/LayerMappingWidget.ui @@ -102,7 +102,7 @@ Add - + :/add_16px.png:/add_16px.png @@ -116,7 +116,7 @@ Delete - + :/clear_16px.png:/clear_16px.png @@ -130,7 +130,7 @@ Edit - + :/edit_16px.png:/edit_16px.png @@ -165,7 +165,7 @@ - + diff --git a/src/layui/layui/LayoutViewConfigPage7.ui b/src/layui/layui/LayoutViewConfigPage7.ui index f19d1d18c..ae9b834a9 100644 --- a/src/layui/layui/LayoutViewConfigPage7.ui +++ b/src/layui/layui/LayoutViewConfigPage7.ui @@ -200,7 +200,7 @@ (r0) - + :/r0_24px.png:/r0_24px.png @@ -209,7 +209,7 @@ (r90) - + :/r90_24px.png:/r90_24px.png @@ -218,7 +218,7 @@ (r180) - + :/r180_24px.png:/r180_24px.png @@ -227,7 +227,7 @@ (r270) - + :/r270_24px.png:/r270_24px.png @@ -236,7 +236,7 @@ (m0) - + :/m0_24px.png:/m0_24px.png @@ -245,7 +245,7 @@ (m45) - + :/m45_24px.png:/m45_24px.png @@ -254,7 +254,7 @@ (m90) - + :/m90_24px.png:/m90_24px.png @@ -263,7 +263,7 @@ (m135) - + :/m135_24px.png:/m135_24px.png @@ -350,7 +350,7 @@ - + diff --git a/src/layui/layui/LibraryCellSelectionForm.ui b/src/layui/layui/LibraryCellSelectionForm.ui index 278a2b57f..aadc63877 100644 --- a/src/layui/layui/LibraryCellSelectionForm.ui +++ b/src/layui/layui/LibraryCellSelectionForm.ui @@ -1,7 +1,8 @@ - + + LibraryCellSelectionForm - - + + 0 0 @@ -9,58 +10,56 @@ 488 - + Select Cell - - - 9 - - + + 6 + + 9 + - - + + QFrame::NoFrame - + QFrame::Raised - - + + 0 - + 6 - - - - - 5 - 7 + + + + 1 1 - + QAbstractItemView::ExtendedSelection - + true - + - + Qt::Vertical - + QSizePolicy::Fixed - + 200 16 @@ -68,82 +67,81 @@ - - - + + + Cell list - - - + + + QFrame::NoFrame - + QFrame::Raised - - + + 0 - + 6 - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + + + + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Find next</p></body></html> +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Find next</p></body></html> - + ... - - :/find_16px.png + + + :/find_16px.png:/find_16px.png - + true - - - + + + (* and ? can be used to match any text) - - - + + + Filter - - - - - 7 - 0 + + + + 1 1 - - - + + + Library - - + + @@ -152,21 +150,21 @@ p, li { white-space: pre-wrap; } - - + + Show all cells - + Qt::Vertical - + QSizePolicy::Fixed - + 200 16 @@ -175,36 +173,36 @@ p, li { white-space: pre-wrap; } - - + + Qt::Horizontal - - + + QFrame::NoFrame - + QFrame::Raised - - - 0 - - + + 6 + + 0 + - + Qt::Horizontal - + QSizePolicy::Expanding - + 91 31 @@ -213,18 +211,18 @@ p, li { white-space: pre-wrap; } - - + + _ok - + true - - + + _cancel @@ -234,7 +232,7 @@ p, li { white-space: pre-wrap; } - + lay::LibrarySelectionComboBox @@ -243,7 +241,7 @@ p, li { white-space: pre-wrap; } - + diff --git a/src/layui/layui/MarkerBrowserPage.ui b/src/layui/layui/MarkerBrowserPage.ui index 00e834dce..604547cde 100644 --- a/src/layui/layui/MarkerBrowserPage.ui +++ b/src/layui/layui/MarkerBrowserPage.ui @@ -62,7 +62,7 @@ ... - + :/run.png:/run.png @@ -188,7 +188,7 @@ - :/find_16px.png + :/find_16px.png @@ -247,7 +247,7 @@ ... - + :/down_16px.png:/down_16px.png @@ -258,7 +258,7 @@ ... - + :/up_16px.png:/up_16px.png @@ -355,7 +355,7 @@ ... - + :/up_16px.png:/up_16px.png @@ -373,7 +373,7 @@ ... - + :/down_16px.png:/down_16px.png @@ -419,7 +419,6 @@ - 75 true @@ -497,7 +496,7 @@ Photo - + :/photo_16px.png:/photo_16px.png @@ -511,7 +510,7 @@ W - + :/waived_16px.png:/waived_16px.png @@ -545,7 +544,7 @@ Imp - + :/important_16px.png:/important_16px.png @@ -562,7 +561,7 @@ p, li { white-space: pre-wrap; } ... - + :/nophoto_16px.png:/nophoto_16px.png @@ -644,7 +643,7 @@ p, li { white-space: pre-wrap; } photo_pb - + diff --git a/src/layui/layui/MoveToOptionsDialog.ui b/src/layui/layui/MoveToOptionsDialog.ui index f8155d23e..448a5e6b7 100644 --- a/src/layui/layui/MoveToOptionsDialog.ui +++ b/src/layui/layui/MoveToOptionsDialog.ui @@ -17,7 +17,7 @@ 6 - + 9 @@ -121,7 +121,7 @@ 6 - + 9 @@ -149,7 +149,7 @@ QFrame::Plain - + 15 @@ -161,7 +161,7 @@ ... - + :/ct_31px.png:/ct_31px.png @@ -181,7 +181,7 @@ ... - + :/lt_31px.png:/lt_31px.png @@ -201,7 +201,7 @@ ... - + :/rt_31px.png:/rt_31px.png @@ -221,7 +221,7 @@ ... - + :/lc_31px.png:/lc_31px.png @@ -241,7 +241,7 @@ ... - + :/cc_31px.png:/cc_31px.png @@ -261,7 +261,7 @@ ... - + :/rc_31px.png:/rc_31px.png @@ -281,7 +281,7 @@ ... - + :/lb_31px.png:/lb_31px.png @@ -301,7 +301,7 @@ ... - + :/cb_31px.png:/cb_31px.png @@ -321,7 +321,7 @@ ... - + :/rb_31px.png:/rb_31px.png @@ -366,7 +366,7 @@ 6 - + 0 @@ -418,7 +418,7 @@ rb - + diff --git a/src/layui/layui/NetlistBrowserPage.ui b/src/layui/layui/NetlistBrowserPage.ui index 6874d6910..0f887e8a8 100644 --- a/src/layui/layui/NetlistBrowserPage.ui +++ b/src/layui/layui/NetlistBrowserPage.ui @@ -89,7 +89,7 @@ ... - + :/back_16.png:/back_16.png @@ -103,7 +103,7 @@ ... - + :/forward_16.png:/forward_16.png @@ -120,7 +120,7 @@ ... - + :/info_16px.png:/info_16px.png @@ -134,7 +134,7 @@ ... - + :/run.png:/run.png @@ -189,7 +189,7 @@ ... - + :/find_16px.png:/find_16px.png @@ -673,7 +673,7 @@ find_button - + diff --git a/src/layui/layui/PropertiesDialog.ui b/src/layui/layui/PropertiesDialog.ui index c2af6c108..112840254 100644 --- a/src/layui/layui/PropertiesDialog.ui +++ b/src/layui/layui/PropertiesDialog.ui @@ -87,7 +87,7 @@ Previous - + :/left_16px.png:/left_16px.png @@ -107,7 +107,7 @@ Next - + :/right_16px.png:/right_16px.png @@ -185,7 +185,7 @@ - + diff --git a/src/layui/layui/TipDialog.ui b/src/layui/layui/TipDialog.ui index 8edc3f517..e634e5c6b 100644 --- a/src/layui/layui/TipDialog.ui +++ b/src/layui/layui/TipDialog.ui @@ -202,7 +202,10 @@ - :/bulb.png + :/bulb.png + + + false @@ -313,7 +316,7 @@ - + diff --git a/src/layui/layui/UserPropertiesForm.ui b/src/layui/layui/UserPropertiesForm.ui index d6c767157..76ba34ca4 100644 --- a/src/layui/layui/UserPropertiesForm.ui +++ b/src/layui/layui/UserPropertiesForm.ui @@ -122,7 +122,7 @@ - + :/del_16px.png:/del_16px.png @@ -133,7 +133,7 @@ - + :/add_16px.png:/add_16px.png @@ -195,7 +195,7 @@ buttonBox - + From 8e480a02364aa793f9e0d9ab9b85d8b9c96c73c5 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 22:13:16 +0200 Subject: [PATCH 40/52] Changed pixmaps to 2x versions for high-DPI support --- src/edt/edt/InstPropertiesPage.ui | 2 +- src/edt/edt/edtPCellParametersPage.cc | 4 +- src/icons/icons.pro | 1 - src/lay/lay/CrashMessage.ui | 2 +- src/lay/lay/CustomizeMenuConfigPage.ui | 2 +- src/lay/lay/HelpAboutDialog.ui | 2 +- src/lay/lay/LogViewerDialog.ui | 2 +- src/lay/lay/ReplacePropertiesBox.ui | 6 +-- src/lay/lay/ReplacePropertiesInstance.ui | 53 ++++++++++--------- src/lay/lay/ReplacePropertiesPath.ui | 4 +- src/lay/lay/ReplacePropertiesShape.ui | 2 +- src/lay/lay/ReplacePropertiesText.ui | 8 +-- src/lay/lay/SaltManagerDialog.ui | 10 ++-- .../SaltManagerInstallConfirmationDialog.ui | 2 +- src/lay/lay/layProgressWidget.cc | 2 +- src/layui/layui/CellSelectionForm.ui | 4 +- src/layui/layui/MarkerBrowserPage.ui | 2 +- src/layui/layui/TipDialog.ui | 2 +- src/layui/layui/layLayerControlPanel.cc | 2 +- src/layui/layui/layLayerToolbox.cc | 6 +-- src/layui/layui/layWidgets.cc | 4 +- .../LEFDEFTechnologyComponentEditor.ui | 50 ++++++++--------- .../oasis/lay_plugin/OASISWriterOptionPage.ui | 4 +- 23 files changed, 88 insertions(+), 88 deletions(-) diff --git a/src/edt/edt/InstPropertiesPage.ui b/src/edt/edt/InstPropertiesPage.ui index 3b173f591..e022a1cd4 100644 --- a/src/edt/edt/InstPropertiesPage.ui +++ b/src/edt/edt/InstPropertiesPage.ui @@ -731,7 +731,7 @@ - :/warn_16px.png + :/warn_16px@2x.png Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop diff --git a/src/edt/edt/edtPCellParametersPage.cc b/src/edt/edt/edtPCellParametersPage.cc index 4afa93938..ed28773cf 100644 --- a/src/edt/edt/edtPCellParametersPage.cc +++ b/src/edt/edt/edtPCellParametersPage.cc @@ -183,7 +183,7 @@ PCellParametersPage::init () } mp_changed_icon = new QLabel (mp_update_frame); - mp_changed_icon->setPixmap (QPixmap (":/warn_16px.png")); + mp_changed_icon->setPixmap (QPixmap (":/warn_16px@2x.png")); update_frame_layout->addWidget (mp_changed_icon, 0, 0, 1, 1); mp_update_button = new QToolButton (mp_update_frame); @@ -210,7 +210,7 @@ PCellParametersPage::init () } mp_error_icon = new QLabel (mp_update_frame); - mp_error_icon->setPixmap (QPixmap (":/warn_16px.png")); + mp_error_icon->setPixmap (QPixmap (":/warn_16px@2x.png")); error_frame_layout->addWidget (mp_error_icon, 1, 0, 1, 1); mp_error_label = new QLabel (mp_update_frame); diff --git a/src/icons/icons.pro b/src/icons/icons.pro index 071d66895..7a6ebd3c0 100644 --- a/src/icons/icons.pro +++ b/src/icons/icons.pro @@ -15,4 +15,3 @@ SOURCES = \ RESOURCES = \ icons.qrc \ - diff --git a/src/lay/lay/CrashMessage.ui b/src/lay/lay/CrashMessage.ui index 267fe5aef..3523c40a1 100644 --- a/src/lay/lay/CrashMessage.ui +++ b/src/lay/lay/CrashMessage.ui @@ -67,7 +67,7 @@ - :/bug.png + :/bug@2x.png Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter diff --git a/src/lay/lay/CustomizeMenuConfigPage.ui b/src/lay/lay/CustomizeMenuConfigPage.ui index 698768e18..43877de45 100644 --- a/src/lay/lay/CustomizeMenuConfigPage.ui +++ b/src/lay/lay/CustomizeMenuConfigPage.ui @@ -195,7 +195,7 @@ For special keys: - :/find_16px.png + :/find_16px@2x.png diff --git a/src/lay/lay/HelpAboutDialog.ui b/src/lay/lay/HelpAboutDialog.ui index 07b329094..69753802a 100644 --- a/src/lay/lay/HelpAboutDialog.ui +++ b/src/lay/lay/HelpAboutDialog.ui @@ -137,7 +137,7 @@ - :/logo.png + :/logo@2x.png diff --git a/src/lay/lay/LogViewerDialog.ui b/src/lay/lay/LogViewerDialog.ui index 7d252850d..011959d13 100644 --- a/src/lay/lay/LogViewerDialog.ui +++ b/src/lay/lay/LogViewerDialog.ui @@ -169,7 +169,7 @@ - :/warn_16px.png + :/warn_16px@2x.png diff --git a/src/lay/lay/ReplacePropertiesBox.ui b/src/lay/lay/ReplacePropertiesBox.ui index 2c33b9c67..3a7b3ce70 100644 --- a/src/lay/lay/ReplacePropertiesBox.ui +++ b/src/lay/lay/ReplacePropertiesBox.ui @@ -48,7 +48,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -58,7 +58,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -78,7 +78,7 @@ - :/right_16px.png + :/right_16px@2x.png diff --git a/src/lay/lay/ReplacePropertiesInstance.ui b/src/lay/lay/ReplacePropertiesInstance.ui index 772decf8b..e8eea4307 100644 --- a/src/lay/lay/ReplacePropertiesInstance.ui +++ b/src/lay/lay/ReplacePropertiesInstance.ui @@ -1,7 +1,8 @@ - + + ReplacePropertiesInstance - - + + 0 0 @@ -9,35 +10,35 @@ 195 - + Form - - + + 9 - + 6 - - - + + + - - :/right_16px.png + + :/right_16px@2x.png - + - + Qt::Vertical - + QSizePolicy::Expanding - + 200 71 @@ -45,19 +46,17 @@ - - - + + + Instance cell name - - - - - 7 - 0 + + + + 1 0 @@ -66,6 +65,8 @@ - + + + diff --git a/src/lay/lay/ReplacePropertiesPath.ui b/src/lay/lay/ReplacePropertiesPath.ui index 99a621b2c..9be6091e7 100644 --- a/src/lay/lay/ReplacePropertiesPath.ui +++ b/src/lay/lay/ReplacePropertiesPath.ui @@ -55,7 +55,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -68,7 +68,7 @@ - :/right_16px.png + :/right_16px@2x.png diff --git a/src/lay/lay/ReplacePropertiesShape.ui b/src/lay/lay/ReplacePropertiesShape.ui index c1b749972..0493ba1f5 100644 --- a/src/lay/lay/ReplacePropertiesShape.ui +++ b/src/lay/lay/ReplacePropertiesShape.ui @@ -25,7 +25,7 @@ - :/right_16px.png + :/right_16px@2x.png diff --git a/src/lay/lay/ReplacePropertiesText.ui b/src/lay/lay/ReplacePropertiesText.ui index 41b9959ec..a5b6da715 100644 --- a/src/lay/lay/ReplacePropertiesText.ui +++ b/src/lay/lay/ReplacePropertiesText.ui @@ -105,7 +105,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -115,7 +115,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -141,7 +141,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -158,7 +158,7 @@ - :/right_16px.png + :/right_16px@2x.png diff --git a/src/lay/lay/SaltManagerDialog.ui b/src/lay/lay/SaltManagerDialog.ui index 4afd2a16c..de9b8baa4 100644 --- a/src/lay/lay/SaltManagerDialog.ui +++ b/src/lay/lay/SaltManagerDialog.ui @@ -103,7 +103,7 @@ - :/find_16px.png + :/find_16px@2x.png @@ -401,7 +401,7 @@ - :/find_16px.png + :/find_16px@2x.png @@ -688,7 +688,7 @@ - :/find_16px.png + :/find_16px@2x.png @@ -826,7 +826,7 @@ - :/salt.png + :/salt@2x.png @@ -868,7 +868,7 @@ <table> <tr><td>The "Install New Packages" tab to install a package<br/>from an external repository</td></tr> <tr></tr> - <tr><td>The <a href=":add"><img src=":/add_16px.png"></a> button to create a new package</td></tr> + <tr><td>The <a href=":add"><img src=":/add_16px@2x.png"></a> button to create a new package</td></tr> </table> </body></html> diff --git a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui index ef18920d2..cc85b33f2 100644 --- a/src/lay/lay/SaltManagerInstallConfirmationDialog.ui +++ b/src/lay/lay/SaltManagerInstallConfirmationDialog.ui @@ -260,7 +260,7 @@ - :/warn_16px.png + :/warn_16px@2x.png diff --git a/src/lay/lay/layProgressWidget.cc b/src/lay/lay/layProgressWidget.cc index 276d3dd0b..3c9cfd3d5 100644 --- a/src/lay/lay/layProgressWidget.cc +++ b/src/lay/lay/layProgressWidget.cc @@ -172,7 +172,7 @@ ProgressWidget::ProgressWidget (ProgressReporter *pr, QWidget *parent, bool fw) attn_layout->setContentsMargins (0, 0, 0, 0); QLabel *attn_label1 = new QLabel (attn_frame); - attn_label1->setPixmap (QPixmap (QString::fromUtf8 (":/warn_16px.png"))); + attn_label1->setPixmap (QPixmap (QString::fromUtf8 (":/warn_16px@2x.png"))); attn_layout->addWidget (attn_label1); QLabel *attn_label2 = new QLabel (attn_frame); diff --git a/src/layui/layui/CellSelectionForm.ui b/src/layui/layui/CellSelectionForm.ui index 2e2aa4b06..c92eaa52f 100644 --- a/src/layui/layui/CellSelectionForm.ui +++ b/src/layui/layui/CellSelectionForm.ui @@ -205,7 +205,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -428,7 +428,7 @@ - :/right_16px.png + :/right_16px@2x.png diff --git a/src/layui/layui/MarkerBrowserPage.ui b/src/layui/layui/MarkerBrowserPage.ui index 604547cde..1eafe265d 100644 --- a/src/layui/layui/MarkerBrowserPage.ui +++ b/src/layui/layui/MarkerBrowserPage.ui @@ -188,7 +188,7 @@ - :/find_16px.png + :/find_16px@2x.png diff --git a/src/layui/layui/TipDialog.ui b/src/layui/layui/TipDialog.ui index e634e5c6b..3eae32f3b 100644 --- a/src/layui/layui/TipDialog.ui +++ b/src/layui/layui/TipDialog.ui @@ -202,7 +202,7 @@ - :/bulb.png + :/bulb@2x.png false diff --git a/src/layui/layui/layLayerControlPanel.cc b/src/layui/layui/layLayerControlPanel.cc index e223ba989..5b1ff584c 100644 --- a/src/layui/layui/layLayerControlPanel.cc +++ b/src/layui/layui/layLayerControlPanel.cc @@ -373,7 +373,7 @@ LayerControlPanel::LayerControlPanel (lay::LayoutViewBase *view, db::Manager *ma m_no_stipples_label = new QLabel (tb); m_no_stipples_label->hide (); - m_no_stipples_label->setPixmap (QPixmap (QString::fromUtf8 (":/warn_16px.png"))); + m_no_stipples_label->setPixmap (QPixmap (QString::fromUtf8 (":/warn_16px@2x.png"))); m_no_stipples_label->setToolTip (tr ("Stipples are disabled - unselect \"View/Show Layers Without Fill\" to re-enable them")); ltb->addWidget (m_no_stipples_label); diff --git a/src/layui/layui/layLayerToolbox.cc b/src/layui/layui/layLayerToolbox.cc index 579a57ee0..9ca37c265 100644 --- a/src/layui/layui/layLayerToolbox.cc +++ b/src/layui/layui/layLayerToolbox.cc @@ -796,7 +796,7 @@ LCPColorPalette::LCPColorPalette (QWidget *parent, const char *name) b = new LCPActiveLabel (-10, f); b->setFrameStyle (QFrame::Panel | QFrame::Raised); b->setLineWidth (1); - b->setPixmap (QPixmap (QString::fromUtf8 (":dark_12px.png"))); + b->setPixmap (QPixmap (QString::fromUtf8 (":dark_12px@2x.png"))); b->setBackgroundRole (QPalette::Button); b->setAlignment (Qt::AlignHCenter); connect (b, SIGNAL (clicked (int)), this, SLOT (button_clicked (int))); @@ -805,7 +805,7 @@ LCPColorPalette::LCPColorPalette (QWidget *parent, const char *name) b = new LCPActiveLabel (-11, f); b->setFrameStyle (QFrame::Panel | QFrame::Raised); b->setLineWidth (1); - b->setPixmap (QPixmap (QString::fromUtf8 (":bright_12px.png"))); + b->setPixmap (QPixmap (QString::fromUtf8 (":bright_12px@2x.png"))); b->setBackgroundRole (QPalette::Button); b->setAlignment (Qt::AlignHCenter); connect (b, SIGNAL (clicked (int)), this, SLOT (button_clicked (int))); @@ -814,7 +814,7 @@ LCPColorPalette::LCPColorPalette (QWidget *parent, const char *name) b = new LCPActiveLabel (-12, f); b->setFrameStyle (QFrame::Panel | QFrame::Raised); b->setLineWidth (1); - b->setPixmap (QPixmap (QString::fromUtf8 (":neutral_12px.png"))); + b->setPixmap (QPixmap (QString::fromUtf8 (":neutral_12px@2x.png"))); b->setBackgroundRole (QPalette::Button); b->setAlignment (Qt::AlignHCenter); connect (b, SIGNAL (clicked (int)), this, SLOT (button_clicked (int))); diff --git a/src/layui/layui/layWidgets.cc b/src/layui/layui/layWidgets.cc index aa2c557b0..2fe2b043b 100644 --- a/src/layui/layui/layWidgets.cc +++ b/src/layui/layui/layWidgets.cc @@ -1001,12 +1001,12 @@ DecoratedLineEdit::DecoratedLineEdit (QWidget *parent) mp_options_label = new QLabel (this); mp_options_label->hide (); mp_options_label->setCursor (Qt::ArrowCursor); - mp_options_label->setPixmap (QString::fromUtf8 (":/options_edit_16px.png")); + mp_options_label->setPixmap (QString::fromUtf8 (":/options_edit_16px@2x.png")); mp_clear_label = new QLabel (this); mp_clear_label->hide (); mp_clear_label->setCursor (Qt::ArrowCursor); - mp_clear_label->setPixmap (QString::fromUtf8 (":/clear_edit_16px.png")); + mp_clear_label->setPixmap (QString::fromUtf8 (":/clear_edit_16px@2x.png")); QMargins margins = textMargins (); m_default_left_margin = margins.left (); diff --git a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui index a28b97c7b..d00f96cf6 100644 --- a/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui +++ b/src/plugins/streamers/lefdef/lay_plugin/LEFDEFTechnologyComponentEditor.ui @@ -236,7 +236,7 @@ ... - + :/down_16px.png:/down_16px.png @@ -250,7 +250,7 @@ ... - + :/clear_16px.png:/clear_16px.png @@ -264,7 +264,7 @@ ... - + :/add_16px.png:/add_16px.png @@ -278,7 +278,7 @@ ... - + :/up_16px.png:/up_16px.png @@ -340,7 +340,7 @@ ... - + :/add_16px.png:/add_16px.png @@ -354,7 +354,7 @@ ... - + :/clear_16px.png:/clear_16px.png @@ -368,7 +368,7 @@ ... - + :/up_16px.png:/up_16px.png @@ -382,7 +382,7 @@ ... - + :/down_16px.png:/down_16px.png @@ -620,7 +620,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -670,7 +670,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -716,7 +716,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -736,7 +736,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -765,7 +765,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -899,7 +899,7 @@ - :/right_16px.png + :/right_16px@2x.png @@ -1084,7 +1084,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1107,7 +1107,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1143,7 +1143,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1159,7 +1159,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1195,7 +1195,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1211,7 +1211,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1228,7 +1228,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1265,7 +1265,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1364,7 +1364,7 @@ suffix ... - :/right_16px.png + :/right_16px@2x.png @@ -1470,7 +1470,7 @@ type ... - :/right_16px.png + :/right_16px@2x.png @@ -1639,7 +1639,7 @@ type ... read_all_cbx - + diff --git a/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui b/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui index fd744207f..995fbd702 100644 --- a/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui +++ b/src/plugins/streamers/oasis/lay_plugin/OASISWriterOptionPage.ui @@ -284,7 +284,7 @@ - :/warn_16px.png + :/warn_16px@2x.png @@ -379,7 +379,7 @@ - :/warn_16px.png + :/warn_16px@2x.png From 86f9fbe9e7ea302fa690705a1421cad92304e013 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 17 Sep 2022 23:11:19 +0200 Subject: [PATCH 41/52] Fixed palette buttons. --- src/layui/layui/layLayoutViewConfigPages.cc | 59 +++++++++------------ 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/src/layui/layui/layLayoutViewConfigPages.cc b/src/layui/layui/layLayoutViewConfigPages.cc index d501ec102..2d0a029a0 100644 --- a/src/layui/layui/layLayoutViewConfigPages.cc +++ b/src/layui/layui/layLayoutViewConfigPages.cc @@ -871,9 +871,9 @@ LayoutViewConfigPage4::update () } #if QT_VERSION > 0x050000 - unsigned int dpr = 1; //devicePixelRatio (); + double dpr = devicePixelRatio (); #else - unsigned int dpr = 1; + double dpr = 1.0; #endif QFontMetrics fm (font (), this); @@ -882,21 +882,22 @@ LayoutViewConfigPage4::update () const unsigned int h = rt.height () + 10; const unsigned int w = rt.width () + 10; - QPixmap pxmp (w * dpr, h * dpr); + QImage img (w * dpr, h * dpr, QImage::Format_RGB32); #if QT_VERSION > 0x050000 - pxmp.setDevicePixelRatio (dpr); + img.setDevicePixelRatio (dpr); #endif - QPainter pxpainter (&pxmp); - pxpainter.setPen (QPen (palette ().color (QPalette::Active, QPalette::Text))); - pxpainter.setBrush (QBrush (color)); - QRect r (0, 0, pxmp.width () - 1, pxmp.height () - 1); - pxpainter.drawRect (r); - pxpainter.setFont (font ()); - pxpainter.setPen (QPen (text_color)); - pxpainter.drawText (r, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, text); + QPainter painter (&img); + painter.setPen (QPen (palette ().color (QPalette::Active, QPalette::Text), 1.0 / dpr)); + painter.setBrush (QBrush (color)); + QRectF r (0, 0, w - painter.pen ().widthF (), h - painter.pen ().widthF ()); + painter.drawRect (r); + painter.setFont (font ()); + painter.setPen (QPen (text_color)); + painter.drawText (r, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, text); - (mp_ui->*(cfg4_buttons [i]))->setIconSize (pxmp.size ()); + QPixmap pxmp = QPixmap::fromImage (img); + (mp_ui->*(cfg4_buttons [i]))->setIconSize (QSize (w, h)); (mp_ui->*(cfg4_buttons [i]))->setIcon (QIcon (pxmp)); } @@ -1226,9 +1227,9 @@ LayoutViewConfigPage6::update () QColor color1 = palette ().color (QPalette::Active, QPalette::Dark); #if QT_VERSION > 0x050000 - unsigned int dpr = 1; //devicePixelRatio (); + double dpr = devicePixelRatio (); #else - unsigned int dpr = 1; + double dpr = 1; #endif QImage image (w * dpr, h * dpr, QImage::Format_RGB32); @@ -1244,19 +1245,14 @@ LayoutViewConfigPage6::update () painter.setBackgroundMode (Qt::TransparentMode); painter.drawPixmap (0, 0, w, h, bitmap); - QPixmap pxmp = QPixmap::fromImage (image); // Qt 4.6.0 workaround - QPainter pxpainter (&pxmp); - pxpainter.setPen (QPen (palette ().color (QPalette::Active, QPalette::Text))); - QRect r (0, 0, pxmp.width () - 1, pxmp.height () - 1); - pxpainter.drawRect (r); - pxpainter.setFont (font ()); - pxpainter.drawText (r, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, text); + painter.setPen (QPen (palette ().color (QPalette::Active, QPalette::Text), 1.0 / dpr)); + QRectF r (0, 0, w - painter.pen ().widthF (), h - painter.pen ().widthF ()); + painter.drawRect (r); + painter.setFont (font ()); + painter.drawText (r, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, text); -#if QT_VERSION > 0x050000 - pxmp.setDevicePixelRatio (dpr); -#endif - - (mp_ui->*(cfg6_buttons [i]))->setIconSize (pxmp.size ()); + QPixmap pxmp = QPixmap::fromImage (image); + (mp_ui->*(cfg6_buttons [i]))->setIconSize (QSize (w, h)); (mp_ui->*(cfg6_buttons [i]))->setIcon (QIcon (pxmp)); } @@ -1433,7 +1429,7 @@ LayoutViewConfigPage6a::update () const unsigned int w = 26; #if QT_VERSION > 0x050000 - unsigned int dpr = 1; //devicePixelRatio (); + unsigned int dpr = devicePixelRatio (); #else unsigned int dpr = 1; #endif @@ -1450,11 +1446,8 @@ LayoutViewConfigPage6a::update () painter.setBackgroundMode (Qt::TransparentMode); painter.drawPixmap (0, 0, w, h, bitmap); - QPixmap pixmap = QPixmap::fromImage (image); // Qt 4.6.0 workaround -#if QT_VERSION > 0x050000 - pixmap.setDevicePixelRatio (dpr); -#endif - b->setIconSize (pixmap.size ()); + QPixmap pixmap = QPixmap::fromImage (image); + b->setIconSize (QSize (w, h)); b->setIcon (QIcon (pixmap)); } From f32da6aa879a5a40b320a65f251b9461e570b4dc Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Sep 2022 12:19:06 +0200 Subject: [PATCH 42/52] Properly scaling line width for high-DPI displays --- src/laybasic/laybasic/layLayoutCanvas.cc | 109 +++++++++++++++-------- src/laybasic/laybasic/layLayoutCanvas.h | 7 +- src/laybasic/laybasic/layLineStyles.cc | 11 ++- 3 files changed, 89 insertions(+), 38 deletions(-) diff --git a/src/laybasic/laybasic/layLayoutCanvas.cc b/src/laybasic/laybasic/layLayoutCanvas.cc index eb83b0f39..b2a8f9e71 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.cc +++ b/src/laybasic/laybasic/layLayoutCanvas.cc @@ -281,7 +281,6 @@ LayoutCanvas::LayoutCanvas (lay::LayoutViewBase *view) mp_image_fg (0), m_background (0), m_foreground (0), m_active (0), m_oversampling (1), - m_dpr (1), m_need_redraw (false), m_redraw_clearing (false), m_redraw_force_update (true), @@ -329,6 +328,20 @@ LayoutCanvas::~LayoutCanvas () clear_fg_bitmaps (); } +#if defined(HAVE_QT) +double +LayoutCanvas::dpr () +{ + return widget () ? widget ()->devicePixelRatio () : 1.0; +} +#else +double +LayoutCanvas::dpr () +{ + return 1.0; +} +#endif + #if defined(HAVE_QT) void LayoutCanvas::init_ui (QWidget *parent) @@ -337,10 +350,6 @@ LayoutCanvas::init_ui (QWidget *parent) if (widget ()) { -#if QT_VERSION > 0x050000 - m_dpr = widget ()->devicePixelRatio (); -#endif - widget ()->setObjectName (QString::fromUtf8 ("canvas")); widget ()->setBackgroundRole (QPalette::NoRole); @@ -419,6 +428,7 @@ LayoutCanvas::set_view_ops (std::vector &view_ops) { if (view_ops != m_view_ops) { m_view_ops.swap (view_ops); + m_scaled_view_ops.clear (); update_image (); } } @@ -428,6 +438,7 @@ LayoutCanvas::set_dither_pattern (const lay::DitherPattern &p) { if (p != m_dither_pattern) { m_dither_pattern = p; + m_scaled_dither_pattern.clear (); update_image (); } } @@ -441,12 +452,52 @@ LayoutCanvas::set_line_styles (const lay::LineStyles &s) } } +const std::vector & +LayoutCanvas::scaled_view_ops (unsigned int lw) +{ + if (lw <= 1) { + return m_view_ops; + } + + auto cached = m_scaled_view_ops.find (lw); + if (cached != m_scaled_view_ops.end ()) { + return cached->second; + } + + std::vector &scaled_view_ops = m_scaled_view_ops [lw]; + scaled_view_ops = m_view_ops; + for (std::vector::iterator vo = scaled_view_ops.begin (); vo != scaled_view_ops.end (); ++vo) { + vo->width (std::min (31, vo->width () * int (lw))); + } + + return scaled_view_ops; +} + +const lay::DitherPattern & +LayoutCanvas::scaled_dither_pattern (unsigned int lw) +{ + if (lw <= 1) { + return m_dither_pattern; + } + + auto cached = m_scaled_dither_pattern.find (lw); + if (cached != m_scaled_dither_pattern.end ()) { + return cached->second; + } + + lay::DitherPattern &scaled_dither_pattern = m_scaled_dither_pattern [lw]; + scaled_dither_pattern = m_dither_pattern; + // @@@ TODO: scale + + return scaled_dither_pattern; +} + void LayoutCanvas::prepare_drawing () { if (m_need_redraw) { - BitmapViewObjectCanvas::set_size (m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling * m_dpr)); + BitmapViewObjectCanvas::set_size (m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling * dpr ())); if (! mp_image || (unsigned int) mp_image->width () != m_viewport_l.width () || @@ -482,7 +533,7 @@ LayoutCanvas::prepare_drawing () ++c; } - mp_redraw_thread->commit (m_layers, m_viewport_l, 1.0 / double (m_oversampling * m_dpr)); + mp_redraw_thread->commit (m_layers, m_viewport_l, 1.0 / double (m_oversampling * dpr ())); if (tl::verbosity () >= 20) { tl::info << "Restored image from cache"; @@ -532,7 +583,7 @@ LayoutCanvas::prepare_drawing () } if (m_redraw_clearing) { - mp_redraw_thread->start (mp_view->synchronous () ? 0 : mp_view->drawing_workers (), m_layers, m_viewport_l, 1.0 / double (m_oversampling * m_dpr), m_redraw_force_update); + mp_redraw_thread->start (mp_view->synchronous () ? 0 : mp_view->drawing_workers (), m_layers, m_viewport_l, 1.0 / double (m_oversampling * dpr ()), m_redraw_force_update); } else { mp_redraw_thread->restart (m_need_redraw_layer); } @@ -603,7 +654,7 @@ LayoutCanvas::paint_event () } // render the main bitmaps - to_image (m_view_ops, dither_pattern (), line_styles (), background_color (), foreground_color (), active_color (), this, *mp_image, m_viewport_l.width (), m_viewport_l.height ()); + to_image (scaled_view_ops (m_oversampling * dpr ()), scaled_dither_pattern (m_oversampling * dpr ()), line_styles (), background_color (), foreground_color (), active_color (), this, *mp_image, m_viewport_l.width (), m_viewport_l.height ()); if (mp_image_fg) { delete mp_image_fg; @@ -670,7 +721,7 @@ LayoutCanvas::paint_event () QPainter painter (widget ()); QImage img = mp_image_fg->to_image (); #if QT_VERSION > 0x050000 - img.setDevicePixelRatio (double (m_dpr)); + img.setDevicePixelRatio (dpr ()); #endif painter.drawImage (QPoint (0, 0), img); @@ -686,7 +737,7 @@ LayoutCanvas::paint_event () if (m_oversampling == 1) { QImage img = full_image.to_image (); #if QT_VERSION > 0x050000 - img.setDevicePixelRatio (double (m_dpr)); + img.setDevicePixelRatio (dpr ()); #endif painter.drawImage (QPoint (0, 0), img); } else { @@ -695,7 +746,7 @@ LayoutCanvas::paint_event () subsample (full_image, subsampled_image, m_oversampling, m_gamma); QImage img = subsampled_image.to_image (); #if QT_VERSION > 0x050000 - img.setDevicePixelRatio (double (m_dpr)); + img.setDevicePixelRatio (dpr ()); #endif painter.drawImage (QPoint (0, 0), img); } @@ -884,13 +935,6 @@ LayoutCanvas::image_with_options (unsigned int width, unsigned int height, int l Viewport vp (width * oversampling, height * oversampling, tb); vp.set_global_trans (m_viewport.global_trans ()); - std::vector view_ops (m_view_ops); - if (linewidth > 1) { - for (std::vector::iterator vo = view_ops.begin (); vo != view_ops.end (); ++vo) { - vo->width (std::min (31, vo->width () * linewidth)); - } - } - lay::RedrawThread redraw_thread (&rd_canvas, mp_view); // render the layout @@ -901,7 +945,7 @@ LayoutCanvas::image_with_options (unsigned int width, unsigned int height, int l do_render_bg (vp, vo_canvas); // paint the layout bitmaps - rd_canvas.to_image (view_ops, dither_pattern (), line_styles (), background, foreground, active, this, *vo_canvas.bg_image (), vp.width (), vp.height ()); + rd_canvas.to_image (scaled_view_ops (linewidth), scaled_dither_pattern (1.0 / resolution + 0.5), line_styles (), background, foreground, active, this, *vo_canvas.bg_image (), vp.width (), vp.height ()); // subsample current image to provide the background for the foreground objects vo_canvas.make_background (); @@ -939,13 +983,6 @@ LayoutCanvas::image_with_options_mono (unsigned int width, unsigned int height, Viewport vp (width, height, tb); vp.set_global_trans (m_viewport.global_trans ()); - std::vector view_ops (m_view_ops); - if (linewidth > 1) { - for (std::vector::iterator vo = view_ops.begin (); vo != view_ops.end (); ++vo) { - vo->width (std::min (31, vo->width () * linewidth)); - } - } - lay::RedrawThread redraw_thread (&rd_canvas, mp_view); // render the layout @@ -955,7 +992,7 @@ LayoutCanvas::image_with_options_mono (unsigned int width, unsigned int height, tl::BitmapBuffer img (width, height); img.fill (background); - rd_canvas.to_image_mono (view_ops, dither_pattern (), line_styles (), background, foreground, active, this, img, vp.width (), vp.height ()); + rd_canvas.to_image_mono (scaled_view_ops (linewidth), scaled_dither_pattern (linewidth), line_styles (), background, foreground, active, this, img, vp.width (), vp.height ()); return img; } @@ -969,13 +1006,13 @@ LayoutCanvas::screenshot () tl::PixelBuffer img (m_viewport.width (), m_viewport.height ()); img.fill (m_background); - DetachedViewObjectCanvas vo_canvas (background_color (), foreground_color (), active_color (), m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling * m_dpr), &img); + DetachedViewObjectCanvas vo_canvas (background_color (), foreground_color (), active_color (), m_viewport_l.width (), m_viewport_l.height (), 1.0 / double (m_oversampling * dpr ()), &img); // and paint the background objects. It uses "img" to paint on. do_render_bg (m_viewport_l, vo_canvas); // paint the layout bitmaps - to_image (m_view_ops, dither_pattern (), line_styles (), background_color (), foreground_color (), active_color (), this, *vo_canvas.bg_image (), m_viewport_l.width (), m_viewport_l.height ()); + to_image (scaled_view_ops (m_oversampling * dpr ()), scaled_dither_pattern (m_oversampling * dpr ()), line_styles (), background_color (), foreground_color (), active_color (), this, *vo_canvas.bg_image (), m_viewport_l.width (), m_viewport_l.height ()); // subsample current image to provide the background for the foreground objects vo_canvas.make_background (); @@ -993,8 +1030,8 @@ LayoutCanvas::screenshot () void LayoutCanvas::resize_event (unsigned int width, unsigned int height) { - unsigned int w = width * m_dpr, h = height * m_dpr; - unsigned int wl = width * m_oversampling * m_dpr, hl = height * m_oversampling * m_dpr; + unsigned int w = width * dpr () + 0.5, h = height * dpr () + 0.5; + unsigned int wl = width * m_oversampling * dpr () + 0.5, hl = height * m_oversampling * dpr () + 0.5; if (m_viewport.width () != w || m_viewport.height () != h || m_viewport_l.width () != wl || m_viewport_l.height () != hl) { @@ -1003,10 +1040,10 @@ LayoutCanvas::resize_event (unsigned int width, unsigned int height) m_image_cache.clear (); // set the viewport to the new size - m_viewport.set_size (width * m_dpr, height * m_dpr); - m_viewport_l.set_size (width * m_oversampling * m_dpr, height * m_oversampling * m_dpr); + m_viewport.set_size (width * dpr () + 0.5, height * dpr () + 0.5); + m_viewport_l.set_size (width * m_oversampling * dpr () + 0.5, height * m_oversampling * dpr () + 0.5); - mouse_event_trans (db::DCplxTrans (1.0 / double (m_dpr)) * m_viewport.trans ()); + mouse_event_trans (db::DCplxTrans (1.0 / dpr ()) * m_viewport.trans ()); do_redraw_all (true); viewport_changed_event (); @@ -1016,7 +1053,7 @@ LayoutCanvas::resize_event (unsigned int width, unsigned int height) void LayoutCanvas::update_viewport () { - mouse_event_trans (db::DCplxTrans (1.0 / double (m_dpr)) * m_viewport.trans ()); + mouse_event_trans (db::DCplxTrans (1.0 / dpr ()) * m_viewport.trans ()); for (service_iterator svc = begin_services (); svc != end_services (); ++svc) { (*svc)->update (); } diff --git a/src/laybasic/laybasic/layLayoutCanvas.h b/src/laybasic/laybasic/layLayoutCanvas.h index a09dbecca..1a4aaad26 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.h +++ b/src/laybasic/laybasic/layLayoutCanvas.h @@ -378,8 +378,9 @@ private: std::vector m_view_ops; lay::DitherPattern m_dither_pattern; lay::LineStyles m_line_styles; + std::map > m_scaled_view_ops; + std::map m_scaled_dither_pattern; unsigned int m_oversampling; - unsigned int m_dpr; double m_gamma; bool m_need_redraw; @@ -417,6 +418,10 @@ private: void do_redraw_all (bool force_redraw = true); void prepare_drawing (); + double dpr (); + + const std::vector &scaled_view_ops(unsigned int lw); + const DitherPattern &scaled_dither_pattern(unsigned int lw); }; } // namespace lay diff --git a/src/laybasic/laybasic/layLineStyles.cc b/src/laybasic/laybasic/layLineStyles.cc index e086f19ae..72fb20c02 100644 --- a/src/laybasic/laybasic/layLineStyles.cc +++ b/src/laybasic/laybasic/layLineStyles.cc @@ -262,7 +262,12 @@ LineStyleInfo::scale_pattern (unsigned int n) uint32_t *pp = m_pattern; uint32_t pt = m_pattern [0]; + uint32_t ptr = pt >> 1; // right-rotated by 1 + if (pt & 1) { + ptr |= (1 << (m_width - 1)); + } uint32_t dd = pt; + uint32_t ddr = ptr; memset (m_pattern, 0, sizeof (m_pattern)); @@ -271,14 +276,18 @@ LineStyleInfo::scale_pattern (unsigned int n) for (unsigned int i = 0; i < m_pattern_stride; ++i) { uint32_t dout = 0; for (uint32_t m = 1; m != 0; m <<= 1) { - if ((dd & 1) != 0) { + // NOTE: we do not fully expand "1" fields with a following "0" as pixel expansion + // will take care of this. + if ((dd & 1) != 0 && ((ddr & 1) != 0 || bi == 0)) { dout |= m; } if (++bi == n) { bi = 0; dd >>= 1; + ddr >>= 1; if (++b == m_width) { dd = pt; + ddr = ptr; b = 0; } } From ef5cd11629954642d91641f334bd8a143a000ae5 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Sep 2022 13:19:52 +0200 Subject: [PATCH 43/52] Properly scaling line width for high-DPI displays --- src/laybasic/laybasic/layDitherPattern.cc | 102 ++++++++++++++++++++++ src/laybasic/laybasic/layDitherPattern.h | 20 ++++- src/laybasic/laybasic/layLayoutCanvas.cc | 2 +- 3 files changed, 122 insertions(+), 2 deletions(-) diff --git a/src/laybasic/laybasic/layDitherPattern.cc b/src/laybasic/laybasic/layDitherPattern.cc index ede9eee47..5637b7afc 100644 --- a/src/laybasic/laybasic/layDitherPattern.cc +++ b/src/laybasic/laybasic/layDitherPattern.cc @@ -654,6 +654,100 @@ DitherPatternInfo::set_pattern (const uint32_t *pt, unsigned int w, unsigned int } } +void +DitherPatternInfo::set_pattern (const uint64_t *pt, unsigned int w, unsigned int h) +{ + // pattern size must be 1x1 at least + if (w == 0 || h == 0) { + uint32_t zero = 0; + set_pattern (&zero, 1, 1); + return; + } + + memset (m_buffer, 0, sizeof (m_buffer)); + + if (w >= 64) { + w = 64; + } + m_width = w; + + if (h >= 64) { + h = 64; + } + m_height = h; + + // compute pattern stride + m_pattern_stride = 1; + while ((m_pattern_stride * 32) % w != 0) { + ++m_pattern_stride; + } + + uint32_t *pp = &m_buffer[0]; + + for (unsigned int j = 0; j < sizeof (m_pattern) / sizeof (m_pattern [0]); ++j) { + + m_pattern [j] = pp; + + uint64_t din = pt[j % h]; + uint64_t dd = din; + + unsigned int b = 0; + for (unsigned int i = 0; i < m_pattern_stride; ++i) { + uint32_t dout = 0; + for (uint32_t m = 1; m != 0; m <<= 1) { + if ((dd & 1) != 0) { + dout |= m; + } + dd >>= 1; + if (++b == w) { + dd = din; + b = 0; + } + } + *pp++ = dout; + } + + } +} + +void +DitherPatternInfo::scale_pattern (unsigned int n) +{ + // limit scale factor such that the width and height do not get larger than 64 + while (n * m_width > 64 || n * m_height > 64) { + --n; + } + + if (n <= 1) { + return; + } + + std::vector new_pattern; + new_pattern.resize (n * m_height, (uint64_t) 0); + + for (unsigned int r = 0; r < n * m_height; ++r) { + + const uint32_t *p = pattern () [r / n]; + + uint64_t d = 0; + uint64_t mm = 1; + uint32_t m = 1; + for (unsigned int c = 0; c < m_width; ++c) { + for (unsigned int b = 0; b < n; ++b) { + if ((*p & m) != 0) { + d |= mm; + } + mm <<= 1; + } + } + + new_pattern [r] = d; + + } + + set_pattern (new_pattern.begin ().operator-> (), n * m_width, n * m_height); +} + std::string DitherPatternInfo::to_string () const { @@ -874,6 +968,14 @@ DitherPattern::add_pattern (const DitherPatternInfo &p) return index; } +void +DitherPattern::scale_pattern (unsigned int n) +{ + for (auto i = m_pattern.begin (); i != m_pattern.end (); ++i) { + i->scale_pattern (n); + } +} + namespace { struct display_order { diff --git a/src/laybasic/laybasic/layDitherPattern.h b/src/laybasic/laybasic/layDitherPattern.h index 9c86eb2e1..38ae97080 100644 --- a/src/laybasic/laybasic/layDitherPattern.h +++ b/src/laybasic/laybasic/layDitherPattern.h @@ -164,6 +164,11 @@ public: */ void set_pattern (const uint32_t *pattern, unsigned int w, unsigned int h); + /** + * @brief Replaces the dither pattern (64 bit version) + */ + void set_pattern (const uint64_t *pattern, unsigned int w, unsigned int h); + /** * @brief Gets the pattern stride * @@ -192,6 +197,14 @@ public: return m_height; } + /** + * @brief Scales the existing pattern + * + * Each bit is stretch into n bits vertically and horizontally. + * Smart interpolation is attempted. + */ + void scale_pattern (unsigned int n); + /** * @brief Load from a string */ @@ -214,7 +227,7 @@ public: private: uint32_t *m_pattern[64]; - uint32_t m_buffer [64 * 32]; + uint32_t m_buffer [64 * 64]; unsigned int m_width, m_height; unsigned int m_pattern_stride; unsigned int m_order_index; @@ -314,6 +327,11 @@ public: */ unsigned int add_pattern (const DitherPatternInfo &p); + /** + * @brief Scales the pattern by the given factor + */ + void scale_pattern (unsigned int n); + /** * @brief Renumber the order indices to numbers increasing by 1 only * diff --git a/src/laybasic/laybasic/layLayoutCanvas.cc b/src/laybasic/laybasic/layLayoutCanvas.cc index b2a8f9e71..134057b6b 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.cc +++ b/src/laybasic/laybasic/layLayoutCanvas.cc @@ -487,7 +487,7 @@ LayoutCanvas::scaled_dither_pattern (unsigned int lw) lay::DitherPattern &scaled_dither_pattern = m_scaled_dither_pattern [lw]; scaled_dither_pattern = m_dither_pattern; - // @@@ TODO: scale + scaled_dither_pattern.scale_pattern (lw); return scaled_dither_pattern; } From 48e3643a87a0f31c749c6cae9379bcbbaaf176ae Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Sep 2022 16:09:11 +0200 Subject: [PATCH 44/52] Attempting extrapolation of fill pattern --- src/laybasic/laybasic/layDitherPattern.cc | 83 +++++++++++++++++++---- 1 file changed, 71 insertions(+), 12 deletions(-) diff --git a/src/laybasic/laybasic/layDitherPattern.cc b/src/laybasic/laybasic/layDitherPattern.cc index 5637b7afc..91c0db8fe 100644 --- a/src/laybasic/laybasic/layDitherPattern.cc +++ b/src/laybasic/laybasic/layDitherPattern.cc @@ -725,23 +725,82 @@ DitherPatternInfo::scale_pattern (unsigned int n) std::vector new_pattern; new_pattern.resize (n * m_height, (uint64_t) 0); - for (unsigned int r = 0; r < n * m_height; ++r) { + for (unsigned int r = 0; r < m_height; ++r) { - const uint32_t *p = pattern () [r / n]; + const uint32_t *p = pattern () [r]; + const uint32_t *pb = pattern () [(r + m_height - 1) % m_height]; + const uint32_t *pt = pattern () [(r + 1) % m_height]; - uint64_t d = 0; - uint64_t mm = 1; - uint32_t m = 1; - for (unsigned int c = 0; c < m_width; ++c) { - for (unsigned int b = 0; b < n; ++b) { - if ((*p & m) != 0) { - d |= mm; + for (unsigned int l = 0; l < n; ++l) { + + const uint32_t *py1 = (l < n / 2) ? pb : pt; + const uint32_t *py2 = (l < n / 2) ? pt : pb; + + uint64_t d = 0; + uint64_t mm = 1; + uint32_t m = 1; + uint32_t mmax = 1 << m_width; + uint32_t ml = m_width > 1 ? (1 << (m_width - 1)) : 1; + uint32_t mr = m_width > 1 ? 2 : 1; + + for (unsigned int c = 0; c < m_width; ++c) { + for (unsigned int b = 0; b < n; ++b) { + if ((*p & m) != 0) { + d |= mm; + } else { + // Try interpolation. + // In the following cases, the center's pixel lower-right quadrant fill be filled: + // + // (A1) (A2) (A3) + // x 0 0 x 0 0 x 0 1 + // 0 0 1 0 0 1 0 0 1 + // 0 1 x 1 1 x 0 1 x + // + // (B1) (B2) + // 0 1 x 0 0 0 + // 0 0 1 1 0 1 + // 0 1 x x 1 x + // + // For easy implementation, we encode the pattern into a byte k with the following significant bits + // (for lower-right subpixel, mirrored accordingly for the other subpixels) + // + // k bits: + // 0 1 2 + // 3 - 4 + // 5 6 7 + // + uint32_t mx1 = (b < n / 2) ? ml : mr; + uint32_t mx2 = (b < n / 2) ? mr : ml; + uint8_t k = ((*py2 & mx2) != 0 ? 1 : 0) | + ((*py2 & m) != 0 ? 2 : 0) | + ((*py2 & mx1) != 0 ? 4 : 0) | + ((*p & mx2) != 0 ? 8 : 0) | + ((*p & mx1) != 0 ? 16 : 0) | + ((*py1 & mx2) != 0 ? 32 : 0) | + ((*py1 & m) != 0 ? 64 : 0) | + ((*py1 & mx1) != 0 ? 128 : 0); + if ((k & 0x7e) == 0x50 /*(A1)*/ || + (k & 0x7e) == 0x70 /*(A2)*/ || + (k & 0x7e) == 0x54 /*(A3)*/ || + (k & 0x7b) == 0x52 /*(B1)*/ || + (k & 0x5f) == 0x58 /*(B2)*/) { + d |= mm; + } + } + mm <<= 1; + } + m <<= 1; + if ((ml <<= 1) == mmax) { + ml = 1; + } + if ((mr <<= 1) == mmax) { + mr = 1; } - mm <<= 1; } - } - new_pattern [r] = d; + new_pattern [r * n + l] = d; + + } } From e5fabb2b13561117090951b7a196332bb4733272 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Sep 2022 17:37:49 +0200 Subject: [PATCH 45/52] Using scaled dither pattern pixmaps in the UI elements --- src/laybasic/laybasic/layDitherPattern.cc | 32 ++++++------------- src/laybasic/laybasic/layDitherPattern.h | 15 +-------- src/layui/layui/layLayerToolbox.cc | 34 ++++++++------------- src/layui/layui/layLayoutViewConfigPages.cc | 24 ++++++--------- src/layui/layui/layWidgets.cc | 33 +++++++++++++++----- 5 files changed, 58 insertions(+), 80 deletions(-) diff --git a/src/laybasic/laybasic/layDitherPattern.cc b/src/laybasic/laybasic/layDitherPattern.cc index 91c0db8fe..e070c44bb 100644 --- a/src/laybasic/laybasic/layDitherPattern.cc +++ b/src/laybasic/laybasic/layDitherPattern.cc @@ -560,7 +560,7 @@ DitherPatternInfo::operator< (const DitherPatternInfo &d) const // TODO including a scaling algorithm in this formula, or give more resolution to the dither QBitmap -DitherPatternInfo::get_bitmap (int width, int height) const +DitherPatternInfo::get_bitmap (int width, int height, int frame_width) const { if (height < 0) { height = 36; @@ -568,6 +568,7 @@ DitherPatternInfo::get_bitmap (int width, int height) const if (width < 0) { width = 34; } + unsigned int fw = frame_width < 0 ? 1 : frame_width; const uint32_t * const *p = pattern (); unsigned int stride = (width + 7) / 8; @@ -575,17 +576,14 @@ DitherPatternInfo::get_bitmap (int width, int height) const unsigned char *data = new unsigned char[stride * height]; memset (data, 0x00, size_t (stride * height)); - for (unsigned int i = 1; i < (unsigned int)(height - 1); ++i) { - for (unsigned int j = 0; j < stride; ++j) { - data [i * stride + j] = 0xff; + for (unsigned int i = 0; i < (unsigned int) height; ++i) { + uint32_t w = 0xffffffff; + if (i >= fw && i < (unsigned int) height - fw) { + w = *(p [(height - 1 - i) % m_height]); } - } - - for (unsigned int i = 0; i < (unsigned int)(height - 4); ++i) { - uint32_t w = *(p [(height - 5 - i) % m_height]); - for (unsigned int j = 0; j < (unsigned int)(width - 2); ++j) { - if (! (w & (1 << (j % m_width)))) { - data [stride * (i + 2) + (j + 1) / 8] &= ~(1 << ((j + 1) % 8)); + for (unsigned int j = 0; j < (unsigned int) width; ++j) { + if (j < fw || j >= (unsigned int) width - fw || (w & (1 << (j % m_width))) != 0) { + data [stride * i + j / 8] |= (1 << (j % 8)); } } } @@ -965,18 +963,6 @@ DitherPattern::operator= (const DitherPattern &p) return *this; } -#if defined(HAVE_QT) -QBitmap -DitherPattern::get_bitmap (unsigned int i, int width, int height) const -{ - if (i < count ()) { - return m_pattern [i].get_bitmap (width, height); - } else { - return m_pattern [1].get_bitmap (width, height); - } -} -#endif - const DitherPatternInfo & DitherPattern::pattern (unsigned int i) const { diff --git a/src/laybasic/laybasic/layDitherPattern.h b/src/laybasic/laybasic/layDitherPattern.h index 38ae97080..9a2e91836 100644 --- a/src/laybasic/laybasic/layDitherPattern.h +++ b/src/laybasic/laybasic/layDitherPattern.h @@ -135,7 +135,7 @@ public: * @param width The desired width (-1 for default) * @param height The desired height (-1 for default) */ - QBitmap get_bitmap (int width = -1, int height = -1) const; + QBitmap get_bitmap (int width = -1, int height = -1, int frame_width = -1) const; #endif /** @@ -287,19 +287,6 @@ public: return m_pattern != p.m_pattern; } -#if defined(HAVE_QT) - /** - * @brief Gets a monochrome bitmap object for this pattern - * - * If the index is not valid, an empty bitmap is returned. - * - * @param i The index of the pattern to get the bitmap of - * @param width The desired width (-1 for default) - * @param height The desired height (-1 for default) - */ - QBitmap get_bitmap (unsigned int i, int width = -1, int height = -1) const; -#endif - /** * @brief Deliver the pattern with the given index * diff --git a/src/layui/layui/layLayerToolbox.cc b/src/layui/layui/layLayerToolbox.cc index 9ca37c265..d9ddd6a89 100644 --- a/src/layui/layui/layLayerToolbox.cc +++ b/src/layui/layui/layLayerToolbox.cc @@ -193,7 +193,7 @@ LCPDitherPalette::LCPDitherPalette (QWidget *parent, const char *name) void LCPDitherPalette::create_pixmap_for (LCPActiveLabel *b, int n) { - const lay::DitherPattern &pattern = !mp_view ? lay::DitherPattern::default_pattern () : mp_view->dither_pattern (); + lay::DitherPattern pattern = !mp_view ? lay::DitherPattern::default_pattern () : mp_view->dither_pattern (); QColor color0 = b->palette ().color (QPalette::Normal, b->backgroundRole ()); QColor color1 = b->palette ().color (QPalette::Normal, b->foregroundRole ()); @@ -207,23 +207,22 @@ LCPDitherPalette::create_pixmap_for (LCPActiveLabel *b, int n) unsigned int dpr = 1; #endif + pattern.scale_pattern (dpr); + QImage image (w * dpr, h * dpr, QImage::Format_RGB32); image.fill (color0.rgb ()); #if QT_VERSION > 0x050000 image.setDevicePixelRatio (dpr); #endif - // TODO include a scaling algorithm in get_bitmap, because it looks small in highDPI screens - QBitmap bitmap = pattern.pattern (n).get_bitmap (w * dpr, h * dpr); + QBitmap bitmap = pattern.pattern (n).get_bitmap (w * dpr, h * dpr, dpr); QPainter painter (&image); + painter.setPen (QPen (color1)); painter.setBackgroundMode (Qt::TransparentMode); painter.drawPixmap (0, 0, w, h, bitmap); - QPixmap pixmap = QPixmap::fromImage (image); // Qt 4.6.0 workaround -#if QT_VERSION > 0x050000 - pixmap.setDevicePixelRatio (dpr); -#endif + QPixmap pixmap = QPixmap::fromImage (image); b->setPixmap (pixmap); } @@ -632,31 +631,22 @@ LCPStylePalette::create_pixmap_for_line_style (LCPActiveLabel *b, int n) QColor color0 = b->palette ().color (QPalette::Normal, b->backgroundRole ()); QColor color1 = b->palette ().color (QPalette::Normal, b->foregroundRole ()); + // NOTE: we intentionally don't apply devicePixelRatio here as this way, the + // image looks more like the style applied on the layout canvas. + const unsigned int h = 14; const unsigned int w = 24; -#if QT_VERSION > 0x050000 - unsigned int dpr = devicePixelRatio (); -#else - unsigned int dpr = 1; -#endif - - QImage image (dpr * w, dpr * h, QImage::Format_RGB32); + QImage image (w, h, QImage::Format_RGB32); image.fill (color0.rgb ()); -#if QT_VERSION > 0x050000 - image.setDevicePixelRatio (dpr); -#endif - QBitmap bitmap = styles.style (n).get_bitmap (dpr * w, dpr * h); + QBitmap bitmap = styles.style (n).get_bitmap (w, h); QPainter painter (&image); painter.setPen (QPen (color1)); painter.setBackgroundMode (Qt::TransparentMode); painter.drawPixmap (0, 0, w, h, bitmap); - QPixmap pixmap = QPixmap::fromImage (image); // Qt 4.6.0 workaround -#if QT_VERSION > 0x050000 - pixmap.setDevicePixelRatio (dpr); -#endif + QPixmap pixmap = QPixmap::fromImage (image); b->setPixmap (pixmap); } diff --git a/src/layui/layui/layLayoutViewConfigPages.cc b/src/layui/layui/layLayoutViewConfigPages.cc index 2d0a029a0..9ce5194fa 100644 --- a/src/layui/layui/layLayoutViewConfigPages.cc +++ b/src/layui/layui/layLayoutViewConfigPages.cc @@ -1239,15 +1239,17 @@ LayoutViewConfigPage6::update () image.fill (color0.rgb ()); // copying code from layLayerToolbox.cc - QBitmap bitmap = m_pattern.pattern ((unsigned int) s).get_bitmap (w * dpr, h * dpr); + lay::DitherPatternInfo info = m_pattern.pattern ((unsigned int) s); + info.scale_pattern (dpr); + + QBitmap bitmap = info.get_bitmap (w * dpr, h * dpr, dpr); QPainter painter (&image); painter.setPen (QPen (color1)); painter.setBackgroundMode (Qt::TransparentMode); painter.drawPixmap (0, 0, w, h, bitmap); - painter.setPen (QPen (palette ().color (QPalette::Active, QPalette::Text), 1.0 / dpr)); + painter.setPen (QPen (palette ().color (QPalette::Active, QPalette::Text), 1.0)); QRectF r (0, 0, w - painter.pen ().widthF (), h - painter.pen ().widthF ()); - painter.drawRect (r); painter.setFont (font ()); painter.drawText (r, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, text); @@ -1425,22 +1427,16 @@ LayoutViewConfigPage6a::update () QColor color0 = b->palette ().color (QPalette::Normal, b->backgroundRole ()); QColor color1 = b->palette ().color (QPalette::Normal, b->foregroundRole ()); + // NOTE: we intentionally don't apply devicePixelRatio here as this way, the + // image looks more like the style applied on the layout canvas. + const unsigned int h = 26; const unsigned int w = 26; -#if QT_VERSION > 0x050000 - unsigned int dpr = devicePixelRatio (); -#else - unsigned int dpr = 1; -#endif - - QImage image (w * dpr, h * dpr, QImage::Format_RGB32); + QImage image (w, h, QImage::Format_RGB32); image.fill (color0.rgb ()); -#if QT_VERSION > 0x050000 - image.setDevicePixelRatio (dpr); -#endif - QBitmap bitmap = m_style.style (s).get_bitmap (w * dpr, h * dpr); + QBitmap bitmap = m_style.style (s).get_bitmap (w, h); QPainter painter (&image); painter.setPen (QPen (color1)); painter.setBackgroundMode (Qt::TransparentMode); diff --git a/src/layui/layui/layWidgets.cc b/src/layui/layui/layWidgets.cc index 2fe2b043b..12f7b61a5 100644 --- a/src/layui/layui/layWidgets.cc +++ b/src/layui/layui/layWidgets.cc @@ -151,9 +151,18 @@ DitherPatternSelectionButton::update_pattern () QPushButton::setIconSize (QSize (rt.width (), rt.height ())); +#if QT_VERSION >= 0x050000 + double dpr = devicePixelRatio (); +#else + double dpr = 1.0; +#endif + if (m_dither_pattern < 0) { - QPixmap pixmap (rt.width (), rt.height ()); + QPixmap pixmap (rt.width () * dpr, rt.height () * dpr); +#if QT_VERSION >= 0x050000 + pixmap.setDevicePixelRatio (dpr); +#endif pixmap.fill (QColor (0, 0, 0, 0)); QPainter pxpainter (&pixmap); @@ -161,20 +170,27 @@ DitherPatternSelectionButton::update_pattern () QColor text_color = palette ().color (QPalette::Active, QPalette::Text); pxpainter.setPen (QPen (text_color)); - QRect r (0, 0, pixmap.width () - 1, pixmap.height () - 1); + QRectF r (0, 0, rt.width () - pxpainter.pen ().widthF (), rt.height () - pxpainter.pen ().widthF ()); pxpainter.drawText (r, Qt::AlignHCenter | Qt::AlignVCenter | Qt::TextSingleLine, QObject::tr ("None")); QPushButton::setIcon (QIcon (pixmap)); } else { + lay::DitherPatternInfo dp_info; if (mp_view) { - QPushButton::setIcon (QIcon (mp_view->dither_pattern ().get_bitmap ((unsigned int) m_dither_pattern, rt.width (), rt.height ()))); + dp_info = mp_view->dither_pattern ().pattern ((unsigned int) m_dither_pattern); } else { - lay::DitherPattern default_pattern; - QPushButton::setIcon (QIcon (default_pattern.get_bitmap ((unsigned int) m_dither_pattern, rt.width (), rt.height ()))); + static lay::DitherPattern default_pattern; + dp_info= default_pattern.pattern ((unsigned int) m_dither_pattern); } + if (dpr > 1) { + dp_info.scale_pattern (dpr); + } + + QPushButton::setIcon (dp_info.get_bitmap (rt.width () * dpr, rt.height () * dpr, dpr)); + } } @@ -208,14 +224,17 @@ DitherPatternSelectionButton::update_menu () unsigned int n = palette.stipple_by_index (i); if (int (n) < std::distance (patterns.begin (), patterns.end ())) { - const lay::DitherPatternInfo &info = patterns.begin () [n]; + lay::DitherPatternInfo info = patterns.begin () [n]; +#if QT_VERSION > 0x050000 + info.scale_pattern (devicePixelRatio ()); +#endif std::string name (info.name ()); if (name.empty ()) { name = tl::sprintf ("#%d", n); } - menu ()->addAction (QIcon (info.get_bitmap ()), tl::to_qstring (name), this, SLOT (menu_selected ()))->setData (n); + menu ()->addAction (QIcon (info.get_bitmap (-1, -1, devicePixelRatio ())), tl::to_qstring (name), this, SLOT (menu_selected ()))->setData (n); } } From a6d4cdd254154d2fbb07c6e2b27132423c55814c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Sep 2022 18:02:37 +0200 Subject: [PATCH 46/52] More scaled pixmaps for dither pattern icons --- src/laybasic/laybasic/layDitherPattern.h | 1 + src/layui/layui/SelectStippleForm.ui | 4 +-- src/layui/layui/laySelectStippleForm.cc | 32 ++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/laybasic/laybasic/layDitherPattern.h b/src/laybasic/laybasic/layDitherPattern.h index 9a2e91836..a0980e581 100644 --- a/src/laybasic/laybasic/layDitherPattern.h +++ b/src/laybasic/laybasic/layDitherPattern.h @@ -134,6 +134,7 @@ public: * * @param width The desired width (-1 for default) * @param height The desired height (-1 for default) + * @param frame_width The width of the frame around the bitmap */ QBitmap get_bitmap (int width = -1, int height = -1, int frame_width = -1) const; #endif diff --git a/src/layui/layui/SelectStippleForm.ui b/src/layui/layui/SelectStippleForm.ui index 40b6a314b..e4363cd98 100644 --- a/src/layui/layui/SelectStippleForm.ui +++ b/src/layui/layui/SelectStippleForm.ui @@ -54,8 +54,8 @@ - 34 - 36 + 32 + 32 diff --git a/src/layui/layui/laySelectStippleForm.cc b/src/layui/layui/laySelectStippleForm.cc index 76f9354a4..ca15ca0f2 100644 --- a/src/layui/layui/laySelectStippleForm.cc +++ b/src/layui/layui/laySelectStippleForm.cc @@ -77,8 +77,16 @@ namespace { void SelectStippleForm::update () { +#if QT_VERSION >= 0x050000 + double dpr = devicePixelRatio (); +#else + double dpr = 1.0; +#endif + mp_ui->stipple_items->clear (); + QSize icon_size = mp_ui->stipple_items->iconSize (); + if (m_include_nil) { new QListWidgetItem (QObject::tr ("None"), mp_ui->stipple_items); } @@ -91,21 +99,41 @@ SelectStippleForm::update () // fill the list of stipple items for (lay::DitherPattern::iterator i = m_pattern.begin (); i != m_pattern.begin_custom (); ++i) { + std::string name (i->name ()); if (name.empty ()) { name = tl::sprintf ("#%d", std::distance (m_pattern.begin (), i)); } - new QListWidgetItem (QIcon (i->get_bitmap ()), tl::to_qstring (name), mp_ui->stipple_items); + + lay::DitherPatternInfo dp_info = *i; + dp_info.scale_pattern (dpr); + QBitmap bitmap = dp_info.get_bitmap (icon_size.width () * dpr, icon_size.height () * dpr, dpr); +#if QT_VERSION >= 0x050000 + bitmap.setDevicePixelRatio (dpr); +#endif + new QListWidgetItem (QIcon (bitmap), tl::to_qstring (name), mp_ui->stipple_items); + } for (std::vector ::const_iterator i = iters.begin (); i != iters.end (); ++i) { + if ((*i)->order_index () > 0) { + std::string name ((*i)->name ()); if (name.empty ()) { name = tl::sprintf ("custom #%d", (*i)->order_index ()); } - new QListWidgetItem (QIcon ((*i)->get_bitmap ()), tl::to_qstring (name), mp_ui->stipple_items); + + lay::DitherPatternInfo dp_info = **i; + dp_info.scale_pattern (dpr); + QBitmap bitmap = dp_info.get_bitmap (icon_size.width () * dpr, icon_size.height () * dpr, dpr); +#if QT_VERSION >= 0x050000 + bitmap.setDevicePixelRatio (dpr); +#endif + new QListWidgetItem (QIcon (bitmap), tl::to_qstring (name), mp_ui->stipple_items); + } + } } From 029284f48ad1c338a72a61d7f68fee9d4dd9f607 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Sep 2022 20:56:37 +0200 Subject: [PATCH 47/52] Some refactoring, layer icons are scaled for high DPI too now. --- src/edt/edt/edtMainService.cc | 8 ++- src/edt/edt/edtRecentConfigurationPage.cc | 8 ++- src/laybasic/laybasic/layBitmapsToImage.cc | 23 +++---- src/laybasic/laybasic/layBitmapsToImage.h | 7 ++- src/laybasic/laybasic/layDitherPattern.cc | 55 +++++++++++++++- src/laybasic/laybasic/layDitherPattern.h | 9 +++ src/laybasic/laybasic/layLayoutCanvas.cc | 36 +++-------- src/laybasic/laybasic/layLayoutCanvas.h | 4 +- src/laybasic/laybasic/layLayoutViewBase.h | 4 -- src/laybasic/laybasic/layLineStyles.cc | 38 +++++++++-- src/laybasic/laybasic/layLineStyles.h | 6 ++ .../laybasic/layRedrawThreadCanvas.cc | 12 ++-- src/laybasic/laybasic/layRedrawThreadCanvas.h | 4 +- src/laybasic/unit_tests/layBitmapsToImage.cc | 2 +- src/layui/layui/layLayerTreeModel.cc | 63 +++++++++++-------- src/layui/layui/layLayerTreeModel.h | 3 +- src/layui/layui/layLayoutViewConfigPages.cc | 3 +- src/layui/layui/laySelectStippleForm.cc | 6 +- src/layui/layui/layWidgets.cc | 12 ++-- 19 files changed, 196 insertions(+), 107 deletions(-) diff --git a/src/edt/edt/edtMainService.cc b/src/edt/edt/edtMainService.cc index 1ea0436cf..f2a91af17 100644 --- a/src/edt/edt/edtMainService.cc +++ b/src/edt/edt/edtMainService.cc @@ -2204,6 +2204,12 @@ MainService::cm_tap () #if defined(HAVE_QT) // TODO: what to do here in Qt-less case? Store results in configuration so they can be retrieved externally? +#if QT_VERSION >= 0x050000 + double dpr = view_widget->devicePixelRatio (); +#else + double dpr = 1.0; +#endif + std::unique_ptr menu (new QMenu (view_widget)); menu->show (); @@ -2213,7 +2219,7 @@ MainService::cm_tap () QPoint mp = view ()->canvas ()->widget ()->mapToGlobal (QPoint (mp_local.x (), mp_local.y ())); for (std::vector::const_iterator l = tapped_layers.begin (); l != tapped_layers.end (); ++l) { - QAction *a = menu->addAction (lay::LayerTreeModel::icon_for_layer (*l, view (), icon_size, icon_size, 0, true), tl::to_qstring ((*l)->display_string (view (), true, true /*with source*/))); + QAction *a = menu->addAction (lay::LayerTreeModel::icon_for_layer (*l, view (), icon_size, icon_size, dpr, 0, true), tl::to_qstring ((*l)->display_string (view (), true, true /*with source*/))); a->setData (int (l - tapped_layers.begin ())); } diff --git a/src/edt/edt/edtRecentConfigurationPage.cc b/src/edt/edt/edtRecentConfigurationPage.cc index 191ddbb5c..84f831c8d 100644 --- a/src/edt/edt/edtRecentConfigurationPage.cc +++ b/src/edt/edt/edtRecentConfigurationPage.cc @@ -161,6 +161,12 @@ lp_iter_from_string (lay::LayoutViewBase *view, const std::string &s) void RecentConfigurationPage::render_to (QTreeWidgetItem *item, int column, const std::vector &values, RecentConfigurationPage::ConfigurationRendering rendering) { +#if QT_VERSION >= 0x050000 + double dpr = devicePixelRatio (); +#else + double dpr = 1.0; +#endif + // store original value item->setData (column, Qt::UserRole, tl::to_qstring (values [column])); @@ -190,7 +196,7 @@ RecentConfigurationPage::render_to (QTreeWidgetItem *item, int column, const std tl::error << tl::to_string (tr ("Configuration error (Layer): ")) << ex.msg (); } if (! l.is_null () && ! l.at_end ()) { - item->setIcon (column, lay::LayerTreeModel::icon_for_layer (l, view (), icon_size, icon_size, 0, true)); + item->setIcon (column, lay::LayerTreeModel::icon_for_layer (l, view (), icon_size, icon_size, dpr, 0, true)); item->setText (column, tl::to_qstring (values [column])); } else { item->setIcon (column, QIcon ()); diff --git a/src/laybasic/laybasic/layBitmapsToImage.cc b/src/laybasic/laybasic/layBitmapsToImage.cc index 66d10b2d3..17e062233 100644 --- a/src/laybasic/laybasic/layBitmapsToImage.cc +++ b/src/laybasic/laybasic/layBitmapsToImage.cc @@ -405,8 +405,7 @@ static void create_precursor_bitmaps (const std::vector &view_ops_i } lay::Bitmap &bp = precursors.insert (std::make_pair (bm_index, lay::Bitmap (width, height, 1.0))).first->second; - LineStyleInfo ls_info = ls.style (op.line_style_index ()); - ls_info.scale_pattern (op.width ()); + const LineStyleInfo &ls_info = ls.style (op.line_style_index ()).scaled (op.width ()); for (unsigned int y = 0; y < height; y++) { render_scanline_std_edge (ls_info.pattern (), ls_info.pattern_stride (), pbitmaps_in [bm_index], y, width, height, bp.scanline (y)); @@ -426,6 +425,7 @@ bitmaps_to_image (const std::vector &view_ops_in, const std::vector &pbitmaps_in, const lay::DitherPattern &dp, const lay::LineStyles &ls, + double dpr, tl::PixelBuffer *pimage, unsigned int width, unsigned int height, bool use_bitmap_index, tl::Mutex *mutex) @@ -547,8 +547,8 @@ bitmaps_to_image (const std::vector &view_ops_in, const ViewOp &op = view_ops [i]; if (op.width () > 1 || (op.width () == 1 && (non_empty_sls [i] & ne_mask) != 0)) { - const LineStyleInfo &ls_info = ls.style (op.line_style_index ()); - const DitherPatternInfo &dp_info = dp.pattern (op.dither_index ()); + const LineStyleInfo &ls_info = ls.style (op.line_style_index ()).scaled (op.width ()); + const DitherPatternInfo &dp_info = dp.pattern (op.dither_index ()).scaled (dpr); const uint32_t *dither = dp_info.pattern () [(y + op.dither_offset ()) % dp_info.height ()]; if (dither != 0) { @@ -666,6 +666,7 @@ bitmaps_to_image (const std::vector &view_ops_in, const std::vector &pbitmaps_in, const lay::DitherPattern &dp, const lay::LineStyles &ls, + double dpr, tl::BitmapBuffer *pimage, unsigned int width, unsigned int height, bool use_bitmap_index, tl::Mutex *mutex) @@ -784,8 +785,8 @@ bitmaps_to_image (const std::vector &view_ops_in, const ViewOp &op = view_ops [i]; if (op.width () > 1 || (op.width () == 1 && (non_empty_sls [i] & ne_mask) != 0)) { - const LineStyleInfo &ls_info = ls.style (op.line_style_index ()); - const DitherPatternInfo &dp_info = dp.pattern (op.dither_index ()); + const LineStyleInfo &ls_info = ls.style (op.line_style_index ()).scaled (op.width ()); + const DitherPatternInfo &dp_info = dp.pattern (op.dither_index ()).scaled (dpr); const uint32_t *dither = dp_info.pattern () [(y + op.dither_offset ()) % dp_info.height ()]; if (dither != 0) { @@ -871,7 +872,8 @@ bitmap_to_bitmap (const lay::ViewOp &view_op, const lay::Bitmap &bitmap, unsigned char *data, unsigned int width, unsigned int height, const lay::DitherPattern &dp, - const lay::LineStyles &ls) + const lay::LineStyles &ls, + double dpr) { // quick exit, if line width is zero if (view_op.width () == 0) { @@ -885,12 +887,12 @@ bitmap_to_bitmap (const lay::ViewOp &view_op, const lay::Bitmap &bitmap, unsigned int x = 0xc0000001; unsigned char x0 = ((unsigned char *) &x) [0]; - const DitherPatternInfo &dp_info = dp.pattern (view_op.dither_index ()); - const LineStyleInfo &ls_info = ls.style (view_op.line_style_index ()); + const DitherPatternInfo &dp_info = dp.pattern (view_op.dither_index ()).scaled (dpr); + const LineStyleInfo &ls_info = ls.style (view_op.line_style_index ()).scaled (view_op.width ()); for (unsigned int y = 0; y < height; ++y) { - unsigned nbytes = ((width + 7) / 8); + unsigned int nbytes = ((width + 7) / 8); if (view_op.width () > 1 || ! bitmap.is_scanline_empty (height - 1 - y)) { @@ -917,7 +919,6 @@ bitmap_to_bitmap (const lay::ViewOp &view_op, const lay::Bitmap &bitmap, precursor = lay::Bitmap (width, height, 1.0); LineStyleInfo lsi = ls_info; - lsi.scale_pattern (view_op.width ()); for (unsigned int y = 0; y < height; y++) { render_scanline_std_edge (lsi.pattern (), lsi.pattern_stride (), bp, y, width, height, precursor.scanline (y)); diff --git a/src/laybasic/laybasic/layBitmapsToImage.h b/src/laybasic/laybasic/layBitmapsToImage.h index 000f964c1..76066a0e1 100644 --- a/src/laybasic/laybasic/layBitmapsToImage.h +++ b/src/laybasic/laybasic/layBitmapsToImage.h @@ -56,12 +56,15 @@ class Bitmap; * The "use_bitmap_index" parameter specifies whether the bitmap_index * parameter of the operators is being used to map a operator to a certain * bitmap. + * "dpr" is the device pixel ratio and will be used to scale line widths, + * stipple pattern and line styles. */ LAYBASIC_PUBLIC void bitmaps_to_image (const std::vector &view_ops, const std::vector &pbitmaps, const lay::DitherPattern &dp, const lay::LineStyles &ls, + double dpr, tl::PixelBuffer *pimage, unsigned int width, unsigned int height, bool use_bitmap_index, tl::Mutex *mutex); @@ -76,6 +79,7 @@ bitmaps_to_image (const std::vector &view_ops, const std::vector &pbitmaps, const lay::DitherPattern &dp, const lay::LineStyles &ls, + double dpr, tl::BitmapBuffer *pimage, unsigned int width, unsigned int height, bool use_bitmap_index, tl::Mutex *mutex); @@ -92,7 +96,8 @@ bitmap_to_bitmap (const lay::ViewOp &view_op, const lay::Bitmap &bitmap, unsigned char *data, unsigned int width, unsigned int height, const lay::DitherPattern &dp, - const lay::LineStyles &ls); + const lay::LineStyles &ls, + double dpr); } // namespace lay diff --git a/src/laybasic/laybasic/layDitherPattern.cc b/src/laybasic/laybasic/layDitherPattern.cc index e070c44bb..c10ac4ae2 100644 --- a/src/laybasic/laybasic/layDitherPattern.cc +++ b/src/laybasic/laybasic/layDitherPattern.cc @@ -24,6 +24,7 @@ #include "layDitherPattern.h" #include "tlAssert.h" +#include "tlThreads.h" #include #include @@ -596,13 +597,26 @@ DitherPatternInfo::get_bitmap (int width, int height, int frame_width) const #endif +static tl::Mutex s_mutex; + void DitherPatternInfo::set_pattern (const uint32_t *pt, unsigned int w, unsigned int h) +{ + { + tl::MutexLocker locker (& s_mutex); + m_scaled_pattern.reset (0); + } + + set_pattern_impl (pt, w, h); +} + +void +DitherPatternInfo::set_pattern_impl (const uint32_t *pt, unsigned int w, unsigned int h) { // pattern size must be 1x1 at least if (w == 0 || h == 0) { uint32_t zero = 0; - set_pattern (&zero, 1, 1); + set_pattern_impl (&zero, 1, 1); return; } @@ -654,11 +668,22 @@ DitherPatternInfo::set_pattern (const uint32_t *pt, unsigned int w, unsigned int void DitherPatternInfo::set_pattern (const uint64_t *pt, unsigned int w, unsigned int h) +{ + { + tl::MutexLocker locker (& s_mutex); + m_scaled_pattern.reset (0); + } + + set_pattern_impl (pt, w, h); +} + +void +DitherPatternInfo::set_pattern_impl (const uint64_t *pt, unsigned int w, unsigned int h) { // pattern size must be 1x1 at least if (w == 0 || h == 0) { uint32_t zero = 0; - set_pattern (&zero, 1, 1); + set_pattern_impl (&zero, 1, 1); return; } @@ -708,6 +733,30 @@ DitherPatternInfo::set_pattern (const uint64_t *pt, unsigned int w, unsigned int } } +const DitherPatternInfo & +DitherPatternInfo::scaled (unsigned int n) const +{ + if (n <= 1) { + return *this; + } + + tl::MutexLocker locker (& s_mutex); + + if (! m_scaled_pattern.get ()) { + m_scaled_pattern.reset (new std::map ()); + } + + auto i = m_scaled_pattern->find (n); + if (i != m_scaled_pattern->end ()) { + return i->second; + } + + DitherPatternInfo &sp = (*m_scaled_pattern) [n]; + sp = *this; + sp.scale_pattern (n); + return sp; +} + void DitherPatternInfo::scale_pattern (unsigned int n) { @@ -802,7 +851,7 @@ DitherPatternInfo::scale_pattern (unsigned int n) } - set_pattern (new_pattern.begin ().operator-> (), n * m_width, n * m_height); + set_pattern_impl (new_pattern.begin ().operator-> (), n * m_width, n * m_height); } std::string diff --git a/src/laybasic/laybasic/layDitherPattern.h b/src/laybasic/laybasic/layDitherPattern.h index a0980e581..cb1bde7a8 100644 --- a/src/laybasic/laybasic/layDitherPattern.h +++ b/src/laybasic/laybasic/layDitherPattern.h @@ -206,6 +206,11 @@ public: */ void scale_pattern (unsigned int n); + /** + * @brief Gets a scaled version of the pattern + */ + const DitherPatternInfo &scaled (unsigned int n) const; + /** * @brief Load from a string */ @@ -233,6 +238,10 @@ private: unsigned int m_pattern_stride; unsigned int m_order_index; std::string m_name; + mutable std::unique_ptr > m_scaled_pattern; + + void set_pattern_impl (const uint32_t *pattern, unsigned int w, unsigned int h); + void set_pattern_impl (const uint64_t *pattern, unsigned int w, unsigned int h); }; /** diff --git a/src/laybasic/laybasic/layLayoutCanvas.cc b/src/laybasic/laybasic/layLayoutCanvas.cc index 134057b6b..058b77bb7 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.cc +++ b/src/laybasic/laybasic/layLayoutCanvas.cc @@ -438,7 +438,6 @@ LayoutCanvas::set_dither_pattern (const lay::DitherPattern &p) { if (p != m_dither_pattern) { m_dither_pattern = p; - m_scaled_dither_pattern.clear (); update_image (); } } @@ -473,25 +472,6 @@ LayoutCanvas::scaled_view_ops (unsigned int lw) return scaled_view_ops; } -const lay::DitherPattern & -LayoutCanvas::scaled_dither_pattern (unsigned int lw) -{ - if (lw <= 1) { - return m_dither_pattern; - } - - auto cached = m_scaled_dither_pattern.find (lw); - if (cached != m_scaled_dither_pattern.end ()) { - return cached->second; - } - - lay::DitherPattern &scaled_dither_pattern = m_scaled_dither_pattern [lw]; - scaled_dither_pattern = m_dither_pattern; - scaled_dither_pattern.scale_pattern (lw); - - return scaled_dither_pattern; -} - void LayoutCanvas::prepare_drawing () { @@ -654,7 +634,7 @@ LayoutCanvas::paint_event () } // render the main bitmaps - to_image (scaled_view_ops (m_oversampling * dpr ()), scaled_dither_pattern (m_oversampling * dpr ()), line_styles (), background_color (), foreground_color (), active_color (), this, *mp_image, m_viewport_l.width (), m_viewport_l.height ()); + to_image (scaled_view_ops (m_oversampling * dpr ()), dither_pattern (), line_styles (), m_oversampling * dpr (), background_color (), foreground_color (), active_color (), this, *mp_image, m_viewport_l.width (), m_viewport_l.height ()); if (mp_image_fg) { delete mp_image_fg; @@ -684,7 +664,7 @@ LayoutCanvas::paint_event () if (fg_bitmaps () > 0) { tl::PixelBuffer full_image (*mp_image); - bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dither_pattern (), line_styles (), &full_image, m_viewport_l.width (), m_viewport_l.height (), false, &m_mutex); + bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dither_pattern (), line_styles (), m_oversampling * dpr (), &full_image, m_viewport_l.width (), m_viewport_l.height (), false, &m_mutex); // render the foreground parts .. if (m_oversampling == 1) { @@ -731,7 +711,7 @@ LayoutCanvas::paint_event () full_image.set_transparent (true); full_image.fill (0); - bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dither_pattern (), line_styles (), &full_image, m_viewport_l.width (), m_viewport_l.height (), false, &m_mutex); + bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dither_pattern (), line_styles (), m_oversampling * dpr (), &full_image, m_viewport_l.width (), m_viewport_l.height (), false, &m_mutex); // render the foreground parts .. if (m_oversampling == 1) { @@ -820,10 +800,10 @@ public: if (mp_image_l) { unsigned int os = mp_image_l->width () / width; blowup (*mp_image, *mp_image_l, os); - bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dp, ls, mp_image_l, mp_image_l->width (), mp_image_l->height (), false, 0); + bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dp, ls, 1.0 / resolution (), mp_image_l, mp_image_l->width (), mp_image_l->height (), false, 0); subsample (*mp_image_l, *mp_image, os, m_gamma); } else { - bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dp, ls, mp_image, width, height, false, 0); + bitmaps_to_image (fg_view_op_vector (), fg_bitmap_vector (), dp, ls, 1.0 / resolution (), mp_image, width, height, false, 0); } clear_fg_bitmaps (); } @@ -945,7 +925,7 @@ LayoutCanvas::image_with_options (unsigned int width, unsigned int height, int l do_render_bg (vp, vo_canvas); // paint the layout bitmaps - rd_canvas.to_image (scaled_view_ops (linewidth), scaled_dither_pattern (1.0 / resolution + 0.5), line_styles (), background, foreground, active, this, *vo_canvas.bg_image (), vp.width (), vp.height ()); + rd_canvas.to_image (scaled_view_ops (linewidth), dither_pattern (), line_styles (), 1.0 / resolution, background, foreground, active, this, *vo_canvas.bg_image (), vp.width (), vp.height ()); // subsample current image to provide the background for the foreground objects vo_canvas.make_background (); @@ -992,7 +972,7 @@ LayoutCanvas::image_with_options_mono (unsigned int width, unsigned int height, tl::BitmapBuffer img (width, height); img.fill (background); - rd_canvas.to_image_mono (scaled_view_ops (linewidth), scaled_dither_pattern (linewidth), line_styles (), background, foreground, active, this, img, vp.width (), vp.height ()); + rd_canvas.to_image_mono (scaled_view_ops (linewidth), dither_pattern (), line_styles (), linewidth, background, foreground, active, this, img, vp.width (), vp.height ()); return img; } @@ -1012,7 +992,7 @@ LayoutCanvas::screenshot () do_render_bg (m_viewport_l, vo_canvas); // paint the layout bitmaps - to_image (scaled_view_ops (m_oversampling * dpr ()), scaled_dither_pattern (m_oversampling * dpr ()), line_styles (), background_color (), foreground_color (), active_color (), this, *vo_canvas.bg_image (), m_viewport_l.width (), m_viewport_l.height ()); + to_image (scaled_view_ops (m_oversampling * dpr ()), dither_pattern (), line_styles (), m_oversampling * dpr (), background_color (), foreground_color (), active_color (), this, *vo_canvas.bg_image (), m_viewport_l.width (), m_viewport_l.height ()); // subsample current image to provide the background for the foreground objects vo_canvas.make_background (); diff --git a/src/laybasic/laybasic/layLayoutCanvas.h b/src/laybasic/laybasic/layLayoutCanvas.h index 1a4aaad26..ae4f58da2 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.h +++ b/src/laybasic/laybasic/layLayoutCanvas.h @@ -379,7 +379,6 @@ private: lay::DitherPattern m_dither_pattern; lay::LineStyles m_line_styles; std::map > m_scaled_view_ops; - std::map m_scaled_dither_pattern; unsigned int m_oversampling; double m_gamma; @@ -420,8 +419,7 @@ private: void prepare_drawing (); double dpr (); - const std::vector &scaled_view_ops(unsigned int lw); - const DitherPattern &scaled_dither_pattern(unsigned int lw); + const std::vector &scaled_view_ops (unsigned int lw); }; } // namespace lay diff --git a/src/laybasic/laybasic/layLayoutViewBase.h b/src/laybasic/laybasic/layLayoutViewBase.h index df8612f84..5837c042d 100644 --- a/src/laybasic/laybasic/layLayoutViewBase.h +++ b/src/laybasic/laybasic/layLayoutViewBase.h @@ -53,10 +53,6 @@ #include "tlTimer.h" #include "dbInstElement.h" -#if defined(HAVE_QT) -# include -#endif - namespace rdb { class Database; } diff --git a/src/laybasic/laybasic/layLineStyles.cc b/src/laybasic/laybasic/layLineStyles.cc index 72fb20c02..993552722 100644 --- a/src/laybasic/laybasic/layLineStyles.cc +++ b/src/laybasic/laybasic/layLineStyles.cc @@ -24,6 +24,7 @@ #include "layLineStyles.h" #include "tlAssert.h" +#include "tlThreads.h" #include #include @@ -200,9 +201,16 @@ LineStyleInfo::get_bitmap (int width, int height) const } #endif +static tl::Mutex s_mutex; + void LineStyleInfo::set_pattern (uint32_t pt, unsigned int w) { + { + tl::MutexLocker locker (& s_mutex); + m_scaled_pattern.reset (0); + } + memset (m_pattern, 0, sizeof (m_pattern)); if (w >= 32) { @@ -244,6 +252,30 @@ LineStyleInfo::set_pattern (uint32_t pt, unsigned int w) } } +const LineStyleInfo & +LineStyleInfo::scaled (unsigned int n) const +{ + if (n <= 1) { + return *this; + } + + tl::MutexLocker locker (& s_mutex); + + if (! m_scaled_pattern.get ()) { + m_scaled_pattern.reset (new std::map ()); + } + + auto i = m_scaled_pattern->find (n); + if (i != m_scaled_pattern->end ()) { + return i->second; + } + + LineStyleInfo &sp = (*m_scaled_pattern) [n]; + sp = *this; + sp.scale_pattern (n); + return sp; +} + void LineStyleInfo::scale_pattern (unsigned int n) { @@ -298,6 +330,8 @@ LineStyleInfo::scale_pattern (unsigned int n) m_width = w; } + + std::string LineStyleInfo::to_string () const { @@ -413,11 +447,8 @@ LineStyles::style (unsigned int i) const void LineStyles::replace_style (unsigned int i, const LineStyleInfo &p) { - bool chg = false; - while (i >= count ()) { m_styles.push_back (LineStyleInfo ()); - chg = true; } if (m_styles [i] != p) { @@ -425,7 +456,6 @@ LineStyles::replace_style (unsigned int i, const LineStyleInfo &p) manager ()->queue (this, new ReplaceLineStyleOp (i, m_styles [i], p)); } m_styles [i] = p; - chg = true; } } diff --git a/src/laybasic/laybasic/layLineStyles.h b/src/laybasic/laybasic/layLineStyles.h index 5cd760f3a..288e8f22a 100644 --- a/src/laybasic/laybasic/layLineStyles.h +++ b/src/laybasic/laybasic/layLineStyles.h @@ -168,6 +168,11 @@ public: */ void scale_pattern (unsigned int n); + /** + * @brief Gets a scaled version of the pattern + */ + const LineStyleInfo &scaled (unsigned int n) const; + /** * @brief Gets the pattern stride * @@ -209,6 +214,7 @@ private: unsigned int m_pattern_stride; unsigned int m_order_index; std::string m_name; + mutable std::unique_ptr > m_scaled_pattern; }; /** diff --git a/src/laybasic/laybasic/layRedrawThreadCanvas.cc b/src/laybasic/laybasic/layRedrawThreadCanvas.cc index ff5c6228a..537f2e8b2 100644 --- a/src/laybasic/laybasic/layRedrawThreadCanvas.cc +++ b/src/laybasic/laybasic/layRedrawThreadCanvas.cc @@ -392,7 +392,7 @@ BitmapRedrawThreadCanvas::initialize_plane (lay::CanvasPlane *plane, unsigned in } void -BitmapRedrawThreadCanvas::to_image (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, tl::Color background, tl::Color foreground, tl::Color active, const lay::Drawings *drawings, tl::PixelBuffer &img, unsigned int width, unsigned int height) +BitmapRedrawThreadCanvas::to_image (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, double dpr, tl::Color background, tl::Color foreground, tl::Color active, const lay::Drawings *drawings, tl::PixelBuffer &img, unsigned int width, unsigned int height) { if (width > m_width) { width = m_width; @@ -402,17 +402,17 @@ BitmapRedrawThreadCanvas::to_image (const std::vector &view_ops, c } // convert the plane data to image data - bitmaps_to_image (view_ops, mp_plane_buffers, dp, ls, &img, width, height, true, &mutex ()); + bitmaps_to_image (view_ops, mp_plane_buffers, dp, ls, dpr, &img, width, height, true, &mutex ()); // convert the planes of the "drawing" objects too: std::vector >::const_iterator bt = mp_drawing_plane_buffers.begin (); for (lay::Drawings::const_iterator d = drawings->begin (); d != drawings->end () && bt != mp_drawing_plane_buffers.end (); ++d, ++bt) { - bitmaps_to_image (d->get_view_ops (*this, background, foreground, active), *bt, dp, ls, &img, width, height, true, &mutex ()); + bitmaps_to_image (d->get_view_ops (*this, background, foreground, active), *bt, dp, ls, dpr, &img, width, height, true, &mutex ()); } } void -BitmapRedrawThreadCanvas::to_image_mono (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, bool background, bool foreground, bool active, const lay::Drawings *drawings, tl::BitmapBuffer &img, unsigned int width, unsigned int height) +BitmapRedrawThreadCanvas::to_image_mono (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, double dpr, bool background, bool foreground, bool active, const lay::Drawings *drawings, tl::BitmapBuffer &img, unsigned int width, unsigned int height) { if (width > m_width) { width = m_width; @@ -424,12 +424,12 @@ BitmapRedrawThreadCanvas::to_image_mono (const std::vector &view_o unsigned int all_one = 0xffffffff; // convert the plane data to image data - bitmaps_to_image (view_ops, mp_plane_buffers, dp, ls, &img, width, height, true, &mutex ()); + bitmaps_to_image (view_ops, mp_plane_buffers, dp, ls, dpr, &img, width, height, true, &mutex ()); // convert the planes of the "drawing" objects too: std::vector >::const_iterator bt = mp_drawing_plane_buffers.begin (); for (lay::Drawings::const_iterator d = drawings->begin (); d != drawings->end () && bt != mp_drawing_plane_buffers.end (); ++d, ++bt) { - bitmaps_to_image (d->get_view_ops (*this, background ? all_one : 0, foreground ? all_one : 0, active ? all_one : 0), *bt, dp, ls, &img, width, height, true, &mutex ()); + bitmaps_to_image (d->get_view_ops (*this, background ? all_one : 0, foreground ? all_one : 0, active ? all_one : 0), *bt, dp, ls, dpr, &img, width, height, true, &mutex ()); } } diff --git a/src/laybasic/laybasic/layRedrawThreadCanvas.h b/src/laybasic/laybasic/layRedrawThreadCanvas.h index 8fdab9f0e..fbd32f77b 100644 --- a/src/laybasic/laybasic/layRedrawThreadCanvas.h +++ b/src/laybasic/laybasic/layRedrawThreadCanvas.h @@ -319,12 +319,12 @@ public: /** * @brief Transfer the content to a PixelBuffer */ - void to_image (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, tl::Color background, tl::Color foreground, tl::Color active, const lay::Drawings *drawings, tl::PixelBuffer &img, unsigned int width, unsigned int height); + void to_image (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, double dpr, tl::Color background, tl::Color foreground, tl::Color active, const lay::Drawings *drawings, tl::PixelBuffer &img, unsigned int width, unsigned int height); /** * @brief Transfer the content to a BitmapBuffer (monochrome) */ - void to_image_mono (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, bool background, bool foreground, bool active, const lay::Drawings *drawings, tl::BitmapBuffer &img, unsigned int width, unsigned int height); + void to_image_mono (const std::vector &view_ops, const lay::DitherPattern &dp, const lay::LineStyles &ls, double dpr, bool background, bool foreground, bool active, const lay::Drawings *drawings, tl::BitmapBuffer &img, unsigned int width, unsigned int height); /** * @brief Gets the current bitmap data as a BitmapCanvasData object diff --git a/src/laybasic/unit_tests/layBitmapsToImage.cc b/src/laybasic/unit_tests/layBitmapsToImage.cc index 879924deb..271e2d554 100644 --- a/src/laybasic/unit_tests/layBitmapsToImage.cc +++ b/src/laybasic/unit_tests/layBitmapsToImage.cc @@ -92,7 +92,7 @@ TEST(1) lay::LineStyles ls; tl::Mutex m; - lay::bitmaps_to_image (view_ops, pbitmaps, dp, ls, &img, 32, 32, 0, &m); + lay::bitmaps_to_image (view_ops, pbitmaps, dp, ls, 1.0, &img, 32, 32, 0, &m); EXPECT_EQ (to_string (img, 0x800000), "................................\n" diff --git a/src/layui/layui/layLayerTreeModel.cc b/src/layui/layui/layLayerTreeModel.cc index 383d75fd3..fe3f1a97f 100644 --- a/src/layui/layui/layLayerTreeModel.cc +++ b/src/layui/layui/layLayerTreeModel.cc @@ -526,23 +526,6 @@ LayerTreeModel::parent (const QModelIndex &index) const } } -/** - * @brief A helper function to create an image from a single bitmap - */ -static void -single_bitmap_to_image (const lay::ViewOp &view_op, lay::Bitmap &bitmap, - tl::PixelBuffer *pimage, const lay::DitherPattern &dither_pattern, const lay::LineStyles &line_styles, - unsigned int width, unsigned int height) -{ - std::vector view_ops; - view_ops.push_back (view_op); - - std::vector pbitmaps; - pbitmaps.push_back (&bitmap); - - lay::bitmaps_to_image (view_ops, pbitmaps, dither_pattern, line_styles, pimage, width, height, false, 0); -} - bool LayerTreeModel::is_hidden (const QModelIndex &index) const { @@ -637,12 +620,29 @@ LayerTreeModel::empty_within_view_predicate (const QModelIndex &index) const } } +/** + * @brief A helper function to create an image from a single bitmap + */ +static void +single_bitmap_to_image (const lay::ViewOp &view_op, lay::Bitmap &bitmap, + tl::PixelBuffer *pimage, const lay::DitherPattern &dither_pattern, const lay::LineStyles &line_styles, + double dpr, unsigned int width, unsigned int height) +{ + std::vector view_ops; + view_ops.push_back (view_op); + + std::vector pbitmaps; + pbitmaps.push_back (&bitmap); + + lay::bitmaps_to_image (view_ops, pbitmaps, dither_pattern, line_styles, dpr, pimage, width, height, false, 0); +} + LAYUI_PUBLIC QIcon -LayerTreeModel::icon_for_layer (const lay::LayerPropertiesConstIterator &iter, lay::LayoutViewBase *view, unsigned int w, unsigned int h, unsigned int di_off, bool no_state) +LayerTreeModel::icon_for_layer (const lay::LayerPropertiesConstIterator &iter, lay::LayoutViewBase *view, unsigned int w, unsigned int h, double dpr, unsigned int di_off, bool no_state) { - h = std::max ((unsigned int) 16, h); - w = std::max ((unsigned int) 16, w); + h = std::max ((unsigned int) 16, h) * dpr + 0.5; + w = std::max ((unsigned int) 16, w) * dpr + 0.5; tl::color_t def_color = 0x808080; tl::color_t fill_color = iter->has_fill_color (true) ? iter->eff_fill_color (true) : def_color; @@ -701,6 +701,7 @@ LayerTreeModel::icon_for_layer (const lay::LayerPropertiesConstIterator &iter, l // default line width is 0 for parents and 1 for leafs lw = iter->has_children () ? 0 : 1; } + lw = lw * dpr + 0.5; int p0 = lw / 2; p0 = std::max (0, std::min (int (w / 4 - 1), p0)); @@ -770,19 +771,22 @@ LayerTreeModel::icon_for_layer (const lay::LayerPropertiesConstIterator &iter, l lay::ViewOp::Mode mode = lay::ViewOp::Copy; // create fill - single_bitmap_to_image (lay::ViewOp (fill_color, mode, 0, iter->eff_dither_pattern (true), di_off), fill, &image, view->dither_pattern (), view->line_styles (), w, h); + single_bitmap_to_image (lay::ViewOp (fill_color, mode, 0, iter->eff_dither_pattern (true), di_off), fill, &image, view->dither_pattern (), view->line_styles (), dpr, w, h); // create frame if (lw == 0) { - single_bitmap_to_image (lay::ViewOp (frame_color, mode, 0 /*solid line*/, 2 /*dotted*/, 0), frame, &image, view->dither_pattern (), view->line_styles (), w, h); + single_bitmap_to_image (lay::ViewOp (frame_color, mode, 0 /*solid line*/, 2 /*dotted*/, 0), frame, &image, view->dither_pattern (), view->line_styles (), dpr, w, h); } else { - single_bitmap_to_image (lay::ViewOp (frame_color, mode, iter->eff_line_style (true), 0, 0, lay::ViewOp::Rect, lw), frame, &image, view->dither_pattern (), view->line_styles (), w, h); + single_bitmap_to_image (lay::ViewOp (frame_color, mode, iter->eff_line_style (true), 0, 0, lay::ViewOp::Rect, lw), frame, &image, view->dither_pattern (), view->line_styles (), dpr, w, h); } // create text - single_bitmap_to_image (lay::ViewOp (frame_color, mode, 0, 0, 0), text, &image, view->dither_pattern (), view->line_styles (), w, h); + single_bitmap_to_image (lay::ViewOp (frame_color, mode, 0, 0, 0), text, &image, view->dither_pattern (), view->line_styles (), dpr, w, h); // create vertex - single_bitmap_to_image (lay::ViewOp (frame_color, mode, 0, 0, 0, lay::ViewOp::Cross, iter->marked (true) ? 9/*mark size*/ : 0), vertex, &image, view->dither_pattern (), view->line_styles (), w, h); + single_bitmap_to_image (lay::ViewOp (frame_color, mode, 0, 0, 0, lay::ViewOp::Cross, iter->marked (true) ? 9/*mark size*/ : 0), vertex, &image, view->dither_pattern (), view->line_styles (), dpr, w, h); - QPixmap pixmap = QPixmap::fromImage (image.to_image ()); // Qt 4.6.0 workaround + QPixmap pixmap = QPixmap::fromImage (image.to_image ()); +#if QT_VERSION >= 0x050000 + pixmap.setDevicePixelRatio (dpr); +#endif return QIcon (pixmap); } @@ -841,7 +845,12 @@ LayerTreeModel::data (const QModelIndex &index, int role) const QSize is = icon_size (); if (animate_visible) { - return QVariant (icon_for_layer (iter, mp_view, is.width (), is.height (), di_off)); +#if QT_VERSION >= 0x050000 + double dpr = mp_parent ? mp_parent->devicePixelRatio () : 1.0; +#else + double dpr = 1.0; +#endif + return QVariant (icon_for_layer (iter, mp_view, is.width (), is.height (), dpr, di_off)); } else { return QVariant (QIcon ()); } diff --git a/src/layui/layui/layLayerTreeModel.h b/src/layui/layui/layLayerTreeModel.h index 47132c990..902166bdd 100644 --- a/src/layui/layui/layLayerTreeModel.h +++ b/src/layui/layui/layLayerTreeModel.h @@ -27,6 +27,7 @@ #include "dbBox.h" #include "layuiCommon.h" +#include "layDitherPattern.h" #include #include @@ -109,7 +110,7 @@ public: /** * @brief Provides an icon for a given layer style */ - static QIcon icon_for_layer (const lay::LayerPropertiesConstIterator &iter, lay::LayoutViewBase *view, unsigned int w, unsigned int h, unsigned int di_offset, bool no_state = false); + static QIcon icon_for_layer (const lay::LayerPropertiesConstIterator &iter, lay::LayoutViewBase *view, unsigned int w, unsigned int h, double dpr, unsigned int di_offset, bool no_state = false); /** * @brief Gets the preferred icon size diff --git a/src/layui/layui/layLayoutViewConfigPages.cc b/src/layui/layui/layLayoutViewConfigPages.cc index 9ce5194fa..ab8406b8e 100644 --- a/src/layui/layui/layLayoutViewConfigPages.cc +++ b/src/layui/layui/layLayoutViewConfigPages.cc @@ -1239,8 +1239,7 @@ LayoutViewConfigPage6::update () image.fill (color0.rgb ()); // copying code from layLayerToolbox.cc - lay::DitherPatternInfo info = m_pattern.pattern ((unsigned int) s); - info.scale_pattern (dpr); + const lay::DitherPatternInfo &info = m_pattern.pattern ((unsigned int) s).scaled (dpr); QBitmap bitmap = info.get_bitmap (w * dpr, h * dpr, dpr); QPainter painter (&image); diff --git a/src/layui/layui/laySelectStippleForm.cc b/src/layui/layui/laySelectStippleForm.cc index ca15ca0f2..609fab80e 100644 --- a/src/layui/layui/laySelectStippleForm.cc +++ b/src/layui/layui/laySelectStippleForm.cc @@ -105,8 +105,7 @@ SelectStippleForm::update () name = tl::sprintf ("#%d", std::distance (m_pattern.begin (), i)); } - lay::DitherPatternInfo dp_info = *i; - dp_info.scale_pattern (dpr); + const lay::DitherPatternInfo &dp_info = i->scaled (dpr); QBitmap bitmap = dp_info.get_bitmap (icon_size.width () * dpr, icon_size.height () * dpr, dpr); #if QT_VERSION >= 0x050000 bitmap.setDevicePixelRatio (dpr); @@ -124,8 +123,7 @@ SelectStippleForm::update () name = tl::sprintf ("custom #%d", (*i)->order_index ()); } - lay::DitherPatternInfo dp_info = **i; - dp_info.scale_pattern (dpr); + const lay::DitherPatternInfo &dp_info = (*i)->scaled (dpr); QBitmap bitmap = dp_info.get_bitmap (icon_size.width () * dpr, icon_size.height () * dpr, dpr); #if QT_VERSION >= 0x050000 bitmap.setDevicePixelRatio (dpr); diff --git a/src/layui/layui/layWidgets.cc b/src/layui/layui/layWidgets.cc index 12f7b61a5..6be7675c6 100644 --- a/src/layui/layui/layWidgets.cc +++ b/src/layui/layui/layWidgets.cc @@ -177,19 +177,15 @@ DitherPatternSelectionButton::update_pattern () } else { - lay::DitherPatternInfo dp_info; + const lay::DitherPatternInfo *dp_info; if (mp_view) { - dp_info = mp_view->dither_pattern ().pattern ((unsigned int) m_dither_pattern); + dp_info = & mp_view->dither_pattern ().pattern ((unsigned int) m_dither_pattern).scaled (dpr); } else { static lay::DitherPattern default_pattern; - dp_info= default_pattern.pattern ((unsigned int) m_dither_pattern); + dp_info = & default_pattern.pattern ((unsigned int) m_dither_pattern).scaled (dpr); } - if (dpr > 1) { - dp_info.scale_pattern (dpr); - } - - QPushButton::setIcon (dp_info.get_bitmap (rt.width () * dpr, rt.height () * dpr, dpr)); + QPushButton::setIcon (dp_info->get_bitmap (rt.width () * dpr, rt.height () * dpr, dpr)); } } From ee3facfa13fea5dc4d5b2c7607ed115a81dd542d Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Sep 2022 21:53:38 +0200 Subject: [PATCH 48/52] Fixed printout --- src/lay/lay/layMainWindow.cc | 13 +++++++- .../laybasic/gsiDeclLayLayoutViewBase.cc | 31 +++++++++++++++++-- src/laybasic/laybasic/layLayoutCanvas.cc | 6 ++-- 3 files changed, 43 insertions(+), 7 deletions(-) diff --git a/src/lay/lay/layMainWindow.cc b/src/lay/lay/layMainWindow.cc index 79bc45a17..ff2ec5db3 100644 --- a/src/lay/lay/layMainWindow.cc +++ b/src/lay/lay/layMainWindow.cc @@ -1529,6 +1529,8 @@ MainWindow::cm_print () if (current_view ()) { + int scale_factor = 3; + // choose a resolution around 300dpi double rf = floor (0.5 + 300.0 / mp_printer->resolution ()); mp_printer->setResolution (int (floor (0.5 + mp_printer->resolution () * rf))); @@ -1559,7 +1561,16 @@ MainWindow::cm_print () text_rect.setBottom (text_rect.bottom () - hh / 2); text_rect.setTop (text_rect.top () + hh / 2); - QImage img = current_view ()->get_image_with_options (page_rect.width (), page_rect.height () - 4 * hh, 1, 1, 1.0 / 3.0, Qt::white, Qt::black, Qt::black, db::DBox (), false); + QImage img = current_view ()->get_image_with_options (page_rect.width (), + page_rect.height () - 4 * hh, + scale_factor, + 1, + 1.0 / scale_factor, + tl::Color (QColor (Qt::white)), // foreground + tl::Color (QColor (Qt::black)), // background + tl::Color (QColor (Qt::black)), // active + db::DBox (), + false); painter.drawImage (QPoint (page_rect.left (), page_rect.top () + hh * 2), img); painter.setFont (header_font); diff --git a/src/laybasic/laybasic/gsiDeclLayLayoutViewBase.cc b/src/laybasic/laybasic/gsiDeclLayLayoutViewBase.cc index b932c43e6..dc10d5ba7 100644 --- a/src/laybasic/laybasic/gsiDeclLayLayoutViewBase.cc +++ b/src/laybasic/laybasic/gsiDeclLayLayoutViewBase.cc @@ -1237,9 +1237,9 @@ LAYBASIC_PUBLIC Class decl_LayoutViewBase ("lay", "LayoutVi "@param filename The file to which to write the screenshot to.\n" "@param width The width of the image to render in pixel.\n" "@param height The height of the image to render in pixel.\n" - "@param linewidth The width of a line in pixels (usually 1) or 0 for default.\n" - "@param oversampling The oversampling factor (1..3) or 0 for default.\n" - "@param resolution The resolution (pixel size compared to a screen pixel, i.e 1/oversampling) or 0 for default.\n" + "@param linewidth The line width scale factor (usually 1) or 0 for 1/resolution.\n" + "@param oversampling The oversampling factor (1..3) or 0 for the oversampling the view was configured with.\n" + "@param resolution The resolution (pixel size compared to a screen pixel) or 0 for 1/oversampling.\n" "@param target_box The box to draw or an empty box for default.\n" "@param monochrome If true, monochrome images will be produced.\n" "\n" @@ -1248,6 +1248,31 @@ LAYBASIC_PUBLIC Class decl_LayoutViewBase ("lay", "LayoutVi "The image is drawn synchronously with the given width and height. Drawing may take some time. " "Monochrome images don't have background or annotation objects currently.\n" "\n" + "The 'linewidth' factor scales the layout style line widths.\n" + "\n" + "The 'oversampling' factor will use multiple passes passes to create a single image pixels. An " + "oversampling factor of 2 uses 2x2 virtual pixels to generate an output pixel. This results in a " + "smoother image. This however comes with a corresponding memory and run time penalty. " + "When using oversampling, you can set linewidth and resolution to 0. This way, line widths and stipple " + "pattern are scaled such that the resulting image is equivalent to the standard image.\n" + "\n" + "The 'resolution' is the pixel size used to translate font sizes and stipple pattern. A resolution of 0.5 " + "renders twice as large fonts and stipple pattern. When combining this value with an oversampling factor of 2 " + "and a line width factor of 2, the resulting image is an oversampled version of the standard image.\n" + "\n" + "Examples:\n" + "\n" + "@code\n" + "# standard image 500x500 pixels (oversampling as configured in the view)\n" + "layout_view.save_image_with_options(\"image.png\", 500, 500)\n" + "\n" + "# 2x oversampled image with 500x500 pixels\n" + "layout_view.save_image_with_options(\"image.png\", 500, 500, 0, 2, 0)\n" + "\n" + "# 2x scaled image with 1000x1000 pixels\n" + "layout_view.save_image_with_options(\"image.png\", 1000, 1000, 2, 1, 0.5)\n" + "@/code\n" + "\n" "This method has been introduced in 0.23.10.\n" ) + gsi::method_ext ("#save_as", &save_as2, gsi::arg ("index"), gsi::arg ("filename"), gsi::arg ("gzip"), gsi::arg ("options"), diff --git a/src/laybasic/laybasic/layLayoutCanvas.cc b/src/laybasic/laybasic/layLayoutCanvas.cc index 058b77bb7..47f5ce1d1 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.cc +++ b/src/laybasic/laybasic/layLayoutCanvas.cc @@ -877,12 +877,12 @@ LayoutCanvas::image_with_options (unsigned int width, unsigned int height, int l if (oversampling <= 0) { oversampling = m_oversampling; } - if (linewidth <= 0) { - linewidth = 1; - } if (resolution <= 0.0) { resolution = 1.0 / oversampling; } + if (linewidth <= 0) { + linewidth = 1.0 / resolution + 0.5; + } if (! background.is_valid ()) { background = background_color (); } From c9f4dac931bf7ac7663ddda0952dd16590ebd8dc Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 19 Sep 2022 01:02:18 +0200 Subject: [PATCH 49/52] Fixed builds --- src/laybasic/laybasic/layDitherPattern.h | 1 + src/laybasic/laybasic/layLineStyles.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/laybasic/laybasic/layDitherPattern.h b/src/laybasic/laybasic/layDitherPattern.h index cb1bde7a8..58b2ff76b 100644 --- a/src/laybasic/laybasic/layDitherPattern.h +++ b/src/laybasic/laybasic/layDitherPattern.h @@ -39,6 +39,7 @@ #include #include #include +#include namespace lay { diff --git a/src/laybasic/laybasic/layLineStyles.h b/src/laybasic/laybasic/layLineStyles.h index 288e8f22a..23c705d29 100644 --- a/src/laybasic/laybasic/layLineStyles.h +++ b/src/laybasic/laybasic/layLineStyles.h @@ -39,6 +39,7 @@ #include #include #include +#include namespace lay { From 4381f29945f9c05ddb8efc3a17d3812397863e86 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 19 Sep 2022 01:05:45 +0200 Subject: [PATCH 50/52] Fixed builds --- src/laybasic/laybasic/layLayoutCanvas.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/laybasic/laybasic/layLayoutCanvas.cc b/src/laybasic/laybasic/layLayoutCanvas.cc index 47f5ce1d1..0a65906bf 100644 --- a/src/laybasic/laybasic/layLayoutCanvas.cc +++ b/src/laybasic/laybasic/layLayoutCanvas.cc @@ -328,7 +328,7 @@ LayoutCanvas::~LayoutCanvas () clear_fg_bitmaps (); } -#if defined(HAVE_QT) +#if defined(HAVE_QT) && QT_VERSION >= 0x050000 double LayoutCanvas::dpr () { @@ -700,7 +700,7 @@ LayoutCanvas::paint_event () // produce the pixmap first and then overdraw with dynamic content. QPainter painter (widget ()); QImage img = mp_image_fg->to_image (); -#if QT_VERSION > 0x050000 +#if QT_VERSION >= 0x050000 img.setDevicePixelRatio (dpr ()); #endif painter.drawImage (QPoint (0, 0), img); @@ -716,7 +716,7 @@ LayoutCanvas::paint_event () // render the foreground parts .. if (m_oversampling == 1) { QImage img = full_image.to_image (); -#if QT_VERSION > 0x050000 +#if QT_VERSION >= 0x050000 img.setDevicePixelRatio (dpr ()); #endif painter.drawImage (QPoint (0, 0), img); @@ -725,7 +725,7 @@ LayoutCanvas::paint_event () subsampled_image.set_transparent (true); subsample (full_image, subsampled_image, m_oversampling, m_gamma); QImage img = subsampled_image.to_image (); -#if QT_VERSION > 0x050000 +#if QT_VERSION >= 0x050000 img.setDevicePixelRatio (dpr ()); #endif painter.drawImage (QPoint (0, 0), img); From 04d0c7f898d356240dbfae374b3394566d2f176d Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 19 Sep 2022 18:08:34 +0200 Subject: [PATCH 51/52] Fixed builds --- src/layui/layui/layWidgets.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/layui/layui/layWidgets.cc b/src/layui/layui/layWidgets.cc index 6be7675c6..df3289568 100644 --- a/src/layui/layui/layWidgets.cc +++ b/src/layui/layui/layWidgets.cc @@ -220,17 +220,21 @@ DitherPatternSelectionButton::update_menu () unsigned int n = palette.stipple_by_index (i); if (int (n) < std::distance (patterns.begin (), patterns.end ())) { - lay::DitherPatternInfo info = patterns.begin () [n]; #if QT_VERSION > 0x050000 - info.scale_pattern (devicePixelRatio ()); + double dpr = devicePixelRatio (); +#else + double dpr = 1.0; #endif + lay::DitherPatternInfo info = patterns.begin () [n]; + info.scale_pattern (dpr); + std::string name (info.name ()); if (name.empty ()) { name = tl::sprintf ("#%d", n); } - menu ()->addAction (QIcon (info.get_bitmap (-1, -1, devicePixelRatio ())), tl::to_qstring (name), this, SLOT (menu_selected ()))->setData (n); + menu ()->addAction (QIcon (info.get_bitmap (-1, -1, dpr)), tl::to_qstring (name), this, SLOT (menu_selected ()))->setData (n); } } From 8f940c1679391b3da04757df98b1fa813e288e8d Mon Sep 17 00:00:00 2001 From: Zopolis4 Date: Wed, 21 Sep 2022 16:52:25 +1000 Subject: [PATCH 52/52] Restrict overmatching MACH ifdef to only trigger on OSX and Mach --- src/tl/tl/tlTimer.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tl/tl/tlTimer.cc b/src/tl/tl/tlTimer.cc index fe75aa136..fac2767d5 100644 --- a/src/tl/tl/tlTimer.cc +++ b/src/tl/tl/tlTimer.cc @@ -28,7 +28,7 @@ #if defined(_MSC_VER) || defined(_WIN32) # include # include -#elif defined(__MACH__) +#elif defined(__MACH__) && defined(__APPLE__) # include # include # include @@ -54,7 +54,7 @@ const uint64_t ft_to_epoch_offset = uint64_t (11644473600) * uint64_t (10000000) void current_utc_time (struct timespec *ts) { -#if defined(__MACH__) +#if defined(__MACH__) && defined(__APPLE__) clock_serv_t cclock; mach_timespec_t mts; @@ -86,7 +86,7 @@ void current_utc_time (struct timespec *ts) static int64_t ms_time () { -#if defined(__MACH__) +#if defined(__MACH__) && defined(__APPLE__) clock_serv_t cclock; mach_timespec_t mts;