Пример #1
0
    def on_scene_called(self):
        """
		Show the scene!
		"""

        # We are locked
        self.unlockbar.emit("locked")

        self.cancellable = Gio.Cancellable()
        self.RebootDialog = RebootDialog(self.cancellable)
        self.RebootDialog.bind_property("visible", self.scene_container,
                                        "sensitive",
                                        GObject.BindingFlags.INVERT_BOOLEAN)
Пример #2
0
	def on_scene_called(self):
		"""
		Show the scene!
		"""
		
		# We are locked
		self.unlockbar.emit("locked")
		
		self.cancellable = Gio.Cancellable()
		self.RebootDialog = RebootDialog(self.cancellable)
		self.RebootDialog.bind_property(
			"visible",
			self.scene_container,
			"sensitive",
			GObject.BindingFlags.INVERT_BOOLEAN
		)
Пример #3
0
class Scene(quickstart.scenes.BaseScene):
	""" Desktop preferences. """
	
	events = {
		"toggled": ("show_all", "savespace_enable"),
		"cursor-changed": ("locale_view",),
	}
	
	@quickstart.threads.thread
	def set_locale(self, locale, sel, itr):
		"""
		Sets the given locale.
		"""
		
		try:
			self.Locale.set(locale)
			self.default = itr
			
			# Create stamp
			self.Locale.create_stamp([".alan2-locale-changed"])
			
			GObject.idle_add(self.RebootDialog.show)
		except:
			sel.select_iter(self.default)

		GObject.idle_add(self.objects.region_spinner.hide)
		GObject.idle_add(self.scene_container.set_sensitive, True)
	
	@quickstart.threads.thread
	def savespace_purge(self, locale):
		"""
		Purges foreign locales.
		"""
		
		self.Locale.savespace_purge(locale)
		
		GObject.idle_add(self.objects.other_spinner.hide)
		GObject.idle_add(self.scene_container.set_sensitive, True)
	
	def on_locale_view_cursor_changed(self, locale_view):
		"""
		Fired when the user changes the locale.
		"""
				
		# selection
		sel = self.objects.locale_view.get_selection()
		if not sel: return
		
		# iter
		model, itr = sel.get_selected()
		if not itr: return
		
		selected = self.objects.locales.get_value(itr, 0)
		if selected == self.Locale.default: return
		
		if self.objects.savespace_enable.get_active():
			# Display warning
			if self.objects.savespace_warning.run() == Gtk.ResponseType.NO:
				self.objects.savespace_warning.hide()
				
				sel.select_iter(self.default)
				return
			
			self.objects.savespace_enable.set_active(False)
			self.objects.savespace_warning.hide()
		
		GObject.idle_add(self.objects.region_spinner.show)
		GObject.idle_add(self.scene_container.set_sensitive, False)
		
		self.set_locale(selected, sel, itr)
	
	def on_show_all_toggled(self, checkbutton):
		"""
		Fired when the 'Show all locales' checkbutton has been clicked.
		"""
		
		GObject.idle_add(self.build_locale_list, self.objects.show_all.get_active())
	
	def on_savespace_enable_toggled(self, checkbutton):
		"""
		Fired when the 'Enable savespace' checkbutton has been clicked.
		"""
		
		locale = self.objects.locales.get_value(self.default, 0)
		
		if checkbutton.get_active():
			self.Locale.savespace_enable(locale)
			
			# Purge window
			if self.objects.savespace_window.run() == Gtk.ResponseType.YES:
				# Purge!!
				self.savespace_purge(locale)
				
				GObject.idle_add(self.objects.other_spinner.show)
				GObject.idle_add(self.scene_container.set_sensitive, False)
			self.objects.savespace_window.hide()
		else:
			self.Locale.savespace_disable()
	
	def build_locale_list(self, all=False):
		"""
		Populates the listbox with locales.
		"""
		
		self.objects.locales.clear()
				
		for locale, human in self.Locale.human_form(all=all).items():
			if all:
				codepage = self.Locale.codepages[locale]
			else:
				codepage = ""
			itr = self.objects.locales.append((locale, human, codepage))
			
			# Save iter if this is the default...
			if locale == self.Locale.default:
				self.default = itr
		
		if self.default:
			sel = self.objects.locale_view.get_selection()
			sel.select_iter(self.default)
						
			GObject.idle_add(self.objects.locale_view.scroll_to_cell, sel.get_selected_rows()[1][0])
	
	def on_locked(self, unlockbar):
		"""
		Fired when the scene has been locked.
		"""
		
		GObject.idle_add(self.objects.content.set_sensitive, False)
	
	def on_unlocked(self, unlockbar):
		"""
		Fired when the scene has been unlocked.
		"""
		
		GObject.idle_add(self.objects.content.set_sensitive, True)
	
	def prepare_scene(self):
		""" Called when doing the scene setup. """
		
		self.scene_container = self.objects.main
		
		# Check for savespace...
		if os.path.exists("/etc/dpkg/dpkg.cfg.d/keeptalking"):
			self.objects.savespace_enable.set_active(True)
		
		# Create unlockbar
		self.unlockbar = UnlockBar("org.semplicelinux.keeptalking2.change-locale")
		self.unlockbar.connect("locked", self.on_locked)
		self.unlockbar.connect("unlocked", self.on_unlocked)
		self.objects.main.pack_start(self.unlockbar, False, False, 0)		

		self.Locale = Locale()
		
		self.default = None

		# Make the locale_view treeview working...
		locale_renderer = Gtk.CellRendererText()
		self.locale_column = Gtk.TreeViewColumn("Locale", locale_renderer, text=1)
		self.objects.locales.set_sort_column_id(1, Gtk.SortType.ASCENDING)
		self.objects.locale_view.append_column(self.locale_column)
		
		type_renderer = Gtk.CellRendererText()
		self.type_column = Gtk.TreeViewColumn("Type", type_renderer, text=2)
		self.objects.locale_view.append_column(self.type_column)

		# Populate the locale list
		GObject.idle_add(self.build_locale_list)
	
	def on_scene_called(self):
		"""
		Show the scene!
		"""
		
		# We are locked
		self.unlockbar.emit("locked")
		
		self.cancellable = Gio.Cancellable()
		self.RebootDialog = RebootDialog(self.cancellable)
		self.RebootDialog.bind_property(
			"visible",
			self.scene_container,
			"sensitive",
			GObject.BindingFlags.INVERT_BOOLEAN
		)

	def on_scene_asked_to_close(self):
		"""
		Do some cleanup before returning home
		"""
		
		self.unlockbar.cancel_authorization()
		self.cancellable.cancel()
		
		return True
