NASZE SERWISY:    ANDROID   LINUX   MAEMO   SYMBIAN   WEBOS




Hosting sponsoruje:



GRIN3 - polskie fonty

Profesjonalne czcionki z polskimi znakami - czcionki.com

OpenMobile on Facebook


 

Ikona aplikacji w Carbide C++

Odpowiednie forum do zadawania pytań dotyczących rozpoczęcia programowania.

Ikona aplikacji w Carbide C++

Postprzez raelmo » 27 stycznia 2010, o 23:58

Nie wiem jak dołączyć ikonę aplikacji tworząc program w Carbide C++. Chodzi o ikonę, która pojawia się w telefonie. Czy ktos może mi pomóc? Umieszczenie svg w *.mk nic mi nie daje.
raelmo
1%
1%
 
Posty: 7
Dołączył(a): 2 stycznia 2010, o 23:26
Mod.tel.: XP5800
    WindowsXPMSIE7

Re: Ikona aplikacji w Carbide C++

Postprzez xone » 28 stycznia 2010, o 08:26

W pliku Icons_scalable_dc.mk powinieneś podać poprawną ścieżkę do pliku i prawidłową nazwę wynikową (zaznaczone w kodzie załączonym poniżej)..
Plik powinien mieć taką zawartość:
Kod: Zaznacz cały
ifeq (WINS,$(findstring WINS, $(PLATFORM)))
ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
else
ZDIR=$(EPOCROOT)epoc32\data\z
endif

TARGETDIR=$(ZDIR)\resource\apps
ICONTARGETFILENAME=$(TARGETDIR)\MyID_Switch.mif     # <------ nazwa pliku wynikowego

ICONDIR=..\gfx

do_nothing :
   @rem do_nothing

MAKMAKE : do_nothing

BLD : do_nothing

CLEAN : do_nothing

LIB : do_nothing

CLEANLIB : do_nothing

RESOURCE :   
   mifconv $(ICONTARGETFILENAME) \
      /c32 $(ICONDIR)\qgn_menu_MyID_Switch.svg     # <------ nazwa pliku źródłowego
      
FREEZE : do_nothing

SAVESPACE : do_nothing

RELEASABLES :
   @echo $(ICONTARGETFILENAME)

FINAL : do_nothing

W bld.inf musisz mieć przed linią z *.mmp
Kod: Zaznacz cały
gnumakefile Icons_scalable_dc.mk


Jak masz już poprawnie zrobiony plik *.mk i bld.inf to możesz użyć plik *.mif w twoim programie.
Potrzebne są Ci odpowiednie wpisy w w plikach *.rss i *_reg.rss
Potem wystarczy jeszcze dodać ikonę w *.pkg i gotowe ;)

*** edit.. ale pamiętaj żeby podać nazwę pliku źródłowego i wynikowego własną w pliku *.mk (przykład zaczerpnąłem z mojej aplikacji).
Pozdrawiam, xONE :: x01devel.ovh.org
Motto:
- Niepuszczone bąki unoszą się do mózgu, stąd biorą się posrane pomysły.
- Prawdziwi mężczyźni nie jedzą miodu... Prawdziwi mężczyźni żują pszczoły!
Avatar użytkownika
xone
Support
Support
 
Posty: 829
Dołączył(a): 21 maja 2007, o 11:38
Lokalizacja: Wrocław
Mod.tel.: Nokia E52
FW: 052.003
    WindowsXPFirefox

Re: Ikona aplikacji w Carbide C++

Postprzez raelmo » 29 stycznia 2010, o 00:40

Dzieki za pomoc.

Niby wszystko miałem tak jak piszesz, tzn.
Icons_scalable_dc.mk tak jak napisałeś,
ld.inf też chyba dobrze tidy No i Build a ... też No
w Test.pkg mam automatycznie wstawione
"$(EPOCROOT)epoc32\data\z\resource\apps\Test_aif.mif" -"!:\resource\apps\Test_aif.mif"

Dalej niestety już nie miałem nic i nie wiem co wpisać.
Test_reg.rss nie wiem co wpisać
Test.rss też. Nuby mam wpis automatyczny:
RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
{
short_caption = STR_TestApplication_5;
caption_and_icon = CAPTION_AND_ICON_INFO
{
caption = STR_TestApplication_4;
number_of_icons = 0;
};
}

No i nie wiem to dalej.
raelmo
1%
1%
 
Posty: 7
Dołączył(a): 2 stycznia 2010, o 23:26
Mod.tel.: XP5800
    WindowsXPMSIE7

Re: Ikona aplikacji w Carbide C++

Postprzez xone » 29 stycznia 2010, o 22:28

spróbuj tak:

w pliku Test_reg.rss sprawdź czy masz takie informacje
Kod: Zaznacz cały
#include <appinfo.rh>
#include <Test.rsg>

UID2 KUidAppRegistrationResourceFile
UID3 TWÓJ-UID

RESOURCE APP_REGISTRATION_INFO
   {
       app_file="Test";
       localisable_resource_file = "\\resource\\apps\\Test";
       localisable_resource_id = R_LOCALISABLE_APP_INFO;

       embeddability=KAppNotEmbeddable;
       newfile=KAppDoesNotSupportNewFile;
   }


w pliku Test.rss
Kod: Zaznacz cały
#include <appinfo.rh>

/* pominąłem tu rzeczy, które miałem w mojej aplikacji tu a które nie są Ci potrzebne do wyświetlenia ikony */

RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
   {
      short_caption = qtn_loc_caption_string;
      caption_and_icon =
      CAPTION_AND_ICON_INFO
         {
         caption = qtn_loc_caption_string;

         number_of_icons = 1;
         icon_file = "\\resource\\apps\\Test.mif";
         };
   }


powodzenia!

PS. Nie chciałbym być grubiański ale tak na przyszłość.. Zanim wyślesz posta przeczytaj go proszę od początku do końca i sprawdź czy wszystko dobrze napisałeś i czy jest to jasne, ponieważ ciężko czyta się treść napisaną na szybko z błędami. ;)
Pozdrawiam, xONE :: x01devel.ovh.org
Motto:
- Niepuszczone bąki unoszą się do mózgu, stąd biorą się posrane pomysły.
- Prawdziwi mężczyźni nie jedzą miodu... Prawdziwi mężczyźni żują pszczoły!
Avatar użytkownika
xone
Support
Support
 
Posty: 829
Dołączył(a): 21 maja 2007, o 11:38
Lokalizacja: Wrocław
Mod.tel.: Nokia E52
FW: 052.003
    WindowsXPFirefox

Re: Ikona aplikacji w Carbide C++

Postprzez raelmo » 30 stycznia 2010, o 00:09

Dzięki!

Miałem trochę błędów. Stosowałem raz nazwę Test.mifinnym razem Test_aif.mif.
Teraz chyba działa. Piszę chyba, bo ikona w telefonie to niebieski kwadrat - pewnie w pliku svg jest coś nie tak.
A może do każdej ikony svg też trzeba dwa "rysunki" ( główny i maska ) jak do bitmap ?

Przepraszam za błędy w pisowni, ale piszę w "dziwnych" porach - najczęściej późno w nocy przy zgaszonym światle (rodzina śpi ) a więc piszę na ślepo.
raelmo
1%
1%
 
Posty: 7
Dołączył(a): 2 stycznia 2010, o 23:26
Mod.tel.: XP5800
    WindowsXPMSIE7

Re: Ikona aplikacji w Carbide C++

Postprzez xone » 30 stycznia 2010, o 15:09

Pliki *.svg nie potrzebują żadnych masek. Jeżeli wyświetla Ci się ikona generic (taki puzel zazwyczaj) to znaczy że gdzieś źle podałeś nazwę pliku. Sprawdź jeszcze sam plik *.svg, może jest w złym formacie. W S60v3 (w nowszych pewnie też) jest aplikacja svg2svgt (\Symbian\9.1\S60_3rd_MR\S60Tools\). Przepuść swoją ikonę przez tą aplikację, powinna zostać prze konwertowana do poprawnego formatu.
Pozdrawiam, xONE :: x01devel.ovh.org
Motto:
- Niepuszczone bąki unoszą się do mózgu, stąd biorą się posrane pomysły.
- Prawdziwi mężczyźni nie jedzą miodu... Prawdziwi mężczyźni żują pszczoły!
Avatar użytkownika
xone
Support
Support
 
Posty: 829
Dołączył(a): 21 maja 2007, o 11:38
Lokalizacja: Wrocław
Mod.tel.: Nokia E52
FW: 052.003
    WindowsXPFirefox

Re: Ikona aplikacji w Carbide C++

Postprzez raelmo » 31 stycznia 2010, o 01:53

Domyśliłem się, że pliki SVG nie mają maski, bo trudno by ją było zrobić wektorowo. Co do puzla to zacząłem ten temat po to aby go własnie zamienić i dzięki Tobie udało mi się to.
Ikona już jest ale nie całkiem. Początkowo pojawił się niebieski prostokąt. Przypadkowo obruciłem moją XM5800 i w poziomie ikona pojawiła się bardziej podobna do stworzonej przezemnie ( ale nie całkiem ). Dziwnym sposobem po tej operacji obrucenia telefonu ikona jest już w poziomie i pionie. Przepuściłem ją przez konwerter ( dzieki - nigdy bym się nie domyślił, że tak trzeba ) ale niestety nic to nie dało ( konwerter dla S60_5th ).
Myślę jednak, że sobie poradzę.
raelmo
1%
1%
 
Posty: 7
Dołączył(a): 2 stycznia 2010, o 23:26
Mod.tel.: XP5800
    WindowsXPMSIE7

Re: Ikona aplikacji w Carbide C++

Postprzez xone » 31 stycznia 2010, o 21:06

Jeżeli instalowałeś aplikację z błędną ikoną a potem ponownie nad instalowałeś aplikację z poprawną ikoną to może ona nadal nie być poprawnie wyświetlana.. System cashuje ikony przy pierwszym otworzeniu menu/katalogu.. Powinieneś zrobić reboot telefonu aby odświeżyć cache. Obrót w poziom również odświeżył ikony w menu i dlatego widziałeś ją poprawnie..
Pozdrawiam, xONE :: x01devel.ovh.org
Motto:
- Niepuszczone bąki unoszą się do mózgu, stąd biorą się posrane pomysły.
- Prawdziwi mężczyźni nie jedzą miodu... Prawdziwi mężczyźni żują pszczoły!
Avatar użytkownika
xone
Support
Support
 
Posty: 829
Dołączył(a): 21 maja 2007, o 11:38
Lokalizacja: Wrocław
Mod.tel.: Nokia E52
FW: 052.003
    WindowsXPFirefox


Powrót do Od czego zacząć?

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość