class RoamApp(object): def __init__(self, sysargv, apppath, prefixpath, settingspath, libspath, i18npath, projectsroot): self.sysargv = sysargv self.apppath = apppath self.prefixpath = prefixpath self.settingspath = settingspath self.libspath = libspath self.i18npath = i18npath self.app = None self.translationFile = None self.projectsroot = projectsroot self._oldhook = sys.excepthook def init(self, logo, title): from qgis.core import QgsApplication from PyQt4.QtGui import QApplication, QFont, QIcon from PyQt4.QtCore import QLocale, QTranslator try: import PyQt4.QtSql except ImportError: pass self.app = QgsApplication(self.sysargv, True) import roam.roam_style self.app.setStyleSheet(roam.roam_style.appstyle) QgsApplication.setPrefixPath(self.prefixpath, True) QgsApplication.initQgis() locale = QLocale.system().name() self.translationFile = os.path.join(self.i18npath, '{0}.qm'.format(locale)) translator = QTranslator() translator.load(self.translationFile, "i18n") self.app.installTranslator(translator) QApplication.setStyle("Plastique") QApplication.setFont(QFont('Segoe UI')) QApplication.setWindowIcon(QIcon(logo)) QApplication.setApplicationName(title) import roam.editorwidgets.core roam.editorwidgets.core.registerallwidgets() return self def set_error_handler(self, errorhandler, logger): sys.excepthook = functools.partial(self.excepthook, errorhandler) self.logger = logger def excepthook(self, errorhandler, exctype, value, traceback): self.logger.error("Uncaught exception", exc_info=(exctype, value, traceback)) errorhandler(exctype, value, traceback) def exec_(self): self.app.exec_() def exit(self): sys.excepthook = self._oldhook from qgis.core import QgsApplication QgsApplication.exitQgis() QgsApplication.quit() def setActiveWindow(self, widget): self.app.setActiveWindow(widget) def dump_configinfo(self): from qgis.core import QgsApplication, QgsProviderRegistry from PyQt4.QtGui import QImageReader, QImageWriter import roam from qgis.core import QGis config = [] config.append("====Providers===") config.append(QgsProviderRegistry.instance().pluginList()) config.append("====Library paths===") config.append('\n'.join(QgsApplication.libraryPaths())) config.append("====Translation File===") config.append(self.translationFile) config.append("Roam Version: {}".format(roam.__version__)) config.append("QGIS Version: {}".format(str(QGis.QGIS_VERSION))) return '\n'.join(config)
class RoamApp(object): def __init__(self, sysargv, apppath, prefixpath, settingspath, libspath, i18npath, projectsroot): self.sysargv = sysargv self.apppath = apppath self.prefixpath = prefixpath self.settingspath = settingspath self.libspath = libspath self.i18npath = i18npath self.app = None self.translationFile = None self.projectsroot = projectsroot self._oldhook = sys.excepthook def init(self, logo, title): from qgis.core import QgsApplication from PyQt4.QtGui import QApplication, QFont, QIcon from PyQt4.QtCore import QLocale, QTranslator try: import PyQt4.QtSql except ImportError: pass self.app = QgsApplication(self.sysargv, True) import roam.roam_style self.app.setStyleSheet(roam.roam_style.appstyle) QgsApplication.setPrefixPath(self.prefixpath, True) QgsApplication.initQgis() locale = QLocale.system().name() self.translationFile = os.path.join(self.i18npath, '{0}.qm'.format(locale)) translator = QTranslator() translator.load(self.translationFile, "i18n") self.app.installTranslator(translator) QApplication.setStyle("Plastique") QApplication.setFont(QFont('Segoe UI')) QApplication.setWindowIcon(QIcon(':/branding/logo')) QApplication.setApplicationName("IntraMaps Roam Config Manager") import roam.editorwidgets.core roam.editorwidgets.core.registerallwidgets() return self def set_error_handler(self, errorhandler, logger): sys.excepthook = functools.partial(self.excepthook, errorhandler) self.logger = logger def excepthook(self, errorhandler, exctype, value, traceback): self.logger.error("Uncaught exception", exc_info=(exctype, value, traceback)) errorhandler(exctype, value, traceback) def exec_(self): self.app.exec_() def exit(self): sys.excepthook = self._oldhook from qgis.core import QgsApplication QgsApplication.exitQgis() QgsApplication.quit() def setActiveWindow(self, widget): self.app.setActiveWindow(widget) def dump_configinfo(self): from qgis.core import QgsApplication, QgsProviderRegistry from PyQt4.QtGui import QImageReader, QImageWriter import roam from qgis.core import QGis config = [] config.append("====Providers===") config.append(QgsProviderRegistry.instance().pluginList()) config.append("====Library paths===") config.append('\n'.join(QgsApplication.libraryPaths())) config.append("====Translation File===") config.append(self.translationFile) config.append("Roam Version: {}".format(roam.__version__)) config.append("QGIS Version: {}".format(str(QGis.QGIS_VERSION))) return '\n'.join(config)