Newsgroup: it.comp.os.linux.development
Titolo: [gtk+/gnome] Uso del gnome_dateedit

Ciao.
Ho provato ad usare il widget di gnome in oggetto, ma mi sono
accorto che il formato della data e` per default in mm/gg/aaaa e non riesco
a riportarlo ad una forma piu` "italiana" gg/mm/aaaa.
Chiaramente, le
impostazioni locali sulla mia macchina sembrano essere corrette.
Chi mi
da una dritta?
Ci sono alternative per l'input delle date senza
ricorrere alle librerie gnome?
Grazie mille, Sandro.
--------------------------------
Inviato via 
http://usenet.iol.it

 impostazioni locali sulla mia macchina sembrano essere corrette.
IMHO, ma potrei sbagliarmi, è un problema di locale ugualmente.
Purtroppo ora non sono sulla mia Unix box, ma sono sotto una meno
blasonata winzozz machine e non posso indagare. Prova ad aggiornare
le librerie libgnomeui, se il problema continua (e sei sicuro di
avere la versione senza buco) io indagherei sul perché non
funziona strftime, in questo caso non ti posso essere di molto
aiuto (almeno finché non ritorno a casa). Fammi sapere se
risolvi che sono curioso :)
-- 
Vanni Brutto

 IMHO, ma potrei sbagliarmi, è un problema di locale ugualmente.
Sono appena tornato a casa e ho dato un'occhiata veloce al problema.
Confermo che è un problema di locale... il guaio è che non sono venuto a
capo di nulla! :(
Il widget è scritto in modo corretto. Qui sotto ti scrivo un sorgente di
esempio di strftime...
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <glib.h>
#include <locale.h>
static const char *strftime_date_format = "%x";
int main()
{
    char buffer [256];
    int year, month, day;
    struct tm mtm = {0};
    char *str_utf8;
    setlocale(LC_ALL, "it_IT");
    mtm.tm_mday = 10;
    mtm.tm_mon = 1;
    mtm.tm_year = 99;
    strftime (buffer, sizeof (buffer),
              strftime_date_format, &mtm);
    printf("data: %s\n", buffer);
    return 0;
}
Il seguente programma... funziona! Però se noti richiamo setlocale...
Nelle applicazioni GTK+ si deve chiamare gtk_set_locale(); che, in
teoria, si dovrebbe arrangiare a chiamare internamente setlocale con i
parametri corretti. IMHO il problema è quindi delle GTK+ e non del
widget. Appena ho tempo indago ulteriormente.
byeZ!
-- 
Vanni Brutto
| email 
za...@nofesso.libero.it
      |
| irc nick VanniB   |   ICQ 18526701 |
--- rimuovi nofesso per rispondere ---
---PC powered by Linux kernel 2.4.18za
Il   primo  passo   per  poter   veder
funzionare il  codice di  un programma
è,   ovviamente,  quello   di  saperlo
scrivere. --Peter Norton 

 esempio di strftime...
Ops! Avevo lamerato! Il widget è  corretto, GTK+ pure! Il problema è
che il widget usa strftime solo con l'ultimissa release, cioè quella
di  Gnome2, Gnome1.X  sembra ancora  bacato! Avevo  fatto un  po' di
casino, visto  che ho  il sistema  con su sia  Gnome1 che  Gnome2, e
avevo guardato il sorgente errato (oltre che aver lamerato e provato
il widget compilando il tutto con GTK+ 1.2).
byeZ!
-- 
Vanni Brutto
| email 
za...@nofesso.libero.it
      |
| irc nick VanniB   |   ICQ 18526701 |
--- rimuovi nofesso per rispondere ---
---PC powered by Linux kernel 2.4.18za
Windows-howto:  try   to  resolve  the
problem  by  restarting your  computer
several time. 

di
Gnome2, Gnome1.X  sembra ancora  bacato! 
OK. Dunque conviene che mi
scarichi la Gnome2?
Grazie mille Vanni.
Ciao, Sandro.


 scarichi la Gnome2?
Dipende. Se  hai voglia di portare  tutto in GTK+ 2.0  e di lavorare
per  qualche tempo  con  una  release non  ufficiale  la risposta  è
senz'altro  si. Molto  probabilmente  se quello  che  hai bisogno  è
semplicemente  una versione  funzionante  del widget  in oggetto  ti
consiglio di scaricare  i sorgenti di libgnomeui  bacati, i sorgenti
corretti, e cambiare il pezzetto di codice incriminato (sono un paio
di righe, quelle che avevo riportato nel primo post).
A questo punto puoi compilare  le libgnomeui corrette, e ottenere il
file  oggetto  di  gnome-data-edit,  in  questo  modo  puoi  linkare
staticamente la libreria corretta all tua applicazione, ottenendo in
questo  modo  un  eseguibile  che  funziona.  Anzi,  puoi  limitarti
a  linkare  staticamente  il   file  oggetto  di  gnome-data-edit...
incrementando   solamente   di  un   paio   di   kb  la   dimensione
dell'eseguibile.
In questo modo però se intendi distribuire il sorgente devi avvisare
del buco che è presente :(
byeZ!
-- 
Vanni Brutto
| email 
za...@nofesso.libero.it
      |
| irc nick VanniB   |   ICQ 18526701 |
--- rimuovi nofesso per rispondere ---
---PC powered by Linux kernel 2.4.18za
Microsoft  nega   qualsiasi  garanzia,
esplicita  o   implicita,  incluse  le
garanzie    di   vendibilità    e   di
funzionalità ad un dato scopo. (tratto
dalla licenza di Microsoft Windows). 

se intendi distribuire il sorgente
non devi fare assolutamente nulla.
Ok, e' un pelo una sbattita, dal momento che devi usare
perl-sed-vim-quello-che-vuoi-tu per modificare i nomi :),
ma alla fine vince sicuramente (in attesa di usare gnome2).
-- 
+---- | Un OS per domarli, Un OS per trovarli,             |  -o)
+---+ | Un OS per ghermirli e nel buio incatenarli         |  /\\
 O  | | Nella terra di Redmond, ove l'ombra cupa scende... | _\_V
                    raffaele punto salmaso presso libero punto it