Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Język pobranych napisów w oknie podsumowania #53

Merged
merged 5 commits into from
Feb 7, 2016
Merged

Język pobranych napisów w oknie podsumowania #53

merged 5 commits into from
Feb 7, 2016

Conversation

andrewpros
Copy link

Dobra to powinno być ok.

@andrewpros
Copy link
Author

Tak, wczoraj to zauważyłem niestety już podczas seansu :-(, sęk w tym, że to działało, poprawkę miałem już jakiś czas, niedawno qnapi dostało właśnie nowe opcje wyboru napisów i chyba tutaj jest problem, bo zanim te zmiany doszły to korzystałem z tego już z miesiąc i było ok, do wersji z tego co pamiętam 0.2.1.

Dopiero wczoraj od nowa zrobiłem, tym razem na wersji 0.2.2, wrzuciłem tylko zmiany z mojej wersji brancha, sprawdziłem pobieżnie czy działa, no, ale cóż, w pierwszej chwili nie zaskoczyłem, a jak już wyłączyłem pc to już nie odpalałem.

Co do innych rzeczy, to też myślałem o ikonce języka zamiast tekstu, ale raz, że nie umiałem tego zrobić, szukałem, ale okazało się problematyczne dodanie drugiej ikonki, jest już też ikonka czy pobrało czy nie.

Więc dałem sobie spokój, a po drugie i tak pomyślałem, że może dwie ikony to będzie zbyt mylące.

Użyłem QPair, bo w sumie tego potrzebowałem, to tylko para danych, a że QT to oferuje to czemu nie użyć, nie jestem też specem od QT więc brałem to co jest, choć mi bez różnicy, można to zmienić, jeżeli tak preferujesz.

Dzięki też za ten tip z pobraniem ciągu języka.

Co do ikonki serwisu z jakiego pobrano to spoko pomysł, tylko właśnie nie wiem jak dodać drugą ikonę, jak język też ma być jako ikonka to będą 3, nie wiem czy takie coś to nie za dużo, serwis musiałby mieć ikonkę, bo nazwa może być różna, a język bym proponował zostawić jak jest, bo tu zawsze będą 2 literki.

No, ale jak preferujesz inaczej to ok, także w sumie czekam na decyzje z twojej strony teraz, co o tym sądzisz i jak robimy, to wtedy zrobię poprawki jak dogadamy.

No i jak te ikonki dodać tam.

P.S.

I zauważyłem też, że nadal jest problem z kodowaniem napisów, znaczy są nadal krzaki czasami, ale to sprawa na później, bo muszę zbadać co jest dokładnie przyczyną.

@krzemin
Copy link
Member

krzemin commented Jan 27, 2016

Co do drugiej/trzeciej ikonki na liście - zobacz sobie jak to jest zrobione w frmListSubtitles (https://github.com/QNapi/qnapi/blob/master/src/forms/frmlistsubtitles.cpp#L54). Tam masz QTableWidget, gdzie do każdej komórki w tabeli możesz wsadzić osobny item (i nadać mu np. ikonę, tooltip, tekst, etc.). W frmSummary teraz jest używany QListWidget, który raczej nie obsłuży tego w prosty sposób. Ale jak zmienisz na QTableWidget, to będziesz mógł mieć osobne kolumny na:

  • na ikonkę statusu (sukces/porażka)
  • ikonę języka
  • ikonę silnika pobierania
  • nazwę pliku
  • etc.

Co do przekazywania struktury zamiast QPair, to właściwie w programie jest już taka struktura - QNapiSubtitleInfo (z której wyciągasz język). Zamiast wyciągać język do QPair, możesz przekazywać całą QList<QNapiSubtitleInfo> - wtedy będziesz miał całe info, które potrzebujesz żeby np. wyświetlić też ikonę silnika pobierania.

Mam nadzieję, że rozjaśniłem trochę.

PS. Wykrywanie kodowania sprawia sporo problemów w różnych sytuacjach (szczególnie jeśli masz napisy != pl) - myślałem żeby użyć jakiejś biblioteki do wykrywania kodowania, ale nie mialem jeszcze czasu, żeby pogrzebać. Jak znajdziesz bugi, to możesz robić issue od razu i wklejać konkretne pliki - żeby było później na czym testować.

@andrewpros
Copy link
Author

No to dobra, QListWidget właśnie tam jest i nie chciałem wchodzić z butami, zmieniać bez pytania, zwłaszcza, że tam to niełatwo zrobić, ale ok, skoro mam zielone światło to się tym zajmę i poprawię też resztę.

Co do kodowania, problemy są tylko w pl, bo w en nie ma znaków diakrytycznych więc problem odpada, w napi mają idealnie jak wymuszę utf8 zawsze jest dobrze, w qnapi wymuszałem utf8, ale były problemy, więc zostawiłem tylko konwersję formatu na srt, ale różne bazy i to się nie sprawdza, wydaje mi się, że to jest sprawa braku BOM, ale na razie odkładamy, zbadam to później.

@andrewpros
Copy link
Author

Ok, mam 2 wersje

Myślę, że lepsza jednak będzie wersja u góry, dolna bazuje na QTableWidget, ale nie wiem jak zmniejszyć odległość między ikonami, dodaje się tam z prawej pusta przestrzeń, no, ale po za tym dziwnie wygląda przerwa bez ikon jak nie ma napisów, więc optuję za wersją 1.

Może być?

@krzemin
Copy link
Member

krzemin commented Jan 30, 2016

A moze dac ikonki jezyka/silnika na koncu, za nazwa pliku? Wtedy tekst z nazwa pliku bylby zawsze wyrownany, co poprawiloby czytelnosc.

| ikona sukces/porazka | nazwa pliku | ikona jezyka (opcjonalnie) | ikona silnika (opcjonalnie) |

Co myslisz? Daloby rade to jakos latwo osiagnac?

@andrewpros
Copy link
Author

Jest to tylko sprawa przestawienia kolejności, także trud żaden.

Myślę jednak, że ikonki na końcu to zły pomysł, bo tylko tytuł ma zmienną długość więc niejako pasuje jako ostatni.

Jeżeli ikony będą za tytułem to będą nierówno się zaczynały, prawie zawsze, coś zawsze i tak będzie nierówno, trzeba tylko wybrać co, ale chyba lepiej mieć tak niż wywalić ikonki na tył, mi się zdaje, że to by zbyt chaotycznie wyglądano.

Nie wiem jak inni, ale jak po prostu zawsze jakoś na przód patrzę, ludzie są tak nauczeni chyba, więc grupowanie w stylu, najpierw wszystkie ikonki informacji potem tytuł też ma jakiś sens, jest to pewna spójność, jedno spojrzenie i wiadomo.

Generalnie jak nie ma napisów to w sumie dobrze to wygląda i do razu rzuca się w oczy.

Dodam, że to górne jest zrobione nowym widgetem w QListWidget, zresztą ikony na końcu i tak nie byłyby możliwe w QTableWidget, w ogóle QTableWidget się nie nadaje do takich list, niepotrzebnie robiłem, no, ale nie pomyślałem.

Więc takie miałbym argumenty, żeby zostawić jednak jak na fotce.

@krzemin
Copy link
Member

krzemin commented Jan 31, 2016

No tak, tylko jak nie pobrano napisów, to nie masz ikonek jezyka/silnika i wtedy albo masz dziure albo niewyrownane nazwy plikow. W tabeli powinno byc mozliwe zrobienie ikonek wyrownanych do prawej. Trzeba zrobic osobne kolumny i wrzucac ikony do komorek tabeli.

@andrewpros
Copy link
Author

Tych ikonek, gdy nie ma napisów, nie ma celowo, na początku też myślałem, że powinny być, ale potem stwierdziłem, że to nie ma sensu.

Program zwraca dane jak są napisy, jak nie ma to tylko ścieżkę.

Tak czy siak zlikwidowałem listę nieudanych i po drobnej zmianie QNapiSubtitleInfo używam tylko jednej listy, potem wpadłem na to, że ikony nie mają sensu. (znowu po czasie, ale może się przydać kiedyś)

Bo jak nie ma napisów to znaczy jasno - program w danych ustawieniach nie znalazł nic i tyle, a każdy chyba wie jak ustawił sobie program.

No, a jak mamy opcję napisy pl + zapasowe to wkraczamy w incepcję, "we need to go deeper", bo o czym miałbym wtedy informować, że nie było ani pl ani np. en i to na żadnym z portali, to co 5 ikon? No jak pisałem, bez sensu.

Bo to jest ta różnica miedzy znalezionymi, a nie, jak znalazło to mamy konkrety, jaki język i serwis, a jak nie to info nie udało się i tyle. (bo przecież program sprawdzał pl i en i to na 3 portalach, tylko po co to wyświetlać)

Z powyższej logiki wynika, że jak nie ma napisów to nie może być ikon od języka i serwisu, a więc tabela nigdy się nie sprawdzi, bo albo będą dziury z przodu albo jak napisy są, ale ikony byłyby na końcu to znowu będzie dziura za nazwami, bo nazwy zawsze mają różną długość, a kolumna wyznacza szerokość i będzie zawsze długości najdłuższej nazwy.

Więc w jednym rzędzie ikonki zawsze będą zaraz za najdłuższym tytułem, a w kolejnych rzędach niekoniecznie, wyrównanie nie pomoże, dziura będzie gdzie indziej, po za to co pisałem wcześniej, żeby nie dzielić na grupy, ikony, tekst i znowu ikony.

A najbardziej rzucają się w oczy właśnie dziury, bo chyba o to chodzi, co bardziej rzuca się w oczy i czego unikać.

Zresztą na tym zrzucie widać jakby to było, na dole jest tabela, tytuły są równo, ikony by się zaczynały nierówno.

No minusem tabeli jest kolumna, to górne układa kontrolki jednak za drugą, tutaj nigdy nie będzie dziury, ale dodanie ikonek na końcu znowu spowoduje ich nierówne rozpoczęcie

Nie wiem może ja mam jakieś spaczone postrzeganie, bo wydaje mi się, że to co napisałem ma sens.

Nie wiem, może postaram się jeszcze zrobić jakieś zrzuty z ikonami na tyle.

@krzemin
Copy link
Member

krzemin commented Jan 31, 2016

Jak nie pobralo napisow, to po prostu nie masz ikony jezyka/silnika i nie wyczarujesz ich - to jest ok i tak ma byc. A dziur nie bedziesz mial, jesli wyrownasz opcjonalne ikony do prawej i zgrupujesz wpisy: najpierw wszystkie pobrane, pozniej wszystkie nie znalezione.

Usuwanie nieudanych wpisow z listy nie ma sensu - zabierasz wtedy uzytkownikowi istotne informacje.

@andrewpros
Copy link
Author

Szczerze to się nad tym nie zastanawiałem, kolejnością, bo program zawsze wyświetlał najpierw znalezione potem nieudane, więc zakładałem, że gdzieś tam to już jest załatwiane, także sprawdzę to.

Nic nie chciałem usuwać, także nie wiem odnośnie czego to piszesz.

Ale miałeś rację z tymi ikonami, po prawej wydaje mi się lepiej wyglądać

Ikonki są przyklejone do prawej strony listy, więc się tak nie rzucają w oczy

Niestety nie ma prostej metody na zrobienie tego samego z ikoną w tabeli, więc jakieś dziwne ograniczenie, rozwiązanie z google i tak zakłada dodawanie/ustawianie widgeta do kolumny, więc najlepiej by wyszło i tak zrobić na końcu jedną kolumnę z widgetem z dwiema ikonami.

A rozwiązanie górne już działa i też operuje na własnym widgetcie w QListWidget, więc niejako nie ma sensu dłubać już w tabeli, wydaje mi się, że będzie z tym więcej kombinacji.

Tak więc zostaje

  • sprawdzić grupowanie udane/nieudane, aby zawsze najpierw było udane
  • zrobić coś z rozmiarem okna, bo czasami są długie nazwy seriali, najdłuższy jaki znalazłem to Second.Chance.2016.S01E01.A.Suitable.Donor.PREAiR.WEBRip.x264-SRS i wtedy są scrolle

Ostatnie można rozwiązać na dwa sposoby, wydłużać okno, aby zawsze była jedna linia na wynik lub pokazywać nazwę w dwóch liniach przy stałym rozmiarze okna.

Jako, że tytuły bardzo długie zdarzają się rzadziej, a mimo wszystko mają też swój max, więc nie zajmie pół ekranu nigdy, proponowałbym opcję nr 1, dostosowywanie rozmiaru okna, jak zawsze jest jedna linia to jest to też pewna spójność.

Tylko czy mamy zgodę w sprawie wyglądu listy oraz ikon języka i serwisu, tak jak na nowym zrzucie może być?

@krzemin
Copy link
Member

krzemin commented Feb 3, 2016

O coś takiego mi chodziło. Teraz nawet jeśli nie pogrupujesz wpisów, to też będzie wyglądać dobrze, bo dziury będą z prawej strony i nie będą aż tak przeszkadzać.

Co do automatycznego rozszerzania okna, to OK - też można się pobawić.

@andrewpros
Copy link
Author

Ok, to dokończę.

Wrzuciłem.

Miałem problem z dostosowaniem rozmiaru okna do zawartości listy, qt chyba samo nie ogrania do końca, a może też ten widget do wyświetlania w liście zmienia warunki, których ja do końca nie mogę przewidzieć, więc poradziłem sobie programowo.

@krzemin krzemin merged commit 4430fd6 into QNapi:master Feb 7, 2016
@krzemin
Copy link
Member

krzemin commented Feb 7, 2016

Kawał dobrej roboty - dzięki. Super pomysł z własnym widgetem wewnątrz list view - teraz wygląda to naprawdę przyzwoicie.

Zmerge'owałem Twoje zmiany do mastera, z pomniejszymi cleanupami ode mnie.

Może chciałbyś zająć się przerobieniem frmListSubtitles w podobny sposób?

@andrewpros andrewpros deleted the subtitle_lang_summary branch February 7, 2016 22:48
@andrewpros
Copy link
Author

Spoko, mogę frmListSubtitles wyczyścić też.

I dobrze, że poprawiasz to co przerobiłem, bo jak pisałem specem od qt nie jestem, a też pewnych rzeczy nie ruszę albo o nich nie wiem.

Ogólnie chciałbym dłuższą chwilę program trochę usprawnić jak się da, bo już jakiś czas chciałem się pozbyć napi, a tam do admina to jak do ściany, a tu miałem funkcje o które mi chodzi od razu i bez łaski, a dodatkowo mogę przyspieszyć cała sprawę.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants