# This file is part of Fusion-icon. # Fusion-icon is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # Fusion-icon is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Author(s): crdlb, nesl247 # # Copyright 2007 Christopher Williams import sys from util import env import start interfaces={ 'gtk': 'GTK', 'qt4': 'Qt4', 'qt3': 'Qt3', } def import_interface(interface): try: if interface in interfaces: print(' * Using the', interfaces[interface], 'Interface') __import__('FusionIcon.interface_%s' %interface) else: print(' *** Error: "%s" interface is invalid, this should not happen' %interface) raise SystemExit except ImportError as e: if [i for i in interfaces if 'interface_%s' %i in str(e)]: print(' * Interface not installed') else: print(' *', e) #doesn't work so remove it from the dict del interfaces[interface] if interfaces: print(' ... Trying another interface') choose_interface() else: print(' *** Error: All interfaces failed, aborting!') raise SystemExit def choose_interface(try_first=None): chosen_interface = None # handle explicit choice first if try_first: if try_first in interfaces: chosen_interface = try_first else: raise SystemExit(' *** Error: No such interface: %s' %try_first) else: # gtk for everybody for now # use qt for kde; gtk for everything else: # if 'qt4' in interfaces and env.desktop == 'kde': # chosen_interface = 'qt4' # elif 'qt3' in interfaces and env.desktop == 'kde': # chosen_interface = 'qt3' if 'gtk' in interfaces: chosen_interface = 'gtk' # try qt* for non-kde: elif 'qt4' in interfaces: chosen_interface = 'qt4' elif 'qt3' in interfaces: chosen_interface = 'qt3' # interfaces is empty else: raise SystemExit(' *** no available interfaces, this should not happen') import_interface(chosen_interface)