pyloid 0.11.0__tar.gz → 0.11.1__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.
@@ -198,4 +198,4 @@ Apache License
198
198
  distributed under the License is distributed on an "AS IS" BASIS,
199
199
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
200
  See the License for the specific language governing permissions and
201
- limitations under the License.
201
+ limitations under the License.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyloid
3
- Version: 0.11.0
3
+ Version: 0.11.1
4
4
  Summary:
5
5
  Author: aesthetics-of-record
6
6
  Author-email: 111675679+aesthetics-of-record@users.noreply.github.com
@@ -48,7 +48,7 @@ With Pyloid, you can leverage the full power of Python in your desktop applicati
48
48
 
49
49
  #### Creating a React + Vite + Pyloid Project ⚛️
50
50
 
51
- [https://github.com/pylonic/pyloid_react_boilerplate](https://github.com/Pyloid/yloid_react_boilerplate)
51
+ [https://github.com/pylonic/pyloid_react_boilerplate](https://github.com/Pyloid/pyloid_react_boilerplate)
52
52
 
53
53
  ### Custom Your Boilerplate 🔨
54
54
 
@@ -33,7 +33,7 @@ With Pyloid, you can leverage the full power of Python in your desktop applicati
33
33
 
34
34
  #### Creating a React + Vite + Pyloid Project ⚛️
35
35
 
36
- [https://github.com/pylonic/pyloid_react_boilerplate](https://github.com/Pyloid/yloid_react_boilerplate)
36
+ [https://github.com/pylonic/pyloid_react_boilerplate](https://github.com/Pyloid/pyloid_react_boilerplate)
37
37
 
38
38
  ### Custom Your Boilerplate 🔨
39
39
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyloid"
3
- version = "0.11.0"
3
+ version = "0.11.1"
4
4
  description = ""
5
5
  authors = ["aesthetics-of-record <111675679+aesthetics-of-record@users.noreply.github.com>"]
6
6
  readme = "README.md"
@@ -8,7 +8,16 @@ from PySide6.QtWidgets import (
8
8
  )
9
9
  from PySide6.QtWebEngineWidgets import QWebEngineView
10
10
  from PySide6.QtWebChannel import QWebChannel
11
- from PySide6.QtGui import QIcon, QKeySequence, QShortcut, QClipboard, QImage, QAction, QPalette, QColor
11
+ from PySide6.QtGui import (
12
+ QIcon,
13
+ QKeySequence,
14
+ QShortcut,
15
+ QClipboard,
16
+ QImage,
17
+ QAction,
18
+ QPalette,
19
+ QColor,
20
+ )
12
21
  from PySide6.QtCore import Qt, Signal, QUrl, QObject, QTimer
13
22
  from PySide6.QtNetwork import QLocalServer, QLocalSocket
14
23
  from PySide6.QtWebEngineCore import QWebEnginePage, QWebEngineSettings
@@ -23,13 +32,14 @@ import json
23
32
  from .autostart import AutoStart
24
33
  from .filewatcher import FileWatcher
25
34
  import logging
26
- from PySide6.QtCore import QCoreApplication
35
+ from PySide6.QtCore import QCoreApplication, QtMsgType
27
36
 
28
37
  # for linux debug
29
38
  os.environ["QTWEBENGINE_DICTIONARIES_PATH"] = "/"
30
39
 
31
40
  # for macos debug
32
- logging.getLogger('Qt').setLevel(logging.ERROR)
41
+ logging.getLogger("Qt").setLevel(logging.ERROR)
42
+
33
43
 
34
44
  def custom_message_handler(mode, context, message):
35
45
  if not hasattr(custom_message_handler, "vulkan_warning_shown") and (
@@ -42,7 +52,13 @@ def custom_message_handler(mode, context, message):
42
52
  )
43
53
  os.environ["QT_QUICK_BACKEND"] = "software"
44
54
  custom_message_handler.vulkan_warning_shown = True
45
- if "vulkan" not in message.lower():
55
+
56
+ if "Autofill.enable failed" in message:
57
+ print(
58
+ "\033[93mPyloid Warning: Autofill is not enabled in developer tools.\033[0m"
59
+ )
60
+
61
+ if "vulkan" not in message.lower() and "Autofill.enable failed" not in message:
46
62
  print(message)
47
63
 
48
64
 
@@ -390,6 +406,11 @@ class BrowserWindow:
390
406
  self.dev_tools_window.resize(800, 600)
391
407
  self.dev_tools_window.show()
392
408
 
409
+ # Add this line to handle dev tools window closure
410
+ self.dev_tools_window.closeEvent = lambda event: setattr(
411
+ self, "dev_tools_window", None
412
+ )
413
+
393
414
  def get_window_properties(self):
394
415
  """Returns the properties of the window."""
395
416
  return {
@@ -411,6 +432,14 @@ class BrowserWindow:
411
432
 
412
433
  def closeEvent(self, event):
413
434
  """Handles the event when the window is closed."""
435
+ # Close developer tools if open
436
+ if hasattr(self, "dev_tools_window") and self.dev_tools_window:
437
+ self.dev_tools_window.close()
438
+ self.dev_tools_window = None
439
+
440
+ # Solve memory leak issue with web view engine
441
+ self.web_view.page().deleteLater()
442
+ self.web_view.deleteLater()
414
443
  self._remove_from_app_windows()
415
444
  event.accept() # Accept the event (allow the window to close)
416
445
 
@@ -730,8 +759,11 @@ class Pyloid(QApplication):
730
759
  window._window.close()
731
760
 
732
761
  def quit(self):
733
- """Quits the application."""
734
- self.close_all_windows()
762
+ """애플리케이션을 종료합니다."""
763
+ for window in self.windows:
764
+ window._window.close()
765
+ window.web_page.deleteLater()
766
+ window.web_view.deleteLater()
735
767
  QApplication.quit()
736
768
 
737
769
  ###########################################################################################
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes