MoleditPy-linux 3.5.0__tar.gz → 3.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/PKG-INFO +1 -1
  2. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/pyproject.toml +1 -1
  3. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/MoleditPy_linux.egg-info/PKG-INFO +1 -1
  4. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/molecular_scene_handler.py +6 -6
  5. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/molecule_scene.py +8 -8
  6. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/settings_tabs/settings_2d_tab.py +49 -32
  7. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/utils/default_settings.py +2 -2
  8. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/LICENSE +0 -0
  9. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/README.md +0 -0
  10. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/setup.cfg +0 -0
  11. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/MoleditPy_linux.egg-info/SOURCES.txt +0 -0
  12. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/MoleditPy_linux.egg-info/dependency_links.txt +0 -0
  13. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/MoleditPy_linux.egg-info/entry_points.txt +0 -0
  14. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/MoleditPy_linux.egg-info/requires.txt +0 -0
  15. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/MoleditPy_linux.egg-info/top_level.txt +0 -0
  16. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/__init__.py +0 -0
  17. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/__main__.py +0 -0
  18. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/assets/file_icon.ico +0 -0
  19. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/assets/icon.icns +0 -0
  20. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/assets/icon.ico +0 -0
  21. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/assets/icon.png +0 -0
  22. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/core/__init__.py +0 -0
  23. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/core/mol_geometry.py +0 -0
  24. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/core/molecular_data.py +0 -0
  25. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/main.py +0 -0
  26. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/plugins/__init__.py +0 -0
  27. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/plugins/plugin_interface.py +0 -0
  28. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/plugins/plugin_manager.py +0 -0
  29. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/plugins/plugin_manager_window.py +0 -0
  30. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/__init__.py +0 -0
  31. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/about_dialog.py +0 -0
  32. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/align_plane_dialog.py +0 -0
  33. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/alignment_dialog.py +0 -0
  34. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/analysis_window.py +0 -0
  35. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/angle_dialog.py +0 -0
  36. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/app_state.py +0 -0
  37. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/atom_item.py +0 -0
  38. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/atom_picking.py +0 -0
  39. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/base_picking_dialog.py +0 -0
  40. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/bond_item.py +0 -0
  41. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/bond_length_dialog.py +0 -0
  42. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/calculation_worker.py +0 -0
  43. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/color_settings_dialog.py +0 -0
  44. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/compute_logic.py +0 -0
  45. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/constrained_optimization_dialog.py +0 -0
  46. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/custom_interactor_style.py +0 -0
  47. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/custom_qt_interactor.py +0 -0
  48. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/dialog_3d_picking_mixin.py +0 -0
  49. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/dialog_logic.py +0 -0
  50. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/dihedral_dialog.py +0 -0
  51. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/edit_3d_logic.py +0 -0
  52. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/edit_actions_logic.py +0 -0
  53. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/export_logic.py +0 -0
  54. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/geometry_base_dialog.py +0 -0
  55. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/io_logic.py +0 -0
  56. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/main_window.py +0 -0
  57. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/main_window_init.py +0 -0
  58. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/mirror_dialog.py +0 -0
  59. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/move_group_dialog.py +0 -0
  60. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/periodic_table_dialog.py +0 -0
  61. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/planarize_dialog.py +0 -0
  62. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/settings_dialog.py +0 -0
  63. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/settings_tabs/__init__.py +0 -0
  64. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/settings_tabs/settings_3d_tabs.py +0 -0
  65. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/settings_tabs/settings_other_tab.py +0 -0
  66. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/settings_tabs/settings_tab_base.py +0 -0
  67. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/string_importers.py +0 -0
  68. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/template_preview_item.py +0 -0
  69. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/template_preview_view.py +0 -0
  70. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/translation_dialog.py +0 -0
  71. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/ui_manager.py +0 -0
  72. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/user_template_dialog.py +0 -0
  73. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/view_3d_logic.py +0 -0
  74. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/ui/zoomable_view.py +0 -0
  75. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/utils/__init__.py +0 -0
  76. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/utils/constants.py +0 -0
  77. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/utils/sip_isdeleted_safe.py +0 -0
  78. {moleditpy_linux-3.5.0 → moleditpy_linux-3.5.1}/src/moleditpy_linux/utils/system_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy-linux
3
- Version: 3.5.0
3
+ Version: 3.5.1
4
4
  Summary: A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
5
5
  Author-email: HiroYokoyama <titech.yoko.hiro@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "MoleditPy-linux"
7
7
 
8
- version = "3.5.0"
8
+ version = "3.5.1"
9
9
 
10
10
  license = {file = "LICENSE"}
11
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy-linux
3
- Version: 3.5.0
3
+ Version: 3.5.1
4
4
  Summary: A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
5
5
  Author-email: HiroYokoyama <titech.yoko.hiro@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -258,8 +258,8 @@ class TemplateMixin:
258
258
 
259
259
  # --- 2) Enumerate existing atoms in the scene from self.data.atoms and map them ---
260
260
  mapped_atoms = {it for it in atom_items if it is not None}
261
- if self.get_setting("atom_fusing_enabled_2d", True):
262
- map_threshold = self.get_setting("atom_fusing_distance_2d", 14.0)
261
+ if self.get_setting("template_fusing_enabled_2d", True):
262
+ map_threshold = self.get_setting("template_fusing_distance_2d", 14.0)
263
263
  for i, p in enumerate(points):
264
264
  if atom_items[i] is not None:
265
265
  continue
@@ -739,8 +739,8 @@ class KeyboardMixin:
739
739
  if key == Qt.Key.Key_4:
740
740
  snap_dist = self.get_setting("template_snapping_distance_2d", 14.0)
741
741
  item_at_cursor = self.find_atom_near(cursor_pos, tol=snap_dist)
742
- elif self.get_setting("atom_fusing_enabled_2d", True):
743
- fuse_dist = self.get_setting("atom_fusing_distance_2d", 14.0)
742
+ elif self.get_setting("template_fusing_enabled_2d", True):
743
+ fuse_dist = self.get_setting("template_fusing_distance_2d", 14.0)
744
744
  item_at_cursor = self.find_atom_near(cursor_pos, tol=fuse_dist)
745
745
  if item_at_cursor is None:
746
746
  item_at_cursor = self.itemAt(cursor_pos, transform)
@@ -1084,9 +1084,9 @@ class KeyboardMixin:
1084
1084
 
1085
1085
  # Find nearby atom
1086
1086
  near_atom = None
1087
- if self.get_setting("atom_fusing_enabled_2d", True):
1087
+ if self.get_setting("template_fusing_enabled_2d", True):
1088
1088
  fuse_dist = self.get_setting(
1089
- "atom_fusing_distance_2d", SNAP_DISTANCE
1089
+ "template_fusing_distance_2d", SNAP_DISTANCE
1090
1090
  )
1091
1091
  near_atom = self.find_atom_near(target_pos, tol=fuse_dist)
1092
1092
 
@@ -308,10 +308,10 @@ class MoleculeScene(TemplateMixin, KeyboardMixin, SceneQueryMixin, QGraphicsScen
308
308
  item = None
309
309
  if (
310
310
  self.mode.startswith("bond")
311
- and self.get_setting("atom_fusing_enabled_2d", True)
311
+ and self.get_setting("template_fusing_enabled_2d", True)
312
312
  and self.press_pos
313
313
  ):
314
- fuse_dist = self.get_setting("atom_fusing_distance_2d", 14.0)
314
+ fuse_dist = self.get_setting("template_fusing_distance_2d", 14.0)
315
315
  item = self.find_atom_near(self.press_pos, tol=fuse_dist)
316
316
  if item is None:
317
317
  item = self.itemAt(self.press_pos, self.views()[0].transform())
@@ -360,8 +360,8 @@ class MoleculeScene(TemplateMixin, KeyboardMixin, SceneQueryMixin, QGraphicsScen
360
360
  end_point = current_pos
361
361
 
362
362
  target_atom = None
363
- if self.get_setting("atom_fusing_enabled_2d", True) and current_pos:
364
- fuse_dist = self.get_setting("atom_fusing_distance_2d", 14.0)
363
+ if self.get_setting("template_fusing_enabled_2d", True) and current_pos:
364
+ fuse_dist = self.get_setting("template_fusing_distance_2d", 14.0)
365
365
  target_atom = self.find_atom_near(current_pos, tol=fuse_dist)
366
366
  else:
367
367
  for item in self.items(current_pos):
@@ -557,8 +557,8 @@ class MoleculeScene(TemplateMixin, KeyboardMixin, SceneQueryMixin, QGraphicsScen
557
557
  ):
558
558
  line = QLineF(self.start_atom.pos(), end_pos)
559
559
  end_item = None
560
- if self.get_setting("atom_fusing_enabled_2d", True) and end_pos:
561
- fuse_dist = self.get_setting("atom_fusing_distance_2d", 14.0)
560
+ if self.get_setting("template_fusing_enabled_2d", True) and end_pos:
561
+ fuse_dist = self.get_setting("template_fusing_distance_2d", 14.0)
562
562
  end_item = self.find_atom_near(end_pos, tol=fuse_dist)
563
563
  if end_item is None:
564
564
  end_item = self.itemAt(end_pos, self.views()[0].transform())
@@ -611,8 +611,8 @@ class MoleculeScene(TemplateMixin, KeyboardMixin, SceneQueryMixin, QGraphicsScen
611
611
  self.data_changed_in_event = True
612
612
  else:
613
613
  end_item = None
614
- if self.get_setting("atom_fusing_enabled_2d", True) and end_pos:
615
- fuse_dist = self.get_setting("atom_fusing_distance_2d", 14.0)
614
+ if self.get_setting("template_fusing_enabled_2d", True) and end_pos:
615
+ fuse_dist = self.get_setting("template_fusing_distance_2d", 14.0)
616
616
  end_item = self.find_atom_near(end_pos, tol=fuse_dist)
617
617
  if end_item is None:
618
618
  end_item = self.itemAt(end_pos, self.views()[0].transform())
@@ -147,45 +147,59 @@ class Settings2DTab(SettingsTabBase):
147
147
 
148
148
  form_layout.addRow(self._create_separator())
149
149
 
150
- # --- Atom Fusing Settings ---
151
- form_layout.addRow(QLabel("<b>Atom Fusing Settings</b>"))
150
+ # --- Template Settings ---
151
+ form_layout.addRow(QLabel("<b>Template Settings</b>"))
152
152
 
153
- self.atom_fusing_enabled_2d_checkbox = QCheckBox()
154
- self.atom_fusing_enabled_2d_checkbox.setToolTip(
155
- "If checked, drawing or placing templates near an existing atom "
156
- "will connect to it rather than creating a new one."
157
- )
158
- form_layout.addRow("Enable Atom Fusing:", self.atom_fusing_enabled_2d_checkbox)
159
-
160
- # Fusing Distance
161
- self.atom_fusing_distance_2d_slider, self.atom_fusing_distance_2d_label = (
162
- self._create_slider(5, 50, 1.0, is_int=True)
153
+ # Template Snapping Distance
154
+ (
155
+ self.template_snapping_distance_2d_slider,
156
+ self.template_snapping_distance_2d_label,
157
+ ) = self._create_slider(5, 50, 1.0, is_int=True)
158
+ self.template_snapping_distance_2d_slider.setToolTip(
159
+ "The distance in pixels within which a template will snap to existing atoms or bonds."
163
160
  )
164
161
  form_layout.addRow(
165
- "Fusing Distance (px):",
162
+ "Snapping Distance (px):",
166
163
  self._wrap_layout(
167
- self.atom_fusing_distance_2d_slider, self.atom_fusing_distance_2d_label
164
+ self.template_snapping_distance_2d_slider,
165
+ self.template_snapping_distance_2d_label,
168
166
  ),
169
167
  )
170
168
 
171
- form_layout.addRow(self._create_separator())
172
-
173
- # --- Template Snapping Settings ---
174
- form_layout.addRow(QLabel("<b>Template Snapping Settings</b>"))
169
+ self.template_fusing_enabled_2d_checkbox = QCheckBox()
170
+ self.template_fusing_enabled_2d_checkbox.setToolTip(
171
+ "If checked, drawing or placing templates near an existing atom "
172
+ "will connect to it rather than creating a new one."
173
+ )
174
+ form_layout.addRow(
175
+ "Enable Atom Fusing:", self.template_fusing_enabled_2d_checkbox
176
+ )
175
177
 
176
- # Template Snapping Distance
178
+ # Fusing Distance
177
179
  (
178
- self.template_snapping_distance_2d_slider,
179
- self.template_snapping_distance_2d_label,
180
+ self.template_fusing_distance_2d_slider,
181
+ self.template_fusing_distance_2d_label,
180
182
  ) = self._create_slider(5, 50, 1.0, is_int=True)
183
+ self.template_fusing_distance_2d_slider.setToolTip(
184
+ "The distance in pixels within which a template atom "
185
+ "will be fused with an existing atom."
186
+ )
181
187
  form_layout.addRow(
182
- "Snapping Distance (px):",
188
+ "Fusing Distance (px):",
183
189
  self._wrap_layout(
184
- self.template_snapping_distance_2d_slider,
185
- self.template_snapping_distance_2d_label,
190
+ self.template_fusing_distance_2d_slider,
191
+ self.template_fusing_distance_2d_label,
186
192
  ),
187
193
  )
188
194
 
195
+ # Connect checkbox toggled to enable/disable fusing distance components
196
+ self.template_fusing_enabled_2d_checkbox.toggled.connect(
197
+ self.template_fusing_distance_2d_slider.setEnabled
198
+ )
199
+ self.template_fusing_enabled_2d_checkbox.toggled.connect(
200
+ self.template_fusing_distance_2d_label.setEnabled
201
+ )
202
+
189
203
  def _pick_bg_color_2d(self) -> None:
190
204
  color = QColorDialog.getColor(
191
205
  QColor(self.current_bg_color_2d), self, "Select 2D Background Color"
@@ -250,11 +264,14 @@ class Settings2DTab(SettingsTabBase):
250
264
  self.atom_use_bond_color_2d_checkbox.setChecked(
251
265
  settings_dict.get("atom_use_bond_color_2d", False)
252
266
  )
253
- self.atom_fusing_enabled_2d_checkbox.setChecked(
254
- settings_dict.get("atom_fusing_enabled_2d", True)
255
- )
256
- self.atom_fusing_distance_2d_slider.setValue(
257
- int(settings_dict.get("atom_fusing_distance_2d", 14.0))
267
+
268
+ fusing_enabled = settings_dict.get("template_fusing_enabled_2d", True)
269
+ self.template_fusing_enabled_2d_checkbox.setChecked(fusing_enabled)
270
+ self.template_fusing_distance_2d_slider.setEnabled(fusing_enabled)
271
+ self.template_fusing_distance_2d_label.setEnabled(fusing_enabled)
272
+
273
+ self.template_fusing_distance_2d_slider.setValue(
274
+ int(settings_dict.get("template_fusing_distance_2d", 14.0))
258
275
  )
259
276
  self.template_snapping_distance_2d_slider.setValue(
260
277
  int(settings_dict.get("template_snapping_distance_2d", 14.0))
@@ -273,9 +290,9 @@ class Settings2DTab(SettingsTabBase):
273
290
  "atom_font_family_2d": self.atom_font_family_2d_combo.currentFont().family(),
274
291
  "atom_font_size_2d": self.atom_font_size_2d_slider.value(),
275
292
  "atom_use_bond_color_2d": self.atom_use_bond_color_2d_checkbox.isChecked(),
276
- "atom_fusing_enabled_2d": self.atom_fusing_enabled_2d_checkbox.isChecked(),
277
- "atom_fusing_distance_2d": float(
278
- self.atom_fusing_distance_2d_slider.value()
293
+ "template_fusing_enabled_2d": self.template_fusing_enabled_2d_checkbox.isChecked(),
294
+ "template_fusing_distance_2d": float(
295
+ self.template_fusing_distance_2d_slider.value()
279
296
  ),
280
297
  "template_snapping_distance_2d": float(
281
298
  self.template_snapping_distance_2d_slider.value()
@@ -76,8 +76,8 @@ DEFAULT_SETTINGS = {
76
76
  "bond_wedge_width_2d": 6.0,
77
77
  "bond_dash_count_2d": 8,
78
78
  "atom_font_family_2d": "Arial",
79
- "atom_fusing_enabled_2d": True,
80
- "atom_fusing_distance_2d": 14.0,
79
+ "template_fusing_enabled_2d": True,
80
+ "template_fusing_distance_2d": 14.0,
81
81
  "template_snapping_distance_2d": 14.0,
82
82
  # --- Application Session / UI State ---
83
83
  "theme": "light",
File without changes