beremiz

fix splash loading with wx3.0

2016-04-20, Andrey Skvortsov
9c22ff9c8c06
fix splash loading with wx3.0

Previously only gray square was shown. Apparently to show splash screen several calls of wx.Yield() are necessary.
Unfortunately splash.IsShowOnScreen() returns always 1 regardless of whether splash is on the screen or not.
this fix is a dirty hack. It just process all events after splash is created during 0.3 seconds.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import wx
# Get the default language
langid = wx.LANGUAGE_DEFAULT
# Define locale for wx
locale = wx.Locale(langid)
def GetDomain(path):
for name in os.listdir(path):
filepath = os.path.join(path, name)
basename, fileext = os.path.splitext(name)
if os.path.isdir(filepath):
result = GetDomain(filepath)
if result is not None:
return result
elif fileext == ".mo":
return basename
return None
def AddCatalog(locale_dir):
if os.path.exists(locale_dir) and os.path.isdir(locale_dir):
domain = GetDomain(locale_dir)
if domain is not None:
locale.AddCatalogLookupPathPrefix(locale_dir)
locale.AddCatalog(domain)