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
|
||||
|
||||
my ($keywords, $old_keywords);
|
||||
my ($keywords, $old_keywords, $before_offset);
|
||||
my ($tmp_ct, $tmp_k);
|
||||
|
||||
my $submit_b = button(0,1,3,4,"Search",$table_search);
|
||||
@ -1196,6 +1196,10 @@ sub search {
|
||||
$submit_b->grab_default;
|
||||
$submit_b->signal_connect( "clicked", sub {
|
||||
my $keywords = $search1->get_text();
|
||||
$before_offset = $offset if $offset != -1;
|
||||
if ($old_keywords ne $keywords) {
|
||||
undef $before_offset;
|
||||
}
|
||||
|
||||
# rindex
|
||||
if ($search_backwards->active) {
|
||||
@ -1229,6 +1233,15 @@ sub search {
|
||||
$length = $length + $offset;
|
||||
$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 {
|
||||
$offset = $offset - 1;
|
||||
@ -1312,6 +1325,14 @@ sub search {
|
||||
$length = $length + $offset;
|
||||
$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 {
|
||||
$offset = $offset + 1;
|
||||
@ -1343,7 +1364,26 @@ sub search {
|
||||
$length = $length + $offset;
|
||||
$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 {
|
||||
|
||||
question_window("End of document reached;"
|
||||
. " continue from beginning?",
|
||||
$search_window,$submit_b,
|
||||
@ -1353,7 +1393,6 @@ sub search {
|
||||
|
||||
}
|
||||
$old_keywords = $keywords;
|
||||
print "$offset\n";
|
||||
|
||||
} );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user