ソースを参照

Add files via upload

Capitan Cloud 1 年間 前
コミット
2d29baf3ca
4 ファイル変更89 行追加79 行削除
  1. 31 30
      file.tcl
  2. 8 15
      filelib.tcl
  3. 3 3
      radxide.tcl
  4. 47 31
      tree.tcl

+ 31 - 30
file.tcl

@@ -297,37 +297,38 @@ namespace eval file {
       set initialdir [string range $project(CUR_FILE_PATH) 0 [expr [string last "/" $project(CUR_FILE_PATH)]-1]]
       set initialfile [string range $project(CUR_FILE_PATH) [expr [string last "/" $project(CUR_FILE_PATH)]+1] end]
       
-			set types {
-					{{HTML Files}       {.html}       }					
-					{{PHP Files}        {.php}        }
-					{{INC Files}        {.inc}        }
-					{{All Files}        *             }
-			}
-			set orifilepath [tk_getSaveFile -initialdir $initialdir -initialfile $initialfile -filetypes $types -defaultextension .php]
-			
-			if {$orifilepath eq ""} {return}
-			
-			# Check: Parent path must equal to Working Dir..
-			if {([string first $project(ROOT)/Private $orifilepath] eq -1) && ([string first $project(ROOT)/Public $orifilepath] eq -1)} {
+								set types {
+										{{HTML Files}       {.html}       }					
+										{{PHP Files}        {.php}        }
+										{{INC Files}        {.inc}        }
+										{{All Files}        *             }
+								}
+								set orifilepath [tk_getSaveFile -initialdir $initialdir -initialfile $initialfile -filetypes $types -defaultextension .php]
+								
+								if {$orifilepath eq ""} {return}
+								
+								# Check: Parent path must equal to Working Dir..
+								if {([string first $project(ROOT)/Private $orifilepath] eq -1) && ([string first $project(ROOT)/Public $orifilepath] eq -1)} {
+								
+			      tk_messageBox -title $dan(TITLE) -icon error -message "File must be saved inside a valid destination in the Working Dir ($project(ROOT)) !"			
+										return
+								}			
 			
-	      tk_messageBox -title $dan(TITLE) -icon error -message "File must be saved inside a valid destination in the Working Dir ($project(ROOT)) !"			
-				return
-				
-			}			
-			
-		  set fname $orifilepath
-		  
-		} else {   
-
-		  set fname $project(CUR_FILE_PATH)
+					  set fname $orifilepath
+			  
+					} else {   
 
-    }
+						 set fname $project(CUR_FILE_PATH)
+			    }
 		  
-	  set t $dan(TEXT)
-	  set stxt [string trim [$t get 1.0 end]]
-	   
-	  ::radxide::filelib::saveFile $fname $stxt
- 
+		  set t $dan(TEXT)
+		  set stxt [string trim [$t get 1.0 end]]
+	    
+	   if {![file writable $fname]} { 
+      tk_messageBox -title $dan(TITLE) -icon error -message "File not writable!"			
+	   } else {
+  		   ::radxide::filelib::saveFile $fname $stxt
+  		    }
   }
 
 #_________________________ saveFileAs ______________________ #
@@ -342,9 +343,9 @@ namespace eval file {
     
     namespace upvar ::radxide project project
 
-		if {$project(CUR_FILE_PATH) ne ""} {
+    if {$project(CUR_FILE_PATH) ne ""} {
       saveFileByName yes
-    }
+         }
 	}
 
 #_________________________ saveFile ______________________ #

+ 8 - 15
filelib.tcl

@@ -107,26 +107,19 @@ namespace eval filelib {
 		#   reload - if yes, loads the file even if it has a "strange" extension
 		#   islist - if yes, *fnames* is a file list
 		#   Message - name of procedure for "open file" message
-    # Return the content of the file
+  # Return the content of the file
     
     namespace upvar ::radxide dan dan
 
     set ret ""
 
-    if {$fname ne ""} {
-
-		  if {[file size $fname] > $dan(MAXFILESIZE)} {
-		    tk_messageBox -title $dan(TITLE) -icon error -message "File exceed MAXFILESIZE=$dan(MAXFILESIZE)"
-		    return $ret
-		  }
-
-			set fh [open $fname {RDONLY}]
-			set ret [set data [read $fh]]
-			close $fh
-
-    }
-		
-		return $ret
+    if {$fname ne "" && [file exists $fname]} {
+							 set fh [open $fname {RDONLY}]
+							 set ret [set data [read $fh]]
+							 close $fh
+					}
+						
+		  return $ret
 	}
 
 # __________________________ saveFile _________________________ #

+ 3 - 3
radxide.tcl

@@ -28,7 +28,7 @@
 #
 ###########################################################
 
-set version "1.4.3" 
+set version "1.4.5" 
 set os "$::tcl_platform(os) $::tcl_platform(osVersion)"
 
 package provide radxide $version
