A jelenleg használt online adatbázisok és nyelveik:
- www.cab.u-szeged.hu: angol, német
- www.szotar.sztaki.hu: angol, német, francia, olasz, holland, lengyel
- www.szotar.xfree.hu: angol, német, francia, olasz, latin
Teszteljétek minél többen, várom az ötleteket, javaslatokat, és ha esetleg valaki készít egy Debian/Ubuntu csomagot, azt is hálásan megköszönöm.
Screenshot:
Qtdict
Qtdict installer (wine)
- bandix blogja
- A hozzászóláshoz be kell jelentkezni
- 827 megtekintés
Hozzászólások
"..teljes újratervezésen esett át, melynek jelei a felhasználói felületen is mutatkoznak..
Screenshot? :)
- A hozzászóláshoz be kell jelentkezni
Hiányosság pótolva, tegnap már nem volt időm rá.
____________________________________________________________
Slackware 12.1 - linux-2.6.24.4-olorin - KDE 3.5.9
- A hozzászóláshoz be kell jelentkezni
Jó ötlet a git, legalább bele tudtam nézni tömörítgetés nélkül.
Pár megjegyzés:
dictionaries.h:
Ezt szerintem írd át: :)
24 #ifndef DICTIONARYES_H
25 #define DICTIONARYES_H
online_dictionary.h:
Mint ahogy írod ez egy abstract class.
Tehát sohasem példányosítjuk. Ilyenkor szokták a konstruktort protected-re állítani. Így fordítási időben kiderül, hogy nem lehet példányosítani, de persze a származtatott osztályok elérik a konstruktort.
Plusz megtehetetd, hogy a virtuális fv-eknek nem adsz implementációt:
virtual bool search(const settings &)=0;
Ez azért jó, mert így nem fordulhat elő, hogy származtatáskor valaki véletlenül nem implementál egy virtuális fv-t.
(Persze csak azoknál a virt. fv-eknél kell ez amiket kötelező implementálni. Ha van értelmes default viselkedés, akkor nem kell.)
main.cpp:
qtdict * mw = new qtdict();
mw->show();
delete? Értem én, hogy az OS kilövi, de így nem szép.
Mellesleg felesleges is:
qtdict mw;
mw.show();
A névadási szokásaid nekem nagyon furcsák, két szokást keversz:
- a típusneveket kisbetűvel kezded, ezt a STL-en kívül kb sehol nem látni (na jó, boost). Itt a szóhatárokat '_'-vel jelölöd.
- a tagfv-eknél, és a tagváltozóknál viszont nagybetű mutatja a szóhatárokat. (Camel Casing)
Egyik módszerrel sincs baj, csak a kettő keverése szerintem kicsit zavaró. Leginkább a kisbetűs típusnevek zavarnak...
Különben nem rossz (így 10 perc után :) ), tetszik, hogy nem inlude-olsz mindent feleslegesen, egyedül az utils.h elején látok valami tobzódást. :)
Majd még futtatom is, megnézem a GUI-t.
Csak így tovább!
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Több szem többet lát. Köszönöm.
Hát igen, a keverék elnevezések nagyrészt abból a skizofréniából fakadnak, hogy egyetemen C++-ból belém nevelték (legalább is próbálták) az STL-t. Viszont nagyrészt Javaban programozok, de a C++-t jobban szeretem, így tudatalatt mindig becsúsznak az STL-es kisbetűs, "_"-os elnevezések, aztán lustaságból úgy maradnak. Javítom mindet.
____________________________________________________________
Slackware 12.1 - linux-2.6.24.4-olorin - KDE 3.5.9
- A hozzászóláshoz be kell jelentkezni
Az STL-lel nincs baj, sőt!
Tagfv-eknél sincs bajom a '_'-os jelöléssel, egyedül a kisbetűs tipusnév az ami zavar.
Az én szokásom az, hogy mindig annak a libnek névadási stílusához alkalmazkodom, ami használok. Jelen esetben a Qt-hez.
(Ez alól két kivétel van, nem használok kisbetűs típusneveket, illetve a tagváltozókat m_ prefixszel látom el. Ez utóbbi kódkiegészítés használata közben is előny.)
Itt írnak okosakat: http://doc.trolltech.com/qq/qq13-apis.html
Persze ezek ajánlások, és el lehet térni...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Kicsit jobban belenéztem...
qtdict.cpp:
Eleve ezek a "QList<QPair<QString,QList<..." dolgok nagyon nem szépek. Az a minimum, hogy szép typedef-eket kapjanak (WordList, DictList, akármi, a különböző szinteknek külön), legalább magadat sem szivatnád, ha egy ilyen változót kell deklarálni.
El lehetne gondolkozni rajta nem lenne-e szebb egy új típust bevezetni, mert valójában egy fát implementáltál.
Valami ilyesmire gondolok:
http://doc.trolltech.com/4.3/itemviews-simpletreemodel.html
(A model/view megközelítésen is lehet gondolkozni, de az elég nagy meló, bár később megtérülhet.)
A foreach jó dolog, de így ahogy te használod feleslegesen lassú.
Minden iterációban lemásolja a változót, igaz elvileg a Qt-ben sokminden implicit shared, de egyrészt nem minden, másrészt még így is minek másolni ha nem muszáj? Használj const ref-et, vagy mutatót.
Gondolom azért nem ezt tetted, mert csúnya volt a típus... Na erre van a typedef.
Az utils.h tele van ronda dolgokkal.
Typedef-ek hiánya miatt fél év mulva sokat fogsz gondolkozni rajta, mi a franc is történik ezekben a fv-ekben...
(Hidd el, velem már megtörtént... Igaz én tuple-t használtam az még rosszabb mint a pair. :) )
Szerintem átgondoltabb tervezéssel megszabadulhatnál ezektől a konverziós fv-ektől.
Mi ez a rengeteg include az utils elején? Miért nem ott include-olod, ahol használni is fogod őket?
dictionaries.cpp:
htmlToLatin, latinToHex csak a cab ban használatos, miért van az ősosztályban?
Ha úgy érzed kellhet még, csinálhatnál saját QTextCodec-et:
http://doc.trolltech.com/4.3/qtextcodec.html#creating-your-own-codec-cl…
A htmlList feltöltése... Hmmm... Sajátos. :)
Szintaktikai cukor lenne (egy teljesen felesleges copy constructor hívással), ha nem lenne az első dolgod vele, hogy átkonvertáld...
GUI:
Sokat ront a használhatóságon, hogy a második oszlopban a szó különböző fordításai egy-egy mezőben vannak, így nem lehet egyesével vágólapra másolni őket. Mindenképp külön mező kéne.
További ötletek:
- Esetleg egy szóra duplán kattintva elindulhatna egy új keresés. Ez hasznos mikor az ember rokonértelmű szavak között keresi a legmegfelelőbbet.
- Drag and Drop keresés, illetve az eredmény.
- Model/View megközelítés. Ez első körben sok meló, de később esetleg megéri.
Kb ennyi. Remélem nem vettem el a kedved. :)
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Üdv!
Egyáltalán nem vetted el a kedvem! Örülök, hogy van aki értelmesen tud tanácsokat adni, és próbálom megfogadni őket.
Ha lesz kis időm átdolgozom a ronda template típusokat. Sok kényszermegoldás van még benne, ami természetesen a tapasztalatlanságomból fakad, ezért is köszönöm, hogy megosztod velem a véleményed.
____________________________________________________________
Slackware 12.1 - linux-2.6.24.4-olorin - KDE 3.5.9
- A hozzászóláshoz be kell jelentkezni