Пример #4
0
class Scene(quickstart.scenes.BaseScene):
    """ Desktop preferences. """

    events = {
        "toggled": ("show_all", "savespace_enable"),
        "cursor-changed": ("locale_view", ),
    }

    @quickstart.threads.thread
    def set_locale(self, locale, sel, itr):
        """
		Sets the given locale.
		"""

        try:
            self.Locale.set(locale)
            self.default = itr

            # Create stamp
            self.Locale.create_stamp([".alan2-locale-changed"])

            GObject.idle_add(self.RebootDialog.show)
        except:
            sel.select_iter(self.default)

        GObject.idle_add(self.objects.region_spinner.hide)
        GObject.idle_add(self.scene_container.set_sensitive, True)

    @quickstart.threads.thread
    def savespace_purge(self, locale):
        """
		Purges foreign locales.
		"""

        self.Locale.savespace_purge(locale)

        GObject.idle_add(self.objects.other_spinner.hide)
        GObject.idle_add(self.scene_container.set_sensitive, True)

    def on_locale_view_cursor_changed(self, locale_view):
        """
		Fired when the user changes the locale.
		"""

        # selection
        sel = self.objects.locale_view.get_selection()
        if not sel: return

        # iter
        model, itr = sel.get_selected()
        if not itr: return

        selected = self.objects.locales.get_value(itr, 0)
        if selected == self.Locale.default: return

        if self.objects.savespace_enable.get_active():
            # Display warning
            if self.objects.savespace_warning.run() == Gtk.ResponseType.NO:
                self.objects.savespace_warning.hide()

                sel.select_iter(self.default)
                return

            self.objects.savespace_enable.set_active(False)
            self.objects.savespace_warning.hide()

        GObject.idle_add(self.objects.region_spinner.show)
        GObject.idle_add(self.scene_container.set_sensitive, False)

        self.set_locale(selected, sel, itr)

    def on_show_all_toggled(self, checkbutton):
        """
		Fired when the 'Show all locales' checkbutton has been clicked.
		"""

        GObject.idle_add(self.build_locale_list,
                         self.objects.show_all.get_active())

    def on_savespace_enable_toggled(self, checkbutton):
        """
		Fired when the 'Enable savespace' checkbutton has been clicked.
		"""

        locale = self.objects.locales.get_value(self.default, 0)

        if checkbutton.get_active():
            self.Locale.savespace_enable(locale)

            # Purge window
            if self.objects.savespace_window.run() == Gtk.ResponseType.YES:
                # Purge!!
                self.savespace_purge(locale)

                GObject.idle_add(self.objects.other_spinner.show)
                GObject.idle_add(self.scene_container.set_sensitive, False)
            self.objects.savespace_window.hide()
        else:
            self.Locale.savespace_disable()

    def build_locale_list(self, all=False):
        """
		Populates the listbox with locales.
		"""

        self.objects.locales.clear()

        for locale, human in self.Locale.human_form(all=all).items():
            if all:
                codepage = self.Locale.codepages[locale]
            else:
                codepage = ""
            itr = self.objects.locales.append((locale, human, codepage))

            # Save iter if this is the default...
            if locale == self.Locale.default:
                self.default = itr

        if self.default:
            sel = self.objects.locale_view.get_selection()
            sel.select_iter(self.default)

            GObject.idle_add(self.objects.locale_view.scroll_to_cell,
                             sel.get_selected_rows()[1][0])

    def on_locked(self, unlockbar):
        """
		Fired when the scene has been locked.
		"""

        GObject.idle_add(self.objects.content.set_sensitive, False)

    def on_unlocked(self, unlockbar):
        """
		Fired when the scene has been unlocked.
		"""

        GObject.idle_add(self.objects.content.set_sensitive, True)

    def prepare_scene(self):
        """ Called when doing the scene setup. """

        self.scene_container = self.objects.main

        # Check for savespace...
        if os.path.exists("/etc/dpkg/dpkg.cfg.d/keeptalking"):
            self.objects.savespace_enable.set_active(True)

        # Create unlockbar
        self.unlockbar = UnlockBar(
            "org.semplicelinux.keeptalking2.change-locale")
        self.unlockbar.connect("locked", self.on_locked)
        self.unlockbar.connect("unlocked", self.on_unlocked)
        self.objects.main.pack_start(self.unlockbar, False, False, 0)

        self.Locale = Locale()

        self.default = None

        # Make the locale_view treeview working...
        locale_renderer = Gtk.CellRendererText()
        self.locale_column = Gtk.TreeViewColumn("Locale",
                                                locale_renderer,
                                                text=1)
        self.objects.locales.set_sort_column_id(1, Gtk.SortType.ASCENDING)
        self.objects.locale_view.append_column(self.locale_column)

        type_renderer = Gtk.CellRendererText()
        self.type_column = Gtk.TreeViewColumn("Type", type_renderer, text=2)
        self.objects.locale_view.append_column(self.type_column)

        # Populate the locale list
        GObject.idle_add(self.build_locale_list)

    def on_scene_called(self):
        """
		Show the scene!
		"""

        # We are locked
        self.unlockbar.emit("locked")

        self.cancellable = Gio.Cancellable()
        self.RebootDialog = RebootDialog(self.cancellable)
        self.RebootDialog.bind_property("visible", self.scene_container,
                                        "sensitive",
                                        GObject.BindingFlags.INVERT_BOOLEAN)

    def on_scene_asked_to_close(self):
        """
		Do some cleanup before returning home
		"""

        self.unlockbar.cancel_authorization()
        self.cancellable.cancel()

        return True