@@ -139,8 +139,8 @@ namespace eval radxide {
   set dan(fgbranch) "blue"    
   set dan(CHARFAMILY) "Sans"
   set dan(CHARSIZE) 10
-  set dan(MAXFILES) 1000
-  set dan(MAXFILESIZE) 65534
+  set dan(MAXFILES) 8000
+  set dan(MAXFILESIZE) 150000
   set dan(MAXFINDLENGTH) 50 
   set dan(TAB_IN_SPACE) "  "
    

+ 47 - 31
tree.tcl

@@ -657,37 +657,53 @@ namespace eval tree {
 		  if {[set ID [$tree selection]] eq {}} return
 		}
 		lassign [$tree item $ID -values] -> fname isfile
-		if {$isfile && (![isBin $fname]) && (![isImage $fname])} {
-		  $dan(TEXT) config -state normal
-		  $dan(TEXT) delete 1.0 end 
-		  $dan(TEXT) insert 1.0 [::radxide::filelib::openFile $fname]
-		  ::radxide::win::fillGutter $dan(TEXT) $dan(GUTTEXT) 5 1 "#FFFFFF" "#222223"
-			
-		  # Update menu
-	    $menu(FILE) entryconfigure $menu(SAVE_ENTRY_IDX) -state normal
-	    $menu(FILE) entryconfigure $menu(SAVE_AS_ENTRY_IDX) -state normal
-	    $menu(FILE) entryconfigure $menu(CLOSE_ENTRY_IDX) -state normal
-	    $menu(EDIT) entryconfigure $menu(UNDO_ENTRY_IDX) -state normal
-	    $menu(EDIT) entryconfigure $menu(REDO_ENTRY_IDX) -state normal
-	    $menu(EDIT) entryconfigure $menu(COPY_ENTRY_IDX) -state normal
-	    $menu(EDIT) entryconfigure $menu(PASTE_ENTRY_IDX) -state normal
-	    $menu(EDIT) entryconfigure $menu(CUT_ENTRY_IDX) -state normal	
-	    $menu(EDIT) entryconfigure $menu(INDENT_ENTRY_IDX) -state normal
-	    $menu(EDIT) entryconfigure $menu(UNINDENT_ENTRY_IDX) -state normal	    
-	    $menu(EDIT) entryconfigure $menu(FIND_ENTRY_IDX) -state normal
-	    $menu(EDIT) entryconfigure $menu(GOTO_ENTRY_IDX) -state normal	    
-	    
-	    set project(CUR_FILE_PATH) $fname
-	    
-	    $dan(TEXT) edit reset
-	    
-	    focus $dan(TEXT)
-	    ::tk::TextSetCursor $dan(TEXT) @0,0
-	    
-	    ::radxide::main::updateAppTitle
-	    		  
-		  # after idle {alited::bar::BAR draw; alited::tree::UpdateFileTree}
-		}
+		if {![file exists $fname]} {
+		
+				tk_messageBox -title $dan(TITLE) -icon error -message "File doesn't exist!"
+	  	return		
+	  	
+	 }	 else {
+		
+		 	if {[file size $fname] > $dan(MAXFILESIZE)} {
+				  tk_messageBox -title $dan(TITLE) -icon error -message "File exceed MAXFILESIZE=$dan(MAXFILESIZE)"
+	  			return
+				 }
+		
+				if {$isfile && (![isBin $fname]) && (![isImage $fname])} {
+					 $dan(TEXT) config -state normal
+					 $dan(TEXT) delete 1.0 end 
+					 $dan(TEXT) insert 1.0 [::radxide::filelib::openFile $fname]
+					 ::radxide::win::fillGutter $dan(TEXT) $dan(GUTTEXT) 5 1 "#FFFFFF" "#222223"
+					
+					 # Update menu
+				  $menu(FILE) entryconfigure $menu(SAVE_ENTRY_IDX) -state normal
+				  $menu(FILE) entryconfigure $menu(SAVE_AS_ENTRY_IDX) -state normal
+				  $menu(FILE) entryconfigure $menu(CLOSE_ENTRY_IDX) -state normal
+				  $menu(EDIT) entryconfigure $menu(UNDO_ENTRY_IDX) -state normal
+				  $menu(EDIT) entryconfigure $menu(REDO_ENTRY_IDX) -state normal
+				  $menu(EDIT) entryconfigure $menu(COPY_ENTRY_IDX) -state normal
+				  $menu(EDIT) entryconfigure $menu(PASTE_ENTRY_IDX) -state normal
+				  $menu(EDIT) entryconfigure $menu(CUT_ENTRY_IDX) -state normal	
+				  $menu(EDIT) entryconfigure $menu(INDENT_ENTRY_IDX) -state normal
+				  $menu(EDIT) entryconfigure $menu(UNINDENT_ENTRY_IDX) -state normal	    
+				  $menu(EDIT) entryconfigure $menu(FIND_ENTRY_IDX) -state normal
+				  $menu(EDIT) entryconfigure $menu(GOTO_ENTRY_IDX) -state normal	    
+					
+				  set project(CUR_FILE_PATH) $fname
+					
+				  $dan(TEXT) edit reset
+					
+				  focus $dan(TEXT)
+				  ::tk::TextSetCursor $dan(TEXT) @0,0
+					
+				  ::radxide::main::updateAppTitle
+							  
+					 # after idle {alited::bar::BAR draw; alited::tree::UpdateFileTree}
+				 } else {	 
+ 			  tk_messageBox -title $dan(TITLE) -icon error -message "File is binary or a folder!"
+	  			return
+				 }
+		 }		
 	}