MoleditPy 1.16.1a1__tar.gz → 1.16.1a2__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 (60) hide show
  1. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/PKG-INFO +1 -1
  2. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/pyproject.toml +1 -1
  3. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/MoleditPy.egg-info/PKG-INFO +1 -1
  4. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/constants.py +1 -1
  5. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_main_init.py +14 -15
  6. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/README.md +0 -0
  7. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/setup.cfg +0 -0
  8. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/MoleditPy.egg-info/SOURCES.txt +0 -0
  9. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/MoleditPy.egg-info/dependency_links.txt +0 -0
  10. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/MoleditPy.egg-info/entry_points.txt +0 -0
  11. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/MoleditPy.egg-info/requires.txt +0 -0
  12. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/MoleditPy.egg-info/top_level.txt +0 -0
  13. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/__init__.py +0 -0
  14. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/__main__.py +0 -0
  15. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/main.py +0 -0
  16. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/__init__.py +0 -0
  17. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/about_dialog.py +0 -0
  18. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/align_plane_dialog.py +0 -0
  19. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/alignment_dialog.py +0 -0
  20. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/analysis_window.py +0 -0
  21. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/angle_dialog.py +0 -0
  22. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/assets/icon.icns +0 -0
  23. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/assets/icon.ico +0 -0
  24. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/assets/icon.png +0 -0
  25. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/atom_item.py +0 -0
  26. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/bond_item.py +0 -0
  27. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/bond_length_dialog.py +0 -0
  28. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/calculation_worker.py +0 -0
  29. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/color_settings_dialog.py +0 -0
  30. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/constrained_optimization_dialog.py +0 -0
  31. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/custom_interactor_style.py +0 -0
  32. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/custom_qt_interactor.py +0 -0
  33. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/dialog3_d_picking_mixin.py +0 -0
  34. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/dihedral_dialog.py +0 -0
  35. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window.py +0 -0
  36. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_app_state.py +0 -0
  37. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_compute.py +0 -0
  38. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_dialog_manager.py +0 -0
  39. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_edit_3d.py +0 -0
  40. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_edit_actions.py +0 -0
  41. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_export.py +0 -0
  42. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_molecular_parsers.py +0 -0
  43. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_project_io.py +0 -0
  44. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_string_importers.py +0 -0
  45. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_ui_manager.py +0 -0
  46. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_view_3d.py +0 -0
  47. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/main_window_view_loaders.py +0 -0
  48. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/mirror_dialog.py +0 -0
  49. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/molecular_data.py +0 -0
  50. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/molecule_scene.py +0 -0
  51. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/move_group_dialog.py +0 -0
  52. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/periodic_table_dialog.py +0 -0
  53. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/planarize_dialog.py +0 -0
  54. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/settings_dialog.py +0 -0
  55. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/template_preview_item.py +0 -0
  56. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/template_preview_view.py +0 -0
  57. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/translation_dialog.py +0 -0
  58. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/user_template_dialog.py +0 -0
  59. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/src/moleditpy/modules/zoomable_view.py +0 -0
  60. {moleditpy-1.16.1a1 → moleditpy-1.16.1a2}/tests/test_project_io_wrappers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy
3
- Version: 1.16.1a1
3
+ Version: 1.16.1a2
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
  Project-URL: Homepage, https://github.com/HiroYokoyama/python_molecular_editor
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "MoleditPy"
7
7
 
8
- version = "1.16.1a1"
8
+ version = "1.16.1a2"
9
9
 
10
10
  authors = [
11
11
  { name="HiroYokoyama", email="titech.yoko.hiro@gmail.com" },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy
3
- Version: 1.16.1a1
3
+ Version: 1.16.1a2
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
  Project-URL: Homepage, https://github.com/HiroYokoyama/python_molecular_editor
@@ -4,7 +4,7 @@ from PyQt6.QtGui import QFont, QColor
4
4
  from rdkit import Chem
5
5
 
6
6
  #Version
7
- VERSION = '1.16.1a1'
7
+ VERSION = '1.16.1a2'
8
8
 
9
9
  ATOM_RADIUS = 18
10
10
  BOND_OFFSET = 3.5
@@ -51,16 +51,15 @@ def detect_system_dark_mode():
51
51
  macOS (defaults read), and GNOME/GTK-based Linux (gsettings). Return
52
52
  None if no reliable information is available.
53
53
  """
54
- try:
55
- # Windows: read registry AppsUseLightTheme (0 = dark, 1 = light)
56
- if platform.system() == 'Windows' and winreg is not None:
57
- try:
58
- with winreg.OpenKey(winreg.HKEY_CURRENT_USER,
59
- r'Software\Microsoft\Windows\CurrentVersion\Themes\Personalize') as k:
60
- val, _ = winreg.QueryValueEx(k, 'AppsUseLightTheme')
61
- return False if int(val) == 0 else True
62
- except Exception:
63
- pass
54
+ # Delegate detailed OS detection to `detect_system_theme` and map
55
+ # 'dark' -> True, 'light' -> False. This avoids duplicating the
56
+ # registry and subprocess calls in two places.
57
+ theme = detect_system_theme()
58
+ if theme == 'dark':
59
+ return True
60
+ if theme == 'light':
61
+ return False
62
+ return None
64
63
 
65
64
  def detect_system_theme():
66
65
  """OSの優先テーマ設定を 'dark', 'light', または None として返す。
@@ -103,16 +102,16 @@ def detect_system_theme():
103
102
  if p.returncode == 0:
104
103
  out = p.stdout.strip().strip("'\n ")
105
104
  if 'dark' in out.lower():
106
- return True
105
+ return 'dark'
107
106
  if 'light' in out.lower():
108
- return False
107
+ return 'light'
109
108
  except Exception:
110
109
  pass
111
110
 
112
111
  try:
113
112
  p = subprocess.run(['gsettings', 'get', 'org.gnome.desktop.interface', 'gtk-theme'], capture_output=True, text=True)
114
113
  if p.returncode == 0 and '-dark' in p.stdout.lower():
115
- return True
114
+ return 'dark'
116
115
  except Exception:
117
116
  pass
118
117
  except Exception:
@@ -236,8 +235,8 @@ class MainWindowMainInit(object):
236
235
  self.atom_selection_mode = False
237
236
  self.selected_atom_actors = []
238
237
 
239
- # 3D編集用の原子選択状態
240
- self.selected_atoms_3d = set() # 3Dビューで選択された原子のインデックス
238
+ # 3D編集用の原子選択状態 (3Dビューで選択された原子のインデックス)
239
+ self.selected_atoms_3d = set()
241
240
 
242
241
  # 3D編集ダイアログの参照を保持
243
242
  self.active_3d_dialogs = []
File without changes
File without changes