MoleditPy 1.16.0a2__py3-none-any.whl → 1.16.1a1__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.
@@ -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.0a2'
7
+ VERSION = '1.16.1a1'
8
8
 
9
9
  ATOM_RADIUS = 18
10
10
  BOND_OFFSET = 3.5
@@ -62,15 +62,38 @@ def detect_system_dark_mode():
62
62
  except Exception:
63
63
  pass
64
64
 
65
- # macOS: 'defaults read -g AppleInterfaceStyle' returns 'Dark' in dark mode
65
+ def detect_system_theme():
66
+ """OSの優先テーマ設定を 'dark', 'light', または None として返す。
67
+
68
+ This is a best-effort, cross-platform check.
69
+ """
70
+ try:
71
+ # Windows: AppsUseLightTheme (0 = dark, 1 = light)
72
+ if platform.system() == 'Windows' and winreg is not None:
73
+ try:
74
+ with winreg.OpenKey(winreg.HKEY_CURRENT_USER,
75
+ r'Software\Microsoft\Windows\CurrentVersion\Themes\Personalize') as k:
76
+ val, _ = winreg.QueryValueEx(k, 'AppsUseLightTheme')
77
+ return 'dark' if int(val) == 0 else 'light'
78
+ except Exception:
79
+ pass
80
+
81
+ # macOS: 'defaults read -g AppleInterfaceStyle'
66
82
  if platform.system() == 'Darwin':
67
83
  try:
68
- p = subprocess.run(['defaults', 'read', '-g', 'AppleInterfaceStyle'], capture_output=True, text=True)
69
- if p.returncode == 0 and p.stdout.strip().lower() == 'dark':
70
- return True
71
- # Key absence implies light mode
72
- return False
84
+ # 'defaults read ...' が成功すればダークモード
85
+ p = subprocess.run(
86
+ ['defaults', 'read', '-g', 'AppleInterfaceStyle'],
87
+ capture_output=True, text=True, check=True, encoding='utf-8'
88
+ )
89
+ if p.stdout.strip().lower() == 'dark':
90
+ return 'dark'
91
+
92
+ except subprocess.CalledProcessError:
93
+ # コマンド失敗 (キーが存在しない) = ライトモード
94
+ return 'light'
73
95
  except Exception:
96
+ # その他のエラー
74
97
  pass
75
98
 
76
99
  # Linux / GNOME: try color-scheme gsetting; fallback to gtk-theme detection
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy
3
- Version: 1.16.0a2
3
+ Version: 1.16.1a1
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
@@ -15,7 +15,6 @@ Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
- Classifier: License :: OSI Approved :: Apache Software License
19
18
  Requires-Python: <3.14,>=3.9
20
19
  Description-Content-Type: text/markdown
21
20
  Requires-Dist: numpy
@@ -12,7 +12,7 @@ moleditpy/modules/bond_item.py,sha256=zjQHa4vb8xhS9B7cYPRM0nak-f7lr5NQ1uAj_J78ah
12
12
  moleditpy/modules/bond_length_dialog.py,sha256=xlx-bU3tVeLfShdVRw6_Geo5Gl9mztlIfTdT9tJ6WMA,14579
13
13
  moleditpy/modules/calculation_worker.py,sha256=detE48BW08a2tvmKjMgz8zCShgARzsRH-ABmWrPcqZA,42055
14
14
  moleditpy/modules/color_settings_dialog.py,sha256=h4AOKU8dCTenecI8zOM9GfnmKDm7jfe5C4Fa23Budvs,15205
15
- moleditpy/modules/constants.py,sha256=Tqlh-TYf2Lxar5jSjw26MNTSuByatz1l_OWvZxjvAD8,4436
15
+ moleditpy/modules/constants.py,sha256=ntfGqkFouwKQV9nQtJ7S4UaYQ0fcGLVEgKt1QDFyU64,4436
16
16
  moleditpy/modules/constrained_optimization_dialog.py,sha256=MlWnPze0JJvnqmHx9n3qZWG_h-2kZymT0PQ6lALbCro,29861
17
17
  moleditpy/modules/custom_interactor_style.py,sha256=K_uGM6FezY0kZ3zPqoR6f0nowG40ytt-L4UCAbPlwGM,38184
18
18
  moleditpy/modules/custom_qt_interactor.py,sha256=6mzaVb3Mhp-4nryG5AraEvPPgBJpotrzVYwrpCAKmVo,2186
@@ -25,7 +25,7 @@ moleditpy/modules/main_window_dialog_manager.py,sha256=5WU6mFABB0aI4XCywP-cLFPkN
25
25
  moleditpy/modules/main_window_edit_3d.py,sha256=FStBWVeDVAM2MoO-JCTjPM-G7iT8QZUHxsb0dS4MEAI,19553
26
26
  moleditpy/modules/main_window_edit_actions.py,sha256=8tR0rYfgWYgdKTxBP4snzpxhiD2DExSKyf4jzSWb6sE,64598
27
27
  moleditpy/modules/main_window_export.py,sha256=f_Z4qVYKBTe06lGTFqjd3deluUdkQvHhZYa81h7UpBM,34465
28
- moleditpy/modules/main_window_main_init.py,sha256=ujRy4Rl7A5YefAbdmhzXKEofX5wOitBoAthB75mI0GM,74513
28
+ moleditpy/modules/main_window_main_init.py,sha256=O3TIUS0K1n3aEouTQC0SXRck6acjUrriTtLoRu4_BXc,75478
29
29
  moleditpy/modules/main_window_molecular_parsers.py,sha256=8JAIgr1axzmJqX_Ue-Adkl8e_8B2Th9yutQbau8EEWQ,43401
30
30
  moleditpy/modules/main_window_project_io.py,sha256=2ArkW23L4ahQIiktCCXlNsJphU0awO5YzJGihIJsn1c,17021
31
31
  moleditpy/modules/main_window_string_importers.py,sha256=yrZblvPG840qnqVEJf__XVfNnWl_r3vt68Abfs2aYDQ,10674
@@ -47,8 +47,8 @@ moleditpy/modules/zoomable_view.py,sha256=ZgAmmWXIKtx7AhMjs6H6PCyvb_kpYuankf8Uxs
47
47
  moleditpy/modules/assets/icon.icns,sha256=wD5R6-Vw7K662tVKhu2E1ImN0oUuyAP4youesEQsn9c,139863
48
48
  moleditpy/modules/assets/icon.ico,sha256=RfgFcx7-dHY_2STdsOQCQziY5SNhDr3gPnjO6jzEDPI,147975
49
49
  moleditpy/modules/assets/icon.png,sha256=kCFN1WacYIdy0GN6SFEbNA00ef39pCczBnFdkkBI8Bs,147110
50
- moleditpy-1.16.0a2.dist-info/METADATA,sha256=txWbudtlNWevsuxk2M1wAWZVBPe_Y6_J_1mqhErQYH4,17422
51
- moleditpy-1.16.0a2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
52
- moleditpy-1.16.0a2.dist-info/entry_points.txt,sha256=yH1h9JjALhok1foXT3-hYrC4ufoZt8b7oiBcsdnGNNM,54
53
- moleditpy-1.16.0a2.dist-info/top_level.txt,sha256=ARICrS4ihlPXqywlKl6o-oJa3Qz3gZRWu_VZsQ3_c44,10
54
- moleditpy-1.16.0a2.dist-info/RECORD,,
50
+ moleditpy-1.16.1a1.dist-info/METADATA,sha256=wjUccovmFdYx29iDfLvA5c7pXfwMfspjpfKQ_8RmA2M,17358
51
+ moleditpy-1.16.1a1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
52
+ moleditpy-1.16.1a1.dist-info/entry_points.txt,sha256=yH1h9JjALhok1foXT3-hYrC4ufoZt8b7oiBcsdnGNNM,54
53
+ moleditpy-1.16.1a1.dist-info/top_level.txt,sha256=ARICrS4ihlPXqywlKl6o-oJa3Qz3gZRWu_VZsQ3_c44,10
54
+ moleditpy-1.16.1a1.dist-info/RECORD,,