Skip to content

Commit

Permalink
Added QtIFW component enabling functions.
Browse files Browse the repository at this point in the history
  • Loading branch information
BuvinJ committed Jan 13, 2021
1 parent 007f54f commit 0da2fda
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 10 deletions.
49 changes: 41 additions & 8 deletions distbuilder/qt_installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -883,6 +883,9 @@ class _QtIfwScript:

__IS_COMPONENT_INSTALLED = 'isComponentInstalled( %s )'
__IS_COMPONENT_SELECTED = 'isComponentSelected( %s )'
__IS_COMPONENT_ENABLED = 'isComponentEnabled( %s )'

__ENABLE_COMPONENT = 'enableComponent( %s, %s )'

__VALUE_TMPL = "installer.value( %s, %s )"
__VALUE_LIST_TMPL = "installer.values( %s, %s )"
Expand Down Expand Up @@ -1449,30 +1452,51 @@ def isComponentInstalled( package, isAutoQuote=True ):
return _QtIfwScript.__IS_COMPONENT_INSTALLED % (
_QtIfwScript._autoQuote( name, isAutoQuote ),)

@staticmethod
def ifComponentInstalled( package, isNegated=False,
isAutoQuote=True, isMultiLine=False ):
name = package.name if isinstance( package, QtIfwPackage ) else package
return 'if( %s%s )%s\n%s' % (
"!" if isNegated else "",
_QtIfwScript.isComponentInstalled( name, isAutoQuote ),
("{" if isMultiLine else ""), (2*_QtIfwScript.TAB) )

@staticmethod
def isComponentSelected( package, isAutoQuote=True ):
name = package.name if isinstance( package, QtIfwPackage ) else package
return _QtIfwScript.__IS_COMPONENT_SELECTED % (
_QtIfwScript._autoQuote( name, isAutoQuote ),)

@staticmethod
def ifComponentInstalled( package, isNegated=False,
def ifComponentSelected( package, isNegated=False,
isAutoQuote=True, isMultiLine=False ):
name = package.name if isinstance( package, QtIfwPackage ) else package
name = package.name if isinstance( package, QtIfwPackage ) else package
return 'if( %s%s )%s\n%s' % (
"!" if isNegated else "",
_QtIfwScript.isComponentInstalled( name, isAutoQuote ),
_QtIfwScript.isComponentSelected( name, isAutoQuote ),
("{" if isMultiLine else ""), (2*_QtIfwScript.TAB) )

@staticmethod
def isComponentEnabled( package, isAutoQuote=True ):
name = package.name if isinstance( package, QtIfwPackage ) else package
return _QtIfwScript.__IS_COMPONENT_ENABLED % (
_QtIfwScript._autoQuote( name, isAutoQuote ),)

@staticmethod
def ifComponentSelected( package, isNegated=False,
def ifComponentEnabled( package, isNegated=False,
isAutoQuote=True, isMultiLine=False ):
name = package.name if isinstance( package, QtIfwPackage ) else package
return 'if( %s%s )%s\n%s' % (
"!" if isNegated else "",
_QtIfwScript.isComponentSelected( name, isAutoQuote ),
_QtIfwScript.isComponentEnabled( name, isAutoQuote ),
("{" if isMultiLine else ""), (2*_QtIfwScript.TAB) )


@staticmethod
def enableComponent( package, enable=True, isAutoQuote=True ):
name = package.name if isinstance( package, QtIfwPackage ) else package
return _QtIfwScript.__ENABLE_COMPONENT % (
_QtIfwScript._autoQuote( name, isAutoQuote ),
_QtIfwScript.toBool( enable ) )

if IS_WINDOWS:

Expand Down Expand Up @@ -2257,12 +2281,21 @@ def _genLib( self ):
TAB + 'try{ return getComponent( name ).installed; }' + NEW +
TAB + 'catch(e){ console.log("Component not found: " + name ); }' + NEW +
TAB + 'return false' + END +
EBLK + NEW +
EBLK + NEW +
'function isComponentEnabled( name ) ' + SBLK +
TAB + 'try{ return getComponent( name ).enabled; }' + NEW +
TAB + 'catch(e){ console.log("Component not found: " + name ); }' + NEW +
TAB + 'return false' + END +
EBLK + NEW +
'function enableComponent( name, isEnable ) ' + SBLK +
TAB + 'try{ getComponent( name ).enabled =( isEnable==null ? false : isEnable ); }' + NEW +
TAB + 'catch(e){ console.log("Component not found: " + name ); }' + NEW +
EBLK + NEW +
'function isComponentSelected( name ) ' + SBLK +
TAB + 'try{ return getComponent( name ).installationRequested(); }' + NEW +
TAB + 'catch(e){ console.log("Component not found: " + name ); }' + NEW +
TAB + 'return false' + END +
EBLK + NEW +
EBLK + NEW +
'function getPageOwner( pageName ) ' + SBLK +
TAB + 'var comps=installer.components()' + END +
TAB + 'for( i=0; i < comps.length; i++ ) ' + SBLK +
Expand Down
10 changes: 8 additions & 2 deletions docs/LowLevel.md
Original file line number Diff line number Diff line change
Expand Up @@ -608,11 +608,15 @@ Static Functions:
package parameters here can be passed as QtIfwPackage,
or the name of such as raw string ...>
isComponentInstalled( package )
isComponentSelected( package )
ifComponentInstalled( package, isNegated=False,
isAutoQuote=True, isMultiLine=False )
isComponentSelected( package )
ifComponentSelected( package, isNegated=False,
isAutoQuote=True, isMultiLine=False )
isAutoQuote=True, isMultiLine=False )
isComponentEnabled( package, isAutoQuote=True )
ifComponentEnabled( package, isNegated=False,
isAutoQuote=True, isMultiLine=False )
enableComponent( package, enable=True, isAutoQuote=True )

debugPopup( msg, isAutoQuote=True )
errorPopup( msg, isAutoQuote=True )
Expand Down Expand Up @@ -856,6 +860,8 @@ following add-on **QT SCRIPT** functions:
getComponent( name ) <throws on invalid name, or in any uninstall context>
isComponentInstalled( name )
isComponentSelected( name )
isComponentEnabled( name )
enableComponent( name, enable[=true] )

getPageOwner( pageName ) <throws on invalid name>

Expand Down

0 comments on commit 0da2fda

Please sign in to comment.