Commit cfe4ba67 authored by Nickolay V. Shmyrev's avatar Nickolay V. Shmyrev Committed by Nickolay V. Shmyrev

Patch for case unsensitive page label match by Michael Lee. See bug

2008-09-07  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* shell/ev-page-cache.c (ev_page_cache_set_page_label):
	
	Patch for case unsensitive page label match by Michael Lee.
	See bug #550136.
	
	* shell/ev-page-action.c (create_tool_item):	
	* test/Makefile.am:
	* test/test1.py:
	* test/test4.py:
	* test/test5.py:
	
	Added test for the above and updated other tests.


svn path=/trunk/; revision=3161
parent c8ff46f7
2008-09-07 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* shell/ev-page-cache.c (ev_page_cache_set_page_label):
Patch for case unsensitive page label match by Michael Lee.
See bug #550136.
* shell/ev-page-action.c (create_tool_item):
* test/Makefile.am:
* test/test1.py:
* test/test4.py:
* test/test5.py:
Added test for the above and updated other tests.
2008-09-07 Carlos Garcia Campos <carlosgc@gnome.org>
* shell/ev-window.c: (image_save_dialog_response_cb):
......
......@@ -163,6 +163,7 @@ create_tool_item (GtkAction *action)
{
EvPageActionWidget *proxy;
GtkWidget *hbox;
AtkObject *obj;
proxy = g_object_new (ev_page_action_widget_get_type (), NULL);
gtk_container_set_border_width (GTK_CONTAINER (proxy), 6);
......@@ -172,6 +173,9 @@ create_tool_item (GtkAction *action)
gtk_box_set_spacing (GTK_BOX (hbox), 6);
proxy->entry = gtk_entry_new ();
obj = gtk_widget_get_accessible (proxy->entry);
atk_object_set_name (obj, "page-label-entry");
g_signal_connect(proxy->entry, "scroll-event",G_CALLBACK(page_scroll_cb),action);
gtk_widget_add_events(GTK_WIDGET(proxy->entry),GDK_BUTTON_MOTION_MASK);
gtk_entry_set_width_chars (GTK_ENTRY (proxy->entry), 5);
......
......@@ -482,6 +482,15 @@ ev_page_cache_set_page_label (EvPageCache *page_cache,
}
}
/* Second, look for a match with case insensitively */
for (i = 0; i < page_cache->n_pages; i++) {
if (page_cache->page_labels[i] != NULL &&
! strcasecmp (page_label, page_cache->page_labels[i])) {
ev_page_cache_set_current_page (page_cache, i);
return TRUE;
}
}
/* Next, parse the label, and see if the number fits */
value = strtol (page_label, &endptr, 10);
if (endptr[0] == '\0') {
......
dist_check_SCRIPTS = test1.py test2.py test3.py test4.py
dist_check_SCRIPTS = \
test1.py \
test2.py \
test3.py \
test4.py \
test5.py
TESTS = $(dist_check_SCRIPTS)
EXTRA_DIST = test-encrypt.pdf test-links.pdf test-mime.bin
EXTRA_DIST = \
test-encrypt.pdf \
test-links.pdf \
test-mime.bin \
test-page-labels.pdf
......@@ -24,7 +24,7 @@ click('Close', roleName='push button')
# About dialog
click('Help', roleName='menu')
click('About', roleName='menu item')
focus.dialog('About Evince')
focus.dialog('About Document Viewer')
click('Credits', roleName='push button')
focus.dialog('Credits')
click('Close', roleName='push button')
......
......@@ -10,9 +10,10 @@ from dogtail.procedural import *
run('evince', arguments=' '+srcdir+'/test-links.pdf')
# Close evince
click('View', roleName='menu')
click('Reload', roleName='menu item')
# Reload document a few times
for i in range(1,6):
click('View', roleName='menu')
click('Reload', roleName='menu item')
# Close evince
click('File', roleName='menu')
......
#!/usr/bin/python
# This test tries document reload action.
import os
os.environ['LANG']='C'
srcdir = os.environ['srcdir']
from dogtail.procedural import *
run('evince', arguments=' '+srcdir+'/test-page-labels.pdf')
focus.widget('page-label-entry')
focus.widget.text = "iii"
activate()
if focus.widget.text != "III":
click('File', roleName='menu')
click('Close', roleName='menu item')
exit (1)
# Close evince
click('File', roleName='menu')
click('Close', roleName='menu item')
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment