コード例 #1
0
ファイル: settings.py プロジェクト: arlsr/ninja-ide
def load_settings():
    qsettings = QSettings(resources.SETTINGS_PATH, QSettings.IniFormat)
    data_qsettings = QSettings(resources.DATA_SETTINGS_PATH,
                               QSettings.IniFormat)
    #Globals
    global TOOLBAR_AREA
    global LANGUAGE
    global SHOW_START_PAGE
    global CONFIRM_EXIT
    global UI_LAYOUT
    global PYTHON_EXEC
    global PYTHON_EXEC_CONFIGURED_BY_USER
    global SESSIONS
    global NINJA_SKIN
    global EXECUTION_OPTIONS
    global SUPPORTED_EXTENSIONS
    global WORKSPACE
    global INDENT
    global USE_PLATFORM_END_OF_LINE
    global MARGIN_LINE
    global REMOVE_TRAILING_SPACES
    global SHOW_TABS_AND_SPACES
    global USE_TABS
    global ALLOW_WORD_WRAP
    global COMPLETE_DECLARATIONS
    global UNDERLINE_NOT_BACKGROUND
    global FONT
    global SHOW_MARGIN_LINE
    global FIND_ERRORS
    global ERRORS_HIGHLIGHT_LINE
    global CHECK_STYLE
    global CHECK_HIGHLIGHT_LINE
    global SHOW_MIGRATION_TIPS
    global CODE_COMPLETION
    global CENTER_ON_SCROLL
    global SHOW_PROJECT_EXPLORER
    global SHOW_SYMBOLS_LIST
    global SHOW_WEB_INSPECTOR
    global SHOW_ERRORS_LIST
    global SHOW_MIGRATION_LIST
    global BOOKMARKS
    global CHECK_FOR_DOCSTRINGS
    global BREAKPOINTS
    global BRACES
    global HIDE_TOOLBAR
    global SHOW_STATUS_NOTIFICATIONS
    global TOOLBAR_ITEMS
    global SHOW_MINIMAP
    global MINIMAP_MAX_OPACITY
    global MINIMAP_MIN_OPACITY
    global SIZE_PROPORTION
    global NOTIFICATION_POSITION
    global NOTIFICATION_COLOR
    global LAST_CLEAN_LOCATOR
    #General
    HIDE_TOOLBAR = qsettings.value("window/hide_toolbar", False, type=bool)
    SHOW_STATUS_NOTIFICATIONS = qsettings.value(
        "preferences/interface/showStatusNotifications", True, type=bool)
    TOOLBAR_AREA = qsettings.value('preferences/general/toolbarArea', 1,
                                   type=int)
    LANGUAGE = qsettings.value('preferences/interface/language', '',
                               type='QString')
    SHOW_START_PAGE = qsettings.value(
        'preferences/general/showStartPage', True, type=bool)
    CONFIRM_EXIT = qsettings.value('preferences/general/confirmExit',
                                   True, type=bool)
    UI_LAYOUT = qsettings.value('preferences/interface/uiLayout', 0, type=int)
    PYTHON_EXEC = qsettings.value('preferences/execution/pythonExec',
                                  'python', type='QString')
    PYTHON_EXEC_CONFIGURED_BY_USER = qsettings.value(
        'preferences/execution/pythonExecConfigured', False, type=bool)
    NINJA_SKIN = qsettings.value('preferences/theme/skin',
                                 'Default', type='QString')
    sessionDict = dict(data_qsettings.value('ide/sessions', {}))
    for key in sessionDict:
        session_list = list(sessionDict[key])
        files = []
        if session_list:
            files = [item for item in tuple(session_list[0])]
        tempFiles = []
        for file_ in files:
            fileData = tuple(file_)
            if len(fileData) > 0:
                tempFiles.append([fileData[0], int(fileData[1]), fileData[2]])
        files = tempFiles
        projects = []
        if len(session_list) > 1:
            projects = [item for item in tuple(session_list[1])]
        SESSIONS[key] = [files, projects]
    #TODO
    #toolbar_items = [item for item in list(qsettings.value(
        #'preferences/interface/toolbar', []))]
    #if toolbar_items:
        #TOOLBAR_ITEMS = toolbar_items
    #EXECUTION OPTIONS
    EXECUTION_OPTIONS = qsettings.value(
        'preferences/execution/executionOptions',
        defaultValue='', type='QString')
    extensions = [item for item in tuple(qsettings.value(
        'preferences/general/supportedExtensions', []))]
    if extensions:
        SUPPORTED_EXTENSIONS = extensions
    WORKSPACE = qsettings.value(
        'preferences/general/workspace', "", type='QString')
    #Editor
    SHOW_MINIMAP = qsettings.value(
        'preferences/editor/minimapShow', False, type=bool)
    MINIMAP_MAX_OPACITY = float(qsettings.value(
        'preferences/editor/minimapMaxOpacity', 0.8, type=float))
    MINIMAP_MIN_OPACITY = float(qsettings.value(
        'preferences/editor/minimapMinOpacity', 0.1, type=float))
    SIZE_PROPORTION = float(qsettings.value(
        'preferences/editor/minimapSizeProportion', 0.17, type=float))
    INDENT = int(qsettings.value('preferences/editor/indent', 4, type=int))

    USE_PLATFORM_END_OF_LINE = qsettings.value(
        'preferences/editor/platformEndOfLine', False, type=bool)
    MARGIN_LINE = qsettings.value('preferences/editor/marginLine', 80,
                                  type=int)
    pep8mod_update_margin_line_length(MARGIN_LINE)
    REMOVE_TRAILING_SPACES = qsettings.value(
        'preferences/editor/removeTrailingSpaces', True, type=bool)
    SHOW_TABS_AND_SPACES = qsettings.value(
        'preferences/editor/showTabsAndSpaces', True, type=bool)
    USE_TABS = qsettings.value('preferences/editor/useTabs', False, type=bool)
    if USE_TABS:
        pep8mod_add_ignore("W191")
        pep8mod_refresh_checks()
    ALLOW_WORD_WRAP = qsettings.value(
        'preferences/editor/allowWordWrap', False, type=bool)
    COMPLETE_DECLARATIONS = qsettings.value(
        'preferences/editor/completeDeclarations', True, type=bool)
    UNDERLINE_NOT_BACKGROUND = qsettings.value(
        'preferences/editor/errorsUnderlineBackground', True, type=bool)
    font = qsettings.value('preferences/editor/font', None)
    if font:
        FONT = font
    SHOW_MARGIN_LINE = qsettings.value(
        'preferences/editor/showMarginLine', True, type=bool)
    FIND_ERRORS = qsettings.value('preferences/editor/errors', True, type=bool)
    SHOW_MIGRATION_TIPS = qsettings.value(
        'preferences/editor/showMigrationTips', True, type=bool)
    ERRORS_HIGHLIGHT_LINE = qsettings.value(
        'preferences/editor/errorsInLine', True, type=bool)
    CHECK_STYLE = qsettings.value('preferences/editor/checkStyle',
                                  True, type=bool)
    CHECK_HIGHLIGHT_LINE = qsettings.value(
        'preferences/editor/checkStyleInline', True, type=bool)
    CODE_COMPLETION = qsettings.value(
        'preferences/editor/codeCompletion', True, type=bool)
    CENTER_ON_SCROLL = qsettings.value(
        'preferences/editor/centerOnScroll', True, type=bool)
    parentheses = qsettings.value('preferences/editor/parentheses', True,
                                  type=bool)
    if not parentheses:
        del BRACES['(']
    brackets = qsettings.value('preferences/editor/brackets', True, type=bool)
    if not brackets:
        del BRACES['[']
    keys = qsettings.value('preferences/editor/keys', True, type=bool)
    if not keys:
        del BRACES['{']
    simpleQuotes = qsettings.value('preferences/editor/simpleQuotes',
                                   True, type=bool)
    if not simpleQuotes:
        del QUOTES["'"]
    doubleQuotes = qsettings.value('preferences/editor/doubleQuotes',
                                   True, type=bool)
    if not doubleQuotes:
        del QUOTES['"']
    #Projects
    SHOW_PROJECT_EXPLORER = qsettings.value(
        'preferences/interface/showProjectExplorer', True, type=bool)
    SHOW_SYMBOLS_LIST = qsettings.value(
        'preferences/interface/showSymbolsList', True, type=bool)
    SHOW_WEB_INSPECTOR = qsettings.value(
        'preferences/interface/showWebInspector', False, type=bool)
    SHOW_ERRORS_LIST = qsettings.value(
        'preferences/interface/showErrorsList', False, type=bool)
    SHOW_MIGRATION_LIST = qsettings.value(
        'preferences/interface/showMigrationList', True, type=bool)
    #Bookmarks and Breakpoints
    bookmarks = dict(qsettings.value('preferences/editor/bookmarks', {}))
    for key in bookmarks:
        if key:
            BOOKMARKS[key] = [int(i) for i in tuple(bookmarks[key])]
    breakpoints = dict(qsettings.value('preferences/editor/breakpoints', {}))
    for key in breakpoints:
        if key:
            BREAKPOINTS[key] = [int(i) for i in tuple(breakpoints[key])]
    # Checkers
    CHECK_FOR_DOCSTRINGS = qsettings.value(
        'preferences/editor/checkForDocstrings', False, type=bool)
    NOTIFICATION_POSITION = qsettings.value(
        'preferences/general/notification_position', 0, type=int)
    NOTIFICATION_COLOR = qsettings.value(
        'preferences/general/notification_color', "#000", type='QString')
    LAST_CLEAN_LOCATOR = qsettings.value(
        'preferences/general/cleanLocator', None)
    from ninja_ide.extensions import handlers
    handlers.init_basic_handlers()
    clean_locator_db(qsettings)
コード例 #2
0
ファイル: settings.py プロジェクト: opt9/ninja-ide
def load_settings():
    qsettings = QSettings(resources.SETTINGS_PATH, QSettings.IniFormat)
    data_qsettings = QSettings(resources.DATA_SETTINGS_PATH,
                               QSettings.IniFormat)
    # Globals
    # global TOOLBAR_AREA
    # global LANGUAGE
    # global SHOW_START_PAGE
    # global CONFIRM_EXIT
    # global UI_LAYOUT
    global PYTHON_EXEC
    global EXECUTION_OPTIONS
    global SWAP_FILE
    global SWAP_FILE_INTERVAL
    # global PYTHON_EXEC_CONFIGURED_BY_USER
    # global SESSIONS
    global NINJA_SKIN
    # global SUPPORTED_EXTENSIONS
    global WORKSPACE
    global INDENT
    global USE_PLATFORM_END_OF_LINE
    # global REMOVE_TRAILING_SPACES
    # global ADD_NEW_LINE_AT_EOF
    # global HIDE_MOUSE_CURSOR
    # global SCROLL_WHEEL_ZOMMING
    # global SHOW_TABS_AND_SPACES
    global USE_TABS
    global ALLOW_WORD_WRAP
    # global COMPLETE_DECLARATIONS
    # global UNDERLINE_NOT_BACKGROUND
    global FONT
    global FONT_ANTIALIASING
    global MARGIN_LINE
    global SHOW_MARGIN_LINE
    global MARGIN_LINE_BACKGROUND
    global SHOW_INDENTATION_GUIDES
    # global IGNORE_PEP8_LIST
    # global ERRORS_HIGHLIGHT_LINE
    global FIND_ERRORS
    global CHECK_STYLE
    # global CHECK_HIGHLIGHT_LINE
    # global SHOW_MIGRATION_TIPS
    # global CODE_COMPLETION
    # global END_AT_LAST_LINE
    # global SHOW_PROJECT_EXPLORER
    # global SHOW_SYMBOLS_LIST
    global SHOW_WEB_INSPECTOR
    global SHOW_ERRORS_LIST
    # global SHOW_MIGRATION_LIST
    # global BOOKMARKS
    # global CHECK_FOR_DOCSTRINGS
    # global BREAKPOINTS
    # global BRACES
    global HIDE_TOOLBAR
    global AUTOCOMPLETE_BRACKETS
    global AUTOCOMPLETE_QUOTES
    # global TOOLBAR_ITEMS
    # global SHOW_MINIMAP
    # global MINIMAP_MAX_OPACITY
    # global MINIMAP_MIN_OPACITY
    # global SIZE_PROPORTION
    # global SHOW_DOCMAP
    # global DOCMAP_SLIDER
    # global EDITOR_SCROLLBAR
    # global DOCMAP_WIDTH
    # global DOCMAP_CURRENT_LINE
    # global DOCMAP_SEARCH_LINES
    # global NOTIFICATION_POSITION
    global NOTIFICATION_ON_SAVE
    # global NOTIFICATION_COLOR
    global LAST_CLEAN_LOCATOR
    global SHOW_LINE_NUMBERS
    global SHOW_TEXT_CHANGES
    global RELOAD_FILE
    global CUSTOM_SCREEN_RESOLUTION
    global HDPI
    global HIGHLIGHT_CURRENT_LINE
    global HIGHLIGHT_CURRENT_LINE_MODE
    global BRACE_MATCHING
    global EDITOR_SCHEME
    # General
    HIDE_TOOLBAR = qsettings.value("window/hide_toolbar", False, type=bool)
    # TOOLBAR_AREA = qsettings.value('preferences/general/toolbarArea', 1,
    #                               type=int)
    # LANGUAGE = qsettings.value('preferences/interface/language', '',
    #                           type='QString')
    # SHOW_START_PAGE = qsettings.value(
    #    'preferences/general/showStartPage', True, type=bool)
    # CONFIRM_EXIT = qsettings.value('preferences/general/confirmExit',
    #                               True, type=bool)
    # UI_LAYOUT = qsettings.value('preferences/interface/uiLayout', 0, type=int)
    PYTHON_EXEC = qsettings.value('execution/pythonExec',
                                  sys.executable,
                                  type='QString')
    # PYTHON_EXEC_CONFIGURED_BY_USER = qsettings.value(
    #    'preferences/execution/pythonExecConfigured', False, type=bool)
    SWAP_FILE = qsettings.value("ide/swapFile", 1, type=int)
    SWAP_FILE_INTERVAL = qsettings.value("ide/swapFileInterval", 15, type=int)

    NINJA_SKIN = qsettings.value("ide/interface/skin", "Dark", type=str)
    # sessionDict = dict(data_qsettings.value('ide/sessions', {}))
    RELOAD_FILE = qsettings.value("ide/reloadSetting", 0, type=int)
    CUSTOM_SCREEN_RESOLUTION = qsettings.value(
        "ide/interface/customScreenResolution", "", type=str)
    HDPI = qsettings.value("ide/interface/autoHdpi", False, type=bool)
    # Fix later
    # try:
    # for key in sessionDict:
    #    session_list = sessionDict[key]
    #    files = []
    #    if session_list:
    #        files = [item for item in session_list[0]]
    #    temp_files = []
    #    for file_ in files:
    #        file_data = file_
    #        if len(file_data) > 0:
    #            temp_files.append((file_data[0], file_data[1], file_data[2]))
    #    files = temp_files
    #    projects = []
    #    if len(session_list) > 1:
    #        projects = [item for item in session_list[1]]
    #    SESSIONS[key] = (files, projects)
    # TODO
    # toolbar_items = [item for item in list(qsettings.value(
    # 'preferences/interface/toolbar', []))]
    # if toolbar_items:
    # TOOLBAR_ITEMS = toolbar_items
    # EXECUTION OPTIONS
    EXECUTION_OPTIONS = qsettings.value('execution/executionOptions',
                                        defaultValue='',
                                        type=str)
    # extensions = [item for item in tuple(qsettings.value(
    #    'preferences/general/supportedExtensions', []))]
    # if extensions:
    #    SUPPORTED_EXTENSIONS = extensions
    WORKSPACE = qsettings.value("ide/workspace", "", type=str)
    # Editor
    # SHOW_MINIMAP = qsettings.value(
    #    'preferences/editor/minimapShow', False, type=bool)
    # MINIMAP_MAX_OPACITY = float(qsettings.value(
    #    'preferences/editor/minimapMaxOpacity', 0.8, type=float))
    # MINIMAP_MIN_OPACITY = float(qsettings.value(
    #    'preferences/editor/minimapMinOpacity', 0.1, type=float))
    # SIZE_PROPORTION = float(qsettings.value(
    #    'preferences/editor/minimapSizeProportion', 0.17, type=float))
    # SHOW_DOCMAP = qsettings.value(
    #    'preferences/editor/docmapShow', True, type=bool)
    # DOCMAP_SLIDER = qsettings.value(
    #    'preferences/editor/docmapSlider', False, type=bool)
    # EDITOR_SCROLLBAR = qsettings.value(
    #    'preferences/editor/editorScrollBar', True, type=bool)
    # DOCMAP_WIDTH = int(qsettings.value(
    #    'preferences/editor/docmapWidth', 15, type=int))
    HIGHLIGHT_CURRENT_LINE = qsettings.value(
        'editor/display/highlightCurrentLine', True, type=bool)
    HIGHLIGHT_CURRENT_LINE_MODE = qsettings.value(
        "editor/display/current_line_mode", 1, type=int)
    BRACE_MATCHING = qsettings.value("editor/display/brace_matching",
                                     True,
                                     type=bool)
    # DOCMAP_SEARCH_LINES = qsettings.value(
    #    'preferences/editor/docmapSearchLines', True, type=bool)
    INDENT = int(
        qsettings.value('editor/behavior/indentation_width', 4, type=int))

    USE_PLATFORM_END_OF_LINE = qsettings.value(
        'editor/general/platformEndOfLine', False, type=bool)
    SHOW_MARGIN_LINE = qsettings.value('editor/display/margin_line',
                                       True,
                                       type=bool)
    MARGIN_LINE = qsettings.value('editor/display/margin_line_position',
                                  79,
                                  type=int)
    MARGIN_LINE_BACKGROUND = qsettings.value(
        "editor/display/margin_line_background", False, type=bool)
    # FIXME:
    # pycodestylemod_update_margin_line_length(MARGIN_LINE)
    SHOW_LINE_NUMBERS = qsettings.value('editor/display/show_line_numbers',
                                        True,
                                        type=bool)
    SHOW_TEXT_CHANGES = qsettings.value("editor/display/show_text_changes",
                                        True,
                                        type=bool)
    EDITOR_SCHEME = qsettings.value("editor/general/scheme",
                                    "Ninja Dark",
                                    type=str)
    # REMOVE_TRAILING_SPACES = qsettings.value(
    #    'preferences/editor/removeTrailingSpaces', True, type=bool)
    # ADD_NEW_LINE_AT_EOF = qsettings.value(
    #    "preferences/editor/addNewLineAtEnd", True, type=bool)
    # SHOW_TABS_AND_SPACES = qsettings.value(
    #    'preferences/editor/show_whitespaces', False, type=bool)
    USE_TABS = qsettings.value('editor/behavior/use_tabs', False, type=bool)
    # HIDE_MOUSE_CURSOR = qsettings.value(
    #    "preferences/editor/hideMouseCursor", True, type=bool)
    # SCROLL_WHEEL_ZOMMING = qsettings.value(
    #    "preferences/editor/scrollWheelZomming", True, type=bool)
    # FIXME:
    # if USE_TABS:
    #    pycodestylemod_add_ignore("W191")
    #    pycodestylemod_refresh_checks()
    ALLOW_WORD_WRAP = qsettings.value('editor/display/allow_word_wrap',
                                      False,
                                      type=bool)
    # COMPLETE_DECLARATIONS = qsettings.value(
    #    'preferences/editor/completeDeclarations', True, type=bool)
    # UNDERLINE_NOT_BACKGROUND = qsettings.value(
    #    'preferences/editor/errorsUnderlineBackground', True, type=bool)
    font = qsettings.value('editor/general/default_font', None)
    if font:
        FONT = font
    FONT_ANTIALIASING = qsettings.value("editor/general/font_antialiasing",
                                        True,
                                        type=bool)
    SHOW_INDENTATION_GUIDES = qsettings.value(
        "editor/display/show_indentation_guides", True, type=bool)
    # IGNORE_PEP8_LIST = list(qsettings.value(
    #    'preferences/editor/defaultIgnorePep8', [], type='QStringList'))
    # FIXME:
    # for ignore_code in IGNORE_PEP8_LIST:
    #    pycodestylemod_add_ignore(ignore_code)
    FIND_ERRORS = qsettings.value("editor/display/check_errors",
                                  True,
                                  type=bool)
    # SHOW_MIGRATION_TIPS = qsettings.value(
    #    'preferences/editor/showMigrationTips', True, type=bool)
    # ERRORS_HIGHLIGHT_LINE = qsettings.value(
    #    'preferences/editor/errorsInLine', True, type=bool)
    CHECK_STYLE = qsettings.value('editor/display/check_style',
                                  True,
                                  type=bool)
    AUTOCOMPLETE_BRACKETS = qsettings.value(
        "editor/intellisense/autocomplete_brackets", True, type=bool)
    AUTOCOMPLETE_QUOTES = qsettings.value(
        "editor/intellisense/autocomplete_quotes", True, type=bool)
    # CHECK_HIGHLIGHT_LINE = qsettings.value(
    #    'preferences/editor/checkStyleInline', True, type=bool)
    # CODE_COMPLETION = qsettings.value(
    #    'preferences/editor/codeCompletion', True, type=bool)
    # END_AT_LAST_LINE = qsettings.value(
    #    'preferences/editor/endAtLastLine', True, type=bool)
    # parentheses = qsettings.value('preferences/editor/parentheses', True,
    #                              type=bool)
    # if not parentheses:
    #    del BRACES['(']
    # brackets = qsettings.value('preferences/editor/brackets', True, type=bool)
    # if not brackets:
    #    del BRACES['[']
    # keys = qsettings.value('preferences/editor/keys', True, type=bool)
    # if not keys:
    #    del BRACES['{']
    # simpleQuotes = qsettings.value('preferences/editor/simpleQuotes',
    #                               True, type=bool)
    # if not simpleQuotes:
    #    del QUOTES["'"]
    # doubleQuotes = qsettings.value('preferences/editor/doubleQuotes',
    #                               True, type=bool)
    # if not doubleQuotes:
    #    del QUOTES['"']
    # Projects
    # SHOW_PROJECT_EXPLORER = qsettings.value(
    #    'preferences/interface/showProjectExplorer', True, type=bool)
    # SHOW_SYMBOLS_LIST = qsettings.value(
    #    'preferences/interface/showSymbolsList', True, type=bool)
    SHOW_WEB_INSPECTOR = qsettings.value("interface/showWebInspector",
                                         False,
                                         type=bool)
    SHOW_ERRORS_LIST = qsettings.value("interface/showErrorsList",
                                       True,
                                       type=bool)
    # SHOW_MIGRATION_LIST = qsettings.value(
    #    'preferences/interface/showMigrationList', True, type=bool)
    # Bookmarks and Breakpoints
    # bookmarks = dict(qsettings.value('preferences/editor/bookmarks', {}))
    # for key in bookmarks:
    #    if key:
    #        BOOKMARKS[key] = [int(i) for i in tuple(bookmarks[key])]
    # breakpoints = dict(qsettings.value('preferences/editor/breakpoints', {}))
    # for key in breakpoints:
    #    if key:
    #         BREAKPOINTS[key] = [int(i) for i in tuple(breakpoints[key])]
    NOTIFICATION_ON_SAVE = qsettings.value("editor/general/notificate_on_save",
                                           True,
                                           type=bool)
    # Checkers
    # CHECK_FOR_DOCSTRINGS = qsettings.value(
    #    'preferences/editor/checkForDocstrings', False, type=bool)
    # NOTIFICATION_POSITION = qsettings.value(
    #    'interface/notification_position', 1, type=int)
    # NOTIFICATION_COLOR = qsettings.value(
    #    'preferences/general/notification_color', "#222", type='QString')
    LAST_CLEAN_LOCATOR = qsettings.value("ide/cleanLocator", None)
    from ninja_ide.extensions import handlers
    handlers.init_basic_handlers()
    clean_locator_db(qsettings)
コード例 #3
0
ファイル: settings.py プロジェクト: ninja-ide/ninja-ide
def load_settings():
    qsettings = QSettings(resources.SETTINGS_PATH, QSettings.IniFormat)
    data_qsettings = QSettings(resources.DATA_SETTINGS_PATH,
                               QSettings.IniFormat)
    # Globals
    # global TOOLBAR_AREA
    # global LANGUAGE
    # global SHOW_START_PAGE
    # global CONFIRM_EXIT
    # global UI_LAYOUT
    global PYTHON_EXEC
    global EXECUTION_OPTIONS
    # global SWAP_FILE
    # global SWAP_FILE_INTERVAL
    # global PYTHON_EXEC_CONFIGURED_BY_USER
    # global SESSIONS
    global NINJA_SKIN
    # global SUPPORTED_EXTENSIONS
    global WORKSPACE
    global INDENT
    global USE_PLATFORM_END_OF_LINE
    # global REMOVE_TRAILING_SPACES
    # global ADD_NEW_LINE_AT_EOF
    # global HIDE_MOUSE_CURSOR
    # global SCROLL_WHEEL_ZOMMING
    # global SHOW_TABS_AND_SPACES
    global USE_TABS
    global ALLOW_WORD_WRAP
    # global COMPLETE_DECLARATIONS
    # global UNDERLINE_NOT_BACKGROUND
    global FONT
    global FONT_ANTIALIASING
    global MARGIN_LINE
    global SHOW_MARGIN_LINE
    global MARGIN_LINE_BACKGROUND
    global SHOW_INDENTATION_GUIDES
    # global IGNORE_PEP8_LIST
    # global ERRORS_HIGHLIGHT_LINE
    global FIND_ERRORS
    global CHECK_STYLE
    # global CHECK_HIGHLIGHT_LINE
    # global SHOW_MIGRATION_TIPS
    # global CODE_COMPLETION
    # global END_AT_LAST_LINE
    # global SHOW_PROJECT_EXPLORER
    # global SHOW_SYMBOLS_LIST
    global SHOW_WEB_INSPECTOR
    global SHOW_ERRORS_LIST
    # global SHOW_MIGRATION_LIST
    # global BOOKMARKS
    # global CHECK_FOR_DOCSTRINGS
    # global BREAKPOINTS
    # global BRACES
    global HIDE_TOOLBAR
    global AUTOCOMPLETE_BRACKETS
    global AUTOCOMPLETE_QUOTES
    # global TOOLBAR_ITEMS
    # global SHOW_MINIMAP
    # global MINIMAP_MAX_OPACITY
    # global MINIMAP_MIN_OPACITY
    # global SIZE_PROPORTION
    # global SHOW_DOCMAP
    # global DOCMAP_SLIDER
    # global EDITOR_SCROLLBAR
    # global DOCMAP_WIDTH
    # global DOCMAP_CURRENT_LINE
    # global DOCMAP_SEARCH_LINES
    # global NOTIFICATION_POSITION
    global NOTIFICATION_ON_SAVE
    # global NOTIFICATION_COLOR
    global LAST_CLEAN_LOCATOR
    global SHOW_LINE_NUMBERS
    global SHOW_TEXT_CHANGES
    global RELOAD_FILE
    global CUSTOM_SCREEN_RESOLUTION
    global HDPI
    global HIGHLIGHT_CURRENT_LINE
    global HIGHLIGHT_CURRENT_LINE_MODE
    global BRACE_MATCHING
    global EDITOR_SCHEME
    # General
    HIDE_TOOLBAR = qsettings.value("window/hide_toolbar", False, type=bool)
    # TOOLBAR_AREA = qsettings.value('preferences/general/toolbarArea', 1,
    #                               type=int)
    # LANGUAGE = qsettings.value('preferences/interface/language', '',
    #                           type='QString')
    # SHOW_START_PAGE = qsettings.value(
    #    'preferences/general/showStartPage', True, type=bool)
    # CONFIRM_EXIT = qsettings.value('preferences/general/confirmExit',
    #                               True, type=bool)
    # UI_LAYOUT = qsettings.value('preferences/interface/uiLayout', 0, type=int)
    PYTHON_EXEC = qsettings.value('execution/pythonExec',
                                  sys.executable, type=str)
    # PYTHON_EXEC_CONFIGURED_BY_USER = qsettings.value(
    #    'preferences/execution/pythonExecConfigured', False, type=bool)
    # SWAP_FILE = qsettings.value("ide/swapFile", 1, type=int)
    # SWAP_FILE_INTERVAL = qsettings.value("ide/swapFileInterval", 15, type=int)

    NINJA_SKIN = qsettings.value("ide/interface/skin", "Dark", type=str)
    # sessionDict = dict(data_qsettings.value('ide/sessions', {}))
    RELOAD_FILE = qsettings.value("ide/reloadSetting", 0, type=int)
    CUSTOM_SCREEN_RESOLUTION = qsettings.value(
        "ide/interface/customScreenResolution", "", type=str)
    HDPI = qsettings.value("ide/interface/autoHdpi", False, type=bool)
    # Fix later
    # try:
    # for key in sessionDict:
    #    session_list = sessionDict[key]
    #    files = []
    #    if session_list:
    #        files = [item for item in session_list[0]]
    #    temp_files = []
    #    for file_ in files:
    #        file_data = file_
    #        if len(file_data) > 0:
    #            temp_files.append((file_data[0], file_data[1], file_data[2]))
    #    files = temp_files
    #    projects = []
    #    if len(session_list) > 1:
    #        projects = [item for item in session_list[1]]
    #    SESSIONS[key] = (files, projects)
    # TODO
    # toolbar_items = [item for item in list(qsettings.value(
        # 'preferences/interface/toolbar', []))]
    # if toolbar_items:
        # TOOLBAR_ITEMS = toolbar_items
    # EXECUTION OPTIONS
    EXECUTION_OPTIONS = qsettings.value(
        'execution/executionOptions', defaultValue='', type=str)
    # extensions = [item for item in tuple(qsettings.value(
    #    'preferences/general/supportedExtensions', []))]
    # if extensions:
    #    SUPPORTED_EXTENSIONS = extensions
    WORKSPACE = qsettings.value("ide/workspace", "", type=str)
    # Editor
    # SHOW_MINIMAP = qsettings.value(
    #    'preferences/editor/minimapShow', False, type=bool)
    # MINIMAP_MAX_OPACITY = float(qsettings.value(
    #    'preferences/editor/minimapMaxOpacity', 0.8, type=float))
    # MINIMAP_MIN_OPACITY = float(qsettings.value(
    #    'preferences/editor/minimapMinOpacity', 0.1, type=float))
    # SIZE_PROPORTION = float(qsettings.value(
    #    'preferences/editor/minimapSizeProportion', 0.17, type=float))
    # SHOW_DOCMAP = qsettings.value(
    #    'preferences/editor/docmapShow', True, type=bool)
    # DOCMAP_SLIDER = qsettings.value(
    #    'preferences/editor/docmapSlider', False, type=bool)
    # EDITOR_SCROLLBAR = qsettings.value(
    #    'preferences/editor/editorScrollBar', True, type=bool)
    # DOCMAP_WIDTH = int(qsettings.value(
    #    'preferences/editor/docmapWidth', 15, type=int))
    HIGHLIGHT_CURRENT_LINE = qsettings.value(
        'editor/display/highlightCurrentLine', True, type=bool)
    HIGHLIGHT_CURRENT_LINE_MODE = qsettings.value(
        "editor/display/current_line_mode", 0, type=int)
    BRACE_MATCHING = qsettings.value(
        "editor/display/brace_matching", True, type=bool)
    # DOCMAP_SEARCH_LINES = qsettings.value(
    #    'preferences/editor/docmapSearchLines', True, type=bool)
    INDENT = int(qsettings.value(
        'editor/behavior/indentation_width', 4, type=int))

    USE_PLATFORM_END_OF_LINE = qsettings.value(
        'editor/general/platformEndOfLine', False, type=bool)
    SHOW_MARGIN_LINE = qsettings.value(
        'editor/display/margin_line', True, type=bool)
    MARGIN_LINE = qsettings.value('editor/display/margin_line_position', 79,
                                  type=int)
    MARGIN_LINE_BACKGROUND = qsettings.value(
        "editor/display/margin_line_background", False, type=bool)
    # FIXME:
    # pycodestylemod_update_margin_line_length(MARGIN_LINE)
    SHOW_LINE_NUMBERS = qsettings.value(
        'editor/display/show_line_numbers', True, type=bool)
    SHOW_TEXT_CHANGES = qsettings.value(
        "editor/display/show_text_changes", True, type=bool)
    EDITOR_SCHEME = qsettings.value(
        "editor/general/scheme", "Ninja Dark", type=str)
    # REMOVE_TRAILING_SPACES = qsettings.value(
    #    'preferences/editor/removeTrailingSpaces', True, type=bool)
    # ADD_NEW_LINE_AT_EOF = qsettings.value(
    #    "preferences/editor/addNewLineAtEnd", True, type=bool)
    # SHOW_TABS_AND_SPACES = qsettings.value(
    #    'preferences/editor/show_whitespaces', False, type=bool)
    USE_TABS = qsettings.value('editor/behavior/use_tabs', False, type=bool)
    # HIDE_MOUSE_CURSOR = qsettings.value(
    #    "preferences/editor/hideMouseCursor", True, type=bool)
    # SCROLL_WHEEL_ZOMMING = qsettings.value(
    #    "preferences/editor/scrollWheelZomming", True, type=bool)
    # FIXME:
    # if USE_TABS:
    #    pycodestylemod_add_ignore("W191")
    #    pycodestylemod_refresh_checks()
    ALLOW_WORD_WRAP = qsettings.value(
        'editor/display/allow_word_wrap', False, type=bool)
    # COMPLETE_DECLARATIONS = qsettings.value(
    #    'preferences/editor/completeDeclarations', True, type=bool)
    # UNDERLINE_NOT_BACKGROUND = qsettings.value(
    #    'preferences/editor/errorsUnderlineBackground', True, type=bool)
    font = qsettings.value('editor/general/default_font', None)
    if font:
        FONT = font
    FONT_ANTIALIASING = qsettings.value("editor/general/font_antialiasing",
                                        True, type=bool)
    SHOW_INDENTATION_GUIDES = qsettings.value(
        "editor/display/show_indentation_guides", False, type=bool)
    # IGNORE_PEP8_LIST = list(qsettings.value(
    #    'preferences/editor/defaultIgnorePep8', [], type='QStringList'))
    # FIXME:
    # for ignore_code in IGNORE_PEP8_LIST:
    #    pycodestylemod_add_ignore(ignore_code)
    FIND_ERRORS = qsettings.value(
        "editor/display/check_errors", True, type=bool)
    # SHOW_MIGRATION_TIPS = qsettings.value(
    #    'preferences/editor/showMigrationTips', True, type=bool)
    # ERRORS_HIGHLIGHT_LINE = qsettings.value(
    #    'preferences/editor/errorsInLine', True, type=bool)
    CHECK_STYLE = qsettings.value('editor/display/check_style',
                                  True, type=bool)
    AUTOCOMPLETE_BRACKETS = qsettings.value(
        "editor/intellisense/autocomplete_brackets", True, type=bool)
    AUTOCOMPLETE_QUOTES = qsettings.value(
        "editor/intellisense/autocomplete_quotes", True, type=bool)
    # CHECK_HIGHLIGHT_LINE = qsettings.value(
    #    'preferences/editor/checkStyleInline', True, type=bool)
    # CODE_COMPLETION = qsettings.value(
    #    'preferences/editor/codeCompletion', True, type=bool)
    # END_AT_LAST_LINE = qsettings.value(
    #    'preferences/editor/endAtLastLine', True, type=bool)
    # parentheses = qsettings.value('preferences/editor/parentheses', True,
    #                              type=bool)
    # if not parentheses:
    #    del BRACES['(']
    # brackets = qsettings.value('preferences/editor/brackets', True, type=bool)
    # if not brackets:
    #    del BRACES['[']
    # keys = qsettings.value('preferences/editor/keys', True, type=bool)
    # if not keys:
    #    del BRACES['{']
    # simpleQuotes = qsettings.value('preferences/editor/simpleQuotes',
    #                               True, type=bool)
    # if not simpleQuotes:
    #    del QUOTES["'"]
    # doubleQuotes = qsettings.value('preferences/editor/doubleQuotes',
    #                               True, type=bool)
    # if not doubleQuotes:
    #    del QUOTES['"']
    # Projects
    # SHOW_PROJECT_EXPLORER = qsettings.value(
    #    'preferences/interface/showProjectExplorer', True, type=bool)
    # SHOW_SYMBOLS_LIST = qsettings.value(
    #    'preferences/interface/showSymbolsList', True, type=bool)
    SHOW_WEB_INSPECTOR = qsettings.value(
        "interface/showWebInspector", False, type=bool)
    SHOW_ERRORS_LIST = qsettings.value(
        "interface/showErrorsList", True, type=bool)
    # SHOW_MIGRATION_LIST = qsettings.value(
    #    'preferences/interface/showMigrationList', True, type=bool)
    # Bookmarks and Breakpoints
    # bookmarks = dict(qsettings.value('preferences/editor/bookmarks', {}))
    # for key in bookmarks:
    #    if key:
    #        BOOKMARKS[key] = [int(i) for i in tuple(bookmarks[key])]
    # breakpoints = dict(qsettings.value('preferences/editor/breakpoints', {}))
    # for key in breakpoints:
    #    if key:
    #         BREAKPOINTS[key] = [int(i) for i in tuple(breakpoints[key])]
    NOTIFICATION_ON_SAVE = qsettings.value(
        "editor/general/notificate_on_save", True, type=bool)
    # Checkers
    # CHECK_FOR_DOCSTRINGS = qsettings.value(
    #    'preferences/editor/checkForDocstrings', False, type=bool)
    # NOTIFICATION_POSITION = qsettings.value(
    #    'interface/notification_position', 1, type=int)
    # NOTIFICATION_COLOR = qsettings.value(
    #    'preferences/general/notification_color', "#222", type='QString')
    LAST_CLEAN_LOCATOR = qsettings.value("ide/cleanLocator", None)
    from ninja_ide.extensions import handlers
    handlers.init_basic_handlers()
    clean_locator_db(qsettings)