Ximes

xime: API, COM, XCOM...

Ostatnio zacząłem trochę pracować nad restrukturyzacją modułów, o czym wspominałem w jednej z poprzednich notek. Wydaje się, że sprawa wygląda dosyć prosto - pomyśleć co aplikacja potrzebuje od modułów i odpowiednio dostosować ich interfejs. No, ale prócz tego warto od razu pomyśleć też nad tym co będzie dostępne w API i wziąć to również pod uwagę. I tak doszedłem do odwlekanej kwestii API. Na początku myślałem, aby API miało budowę i strukturę podobną do API udostępnianego w mirandzie i tlenie.

Czytaj dalej

xime: Restrukturyzacja modułów

Zacząłem małą restrukturyzację źródeł modułów. Dosłownie i w przenośni! Myślę, że wszelkie okna i GUI związane i korzystające usilnie z jakiegoś modułu powinno zostać wsiąknięte przez moduł doi środka. I to się właśnie dokonało. Wszelkie okna danego modułu przeniosłem do źródeł i przestrzeni nazw danego modułu. Kolejną kwestią jest mała refaktoryzacja i ustalenie jakiegoś interfejsu każdego modułu. Odkąd GUI będzie częścią modułów to i interfejs się bardzo powinien uprości, bo powozili to także trochę logiki wrzucić do środka modułów.

Czytaj dalej

xime: Okno ustawień

Kolejnym modułem jaki “leżał” na deskach roboczych był moduł ustawień, a dokładnie to moduł związany z samym okienkiem ustawień. Nazwa może wprowadzać małe zamieszanie bo jest już jeden moduł, który zajmuje się ustawieniami aplikacji i ich obsługą w plikach XML. Niniejszy moduł jest właśnie ściśle z nim związany, bo zajmuje się prezentacją ustawień w GUI. W sumie może lepiej pasowałaby tutaj nazwa menadżera opcji. Jak to wygląda? Niestety nie mam żadnego screena, ale “szału” tutaj nie ma - typowe okno ustawień z drzewkiem grupującym opcje i odpowiadającymi im zakładkami.

Czytaj dalej

xime: Menadżer kont

Ostatnio pracowałem nad modułem menadżera kont oraz jego wizualizacją. Co z tego wyszło można zobaczyć na załączonym obrazku. Tym razem tylko spod Windows 7, gdzieś mam zrzut z Ubuntu, ale nie chce mi się szukać. Mam nadzieję, że nie muszę tłumaczyć idei profili, kont i protokołów w tworzonym komunikatorze, gdzieś w początkowych notkach na tym blogu powinno być to wytłumaczone lub chociaż przedstawiony ogólny zarys. Odnośnie samego menadżera kont mogę wspomnieć tylko tyle, że prócz tej prostej, ale funkcjonalnej wizualizacji kont, nic nie można (jeszcze) zrobić.

Czytaj dalej

xime: Właściwości okienek

Dawno nic nie pisałem, a przyrzekłem sobie kiedyś, żeby nie zaśmiecać zbytnio technicznymi wpisami tego projektowego dziennika. Choć na samym początku, jednym z celów powstania tego bloga, obok przedstawiania i tworzenia na bieżąco historii projektu, było także ukazywanie różnych ciekawych sztuczek jakie zastosowałem w kodzie lub po prostu przedstawienie problemów na jakie trafiłem, licząc że ktoś będzie w stanie pomóc ;) Zatem unikając czysto technicznych bzdur, ostatnio udało mi się zaimplementować bardzo prosty mechanizm pozwalający na zapisywanie i odczytywanie stanu poszczególnych okienek.

Czytaj dalej

xime: Lista kontaktów

Wreszcie udało mi się sprężyć z robotą i zakończyć prace nad modułem listy kontaktów. Być może przesadzam z tym zakończeniem prac, bo nie wszystko co na początku było planowane zostało zrobione. Aczkolwiek myślę, że nie ma potrzeby przeładowywać funkcjonalnością, która tak naprawdę nie jest jakoś bardzo potrzebna. Aby nie zostać posądzonym o kłamstwo to wypada pokazać jakiś dowód na poparcie swoich słów. Zatem poniżej prezentuję zrzut ekranu z testowej aplikacji listy kontaktów.

Czytaj dalej

xime: Kontrolka listy kontaktów

Za niedługo upłyną 3 miesiące od ostatniej notki dotyczącej projektu xime. Mam nadzieję, że do tego czasu uporam się z listą kontaktów, bo to właśnie z nią się męczę obecnie w wolnych chwilach. A czasu nie jest za dużo, bo ostatnio sesja, praca dyplomowa, no i prócz tego zwykła, codzienna praca… Pracuję nad listą kontaktów i chciałbym jej implementację jak najszybciej zakończyć. Z tego powodu muszę zrezygnować z większości planowanej funkcjonalności, która de facto i tak związana będzie z API umożliwiającym wtyczkom “wywieranie” w znacznym stopniu wpływu nie tylko na wygląd, ale także na zachowanie i funkcjonalność.

Czytaj dalej

xime: SVN logs

Obecnie pracuję nad listą kontaktów, ale tak tylko wspominam, bo nie o tym dziś chciałem poinformować. W projekcie cały czas coś się dzieje. Może zmian widocznych nie ma za wiele, ale praca idzie pełną parą. Aby nie być gołosłownym napisałem sobie mały, prosty skrypt, który generuje logi z lokalnego repozytorium SVN, gdzie trzymany jest cały projekt, a następnie wysyła je na serwer. Logi dostępne są pod adresem xime.pl/svnlog.txt i są automatycznie aktualizowane co 24h, o północy każdego dnia.

Czytaj dalej

xime: Rezygnacja z profiles.xml

Do tej pory w xime, jak też w kilku innych komunikatorach, profile opierały się na liście profili zapisanej w jednym pliku oraz strukturze katalogów, gdzie dla każdego profilu istniał katalog, w którym przechowywano wszelkie dane. Przechowywanie podstawowych danych o profilu w postaci listy w jednym miejscu miało swoje zalety. Taką zaletą była niewątpliwie łatwość i szybkość przetwarzania informacji. Nie było skakania po katalogach i parsowania wielkich plików konfiguracyjnych każdego profilu w celu zbudowania prostej listy dostępnych profili.

Czytaj dalej

xime: Unit-Testy

Błędy były i będą, tak samo jak ich zwalczanie i ciągłe testowanie. To nieodłączna część świata programistów. Testowanie jako jeden z etapów konstrukcji i projektowania oprogramowania powinien być obowiązkiem każdego programisty. Błędy dają o sobie znać w najmniej oczekiwanych momentach, doprowadzając do frustracji, a czasami i furii użytkowników, testerów i programistów. Dlatego tak ważne jest, aby z nimi walczyć najszybciej jak się tylko da. Jednym ze sposobów walki z błędami są testy jednostkowe (unit test).

Czytaj dalej