pyloid 0.17.1__py3-none-any.whl → 0.17.3__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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,,