En fait, je crois que j'ai des soucis quand je reste sur Manila 2-3 heures (2 ou 3 mises à jour), parce que quand je reviens sur IPT, l'icone météo ne se met plus à jour et la météo sur 5 jours ne s'affiche plus non plus....
Est-il possible de supprimer la dernière option par une clé dans Weather.ini : "- Désactivation automatique des mises à jour des icônes météo dans iPhoneToday si ce dernier n'est pas utilisé.", parce que la météo ne se met plus à jour..... sur IPT.... ou peut-etre que j'ai oublié une option et dans ce cas, désolé....
Pour ce qui est du chemin d'installation de IPTWeather, il n'y a rien en dur dans les scripts. Mais tu n'as pas dû suivre la procédure permettant de déplacer IPTWeather... C'est pourtant simple : tu déplaces le répertoire IPTWeather à l'endroit que tu veux, puis tu lances le script autostartIPTWeather.mscr, et enfin le script startAccuWeather.mscr. Évidemment, il faut t'assurer que les chemins de tes icônes sont corrects dans le fichier weather.ini...
Les dernières versions désactivent automatiquement la mise à jour des icônes dans IPT si celui-ci n'est utilisé ni en Today ni en exe. Le souci vient peut-être de là puisque tu utilises Manila Today, non ? Comment on peut détecter qu'iPhoneToday est actif dans Manila Today ?
Par contre, je n'ai absolument rien compris à ta phrase "est-il possible de supprimer la dernière option par une clé dans weather.ini...".
Pour ce qui est du chemin d'installation de IPTWeather, il n'y a rien en dur dans les scripts. Mais tu n'as pas dû suivre la procédure permettant de déplacer IPTWeather... C'est pourtant simple : tu déplaces le répertoire IPTWeather à l'endroit que tu veux, puis tu lances le script autostartIPTWeather.mscr, et enfin le script startAccuWeather.mscr. Évidemment, il faut t'assurer que les chemins de tes icônes sont corrects dans le fichier weather.ini...
Pour ça, c'est bon j'ai bien compris et ça fonctionne...
michoob a écrit:
Les dernières versions désactivent automatiquement la mise à jour des icônes dans IPT si celui-ci n'est utilisé ni en Today ni en exe. Le souci vient peut-être de là puisque tu utilises Manila Today, non ? Comment on peut détecter qu'iPhoneToday est actif dans Manila Today ?
Par contre, je n'ai absolument rien compris à ta phrase "est-il possible de supprimer la dernière option par une clé dans weather.ini...".
Est-il possible de supprimer l'option dont tu parles justement? Non, j'utilise en today ou en exe. Mais quand j'utilise Manila et de temps IPT en exe, mes icones ne se mettent plus à jour....
en fait, dans quel script la valeur "IPTWiPhoneTodayDisabled" est-elle remise à "0" ou "rien"? Elle n'est passé à "1" que dans "iPhoneTodayAccuWeather.mscr"?
Si je supprime :
Code:
If (NOT IPTWiPhoneTodayDisabled AND NOT RegRead("HKLM", "Software\Microsoft\Today\Items\iPhoneToday", "Enabled") AND NOT ProcExists("iPhoneToday.exe")) IPTWiPhoneTodayDisabled = 1 IniWrite("weather.ini", "User settings", "IPTWiPhoneTodayDisabled", 1) EndIf
Je vais faire une nouvelle version où l'option IPTWiPhoneTodayDisabled=-1 laissera les mises à jour des iPhoneToday se faire comme avec IPTWiPhoneTodayDisabled=0 ou vide, et ne le passera pas à 1.
Donc par rapport à ta question "Est-il possible de supprimer l'option dont tu parles justement?" : oui, à partir de la prochaine version .
Tu dis "J'utilise en today ou en exe. Mais quand j'utilise Manila et de temps IPT en exe, mes icones ne se mettent plus à jour....". De temps en temps IPT en exe, ça veut dire que tu n'utilises jamais IPT en dll, et que tu n'a pas IPT.exe en tâche de fond ou IPT.exe reste en tâche de fond ? Je ne vois pas comment IPTWeather peut fonctionner si tu veux mettre à jour les icônes sans IPT en marche. Ca a déjà fonctionné ? IPTWeather devrait rentrer dans une boucle infinie jusqu'au démarrage d'IPT (avec les anciennes versions d'IPTWeather), ou simplement passer son chemin (dans les nouvelles versions d'IPTWeather). En fait, si iPhoneToday n'est pas lancé (exe ou dll), je ne vois pas comment on peut faire pour mettre quand même à jour les icônes, étant donné qu'IPTWeather ne touche pas au fichier icons.xml, mais uniquement aux valeurs de la base de registre de iPhoneToday...
Eh bien en fait, je ne sais plus trop... mais je n'avais jamais remarqué que mes icones ne se mettaient plus à jour quand je passais de Manila à IPT... Au moins mon icone de Météo actuelle semblait toujours avec les mêmes informations que celle dans S2U2. Aujourd'hui, quand je passais de Manila à IPT, mon icone n'était pas à jour et quand je cliquais dessus, le WaitCursor s'affichait mais rien ne changeait (ni affichage des 4-5 prochains jours ni mise à jour de l'icone de météo actuelle)....
Je vais déjà supprimer les lignes citées ci -dessus dans les 2 scripts et je verrai demain comment ça marche....
Si tu souhaites retrouver vraiment l'ancien comportement, alors il faut aussi que tu modifies le script waitForReadyIPT.mscr pour supprimer les deux occurrences du code " AND TimeStamp() < maxTryTime". Mais avec ça, IPTWeather va rentrer potentiellement dans une boucle infinie jusqu'au prochain démarrage d'IPT !! Par contre, en cliquant deux fois sur l'icône météo, ça aurait dû déclencher la mise à jour de la météo...
If (NOT IPTWiPhoneTodayDisabled AND NOT RegRead("HKLM", "Software\Microsoft\Today\Items\iPhoneToday", "Enabled") AND NOT ProcExists("iPhoneToday.exe")) IPTWiPhoneTodayDisabled = 1 IniWrite("weather.ini", "User settings", "IPTWiPhoneTodayDisabled", 1) EndIf
par :
Code:
If (NOT IPTWiPhoneTodayDisabled AND NOT RegRead("HKLM", "Software\Microsoft\Today\Items\iPhoneToday", "Enabled") AND NOT ProcExists("iPhoneToday.exe")) IPTWiPhoneTodayDisabled = 1 IniWrite("weather.ini", "User settings", "IPTWiPhoneTodayDisabled", 1) else IPTWiPhoneTodayDisabled = 0 IniWrite("weather.ini", "User settings", "IPTWiPhoneTodayDisabled", 0) EndIf
Avec ta modif, tu vas mettre à jour les icônes d'IPT une fois sur deux, car le paramètre IPTWiPhoneTodayDisabled va passer alternativement de 0 à 1... Pour ton cas, le mieux aurait été de simplement supprimer le test.
Mais dans la prochaine version que je risque de sortir demain soir, tu auras l'option IPTWiPhoneTodayDisabled=-1 qui te permettras de retrouver le comportement d'avant.
Je préfère malgré tout garder dans IPTWeather par défaut la désactivation d'iPhoneToday automatique, car je constate que de nombreux utilsateurs n'utilisent que S2U2, et j'ai bien peu que tous ne configurent pas leur weather.ini avant de tester...
Ca bidouille sévère... mais pas terrible ta bidouille, désolé... Chez toi, la première condition sera vérifiée dès que IPT n'est pas actif, donc tes icônes ne seront pas mises à jour...
Soit tu supprimes le test pour revenir au comportement d'avant. Il n'y aura finalement malgré tout pas de boucle infinie grâce au nouveau script waitForReadyIPT.mscr, rassure-toi. Soit tu attends la nouvelle version avec son option IPTWiPhoneTodayDisabled = -1.
Ca bidouille sévère... mais pas terrible ta bidouille, désolé... Chez toi, la première condition sera vérifiée dès que IPT n'est pas actif, donc tes icônes ne seront pas mises à jour...
ça me va ça en fait puisque ça fonctionne correctement qd je réutilise ipt.exe ou en dll.... c'est ce que je voulais.
D'accord, je vois l'idée. En gros, ce n'est pas grave si au redémarrage d'IPT, tes icônes ne sont pas à jour. Tout ce que tu veux, c'est qu'une fois que tu réutilises IPT, alors tes icônes recommencent à se mettre à jour. Dans ce cas, ton code est bien, en effet, mais pas pour les utilisateurs qui voudrait avoir ITPWeather sans utiliser iPhoneToday... Mais ça va me faire revoir l'option IPTWiPhoneTodayDisabled=-1, car je n'avais pas vu ça comme ça. Comme quoi, c'est pas forcément évidemment d'identifier les besoins des utilsiateurs...
Spéciale dédicasse à Mickael pour l'option IPTWiPhoneTodayDisabled=-1
L'autre grosse nouveauté est la prise en compte des fuseaux horaires pour la détermination des données à afficher (nuit/jour)
michoob a écrit:
Ajout de l'option IPTWiPhoneTodayDisabled=-1 afin qu'IPTWeather ne désactive pas les mises à jour des icônes iPhoneToday automatiquement
L'heure de mise à jour des données est comparée en heure locale afin que les données affichées soient les bonnes même lorsque l'on récupère la météo d'un autre fuseau horaire que le sien
Lorsque IPTWupdateWeatherNowQuestion était vide, une mise à jour des données avait lieu systématiquement lorsque l'on masquait les prévisions météo, au lieu de ne le faire que si les données étaient plus anciennes que la durée définie par IPTWforceDelayHours et IPTWforceDelayMinutes.
Nettoyage de code
J'espère ne pas devoir mettre à jour IPTWeather avant longtemps désormais, même si c'est malheureusement quand on dit ça qu'il en découle le plus de mises à jour ensuite... mais c'est juste que je commence à être un peu lassé, là, car IPTWeather est maintenant un beau produit, je trouve.
Dernière édition par michoob le Mer 28 Avr 2010 - 22:50, édité 1 fois
C'est clair Michoob, c'est un excellent produit ton bébé !
Merci pour tout.
J'ai l'impression que tu n'as pas fini ta phrase : "Lorsque IPTWupdateWeatherNowQuestion était vide, une mise à jour des données avait lieu systématiquement lorsque l'on masquait les prévisions météo, au lieu de ne le faire que si les données étaient plus anciennes que IPTWforceDelayHours et IPTWforceDelayMinutes"
Encore une nouvelle version (quand je disais que la précédente n'était pas la dernière...)
La dernière version est donc la IPTWeather_20100429 :
Contournement d'un problème d'iPhoneToday afin de garantir que le fichier icons.xml avec les icônes originales de l'utilisateur ne soit pas modifié avec les prévisions météo. Le problème est que si des icônes temporaires sont définies avec la fonctionnalité reloadIcon=1 (icônes de prévision météo), alors, si on ajoute une icône avec le mode reloadIcon=2 afin d'écrire cette nouvelle icône dans le fichier icons.xml (icône de la météo actuelle), toutes les icônes temporaires sont aussi écrites dans le fichier icons.xml et non pas seulement celle définie avec le mode reloadIcon=2
Merci encore pour cette nouvelle version. Pour l'instant, je suis perdu, ça ne fonctionne pas vraiment comme je pensais. Je vais continuer mes essais de paramétrages (1, -1, 0 etc.... un peu partout)....Je ne comprends pas pourquoi tu n'as pas utilisé la modif que je proposais, elle semblait simple et apparemment, elle fonctionnait.
Là, si je désactive IPT et que j'attends des mises à jour (plus d'1 heure) ou que je fais un SR, S2U2 se met bien à jour toutes les heures (ou SR), mais quand je reviens sur iPT, impossible d'avoir la météo des prochains jours en cliquant sur l'icone dédiée, ni d'avoir la météo actuelle à jour.... Dans Weather.ini, IPTWeatherxxxdisabled repasse à 1 et ne repasse là jamais à 0 quand je relance "iphonetodayaccuweather.mscr" comme ça le faisait avec ma modif proposée..... J'ai remis iPT, je fais un SR, IPTWeatherxxxdisabled reste à 1 alors que IPT est sur Today....
Bizarre....
Je vais revoir mes paramètres.
Je me trompe peut-etre, t'inquiète, je ne fais que reporter ce que je crois être un "bug", mais c'est peut-etre moi qui suis buggué....
Merci Michoob. Je sais que c'est chiant de toujours revenir sur le code.....
Pour avoir le fonctionnement équivalent à ta modif, il te suffit d'avoir IPTWiPhoneTodayDisabled=-1.
EDIT : en fait, il y a un petit problème avec l'option IPTWiPhoneTodayDisabled=-1 qui pour finalement donne le même résultat que IPTWiPhoneTodayDisabled=1... je corrige ça et publie une nouvelle version sous peu. Sinon, je n'ai pas pris ton code tel quel, car avec ton code, IPTWeather met systématiquement à jour l'icône météo d'iPhoneToday dès qu'iPhoneToday est actif, et même si l'utilisateur souhaite utiliser iPhoneToday sans IPTWeather en parallèle de S2U2 avec IPTWeather...
L'option IPTWiPhoneTodayDisabled=-1 fonctionne désormais comme attendu (voir le fichier weather.ini pour plus d'informations)
Les icônes météo d'iPhoneToday sont désormais toutes mises à jour, même si les icônes des prévisions météos sont affichées, ce qui permet d'avoir une page d'iPhoneToday dédiée pour les prévisions météos, sans avoir à les afficher/masquer
Cette version sera certainement la dernière, à moins que des bugs ne soient remontés. J'ai atteint tous les objectifs pour mon usage personnel, donc à moins que quelqu'un ne suggère des choses intéressantes, je ne pense plus y toucher.
Juste j'ai trouvé un bug relatif à l'activation ou la désactivation d'IPTW en fonction de IPTWiPhoneTodayDisabled=-1
Ton code (dans "iPhoneTodayAccuWeather.mscr" et dans "getAccuWeather.mscr") :
Spoiler :
If (NOT RegRead("HKLM", "Software\Microsoft\Today\Items\iPhoneToday", "Enabled") AND NOT ProcExists("iPhoneToday.exe")) IPTWiPhoneTodayDisabled = 1 If (IPTWiPhoneTodayDisabled <> -1) IniWrite("..\weather.ini", "User settings", "IPTWiPhoneTodayDisabled", 1) EndIf ElseIf (IPTWiPhoneTodayDisabled = -1) IPTWiPhoneTodayDisabled = 0 EndIf
en fait, la ligne en rouge est erronée (puisque si on arrive ici, IPTWiPhoneTodayDisabled est obligatoirement = 1 ...). De plus, il y a une erreur pour cette partie dans le script "iPhoneTodayAccuWeather.mscr" (ligne bleue).
Mes corrections proposées : 1- dans iPhoneTodayAccuWeather.mscr (en gras):
Spoiler :
If (NOT RegRead("HKLM", "Software\Microsoft\Today\Items\iPhoneToday", "Enabled") AND NOT ProcExists("iPhoneToday.exe")) IPTWiPhoneTodayDisabled = 1 If (IniRead("weather.ini", "User settings", "IPTWiPhoneTodayDisabled") <> -1) IniWrite("\weather.ini", "User settings", "IPTWiPhoneTodayDisabled", 1) EndIf ElseIf (IPTWiPhoneTodayDisabled = -1) IPTWiPhoneTodayDisabled = 0 EndIf
2- dans getAccuWeather.mscr (en gras):
Spoiler :
If (NOT RegRead("HKLM", "Software\Microsoft\Today\Items\iPhoneToday", "Enabled") AND NOT ProcExists("iPhoneToday.exe")) IPTWiPhoneTodayDisabled = 1 If (IniRead("weather.ini", "User settings", "IPTWiPhoneTodayDisabled") <> -1) IniWrite("..\weather.ini", "User settings", "IPTWiPhoneTodayDisabled", 1) EndIf ElseIf (IPTWiPhoneTodayDisabled = -1) IPTWiPhoneTodayDisabled = 0 EndIf
En même temps, je me demande à quoi ça sert de modifier le weather.ini avec ça:
puisque les valeurs sont relues dans chaque script. et je pense qu'il y aura une erreur si on choisit IPTWiPhoneTodayDisabled=0, si on passe sur manila,la valeur passera à 1 et ne reviendra jamais à 0? Est-ce normal? Peut-être faudrait-il re-forcer la mise à 0 de "IPTWiPhoneTodayDisabled" quand on lance manuellement "iPhoneTodayAccuWeather.mscr".... en modifiant les dernières lignes de la partie ci-dessus comme-ça seulement dans "iPhoneTodayAccuWeather.mscr":