Patch level :10.0 CD 210
Files correlati : Ricompilazione Demo : [ ] Commento :roba per il cd multiproducer (fighissima); da terminare il funzionamento sui diversi formati di menu git-svn-id: svn://10.65.10.50/trunk@18009 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c0350045af
commit
318605e86c
@ -260,7 +260,11 @@ TPicture_mask::TPicture_mask(const char* name, int dx, int dy,
|
||||
: TMask(name, 1, dx, dy, x, y), _submenu(NULL), _logo(NULL)
|
||||
{
|
||||
set_current(submenu);
|
||||
_logo = new TImage("menulogo");
|
||||
|
||||
//trova il logo corretto in base al producer
|
||||
const TString& currlogo = get_logo();
|
||||
_logo = new TImage(currlogo);
|
||||
|
||||
if (_logo->ok())
|
||||
{
|
||||
if (can_be_transparent(*_logo))
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <config.h>
|
||||
#include <controls.h>
|
||||
#include <diction.h>
|
||||
#include <prefix.h>
|
||||
@ -399,7 +400,7 @@ TObject* TMenulist_images::key2obj(const char* key)
|
||||
const double max_img = (double)_max_side;
|
||||
const double max_lgo = rct.right - _max_side;
|
||||
|
||||
if (xvt_str_compare_ignoring_case(key,"menulogo") != 0)
|
||||
if (xvt_str_compare_ignoring_case(key, get_logo()) != 0)
|
||||
{
|
||||
const double ratiox = max_img / image.width();
|
||||
const double ratioy = max_img / image.height();
|
||||
@ -451,7 +452,7 @@ TImage* TMenulist_images::image(const char* name)
|
||||
TObject* obj = objptr(name);
|
||||
if (obj == NULL &&
|
||||
xvt_str_compare_ignoring_case(name, "ba00") != 0 &&
|
||||
xvt_str_compare_ignoring_case(name, "menulogo") != 0)
|
||||
xvt_str_compare_ignoring_case(name, get_logo()) != 0)
|
||||
obj = objptr("ba00");
|
||||
return (TImage*)obj;
|
||||
}
|
||||
@ -602,7 +603,7 @@ void TMenulist_window::update()
|
||||
img->draw(win(), x, y);
|
||||
}
|
||||
|
||||
TImage* logo = db ? _images.image("menulogo") : NULL; //logo del programma
|
||||
TImage* logo = db ? _images.image(get_logo()) : NULL; //logo del programma
|
||||
if (logo != NULL) //disegna il logo
|
||||
{
|
||||
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
||||
@ -1254,3 +1255,28 @@ TExplorer_mask::TExplorer_mask(TMenu& menu) : _tree(menu)
|
||||
xvt_pane_add(panel, dlg2win(DLG_TREE), "Menu", 1, 0); // Left pane
|
||||
set_handlers();
|
||||
}
|
||||
|
||||
const TString& get_logo()
|
||||
{
|
||||
static TFilename currlogo;
|
||||
|
||||
if (currlogo.blank())
|
||||
{
|
||||
//seleziona il logo da usare in base al producer!!
|
||||
TConfig oemini(CONFIG_OEM, "MAIN");
|
||||
const int oem = oemini.get_int("OEM", NULL, -1, -1);
|
||||
|
||||
if (oem >= 0)
|
||||
{
|
||||
TString8 para; para << "OEM_" << oem;
|
||||
currlogo = oemini.get("Logo", para);
|
||||
if (currlogo.full())
|
||||
currlogo.insert("setup/");
|
||||
}
|
||||
//se non trova il logo del producer usa il logo standard
|
||||
if (currlogo.blank())
|
||||
currlogo = "menulogo.jpg";
|
||||
}
|
||||
|
||||
return currlogo;
|
||||
}
|
||||
|
@ -126,5 +126,6 @@ void synchronize_tree_field(TTree_field& tf);
|
||||
bool can_be_transparent(const TImage& i);
|
||||
void draw_spider(WINDOW win, int mode, const PNT& mouse);
|
||||
void enable_options_menu(bool on);
|
||||
const TString& get_logo();
|
||||
|
||||
#endif
|
||||
|
@ -295,9 +295,9 @@ void TBook_window::set_logo(const char* logo)
|
||||
|
||||
TBook_window::TBook_window(int x, int y, int dx, int dy,
|
||||
WINDOW parent, TWindowed_field* owner)
|
||||
: TControl_host_window(x, y, dx, dy, parent, owner), _logo("menulogo")
|
||||
{
|
||||
set_logo("menulogo");
|
||||
: TControl_host_window(x, y, dx, dy, parent, owner), _logo("")
|
||||
{
|
||||
set_logo(get_logo());
|
||||
}
|
||||
|
||||
TBook_window::~TBook_window()
|
||||
|
@ -758,15 +758,36 @@ bool TAttivazione_moduli::aga_handler(TMask_field& fld, KEY key)
|
||||
mask.add_button(DLG_OK, 0, "", -12, -1, 10, 2);
|
||||
mask.add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
|
||||
|
||||
TConfig ini("install.ini", "Main");
|
||||
mask.set(101, ::decode(ini.get("Producer")));
|
||||
mask.set(102, ::decode(ini.get("Administrator")));
|
||||
mask.set(103, ::decode(ini.get("Password")));
|
||||
//nuovo modo di gettare il producer da oem.ini
|
||||
TConfig oemini(CONFIG_OEM, "MAIN");
|
||||
const int oem = oemini.get_int("OEM", NULL, -1, -1);
|
||||
if (oem >= 0)
|
||||
{
|
||||
TString8 para; para << "OEM_" << oem;
|
||||
oemini.set_paragraph(para);
|
||||
mask.set(101, ::decode(oemini.get("Name")));
|
||||
mask.set(102, ::decode(oemini.get("Administrator")));
|
||||
mask.set(103, ::decode(oemini.get("Password")));
|
||||
}
|
||||
else //vecchio modo; già che c'è elimina i vecchi valori dall'install.ini
|
||||
{
|
||||
TConfig ini("install.ini", "Main");
|
||||
mask.set(101, ::decode(ini.get("Producer")));
|
||||
mask.set(102, ::decode(ini.get("Administrator")));
|
||||
mask.set(103, ::decode(ini.get("Password")));
|
||||
ini.remove("Producer");
|
||||
ini.remove("Administrator");
|
||||
ini.remove("Password");
|
||||
}
|
||||
|
||||
//setta comunque nel nuovo modo con producer = 0 se eventualmente ignoto
|
||||
if (mask.run() == K_ENTER)
|
||||
{
|
||||
ini.set("Producer", ::encode(mask.get(101)));
|
||||
ini.set("Administrator", ::encode(mask.get(102)));
|
||||
ini.set("Password", ::encode(mask.get(103)));
|
||||
oemini.set("Name", ::encode(mask.get(101)));
|
||||
oemini.set("Administrator", ::encode(mask.get(102)));
|
||||
oemini.set("Password", ::encode(mask.get(103)));
|
||||
if (oem < 0)
|
||||
oemini.set("OEM", "0", "MIAN", true);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -32,10 +32,21 @@
|
||||
///////////////////////////////////////////////////////
|
||||
// Metodi di utility
|
||||
///////////////////////////////////////////////////////
|
||||
HIDDEN const char* http_default_path()
|
||||
HIDDEN const TString& http_default_path()
|
||||
{
|
||||
//da compilare in base al producer!
|
||||
return "www.aga.it/agarel100/";
|
||||
//nuovo modo di gettare il producer da oem.ini
|
||||
TConfig oemini(CONFIG_OEM, "MAIN");
|
||||
const int oem = oemini.get_int("OEM", NULL, -1, -1);
|
||||
TString& tmp = get_tmp_string();
|
||||
if (oem >= 0)
|
||||
{
|
||||
TString8 para; para << "OEM_" << oem;
|
||||
tmp = oemini.get("Web", para);
|
||||
}
|
||||
if (tmp.blank())
|
||||
tmp = "www.aga.it/release100/";
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
HIDDEN int compare_version(const char* v1, int p1, const char* v2, int p2)
|
||||
@ -387,15 +398,12 @@ bool TInstaller_mask::autoload()
|
||||
force_update();
|
||||
|
||||
TString_array modules;
|
||||
TString producer;
|
||||
|
||||
//cerca sull'install.ini di origine se lo trova (ininame e' il path dell'install.ini remoto)
|
||||
if (ininame.exist())
|
||||
{
|
||||
// Presente il file ini generale "install.ini" (moduli;immagine cd)
|
||||
TInstall_ini ini(ininame);
|
||||
//prende il producer dall'install.ini di origine installazione...non si sa mai che sia cambiato..
|
||||
producer = ini.get("Producer", "Main");
|
||||
ini.list_paragraphs(modules); //riempie modules con la lista dei paragrafi sul .ini ***
|
||||
|
||||
FOR_EACH_ARRAY_ROW(modules, i, row)
|
||||
@ -483,10 +491,8 @@ bool TInstaller_mask::autoload()
|
||||
TFilename file;
|
||||
|
||||
installini.list_paragraphs(paragrafi);
|
||||
//settaggio del produttore sull'install.ini locale nel caso sia cambiato..
|
||||
//..ovvero ad ogni nuova versione prassi..no partners..cioe' doubleone..volevo dire sirio..
|
||||
if (producer.full())
|
||||
installini.set("Producer", (const char*)producer, "Main");
|
||||
// rimozione del produttore sull'install.ini locale ora obsoleto..
|
||||
installini.remove("Producer");
|
||||
|
||||
FOR_EACH_ARRAY_ROW(modules, am, arow)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user