@ -98,37 +98,22 @@ class StatusBarButton(QPushButton):
default_column_widths = { " history " : [ 40 , 140 , 350 , 140 ] , " contacts " : [ 350 , 330 ] , " receive " : [ 370 , 200 , 130 ] }
class ElectrumWindow ( QMainWindow ) :
def changeEvent ( self , event ) :
flags = self . windowFlags ( ) ;
if event and event . type ( ) == QtCore . QEvent . WindowStateChange :
if self . windowState ( ) & QtCore . Qt . WindowMinimized :
self . build_menu ( True )
# The only way to toggle the icon in the window managers taskbar is to use the Qt.Tooltip flag
# The problem is that it somehow creates an (in)visible window that will stay active and prevent
# Electrum from closing.
# As for now I have no clue how to implement a proper 'hide to tray' functionality.
# self.setWindowFlags(flags & ~Qt.ToolTip)
elif event . oldState ( ) & QtCore . Qt . WindowMinimized :
self . build_menu ( False )
#self.setWindowFlags(flags | Qt.ToolTip)
def build_menu ( self , is_hidden = False ) :
def build_menu ( self ) :
m = QMenu ( )
if self . isMinimized ( ) :
m . addAction ( _ ( " Show " ) , self . showNormal )
else :
m . addAction ( _ ( " Hide " ) , self . showMinimized )
m . addAction ( _ ( " Show/Hide " ) , self . show_or_hide )
m . addSeparator ( )
m . addAction ( _ ( " Exit Electrum " ) , self . close )
self . tray . setContextMenu ( m )
def show_or_hide ( self ) :
self . tray_activated ( QSystemTrayIcon . DoubleClick )
def tray_activated ( self , reason ) :
if reason == QSystemTrayIcon . DoubleClick :
self . showNormal ( )
def showNormal ( self ) :
self . setWindowState ( self . windowState ( ) & ~ QtCore . Qt . WindowMinimized | QtCore . Qt . WindowActive )
if self . isMinimized ( ) or self . isHidden ( ) :
self . show ( )
else :
self . hide ( )
def __init__ ( self , config , network ) :
QMainWindow . __init__ ( self )