pyloid 0.17.1__py3-none-any.whl → 0.17.3__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.
pyloid/browser_window.py CHANGED
@@ -81,14 +81,20 @@ class CustomWebEngineView(QWebEngineView):
81
81
  self.resize_direction = None
82
82
  self.screen_geometry = self.screen().virtualGeometry()
83
83
  self.is_resizing_enabled = True
84
+
85
+ self.setAttribute(Qt.WA_SetCursor, False)
86
+
87
+ self.is_in_resize_area = False
84
88
 
85
89
  def mouse_press_event(self, event):
90
+ if self.parent.frame or not self.is_resizing_enabled:
91
+ return
92
+
86
93
  if event.button() == Qt.LeftButton:
87
- if not self.parent.frame and self.is_resizing_enabled:
88
- self.resize_direction = self.get_resize_direction(event.pos())
89
- if self.resize_direction:
90
- self.is_resizing = True
91
- self.resize_start_pos = event.globalPos()
94
+ self.resize_direction = self.get_resize_direction(event.pos())
95
+ if self.resize_direction:
96
+ self.is_resizing = True
97
+ self.resize_start_pos = event.globalPos()
92
98
 
93
99
  def start_system_drag(self):
94
100
  """네이티브 시스템 창 이동 시작"""
@@ -96,21 +102,42 @@ class CustomWebEngineView(QWebEngineView):
96
102
  self.parent._window.windowHandle().startSystemMove()
97
103
 
98
104
  def mouse_move_event(self, event):
99
- if self.is_resizing and self.is_resizing_enabled:
105
+ if self.parent.frame or not self.is_resizing_enabled:
106
+ return
107
+
108
+ # 리사이징 방향 확인
109
+ was_in_resize_area = self.is_in_resize_area
110
+ resize_direction = self.get_resize_direction(event.pos())
111
+ self.is_in_resize_area = bool(resize_direction)
112
+
113
+ if resize_direction and not self.is_resizing:
114
+ self.set_cursor_for_resize_direction(resize_direction)
115
+
116
+ if self.is_resizing:
100
117
  self.resize_window(event.globalPos())
101
- else:
102
- # Change cursor based on resize direction
103
- resize_direction = self.get_resize_direction(event.pos())
104
- if resize_direction and self.is_resizing_enabled:
105
- self.set_cursor_for_resize_direction(resize_direction)
118
+ return
119
+
120
+ # 리사이징 영역 진입/이탈 시에만 커서 변경
121
+ if self.is_in_resize_area != was_in_resize_area:
122
+ if self.is_in_resize_area:
123
+ # self.setAttribute(Qt.WA_SetCursor, True)
124
+ pass
106
125
  else:
107
126
  self.unsetCursor()
127
+ # self.setAttribute(Qt.WA_SetCursor, False)
108
128
 
109
129
  def mouse_release_event(self, event):
130
+ if self.parent.frame or not self.is_resizing_enabled:
131
+ return
132
+
110
133
  if event.button() == Qt.LeftButton:
111
134
  self.is_resizing = False
112
- self.resize_direction = None
113
- self.unsetCursor()
135
+
136
+ if self.resize_direction:
137
+ self.unsetCursor()
138
+ self.resize_direction = None
139
+
140
+ self.setAttribute(Qt.WA_SetCursor, False)
114
141
 
115
142
  def eventFilter(self, source, event):
116
143
  if self.focusProxy() is source:
@@ -126,7 +153,7 @@ class CustomWebEngineView(QWebEngineView):
126
153
  if (
127
154
  not self.parent.frame and self.is_resizing_enabled
128
155
  ): # Check if frame is not present and resizing is enabled
129
- margin = 5 # Margin in pixels to detect edge
156
+ margin = 8 # Margin in pixels to detect edge
130
157
  rect = self.rect()
131
158
  direction = None
132
159
 
@@ -144,17 +171,20 @@ class CustomWebEngineView(QWebEngineView):
144
171
  return None
145
172
 
146
173
  def set_cursor_for_resize_direction(self, direction):
147
- if (
148
- not self.parent.frame and direction and self.is_resizing_enabled
149
- ): # Check if frame is not present and resizing is enabled
174
+ if not self.parent.frame and direction and self.is_resizing_enabled:
175
+ cursor = None
150
176
  if direction in ["left", "right"]:
151
- self.setCursor(Qt.SizeHorCursor)
177
+ cursor = Qt.SizeHorCursor
152
178
  elif direction in ["top", "bottom"]:
153
- self.setCursor(Qt.SizeVerCursor)
179
+ cursor = Qt.SizeVerCursor
154
180
  elif direction in ["left-top", "right-bottom"]:
155
- self.setCursor(Qt.SizeFDiagCursor)
181
+ cursor = Qt.SizeFDiagCursor
156
182
  elif direction in ["right-top", "left-bottom"]:
157
- self.setCursor(Qt.SizeBDiagCursor)
183
+ cursor = Qt.SizeBDiagCursor
184
+
185
+ if cursor:
186
+ self.setCursor(cursor)
187
+ self.setAttribute(Qt.WA_SetCursor, True)
158
188
 
159
189
  def resize_window(self, global_pos):
160
190
  if (
@@ -1856,7 +1886,7 @@ class BrowserWindow:
1856
1886
  Parameters
1857
1887
  ----------
1858
1888
  handler : callable
1859
- 요청을 처리할 핸들러 함수. QWebEngineDesktopMediaRequest 인자로 받습니다.
1889
+ 요청을 처리할 핸들러 함수. QWebEngineDesktopMediaRequest��� 인자로 받습니다.
1860
1890
 
1861
1891
  Examples
1862
1892
  --------
pyloid/pyloid.py CHANGED
@@ -434,9 +434,6 @@ class Pyloid(QApplication):
434
434
  app.quit()
435
435
  ```
436
436
  """
437
- # 먼저 스레드 풀 정리
438
- thread_pool = self.get_thread_pool()
439
- thread_pool.clear() # 대기 중인 작업 제거
440
437
 
441
438
  # 윈도우 정리
442
439
  for window in self.windows:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyloid
3
- Version: 0.17.1
3
+ Version: 0.17.3
4
4
  Summary:
5
5
  Author: aesthetics-of-record
6
6
  Author-email: 111675679+aesthetics-of-record@users.noreply.github.com
@@ -1,18 +1,18 @@
1
1
  pyloid/__init__.py,sha256=OOPhOKNQVmAM8hnfTeE7lHzxb8LsFNcgegBAvDrA-vY,293
2
2
  pyloid/api.py,sha256=np0pFVUlen_GpN0svY0A3awY_ZjVFk-RpHQZZKFUMuo,2157
3
3
  pyloid/autostart.py,sha256=K7DQYl4LHItvPp0bt1V9WwaaZmVSTeGvadkcwG-KKrI,3899
4
- pyloid/browser_window.py,sha256=BYjzcP6tPg-3Splai-v60-0LZ2gXeyk0QUrcy6rHydA,61946
4
+ pyloid/browser_window.py,sha256=bmdisPdLtK2atj_UuWytstZi1rKD1DexkXmjGxJyVtE,62838
5
5
  pyloid/custom/titlebar.py,sha256=itzK9pJbZMQ7BKca9kdbuHMffurrw15UijR6OU03Xsk,3894
6
6
  pyloid/filewatcher.py,sha256=3M5zWVUf1OhlkWJcDFC8ZA9agO4Q-U8WdgGpy6kaVz0,4601
7
7
  pyloid/js_api/event_api.py,sha256=_52yyBonqecmMvJpFW7OMNi_jX8Nrteqw_kI6r-DGG0,951
8
8
  pyloid/js_api/window_api.py,sha256=QutXXAOZkpYmytOYSenpzVSCl15-OFEjDDr75fHfLvk,8481
9
9
  pyloid/monitor.py,sha256=1mXvHm5deohnNlTLcRx4sT4x-stnOIb0dUQnnxN50Uo,28295
10
- pyloid/pyloid.py,sha256=klY6-O7rEZZYfhayq9RTwvO9f8KCXWxIo7G8BDFy2hg,44236
10
+ pyloid/pyloid.py,sha256=YKE2a5yZFbBZrtMND2X5I7CVnFRK40NFzDp3kYN-oQg,44091
11
11
  pyloid/thread_pool.py,sha256=fKOBb8jMfZn_7crA_fJCno8dObBRZE31EIWaNQ759aw,14616
12
12
  pyloid/timer.py,sha256=RqMsChFUd93cxMVgkHWiIKrci0QDTBgJSTULnAtYT8M,8712
13
13
  pyloid/tray.py,sha256=D12opVEc2wc2T4tK9epaN1oOdeziScsIVNM2uCN7C-A,1710
14
14
  pyloid/utils.py,sha256=XPM2PxO0LQ_eAnba5pKJ3vYsCev91JMFmv13EFuAy5o,2620
15
- pyloid-0.17.1.dist-info/LICENSE,sha256=F96EzotgWhhpnQTW2TcdoqrMDir1jyEo6H915tGQ-QE,11524
16
- pyloid-0.17.1.dist-info/METADATA,sha256=zx0zcFBel8qVl0pzxeEey7KhwkzDbk6H1GrPj7uw-1Y,3054
17
- pyloid-0.17.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
18
- pyloid-0.17.1.dist-info/RECORD,,
15
+ pyloid-0.17.3.dist-info/LICENSE,sha256=F96EzotgWhhpnQTW2TcdoqrMDir1jyEo6H915tGQ-QE,11524
16
+ pyloid-0.17.3.dist-info/METADATA,sha256=T3agBQ6DwCpaTKh0snIFQ43BmsQNOHYjGf0twyFobPc,3054
17
+ pyloid-0.17.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
18
+ pyloid-0.17.3.dist-info/RECORD,,