MoleditPy-linux 2.2.0__tar.gz → 2.2.2__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 (63) hide show
  1. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/PKG-INFO +1 -1
  2. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/pyproject.toml +1 -1
  3. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/MoleditPy_linux.egg-info/PKG-INFO +1 -1
  4. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/constants.py +1 -1
  5. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_main_init.py +1 -1
  6. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/plugin_manager_window.py +8 -5
  7. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/LICENSE +0 -0
  8. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/README.md +0 -0
  9. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/setup.cfg +0 -0
  10. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/MoleditPy_linux.egg-info/SOURCES.txt +0 -0
  11. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/MoleditPy_linux.egg-info/dependency_links.txt +0 -0
  12. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/MoleditPy_linux.egg-info/entry_points.txt +0 -0
  13. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/MoleditPy_linux.egg-info/requires.txt +0 -0
  14. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/MoleditPy_linux.egg-info/top_level.txt +0 -0
  15. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/__init__.py +0 -0
  16. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/__main__.py +0 -0
  17. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/main.py +0 -0
  18. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/__init__.py +0 -0
  19. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/about_dialog.py +0 -0
  20. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/align_plane_dialog.py +0 -0
  21. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/alignment_dialog.py +0 -0
  22. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/analysis_window.py +0 -0
  23. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/angle_dialog.py +0 -0
  24. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/assets/icon.icns +0 -0
  25. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/assets/icon.ico +0 -0
  26. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/assets/icon.png +0 -0
  27. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/atom_item.py +0 -0
  28. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/bond_item.py +0 -0
  29. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/bond_length_dialog.py +0 -0
  30. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/calculation_worker.py +0 -0
  31. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/color_settings_dialog.py +0 -0
  32. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/constrained_optimization_dialog.py +0 -0
  33. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/custom_interactor_style.py +0 -0
  34. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/custom_qt_interactor.py +0 -0
  35. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/dialog3_d_picking_mixin.py +0 -0
  36. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/dihedral_dialog.py +0 -0
  37. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window.py +0 -0
  38. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_app_state.py +0 -0
  39. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_compute.py +0 -0
  40. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_dialog_manager.py +0 -0
  41. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_edit_3d.py +0 -0
  42. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_edit_actions.py +0 -0
  43. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_export.py +0 -0
  44. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_molecular_parsers.py +0 -0
  45. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_project_io.py +0 -0
  46. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_string_importers.py +0 -0
  47. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_ui_manager.py +0 -0
  48. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_view_3d.py +0 -0
  49. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/main_window_view_loaders.py +0 -0
  50. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/mirror_dialog.py +0 -0
  51. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/molecular_data.py +0 -0
  52. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/molecule_scene.py +0 -0
  53. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/move_group_dialog.py +0 -0
  54. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/periodic_table_dialog.py +0 -0
  55. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/planarize_dialog.py +0 -0
  56. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/plugin_interface.py +0 -0
  57. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/plugin_manager.py +0 -0
  58. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/settings_dialog.py +0 -0
  59. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/template_preview_item.py +0 -0
  60. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/template_preview_view.py +0 -0
  61. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/translation_dialog.py +0 -0
  62. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/user_template_dialog.py +0 -0
  63. {moleditpy_linux-2.2.0 → moleditpy_linux-2.2.2}/src/moleditpy_linux/modules/zoomable_view.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy-linux
3
- Version: 2.2.0
3
+ Version: 2.2.2
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 = "2.2.0"
8
+ version = "2.2.2"
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: 2.2.0
3
+ Version: 2.2.2
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
@@ -16,7 +16,7 @@ from PyQt6.QtGui import QFont, QColor
16
16
  from rdkit import Chem
17
17
 
18
18
  #Version
19
- VERSION = '2.2.0'
19
+ VERSION = '2.2.2'
20
20
 
21
21
  ATOM_RADIUS = 18
22
22
  BOND_OFFSET = 3.5
@@ -1822,7 +1822,7 @@ class MainWindowMainInit(object):
1822
1822
  current_menu = self.menuBar().addMenu(top_level_title)
1823
1823
 
1824
1824
  # Traverse rest
1825
- for part in parts[1:]:
1825
+ for part in parts[1:-1]:
1826
1826
  found_sub = False
1827
1827
  for act in current_menu.actions():
1828
1828
  if act.menu() and act.text().replace('&', '') == part:
@@ -85,7 +85,9 @@ class PluginManagerWindow(QDialog):
85
85
 
86
86
  self.table.setRowCount(len(plugins))
87
87
  for row, p in enumerate(plugins):
88
- self.table.setItem(row, 0, QTableWidgetItem(str(p.get('status', 'Unknown'))))
88
+ status_item = QTableWidgetItem(str(p.get('status', 'Unknown')))
89
+ status_item.setTextAlignment(Qt.AlignmentFlag.AlignCenter)
90
+ self.table.setItem(row, 0, status_item)
89
91
  self.table.setItem(row, 1, QTableWidgetItem(str(p.get('name', 'Unknown'))))
90
92
  self.table.setItem(row, 2, QTableWidgetItem(str(p.get('version', ''))))
91
93
  self.table.setItem(row, 3, QTableWidgetItem(str(p.get('author', ''))))
@@ -108,7 +110,7 @@ class PluginManagerWindow(QDialog):
108
110
  if status.startswith("Error"):
109
111
  color = Qt.GlobalColor.red
110
112
  elif status == "Loaded":
111
- color = Qt.GlobalColor.green
113
+ color = Qt.GlobalColor.darkGreen
112
114
  elif status == "No Entry Point":
113
115
  color = Qt.GlobalColor.gray
114
116
 
@@ -120,7 +122,7 @@ class PluginManagerWindow(QDialog):
120
122
  if hasattr(self, 'btn_remove'):
121
123
  self.btn_remove.setEnabled(has_selection)
122
124
 
123
- def on_reload(self):
125
+ def on_reload(self, silent=False):
124
126
  # Trigger reload in main manager
125
127
  if self.plugin_manager.main_window:
126
128
  self.plugin_manager.discover_plugins(self.plugin_manager.main_window)
@@ -132,7 +134,8 @@ class PluginManagerWindow(QDialog):
132
134
  # We will handle UI rebuild in the main window code by observing or callback.
133
135
 
134
136
  # For immediate feedback:
135
- QMessageBox.information(self, "Reloaded", "Plugins have been reloaded.")
137
+ if not silent:
138
+ QMessageBox.information(self, "Reloaded", "Plugins have been reloaded.")
136
139
  else:
137
140
  self.plugin_manager.discover_plugins()
138
141
  self.refresh_plugin_list()
@@ -155,7 +158,7 @@ class PluginManagerWindow(QDialog):
155
158
  if reply == QMessageBox.StandardButton.Yes:
156
159
  try:
157
160
  os.remove(filepath)
158
- self.on_reload() # Reload list and plugins
161
+ self.on_reload(silent=True) # Reload list and plugins
159
162
  QMessageBox.information(self, "Success", f"Removed '{plugin.get('name', 'Unknown')}'.")
160
163
  except Exception as e:
161
164
  QMessageBox.critical(self, "Error", f"Failed to delete file: {e}")
File without changes