tomcio15 Napisano Czerwiec 29, 2005 Zgłoszenie Share Napisano Czerwiec 29, 2005 GBibioteka (Tymczasowa) Strona projektu: http://members.lycos.co.uk/gbiblioteka/ Program ułatwia zarządzanie zbiorami książek i dokumentów elektronicznych. Obecny status: wersja 0.7 (wersja rozwojowa) (Pierwszym, oficjalnym wydaniem będzie wersja 1.0) Lista zmian na dzień dzisiejszy: ==================================================================== Now ChangeLog is only in Polish language, if I have some free time I'll translete it into English. ==================================================================== **** (02-06-2005) *** wersja 0.1 Pierwsze wydanie **** (25-06-2005) *** wersja 0.2 Funkcja eksportu/importu/backapu danych z bazy danych **** (28-06-2005) *** wersja 0.3 Nowe pole "gatunek" Funkcja dodawania/usuwania gatunkow Autoodswierzanie listy glownej Poprawki Poprawione skrypty Makefile **** (21-07-2005) *** wersja 0.4 Rezegnycja z GNOME, oparcie GUI na czystym GTK+ Szersze wykorzystanie biblioteki GLib Prezepisanie i reorganizacja praktycznie calego kodu Usuniecie funkcji importu danych Okno wlasciwosci Poprawienie zachowania GUI, przymiarki do zastosowania HIG Usauniecie pola 'gatunek' (INFO) Wersja 0.4 jest tak jakby stadium przejsciowym pomiezy wersjami 0.3 i 0.5. Kod tej wersji jest bardziej dojrzaly;-) Sory, ze nie ma wszystkich komentarzy, nie mam sily ich pisac bo mam reke w gipsie. *** (24-07-2005) *** wersja 0.4.1 Poprawiony blad podczas pierwszego uruchomienia GBiblioteki - tworzenie katalogu '.gbibiblioteka' Poprawiony okno backupu bazy danych Zaktualizowane tlumaczenia (en, pl) **** (28-07-2005) *** wersja 0.5 Poprawiony blad podczas pierwszego uruchomienia GBiblioteki - bledne zachowanie listy 'main_view' Funkcja pozyczania ksiazek Reorganizacja struktury bazy danych - osobna tabela 'authors' Zamreozenie funkcji eksportu i backupu bazy danych Poprawienie GUI Zaktualizowanie tlumaczen (en) **** (30-07-2005) *** wersja 0.6 Nowe pola + obsluga tych pol - gatunek - numer ISBN - Ilosc stron - Wydawnistwo - Data wydania Przeprojektowanie okna dodawania ksiazek Ladniejsze okno informacyjne (zgodne z HIG) Stworzenie plikow README, COPYING, INSTALL, AUTHORS (narazie po angielsku) Uaktualnienie tlumaczen (en, pl) **** (30-07-2005) *** wersja 0.7 Autoodswiezanie listy autorow, gatunkow, wydawnictw itp. Poprawiony blad wyswietlania danych o ksiazce oknie glownym programu Poprawienie GUI (kosmetyka) Mozliwosc dodawania nowego autora, wydawnictwa, gatunku wprost z okna dodawania/edycji ksiazki Zaktualizowanie tlumaczen (en, pl) =================================== **** NASTEPNA WERSJA *** wersja 0.8 Uporzatkowanie kodu Nowe opcje w oknie wlasciwosci - maksymalny okres pozyczania ksiazek Nowe pole: - rozmiar ksiazki Nowa tebela bazy danych 'version' - poczatek prac nad obsluga/konwersja baz danych pomiedzy roznymi wersjami GBiblioteki Przetlumaczenie pliku ChangeLog na jezyk Angielski Przetlumaczenie pliku README na jezyk Polski Wymagania minimalne: - Biblioteka GTK+ w wersji 2.6.x - Środowisko GNOME, zalecane 2.6, ale możliwe, że działa na wersji 2.4 (nie testowałem) - baza danych SQLite wersji 3.x Techniczne informacje: - GBiblioteka jest napisana w C - GUI aplikacji oparte jest o GTK+/GNOME - program korzysta z silnika baz danych SQLite - dwie wersje językowe angielska (domyślna) i polska - użyłem GNU Autotools do instalacji i kompilacji Prośba do forumowiczów To moja pierwsza aplikacja na "taką" ;-) skalę, bo programuje raptem od roku. Wszystkich, którzy poświęcili się i skompilowali prosiłbym o przetestowanie programu i ewentualne zgłoszenie błędów (póki co na forum, bo stronka jeszcze nie gotowa). Każda podkreślam KAŻDA uwaga, propozycja, czy nawet najmniejsza sugestia jest mile widziana. Programistów proszę o przejrzenie kodu aplikacji, wstawiłem sporo komentarzy, więc nie powinno być kłopotów ze zrozumieniem kodu. Gdyby ktoś chciał jakoś pomóc to zapraszam! (dyskusja na temat programiku toczy się również na forum http://forums.gentoo.org/viewforum-f-45.html) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Zygmunt Napisano Czerwiec 29, 2005 Zgłoszenie Share Napisano Czerwiec 29, 2005 checking for pkg-config... /usr/bin/pkg-config checking for "libgnomeui-2.0"... Package libgnomeui-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `libgnomeui-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'libgnomeui-2.0' found configure: error: Library requirements ("libgnomeui-2.0") not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them. ==================================================== Hmmm.... o to co mi wskoczyło...... próbowałem ./configure --libdir=/usr/lib ale nic, co robię nie tak????? PS: może jeszcze jakiś program do katalogowania plików..... Mi by się przydał.... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Czerwiec 29, 2005 Zgłoszenie Share Napisano Czerwiec 29, 2005 apt-cache search libgnomeui albo yum search libgnomeui I zainstalować Szkoda tylko, że to wymaga sqlite > 3.1.x, w repach na Debianie mam tylko 2.8.16. A nie chce sobie znowu systemu rozwalić kompilując Kurde w tym gentoo to jakoś do przodu są PS. Czemu sqlite, a nie np. mysql ;> Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio15 Napisano Czerwiec 29, 2005 Autor Zgłoszenie Share Napisano Czerwiec 29, 2005 Zygmunt, zainstaluj z płytek Fedory (mniemam, że tego systemu używasz) pakiety developerskie dla GNOME. nie zapomnij o SQLite Iszk, ponieważ SQLite jest idealna do tego typu programów. Ten silnik bazo-danowy tworzy o prostu osobny plik bazy danych we wskazanym miejscu i do obsługi nie wymaga żadnych pierdół jak prawa dostępu, konta w systemie czy demonów. Jest to po prostu maksymalnie okrojona (i nie posiadająca żadnych zabezpieczeń) baza nanych, dlatego ją wybrałem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Raven Napisano Czerwiec 29, 2005 Zgłoszenie Share Napisano Czerwiec 29, 2005 Dobrze by było, gdyby ta aplikacja była wy-HIG-owana (dokument chwilowo niedotępny). Druga sprawa, mógłbyś utworzyć projekt (ale pod inną nazwą (choćby GLibrary ) na sourceforge lub innym *forge. Zyskałbyś w ten sposób np. CVS i lepszy od Lycorysa serwer, a także może jakiś programistów do pomocy. Aha, i czemu po-ty są w iso-8859-2? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio15 Napisano Czerwiec 29, 2005 Autor Zgłoszenie Share Napisano Czerwiec 29, 2005 Do HIG'a dojdę, ale najpierw muszę go przeczytać, i tak starałem się zrobić stosunkowo proste GUI, a poza tym to dopiero wersja 0.3 do 1.0 jeszce daaaleka droga, muślę, że w październiku dojdę do 1.0... Wybrałem serwis https://developer.berlios.de/ i czekam na akceptację A racja, w 0.4 pO'ty będą w UTF-8, dzięki Raven, w zasadzie to pierwszy bug Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
PeterJack Napisano Czerwiec 29, 2005 Zgłoszenie Share Napisano Czerwiec 29, 2005 Czemu titles a nie tytuł Tak to fajny sofcik. Napisałem coś podobnego tylko że w php Przydały by się dodatkowe opcje Narazie oglądałem tylko screenshot. A i paczki by się przydały Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio15 Napisano Czerwiec 29, 2005 Autor Zgłoszenie Share Napisano Czerwiec 29, 2005 Angielski to język domyślny aplikacji (najbardziej popularny), wersja polska jest dostepna po instalacji (o ile system ma ustawienia polskojęzyczne) bo wykorzystałem pakiet gettext, co do opcji to spokojnie, prace trwają... ;-) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
PeterJack Napisano Lipiec 27, 2005 Zgłoszenie Share Napisano Lipiec 27, 2005 To może odpowiesz: Z czego się uczyłeś gui i bazy :?: Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
pro7 Napisano Lipiec 29, 2005 Zgłoszenie Share Napisano Lipiec 29, 2005 yy ja tak chyba troche OT napisze ale wydaje mi sie ze masz orta na tej stronce Page and all comments in source files are in polish language. If You want, I can translate them into English, just send mi message on [email protected] chyba powinno byc "me" zamias "mi" ( mozliwe ze to mi sie cos juz pomieszalo ). Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio15 Napisano Sierpień 1, 2005 Autor Zgłoszenie Share Napisano Sierpień 1, 2005 Przede wszystkim jeda informacja - program nabiera rozpedu i mamy juz wersje 0.7 Wiecej informacji jest w ChangeLogu na poczatku strony. Tutaj mamy bardziej rozbudowana dyskusje na temat programu: Dyskusja na temat GBiblioteki, forum systemu Gentoo Nowosci to glownie: - stabilniejsza praca - nowe pola - funkcja pozycania ksiazek - kilka innych Tu mala uwaga, wersja 0.6 i nowsze nie bedzie dzialac poprawnie po kompilacji na GCC 4.0.0/4.0.1 (moze nowsze wersje z galezi 4.x poprawnie skompiluja GBiblioteke, jezeli ktos ma mozliwosc to prosze sprawdzic:!: ) Osoby, ktore potrafia mi pomoc prosze o rozwiazanie tego problemu, bo ja niestety nie wiem jak to naprawic GBiblioteka dziala poprawnie na GCC w wersji 3.3.x (przetestowalem na GCC 3.3.5) i na GCC 3.4.x (_troll_ sprawdzil na wersji 3.4.4) ======================= OMOWIENIE BLEDU KOMPILACJI Z UZYCIEM GCC 4.0.1======================= (opis bledu odnosi sie do wersji 0.6 programu GBiblioteka) Poszperalem glebiej w kodzie i doszedlem do miejsca gdzi jest klopot, nie jest on jak wczesnij uwazalem w pliku book-fun.c, ale w pliku other-callbacks.c w tej funkcji (orginalna postac funkcji): void on_add_book_ok_but_clicked (GtkButton *button, gpointer user_data) { GtkWidget *widget; widget = (gpointer) lookup_widget (GTK_WIDGET (button), "add_book_dlg"); if (check_book_data (widget)) { update_book_data_from_dlg (widget); save_book (); clear_book_display (); reload_main_view (); gtk_widget_destroy (widget); } } Funkcja check_book_data () zwraca wartosc boolean (dokladniej gboolean bo uzywam GLib), ta funkcja sprawdza dane w oknie edycji danych o ksiazce, jezeli dane sa ok to zwraca TRUE, jezeli sa bledne zwraca FALSE. Ta postac funkcji 'on_add_book_ok_but_clicked ()' daje naruszenie pamieci po kompilacji na GCC 4.0.1 i GCC 4.0.0. Zmodyfikowana funkcja on_add_book_ok_but_clicked (): void on_add_book_ok_but_clicked (GtkButton *button, gpointer user_data) { GtkWidget *widget; widget = (gpointer) lookup_widget (GTK_WIDGET (button), "add_book_dlg"); if (check_book_data (widget)) { g_printf ("abcd...\n"); } } Takie postac funkcji dziala poprawnie, nie zglasza bledu naruszenia pamieci, z tego wynika, ze problemem NIE jest funkcja check_book_data (). Tak samo taka postac dziala w pelni poprawnie: void on_add_book_ok_but_clicked (GtkButton *button, gpointer user_data) { GtkWidget *widget; widget = (gpointer) lookup_widget (GTK_WIDGET (button), "add_book_dlg"); update_book_data_from_dlg (widget); save_book (); clear_book_display (); reload_main_view (); gtk_widget_destroy (widget); } Natomiast taka modyfikacja, rowniez zwraca naruszenie pamieci: void on_add_book_ok_but_clicked (GtkButton *button, gpointer user_data) { GtkWidget *widget; widget = (gpointer) lookup_widget (GTK_WIDGET (button), "add_book_dlg"); if (check_book_data (widget)) { g_printf ("abcd...\n"); gtk_widget_destroy (widget); } } Teraz prosze niech mnie ktos poprawi jezeli sie myle! Moim zdaniem zmienna 'widget' NIE jest widoczna w instrukcji if co z punktu widzenia jezyka C jest niemozliwe. W takim razie wina lezy po stronie kompilatora, a nie po stronie programisty. Co Wy o tym sadzicie, bo ja to widze jako blad GCC? Wersja GCC na ktorej wystapil blad: Thread model: posix gcc version 4.0.1 20050727 (Red Hat 4.0.1-5) INFO DLA USEROW FEDORY 4 !!! Narazie jest tylko jeden sposob na obejscie problemu, wytlumacze to krok po kroku: - instalujemy z plyty Fedory 4 grupe "Rozwoj klasycznego oprogramowania" - sciagamy najnowsza GBiblioteke - rozpakowujemy zrodla i wywolujemy ./configure - otwieramy plik katalok_ze_zrodlami/src/Makefile w dowolnym edytorze i zmieniamy linijke: CC=gcc na: CC=gcc32 - wywolujemy make i make install Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi