@@ -61,16 +61,16 @@ def __init__(
6161 # self.timer = QTimer(self)
6262 # self.timer.timeout.connect(self.downloader.downloadData)
6363
64- self .plugins : List [ BasePlugin ] = []
64+ self .plugins : Dict [ str , BasePlugin ] = {}
6565 for plugin_cls in self .plugin_classes :
6666 if isinstance (plugin_cls , SupportsBasePlugin ):
67- self .plugins . append ( plugin_cls (self ) )
67+ self .plugins [ plugin_cls . __name__ ] = plugin_cls (self )
6868 else :
6969 print (
7070 f"{ plugin_cls .__name__ } does not implement BasePlugin, ignoring Plugin"
7171 )
7272
73- for plugin in self .plugins :
73+ for plugin in self .plugins . values () :
7474 self .mouse_press_signal .connect (plugin .mouse_press_event )
7575 self .mouse_move_signal .connect (plugin .mouse_move_event )
7676 self .mouse_release_signal .connect (plugin .mouse_release_event )
@@ -91,17 +91,17 @@ def acquire(self, start: bool = True) -> None:
9191 self .videoThread .setUrl (self .url )
9292 self .videoThread .setFPS (self .fps )
9393 self .videoThread .start ()
94- for plugin in self .plugins :
94+ for plugin in self .plugins . values () :
9595 plugin .start_plugin ()
9696 elif self .videoThread .isRunning () and not start :
97- for plugin in self .plugins :
97+ for plugin in self .plugins . values () :
9898 plugin .stop_plugin ()
9999 self .videoThread .stop ()
100100 self .videoThread .wait (500 )
101101
102102 def stop_plugins (self ):
103103 "For cleaning up threads and other processes"
104- for plugin in self .plugins :
104+ for plugin in self .plugins . values () :
105105 plugin .stop_plugin ()
106106
107107 def eventFilter (self , obj , event ):
@@ -162,7 +162,7 @@ def contextMenuEvent(self, a0: QContextMenuEvent) -> None:
162162 config_plugins_action .triggered .connect (self ._config_plugins )
163163 self .addMenuItem (config_plugins_action )
164164
165- for plugin in self .plugins :
165+ for plugin in self .plugins . values () :
166166 self .menu .addSection (plugin .name )
167167 context_menu_entry = plugin .context_menu_entry ()
168168
@@ -182,7 +182,7 @@ def addMenuItem(self, item):
182182 self .menu .addMenu (item )
183183
184184 def _config_plugins (self ):
185- plugin_settings_dialog = PluginSettingsDialog (parent = self , plugins = self .plugins )
185+ plugin_settings_dialog = PluginSettingsDialog (parent = self , plugins = self .plugins . values () )
186186
187187 def sizeHint (self ) -> QSize :
188188 return QSize (400 , 400 )
@@ -195,7 +195,7 @@ def updateImageData(self, image: QImage):
195195 self .image = image
196196
197197 # Loop through plugins to process video image
198- for plugin in self .plugins :
198+ for plugin in self .plugins . values () :
199199 if plugin .updates_image :
200200 self .image = plugin .update_image_data (self .image )
201201
@@ -269,7 +269,7 @@ def readSettings(self, settings: QSettings):
269269 self .yDivs = settings .value ("yDivs" , 5 , type = int )
270270 self .color = settings .value ("color" , False , type = bool )
271271
272- for plugin in self .plugins :
272+ for plugin in self .plugins . values () :
273273 settings .beginGroup (plugin .name )
274274 settings_values = {}
275275 for key in settings .allKeys ():
@@ -311,7 +311,7 @@ def writeSettings(
311311 settings .setValue ("scaleW" , self .scale [0 ])
312312 settings .setValue ("scaleH" , self .scale [1 ])
313313
314- for plugin in self .plugins :
314+ for plugin in self .plugins . values () :
315315 settings .beginGroup (plugin .name )
316316 settings_values = plugin .write_settings ()
317317 for key , value in settings_values .items ():
0 commit comments