MoleditPy-linux 1.17.0__py3-none-any.whl → 1.18.0__py3-none-any.whl
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.
- moleditpy_linux/__init__.py +1 -1
- moleditpy_linux/__main__.py +1 -1
- moleditpy_linux/main.py +1 -1
- moleditpy_linux/modules/__init__.py +1 -1
- moleditpy_linux/modules/about_dialog.py +1 -1
- moleditpy_linux/modules/align_plane_dialog.py +1 -1
- moleditpy_linux/modules/alignment_dialog.py +1 -1
- moleditpy_linux/modules/analysis_window.py +1 -1
- moleditpy_linux/modules/angle_dialog.py +1 -1
- moleditpy_linux/modules/atom_item.py +1 -1
- moleditpy_linux/modules/bond_item.py +97 -6
- moleditpy_linux/modules/bond_length_dialog.py +1 -1
- moleditpy_linux/modules/calculation_worker.py +1 -1
- moleditpy_linux/modules/color_settings_dialog.py +1 -1
- moleditpy_linux/modules/constants.py +2 -2
- moleditpy_linux/modules/constrained_optimization_dialog.py +1 -1
- moleditpy_linux/modules/custom_interactor_style.py +1 -1
- moleditpy_linux/modules/custom_qt_interactor.py +1 -1
- moleditpy_linux/modules/dialog3_d_picking_mixin.py +1 -1
- moleditpy_linux/modules/dihedral_dialog.py +1 -1
- moleditpy_linux/modules/main_window.py +1 -1
- moleditpy_linux/modules/main_window_app_state.py +9 -0
- moleditpy_linux/modules/main_window_compute.py +7 -1
- moleditpy_linux/modules/main_window_dialog_manager.py +1 -1
- moleditpy_linux/modules/main_window_edit_3d.py +1 -1
- moleditpy_linux/modules/main_window_edit_actions.py +1 -1
- moleditpy_linux/modules/main_window_export.py +1 -1
- moleditpy_linux/modules/main_window_main_init.py +1 -1
- moleditpy_linux/modules/main_window_molecular_parsers.py +1 -1
- moleditpy_linux/modules/main_window_project_io.py +1 -1
- moleditpy_linux/modules/main_window_string_importers.py +1 -1
- moleditpy_linux/modules/main_window_ui_manager.py +1 -1
- moleditpy_linux/modules/main_window_view_3d.py +349 -122
- moleditpy_linux/modules/main_window_view_loaders.py +1 -1
- moleditpy_linux/modules/mirror_dialog.py +1 -1
- moleditpy_linux/modules/molecular_data.py +1 -1
- moleditpy_linux/modules/molecule_scene.py +8 -4
- moleditpy_linux/modules/move_group_dialog.py +1 -1
- moleditpy_linux/modules/periodic_table_dialog.py +1 -1
- moleditpy_linux/modules/planarize_dialog.py +1 -1
- moleditpy_linux/modules/settings_dialog.py +86 -2
- moleditpy_linux/modules/template_preview_item.py +1 -1
- moleditpy_linux/modules/template_preview_view.py +1 -1
- moleditpy_linux/modules/translation_dialog.py +1 -1
- moleditpy_linux/modules/user_template_dialog.py +1 -1
- moleditpy_linux/modules/zoomable_view.py +22 -2
- {moleditpy_linux-1.17.0.dist-info → moleditpy_linux-1.18.0.dist-info}/METADATA +1 -1
- moleditpy_linux-1.18.0.dist-info/RECORD +55 -0
- moleditpy_linux-1.17.0.dist-info/RECORD +0 -55
- {moleditpy_linux-1.17.0.dist-info → moleditpy_linux-1.18.0.dist-info}/WHEEL +0 -0
- {moleditpy_linux-1.17.0.dist-info → moleditpy_linux-1.18.0.dist-info}/entry_points.txt +0 -0
- {moleditpy_linux-1.17.0.dist-info → moleditpy_linux-1.18.0.dist-info}/licenses/LICENSE +0 -0
- {moleditpy_linux-1.17.0.dist-info → moleditpy_linux-1.18.0.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
import traceback
|
|
@@ -1712,7 +1712,11 @@ class MoleculeScene(QGraphicsScene):
|
|
|
1712
1712
|
return
|
|
1713
1713
|
|
|
1714
1714
|
# --- 3. Atomに対する操作 (原子の追加 - マージされた機能) ---
|
|
1715
|
-
if key
|
|
1715
|
+
if key in [Qt.Key.Key_1, Qt.Key.Key_2, Qt.Key.Key_3]:
|
|
1716
|
+
target_order = 1
|
|
1717
|
+
if key == Qt.Key.Key_2: target_order = 2
|
|
1718
|
+
elif key == Qt.Key.Key_3: target_order = 3
|
|
1719
|
+
|
|
1716
1720
|
start_atom = None
|
|
1717
1721
|
if isinstance(item_at_cursor, AtomItem):
|
|
1718
1722
|
start_atom = item_at_cursor
|
|
@@ -1802,12 +1806,12 @@ class MoleculeScene(QGraphicsScene):
|
|
|
1802
1806
|
|
|
1803
1807
|
if near_atom and near_atom is not start_atom:
|
|
1804
1808
|
# 近くに既存原子があれば結合
|
|
1805
|
-
self.create_bond(start_atom, near_atom)
|
|
1809
|
+
self.create_bond(start_atom, near_atom, bond_order=target_order, bond_stereo=0)
|
|
1806
1810
|
else:
|
|
1807
1811
|
# 新規原子を作成し結合
|
|
1808
1812
|
new_atom_id = self.create_atom('C', target_pos)
|
|
1809
1813
|
new_atom_item = self.data.atoms[new_atom_id]['item']
|
|
1810
|
-
self.create_bond(start_atom, new_atom_item)
|
|
1814
|
+
self.create_bond(start_atom, new_atom_item, bond_order=target_order, bond_stereo=0)
|
|
1811
1815
|
|
|
1812
1816
|
self.clearSelection()
|
|
1813
1817
|
self.window.push_undo_state()
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import (
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import QDialog, QGridLayout, QPushButton
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import (
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import (
|
|
@@ -69,6 +69,9 @@ class SettingsDialog(QDialog):
|
|
|
69
69
|
'stick_triple_bond_offset_factor': 1.0,
|
|
70
70
|
'stick_double_bond_radius_factor': 0.6,
|
|
71
71
|
'stick_triple_bond_radius_factor': 0.4,
|
|
72
|
+
'aromatic_torus_thickness_factor': 0.6,
|
|
73
|
+
# Whether to draw an aromatic circle inside rings in 3D
|
|
74
|
+
'display_aromatic_circles_3d': False,
|
|
72
75
|
# If True, attempts to be permissive when RDKit raises chemical/sanitization errors
|
|
73
76
|
# during file import (useful for viewing malformed XYZ/MOL files). When enabled,
|
|
74
77
|
# element symbol recognition will be coerced where possible and Chem.SanitizeMol
|
|
@@ -86,6 +89,7 @@ class SettingsDialog(QDialog):
|
|
|
86
89
|
# If True, RDKit will attempt to kekulize aromatic systems for 3D display
|
|
87
90
|
# (shows alternating single/double bonds rather than aromatic circles)
|
|
88
91
|
'display_kekule_3d': False,
|
|
92
|
+
'ball_stick_use_cpk_bond_color': False,
|
|
89
93
|
}
|
|
90
94
|
|
|
91
95
|
# --- 選択された色を管理する専用のインスタンス変数 ---
|
|
@@ -118,6 +122,13 @@ class SettingsDialog(QDialog):
|
|
|
118
122
|
|
|
119
123
|
# 渡された設定でUIと内部変数を初期化
|
|
120
124
|
self.update_ui_from_settings(current_settings)
|
|
125
|
+
|
|
126
|
+
# Initialize aromatic circle checkbox and torus thickness from settings
|
|
127
|
+
self.aromatic_circle_checkbox.setChecked(current_settings.get('display_aromatic_circles_3d', self.default_settings.get('display_aromatic_circles_3d', False)))
|
|
128
|
+
# Thickness factor is stored as a multiplier (e.g., 1.0), slider uses integer 0-300 representing 0.1x-3.0x
|
|
129
|
+
thickness_factor = current_settings.get('aromatic_torus_thickness_factor', self.default_settings.get('aromatic_torus_thickness_factor', 1.0))
|
|
130
|
+
self.aromatic_torus_thickness_slider.setValue(int(thickness_factor * 100))
|
|
131
|
+
self.aromatic_torus_thickness_label.setText(f"{thickness_factor:.1f}")
|
|
121
132
|
|
|
122
133
|
# --- ボタンの配置 ---
|
|
123
134
|
buttons = QHBoxLayout()
|
|
@@ -243,11 +254,42 @@ class SettingsDialog(QDialog):
|
|
|
243
254
|
except Exception:
|
|
244
255
|
pass
|
|
245
256
|
|
|
257
|
+
# Add separator after Kekule bonds option
|
|
258
|
+
separator = QFrame()
|
|
259
|
+
separator.setFrameShape(QFrame.Shape.HLine)
|
|
260
|
+
separator.setFrameShadow(QFrame.Shadow.Sunken)
|
|
261
|
+
self.other_form_layout.addRow(separator)
|
|
262
|
+
|
|
246
263
|
# Place the Kekulé option after the always-ask-charge option
|
|
247
264
|
try:
|
|
248
265
|
self.other_form_layout.addRow("Display Kekulé bonds in 3D:", self.kekule_3d_checkbox)
|
|
249
266
|
except Exception:
|
|
250
267
|
pass
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
# Aromatic ring circle display option
|
|
271
|
+
self.aromatic_circle_checkbox = QCheckBox()
|
|
272
|
+
self.aromatic_circle_checkbox.setToolTip("When enabled, aromatic rings will be displayed with a circle inside the ring in 3D view.")
|
|
273
|
+
try:
|
|
274
|
+
self.other_form_layout.addRow("Display aromatic rings as circles in 3D:", self.aromatic_circle_checkbox)
|
|
275
|
+
except Exception:
|
|
276
|
+
pass
|
|
277
|
+
|
|
278
|
+
# Aromatic torus thickness factor
|
|
279
|
+
self.aromatic_torus_thickness_slider = QSlider(Qt.Orientation.Horizontal)
|
|
280
|
+
self.aromatic_torus_thickness_slider.setRange(10, 300) # 0.1x to 3.0x
|
|
281
|
+
self.aromatic_torus_thickness_slider.setValue(100) # Default 1.0x
|
|
282
|
+
self.aromatic_torus_thickness_label = QLabel("1.0")
|
|
283
|
+
self.aromatic_torus_thickness_slider.valueChanged.connect(
|
|
284
|
+
lambda v: self.aromatic_torus_thickness_label.setText(f"{v/100:.1f}")
|
|
285
|
+
)
|
|
286
|
+
thickness_layout = QHBoxLayout()
|
|
287
|
+
thickness_layout.addWidget(self.aromatic_torus_thickness_slider)
|
|
288
|
+
thickness_layout.addWidget(self.aromatic_torus_thickness_label)
|
|
289
|
+
try:
|
|
290
|
+
self.other_form_layout.addRow("Aromatic torus thickness (× bond radius):", thickness_layout)
|
|
291
|
+
except Exception:
|
|
292
|
+
pass
|
|
251
293
|
|
|
252
294
|
# Add Other tab to the tab widget
|
|
253
295
|
self.tab_widget.addTab(self.other_widget, "Other")
|
|
@@ -378,6 +420,12 @@ class SettingsDialog(QDialog):
|
|
|
378
420
|
resolution_layout.addWidget(self.bs_resolution_label)
|
|
379
421
|
form_layout.addRow("Resolution (Quality):", resolution_layout)
|
|
380
422
|
|
|
423
|
+
# --- 区切り線(水平ライン) ---
|
|
424
|
+
line = QFrame()
|
|
425
|
+
line.setFrameShape(QFrame.Shape.HLine)
|
|
426
|
+
line.setFrameShadow(QFrame.Shadow.Sunken)
|
|
427
|
+
form_layout.addRow(line)
|
|
428
|
+
|
|
381
429
|
# --- Ball & Stick bond color ---
|
|
382
430
|
self.bs_bond_color_button = QPushButton()
|
|
383
431
|
self.bs_bond_color_button.setFixedSize(36, 24)
|
|
@@ -385,6 +433,11 @@ class SettingsDialog(QDialog):
|
|
|
385
433
|
self.bs_bond_color_button.setToolTip("Choose the uniform bond color for Ball & Stick model (3D)")
|
|
386
434
|
form_layout.addRow("Ball & Stick bond color:", self.bs_bond_color_button)
|
|
387
435
|
|
|
436
|
+
# Use CPK colors for bonds option
|
|
437
|
+
self.bs_use_cpk_bond_checkbox = QCheckBox()
|
|
438
|
+
self.bs_use_cpk_bond_checkbox.setToolTip("If checked, bonds will be colored using the atom colors (split bonds). If unchecked, a uniform color is used.")
|
|
439
|
+
form_layout.addRow("Use CPK colors for bonds:", self.bs_use_cpk_bond_checkbox)
|
|
440
|
+
|
|
388
441
|
self.tab_widget.addTab(ball_stick_widget, "Ball & Stick")
|
|
389
442
|
|
|
390
443
|
def create_cpk_tab(self):
|
|
@@ -619,6 +672,8 @@ class SettingsDialog(QDialog):
|
|
|
619
672
|
'skip_chemistry_checks': self.default_settings.get('skip_chemistry_checks', False),
|
|
620
673
|
'display_kekule_3d': self.default_settings.get('display_kekule_3d', False),
|
|
621
674
|
'always_ask_charge': self.default_settings.get('always_ask_charge', False),
|
|
675
|
+
'display_aromatic_circles_3d': self.default_settings.get('display_aromatic_circles_3d', False),
|
|
676
|
+
'aromatic_torus_thickness_factor': self.default_settings.get('aromatic_torus_thickness_factor', 1.0),
|
|
622
677
|
},
|
|
623
678
|
"Ball & Stick": {
|
|
624
679
|
'ball_stick_atom_scale': self.default_settings['ball_stick_atom_scale'],
|
|
@@ -627,11 +682,14 @@ class SettingsDialog(QDialog):
|
|
|
627
682
|
'ball_stick_double_bond_offset_factor': self.default_settings.get('ball_stick_double_bond_offset_factor', 2.0),
|
|
628
683
|
'ball_stick_triple_bond_offset_factor': self.default_settings.get('ball_stick_triple_bond_offset_factor', 2.0),
|
|
629
684
|
'ball_stick_double_bond_radius_factor': self.default_settings.get('ball_stick_double_bond_radius_factor', 0.8),
|
|
630
|
-
'ball_stick_triple_bond_radius_factor': self.default_settings.get('ball_stick_triple_bond_radius_factor', 0.75)
|
|
685
|
+
'ball_stick_triple_bond_radius_factor': self.default_settings.get('ball_stick_triple_bond_radius_factor', 0.75),
|
|
686
|
+
'ball_stick_use_cpk_bond_color': self.default_settings['ball_stick_use_cpk_bond_color'],
|
|
687
|
+
'ball_stick_bond_color': self.default_settings.get('ball_stick_bond_color', '#7F7F7F')
|
|
631
688
|
},
|
|
632
689
|
"CPK (Space-filling)": {
|
|
633
690
|
'cpk_atom_scale': self.default_settings['cpk_atom_scale'],
|
|
634
691
|
'cpk_resolution': self.default_settings['cpk_resolution'],
|
|
692
|
+
'cpk_colors': {}
|
|
635
693
|
},
|
|
636
694
|
"Wireframe": {
|
|
637
695
|
'wireframe_bond_radius': self.default_settings['wireframe_bond_radius'],
|
|
@@ -665,6 +723,7 @@ class SettingsDialog(QDialog):
|
|
|
665
723
|
|
|
666
724
|
# UIを更新
|
|
667
725
|
self.update_ui_from_settings(updated_settings)
|
|
726
|
+
# CPK tab: do not change parent/settings immediately; let Apply/OK persist any changes
|
|
668
727
|
|
|
669
728
|
# ユーザーへのフィードバック
|
|
670
729
|
QMessageBox.information(self, "Reset Complete", f"Settings for '{tab_name}' tab have been reset to defaults.")
|
|
@@ -801,6 +860,17 @@ class SettingsDialog(QDialog):
|
|
|
801
860
|
'stick_triple_bond_offset_factor': self.stick_triple_offset_slider.value() / 100.0,
|
|
802
861
|
'stick_double_bond_radius_factor': self.stick_double_radius_slider.value() / 100.0,
|
|
803
862
|
'stick_triple_bond_radius_factor': self.stick_triple_radius_slider.value() / 100.0,
|
|
863
|
+
# Projection mode
|
|
864
|
+
'projection_mode': self.projection_combo.currentText(),
|
|
865
|
+
# Kekule / aromatic / torus settings
|
|
866
|
+
'display_kekule_3d': self.kekule_3d_checkbox.isChecked(),
|
|
867
|
+
'display_aromatic_circles_3d': self.aromatic_circle_checkbox.isChecked(),
|
|
868
|
+
'aromatic_torus_thickness_factor': self.aromatic_torus_thickness_slider.value() / 100.0,
|
|
869
|
+
'skip_chemistry_checks': self.skip_chem_checks_checkbox.isChecked(),
|
|
870
|
+
'always_ask_charge': self.always_ask_charge_checkbox.isChecked(),
|
|
871
|
+
# Ball & Stick bond color and use-cpk option
|
|
872
|
+
'ball_stick_bond_color': getattr(self, 'bs_bond_color', self.default_settings.get('ball_stick_bond_color')),
|
|
873
|
+
'ball_stick_use_cpk_bond_color': self.bs_use_cpk_bond_checkbox.isChecked(),
|
|
804
874
|
}
|
|
805
875
|
|
|
806
876
|
def reset_to_defaults(self):
|
|
@@ -854,6 +924,9 @@ class SettingsDialog(QDialog):
|
|
|
854
924
|
except Exception:
|
|
855
925
|
pass
|
|
856
926
|
|
|
927
|
+
# Ball & Stick CPK bond color option
|
|
928
|
+
self.bs_use_cpk_bond_checkbox.setChecked(settings_dict.get('ball_stick_use_cpk_bond_color', self.default_settings['ball_stick_use_cpk_bond_color']))
|
|
929
|
+
|
|
857
930
|
# CPK設定
|
|
858
931
|
cpk_atom_scale = int(settings_dict.get('cpk_atom_scale', self.default_settings['cpk_atom_scale']) * 100)
|
|
859
932
|
self.cpk_atom_scale_slider.setValue(cpk_atom_scale)
|
|
@@ -944,6 +1017,14 @@ class SettingsDialog(QDialog):
|
|
|
944
1017
|
self.kekule_3d_checkbox.setChecked(settings_dict.get('display_kekule_3d', self.default_settings.get('display_kekule_3d', False)))
|
|
945
1018
|
# always ask for charge on XYZ imports
|
|
946
1019
|
self.always_ask_charge_checkbox.setChecked(settings_dict.get('always_ask_charge', self.default_settings.get('always_ask_charge', False)))
|
|
1020
|
+
# Aromatic ring circle display and torus thickness factor
|
|
1021
|
+
self.aromatic_circle_checkbox.setChecked(settings_dict.get('display_aromatic_circles_3d', self.default_settings.get('display_aromatic_circles_3d', False)))
|
|
1022
|
+
thickness_factor = float(settings_dict.get('aromatic_torus_thickness_factor', self.default_settings.get('aromatic_torus_thickness_factor', 1.0)))
|
|
1023
|
+
try:
|
|
1024
|
+
self.aromatic_torus_thickness_slider.setValue(int(thickness_factor * 100))
|
|
1025
|
+
self.aromatic_torus_thickness_label.setText(f"{thickness_factor:.1f}")
|
|
1026
|
+
except Exception:
|
|
1027
|
+
pass
|
|
947
1028
|
|
|
948
1029
|
def select_color(self):
|
|
949
1030
|
"""カラーピッカーを開き、選択された色を内部変数とUIに反映させる"""
|
|
@@ -996,10 +1077,13 @@ class SettingsDialog(QDialog):
|
|
|
996
1077
|
'stick_double_bond_radius_factor': self.stick_double_radius_slider.value() / 100.0,
|
|
997
1078
|
'stick_triple_bond_radius_factor': self.stick_triple_radius_slider.value() / 100.0,
|
|
998
1079
|
'display_kekule_3d': self.kekule_3d_checkbox.isChecked(),
|
|
1080
|
+
'display_aromatic_circles_3d': self.aromatic_circle_checkbox.isChecked(),
|
|
1081
|
+
'aromatic_torus_thickness_factor': self.aromatic_torus_thickness_slider.value() / 100.0,
|
|
999
1082
|
'skip_chemistry_checks': self.skip_chem_checks_checkbox.isChecked(),
|
|
1000
1083
|
'always_ask_charge': self.always_ask_charge_checkbox.isChecked(),
|
|
1001
1084
|
# Ball & Stick bond color (3D grey/uniform color)
|
|
1002
1085
|
'ball_stick_bond_color': getattr(self, 'bs_bond_color', self.default_settings.get('ball_stick_bond_color', '#7F7F7F')),
|
|
1086
|
+
'ball_stick_use_cpk_bond_color': self.bs_use_cpk_bond_checkbox.isChecked(),
|
|
1003
1087
|
}
|
|
1004
1088
|
|
|
1005
1089
|
def pick_bs_bond_color(self):
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import (
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import QGraphicsView
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import (
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import (
|
|
@@ -7,7 +7,7 @@ MoleditPy — A Python-based molecular editing software
|
|
|
7
7
|
Author: Hiromichi Yokoyama
|
|
8
8
|
License: GPL-3.0 license
|
|
9
9
|
Repo: https://github.com/HiroYokoyama/python_molecular_editor
|
|
10
|
-
DOI 10.5281/zenodo.17268532
|
|
10
|
+
DOI: 10.5281/zenodo.17268532
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from PyQt6.QtWidgets import (
|
|
@@ -16,7 +16,7 @@ from PyQt6.QtWidgets import (
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
from PyQt6.QtCore import (
|
|
19
|
-
Qt, QPointF
|
|
19
|
+
Qt, QPointF, QEvent
|
|
20
20
|
)
|
|
21
21
|
|
|
22
22
|
class ZoomableView(QGraphicsView):
|
|
@@ -107,3 +107,23 @@ class ZoomableView(QGraphicsView):
|
|
|
107
107
|
event.accept()
|
|
108
108
|
else:
|
|
109
109
|
super().mouseReleaseEvent(event)
|
|
110
|
+
|
|
111
|
+
def viewportEvent(self, event):
|
|
112
|
+
""" Macのトラックパッドなどのネイティブジェスチャー(ピンチ)に対応 """
|
|
113
|
+
if event.type() == QEvent.Type.NativeGesture:
|
|
114
|
+
# ピンチズーム(ZoomNativeGesture)の場合
|
|
115
|
+
if event.gestureType() == Qt.NativeGestureType.ZoomNativeGesture:
|
|
116
|
+
# event.value() は拡大縮小の倍率差分を返します
|
|
117
|
+
# 例: 拡大時は正の値、縮小時は負の値
|
|
118
|
+
factor = 1.0 + event.value()
|
|
119
|
+
|
|
120
|
+
# 既存の最大・最小スケール制限を考慮する場合(オプション)
|
|
121
|
+
current_scale = self.transform().m11()
|
|
122
|
+
min_scale, max_scale = 0.05, 20.0
|
|
123
|
+
|
|
124
|
+
# 制限内であればスケールを適用
|
|
125
|
+
# (厳密に制限を守るならif文でガードしますが、最小実装としては以下で動作します)
|
|
126
|
+
self.scale(factor, factor)
|
|
127
|
+
return True
|
|
128
|
+
|
|
129
|
+
return super().viewportEvent(event)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MoleditPy-linux
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.18.0
|
|
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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
moleditpy_linux/__init__.py,sha256=OWErYK0DbSMVsHrTs7rxzzziUalidJfWPYUaSWm2lLY,317
|
|
2
|
+
moleditpy_linux/__main__.py,sha256=bYu_h7lhc6PIl1-I_VI4_Q5MdBHmVrMiO4DYsy9jbiY,829
|
|
3
|
+
moleditpy_linux/main.py,sha256=0D8_CXe4xdgqlu2TWoT2pi35K9y2b4ilFj6LWD9Qk7w,1178
|
|
4
|
+
moleditpy_linux/modules/__init__.py,sha256=PFwvuEKXsgQlHTYL8oT5sTeo22gR0XmQcySp7kOTtqk,1396
|
|
5
|
+
moleditpy_linux/modules/about_dialog.py,sha256=zkR-w0vtqLH1Y0baQaoTb0tYmVamT4ztEMBdIANKKvc,3693
|
|
6
|
+
moleditpy_linux/modules/align_plane_dialog.py,sha256=ULqc0Ik1ju0HSnkkr0f-VLQw7TJbV9PdjDirYYpBXL0,11934
|
|
7
|
+
moleditpy_linux/modules/alignment_dialog.py,sha256=Oikb5lzTxrRX2MJXoeziYqBc9hckVR0PbuBb4KJUCCc,11409
|
|
8
|
+
moleditpy_linux/modules/analysis_window.py,sha256=zjP5ipSTpKw8oLr1eKdoxW8Bk1SslGlPqsVucD-x_5w,9403
|
|
9
|
+
moleditpy_linux/modules/angle_dialog.py,sha256=e06-Bw2E9khyjC3209HuGc5FDS3Pj0StV8u5bO1gKFw,17817
|
|
10
|
+
moleditpy_linux/modules/atom_item.py,sha256=u8ge6B1M9sOGobfzg3tp1-EGXtEUmvdee7Fx6msg8Wk,15566
|
|
11
|
+
moleditpy_linux/modules/bond_item.py,sha256=eVkEeKvM4igYI67DYxpey3FllqDyt_iWDo4VPYMhaPk,19137
|
|
12
|
+
moleditpy_linux/modules/bond_length_dialog.py,sha256=Gaiu4XN3CmMXl-hHl_C5_-ADEA_0VhL5GlAmIKYGRLw,14848
|
|
13
|
+
moleditpy_linux/modules/calculation_worker.py,sha256=KiGQY7i-QCQofEoE0r65KoQgpEGFcbhmxWv6egfkUdc,42324
|
|
14
|
+
moleditpy_linux/modules/color_settings_dialog.py,sha256=Ow44BhCOLo0AFb6klO001k6B4drOgKX9DeNBQhZLp5o,15474
|
|
15
|
+
moleditpy_linux/modules/constants.py,sha256=lbPijXuicncVftXmGiESbdbJ0Ufq_NvziOxOQTEwq50,4703
|
|
16
|
+
moleditpy_linux/modules/constrained_optimization_dialog.py,sha256=OFWJ715N92XLKlJwEnvCa-y01GHst_VoiyzURS9WGvM,30130
|
|
17
|
+
moleditpy_linux/modules/custom_interactor_style.py,sha256=NjsXE2a43IDNEanZBlcG9eR4ZIERT1MsQC6lbfesapQ,38453
|
|
18
|
+
moleditpy_linux/modules/custom_qt_interactor.py,sha256=MFaTuDh-FPeFBS4303CqxsxmsOIOW4QXUz6USwI8PHQ,2451
|
|
19
|
+
moleditpy_linux/modules/dialog3_d_picking_mixin.py,sha256=2Sut0J5ltXMtrUJ9R3o1oZ4ysed27mdSIqLpWxmGdyM,5037
|
|
20
|
+
moleditpy_linux/modules/dihedral_dialog.py,sha256=J_Ri71gkqYzBWK3MFaQv9Uq_iN6caTsEtFCTz4hr4Mk,18078
|
|
21
|
+
moleditpy_linux/modules/main_window.py,sha256=bWgYP3EMOAcy1fnjg5DTXHb2d7Xm6zKQtFcleYjg7Ac,35789
|
|
22
|
+
moleditpy_linux/modules/main_window_app_state.py,sha256=4iwmnaiKu7uJ98r1KpdWgZ1_GBCGsM38hf7DNTFXEZE,33592
|
|
23
|
+
moleditpy_linux/modules/main_window_compute.py,sha256=DsyMvGD2gnB-9XC6SU-ICuScyyQxubfaDYAk8hkY-vk,51911
|
|
24
|
+
moleditpy_linux/modules/main_window_dialog_manager.py,sha256=S1ROCWqzB2uVSKHY4o5CbTtJAEjSyEXGPC1AgmdVgK4,20065
|
|
25
|
+
moleditpy_linux/modules/main_window_edit_3d.py,sha256=xBZxqzkTSUFqY2-WrTGEpTNIgzHdT_oMK5NcHaU2XVQ,19771
|
|
26
|
+
moleditpy_linux/modules/main_window_edit_actions.py,sha256=lUFxNFTUQzeXN8CNlb4_4S9j4M1EEq8kpJmh9dCzM3M,64818
|
|
27
|
+
moleditpy_linux/modules/main_window_export.py,sha256=piWCXSdC2Qfd1BgNvSlAOgCrce7n8YH99GexuTifhlg,34683
|
|
28
|
+
moleditpy_linux/modules/main_window_main_init.py,sha256=rgPCUGB6yto0wTaMvWw721wNurGQ5hHpg0rpa3a1fPI,75595
|
|
29
|
+
moleditpy_linux/modules/main_window_molecular_parsers.py,sha256=yac8DMa4zL35o7fCZFz_qwqLUvkzpzZBITheNO8PM8A,48394
|
|
30
|
+
moleditpy_linux/modules/main_window_project_io.py,sha256=mj6rqLMziNb8YDEBtlt2FLJ3eylmz1pTokjaQ3F1r8k,17239
|
|
31
|
+
moleditpy_linux/modules/main_window_string_importers.py,sha256=mQVDv2Dj4MwnPgMRe2IqdAAKnB_quE6QfYeAgCjfv28,10892
|
|
32
|
+
moleditpy_linux/modules/main_window_ui_manager.py,sha256=p2KPzAj0GK9ZWP7SbAg0jGrmKeLaLC0X7l9ISC4GVu4,22256
|
|
33
|
+
moleditpy_linux/modules/main_window_view_3d.py,sha256=uvH8L3ksDKLzBYGF2BzJLIfvRYk_Vv67stoDjB3yOik,69484
|
|
34
|
+
moleditpy_linux/modules/main_window_view_loaders.py,sha256=DbsjW-C6XymIaqd0wsGQckOX8Qqx8UKwIOvtKeoUkfc,14452
|
|
35
|
+
moleditpy_linux/modules/mirror_dialog.py,sha256=c3v4qY6R4FAljzk4EPaDjL9ZdZMjLQSFLqDMXz2fBUk,4696
|
|
36
|
+
moleditpy_linux/modules/molecular_data.py,sha256=8gE9ByYg3kSBfb1zANsyad_BVBTm6WOLF7NsZIYuG2E,13250
|
|
37
|
+
moleditpy_linux/modules/molecule_scene.py,sha256=V61_-zPPGBLDWKYdZdaRMxu_Y9Lq9qIAAWo1Le7czh4,95133
|
|
38
|
+
moleditpy_linux/modules/move_group_dialog.py,sha256=65HVXTJSaQ9lp03XFhI1l7OzUsXmH_aqd8OgwjpjfGg,27174
|
|
39
|
+
moleditpy_linux/modules/periodic_table_dialog.py,sha256=ItEZUts1XCietz9paY-spvbzxh6SXak3GnikwqkHZCw,4006
|
|
40
|
+
moleditpy_linux/modules/planarize_dialog.py,sha256=uwd4zU1YWfG8lgEYr6_pMjX1nPKjeQEHAtvHC7IuC-s,8671
|
|
41
|
+
moleditpy_linux/modules/settings_dialog.py,sha256=fsMcpQDETL1c86RLjagC6NS2q7km8o_PwOr5uuY4Mps,66475
|
|
42
|
+
moleditpy_linux/modules/template_preview_item.py,sha256=Ks3C35pYFuLT5G4fsloI7ljE6ESXoYyGvLkM22qcmt0,6673
|
|
43
|
+
moleditpy_linux/modules/template_preview_view.py,sha256=4OCHZDO51BvJpKdfrBWJ4_4WfLfFSKxsVIyf7I-Kj2E,3350
|
|
44
|
+
moleditpy_linux/modules/translation_dialog.py,sha256=aWlgTR9mtEMbzGIY1SoQhDltsX-01LtCxjqy5NWtGuA,14663
|
|
45
|
+
moleditpy_linux/modules/user_template_dialog.py,sha256=0AOnJpxqOL4iGeZAmbuicXUB5wguEbSq-MlFFByJpGQ,28224
|
|
46
|
+
moleditpy_linux/modules/zoomable_view.py,sha256=hjwljui13QpvjvxJHY4Evot4jMQvxRBQUNH5HUlyFOk,5966
|
|
47
|
+
moleditpy_linux/modules/assets/icon.icns,sha256=wD5R6-Vw7K662tVKhu2E1ImN0oUuyAP4youesEQsn9c,139863
|
|
48
|
+
moleditpy_linux/modules/assets/icon.ico,sha256=RfgFcx7-dHY_2STdsOQCQziY5SNhDr3gPnjO6jzEDPI,147975
|
|
49
|
+
moleditpy_linux/modules/assets/icon.png,sha256=kCFN1WacYIdy0GN6SFEbNA00ef39pCczBnFdkkBI8Bs,147110
|
|
50
|
+
moleditpy_linux-1.18.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
51
|
+
moleditpy_linux-1.18.0.dist-info/METADATA,sha256=X4cu0KRmadAgRPsNYSQv5VtfnADk6WbLpBMqFCPa2CM,58734
|
|
52
|
+
moleditpy_linux-1.18.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
53
|
+
moleditpy_linux-1.18.0.dist-info/entry_points.txt,sha256=-OzipSi__yVwlimNtu3eiRP5t5UMg55Cs0udyhXYiyw,60
|
|
54
|
+
moleditpy_linux-1.18.0.dist-info/top_level.txt,sha256=qyqe-hDYL6CXyin9E5Me5rVl3PG84VqiOjf9bQvfJLs,16
|
|
55
|
+
moleditpy_linux-1.18.0.dist-info/RECORD,,
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
moleditpy_linux/__init__.py,sha256=KzAbwgdouR0WcuVPsq10M3egIQPNm3xS9jN1bF7KGhQ,316
|
|
2
|
-
moleditpy_linux/__main__.py,sha256=P4BoaqZ-SgKGoErMZIWRKhzH6CbR8q34ipQ6RtQUEko,828
|
|
3
|
-
moleditpy_linux/main.py,sha256=fI7A2zxlhrtXsyDCLJ3iiGeAc28FSaAj4MPnqBoA8GU,1177
|
|
4
|
-
moleditpy_linux/modules/__init__.py,sha256=uhZXwojRHFyZTj1dR89OvgPGj6O6ZSo-1ZK3zSc86Ks,1395
|
|
5
|
-
moleditpy_linux/modules/about_dialog.py,sha256=mcEpGFRKBCiQkmrmb6RvllyWuuS0o7VOFBO9_YcKt0k,3692
|
|
6
|
-
moleditpy_linux/modules/align_plane_dialog.py,sha256=qk2p1za_SgDZ_EMm0BIe-Asi-5rfP3yw3MkrH8qdilk,11933
|
|
7
|
-
moleditpy_linux/modules/alignment_dialog.py,sha256=ImL03lRirOP596jp4h4Gkwb3-kNpNarg5f9nEAow388,11408
|
|
8
|
-
moleditpy_linux/modules/analysis_window.py,sha256=bFSE4yj1YRiAunLzFovzI2znh8pQ0i34AMcyw5xRz_Q,9402
|
|
9
|
-
moleditpy_linux/modules/angle_dialog.py,sha256=0ERs8n3WGAvrjH3tSX3SFkfsxM0rqre5WQqtBR42ZRc,17816
|
|
10
|
-
moleditpy_linux/modules/atom_item.py,sha256=rn_BhPb7K_VoJjCbe6yaE5seOIhSAxmzFcT9MprJw_Y,15565
|
|
11
|
-
moleditpy_linux/modules/bond_item.py,sha256=6YhLyXp9VjyEydiY71iG9xUTCHC3zD5HkyJkOyRXwPw,13046
|
|
12
|
-
moleditpy_linux/modules/bond_length_dialog.py,sha256=G6eRFcIlYQHsFMejczgmGqJA6zESjXyEnDScRGePS5Q,14847
|
|
13
|
-
moleditpy_linux/modules/calculation_worker.py,sha256=UsxlSLd2Xts_qDqwPgWG7ibRhtPx3RYemkxivQZ6m6M,42323
|
|
14
|
-
moleditpy_linux/modules/color_settings_dialog.py,sha256=GuLhv0plClhdVoJ2B6RLt9587KOsu98zv_DDxonpU1A,15473
|
|
15
|
-
moleditpy_linux/modules/constants.py,sha256=4_QxKnxL_CZDLhbCiHI6H0lEvHXlc6iQgElWC8Nvo_k,4702
|
|
16
|
-
moleditpy_linux/modules/constrained_optimization_dialog.py,sha256=xTjg30gcKx7n0trDmnaDHA9dnTOKN4DJ60rECS-DVpQ,30129
|
|
17
|
-
moleditpy_linux/modules/custom_interactor_style.py,sha256=o1rw9z7hxgqEcii3hkk-YbSxZKf9P4_-5OZjYMvL2H8,38452
|
|
18
|
-
moleditpy_linux/modules/custom_qt_interactor.py,sha256=_s5JHsCppM3hHT2LnhpyeHl-IeN8YP86wgvnvGvye3c,2450
|
|
19
|
-
moleditpy_linux/modules/dialog3_d_picking_mixin.py,sha256=6S3Wg54Noiz7bPKe1WnklLnJXrk4O6LpZDoptowQ3TM,5036
|
|
20
|
-
moleditpy_linux/modules/dihedral_dialog.py,sha256=6r8-TFxoixT_XiUyVEV5IQhKNjBfsFlmVehoObtkweU,18077
|
|
21
|
-
moleditpy_linux/modules/main_window.py,sha256=mYxSk_KbiRNP0snhiJNN7plzzXNg3B7i-UJSW2q_Kk4,35788
|
|
22
|
-
moleditpy_linux/modules/main_window_app_state.py,sha256=f9f3JVuC46ijlea2DR8ADa0Jn5r2dgedPPdg8OkmNAU,33374
|
|
23
|
-
moleditpy_linux/modules/main_window_compute.py,sha256=lwtFq_PLybj141ndCyNEDj_hMKxbZbuCTW3EIa7scTA,51563
|
|
24
|
-
moleditpy_linux/modules/main_window_dialog_manager.py,sha256=5xNIee_bIjCIwUBbQevS99a1eGI_nPqLBgFvlmGUyuU,20064
|
|
25
|
-
moleditpy_linux/modules/main_window_edit_3d.py,sha256=rsfnw2KprNoX5Luhnf0rX9Y2OJOmprtLcewFPYEx2zA,19770
|
|
26
|
-
moleditpy_linux/modules/main_window_edit_actions.py,sha256=UOhjsph7rT9UeAfERw20BcvNSoCOg9SZQs10tev0vmk,64817
|
|
27
|
-
moleditpy_linux/modules/main_window_export.py,sha256=HJlUphsPU_foPIPiqJVIe03rFXpVvTol_C8ldYPkzzE,34682
|
|
28
|
-
moleditpy_linux/modules/main_window_main_init.py,sha256=ksSj2bkBCK9SqhdM3dSv5TbIvDuGnQFsN3g-hATHua0,75594
|
|
29
|
-
moleditpy_linux/modules/main_window_molecular_parsers.py,sha256=Cu3pOc4csgBXj_vTAUT6tr41XgbLFE5fmaVhytJBVo0,48393
|
|
30
|
-
moleditpy_linux/modules/main_window_project_io.py,sha256=9LtybfjFzA9SBJbFvhT3OW7RoPf3-niwuda-deDwLTM,17238
|
|
31
|
-
moleditpy_linux/modules/main_window_string_importers.py,sha256=Trn7xZE6unJem8q0Pb2UQVEc_lLPm_LNk9nxjO79F7w,10891
|
|
32
|
-
moleditpy_linux/modules/main_window_ui_manager.py,sha256=_eikt0v2EMpvC0xxuCO1fEyK4Ad7RBVhC6F9X4pxCq8,22255
|
|
33
|
-
moleditpy_linux/modules/main_window_view_3d.py,sha256=rL2ySTR92Iy2j4ov4QvqKxeY-9pgFyRxJAQ4e8ialg8,58207
|
|
34
|
-
moleditpy_linux/modules/main_window_view_loaders.py,sha256=QfvP3fqvay4_y3m7gXOd4gL7fxRvTyeq3ZeXzm1pvr8,14451
|
|
35
|
-
moleditpy_linux/modules/mirror_dialog.py,sha256=mivxkhXLqqgabLhXCnIs-zLOG81vlsbccTcYZHrCpGg,4695
|
|
36
|
-
moleditpy_linux/modules/molecular_data.py,sha256=q303QaggkP9mepUlRU2wVabMh_i76hwbKI0SPWF7iNM,13249
|
|
37
|
-
moleditpy_linux/modules/molecule_scene.py,sha256=vD4wQItpk8owqCyYoMfyBj_1l9QOX2NKAOzBrGM4VWQ,94880
|
|
38
|
-
moleditpy_linux/modules/move_group_dialog.py,sha256=pNv6RkSRsLoYN6bFxJOD9BuzydDKty1rCwLS-lqlGfg,27173
|
|
39
|
-
moleditpy_linux/modules/periodic_table_dialog.py,sha256=VZRvHLoebYhZT0vjQ2E7MvXwNPbnOkLdgb2gR8ixWA8,4005
|
|
40
|
-
moleditpy_linux/modules/planarize_dialog.py,sha256=OqcEd5eer_XNqZmy0vKCHImwh9RpenVmF2VmN4Is3as,8670
|
|
41
|
-
moleditpy_linux/modules/settings_dialog.py,sha256=WVbFpB7BPHER3UqmP2L3CctvbJDUg3MDRElbxQYViMM,60926
|
|
42
|
-
moleditpy_linux/modules/template_preview_item.py,sha256=QrGyzXngNQEnKZpgGFRBNzb_C3bIfOvRrzwUZ5qqn94,6672
|
|
43
|
-
moleditpy_linux/modules/template_preview_view.py,sha256=avhwnNBMl0zimp115bBWOwah3wnNukSGeshNN2BY0sA,3349
|
|
44
|
-
moleditpy_linux/modules/translation_dialog.py,sha256=gTJLk0Rk2b-IsgiWLiQFzg4_dm_NtJhe203IuYYsYGw,14662
|
|
45
|
-
moleditpy_linux/modules/user_template_dialog.py,sha256=7KQBT5PGScTUZhaQmrI4eCiWXORKrDXFsb--RiOxVm8,28223
|
|
46
|
-
moleditpy_linux/modules/zoomable_view.py,sha256=1HaaVtyVP2P2cdPDpCvxW0Pyq5EFsKzrUutILaTDNRk,4835
|
|
47
|
-
moleditpy_linux/modules/assets/icon.icns,sha256=wD5R6-Vw7K662tVKhu2E1ImN0oUuyAP4youesEQsn9c,139863
|
|
48
|
-
moleditpy_linux/modules/assets/icon.ico,sha256=RfgFcx7-dHY_2STdsOQCQziY5SNhDr3gPnjO6jzEDPI,147975
|
|
49
|
-
moleditpy_linux/modules/assets/icon.png,sha256=kCFN1WacYIdy0GN6SFEbNA00ef39pCczBnFdkkBI8Bs,147110
|
|
50
|
-
moleditpy_linux-1.17.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
51
|
-
moleditpy_linux-1.17.0.dist-info/METADATA,sha256=4VVKVLWJAQBa2bpnROr2491R759fRrwmLcHoNkWvzCo,58734
|
|
52
|
-
moleditpy_linux-1.17.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
53
|
-
moleditpy_linux-1.17.0.dist-info/entry_points.txt,sha256=-OzipSi__yVwlimNtu3eiRP5t5UMg55Cs0udyhXYiyw,60
|
|
54
|
-
moleditpy_linux-1.17.0.dist-info/top_level.txt,sha256=qyqe-hDYL6CXyin9E5Me5rVl3PG84VqiOjf9bQvfJLs,16
|
|
55
|
-
moleditpy_linux-1.17.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|