diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-09-25 08:06:09 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-09-25 08:06:09 (GMT) |
commit | 846fd4858e504ae07855b9fc417200b905f9555f (patch) | |
tree | 5463e7eea4fa329dfdef27256715eeca61f84e58 | |
parent | 2a50be65a5bbe998be298cfb0e3e3acc70161d45 (diff) | |
parent | cc84ef1a82edb0808cf64492bd5f711368dc71d8 (diff) |
Merge branch 'master' of git+ssh://dev.laptop.org/git/projects/read-activity
Conflicts:
NEWS
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | readtoolbar.py | 21 |
2 files changed, 22 insertions, 1 deletions
@@ -1,4 +1,6 @@ * Update spanish translation +* #3626, #3462: Do sane things with invalid input in the page number entry + box. (tomeu) 31 diff --git a/readtoolbar.py b/readtoolbar.py index dd9b90a..5351863 100644 --- a/readtoolbar.py +++ b/readtoolbar.py @@ -16,6 +16,7 @@ import logging from gettext import gettext as _ +import re import pango import gobject @@ -119,6 +120,8 @@ class ReadToolbar(gtk.Toolbar): self._num_page_entry = gtk.Entry() self._num_page_entry.set_text('0') self._num_page_entry.set_alignment(1) + self._num_page_entry.connect('insert-text', + self._num_page_entry_insert_text_cb) self._num_page_entry.connect('activate', self._num_page_entry_activate_cb) @@ -152,9 +155,25 @@ class ReadToolbar(gtk.Toolbar): page_cache.connect('page-changed', self._page_changed_cb) self._update_nav_buttons() + def _num_page_entry_insert_text_cb(self, entry, text, length, position): + if not re.match('[0-9]', text): + entry.emit_stop_by_name('insert-text') + return True + return False + def _num_page_entry_activate_cb(self, entry): - page = int(entry.props.text) - 1 + if entry.props.text: + page = int(entry.props.text) - 1 + else: + page = 0 + + if page >= self._document.get_n_pages(): + page = self._document.get_n_pages() - 1 + elif page < 0: + page = 0 + self._document.get_page_cache().set_current_page(page) + entry.props.text = str(page + 1) def _go_back_cb(self, button): self._evince_view.previous_page() |