# Path: kano_settings/screens.py
# SCREENS = ScreenCollection([
#     Screen('keyboard', N_("Keyboard"), choose_keyboard_screen, screen_no=0,
#            setting_param='Keyboard-country-human'),
#     Screen('mouse', N_("Mouse"), SetMouse, screen_no=1, setting_param='Mouse'),
#     Screen('audio', N_("Audio"), SetAudio, screen_no=2, setting_param='Audio'),
#     Screen('display', N_("Display"), SetDisplay, screen_no=3),
#     Screen('wifi', N_("WiFi"), SetWifi, screen_no=4),
#     Screen('bluetooth', N_("Bluetooth"), BluetoothConfig,
#            on_home_screen=is_bluetooth_available()),
#     Screen('overclocking', N_("Overclocking"), SetOverclock, screen_no=5,
#            setting_param='Overclocking'),
#     Screen('account', N_("Account"), SetAccount, screen_no=6),
#     Screen('appearance', N_("Style"), SetStyle, screen_no=7,
#            setting_param='Wallpaper'),
#     Screen('font', N_("Font"), SetFont, screen_no=8, setting_param='Font'),
#     Screen('advanced', N_("Advanced"), SetAdvanced, screen_no=9),
#     Screen('about', N_("About"), SetAbout, screen_no=10),
#     Screen('notifications', N_("Notifications"), SetNotifications, screen_no=11),
#     Screen('no-internet', N_("No-internet"), NoInternet, screen_no=12,
#            on_home_screen=False),
#     Screen('proxy', 'proxy', SetProxy, screen_no=13, on_home_screen=False),
#     Screen('first-boot-set-wallpaper', 'first-boot-set-wallpaper',
#            FirstBootSetWallpaper, screen_no=14, on_home_screen=False),
#     Screen('set-parental-password', 'set-parental-password', SetPassword,
#            screen_no=15, on_home_screen=False),
#     # TODO: Add 'Locale' screen to home screen when translations are available.
#     # TODO: Add icon for the 'Locale' screen.
#     Screen('locale', _("Locale"), LocaleConfig, setting_param='Locale',
#            on_home_screen=False),
# ])


from gi import require_version
from gi.repository import Gtk
from kano.gtk3.scrolled_window import ScrolledWindow
from kano_settings.screens import SCREENS
import math

        scrolled_window = ScrolledWindow(wide_scrollbar=True, vexpand=True,
                                         hexpand=True)
        scrolled_window.get_style_context().add_class('app-grid')
        scrolled_window.add_with_viewport(table)

        return scrolled_window

    def update_intro(self):
        """
        This is to update the introduction text, so that if the settings are
        modified and then we go back to the intro screen, the latest information
        is shown
        """

        for screen in self._DISPLAYED_SCREENS:
            screen.refresh_menu_button()


    def _change_screen_cb(self, screen, screen_name):
        self.go_to_screen(screen_name)


    def go_to_screen(self, screen_name):
        self.win.state = screen_name
        self.win.last_level_visited = screen_name

        self.win.clear_win()

        try:

# Path: kano_settings/screens.py
# SCREENS = ScreenCollection([
#     Screen('keyboard', N_("Keyboard"), choose_keyboard_screen, screen_no=0,
#            setting_param='Keyboard-country-human'),
#     Screen('mouse', N_("Mouse"), SetMouse, screen_no=1, setting_param='Mouse'),
#     Screen('audio', N_("Audio"), SetAudio, screen_no=2, setting_param='Audio'),
#     Screen('display', N_("Display"), SetDisplay, screen_no=3),
#     Screen('wifi', N_("WiFi"), SetWifi, screen_no=4),
#     Screen('bluetooth', N_("Bluetooth"), BluetoothConfig,
#            on_home_screen=is_bluetooth_available()),
#     Screen('overclocking', N_("Overclocking"), SetOverclock, screen_no=5,
#            setting_param='Overclocking'),
#     Screen('account', N_("Account"), SetAccount, screen_no=6),
#     Screen('appearance', N_("Style"), SetStyle, screen_no=7,
#            setting_param='Wallpaper'),
#     Screen('font', N_("Font"), SetFont, screen_no=8, setting_param='Font'),
#     Screen('advanced', N_("Advanced"), SetAdvanced, screen_no=9),
#     Screen('about', N_("About"), SetAbout, screen_no=10),
#     Screen('notifications', N_("Notifications"), SetNotifications, screen_no=11),
#     Screen('no-internet', N_("No-internet"), NoInternet, screen_no=12,
#            on_home_screen=False),
#     Screen('proxy', 'proxy', SetProxy, screen_no=13, on_home_screen=False),
#     Screen('first-boot-set-wallpaper', 'first-boot-set-wallpaper',
#            FirstBootSetWallpaper, screen_no=14, on_home_screen=False),
#     Screen('set-parental-password', 'set-parental-password', SetPassword,
#            screen_no=15, on_home_screen=False),
#     # TODO: Add 'Locale' screen to home screen when translations are available.
#     # TODO: Add icon for the 'Locale' screen.
#     Screen('locale', _("Locale"), LocaleConfig, setting_param='Locale',
#            on_home_screen=False),
# ])


# Path: kano_settings/home_screen.py
from gi import require_version
from gi.repository import Gtk
from kano.gtk3.scrolled_window import ScrolledWindow
from kano_settings.screens import SCREENS
import math


        scrolled_window = ScrolledWindow(wide_scrollbar=True, vexpand=True,
                                         hexpand=True)
        scrolled_window.get_style_context().add_class('app-grid')
        scrolled_window.add_with_viewport(table)

        return scrolled_window

    def update_intro(self):
        """
        This is to update the introduction text, so that if the settings are
        modified and then we go back to the intro screen, the latest information
        is shown
        """

        for screen in self._DISPLAYED_SCREENS:
            screen.refresh_menu_button()


    def _change_screen_cb(self, screen, screen_name):
        self.go_to_screen(screen_name)


    def go_to_screen(self, screen_name):
        self.win.state = screen_name
        self.win.last_level_visited = screen_name

        self.win.clear_win()

        try:

            screen = SCREENS[screen_name]