pygpt-net 2.6.7__py3-none-any.whl → 2.6.8__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.
- pygpt_net/CHANGELOG.txt +7 -0
- pygpt_net/__init__.py +1 -1
- pygpt_net/app.py +0 -4
- pygpt_net/controller/ctx/ctx.py +5 -5
- pygpt_net/controller/presets/presets.py +1 -0
- pygpt_net/core/render/web/body.py +2 -2
- pygpt_net/data/config/config.json +2 -2
- pygpt_net/data/config/models.json +2 -2
- pygpt_net/data/css/style.dark.css +3 -0
- pygpt_net/data/css/style.light.css +12 -9
- pygpt_net/data/css/web-chatgpt.dark.css +3 -0
- pygpt_net/data/css/web-chatgpt_wide.dark.css +3 -0
- pygpt_net/provider/core/config/patch.py +12 -0
- pygpt_net/ui/menu/about.py +19 -0
- pygpt_net/ui/menu/menu.py +0 -4
- {pygpt_net-2.6.7.dist-info → pygpt_net-2.6.8.dist-info}/METADATA +9 -2
- {pygpt_net-2.6.7.dist-info → pygpt_net-2.6.8.dist-info}/RECORD +20 -21
- pygpt_net/ui/menu/donate.py +0 -46
- {pygpt_net-2.6.7.dist-info → pygpt_net-2.6.8.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.7.dist-info → pygpt_net-2.6.8.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.7.dist-info → pygpt_net-2.6.8.dist-info}/entry_points.txt +0 -0
pygpt_net/CHANGELOG.txt
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
2.6.8 (2025-08-16)
|
|
2
|
+
|
|
3
|
+
- Fixed: updated paragraph color on theme switch.
|
|
4
|
+
- Added switching to duplicated preset after creation.
|
|
5
|
+
- Reduced delay after selecting context.
|
|
6
|
+
- Optimized rendering of mathematical formulas.
|
|
7
|
+
|
|
1
8
|
2.6.7 (2025-08-16)
|
|
2
9
|
|
|
3
10
|
- Fix: missing entity sanitize.
|
pygpt_net/__init__.py
CHANGED
|
@@ -13,7 +13,7 @@ __author__ = "Marcin Szczygliński"
|
|
|
13
13
|
__copyright__ = "Copyright 2025, Marcin Szczygliński"
|
|
14
14
|
__credits__ = ["Marcin Szczygliński"]
|
|
15
15
|
__license__ = "MIT"
|
|
16
|
-
__version__ = "2.6.
|
|
16
|
+
__version__ = "2.6.8"
|
|
17
17
|
__build__ = "2025-08-16"
|
|
18
18
|
__maintainer__ = "Marcin Szczygliński"
|
|
19
19
|
__github__ = "https://github.com/szczyglis-dev/py-gpt"
|
pygpt_net/app.py
CHANGED
|
@@ -22,10 +22,6 @@ if platform.system() == 'Windows':
|
|
|
22
22
|
# fix ffmpeg bug: [SWR] Output channel layout "" is invalid or unsupported.
|
|
23
23
|
os.environ['QT_MEDIA_BACKEND'] = 'windows'
|
|
24
24
|
|
|
25
|
-
elif platform.system() == 'Linux':
|
|
26
|
-
os.environ.setdefault("MALLOC_ARENA_MAX", "2") # 2 arenas
|
|
27
|
-
os.environ.setdefault("MALLOC_TRIM_THRESHOLD_", "131072") # 128 KiB
|
|
28
|
-
|
|
29
25
|
# enable debug logging
|
|
30
26
|
# os.environ["QT_LOGGING_RULES"] = "*.debug=true"
|
|
31
27
|
# os.environ["QTWEBENGINE_REMOTE_DEBUGGING"] = "9222"
|
pygpt_net/controller/ctx/ctx.py
CHANGED
|
@@ -78,7 +78,7 @@ class Ctx:
|
|
|
78
78
|
self.select_by_current(focus=True) # scroll to current ctx
|
|
79
79
|
|
|
80
80
|
# focus input after loading
|
|
81
|
-
QTimer.singleShot(
|
|
81
|
+
QTimer.singleShot(10, self.window.controller.chat.common.focus_input)
|
|
82
82
|
|
|
83
83
|
def update_mode_in_current(self):
|
|
84
84
|
"""Update current ctx mode"""
|
|
@@ -103,7 +103,7 @@ class Ctx:
|
|
|
103
103
|
reload: bool = True,
|
|
104
104
|
all: bool = True,
|
|
105
105
|
select: bool = True,
|
|
106
|
-
no_scroll: bool = False
|
|
106
|
+
no_scroll: bool = False,
|
|
107
107
|
):
|
|
108
108
|
"""
|
|
109
109
|
Update ctx list
|
|
@@ -685,7 +685,7 @@ class Ctx:
|
|
|
685
685
|
meta.label = label_id
|
|
686
686
|
self.window.core.ctx.save(id)
|
|
687
687
|
QTimer.singleShot(
|
|
688
|
-
|
|
688
|
+
10,
|
|
689
689
|
lambda: self.update(no_scroll=True)
|
|
690
690
|
)
|
|
691
691
|
|
|
@@ -963,7 +963,7 @@ class Ctx:
|
|
|
963
963
|
self.group_id = group_id
|
|
964
964
|
if update:
|
|
965
965
|
QTimer.singleShot(
|
|
966
|
-
|
|
966
|
+
10,
|
|
967
967
|
lambda: self.update()
|
|
968
968
|
)
|
|
969
969
|
|
|
@@ -976,7 +976,7 @@ class Ctx:
|
|
|
976
976
|
self.window.core.ctx.update_meta_group_id(meta_id, None)
|
|
977
977
|
self.group_id = None
|
|
978
978
|
QTimer.singleShot(
|
|
979
|
-
|
|
979
|
+
10,
|
|
980
980
|
lambda: self.update(no_scroll=True)
|
|
981
981
|
)
|
|
982
982
|
|
|
@@ -522,6 +522,7 @@ class Presets:
|
|
|
522
522
|
self.refresh(no_scroll=True)
|
|
523
523
|
idx = w.core.presets.get_idx_by_id(mode, new_id)
|
|
524
524
|
self.editor.edit(idx)
|
|
525
|
+
self.select(idx) # switch to the new preset
|
|
525
526
|
w.update_status(trans('status.preset.duplicated'))
|
|
526
527
|
|
|
527
528
|
def enable(self, idx: Optional[int] = None):
|
|
@@ -395,7 +395,7 @@ class Body:
|
|
|
395
395
|
msg.insertAdjacentHTML('afterbegin', sanitize(content));
|
|
396
396
|
}
|
|
397
397
|
let doMath = true;
|
|
398
|
-
if (
|
|
398
|
+
if (is_code_block) {
|
|
399
399
|
doMath = false;
|
|
400
400
|
}
|
|
401
401
|
highlightCode(doMath, msg);
|
|
@@ -1084,7 +1084,7 @@ class Body:
|
|
|
1084
1084
|
f'<a href="{url}"><img src="{path}" class="image"></a>'
|
|
1085
1085
|
f'</div>'
|
|
1086
1086
|
f'<a href="{url}" class="title">{basename}</a>'
|
|
1087
|
-
f'</div></div
|
|
1087
|
+
f'</div></div><br/>'
|
|
1088
1088
|
)
|
|
1089
1089
|
|
|
1090
1090
|
def get_url_html(
|
|
@@ -237,13 +237,6 @@ QCalendarWidget QToolButton,
|
|
|
237
237
|
QCalendarWidget QToolButton:hover {{
|
|
238
238
|
border: none;
|
|
239
239
|
}}
|
|
240
|
-
QCalendarWidget QAbstractItemView::item:selected:focus,
|
|
241
|
-
QCalendarWidget QAbstractItemView::item:selected {{
|
|
242
|
-
background: #ffffd4;
|
|
243
|
-
}}
|
|
244
|
-
QCalendarWidget QAbstractItemView::item:hover {{
|
|
245
|
-
background: #f6f6f6;
|
|
246
|
-
}}
|
|
247
240
|
.file-explorer QTreeView,
|
|
248
241
|
.file-explorer QHeaderView::section,
|
|
249
242
|
.file-explorer QTreeView::branch,
|
|
@@ -254,7 +247,17 @@ QCalendarWidget QAbstractItemView::item:hover {{
|
|
|
254
247
|
padding-top: 6px;
|
|
255
248
|
padding-bottom: 2px;
|
|
256
249
|
height: 20px;
|
|
257
|
-
}}
|
|
250
|
+
}}
|
|
258
251
|
QMenu::indicator {{
|
|
259
|
-
border: 1px solid gray;
|
|
252
|
+
border: 1px solid gray; /* tu ustawiasz border */
|
|
253
|
+
}}
|
|
254
|
+
QCalendarWidget QAbstractItemView::item:selected:focus,
|
|
255
|
+
QCalendarWidget QAbstractItemView::item:selected {{
|
|
256
|
+
background: #ffffd4;
|
|
257
|
+
}}
|
|
258
|
+
QCalendarWidget QAbstractItemView::item:hover {{
|
|
259
|
+
background: #f6f6f6;
|
|
260
|
+
}}
|
|
261
|
+
.file-explorer QTreeView::branch {{
|
|
262
|
+
background: #fff;
|
|
260
263
|
}}
|
|
@@ -2250,6 +2250,18 @@ class Patch:
|
|
|
2250
2250
|
self.window.core.updater.patch_css('style.dark.css', True) # calendar fix
|
|
2251
2251
|
updated = True
|
|
2252
2252
|
|
|
2253
|
+
# < 2.6.8
|
|
2254
|
+
if old < parse_version("2.6.8"):
|
|
2255
|
+
print("Migrating config from < 2.6.8...")
|
|
2256
|
+
self.window.core.updater.patch_css('web-chatgpt.light.css', True) # p color
|
|
2257
|
+
self.window.core.updater.patch_css('web-chatgpt.dark.css', True) # p color
|
|
2258
|
+
self.window.core.updater.patch_css('web-chatgpt_wide.light.css', True) # p color
|
|
2259
|
+
self.window.core.updater.patch_css('web-chatgpt_wide.dark.css', True) # p color
|
|
2260
|
+
self.window.core.updater.patch_css('style.light.css', True) # tree
|
|
2261
|
+
self.window.core.updater.patch_css('style.dark.css', True) # tree
|
|
2262
|
+
updated = True
|
|
2263
|
+
|
|
2264
|
+
|
|
2253
2265
|
# update file
|
|
2254
2266
|
migrated = False
|
|
2255
2267
|
if updated:
|
pygpt_net/ui/menu/about.py
CHANGED
|
@@ -54,6 +54,20 @@ class About:
|
|
|
54
54
|
self.window.ui.menu['info.license'] = QAction(QIcon(":/icons/info.svg"), trans("menu.info.license"),
|
|
55
55
|
self.window)
|
|
56
56
|
|
|
57
|
+
self.window.ui.menu['donate.coffee'] = QAction(QIcon(":/icons/favorite.svg"), "Buy me a coffee",
|
|
58
|
+
self.window)
|
|
59
|
+
self.window.ui.menu['donate.coffee'].setMenuRole(QAction.MenuRole.NoRole)
|
|
60
|
+
self.window.ui.menu['donate.paypal'] = QAction(QIcon(":/icons/favorite.svg"), "PayPal",
|
|
61
|
+
self.window)
|
|
62
|
+
self.window.ui.menu['donate.github'] = QAction(QIcon(":/icons/favorite.svg"), "GitHub Sponsors", self.window)
|
|
63
|
+
|
|
64
|
+
self.window.ui.menu['donate.coffee'].triggered.connect(
|
|
65
|
+
lambda: self.window.controller.dialogs.info.donate('coffee'))
|
|
66
|
+
self.window.ui.menu['donate.paypal'].triggered.connect(
|
|
67
|
+
lambda: self.window.controller.dialogs.info.donate('paypal'))
|
|
68
|
+
self.window.ui.menu['donate.github'].triggered.connect(
|
|
69
|
+
lambda: self.window.controller.dialogs.info.donate('github'))
|
|
70
|
+
|
|
57
71
|
self.window.ui.menu['info.about'].triggered.connect(
|
|
58
72
|
lambda: self.window.controller.dialogs.info.toggle('about'))
|
|
59
73
|
self.window.ui.menu['info.changelog'].triggered.connect(
|
|
@@ -96,3 +110,8 @@ class About:
|
|
|
96
110
|
self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.ms_store'])
|
|
97
111
|
self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.discord'])
|
|
98
112
|
self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.license'])
|
|
113
|
+
|
|
114
|
+
self.window.ui.menu['menu.donate'] = self.window.ui.menu['menu.about'].addMenu(trans("menu.info.donate"))
|
|
115
|
+
self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.coffee'])
|
|
116
|
+
self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.paypal'])
|
|
117
|
+
self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.github'])
|
pygpt_net/ui/menu/menu.py
CHANGED
|
@@ -13,7 +13,6 @@ from .about import About
|
|
|
13
13
|
from .audio import Audio
|
|
14
14
|
from .config import Config
|
|
15
15
|
from .debug import Debug
|
|
16
|
-
from .donate import Donate
|
|
17
16
|
from .file import File
|
|
18
17
|
from .lang import Lang
|
|
19
18
|
from .plugins import Plugins
|
|
@@ -34,7 +33,6 @@ class Menu:
|
|
|
34
33
|
self.audio = Audio(window)
|
|
35
34
|
self.config = Config(window)
|
|
36
35
|
self.debug = Debug(window)
|
|
37
|
-
self.donate = Donate(window)
|
|
38
36
|
self.file = File(window)
|
|
39
37
|
self.lang = Lang(window)
|
|
40
38
|
self.plugins = Plugins(window)
|
|
@@ -61,5 +59,3 @@ class Menu:
|
|
|
61
59
|
show = self.window.core.config.get('debug')
|
|
62
60
|
self.debug.setup()
|
|
63
61
|
self.window.ui.menu['menu.debug'].menuAction().setVisible(show)
|
|
64
|
-
|
|
65
|
-
self.donate.setup()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pygpt-net
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.8
|
|
4
4
|
Summary: Desktop AI Assistant powered by: OpenAI GPT-5, o1, o3, GPT-4, Gemini, Claude, Grok, DeepSeek, and other models supported by Llama Index, and Ollama. Chatbot, agents, completion, image generation, vision analysis, speech-to-text, plugins, internet access, file handling, command execution and more.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: py_gpt,py-gpt,pygpt,desktop,app,o1,o3,gpt-5,gpt,gpt4,gpt-4o,gpt-4v,gpt3.5,gpt-4,gpt-4-vision,gpt-3.5,llama3,mistral,gemini,grok,deepseek,bielik,claude,tts,whisper,vision,chatgpt,dall-e,chat,chatbot,assistant,text completion,image generation,ai,api,openai,api key,langchain,llama-index,ollama,presets,ui,qt,pyside
|
|
@@ -108,7 +108,7 @@ Description-Content-Type: text/markdown
|
|
|
108
108
|
|
|
109
109
|
[](https://snapcraft.io/pygpt)
|
|
110
110
|
|
|
111
|
-
Release: **2.6.
|
|
111
|
+
Release: **2.6.8** | build: **2025-08-16** | Python: **>=3.10, <3.14**
|
|
112
112
|
|
|
113
113
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
|
114
114
|
>
|
|
@@ -4514,6 +4514,13 @@ may consume additional tokens that are not displayed in the main window.
|
|
|
4514
4514
|
|
|
4515
4515
|
## Recent changes:
|
|
4516
4516
|
|
|
4517
|
+
**2.6.8 (2025-08-16)**
|
|
4518
|
+
|
|
4519
|
+
- Fixed: updated paragraph color on theme switch.
|
|
4520
|
+
- Added switching to duplicated preset after creation.
|
|
4521
|
+
- Reduced delay after selecting context.
|
|
4522
|
+
- Optimized rendering of mathematical formulas.
|
|
4523
|
+
|
|
4517
4524
|
**2.6.7 (2025-08-16)**
|
|
4518
4525
|
|
|
4519
4526
|
- Fix: missing entity sanitize.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
pygpt_net/CHANGELOG.txt,sha256=
|
|
1
|
+
pygpt_net/CHANGELOG.txt,sha256=b2F1vAbO75sqXz72pIk5Aq7EtFcNuZWNMny-Ds5VUfw,98993
|
|
2
2
|
pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
|
|
3
|
-
pygpt_net/__init__.py,sha256=
|
|
4
|
-
pygpt_net/app.py,sha256=
|
|
3
|
+
pygpt_net/__init__.py,sha256=50wp_dosrptf_Pbg1lYb0EcWQMSm0d2oNFjS-hW4RW8,1372
|
|
4
|
+
pygpt_net/app.py,sha256=W1zjJBIEfzrrp5L5Dxk5Z5n2U0zJjjKcevxAuU_ETAs,20503
|
|
5
5
|
pygpt_net/config.py,sha256=P-D-vRWwq77moEMveMNyUImH8hG3PXpxqBsWyriEGzs,16731
|
|
6
6
|
pygpt_net/container.py,sha256=NsMSHURaEC_eW8vrCNdztwqkxB7jui3yVlzUOMYvCHg,4124
|
|
7
7
|
pygpt_net/controller/__init__.py,sha256=FiAP-Md0a57HSH1sSFflB4aq6Jho9M1lejk9VJxM8is,5969
|
|
@@ -62,7 +62,7 @@ pygpt_net/controller/config/field/textarea.py,sha256=Ln545IHzXBeFIjnfMIpmlUr-V3w
|
|
|
62
62
|
pygpt_net/controller/config/placeholder.py,sha256=Q4csMg6q1xpV5Yz8jb2eh33lqdvqE5AAUg7L9ProRRY,16030
|
|
63
63
|
pygpt_net/controller/ctx/__init__.py,sha256=0wH7ziC75WscBW8cxpeGBwEz5tolo_kCxGPoz2udI_E,507
|
|
64
64
|
pygpt_net/controller/ctx/common.py,sha256=7F6xuCr-LIs909oTVYd9z_iZnsC69i7KFKbDMurg1oI,6491
|
|
65
|
-
pygpt_net/controller/ctx/ctx.py,sha256=
|
|
65
|
+
pygpt_net/controller/ctx/ctx.py,sha256=HvIN6Y7HJqK8O-yed2o_zZBL-ULSDu0aQUuREL9L48k,35674
|
|
66
66
|
pygpt_net/controller/ctx/extra.py,sha256=WApWjnIfl3SoI0VZVbptvjjqhFPJl-dSfqW12tlBHrY,8599
|
|
67
67
|
pygpt_net/controller/ctx/summarizer.py,sha256=dO-LqIclwI7gIot1yjNo9eZ0HxakWCSoqePORgCLOk8,3072
|
|
68
68
|
pygpt_net/controller/debug/__init__.py,sha256=dOJGTICjvTtrPIEDOsxCzcOHsfu8AFPLpSKbdN0q0KI,509
|
|
@@ -114,7 +114,7 @@ pygpt_net/controller/plugins/settings.py,sha256=pa0iJvpb1SXWD8hqYoC_BuSogx2-5u6n
|
|
|
114
114
|
pygpt_net/controller/presets/__init__.py,sha256=Bb9_aAvGxQcKCW2fvG5CAJ6ZUwNYN3GaCf3BXB9eGfI,511
|
|
115
115
|
pygpt_net/controller/presets/editor.py,sha256=NJypX8a4QAZ_S1YuLHk5YKfKl0QASZ4xcJnSVK2VLHQ,39468
|
|
116
116
|
pygpt_net/controller/presets/experts.py,sha256=dfPKmAPO-7gaUD2ILs3lR005ir32G5vV-Sa5TGEHwOU,5820
|
|
117
|
-
pygpt_net/controller/presets/presets.py,sha256=
|
|
117
|
+
pygpt_net/controller/presets/presets.py,sha256=Tq9AIgr042ALu6hEQunBxnUZTzLdzmp4IStWprzmyjg,21918
|
|
118
118
|
pygpt_net/controller/settings/__init__.py,sha256=hn5n_Hti6byJQdQCs4Ld2EbPoZF7dHVMwqaBPscePQ8,512
|
|
119
119
|
pygpt_net/controller/settings/editor.py,sha256=vpXhDDrr8Jn5-dn2KXMbjlu-Dawrq9s7TdEYaAdq-fE,18772
|
|
120
120
|
pygpt_net/controller/settings/profile.py,sha256=Zom4qT2j71lZadB2nbJvn5Ewoek8jdf5fc9HERwUZtE,20049
|
|
@@ -303,7 +303,7 @@ pygpt_net/core/render/plain/helpers.py,sha256=CMF84kSeuQnkgZVHmN_9YWaL5BC958tDE9
|
|
|
303
303
|
pygpt_net/core/render/plain/pid.py,sha256=Pz3v1tnLj-XI_9vcaVkCf9SZ2EgVs4LYV4qzelBMoOg,1119
|
|
304
304
|
pygpt_net/core/render/plain/renderer.py,sha256=Cm-HXHd5Mc6LAiDW5qNXOyZoLKlUo16I_cU-B2cGnYM,15595
|
|
305
305
|
pygpt_net/core/render/web/__init__.py,sha256=istp5dsn6EkLEP7lOBeDb8RjodUcWZqjcEvTroaTT-w,489
|
|
306
|
-
pygpt_net/core/render/web/body.py,sha256=
|
|
306
|
+
pygpt_net/core/render/web/body.py,sha256=81A6hRtnq5gl4PJBeBxEKbeCSyuSrHUZy-y1WivodqY,55979
|
|
307
307
|
pygpt_net/core/render/web/helpers.py,sha256=ivrXrCqRIUWHDmu3INu-i6XUlB2W9IOO8iYyqpbnSRU,5438
|
|
308
308
|
pygpt_net/core/render/web/parser.py,sha256=2ATdydXNDIgf4Jq44m1kvd7Vr4mW_FopovrYbwfv7rc,12740
|
|
309
309
|
pygpt_net/core/render/web/pid.py,sha256=EOp8hUJMFXNgZs8Kl5Qt8fz3Rslj6meK8Yn9aDmUrdM,3092
|
|
@@ -343,8 +343,8 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
|
|
|
343
343
|
pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
|
|
344
344
|
pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
|
|
345
345
|
pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
|
|
346
|
-
pygpt_net/data/config/config.json,sha256=
|
|
347
|
-
pygpt_net/data/config/models.json,sha256=
|
|
346
|
+
pygpt_net/data/config/config.json,sha256=9kUaXJQnXcU41gF1vqHOQfqCqu_FFEtkfF6yOhVgn4Y,24887
|
|
347
|
+
pygpt_net/data/config/models.json,sha256=iH5RC1yK0JOrm6P_m8bAwfKQQP-w4QMhNoi9Gky8pJM,109648
|
|
348
348
|
pygpt_net/data/config/modes.json,sha256=M882iiqX_R2sNQl9cqZ3k-uneEvO9wpARtHRMLx_LHw,2265
|
|
349
349
|
pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
|
|
350
350
|
pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
|
|
@@ -386,16 +386,16 @@ pygpt_net/data/css/markdown.css,sha256=yaoJPogZZ_ghbqP8vTXTycwVyD61Ik5_033NpzuUz
|
|
|
386
386
|
pygpt_net/data/css/markdown.dark.css,sha256=ixAwuT69QLesZttKhO4RAy-QukplZwwfXCZsWLN9TP4,730
|
|
387
387
|
pygpt_net/data/css/markdown.light.css,sha256=UZdv0jtuFgJ_4bYWsDaDQ4X4AP9tVNLUHBAckC_oD8k,833
|
|
388
388
|
pygpt_net/data/css/style.css,sha256=dgVlVqEL38zF-4Ok-y1rwfALC8zETJAIuIbkwat_hTk,337
|
|
389
|
-
pygpt_net/data/css/style.dark.css,sha256=
|
|
390
|
-
pygpt_net/data/css/style.light.css,sha256=
|
|
389
|
+
pygpt_net/data/css/style.dark.css,sha256=Uzgr_KomVwwRVvFoJY4duLymLv7aBYRW_SBRrzHqUMw,2339
|
|
390
|
+
pygpt_net/data/css/style.light.css,sha256=g8tWOpjPgm6PBi1XyQoXQqi5-txDBzDkD9EEggw6T_A,4924
|
|
391
391
|
pygpt_net/data/css/web-blocks.css,sha256=hI2G0a7J6fsoiQUq8k9w_n0mBEIkoPCxC2H6x_eB4EU,7345
|
|
392
392
|
pygpt_net/data/css/web-blocks.dark.css,sha256=9YLFgNGAqhIeeVBoK1LzLIaLlphgpAEUuMBjw-Dw6Wk,1453
|
|
393
393
|
pygpt_net/data/css/web-blocks.light.css,sha256=16DMT58e5I5Rj41H5yQHfukPsZJItrNtkSrHQ5nFuoo,1529
|
|
394
394
|
pygpt_net/data/css/web-chatgpt.css,sha256=k7kCJ-RCRimk5I_CUPhIOA4_RC4U2VwyMhlowsibTEg,7846
|
|
395
|
-
pygpt_net/data/css/web-chatgpt.dark.css,sha256=
|
|
395
|
+
pygpt_net/data/css/web-chatgpt.dark.css,sha256=H8CtcPM0utsKqjNBdUCd2BQZmcRi_0RqiZBTHaJaGQk,1307
|
|
396
396
|
pygpt_net/data/css/web-chatgpt.light.css,sha256=wpJn_SAVRFhpGalE0_3w4PdftnxwAWGPUiaYv2xvmlg,1387
|
|
397
397
|
pygpt_net/data/css/web-chatgpt_wide.css,sha256=qU8TkohtZCwb2FC4S1AoqFi99_NBc4_gW5wdW3RD9Aw,7729
|
|
398
|
-
pygpt_net/data/css/web-chatgpt_wide.dark.css,sha256=
|
|
398
|
+
pygpt_net/data/css/web-chatgpt_wide.dark.css,sha256=H8CtcPM0utsKqjNBdUCd2BQZmcRi_0RqiZBTHaJaGQk,1307
|
|
399
399
|
pygpt_net/data/css/web-chatgpt_wide.light.css,sha256=wpJn_SAVRFhpGalE0_3w4PdftnxwAWGPUiaYv2xvmlg,1387
|
|
400
400
|
pygpt_net/data/fonts/Lato/Lato-Black.ttf,sha256=iUTaWoYezgAYX6Fz6mUyTn1Hl6qGPG-g8D4GaAWXS2w,69484
|
|
401
401
|
pygpt_net/data/fonts/Lato/Lato-BlackItalic.ttf,sha256=G7asNGubFS-gk9VAMO_NBz4o5R7AB8-3bCAflv103mc,71948
|
|
@@ -2025,7 +2025,7 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=QDclQCQdr4QyRIqjgGX
|
|
|
2025
2025
|
pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
2026
2026
|
pygpt_net/provider/core/config/base.py,sha256=cbvzbMNqL2XgC-36gGubnU37t94AX7LEw0lecb2Nm80,1365
|
|
2027
2027
|
pygpt_net/provider/core/config/json_file.py,sha256=GCcpCRQnBiSLWwlGbG9T3ZgiHkTfp5Jsg2KYkZcakBw,6789
|
|
2028
|
-
pygpt_net/provider/core/config/patch.py,sha256=
|
|
2028
|
+
pygpt_net/provider/core/config/patch.py,sha256=ylMm-WtTAPjcSVNGYVi_ELcObfNHo_KO-1aqsLszAJU,119646
|
|
2029
2029
|
pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
2030
2030
|
pygpt_net/provider/core/ctx/base.py,sha256=Tfb4MDNe9BXXPU3lbzpdYwJF9S1oa2-mzgu5XT4It9g,3003
|
|
2031
2031
|
pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
|
|
@@ -2309,14 +2309,13 @@ pygpt_net/ui/layout/toolbox/toolbox.py,sha256=zEZr_XDz9QbPKL0u0KMSt1b8yOG-ao1gmZ
|
|
|
2309
2309
|
pygpt_net/ui/layout/toolbox/vision.py,sha256=GZY-N2z8re1LN1ntsy-3Ius8OY4DujmJpyJ1qP2ZRxs,2447
|
|
2310
2310
|
pygpt_net/ui/main.py,sha256=ObCj3nMmjzDEWgNSdh0Dwn8BocEjmuSl-AALDQr2g8I,13783
|
|
2311
2311
|
pygpt_net/ui/menu/__init__.py,sha256=wAIKG9wLWfYv6tpXCTXptWb_XKoCc-4lYWLDvV1bVYk,508
|
|
2312
|
-
pygpt_net/ui/menu/about.py,sha256=
|
|
2312
|
+
pygpt_net/ui/menu/about.py,sha256=Y5Ok96MVsFPekvL4dPYK01QPGUUbZvfAsZztcxQhXh8,7232
|
|
2313
2313
|
pygpt_net/ui/menu/audio.py,sha256=Sb8NTAyMnPj4johTvBKwocHzq67XypIdw7K7hjf2760,3494
|
|
2314
2314
|
pygpt_net/ui/menu/config.py,sha256=Yf1hNfruBozWtkCzHAtHlQPepJEAcFa-I15Tv3WQaMg,9026
|
|
2315
2315
|
pygpt_net/ui/menu/debug.py,sha256=umXmXVUyKvmIjZBMqD1luAykX62HSj7QCponycwHqIY,6779
|
|
2316
|
-
pygpt_net/ui/menu/donate.py,sha256=5jpmnl31N-3yy79juL289E-9uEuEv7E0_8uHq7R77aw,2136
|
|
2317
2316
|
pygpt_net/ui/menu/file.py,sha256=gi4XIMs3l2-9sc5Vl6L9t_le9YP-UUVDIBr1tAREEOE,3360
|
|
2318
2317
|
pygpt_net/ui/menu/lang.py,sha256=99dSS3mM4KIftgXgsgZoq2bJ_DnmgqA7z7cP49kICP4,897
|
|
2319
|
-
pygpt_net/ui/menu/menu.py,sha256=
|
|
2318
|
+
pygpt_net/ui/menu/menu.py,sha256=MPT0fb5LI3nIOpXI0rjCgAeSOmuTRPlaIXPyiBoIukA,1784
|
|
2320
2319
|
pygpt_net/ui/menu/plugins.py,sha256=z0cUg_S5dY1T4oZH3Vv0Dxx0rOuHVaiprPZj2FfBzD0,2880
|
|
2321
2320
|
pygpt_net/ui/menu/theme.py,sha256=HVqFp39QaeGdTqvDjL5mLJfI8GS0YACbQh23lwPyrPc,3709
|
|
2322
2321
|
pygpt_net/ui/menu/tools.py,sha256=YhxTI4uyDob1oCIowJQbakOjqOEVYt4mNpsRdSuCEvE,4349
|
|
@@ -2433,8 +2432,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=6Kt9IUkjx3rhWBmH3xdnmX1X-ACUMYnfHnRN0
|
|
|
2433
2432
|
pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
|
|
2434
2433
|
pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
|
|
2435
2434
|
pygpt_net/utils.py,sha256=YL0czRa1v6ilKNszAI9NyaE9Lgz6HiUGpNFAYQ9Wj8s,8835
|
|
2436
|
-
pygpt_net-2.6.
|
|
2437
|
-
pygpt_net-2.6.
|
|
2438
|
-
pygpt_net-2.6.
|
|
2439
|
-
pygpt_net-2.6.
|
|
2440
|
-
pygpt_net-2.6.
|
|
2435
|
+
pygpt_net-2.6.8.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
|
|
2436
|
+
pygpt_net-2.6.8.dist-info/METADATA,sha256=ZwRQepmMsnTcvXwW9T5M9raLnm_IoTTeENn8kr4gw0M,186851
|
|
2437
|
+
pygpt_net-2.6.8.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
2438
|
+
pygpt_net-2.6.8.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
|
|
2439
|
+
pygpt_net-2.6.8.dist-info/RECORD,,
|
pygpt_net/ui/menu/donate.py
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
# ================================================== #
|
|
4
|
-
# This file is a part of PYGPT package #
|
|
5
|
-
# Website: https://pygpt.net #
|
|
6
|
-
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
|
-
# MIT License #
|
|
8
|
-
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.01.16 01:00:00 #
|
|
10
|
-
# ================================================== #
|
|
11
|
-
|
|
12
|
-
from PySide6.QtGui import QAction, QIcon
|
|
13
|
-
|
|
14
|
-
from pygpt_net.utils import trans
|
|
15
|
-
import pygpt_net.icons_rc
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class Donate:
|
|
19
|
-
def __init__(self, window=None):
|
|
20
|
-
"""
|
|
21
|
-
Menu setup
|
|
22
|
-
|
|
23
|
-
:param window: Window instance
|
|
24
|
-
"""
|
|
25
|
-
self.window = window
|
|
26
|
-
|
|
27
|
-
def setup(self):
|
|
28
|
-
"""Setup donate menu"""
|
|
29
|
-
self.window.ui.menu['donate.coffee'] = QAction(QIcon(":/icons/favorite.svg"), "Buy me a coffee",
|
|
30
|
-
self.window)
|
|
31
|
-
self.window.ui.menu['donate.coffee'].setMenuRole(QAction.MenuRole.NoRole)
|
|
32
|
-
self.window.ui.menu['donate.paypal'] = QAction(QIcon(":/icons/favorite.svg"), "PayPal",
|
|
33
|
-
self.window)
|
|
34
|
-
self.window.ui.menu['donate.github'] = QAction(QIcon(":/icons/favorite.svg"), "GitHub Sponsors", self.window)
|
|
35
|
-
|
|
36
|
-
self.window.ui.menu['donate.coffee'].triggered.connect(
|
|
37
|
-
lambda: self.window.controller.dialogs.info.donate('coffee'))
|
|
38
|
-
self.window.ui.menu['donate.paypal'].triggered.connect(
|
|
39
|
-
lambda: self.window.controller.dialogs.info.donate('paypal'))
|
|
40
|
-
self.window.ui.menu['donate.github'].triggered.connect(
|
|
41
|
-
lambda: self.window.controller.dialogs.info.donate('github'))
|
|
42
|
-
|
|
43
|
-
self.window.ui.menu['menu.donate'] = self.window.menuBar().addMenu(trans("menu.info.donate"))
|
|
44
|
-
self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.coffee'])
|
|
45
|
-
self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.paypal'])
|
|
46
|
-
self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.github'])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|