mirror of
				https://github.com/fspc/gbootroot.git
				synced 2025-11-04 08:15:36 -05: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