def setup_application_widgets(self): screen = Gdk.Screen.get_default() width = screen.get_width() height = screen.get_height() self.terminal = TerminalUi() fg_color = Gdk.Color.parse("#ffffff")[1] bg_color = Gdk.Color.parse("#262626")[1] self.terminal.set_colors(fg_color, bg_color, []) self.terminal.set_margin_top(10) self.terminal.set_margin_left(10) self.terminal.set_margin_right(10) self.spellbook = Spellbook() self.story = Storybook( width / 2 - 40, height - self.spellbook.HEIGHT - 2 * 44 - 10 ) self.story.set_margin_top(10) self.story.set_margin_left(10) self.story.set_margin_right(10) story_sw = ScrolledWindow() story_sw.apply_styling_to_screen() story_sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) story_sw.add(self.story) left_background = Gtk.EventBox() left_background.get_style_context().add_class("story_background") right_background = Gtk.EventBox() right_background.get_style_context().add_class("terminal_background") vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.add(vbox) hbox = Gtk.Box() vbox.pack_start(hbox, False, False, 0) vbox.pack_start(self.spellbook, False, False, 0) hbox.pack_start(left_background, False, False, 0) hbox.pack_start(right_background, False, False, 0) left_background.add(story_sw) right_background.add(self.terminal) # Allow for margin on bottom and top bar. self.terminal.set_size_request( width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 20 ) story_sw.set_size_request( width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 10 ) self.run_server()
def setup_application_widgets(self): screen = Gdk.Screen.get_default() width = screen.get_width() height = screen.get_height() self.terminal = TerminalUi() fg_color = Gdk.Color.parse("#ffffff")[1] bg_color = Gdk.Color.parse("#262626")[1] self.terminal.set_colors(fg_color, bg_color, []) self.terminal.set_margin_top(10) self.terminal.set_margin_left(10) self.terminal.set_margin_right(10) self.spellbook = Spellbook() self.story = Storybook(width / 2 - 40, height - self.spellbook.HEIGHT - 2 * 44 - 10) self.story.set_margin_top(10) self.story.set_margin_left(10) self.story.set_margin_right(10) story_sw = ScrolledWindow() story_sw.apply_styling_to_screen() story_sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) story_sw.add(self.story) left_background = Gtk.EventBox() left_background.get_style_context().add_class("story_background") right_background = Gtk.EventBox() right_background.get_style_context().add_class("terminal_background") vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.add(vbox) hbox = Gtk.Box() vbox.pack_start(hbox, False, False, 0) vbox.pack_start(self.spellbook, False, False, 0) hbox.pack_start(left_background, False, False, 0) hbox.pack_start(right_background, False, False, 0) left_background.add(story_sw) right_background.add(self.terminal) # Allow for margin on bottom and top bar. self.terminal.set_size_request( width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 20) story_sw.set_size_request(width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 10) self.run_server()
def __init__(self, screen_number=None, screen_name=None, socket_id=0, onescreen=False): # Check for internet, if screen is 12 means no internet if screen_number == 12 or screen_name == 'no-internet': common.has_internet = False else: common.has_internet = is_internet() # Set combobox styling to the screen # Is done here so we don't attach the styling multiple times when # switching screens apply_styling_to_screen(self.CSS_PATH) apply_common_to_screen() KanoComboBox.apply_styling_to_screen() ScrolledWindow.apply_styling_to_screen(wide=True) # Set window base_class.__init__(self, _("Settings"), self.width, self.height, socket_id) self.set_decorated(True) self.top_bar = TopBar(_("Settings")) self.top_bar.set_close_callback(self.close_window) self.prev_handler = None self.set_icon_name('kano-settings') if self._base_name == "Window": self.set_titlebar(self.top_bar) self._onescreen = onescreen self.connect('delete-event', Gtk.main_quit) # In case we are called from kano-world-launcher, terminate splash os.system('kano-stop-splash') # Init to Home Screen HomeScreen(self, screen_number=screen_number, screen_name=screen_name)
def __setup_application_widgets(self): screen = Gdk.Screen.get_default() self.__spellbook = Spellbook(is_caps_lock_on=self.__is_caps_lock_on) width = screen.get_width() height = screen.get_height() terminal_width, terminal_height = width / 2 - 20, height - self.__spellbook.HEIGHT - 2 * 44 - 20 story_width, story_height = width / 2 - 20, height - self.__spellbook.HEIGHT - 2 * 44 - 10 self.__terminal = TerminalUi(terminal_width, terminal_height) self.__story = Storybook(story_width, story_height) self.hbox = Gtk.Box() story_sw = ScrolledWindow() story_sw.apply_styling_to_screen() story_sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) story_sw.add(self.__story) story_sw.set_size_request(story_width, story_height) left_background = Gtk.EventBox() left_background.get_style_context().add_class("story_background") left_background.add(story_sw) right_background = Gtk.EventBox() right_background.get_style_context().add_class("terminal_background") vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.add(vbox) vbox.pack_start(self.hbox, False, False, 0) vbox.pack_start(self.__spellbook, False, False, 0) self.hbox.pack_start(left_background, False, False, 0) self.hbox.pack_start(right_background, False, False, 0) right_background.add(self.__terminal)
def __init__(self, screen_number=None, screen_name=None, socket_id=0, onescreen=False): # Check for internet, if screen is 12 means no internet if screen_number == 12 or screen_name == 'no-internet': common.has_internet = False else: common.has_internet = is_internet() # Set combobox styling to the screen # Is done here so we don't attach the styling multiple times when # switching screens apply_styling_to_screen(self.CSS_PATH) apply_common_to_screen() KanoComboBox.apply_styling_to_screen() ScrolledWindow.apply_styling_to_screen(wide=True) # Set window base_class.__init__(self, _("Settings"), self.width, self.height, socket_id) self.set_decorated(True) self.top_bar = TopBar(_("Settings")) self.top_bar.set_close_callback(self.close_window) self.prev_handler = None self.set_icon_name('kano-settings') if self._base_name == "Window": self.set_titlebar(self.top_bar) self._onescreen = onescreen self.connect('delete-event', Gtk.main_quit) # In case we are called from kano-world-launcher, terminate splash os.system('kano-stop-splash') # Init to Home Screen HomeScreen(self, screen_number=screen_number, screen_name=screen_name)
def __setup_application_widgets(self): screen = Gdk.Screen.get_default() self.__spellbook = Spellbook(is_caps_lock_on=self.__is_caps_lock_on) width = screen.get_width() height = screen.get_height() terminal_width, terminal_height = width / 2 - 20, height - self.__spellbook.HEIGHT - 2 * 44 - 20 story_width, story_height = width / 2 - 20, height - self.__spellbook.HEIGHT - 2 * 44 - 10 self.__terminal = TerminalUi(terminal_width, terminal_height) self.__story = Storybook(story_width, story_height) self.hbox = Gtk.Box() story_sw = ScrolledWindow() story_sw.apply_styling_to_screen() story_sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) story_sw.add(self.__story) story_sw.set_size_request(story_width, story_height) left_background = Gtk.EventBox() left_background.get_style_context().add_class("story_background") left_background.add(story_sw) right_background = Gtk.EventBox() right_background.get_style_context().add_class("terminal_background") vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.add(vbox) vbox.pack_start(self.hbox, False, False, 0) vbox.pack_start(self.__spellbook, False, False, 0) self.hbox.pack_start(left_background, False, False, 0) self.hbox.pack_start(right_background, False, False, 0) right_background.add(self.__terminal)
def _initialise_window(self): ''' Inititlaises the gtk window ''' self.last_click = 0 self.app_name_opened = 'feedback-widget-opened' self.typeahead = None self.help_tip_message = 'Type your feedback here!' self.rotating_mode = True self.in_submit = False apply_styling_to_screen(media_dir() + 'css/widget.css') ScrolledWindow.apply_styling_to_screen(wide=False) self.visible = False self.set_hexpand(False) self.set_decorated(False) self.set_resizable(False) self.set_keep_above(False) self.set_property('skip-taskbar-hint', True) self._grid = grid = Gtk.Grid(hexpand=True, vexpand=True) qmark = Gtk.Label('?') qmark.get_style_context().add_class('qmark') qmark_centering = Gtk.Alignment(xalign=0.5, yalign=0.5) qmark_centering.add(qmark) qmark_box = Gtk.EventBox() qmark_box.get_style_context().add_class('qmark_box') qmark_box.add(qmark_centering) qmark_box.set_size_request(self.HEIGHT_COMPACT, self.HEIGHT_COMPACT) grid.attach(qmark_box, 0, 0, 1, 1) self._prompt = prompt = Gtk.Label(self.wprompts.get_current_prompt(), hexpand=False) prompt.get_style_context().add_class('prompt') prompt.set_justify(Gtk.Justification.LEFT) prompt.set_alignment(0.1, 0.5) prompt.set_size_request(410, -1) prompt.set_line_wrap(True) prompt_container = Gtk.Table(1, 1, False) prompt_container.attach(prompt, 0, 1, 0, 1, Gtk.AttachOptions.SHRINK | Gtk.AttachOptions.FILL) grid.attach(prompt_container, 1, 0, 2, 1) self._x_button = x_button = Gtk.Button('x') x_button.set_size_request(20, 20) x_button.connect('clicked', self._shrink) x_button.get_style_context().add_class('x_button') x_button.set_margin_right(20) x_button_ebox = Gtk.EventBox() x_button_ebox.add(x_button) x_button_ebox.connect("realize", self._set_cursor_to_hand_cb) x_button_align = Gtk.Alignment(xalign=1, yalign=0.5, xscale=0, yscale=0) x_button_align.add(x_button_ebox) grid.attach(x_button_align, 3, 0, 1, 1) self._gray_box = gray_box = Gtk.EventBox() gray_box.get_style_context().add_class('gray_box') gray_box.set_size_request(-1, self.HEIGHT_EXPANDED - self.HEIGHT_COMPACT) gray_box_centering = Gtk.Alignment(xalign=0, yalign=0, xscale=1.0, yscale=1.0) gray_box_centering.add(gray_box) grid.attach(gray_box_centering, 0, 1, 1, 2) self._ebox = Gtk.EventBox() self._ebox.get_style_context().add_class('scrolled_win') grid.attach(self._ebox, 1, 1, 2, 1) self._pack_input_widget() self._send = send = OrangeButton('SEND') apply_styling_to_widget(send.label, media_dir() + 'css/widget.css') send.set_sensitive(False) send.connect('clicked', self._send_clicked) send.set_margin_left(10) send.set_margin_right(20) send.set_margin_top(10) send.set_margin_bottom(15) send_align = Gtk.Alignment(xalign=1, yalign=0.5, xscale=0, yscale=0) send_align.add(send) grid.attach(send_align, 3, 2, 1, 1) self.set_main_widget(grid) self.show_all() self._dont_shrink = False self._shrink() self.connect("focus-out-event", self._shrink) self.connect("button-press-event", self._toggle)
def _initialise_window(self): ''' Inititlaises the gtk window ''' self.last_click = 0 self.app_name_opened = 'feedback-widget-opened' self.typeahead = None self.help_tip_message = _("Type your feedback here!") self.rotating_mode = True self.in_submit = False apply_styling_to_screen(media_dir() + 'css/widget.css') ScrolledWindow.apply_styling_to_screen(wide=False) self.visible = False self.set_hexpand(False) self.set_decorated(False) self.set_resizable(False) self.set_keep_above(False) self.set_property('skip-taskbar-hint', True) self._grid = grid = Gtk.Grid(hexpand=True, vexpand=True) qmark = Gtk.Label('?') qmark.get_style_context().add_class('qmark') qmark_centering = Gtk.Alignment(xalign=0.5, yalign=0.5) qmark_centering.add(qmark) qmark_box = Gtk.EventBox() qmark_box.get_style_context().add_class('qmark_box') qmark_box.add(qmark_centering) qmark_box.set_size_request(self.HEIGHT_COMPACT, self.HEIGHT_COMPACT) grid.attach(qmark_box, 0, 0, 1, 1) self._prompt = prompt = Gtk.Label(self.wprompts.get_current_prompt(), hexpand=False) prompt.get_style_context().add_class('prompt') prompt.set_justify(Gtk.Justification.LEFT) prompt.set_size_request(410, -1) prompt.set_line_wrap(True) prompt_align = Gtk.Alignment(xalign=0.5, yalign=0.5) prompt_align.add(prompt) prompt_ebox = Gtk.EventBox() prompt_ebox.add(prompt_align) grid.attach(prompt_ebox, 1, 0, 2, 1) self._x_button = x_button = Gtk.Button('x') x_button.set_size_request(20, 20) x_button.connect('clicked', self._shrink) x_button.get_style_context().add_class('x_button') x_button.set_margin_right(20) x_button_ebox = Gtk.EventBox() x_button_ebox.add(x_button) x_button_ebox.connect("realize", self._set_cursor_to_hand_cb) x_button_align = Gtk.Alignment(xalign=1, yalign=0.5, xscale=0, yscale=0) x_button_align.add(x_button_ebox) grid.attach(x_button_align, 3, 0, 1, 1) self._gray_box = gray_box = Gtk.EventBox() gray_box.get_style_context().add_class('gray_box') gray_box.set_size_request(-1, self.HEIGHT_EXPANDED - self.HEIGHT_COMPACT) gray_box_centering = Gtk.Alignment(xalign=0, yalign=0, xscale=1.0, yscale=1.0) gray_box_centering.add(gray_box) grid.attach(gray_box_centering, 0, 1, 1, 2) self._ebox = Gtk.EventBox() self._ebox.get_style_context().add_class('scrolled_win') grid.attach(self._ebox, 1, 1, 2, 1) self._pack_input_widget() self._send = send = OrangeButton('SEND') apply_styling_to_widget(send.label, media_dir() + 'css/widget.css') send.set_sensitive(False) send.connect('clicked', self._send_clicked) send.set_margin_left(10) send.set_margin_right(20) send.set_margin_top(10) send.set_margin_bottom(15) send_align = Gtk.Alignment(xalign=1, yalign=0.5, xscale=0, yscale=0) send_align.add(send) grid.attach(send_align, 3, 2, 1, 1) self.set_main_widget(grid) self.show_all() self._dont_shrink = False self._shrink() self.connect("focus-out-event", self._shrink) self.connect("button-press-event", self._toggle)
def setup_application_widgets(self): screen = Gdk.Screen.get_default() width = screen.get_width() height = screen.get_height() self.terminal = TerminalUi() fg_color = Gdk.Color.parse("#ffffff")[1] bg_color = Gdk.Color.parse("#262626")[1] self.terminal.set_colors(fg_color, bg_color, []) self.terminal.set_margin_top(10) self.terminal.set_margin_left(10) self.terminal.set_margin_right(10) # Set the terminal font size. There is # probably a way of doing this with css to avoid hard coding # But I have not found it yet. font_desc = Pango.FontDescription() font_desc.set_family("monospace") font_desc.set_size(13*Pango.SCALE) self.terminal.set_font(font_desc) self.spellbook = Spellbook(is_caps_lock_on=self.is_caps_lock_on) self.story = Storybook( width / 2 - 40, height - self.spellbook.HEIGHT - 2 * 44 - 10 ) self.story.set_margin_top(10) self.story.set_margin_left(10) self.story.set_margin_right(10) story_sw = ScrolledWindow() story_sw.apply_styling_to_screen() story_sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) story_sw.add(self.story) left_background = Gtk.EventBox() left_background.get_style_context().add_class("story_background") right_background = Gtk.EventBox() right_background.get_style_context().add_class("terminal_background") vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.add(vbox) self.hbox = Gtk.Box() vbox.pack_start(self.hbox, False, False, 0) vbox.pack_start(self.spellbook, False, False, 0) self.hbox.pack_start(left_background, False, False, 0) self.hbox.pack_start(right_background, False, False, 0) left_background.add(story_sw) right_background.add(self.terminal) # Allow for margin on bottom and top bar. self.terminal.set_size_request( width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 20 ) story_sw.set_size_request( width / 2 - 20, height - self.spellbook.HEIGHT - 2 * 44 - 10 ) self.run_server()