shinestacker 0.2.0.post1.dev1__py3-none-any.whl → 0.2.1__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 shinestacker might be problematic. Click here for more details.
- shinestacker/_version.py +1 -1
- shinestacker/app/main.py +1 -6
- shinestacker/app/project.py +2 -1
- shinestacker/app/retouch.py +3 -1
- shinestacker/gui/ico/focus_stack_bkg.png +0 -0
- shinestacker/gui/ico/shinestacker.icns +0 -0
- shinestacker/gui/ico/shinestacker.ico +0 -0
- shinestacker/gui/ico/shinestacker.png +0 -0
- shinestacker/gui/main_window.py +3 -0
- shinestacker/gui/new_project.py +1 -6
- shinestacker/gui/project_editor.py +0 -3
- shinestacker/retouch/exif_data.py +1 -6
- shinestacker/retouch/image_editor.py +0 -2
- shinestacker/retouch/shortcuts_help.py +1 -6
- {shinestacker-0.2.0.post1.dev1.dist-info → shinestacker-0.2.1.dist-info}/METADATA +3 -1
- {shinestacker-0.2.0.post1.dev1.dist-info → shinestacker-0.2.1.dist-info}/RECORD +20 -16
- {shinestacker-0.2.0.post1.dev1.dist-info → shinestacker-0.2.1.dist-info}/WHEEL +0 -0
- {shinestacker-0.2.0.post1.dev1.dist-info → shinestacker-0.2.1.dist-info}/entry_points.txt +0 -0
- {shinestacker-0.2.0.post1.dev1.dist-info → shinestacker-0.2.1.dist-info}/licenses/LICENSE +0 -0
- {shinestacker-0.2.0.post1.dev1.dist-info → shinestacker-0.2.1.dist-info}/top_level.txt +0 -0
shinestacker/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '0.2.
|
|
1
|
+
__version__ = '0.2.1'
|
shinestacker/app/main.py
CHANGED
|
@@ -138,12 +138,7 @@ expert options are visible by default.
|
|
|
138
138
|
app.setAttribute(Qt.AA_DontUseNativeMenuBar)
|
|
139
139
|
else:
|
|
140
140
|
disable_macos_special_menu_items()
|
|
141
|
-
icon_path = f
|
|
142
|
-
if os.path.exists(f'{icon_path}/ico'):
|
|
143
|
-
icon_path = f'{icon_path}/ico'
|
|
144
|
-
else:
|
|
145
|
-
icon_path = f'{icon_path}/../ico'
|
|
146
|
-
icon_path = f'{icon_path}/shinestacker.png'
|
|
141
|
+
icon_path = f"{os.path.dirname(__file__)}/../gui/ico/shinestacker.png"
|
|
147
142
|
app.setWindowIcon(QIcon(icon_path))
|
|
148
143
|
main_app = MainApp()
|
|
149
144
|
app.main_app = main_app
|
shinestacker/app/project.py
CHANGED
|
@@ -73,7 +73,8 @@ expert options are visible by default.
|
|
|
73
73
|
app.setAttribute(Qt.AA_DontUseNativeMenuBar)
|
|
74
74
|
else:
|
|
75
75
|
disable_macos_special_menu_items()
|
|
76
|
-
|
|
76
|
+
icon_path = f"{os.path.dirname(__file__)}/../gui/ico/shinestacker.png"
|
|
77
|
+
app.setWindowIcon(QIcon(icon_path))
|
|
77
78
|
window = ProjectApp()
|
|
78
79
|
if args['expert']:
|
|
79
80
|
window.set_expert_options()
|
shinestacker/app/retouch.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import os
|
|
1
2
|
import sys
|
|
2
3
|
import argparse
|
|
3
4
|
from PySide6.QtWidgets import QApplication, QMenu
|
|
@@ -70,7 +71,8 @@ Multiple directories can be specified separated by ';'.
|
|
|
70
71
|
app.setAttribute(Qt.AA_DontUseNativeMenuBar)
|
|
71
72
|
else:
|
|
72
73
|
disable_macos_special_menu_items()
|
|
73
|
-
|
|
74
|
+
icon_path = f"{os.path.dirname(__file__)}/../gui/ico/shinestacker.png"
|
|
75
|
+
app.setWindowIcon(QIcon(icon_path))
|
|
74
76
|
editor = RetouchApp()
|
|
75
77
|
app.editor = editor
|
|
76
78
|
editor.show()
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
shinestacker/gui/main_window.py
CHANGED
|
@@ -414,6 +414,9 @@ class MainWindow(ActionsWindow, LogManager):
|
|
|
414
414
|
menu.addAction(self.job_retouch_path_action)
|
|
415
415
|
menu.exec(event.globalPos())
|
|
416
416
|
|
|
417
|
+
def get_icon(self, icon):
|
|
418
|
+
return QIcon(os.path.join(self.script_dir, f"img/{icon}.png"))
|
|
419
|
+
|
|
417
420
|
def get_retouch_path(self, job):
|
|
418
421
|
frames_path = [get_action_output_path(action)[0]
|
|
419
422
|
for action in job.sub_actions if action.type_name == constants.ACTION_COMBO]
|
shinestacker/gui/new_project.py
CHANGED
|
@@ -39,12 +39,7 @@ class NewProjectDialog(QDialog):
|
|
|
39
39
|
self.layout.addRow(label)
|
|
40
40
|
|
|
41
41
|
def create_form(self):
|
|
42
|
-
icon_path = f
|
|
43
|
-
if os.path.exists(f'{icon_path}/ico'):
|
|
44
|
-
icon_path = f'{icon_path}/ico'
|
|
45
|
-
else:
|
|
46
|
-
icon_path = f'{icon_path}/../ico'
|
|
47
|
-
icon_path = f'{icon_path}/shinestacker.png'
|
|
42
|
+
icon_path = f"{os.path.dirname(__file__)}/ico/shinestacker.png"
|
|
48
43
|
app_icon = QIcon(icon_path)
|
|
49
44
|
icon_pixmap = app_icon.pixmap(128, 128)
|
|
50
45
|
icon_label = QLabel()
|
|
@@ -328,9 +328,6 @@ class ProjectEditor(QMainWindow):
|
|
|
328
328
|
label = QLabel(html_text)
|
|
329
329
|
widget_list.setItemWidget(item, label)
|
|
330
330
|
|
|
331
|
-
def get_icon(self, icon):
|
|
332
|
-
return QIcon(os.path.join(self.script_dir, f"img/{icon}.png"))
|
|
333
|
-
|
|
334
331
|
def add_action_CombinedActions(self):
|
|
335
332
|
self.add_action(constants.ACTION_COMBO)
|
|
336
333
|
|
|
@@ -32,12 +32,7 @@ class ExifData(QDialog):
|
|
|
32
32
|
self.layout.addRow(label)
|
|
33
33
|
|
|
34
34
|
def create_form(self):
|
|
35
|
-
icon_path = f
|
|
36
|
-
if os.path.exists(f'{icon_path}/ico'):
|
|
37
|
-
icon_path = f'{icon_path}/ico'
|
|
38
|
-
else:
|
|
39
|
-
icon_path = f'{icon_path}/../ico'
|
|
40
|
-
icon_path = f'{icon_path}/shinestacker.png'
|
|
35
|
+
icon_path = f"{os.path.dirname(__file__)}/../gui/ico/shinestacker.png"
|
|
41
36
|
app_icon = QIcon(icon_path)
|
|
42
37
|
icon_pixmap = app_icon.pixmap(128, 128)
|
|
43
38
|
icon_label = QLabel()
|
|
@@ -364,8 +364,6 @@ class ImageEditor(QMainWindow):
|
|
|
364
364
|
QMessageBox.critical(self, "Save Error", f"Could not save file: {str(e)}")
|
|
365
365
|
|
|
366
366
|
def select_exif_path(self):
|
|
367
|
-
if self.current_stack is None:
|
|
368
|
-
return
|
|
369
367
|
path, _ = QFileDialog.getOpenFileName(None, "Select file with exif data")
|
|
370
368
|
if path:
|
|
371
369
|
self.exif_path = path
|
|
@@ -44,12 +44,7 @@ class ShortcutsHelp(QDialog):
|
|
|
44
44
|
layout.addRow(label)
|
|
45
45
|
|
|
46
46
|
def create_form(self, left_layout, right_layout):
|
|
47
|
-
icon_path = f
|
|
48
|
-
if os.path.exists(f'{icon_path}/ico'):
|
|
49
|
-
icon_path = f'{icon_path}/ico'
|
|
50
|
-
else:
|
|
51
|
-
icon_path = f'{icon_path}/../ico'
|
|
52
|
-
icon_path = f'{icon_path}/shinestacker.png'
|
|
47
|
+
icon_path = f"{os.path.dirname(__file__)}/../gui/ico/shinestacker.png"
|
|
53
48
|
app_icon = QIcon(icon_path)
|
|
54
49
|
icon_pixmap = app_icon.pixmap(128, 128)
|
|
55
50
|
icon_label = QLabel()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shinestacker
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: ShineStacker
|
|
5
5
|
Author-email: Luca Lista <luka.lista@gmail.com>
|
|
6
6
|
License-Expression: LGPL-3.0
|
|
@@ -30,6 +30,8 @@ Dynamic: license-file
|
|
|
30
30
|
# Shine Stacker Processing Framework
|
|
31
31
|
|
|
32
32
|
[](https://github.com/lucalista/shinestacker/actions/workflows/ci-multiplatform.yml)
|
|
33
|
+
[](https://pypi.org/project/shinestacker/)
|
|
34
|
+
[](https://pypi.org/project/shinestacker/)
|
|
33
35
|
|
|
34
36
|
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/flies.gif' width="400"> <img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/flies_stack.jpg' width="400">
|
|
35
37
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
shinestacker/__init__.py,sha256=ZZ2O_m9OFJm18AxMSuYJt4UjSuSqyJlYRaZMoets498,61
|
|
2
|
-
shinestacker/_version.py,sha256=
|
|
2
|
+
shinestacker/_version.py,sha256=nx8uT9NOkkA2KzjU9Q36cvZlTi-7bCHVPIkXCQkwZf8,21
|
|
3
3
|
shinestacker/algorithms/__init__.py,sha256=XKMSOCBqcpeXng5PJ88wLhxhvSIwBJ6xuBFHfjda4ow,519
|
|
4
4
|
shinestacker/algorithms/align.py,sha256=93szP69KN6BVRmMlU4TsNwBMgpYxEU9fxNzoK07n0Rw,16575
|
|
5
5
|
shinestacker/algorithms/balance.py,sha256=UOmyUPJVBswUYWvYIB8WdlfTAxUAahZrnxQUSrYJ3I4,15649
|
|
@@ -18,10 +18,10 @@ shinestacker/app/about_dialog.py,sha256=G_2hRQFpo96q0H8z02fMZ0Jl_2-PpnwNxqISY7Xn
|
|
|
18
18
|
shinestacker/app/app_config.py,sha256=tQ1JBTG2gtHO1UbJYJjjYUBCakmtZpafvMUTHb5OyUo,1117
|
|
19
19
|
shinestacker/app/gui_utils.py,sha256=C5ehbYyoIcBweFTfdQcjsILAcWpMPrVLMbYz0ZM-EcM,1571
|
|
20
20
|
shinestacker/app/help_menu.py,sha256=ofFhZMPTz7lQ-_rsu30yAxbLA-Zq_kkRGXxPMukaG08,476
|
|
21
|
-
shinestacker/app/main.py,sha256=
|
|
21
|
+
shinestacker/app/main.py,sha256=cB2uTswNTdKv4Fx8p4CCnSSPp1nPCe7XBzG3PcN1Q-M,6953
|
|
22
22
|
shinestacker/app/open_frames.py,sha256=uqUihAkP1K2p4bQ8LAQK02XwVddkRJUPy_vzwUgI8jc,1356
|
|
23
|
-
shinestacker/app/project.py,sha256=
|
|
24
|
-
shinestacker/app/retouch.py,sha256=
|
|
23
|
+
shinestacker/app/project.py,sha256=HjLEDkMXzFL-wXEEnXfHmO317TNhbk8NQfANvISWImk,3293
|
|
24
|
+
shinestacker/app/retouch.py,sha256=rSl-oLeM9a90MH_HrqnKs9EwnDQyCrhN2iuhfdR3xOI,3071
|
|
25
25
|
shinestacker/config/__init__.py,sha256=l9Cg0Rp9sUsY_F7gR2kznuVBkQ-arO7ZOcjS1FoWPtM,121
|
|
26
26
|
shinestacker/config/config.py,sha256=Vif1_-zFZQhI6KW1CAX3Yt-cgwXMJ7YDwDJrzoGVE48,1459
|
|
27
27
|
shinestacker/config/constants.py,sha256=yOt1L7LiJyBPrGezIW-Vx_1I4r1Os0rPibfqroN30nk,5724
|
|
@@ -39,11 +39,15 @@ shinestacker/gui/colors.py,sha256=Af4ccwKfiElzA2poyx2QSU2xvxOdA5fFz0Y2YIqTj9Y,12
|
|
|
39
39
|
shinestacker/gui/gui_images.py,sha256=3HySCrldbYhUyxO0B1ckC2TLVg5nq94bBXjqsQzCyCA,5546
|
|
40
40
|
shinestacker/gui/gui_logging.py,sha256=sN82OsGhMcZdgFMY4z-VbUYiRIsReN-ICaxi31M1J6E,8147
|
|
41
41
|
shinestacker/gui/gui_run.py,sha256=LpBi1V91NrJpVpgS098lSgLtiege0aqcWIGwSbB8cL4,15701
|
|
42
|
-
shinestacker/gui/main_window.py,sha256=
|
|
43
|
-
shinestacker/gui/new_project.py,sha256
|
|
42
|
+
shinestacker/gui/main_window.py,sha256=KtMe6Hm74xk-lP3qcUsWAw0dzT7CynpdbZA_H651XN0,27203
|
|
43
|
+
shinestacker/gui/new_project.py,sha256=YIWjvxzvWsPoU5_xFJjrs7ceyjxoQtGO3JTLxM3xaoI,7051
|
|
44
44
|
shinestacker/gui/project_converter.py,sha256=d66pbBzaBgANpudJLW0tGUSfSy0PXNhs1M6R2o_Fd5E,7390
|
|
45
|
-
shinestacker/gui/project_editor.py,sha256=
|
|
45
|
+
shinestacker/gui/project_editor.py,sha256=LpopXgw1dPcnH8XulJ7BKpzv9LKoAYUEZ7-d7sEe2tk,21689
|
|
46
46
|
shinestacker/gui/project_model.py,sha256=buzpxppLuoNWao7M2_FOPVpCBex2WgEcvqyq9dxvrz8,4524
|
|
47
|
+
shinestacker/gui/ico/focus_stack_bkg.png,sha256=Q86TgqvKEi_IzKI8m6aZB2a3T40UkDtexf2PdeBM9XE,163151
|
|
48
|
+
shinestacker/gui/ico/shinestacker.icns,sha256=m_6WQBx8sE9jQKwIRa_B5oa7_VcNn6e2TyijeQXPjwM,337563
|
|
49
|
+
shinestacker/gui/ico/shinestacker.ico,sha256=yO0NaBWA0uFov_GqHuHQbymoqLtQKt5DPWpGGmRKie0,186277
|
|
50
|
+
shinestacker/gui/ico/shinestacker.png,sha256=HTVd02AO0fuTrh9J-qaVlIBXaHwWK7GYdOAFe17IeB8,328817
|
|
47
51
|
shinestacker/gui/img/close-round-line-icon.png,sha256=9HZwCjgni1s_JGUPUb_MoOfoe4tRZgM5OWzk92XFZlE,8019
|
|
48
52
|
shinestacker/gui/img/forward-button-icon.png,sha256=lNw86T4TOEd_uokHYF8myGSGUXzdsHvmDAjlbE18Pgo,4788
|
|
49
53
|
shinestacker/gui/img/play-button-round-icon.png,sha256=9j6Ks9mOGa-2cXyRFpimepAAvSaHzqJKBfxShRb4_dE,4595
|
|
@@ -52,16 +56,16 @@ shinestacker/retouch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
52
56
|
shinestacker/retouch/brush.py,sha256=49YNdZp1dbfowh6HmLfxuHKz7Py9wkFQsN9-pH38P7Q,319
|
|
53
57
|
shinestacker/retouch/brush_controller.py,sha256=M1vXrgL8ETJheT9PJ8EVIHlMqiVRLePvL5GlEcEaZW4,2949
|
|
54
58
|
shinestacker/retouch/brush_preview.py,sha256=ePyoZPdSY4ytK4uXV-eByQgfsqvhHJqXpleycSxshDg,5247
|
|
55
|
-
shinestacker/retouch/exif_data.py,sha256=
|
|
59
|
+
shinestacker/retouch/exif_data.py,sha256=MC5kWBpqFXDgRXg15umWrURU_L2gDREjG0wzVaL4qm4,2283
|
|
56
60
|
shinestacker/retouch/file_loader.py,sha256=TbPjiD9Vv-i3LCsPVcumYJ2DxgnLmQA6xYCiLCqbEcg,4565
|
|
57
|
-
shinestacker/retouch/image_editor.py,sha256=
|
|
61
|
+
shinestacker/retouch/image_editor.py,sha256=ehOJgGqvvUOriKyL8s-G0Y-CSYStLo4WCcPzsRy_sys,27579
|
|
58
62
|
shinestacker/retouch/image_editor_ui.py,sha256=wKHqNhcjrPB_qm4zKsTQUw_rXIWzWO3uQUDZvhsbnys,15752
|
|
59
63
|
shinestacker/retouch/image_viewer.py,sha256=5t7JRNoNwSgS7btn7zWmSXPPzXvZKbWBiZMm-YA7Xhg,14827
|
|
60
|
-
shinestacker/retouch/shortcuts_help.py,sha256=
|
|
64
|
+
shinestacker/retouch/shortcuts_help.py,sha256=femx0BT03XVYVOEyIL0OGVGw00_q0E7zCe8wMA-lQlU,3798
|
|
61
65
|
shinestacker/retouch/undo_manager.py,sha256=R7O0fbdGFRK2ZZMVpbOcqB5stJLpFa-o2p7Kto8daSI,1355
|
|
62
|
-
shinestacker-0.2.
|
|
63
|
-
shinestacker-0.2.
|
|
64
|
-
shinestacker-0.2.
|
|
65
|
-
shinestacker-0.2.
|
|
66
|
-
shinestacker-0.2.
|
|
67
|
-
shinestacker-0.2.
|
|
66
|
+
shinestacker-0.2.1.dist-info/licenses/LICENSE,sha256=cBN0P3F6BWFkfOabkhuTxwJnK1B0v50jmmzZJjGGous,80
|
|
67
|
+
shinestacker-0.2.1.dist-info/METADATA,sha256=Y2fygrS6lSd31sPnpTjhdEdrW5u2i3QdjgCUfeqSPrw,2651
|
|
68
|
+
shinestacker-0.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
69
|
+
shinestacker-0.2.1.dist-info/entry_points.txt,sha256=SY6g1LqtMmp23q1DGwLUDT_dhLX9iss8DvWkiWLyo_4,166
|
|
70
|
+
shinestacker-0.2.1.dist-info/top_level.txt,sha256=MhijwnBVX5psfsyX8JZjqp3SYiWPsKe69f3Gnyze4Fw,13
|
|
71
|
+
shinestacker-0.2.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|