setiastrosuitepro 1.6.2__py3-none-any.whl → 1.6.4__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.
Potentially problematic release.
This version of setiastrosuitepro might be problematic. Click here for more details.
- setiastro/images/rotatearbitrary.png +0 -0
- setiastro/saspro/_generated/build_info.py +2 -2
- setiastro/saspro/backgroundneutral.py +10 -1
- setiastro/saspro/blink_comparator_pro.py +474 -251
- setiastro/saspro/crop_dialog_pro.py +11 -1
- setiastro/saspro/doc_manager.py +1 -1
- setiastro/saspro/function_bundle.py +16 -16
- setiastro/saspro/gui/main_window.py +93 -64
- setiastro/saspro/gui/mixins/dock_mixin.py +31 -18
- setiastro/saspro/gui/mixins/geometry_mixin.py +105 -5
- setiastro/saspro/gui/mixins/menu_mixin.py +1 -0
- setiastro/saspro/gui/mixins/toolbar_mixin.py +33 -10
- setiastro/saspro/multiscale_decomp.py +710 -256
- setiastro/saspro/remove_stars_preset.py +55 -13
- setiastro/saspro/resources.py +30 -11
- setiastro/saspro/selective_color.py +79 -20
- setiastro/saspro/shortcuts.py +94 -21
- setiastro/saspro/stacking_suite.py +296 -107
- setiastro/saspro/star_alignment.py +275 -330
- setiastro/saspro/status_log_dock.py +1 -1
- setiastro/saspro/swap_manager.py +77 -42
- setiastro/saspro/translations/all_source_strings.json +1588 -516
- setiastro/saspro/translations/ar_translations.py +915 -684
- setiastro/saspro/translations/de_translations.py +442 -463
- setiastro/saspro/translations/es_translations.py +277 -47
- setiastro/saspro/translations/fr_translations.py +279 -47
- setiastro/saspro/translations/hi_translations.py +253 -21
- setiastro/saspro/translations/integrate_translations.py +3 -2
- setiastro/saspro/translations/it_translations.py +1211 -161
- setiastro/saspro/translations/ja_translations.py +3340 -3107
- setiastro/saspro/translations/pt_translations.py +3315 -3337
- setiastro/saspro/translations/ru_translations.py +351 -117
- setiastro/saspro/translations/saspro_ar.qm +0 -0
- setiastro/saspro/translations/saspro_ar.ts +15902 -138
- setiastro/saspro/translations/saspro_de.qm +0 -0
- setiastro/saspro/translations/saspro_de.ts +14428 -133
- setiastro/saspro/translations/saspro_es.qm +0 -0
- setiastro/saspro/translations/saspro_es.ts +11503 -7821
- setiastro/saspro/translations/saspro_fr.qm +0 -0
- setiastro/saspro/translations/saspro_fr.ts +11168 -7812
- setiastro/saspro/translations/saspro_hi.qm +0 -0
- setiastro/saspro/translations/saspro_hi.ts +14733 -135
- setiastro/saspro/translations/saspro_it.qm +0 -0
- setiastro/saspro/translations/saspro_it.ts +14347 -7821
- setiastro/saspro/translations/saspro_ja.qm +0 -0
- setiastro/saspro/translations/saspro_ja.ts +14860 -137
- setiastro/saspro/translations/saspro_pt.qm +0 -0
- setiastro/saspro/translations/saspro_pt.ts +14904 -137
- setiastro/saspro/translations/saspro_ru.qm +0 -0
- setiastro/saspro/translations/saspro_ru.ts +11766 -168
- setiastro/saspro/translations/saspro_sw.qm +0 -0
- setiastro/saspro/translations/saspro_sw.ts +15115 -135
- setiastro/saspro/translations/saspro_uk.qm +0 -0
- setiastro/saspro/translations/saspro_uk.ts +11206 -6729
- setiastro/saspro/translations/saspro_zh.qm +0 -0
- setiastro/saspro/translations/saspro_zh.ts +10581 -7812
- setiastro/saspro/translations/sw_translations.py +282 -56
- setiastro/saspro/translations/uk_translations.py +264 -35
- setiastro/saspro/translations/zh_translations.py +282 -47
- setiastro/saspro/view_bundle.py +17 -17
- setiastro/saspro/widgets/minigame/game.js +11 -6
- setiastro/saspro/widgets/resource_monitor.py +26 -0
- setiastro/saspro/widgets/spinboxes.py +18 -0
- setiastro/saspro/wimi.py +65 -65
- setiastro/saspro/wims.py +33 -33
- setiastro/saspro/window_shelf.py +2 -2
- {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.4.dist-info}/METADATA +7 -7
- {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.4.dist-info}/RECORD +72 -71
- {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.4.dist-info}/WHEEL +0 -0
- {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.4.dist-info}/entry_points.txt +0 -0
- {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.4.dist-info}/licenses/LICENSE +0 -0
- {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.4.dist-info}/licenses/license.txt +0 -0
|
@@ -10,6 +10,9 @@ from PyQt6.QtCore import Qt, QTimer, QUrl
|
|
|
10
10
|
from PyQt6.QtGui import QAction, QActionGroup, QIcon, QKeySequence, QDesktopServices
|
|
11
11
|
from PyQt6.QtWidgets import QMenu, QToolButton
|
|
12
12
|
|
|
13
|
+
from PyQt6.QtCore import QElapsedTimer
|
|
14
|
+
|
|
15
|
+
|
|
13
16
|
if TYPE_CHECKING:
|
|
14
17
|
pass
|
|
15
18
|
|
|
@@ -20,7 +23,7 @@ from setiastro.saspro.resources import (
|
|
|
20
23
|
LInsert_path, rgbcombo_path, rgbextract_path, graxperticon_path,
|
|
21
24
|
cropicon_path, openfile_path, abeicon_path, undoicon_path, redoicon_path,
|
|
22
25
|
blastericon_path, hdr_path, invert_path, fliphorizontal_path,
|
|
23
|
-
flipvertical_path, rotateclockwise_path, rotatecounterclockwise_path,
|
|
26
|
+
flipvertical_path, rotateclockwise_path, rotatecounterclockwise_path,rotatearbitrary_path,
|
|
24
27
|
rotate180_path, maskcreate_path, maskapply_path, maskremove_path,
|
|
25
28
|
pixelmath_path, histogram_path, mosaic_path, rescale_path, staralign_path,
|
|
26
29
|
platesolve_path, psf_path, supernova_path, starregistration_path,
|
|
@@ -73,7 +76,8 @@ class ToolbarMixin:
|
|
|
73
76
|
|
|
74
77
|
def _init_toolbar(self):
|
|
75
78
|
# View toolbar (Undo / Redo / Display-Stretch)
|
|
76
|
-
tb = DraggableToolBar("View", self)
|
|
79
|
+
tb = DraggableToolBar(self.tr("View"), self)
|
|
80
|
+
tb.setObjectName("View")
|
|
77
81
|
tb.setSettingsKey("Toolbar/View")
|
|
78
82
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb)
|
|
79
83
|
|
|
@@ -175,7 +179,8 @@ class ToolbarMixin:
|
|
|
175
179
|
pass
|
|
176
180
|
|
|
177
181
|
# Functions toolbar
|
|
178
|
-
tb_fn = DraggableToolBar("Functions", self)
|
|
182
|
+
tb_fn = DraggableToolBar(self.tr("Functions"), self)
|
|
183
|
+
tb_fn.setObjectName("Functions")
|
|
179
184
|
tb_fn.setSettingsKey("Toolbar/Functions")
|
|
180
185
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb_fn)
|
|
181
186
|
|
|
@@ -227,7 +232,8 @@ class ToolbarMixin:
|
|
|
227
232
|
except Exception:
|
|
228
233
|
pass
|
|
229
234
|
|
|
230
|
-
tbCosmic = DraggableToolBar("Cosmic Clarity", self)
|
|
235
|
+
tbCosmic = DraggableToolBar(self.tr("Cosmic Clarity"), self)
|
|
236
|
+
tbCosmic.setObjectName("Cosmic Clarity")
|
|
231
237
|
tbCosmic.setSettingsKey("Toolbar/Cosmic")
|
|
232
238
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tbCosmic)
|
|
233
239
|
|
|
@@ -241,7 +247,8 @@ class ToolbarMixin:
|
|
|
241
247
|
except Exception:
|
|
242
248
|
pass
|
|
243
249
|
|
|
244
|
-
tb_tl = DraggableToolBar("Tools", self)
|
|
250
|
+
tb_tl = DraggableToolBar(self.tr("Tools"), self)
|
|
251
|
+
tb_tl.setObjectName("Tools")
|
|
245
252
|
tb_tl.setSettingsKey("Toolbar/Tools")
|
|
246
253
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb_tl)
|
|
247
254
|
|
|
@@ -260,7 +267,8 @@ class ToolbarMixin:
|
|
|
260
267
|
except Exception:
|
|
261
268
|
pass
|
|
262
269
|
|
|
263
|
-
tb_geom = DraggableToolBar("Geometry", self)
|
|
270
|
+
tb_geom = DraggableToolBar(self.tr("Geometry"), self)
|
|
271
|
+
tb_geom.setObjectName("Geometry")
|
|
264
272
|
tb_geom.setSettingsKey("Toolbar/Geometry")
|
|
265
273
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb_geom)
|
|
266
274
|
|
|
@@ -272,6 +280,7 @@ class ToolbarMixin:
|
|
|
272
280
|
tb_geom.addAction(self.act_geom_rot_cw)
|
|
273
281
|
tb_geom.addAction(self.act_geom_rot_ccw)
|
|
274
282
|
tb_geom.addAction(self.act_geom_rot_180)
|
|
283
|
+
tb_geom.addAction(self.act_geom_rot_any)
|
|
275
284
|
tb_geom.addSeparator()
|
|
276
285
|
tb_geom.addAction(self.act_geom_rescale)
|
|
277
286
|
tb_geom.addSeparator()
|
|
@@ -283,7 +292,8 @@ class ToolbarMixin:
|
|
|
283
292
|
except Exception:
|
|
284
293
|
pass
|
|
285
294
|
|
|
286
|
-
tb_star = DraggableToolBar("Star Stuff", self)
|
|
295
|
+
tb_star = DraggableToolBar(self.tr("Star Stuff"), self)
|
|
296
|
+
tb_star.setObjectName("Star Stuff")
|
|
287
297
|
tb_star.setSettingsKey("Toolbar/StarStuff")
|
|
288
298
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb_star)
|
|
289
299
|
|
|
@@ -308,7 +318,8 @@ class ToolbarMixin:
|
|
|
308
318
|
except Exception:
|
|
309
319
|
pass
|
|
310
320
|
|
|
311
|
-
tb_msk = DraggableToolBar("Masks", self)
|
|
321
|
+
tb_msk = DraggableToolBar(self.tr("Masks"), self)
|
|
322
|
+
tb_msk.setObjectName("Masks")
|
|
312
323
|
tb_msk.setSettingsKey("Toolbar/Masks")
|
|
313
324
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb_msk)
|
|
314
325
|
|
|
@@ -322,7 +333,8 @@ class ToolbarMixin:
|
|
|
322
333
|
except Exception:
|
|
323
334
|
pass
|
|
324
335
|
|
|
325
|
-
tb_wim = DraggableToolBar("What's In My...", self)
|
|
336
|
+
tb_wim = DraggableToolBar(self.tr("What's In My..."), self)
|
|
337
|
+
tb_wim.setObjectName("What's In My...")
|
|
326
338
|
tb_wim.setSettingsKey("Toolbar/WhatsInMy")
|
|
327
339
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb_wim)
|
|
328
340
|
|
|
@@ -335,7 +347,8 @@ class ToolbarMixin:
|
|
|
335
347
|
except Exception:
|
|
336
348
|
pass
|
|
337
349
|
|
|
338
|
-
tb_bundle = DraggableToolBar("Bundles", self)
|
|
350
|
+
tb_bundle = DraggableToolBar(self.tr("Bundles"), self)
|
|
351
|
+
tb_bundle.setObjectName("Bundles")
|
|
339
352
|
tb_bundle.setSettingsKey("Toolbar/Bundles")
|
|
340
353
|
self.addToolBar(Qt.ToolBarArea.TopToolBarArea, tb_bundle)
|
|
341
354
|
|
|
@@ -873,6 +886,12 @@ class ToolbarMixin:
|
|
|
873
886
|
self.act_geom_rot_180.setStatusTip(self.tr("Rotate image 180°"))
|
|
874
887
|
self.act_geom_rot_180.triggered.connect(self._exec_geom_rot_180)
|
|
875
888
|
|
|
889
|
+
self.act_geom_rot_any = QAction(QIcon(rotatearbitrary_path), self.tr("Rotate..."), self)
|
|
890
|
+
self.act_geom_rot_any.setIconVisibleInMenu(True)
|
|
891
|
+
self.act_geom_rot_any.setStatusTip(self.tr("Rotate image by an arbitrary angle (degrees)"))
|
|
892
|
+
self.act_geom_rot_any.triggered.connect(self._exec_geom_rot_any)
|
|
893
|
+
|
|
894
|
+
|
|
876
895
|
self.act_geom_rescale = QAction(QIcon(rescale_path), self.tr("Rescale..."), self)
|
|
877
896
|
self.act_geom_rescale.setIconVisibleInMenu(True)
|
|
878
897
|
self.act_geom_rescale.setStatusTip(self.tr("Rescale image by a factor"))
|
|
@@ -1196,6 +1215,7 @@ class ToolbarMixin:
|
|
|
1196
1215
|
reg("geom_rotate_clockwise", self.act_geom_rot_cw)
|
|
1197
1216
|
reg("geom_rotate_counterclockwise",self.act_geom_rot_ccw)
|
|
1198
1217
|
reg("geom_rotate_180", self.act_geom_rot_180)
|
|
1218
|
+
reg("geom_rotate_any", self.act_geom_rot_any)
|
|
1199
1219
|
reg("geom_rescale", self.act_geom_rescale)
|
|
1200
1220
|
reg("project_new", self.act_project_new)
|
|
1201
1221
|
reg("project_save", self.act_project_save)
|
|
@@ -1387,6 +1407,7 @@ class ToolbarMixin:
|
|
|
1387
1407
|
a.setStatusTip(tip)
|
|
1388
1408
|
a.setEnabled(False)
|
|
1389
1409
|
|
|
1410
|
+
|
|
1390
1411
|
def _sync_link_action_state(self):
|
|
1391
1412
|
g = self._current_group_of_active()
|
|
1392
1413
|
self.act_link_group.blockSignals(True)
|
|
@@ -1432,6 +1453,7 @@ class ToolbarMixin:
|
|
|
1432
1453
|
QTimer.singleShot(0, self.update_undo_redo_action_labels)
|
|
1433
1454
|
|
|
1434
1455
|
def _refresh_mask_action_states(self):
|
|
1456
|
+
|
|
1435
1457
|
active_doc = self._active_doc()
|
|
1436
1458
|
|
|
1437
1459
|
can_apply = bool(active_doc and self._list_candidate_mask_sources(exclude_doc=active_doc))
|
|
@@ -1455,3 +1477,4 @@ class ToolbarMixin:
|
|
|
1455
1477
|
if hasattr(self, "act_hide_mask"):
|
|
1456
1478
|
self.act_hide_mask.setEnabled(has_mask and overlay_on)
|
|
1457
1479
|
|
|
1480
|
+
|