# Path: fofix/core/Language.py
# def getAvailableLanguages():


from functools import total_ordering
from fofix.game.song import difficulties, parts
from fofix.core.Language import _
from fofix.core import Config



@total_ordering
class ConfigOption:
    def __init__(self, id, text):
        self.id   = id
        self.text = text

    def __str__(self):
        return self.text

    def __repr__(self):
        return self.text

    def __eq__(self, other):
        return self.id == other.id

    def __lt__(self, other):
        return self.id < other.id


def sortOptionsByKey(opts):
    """ Sort options dictionary by keys. """
    a = {}
    for k, v in opts.items():
        a[k] = ConfigOption(k, v)
    return a

# define configuration keys

# Path: fofix/core/Language.py
# def getAvailableLanguages():


# Path: fofix/core/ConfigDefs.py
from functools import total_ordering
from fofix.game.song import difficulties, parts
from fofix.core.Language import _
from fofix.core import Config




@total_ordering
class ConfigOption:
    def __init__(self, id, text):
        self.id   = id
        self.text = text

    def __str__(self):
        return self.text

    def __repr__(self):
        return self.text

    def __eq__(self, other):
        return self.id == other.id

    def __lt__(self, other):
        return self.id < other.id


def sortOptionsByKey(opts):
    """ Sort options dictionary by keys. """
    a = {}
    for k, v in opts.items():
        a[k] = ConfigOption(k, v)
    return a

# define configuration keys

Config.define("engine", "highpriority", bool,  False, text = _("FPS Limiter"),           options = {False: _("On (Set Below)"), True: _("Off (Auto Max FPS)")}, tipText = _("Use this to enable or disable the FPS Limiter. If off, the game will render as many frames as possible. (This is affected by the 'Performance' quickset)"))