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)
|
: TMask(name, 1, dx, dy, x, y), _submenu(NULL), _logo(NULL)
|
||||||
{
|
{
|
||||||
set_current(submenu);
|
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 (_logo->ok())
|
||||||
{
|
{
|
||||||
if (can_be_transparent(*_logo))
|
if (can_be_transparent(*_logo))
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#include <config.h>
|
||||||
#include <controls.h>
|
#include <controls.h>
|
||||||
#include <diction.h>
|
#include <diction.h>
|
||||||
#include <prefix.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_img = (double)_max_side;
|
||||||
const double max_lgo = rct.right - _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 ratiox = max_img / image.width();
|
||||||
const double ratioy = max_img / image.height();
|
const double ratioy = max_img / image.height();
|
||||||
@ -451,7 +452,7 @@ TImage* TMenulist_images::image(const char* name)
|
|||||||
TObject* obj = objptr(name);
|
TObject* obj = objptr(name);
|
||||||
if (obj == NULL &&
|
if (obj == NULL &&
|
||||||
xvt_str_compare_ignoring_case(name, "ba00") != 0 &&
|
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");
|
obj = objptr("ba00");
|
||||||
return (TImage*)obj;
|
return (TImage*)obj;
|
||||||
}
|
}
|
||||||
@ -602,7 +603,7 @@ void TMenulist_window::update()
|
|||||||
img->draw(win(), x, y);
|
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
|
if (logo != NULL) //disegna il logo
|
||||||
{
|
{
|
||||||
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
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
|
xvt_pane_add(panel, dlg2win(DLG_TREE), "Menu", 1, 0); // Left pane
|
||||||
set_handlers();
|
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);
|
bool can_be_transparent(const TImage& i);
|
||||||
void draw_spider(WINDOW win, int mode, const PNT& mouse);
|
void draw_spider(WINDOW win, int mode, const PNT& mouse);
|
||||||
void enable_options_menu(bool on);
|
void enable_options_menu(bool on);
|
||||||
|
const TString& get_logo();
|
||||||
|
|
||||||
#endif
|
#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,
|
TBook_window::TBook_window(int x, int y, int dx, int dy,
|
||||||
WINDOW parent, TWindowed_field* owner)
|
WINDOW parent, TWindowed_field* owner)
|
||||||
: TControl_host_window(x, y, dx, dy, parent, owner), _logo("menulogo")
|
: TControl_host_window(x, y, dx, dy, parent, owner), _logo("")
|
||||||
{
|
{
|
||||||
set_logo("menulogo");
|
set_logo(get_logo());
|
||||||
}
|
}
|
||||||
|
|
||||||
TBook_window::~TBook_window()
|
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_OK, 0, "", -12, -1, 10, 2);
|
||||||
mask.add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
|
mask.add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
|
||||||
|
|
||||||
TConfig ini("install.ini", "Main");
|
//nuovo modo di gettare il producer da oem.ini
|
||||||
mask.set(101, ::decode(ini.get("Producer")));
|
TConfig oemini(CONFIG_OEM, "MAIN");
|
||||||
mask.set(102, ::decode(ini.get("Administrator")));
|
const int oem = oemini.get_int("OEM", NULL, -1, -1);
|
||||||
mask.set(103, ::decode(ini.get("Password")));
|
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)
|
if (mask.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
ini.set("Producer", ::encode(mask.get(101)));
|
oemini.set("Name", ::encode(mask.get(101)));
|
||||||
ini.set("Administrator", ::encode(mask.get(102)));
|
oemini.set("Administrator", ::encode(mask.get(102)));
|
||||||
ini.set("Password", ::encode(mask.get(103)));
|
oemini.set("Password", ::encode(mask.get(103)));
|
||||||
|
if (oem < 0)
|
||||||
|
oemini.set("OEM", "0", "MIAN", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -32,10 +32,21 @@
|
|||||||
///////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////
|
||||||
// Metodi di utility
|
// Metodi di utility
|
||||||
///////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////
|
||||||
HIDDEN const char* http_default_path()
|
HIDDEN const TString& http_default_path()
|
||||||
{
|
{
|
||||||
//da compilare in base al producer!
|
//nuovo modo di gettare il producer da oem.ini
|
||||||
return "www.aga.it/agarel100/";
|
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)
|
HIDDEN int compare_version(const char* v1, int p1, const char* v2, int p2)
|
||||||
@ -387,15 +398,12 @@ bool TInstaller_mask::autoload()
|
|||||||
force_update();
|
force_update();
|
||||||
|
|
||||||
TString_array modules;
|
TString_array modules;
|
||||||
TString producer;
|
|
||||||
|
|
||||||
//cerca sull'install.ini di origine se lo trova (ininame e' il path dell'install.ini remoto)
|
//cerca sull'install.ini di origine se lo trova (ininame e' il path dell'install.ini remoto)
|
||||||
if (ininame.exist())
|
if (ininame.exist())
|
||||||
{
|
{
|
||||||
// Presente il file ini generale "install.ini" (moduli;immagine cd)
|
// Presente il file ini generale "install.ini" (moduli;immagine cd)
|
||||||
TInstall_ini ini(ininame);
|
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 ***
|
ini.list_paragraphs(modules); //riempie modules con la lista dei paragrafi sul .ini ***
|
||||||
|
|
||||||
FOR_EACH_ARRAY_ROW(modules, i, row)
|
FOR_EACH_ARRAY_ROW(modules, i, row)
|
||||||
@ -483,10 +491,8 @@ bool TInstaller_mask::autoload()
|
|||||||
TFilename file;
|
TFilename file;
|
||||||
|
|
||||||
installini.list_paragraphs(paragrafi);
|
installini.list_paragraphs(paragrafi);
|
||||||
//settaggio del produttore sull'install.ini locale nel caso sia cambiato..
|
// rimozione del produttore sull'install.ini locale ora obsoleto..
|
||||||
//..ovvero ad ogni nuova versione prassi..no partners..cioe' doubleone..volevo dire sirio..
|
installini.remove("Producer");
|
||||||
if (producer.full())
|
|
||||||
installini.set("Producer", (const char*)producer, "Main");
|
|
||||||
|
|
||||||
FOR_EACH_ARRAY_ROW(modules, am, arow)
|
FOR_EACH_ARRAY_ROW(modules, am, arow)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user