config.cpp Corretto salvataggio di valori che sono delle token string
golem.cpp Corretto editing tramite bottoni git-svn-id: svn://10.65.10.50/trunk@5562 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									5c8e3ccdc8
								
							
						
					
					
						commit
						2a831c5f10
					
				| @ -73,13 +73,13 @@ void TConfig::_write_paragraph( | |||||||
|     for (THash_object* o = _data.get_hashobj(); o; o = _data.get_hashobj()) |     for (THash_object* o = _data.get_hashobj(); o; o = _data.get_hashobj()) | ||||||
|       out << o->key() << " = " << (TString&)(o->obj()) << '\n'; |       out << o->key() << " = " << (TString&)(o->obj()) << '\n'; | ||||||
| */ | */ | ||||||
|     TString_array a; list_variables(a, TRUE); |     TString_array a; list_variables(a, FALSE); | ||||||
|     a.sort(); |     a.sort(); | ||||||
|     for (int i = 0; i < a.items(); i++) |     for (int i = 0; i < a.items(); i++) | ||||||
|     { |     { | ||||||
|       TToken_string& row = a.row(i); |       TToken_string& name = a.row(i); | ||||||
|       out << row.get(0) << " = "; |       out << name << " = "; | ||||||
|       out << row.get() << endl; |       out << get(name) << endl; | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     out << endl; |     out << endl; | ||||||
|  | |||||||
| @ -92,38 +92,52 @@ HIDDEN word file2icon(const char* filename) | |||||||
| { | { | ||||||
|   word icon = 0; |   word icon = 0; | ||||||
| 
 | 
 | ||||||
|   char ext[_MAX_EXT]; |   TString ext(_MAX_EXT); | ||||||
|   if (*filename == '.') |   if (*filename == '.' && strlen(filename) < _MAX_EXT) | ||||||
|     strncpy(ext, filename, _MAX_EXT); |     ext = filename; | ||||||
|   else                    |   else                    | ||||||
|   {          |   {          | ||||||
|     if (internet_address(filename)) |     if (internet_address(filename)) | ||||||
|       strcpy(ext, ".htm");                       |       ext = ".htm";                       | ||||||
|     else   |     else   | ||||||
|       _splitpath(filename, NULL, NULL, NULL, ext); |       _splitpath(filename, NULL, NULL, NULL, ext.get_buffer()); | ||||||
|   }   |   }   | ||||||
|  |   ext.lower(); | ||||||
|    |    | ||||||
|   int icon_number = 0; |   int icon_number = 0; | ||||||
|   TFilename key; |   TFilename key; | ||||||
| 
 | 
 | ||||||
|   if (stricmp(ext, ".exe") != 0) |   if (ext != ".exe") | ||||||
|   {               |   {               | ||||||
|     if (get_reg_key(HKEY_CLASSES_ROOT, ext, key) == ERROR_SUCCESS) |     // Prima controlla il mio registro delle applicazioni ...
 | ||||||
|  |     TConfig link(CONFIG_USER, "Link"); | ||||||
|  |     key = link.get(ext.mid(1, -1));  // Ignora il .
 | ||||||
|  | 
 | ||||||
|  |     if (key.not_empty())     | ||||||
|     { |     { | ||||||
|       key << "\\DefaultIcon";                                      |       ext = key.ext(); | ||||||
|       if (get_reg_key(HKEY_CLASSES_ROOT, key, key) == ERROR_SUCCESS)  // Windows 95 only
 |       if (ext.empty()) | ||||||
|  |         key.ext("exe"); | ||||||
|  |     } | ||||||
|  |     else  // ... poi controlla il registro di Windows
 | ||||||
|  |     { | ||||||
|  |       if (get_reg_key(HKEY_CLASSES_ROOT, ext, key) == ERROR_SUCCESS) | ||||||
|       {                      |       {                      | ||||||
|         const int comma = key.find(','); |         key << "\\DefaultIcon";                                      | ||||||
|         if (comma > 0) |         if (get_reg_key(HKEY_CLASSES_ROOT, key, key) == ERROR_SUCCESS)  // Windows 95 only
 | ||||||
|         { |         { | ||||||
|           icon_number = atoi(key.mid(comma+1)); |           const int comma = key.find(','); | ||||||
|           key.cut(comma); |           if (comma > 0) | ||||||
|  |           { | ||||||
|  |             icon_number = atoi(key.mid(comma+1)); | ||||||
|  |             key.cut(comma); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |         else | ||||||
|  |         { | ||||||
|  |           if (!file2app(filename, key)) | ||||||
|  |             file2app(".htm", key); | ||||||
|         }   |         }   | ||||||
|       } |  | ||||||
|       else |  | ||||||
|       { |  | ||||||
|         if (!file2app(filename, key)) |  | ||||||
|           file2app(".htm", key); |  | ||||||
|       } |       } | ||||||
|     }   |     }   | ||||||
|   }   |   }   | ||||||
| @ -147,6 +161,18 @@ HIDDEN word file2icon(const char* filename) | |||||||
| 
 | 
 | ||||||
| HIDDEN bool goto_url(const char* url) | HIDDEN bool goto_url(const char* url) | ||||||
| { | { | ||||||
|  |   TFilename app(url); | ||||||
|  | 
 | ||||||
|  |   TConfig link(CONFIG_USER, "Link"); | ||||||
|  |   app = link.get(app.ext()); | ||||||
|  |   if (app.not_empty())     | ||||||
|  |   { | ||||||
|  |     app << ' ' << url; | ||||||
|  |     UINT error = WinExec(app, SW_SHOWNORMAL); | ||||||
|  |     if (error > 32) | ||||||
|  |       return TRUE; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   bool retflag = FALSE; |   bool retflag = FALSE; | ||||||
|    |    | ||||||
|   HINSTANCE hinst = ShellExecute(NULL, "open", url, NULL, NULL, SW_SHOWNORMAL); |   HINSTANCE hinst = ShellExecute(NULL, "open", url, NULL, NULL, SW_SHOWNORMAL); | ||||||
| @ -154,7 +180,6 @@ HIDDEN bool goto_url(const char* url) | |||||||
|   UINT error = UINT(winst);  // Tutto 'sto giro per evitare un warning
 |   UINT error = UINT(winst);  // Tutto 'sto giro per evitare un warning
 | ||||||
|   if (error <= 32) |   if (error <= 32) | ||||||
|   {     |   {     | ||||||
|     TFilename app(_MAX_PATH); |  | ||||||
|     if (file2app(".htm", app)) |     if (file2app(".htm", app)) | ||||||
|     { |     { | ||||||
|       app << ' ' << url; |       app << ' ' << url; | ||||||
| @ -315,23 +340,25 @@ bool TGolem_mask::ole_handler(TMask_field& f, KEY k) | |||||||
|   if (k == K_SPACE) |   if (k == K_SPACE) | ||||||
|   {      |   {      | ||||||
|     TSheet_field& sheet = f.mask().sfield(F_SHEET); |     TSheet_field& sheet = f.mask().sfield(F_SHEET); | ||||||
|     if (sheet.items() == 0) |  | ||||||
|       sheet.row(-1); |  | ||||||
| 
 |  | ||||||
|     sheet.check_row(sheet.selected()); |  | ||||||
|     TMask& sm = sheet.sheet_mask(); |     TMask& sm = sheet.sheet_mask(); | ||||||
|  | 
 | ||||||
|  |     int selected = sheet.selected(); | ||||||
|  |     if (sheet.items() == 0 || !sm.field(S_FILE).empty()) | ||||||
|  |     { | ||||||
|  |       sheet.row(-1); | ||||||
|  |       selected = sheet.items()-1; | ||||||
|  |     }   | ||||||
|  |     sheet.check_row(selected); | ||||||
|  | 
 | ||||||
|     TString16 ext = f.prompt(); |     TString16 ext = f.prompt(); | ||||||
|     if (ext[0] != '.')  |     if (ext[0] != '.')  | ||||||
|       ext.insert(".", 0); |       ext.insert(".", 0); | ||||||
|      |      | ||||||
|     TFilename file = sm.get(S_FILE); |     TFilename file; | ||||||
|     if (file.blank()) |     file.temp(NULL, ext); | ||||||
|     { |     sm.set(S_FILE, file); | ||||||
|       file.temp(NULL, ext); |     ofstream out(file); | ||||||
|       sm.set(S_FILE, file); |     sheet.row(selected) = file; | ||||||
|       ofstream out(file); |  | ||||||
|       sheet.row(sheet.selected()) = file; |  | ||||||
|     }   |  | ||||||
|     sheet.force_update(); |     sheet.force_update(); | ||||||
| 
 | 
 | ||||||
|     TFilename app; file2app(ext, app); |     TFilename app; file2app(ext, app); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user