AspeQt w Google Play Store.

Wydaje mi się, że ludzie są raczej niechętni do instalowania softu na Androida poza sklepem Google, z tego też powodu pomyślałem: raz kozie śmierć! I założyłem sobie konto w Google Play Store. Od dzisiaj AspeQt jest teraz również dostępny tą pobłogosławioną przez Google drogą.

Screenshot_2015-10-16-01-07-26

Reklamy

OptionsDialog.

TreeView na Androidzie sprawdza się średnio, zastanawiałem się jak to można by zrobić w Qt5 i przyznam szczerze, łatwo nie jest. QScrollView ma jedną podstawową wadę: póki co nie obsługuje przewijania jednym palcem i trzeba mu zostawić włączony scrollbar, na szczęście udało się go poprawić za pomocą stylów:

O kwestię layoutów mam ochotę zapytać któregoś z developerów, bo niestety są bardzo nieprzewidywalne. Nigdy nie wiadomo gdzie i jak dany widget się wyświetli. Na powyższym zrzucie odległości między obiektami są różne, a powinny być względnie spójne, bo na samym dole kontenera dodałem expander, który powinien wszystko co powyżej niego ładnie do siebie dosunąć…

Mam nadzieję, że kiedyś pojawi się spójne scrollview z obsługą single finger pan. Póki co się nie zanosi. A przecież aplikacji w QtWidgets jest niewspółmiernie więcej na wolności, niż w QtQuick.

AspeQt na Kazam Tornado 348.

A oto żywy dowód na prawidłową obsługę usb-host przez Kazam Tornado:

Przy okazji powiększyłem trochę przyciski i jeśli ekran jest mniejszy od 5″ to log jest wyłączony (wyświetla się na pasku statusu), a hbox-y wypełniają cały ekran:

Screenshot_2015-09-06-02-59-05Z małych ważnych zmian: usunąłem orientację poziomą i dzięki temu można sobie wybrać plik do załadowania w Fileselektorze w pionie (więcej się mieści).

scr-orient

 

Pełny USB-Host na Kazam Tornado 348.

Nie doczekałem się na rozwiązanie problemu przez support Kazam, więc postanowiłem dać radę sam ;).

usb-host-kazamPostanowiłem zrobić to najprościej jak się da, bez wgrywania nieoficjalnych ROM-ów itp. Niestety trzeba telefon zrootować. na szczęście z użyciem Kingo Root jest to łatwe.

Przełączamy telefon do trybu przechowywania plików (dotknij aby skopiować pliki w powiadomieniu, po podłączeniu do laptopa)  i tworzymy w katalogu głównym karty pamięci telefonu plik: android.hardware.usb.host.xml o zawartości:

<permissions>
    <feature name=”android.hardware.usb.host” />
</permissions>

Odłączamy kabel USB.

Podłączamy go ponownie, tym razem już bez klikania w powiadomienie, tylko w trybie debugowania USB i łączymy się z telefonem:

adb shell
su
mount -o remount,rw /system
cp /sdcard/android.hardware.usb.host.xml /etc/permissions/
chmod 777 /etc/permissions/android.hardware.usb.host.xml
mount -o remount,ro /system

I po ponownym uruchomieniu usb-host działa (obie przelotki RS232-USB działają prawidłowo).

Bez powyższego da się np. podłączyć pendrive i skopiować pliki, ale żadnych innych bardziej skomplikowanych urządzeń.

Teraz spokojnie mogę zająć się debugowaniem AspeQt na KitKat i dalszą optymalizacją gui.

AspeQt dla Windows.

Piętnaście emulowanych napędów w AspeQt to było dla mnie zdecydowanie za dużo 🙂 więc „zandroidyzowałem” plik projektu z repo dla Androida i wydzieliłem co androidowe, dzięki czemu mój fork AspeQt dla Antka kompiluje się też pod Windows i pod Linuksem. Obsługa portu odbywa się wtedy przez standardowy moduł serialport-{win32,linux}.cpp. Przy okazji poprawiłem kodowanie znaków, które w AspeQt pod Windows było skopane od dawna:

AspeQt_WindowsBinarka dla Windows z wymaganymi bibliotekami tutaj.

winandroidlinux

Ładowanie plików CAS w AspeQt na Androidzie.

Udało się znaleźć przyczynę i pliki cas ładują się aż miło:

Dzięki temu zapisy do atr też powinny działać poprawnie. O dwa purge() za daleko i ftdi nie „zdanrzał” zapisać/odczytać danych z portu Atari.

Apk-a w zwyczajowej lokalizacji:

https://github.com/greblus/aspeqt/raw/android/android/apk/aspeqt.apk