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