@@ -1959,8 +1959,15 @@ def addSignalItem(self, obj, meta, i, inheritsFrom, prepend=''):
19591959
19601960 methName = str (meth .name (), 'utf-8' )
19611961
1962+ isSafe = True
1963+
1964+ for i in range (0 ,meth .parameterCount ()):
1965+ print ( ptypes [i ], b'Ko' in ptypes [i ], b'*' in ptypes [i ] )
1966+ if b'Ko' in ptypes [i ] and b'*' in ptypes [i ]:
1967+ isSafe = False
1968+
19621969
1963- methDoc = methName + "(" + str (b',' .join ( [ ptypes [i ]+ b" " + pnames [i ] for i in range (0 ,meth .parameterCount ()) ] ), 'utf-8' ) + ")"
1970+ methDoc = ( '' if isSafe else '[UNSAFE]' ) + methName + "(" + str (b',' .join ( [ ptypes [i ]+ b" " + pnames [i ] for i in range (0 ,meth .parameterCount ()) ] ), 'utf-8' ) + ")"
19641971
19651972 methType = self .caller .METHOD_ACCESS [int (meth .access ())] + " " + self .caller .METHOD_TYPES [int (meth .methodType ())]
19661973
@@ -1981,6 +1988,7 @@ def addSignalItem(self, obj, meta, i, inheritsFrom, prepend=''):
19811988 'doc' : methDoc ,
19821989 'active' :1 ,
19831990 'used' :False ,
1991+ 'safe' :isSafe ,
19841992 'code' :'' ,
19851993 'item' :[
19861994 QStandardItem ( Krita .instance ().icon ('visible' ), '' ),
@@ -2031,18 +2039,19 @@ def start(self):
20312039
20322040
20332041 for methName in self .signalsDict ['current' ]:
2034- #print ("MM", methName)
2035- #self.signalsDict['current'][methName]['obj'].pyqtConfigure(**{ methName: self.signalsDict['current'][methName]['method']})
2036- #QObject.connect(self.signalsDict['current'][methName]['obj'],QtCore.SIGNAL(self.signalsDict['current'][methName]['doc']),self.signalsDict['current'][methName]['method'])
2037-
2038- #look into this way
2039- #>>>>getattr(self.signalsDict['current'][methName]['obj'],methName)[**self.signalsDict['current'][methName]['params']].connect(self.signalsDict['current'][methName]['method'])
2040-
2041- meth = getattr (self .signalsDict ['current' ][methName ]['obj' ],methName )
2042- if isinstance (meth ,type (pyqtBoundSignal ())) or isinstance (meth ,type (pyqtSignal ())):
2043- meth .connect (self .signalsDict ['current' ][methName ]['method' ])
2044- else :
2045- self .signalsDict ['current' ][methName ]['item' ][0 ].setData (QBrush (Qt .darkRed ), Qt .BackgroundRole )
2042+ if self .signalsDict ['current' ][methName ]['safe' ]:
2043+ print ("MM" , methName , self .signalsDict ['current' ][methName ] )
2044+ #self.signalsDict['current'][methName]['obj'].pyqtConfigure(**{ methName: self.signalsDict['current'][methName]['method']})
2045+ #QObject.connect(self.signalsDict['current'][methName]['obj'],QtCore.SIGNAL(self.signalsDict['current'][methName]['doc']),self.signalsDict['current'][methName]['method'])
2046+
2047+ #look into this way
2048+ #>>>>getattr(self.signalsDict['current'][methName]['obj'],methName)[**self.signalsDict['current'][methName]['params']].connect(self.signalsDict['current'][methName]['method'])
2049+
2050+ meth = getattr (self .signalsDict ['current' ][methName ]['obj' ],methName )
2051+ if isinstance (meth ,type (pyqtBoundSignal ())) or isinstance (meth ,type (pyqtSignal ())):
2052+ meth .connect (self .signalsDict ['current' ][methName ]['method' ])
2053+ else :
2054+ self .signalsDict ['current' ][methName ]['item' ][0 ].setData (QBrush (Qt .darkRed ), Qt .BackgroundRole )
20462055
20472056
20482057 if self .centralWidget .eventFilterTypeCmb .currentIndex () == 0 :
@@ -2062,7 +2071,7 @@ def stop(self):
20622071
20632072
20642073 for methName in self .signalsDict ['current' ]:
2065- if not sip .isdeleted (self .signalsDict ['current' ][methName ]['obj' ]):
2074+ if self . signalsDict [ 'current' ][ methName ][ 'safe' ] and not sip .isdeleted (self .signalsDict ['current' ][methName ]['obj' ]):
20662075 meth = getattr (self .signalsDict ['current' ][methName ]['obj' ],methName )
20672076 if isinstance (meth ,type (pyqtBoundSignal ())) or isinstance (meth ,type (pyqtSignal ())):
20682077 meth .disconnect (self .signalsDict ['current' ][methName ]['method' ])
0 commit comments