mirror of
https://github.com/fspc/gbootroot.git
synced 2025-04-04 07:43:22 -04:00
Cool, that should cover it for the ssearch for now. It has netscape-like
behavior with some konqueror-like enhancements.
This commit is contained in:
parent
e9979b17d3
commit
dbee69230f
@ -1181,7 +1181,7 @@ sub search {
|
|||||||
#_______________________________________
|
#_______________________________________
|
||||||
# Search button
|
# Search button
|
||||||
|
|
||||||
my ($keywords, $old_keywords);
|
my ($keywords, $old_keywords, $before_offset);
|
||||||
my ($tmp_ct, $tmp_k);
|
my ($tmp_ct, $tmp_k);
|
||||||
|
|
||||||
my $submit_b = button(0,1,3,4,"Search",$table_search);
|
my $submit_b = button(0,1,3,4,"Search",$table_search);
|
||||||
@ -1196,6 +1196,10 @@ sub search {
|
|||||||
$submit_b->grab_default;
|
$submit_b->grab_default;
|
||||||
$submit_b->signal_connect( "clicked", sub {
|
$submit_b->signal_connect( "clicked", sub {
|
||||||
my $keywords = $search1->get_text();
|
my $keywords = $search1->get_text();
|
||||||
|
$before_offset = $offset if $offset != -1;
|
||||||
|
if ($old_keywords ne $keywords) {
|
||||||
|
undef $before_offset;
|
||||||
|
}
|
||||||
|
|
||||||
# rindex
|
# rindex
|
||||||
if ($search_backwards->active) {
|
if ($search_backwards->active) {
|
||||||
@ -1229,6 +1233,15 @@ sub search {
|
|||||||
$length = $length + $offset;
|
$length = $length + $offset;
|
||||||
$text->select_region($offset, $length);
|
$text->select_region($offset, $length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Here is an initial search and nothing is found
|
||||||
|
if (!$before_offset && $offset == -1) {
|
||||||
|
error_window("Search string \'$keywords\' not found.");
|
||||||
|
undef $offset;
|
||||||
|
undef $before_offset;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$offset = $offset - 1;
|
$offset = $offset - 1;
|
||||||
@ -1312,6 +1325,14 @@ sub search {
|
|||||||
$length = $length + $offset;
|
$length = $length + $offset;
|
||||||
$text->select_region($offset, $length);
|
$text->select_region($offset, $length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Here is an initial search and nothing is found
|
||||||
|
if (!$before_offset && $offset == -1) {
|
||||||
|
error_window("Search string \'$keywords\' not found.");
|
||||||
|
undef $offset;
|
||||||
|
undef $before_offset;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$offset = $offset + 1;
|
$offset = $offset + 1;
|
||||||
@ -1343,7 +1364,26 @@ sub search {
|
|||||||
$length = $length + $offset;
|
$length = $length + $offset;
|
||||||
$text->select_region($offset,$length);
|
$text->select_region($offset,$length);
|
||||||
}
|
}
|
||||||
|
elsif (!$before_offset && $offset == -1) {
|
||||||
|
# Here is a continued search and nothing is found
|
||||||
|
# We want the question_window to come up first
|
||||||
|
# Then pop this error box.
|
||||||
|
question_window("End of document reached;"
|
||||||
|
. " continue from beginning?",
|
||||||
|
$search_window,$submit_b,
|
||||||
|
length($changed_text_from_template));
|
||||||
|
$before_offset = -100;
|
||||||
|
}
|
||||||
|
# The previous elsif continues.
|
||||||
|
elsif ($before_offset && $before_offset == -100) {
|
||||||
|
error_window("Search string \'$keywords\' not" .
|
||||||
|
" found.");
|
||||||
|
undef $offset;
|
||||||
|
undef $before_offset;
|
||||||
|
return;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
question_window("End of document reached;"
|
question_window("End of document reached;"
|
||||||
. " continue from beginning?",
|
. " continue from beginning?",
|
||||||
$search_window,$submit_b,
|
$search_window,$submit_b,
|
||||||
@ -1353,7 +1393,6 @@ sub search {
|
|||||||
|
|
||||||
}
|
}
|
||||||
$old_keywords = $keywords;
|
$old_keywords = $keywords;
|
||||||
print "$offset\n";
|
|
||||||
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user