mirror of
				https://github.com/fspc/gbootroot.git
				synced 2025-10-31 15:45:36 -04:00 
			
		
		
		
	Changes for the fs box.
This commit is contained in:
		
							parent
							
								
									e39fbff6ee
								
							
						
					
					
						commit
						85ff2a51af
					
				| @ -3837,7 +3837,7 @@ sub mtab_window { | ||||
| 
 | ||||
| } # end sub mtab_window | ||||
| 
 | ||||
| sub mtab{ | ||||
| sub mtab { | ||||
| 
 | ||||
| # /proc/mount could be used, but maybe there is no /proc | ||||
| # Press OK when drive and storage medium are ready.  The drive should not | ||||
|  | ||||
| @ -25,9 +25,10 @@ package BootRoot::YardBox; | ||||
| use vars qw(@ISA @EXPORT %EXPORT_TAGS); | ||||
| use Exporter; | ||||
| @ISA = qw(Exporter); | ||||
| @EXPORT =  qw(yard ars); | ||||
| @EXPORT =  qw(yard ars filesystem_size); | ||||
| 
 | ||||
| use strict; | ||||
| use BootRoot::BootRoot; | ||||
| use BootRoot::Yard; | ||||
| use BootRoot::Error; | ||||
| use BootRoot::lsMode; | ||||
| @ -43,7 +44,7 @@ my($filename,$filesystem_size,$kernel,$template_dir,$template,$tmp,$mnt); | ||||
| my ($text, $changed_text, $changed_text_from_template); | ||||
| my $save_as; | ||||
| my ($replacements_window, $filesystem_window, $path_window, $tutorial,  | ||||
|     $shortcut); | ||||
|     $shortcut, $uml_exclusively); | ||||
| my ($search_window, $question_window, $offset); | ||||
| my $Shortcuts; | ||||
| my @entry; | ||||
| @ -269,6 +270,51 @@ sub yard { | ||||
| ############### | ||||
| # File System # | ||||
| ############### | ||||
| 
 | ||||
| my %uml_expect; | ||||
| 
 | ||||
| # What to do if file_system is never called, | ||||
| # Receives values when ARS is opened from BootRoot. | ||||
| sub filesystem_size { | ||||
| 
 | ||||
| 	if ( $> == 0 ) { | ||||
| 	    $uml_expect{uml_exclusively} = 0  if  | ||||
| 		!$uml_expect{uml_exclusively}; | ||||
| 	    $uml_expect{preserve_permissions} = 1 if  | ||||
| 		!$uml_expect{preserve_permissions}; | ||||
| 	} | ||||
| 	else { | ||||
| 
 | ||||
| 	    # When the user opens the filesystem box it is | ||||
| 	    # assumed that he wants to take over setting the | ||||
| 	    # check boxes, however, if he closes it, the defaults | ||||
| 	    # come back to play for uml_exclusively if the size is | ||||
| 	    # changed, but only if it is greater than 8192. | ||||
| 	    if ( !$uml_exclusively ) { | ||||
| 		if ( $filesystem_size > 8192 ) { | ||||
| 		    $uml_expect{uml_exclusively} = 1; | ||||
| 		} | ||||
| 		else { | ||||
| 		    $uml_expect{uml_exclusively} = 0; | ||||
| 		} | ||||
| 	    } | ||||
| 	    else { | ||||
| 		if ( $filesystem_size > 8192 ) { | ||||
| 		    $uml_expect{uml_exclusively} = 1 if  | ||||
| 			!$uml_expect{uml_exclusively}; | ||||
| 		} | ||||
| 		else { | ||||
| 		    $uml_expect{uml_exclusively} = 0 if  | ||||
| 			!$uml_expect{uml_exclusively}; | ||||
| 		} | ||||
| 	    } | ||||
| 
 | ||||
| 	    $uml_expect{preserve_permissions} = 0 if | ||||
| 		!$uml_expect{preserve_permissions}; | ||||
| 	} | ||||
| 
 | ||||
| } # end fileystem_size | ||||
| 
 | ||||
| # This allows the user to choose a different filesystem besides ext2. | ||||
| # The space_check inode percentage formula can be altered.  Default 2%. | ||||
| sub file_system { | ||||
| @ -280,6 +326,16 @@ sub file_system { | ||||
| 					     \$filesystem_window); | ||||
| 	$filesystem_window->signal_connect("delete_event", \&destroy_window, | ||||
| 					     \$filesystem_window); | ||||
| 	$filesystem_window->signal_connect("key_press_event", sub { | ||||
| 	    my $event = pop @_;  | ||||
| 	    if ($event->{'keyval'}) { | ||||
| 		if ($event->{'keyval'} == 65307) { | ||||
| 		    $filesystem_window->destroy; | ||||
| 		    undef $offset; | ||||
| 		} | ||||
| 	    } | ||||
| 	}, | ||||
| 	); | ||||
| 	$filesystem_window->set_policy( $true, $true, $false ); | ||||
| 	$filesystem_window->set_default_size( 300, 90 );  | ||||
| 	$filesystem_window->set_title( "Filesystem Box" ); | ||||
| @ -306,8 +362,25 @@ sub file_system { | ||||
| 
 | ||||
| 	#_______________________________________ | ||||
| 	# UML Exclusively | ||||
| 	my $uml_exclusively = new Gtk::CheckButton("UML Exclusively"); | ||||
| 	#$uml_exclusively->signal_connect("clicked", \&which_stage, "check");  | ||||
| 	# | ||||
| 	# root = not selected | ||||
| 	# normal user = forced selected if $fs_size > 8192 otherwise | ||||
| 	#               not selected. | ||||
| 	# | ||||
| 
 | ||||
| 	$uml_exclusively = new Gtk::CheckButton("UML Exclusively"); | ||||
| 	$uml_exclusively->active($uml_expect{uml_exclusively}); | ||||
| 	$uml_exclusively->signal_connect("button_press_event",  | ||||
| 		       sub {   | ||||
| 			   if ( $uml_exclusively->get_active() == 1 ) { | ||||
| 			       $uml_expect{uml_exclusively} = 0; | ||||
| 			   } | ||||
| 			   else { | ||||
| 			       $uml_expect{uml_exclusively} = 1; | ||||
| 
 | ||||
| 			   } | ||||
| 
 | ||||
| 		       }); | ||||
| 	$table_filesystem->attach($uml_exclusively,0,1,1,2,['expand'], | ||||
| 				  ['fill','shrink'],0,0); | ||||
| 	$uml_exclusively->show;        | ||||
| @ -315,11 +388,27 @@ sub file_system { | ||||
| 
 | ||||
| 	#_______________________________________ | ||||
| 	# Preserve Permissions | ||||
| 	# | ||||
| 	# root = selected | ||||
| 	# normal user = not selected | ||||
| 	# | ||||
| 	my $preserve_permissions = new  | ||||
| 	  Gtk::CheckButton("Preserve Permissions"); | ||||
| 	#$uml_exclusively->signal_connect("clicked", \&which_stage, "check");  | ||||
| 	$table_filesystem->attach($preserve_permissions,2,3,1,2,['expand'], | ||||
| 				  ['fill','shrink'],0,0); | ||||
| 	$preserve_permissions->active($uml_expect{preserve_permissions}); | ||||
|         $preserve_permissions->signal_connect("button_press_event",  | ||||
|                           sub {  | ||||
| 			      if ( $preserve_permissions->get_active() == 1 ) { | ||||
| 				  $uml_expect{preserve_permissions} = 0; | ||||
| 			      } | ||||
| 			      else { | ||||
| 				  $uml_expect{preserve_permissions} = 1; | ||||
| 	     | ||||
| 			      } | ||||
| 	 | ||||
| 			  }); | ||||
| 	$preserve_permissions->show;        | ||||
| 
 | ||||
| 
 | ||||
| @ -633,8 +722,8 @@ sub continue { | ||||
| 
 | ||||
| sub check { | ||||
| 
 | ||||
|     my $error = read_contents_file("$template_dir$template", $tmp, | ||||
| 				   $filesystem_size); | ||||
|     my $error = read_contents_file( "$template_dir$template", $tmp, | ||||
| 				    $filesystem_size ); | ||||
|     return if $error && $error eq "ERROR"; | ||||
| 
 | ||||
| } | ||||
| @ -705,7 +794,7 @@ sub create { | ||||
| #			       $mod_bool,$strip_bool); | ||||
| 
 | ||||
|     my $error = create_filesystem($filename,$filesystem_size,$tmp,$lib_bool, | ||||
| 			       $bin_bool,$mod_bool,$strip_bool); | ||||
| 			       $bin_bool,$mod_bool,$strip_bool, \%uml_expect); | ||||
|     return if $error && $error eq "ERROR"; | ||||
| 
 | ||||
| } | ||||
| @ -886,6 +975,9 @@ sub yard_box { | ||||
|     $vbox->pack_start( $table, $true, $true, 0 ); | ||||
|     $table->show( ); | ||||
| 
 | ||||
|     # This is necessary because the symbols are dependent on %ars for now. | ||||
|     ##filesystem_size(); | ||||
|      | ||||
|     #_______________________________________  | ||||
|     # Manipulate Gtk::ItemFactory -  | ||||
|     # The trick here is to use the real path. | ||||
| @ -2268,15 +2360,3 @@ sub file_ok_sel { | ||||
| 
 | ||||
| 
 | ||||
| 1; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user