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 CHANGED
@@ -1 +1 @@
1
- __version__ = '0.2.0.post1.dev1'
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'{get_app_base_path()}'
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
@@ -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
- app.setWindowIcon(QIcon(f'{get_app_base_path()}/ico/shinestacker.png'))
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()
@@ -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
- app.setWindowIcon(QIcon(f'{get_app_base_path()}/ico/shinestacker.png'))
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
@@ -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]
@@ -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'{get_app_base_path()}'
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'{get_app_base_path()}'
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'{get_app_base_path()}'
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.0.post1.dev1
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
  [![CI multiplatform](https://github.com/lucalista/shinestacker/actions/workflows/ci-multiplatform.yml/badge.svg)](https://github.com/lucalista/shinestacker/actions/workflows/ci-multiplatform.yml)
33
+ [![PyPI version](https://badge.fury.io/py/shinestacker.svg)](https://pypi.org/project/shinestacker/)
34
+ [![Python Versions](https://img.shields.io/pypi/pyversions/shinestacker)](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=8SnsniWXGASAhyv0_iGZNz3rdNxykDCUL9eNy-R71E4,32
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=jh53KYyQ6SG9hsPqBpm64LmSxDWWwd7SkXbSSIjKHEk,7101
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=xsBoPlrZOVVScxiF1ITxnGzrEdfapjiMc_Jf94o3kIg,3254
24
- shinestacker/app/retouch.py,sha256=cHPV1LhEBk1ggvLl2Cqfn6kRDVZIPlsSuE36COHRVIM,3022
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=O7eydSmYa1ijzUHrYeeVUp9x4YGuHwhDGZQ1PxH1MJI,27101
43
- shinestacker/gui/new_project.py,sha256=-2d9ts4bcPnEo_qufKwLgRYupsx3EBs_5_u4Wz2pwX4,7226
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=i3vPOWNtJ4zkOQ4y0EIgv30DlpTv3tWEQC9DBnGmXcY,21791
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=eNrkhe9WA_1LPkaoxLHeM4k8s5HJinD0-O79Ik4xMRU,2451
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=WNJGUpWV14Q5kJQ5fcHAqVx_mb3vK27gfVztwHLYtOc,27637
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=yR4KqkCG3-X62KCQWAR_Tyv8aRbonTsiK753DkplehY,3966
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.0.post1.dev1.dist-info/licenses/LICENSE,sha256=cBN0P3F6BWFkfOabkhuTxwJnK1B0v50jmmzZJjGGous,80
63
- shinestacker-0.2.0.post1.dev1.dist-info/METADATA,sha256=1k3Te_FPd1jRkcASiGH0E9Ul0JlV0Ka1EFVgIm2M7Sg,2447
64
- shinestacker-0.2.0.post1.dev1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
- shinestacker-0.2.0.post1.dev1.dist-info/entry_points.txt,sha256=SY6g1LqtMmp23q1DGwLUDT_dhLX9iss8DvWkiWLyo_4,166
66
- shinestacker-0.2.0.post1.dev1.dist-info/top_level.txt,sha256=MhijwnBVX5psfsyX8JZjqp3SYiWPsKe69f3Gnyze4Fw,13
67
- shinestacker-0.2.0.post1.dev1.dist-info/RECORD,,
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,,