# [OT] GLibrary (GBiblioteka) -menażer książek (ver.1.0-beta2)

## tomcio

GLibrary

(Dawniej program nazywał się GBiblioteka, ale nazwa zpstała zmieniona, zeby aplikacja miała bardziej "międzynarodową" nazwę)

Strona projektu: http://www.gbiblioteka.svx.pl/

Program ułatwia zarządzanie zbiorami książek i dokumentów elektronicznych.

Obecny status: wersja 1.0-beta2

(Pierwszym, oficjalnym wydaniem będzie wersja 1.0)

ChangeLog

Dostępny na stronie projektu, podobie jak zrzuty ekranów.

Wymagania minimalne:

- Biblioteka GTK+ w wersji 2.6.x

- baza danych SQLite wersji 3.1.x

- biblioteka Libglade 2.0.0

Techniczne informacje:

- GBiblioteka jest napisana w C

- GUI aplikacji oparte jest o GTK+

- 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ą"  :Wink:  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!

Mój GG: 5894993

E-mail: tomcio-j@o2.plLast edited by tomcio on Mon Dec 12, 2005 3:45 pm; edited 12 times in total

----------

## blazeu

Baza danych powinna sie odswiezac po kazdym dodaniu i usunieciu pozycji. Innych bledow na razie nie stwierdzilem.

----------

## tomcio

 *blazeu wrote:*   

> Baza danych powinna sie odswiezac po kazdym dodaniu i usunieciu pozycji. Innych bledow na razie nie stwierdzilem.

 

Tak, to w wersji 0.3 już zrobiłem; to kilka nowinek tej wersji:

- osobna tabelka bazy danych "generes" i cały zestaw funkcji do obsługi dodawania/usuwania (np. gdy usuwamy gatunek z bazy, a jakaś książka jest z nim powiązana)

- auto-odświeżanie listy w oknie głównym

- kilka poprawek i reorganizacja kilku funkcji

blazeu, ucieszyłbym się gdybyś szerzej skomentował ten programik  :Smile: 

----------

## _troll_

a nie zadziala

```
make AM_FLAGS="-moje -flagi -co -je -lubie -yeyeye"
```

()tylko podstawiajac wiadomo jakie  :Wink:  )??

Pozdrawiam,

Przemek

----------

## vArDo

Moglbys wrzucic screeny? Z gory dzieki.

Pozdrawiam

vArDo

----------

## Zwierzak

http://developer.berlios.de/

Zarejestruj się i dodaj swój program do projektów tej strony. Jest to serwis zajmujący się hostowaniem projektów OS, daje za darmo miejsce na strone i cvs i svn, nieliczac wiele inncyh bardzo przydatnych dodatków jak świetnie zorganizowany download.

----------

## vArDo

 *Zwierzak wrote:*   

> http://developer.berlios.de/
> 
> 

 

Bardzo ciekawa alternatywa dla sf.net (sprawdzone na wlasnej skorze). Polecam tez:

http://www.tigris.org/

Pozdrawiam

vArDo

----------

## tomcio

Dobra, poprawiłem informacje o programie (blazeu  :Wink:  ), myślę, że teraz sa bardziej zrozumiałe.

Na stronie dałem zrzut ekranu, tak jak prosił vArDo.

Taraz szczególnie proszę o przetestowanie funkcji importu/eksportu i funkcjami zarządzania gatunkami, bo sprawiły mi one sporo kłopotów, szczególnie import/eksport.

Prosze o propozycje nowych funkcji, bo mi (jeszce) nie przyszło do głowy nic cikawego .

Z góry dzięki!

----------

## melk0r

moze: wydawnictwo i rok, orginalny tytul, liczba stron, typ okladki i to co bylo szczegolnie przydatne w monothece: czy ksiazka jest pozyczona czy nie (moze tez byc extra od i do kiedy), jak dla mnie sa to w miare przydatne i uzyteczne informacje, ktore pomoga mi zagospodarowac moja coraz bardziej liczna i stale rosanaca biblioteczke; wielkie dzieki za prace, program jest super i na dodatek pisany w gtk  :Smile: 

----------

## tomcio

Miło czytać takie wypowiedzi jak Twoja melk0r  :Very Happy: 

Jak pisałem wcześciej, dostawianem nowych pól zajme sie jak program trochę bardziej się rozwinie (gdzieś w okolicach wersji 0. :Cool:  bo póki co musze popracowac nad "rdzennymi" funkcjami, zeby mi sie potem to wszystko nie rozlazło...

Pożyczanie ksiązek zaimpletuję, bo to rzeczyiście fajny pomysł, ale nie wiem czy już w wersji 0.4, moze troszkę później.

W wersji 0.4 dodam obsługe powieści wielotomowych, bo myślę, że to się może przydać.

Czekam na kolejne ropozycje (i pochwały  :Razz:  )

KOMUNIKAT

Cz ktos z was umie pisać ebuildy? Jeżeli tak to proszę, jeżeli ten ktos może, niech napisze ebuild do GBiblioteki, bo ja jeszce tego nie umiem.

----------

## tomcio

No dobra, toche to trwalo ale jest nowa wersja. Praktycznie program zostal napisany od zera po poprzednia koncepcja rozwoju kodu okazala sie kiepska. Glowne zmiany, to uwolnienie programu od GNOME i przymiarki do wykorzystania libglade w nastepnyvh wersjach (zna ktos dobry kurs libglade ? ).

Program instaluje sie juz poprawnie  :Wink: 

Jezeli ktos ma chwile czasu to prosilbym o test i komentarz  :Wink: 

----------

## _troll_

 *tomcio wrote:*   

> KOMUNIKAT
> 
> Cz ktos z was umie pisać ebuildy? Jeżeli tak to proszę, jeżeli ten ktos może, niech napisze ebuild do GBiblioteki, bo ja jeszce tego nie umiem.

 daj w miare kompletna liste zaleznosci gbiblioteki to sie zrobi  :Smile: 

Pozdrawiam,

Przemek

----------

## Grosik

 *tomcio wrote:*   

> KOMUNIKAT
> 
> Cz ktos z was umie pisać ebuildy? Jeżeli tak to proszę, jeżeli ten ktos może, niech napisze ebuild do GBiblioteki, bo ja jeszce tego nie umiem.

 

Mowisz, masz  :Wink: 

Ebuild  :Arrow:  http://grosik-ck.neostrada.pl/gbiblioteka-0.4.1.tar.gz

Nie bardzo wiedzialem gdzie to wrzucic, wiec dalem do app-misc  :Smile:  Za ewentualne bledy w ebuildzie przepraszam, chociaz u mnie zainstalowal sie dobrze  :Smile: 

EDIT:

@_troll_: nie widzialem Twojego posta, kiedy pisalem swojego, ale chyba sie nie obrazisz, ze zrobilem tego ebuilda przed Toba  :Very Happy: 

@tomcio: w oknie z ustawieniami jest literowka: "Rob kompie bezpieczenstwa automatycznie", kolejna jest w menu Plik: "Ekksportuj dane"

----------

## _troll_

 *Grosik wrote:*   

> EDIT:
> 
> @_troll_: nie widzialem Twojego posta, kiedy pisalem swojego, ale chyba sie nie obrazisz, ze zrobilem tego ebuilda przed Toba 

 spox.

popraw:

- IUSE nie iUSE

- SRC_URI="http://members.lycos.co.uk/${PN}/${P}.tar.gz" - tak sie to krocej pisze

- src_compile zbedny - wy***ac

- src_install wydaje sie byc zbedny - wy*** i sprawdz czy pojdzie bez bolu

- chcialem napisac ze brak dokumentow zainstalowanych, ale po co komu puste pliki  :Smile: 

Pozdrawiam,

Przemek

----------

## _troll_

 *Grosik wrote:*   

> EDIT:
> 
> @tomcio: w oknie z ustawieniami jest literowka: "Rob kompie bezpieczenstwa automatycznie", kolejna jest w menu Plik: "Ekksportuj dane"

 zrob latke  :Smile: 

Pozdrawiam,

Przemek

----------

## Grosik

_troll_ dzieki za wskazkowi, do wszystkich sie zastosowalem i ten ebuild wyglada troche lepiej, zawiera tez patch poprawiajacy literowki  :Wink: 

Wszystko dostepne pod linkiem powyzej.

----------

## milu

Czy nie powinno być czasem rób kopię bezpieczeństwa??

cd "${S}/" => zbędny ten ukośnik na końcu

----------

## Grosik

Ukosnik zostal przez pomylke przy poprzedniej wersji patcha, poprawione  :Wink: 

 *milu wrote:*   

> Czy nie powinno być czasem rób kopię bezpieczeństwa??

 

To chyba ma byc liczba mnoga.

----------

## Crenshaw

Z ficzerow to mogloby miec import/eksport do formatu bibtexa. http://www.ecst.csuchico.edu/~jacobsd/bib/formats/bibtex.html

----------

## tomcio

Zobaczymy co da sie zrobic Crenshaw, bo jeszcze nie opracowalem wlasneg opliku eksportu, a poza tym ciagle mysle nad ukladem bazy danych itp. itd. czyli ogolnie troche roboty jeszcze jest, wiec z obsluga innych formatow wole jeszcze poczekacdo wersji 0.7, 0.8  :Wink: 

----------

## _troll_

 *Grosik wrote:*   

> Ukosnik zostal przez pomylke przy poprzedniej wersji patcha, poprawione 
> 
>  *milu wrote:*   Czy nie powinno być czasem rób kopię bezpieczeństwa?? 
> 
> To chyba ma byc liczba mnoga.

 jednoczesnie da rade zrobic wiecej niz jedna kopię bezpieczenstwa? (tzn. rownloegle?) bo jak nie - to chyba liczba pojedyncza sie jednak sama narzuca.

Pozdrawiam,

Przemek

----------

## Grosik

 *_troll_ wrote:*   

> jednoczesnie da rade zrobic wiecej niz jedna kopię bezpieczenstwa? (tzn. rownloegle?) bo jak nie - to chyba liczba pojedyncza sie jednak sama narzuca.

 

Ja to rozumialem to jako wiele kopii bezpieczenstwa w przyszlosci, ale po glebszym przemysleniu stwierdzam, ze to jest bez sensu. 

EDIT:

Po zajrzeniu w zrodla stwierdzam, ze liczba mnoga byla jednak w zamierzeniach autora.

----------

## tomcio

Witam!

Skonczylem wersje 0.5; krotkie streszczenie nowosci. Nareszcie mam ludzka struktore bazy danych i moge sie powoli zabierac do dodawania nowych pol  :Smile: 

Dopisalem tez funkcje poztczania ksiazek. Zapraszam do testowania   :Wink: 

Macie jakies pomysly co mozna jeszcze dodac do okna ustawien? Ja mysle, ze przyda sie ustawianie maksymalnego czasu pozyczania ksiazki, co wy na to?

Prosze nie zwracajcie uwagi na wersje jezykowe bo robilem je na odwal, potem sie tym zajme, zeby mikalo rece i nogi  :Wink: 

EDIT

Moge prosic o ebuilda?  :Laughing: 

----------

## Grosik

 *tomcio wrote:*   

> Moge prosic o ebuilda? 

 

Wieczorem bedzie  :Wink: 

----------

## _troll_

 *tomcio wrote:*   

> Prosze nie zwracajcie uwagi na wersje jezykowe bo robilem je na odwal, potem sie tym zajme, zeby mikalo rece i nogi 

 eeeee...... no przeciez mozna Ci w tym chocby pomoc, robiac latki  :Smile: 

Pozdrawiam,

Przemek

----------

## tomcio

Kłopot w tym, ze w wiekszosci komunikatow, etykiet itp. sa oczywiste bledy o ktorych wiem, a po prostu nie chcialo mi sie np. zagladac do slownika  :Razz: 

Poki co pracuje nad kodem  :Wink:  Wersja jeykowa zajme sie jak sam program bedzie juz dzialal tak jak chce  :Smile: 

Ale oczywiscie czekam na zgloszenia o bledach w komunikatach, tylko prosze bez latek...

Grosik, zobacz na okno "O programie" -> "Zasługi"  :Wink: 

btw. dodalem temat o GBibliotece do dzialu "Other Things Gentoo" na tym forum, zapraszam rownie do dyskusji po angielsku :]

EDIT

Zaczynam myslec nad serwerem, bo zaczynam dostawac maile od ludzi na temat stroki itp.

Myslice, ze www.linux.pl to dobry pomysl?

http://www.berlios.de/ odeslalo mnie z kwitkiem (tzn. nie ma odpowiedzi, a czekam juz ktorys tydzien)

I jakby co to pytam czy zglosilby sie ochotnik do zrobienia strony, bo ja juz wypadlem z tej branzy?  :Razz: 

Interesuje mnie cos prostego w obsludze jak np. :

http://www.mediawiki.org/

http://www.phpbb.com/

albo cs innego, jezeli macie lepsze pomysly. Jestem otwarty na propozycje w tej kwestii  :Very Happy: 

----------

## qermit

 *tomcio wrote:*   

> I jakby co to pytam czy zglosilby sie ochotnik do zrobienia strony, bo ja juz wypadlem z tej branzy? 
> 
> Interesuje mnie cos prostego w obsludze jak np. :

 Jakby cię interesowało to ja mogę ci udostępnić moje 200MB z łączem 2Mbit - zracji tego że jest to szkolne konto, ewentualny dostęp będziesz miał tylko przez jakiś panel www. Stronę też mogę zrobić. Na początek wystarczy chyba nawet coś prostego.

----------

## Grosik

 *tomcio wrote:*   

> Grosik, zobacz na okno "O programie" -> "Zasługi" 

 

Dzieki bardzo za docenienie mojego niewielkiego wkladu w rozwoj programu  :Smile: 

Nowy ebuild:

 :Arrow:  http://grosik-ck.neostrada.pl/gbiblioteka-0.5.tar.gz

----------

## Miki

witam^^ mam mala propozycje co do twojego programu, otoz moglbys dodac obsluge okladek (tyl,przod), a pozniej ew. zrobic jakis serwer, na ktory userzy mogliby uploadowac i sciagac te okladki, zeby nie trzeba bylo robic samemu zdjec (szczegolnie przydatne dla osob bez aparatu/skanera) ale to juz tylko taki raczej malo wazny bajer i da sie bez niego zyc  :Smile: 

btw. twoj program roxi i oby tak dalej

pozdro

----------

## _troll_

Propozycja dla autora watku : zmien temat  :Wink:  jest conajmniej mylacy.

Pozdrawiam,

Przemek

----------

## totencham

 *Miki wrote:*   

> witam^^ mam mala propozycje co do twojego programu, otoz moglbys dodac obsluge okladek (tyl,przod), a pozniej ew. zrobic jakis serwer, na ktory userzy mogliby uploadowac i sciagac te okladki, zeby nie trzeba bylo robic samemu zdjec (szczegolnie przydatne dla osob bez aparatu/skanera) ale to juz tylko taki raczej malo wazny bajer i da sie bez niego zyc 
> 
> btw. twoj program roxi i oby tak dalej
> 
> pozdro

 

Przy odrobinie szczęścia w księgarniach internetowych (np. http://www.merlin.com.pl/) można znaleźć taką samą okładkę.

----------

## tomcio

Miki to raczej nie wypali, ale nad mozliwoscia zapisywania okladek w bazie pomysle  :Wink: 

Koncze prace nad wersja 0.6, uaktualnilem tez ChangeLog na poczatku watku.

Narazie udostepnie wersje rozwojowa 0.5.99, bo mam z nia klopot. Program nie dziala poprawnie po kompilacji na gcc 4.0 (pod fedora 4) wywala naruszenie pamieci, z moim gcc 3.3.5 dziala poprawnie. Klopot jest w funkcji 'update_book_data_from_dlg ()' w pliku 'book-fun.c' jakby ktos znalazl buga to prosze o info.

_troll_ wytrzymaj jeszcze troche i nie zamykaj tego watku  :Laughing:  w koncu musze sie jakos rozreklamowac  :Wink: 

Jak qermit zrobi stronke to wtedy tam przeniesie sie glowna dyskusje.

----------

## _troll_

 *tomcio wrote:*   

> _troll_ wytrzymaj jeszcze troche i nie zamykaj tego watku  w koncu musze sie jakos rozreklamowac  

 eeeee... zle mnie zrozumiales - nie zamierzam Ci watku zamykac, ale:

- porzadek na forum musi byc  :Wink: 

- ponadto tytul watku "pisze program...." wcale nie mowi co to za program, jakie ma mozliwosci, co to, etc. a przeciez mozesz go takze wykorzystac jako reklame??  :Wink: 

PS. Gdzie te zrodla co problem sprawiaja?

:: edit ::

zrodla juz mam, skompilowalem (gcc-3.4.4), wszystko dziala poprawnie. daj procedure zabawy, ktora wywala program.

Pozdrawiam,

Przemek

----------

## tomcio

Heh, zaraz zmienie tytul  :Wink: 

Kłopotliwy kod jest w wersji 0.5.99 (paczka ze zrodlami jest juz na serwerku). W katalogu src w pliku book-fun.c jest funkcja update_book_data_from_dlg () I na tej funkcji wywalalo naruszenie pamieci pod Fedora 4. Ja w niej nic co moze sprawiac klopoty nie widze  :Confused:  tym bardziej, ze sam kompilator nie pokazywal zadnych ostzerzen ani bledow podczas kompilacji.

Fedore 4 mam zainstalowana na VMware Workstation 5.0 i przed chwila zaktualizowalem GCC do wersji 4.0.1 (a byla wersja 4.0.0), usune wszystkie flagi i sprawdze jak to wyglada ze swiezszym GCC, postaram sie wieczorkiem powiedziec o efektach.

----------

## _troll_

Hmmm.... Ebuild ma nieladne zaleznosci.... trzebaby jeszcze sprawdzic zaleznosci kolejnych zaleznosci, bo moze cos nie jest potrzebne do listowania tutaj, ale to taka raczej kompletna lista: (pominalem X'sy bo gtk-2 ich wymagaja, wiec napewno beda)

DEPEND="dev-libs/atk

    x11-libs/pango

    media-libs/freetype

    media-libs/fontconfig

    dev-libs/expat

    >=x11-libs/gtk+-2.6.0

    >=dev-db/sqlite-3.1.0"

RDEPEND="$DEPEND" (nie pamietam, ale to chyba tak jest z defaulta.... trza by do mana zajrzec, bo z pamieci pisze)

Pozdrawiam,

Przemek

----------

## Miki

nie wiem, czy ten blad jest ci znany, ale napisy wychodza troche poza linie: http://mit_mis.w.interia.pl/gbiblioteka.jpg

----------

## tomcio

Dobra, jest wersja 0.6, prosze ja potestowac, bo ja juz nie mam sily  :Wink: 

Glowne zmiany to nowe pola oraz poprawione tlumaczenia, dodalem tez pliki COPYING, INSTALL i napisalem README.

Miki zmieniales rozmiar czcionek uzywanych przez GTK+? Pod moim XFCE wszystko wyglada ok, ale dla bezpieczenstwa w nastepnej wersji zwieksze rozmiary etykiet.

Tu mala uwaga, wersja 0.6 jest 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:!: )

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=======================

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)

EDIT

Puscilem tez watek na "Portage & Programming"Last edited by tomcio on Sun Jul 31, 2005 9:13 am; edited 1 time in total

----------

## Grosik

Ebuild do nowej wersji:

http://grosik-ck.neostrada.pl/gbiblioteka-0.6.tar.gz

Poprawilem zaleznosci, nie dodawalem atk i pango, poniewaz sa wymagane przez gtk+, oraz expat, ktory jest niezbedny do dzialania fontconfig.

RDEPEND nie dodaje, poniewaz domyslnie ustawione jest: RDEPEND="$DEPEND", wiec nie ma sensu marnowac wiersza w pliku  :Wink: 

----------

## _troll_

 *Grosik wrote:*   

> RDEPEND nie dodaje, poniewaz domyslnie ustawione jest: RDEPEND="$DEPEND", wiec nie ma sensu marnowac wiersza w pliku 

 wlasnie tak kojarzylem, ze to powinno byc robione - ale nie na 100% pewnosci  :Wink: ))

I widze, ze projekt sie szybko rozwija  :Smile:  Gratulacje!

Pozdrawiam,

Przemek

----------

## Peter15

Ja bym proponował dodać: wydawnictwo. Fajnie by było jakby był formularz gdzie można wybrać gatunkek do wyświetlenia. Jakby można było wybierać gdzie ma się pdf pozycji i otwierać ją w programie za pomocą zdefinowanego progsa było by gitowsko.

- Może stwórz liste dyskusyjną  :Very Happy: 

Wersja 0.6 mi działa świetnie pod Fedorą core 4 (nie ma problemów z pamięcią). Więc to nie jej wina i nie GCC4

 *Quote:*   

> 
> 
> [peter@localhost src]$ gcc --version
> 
> gcc (GCC) 4.0.0 20050519 (Red Hat 4.0.0-
> ...

 

Niedociągnięcia:

- niektóre napisy są jeszcze po angliesku a to przecież polski program,

- jeśli nie ma autora w bazie nie można dodać książki - wziąłęm na przykład książke mojej matki i już nie chciało dodać,

- nie chce mi dodać nowego autora,

Nie wiem jak w tej wersji (z powodu problemu z dodaniem nie moge tego sprawdzić), ale w wcześniejszej wersji po dodaniu długiego opisu okienko programu rozchodziło się daleko za granice monitora

A i z jak być był miły właśnie zaczynam się interesować gtk, z czego się uczyłeś pisać pod gui  :Question: 

program wypluwa(może się przyda):

 *Quote:*   

> 
> 
> [peter@localhost src]$ ./gbiblioteka
> 
> Date: 31 7 2005
> ...

 

----------

## tomcio

TY Peter15 ty se jaja robisz czy serio program dziala po kompilacji na GCC 4 :Exclamation:   :Question:   :Shocked: 

Jaki masz procek?

 *Quote:*   

> 
> 
> - jeśli nie ma autora w bazie nie można dodać książki - wziąłęm na przykład książke mojej matki i już nie chciało dodać, 
> 
> 

 

to w wersji 0.7 bedzie poprawione  :Wink:  a co do tych napisow to nigdy nie chce mi sie robic tlumaczen na biezaco  :Laughing: 

Chyba wiem skad ten blad z baza danych. Struktura bazy zmienia sie praktycznie z kazdym wydaniem dlatego baza stworzona przez GBiblioteke 0.5 nie bedzie dzialac z GBiblioteka 0.6. W przyszlosci (w wersji 1.0)  poprawie to ale poki GBiblioteka jest w tak wczesnej fazie rozwoju nie zawracam sobie tym glowy. Sprawdz czy po usunieciu katalogu .gbiblioteka z katalogu domowego problem z dodawaniem bedzie nadal wystepowac.

Peter15, dzieki za wnikliwy test, tego elasnie potrzebowalem, thx!

Co do nauki programowania GUI w GTK, napisz mi na maila co cie dokladnie interesuje, nie chce pisac o tym w tym watku. Potem, gdy program bedzie mial juz swoja strone wrzuce na nia potrzebne materialy

----------

## Peter15

 *Quote:*   

> TY Peter15 ty se jaja robisz czy serio program dziala po kompilacji na GCC 4   
> 
> Jaki masz procek?

 

Nigdy w jeśli w gre wchodzi informatyka  :Wink: 

Usunięcie .gbiblioteka rzeczywiście działa  :Wink:  A wydawnictwo jest nie zauważyłem

poprawka w momencie dodawania wywala się ... Nie zauważyłem tego z powodu powyższego

----------

## qermit

No dobra. Powstała pierwsza wersja, jeszcze niedokńca oficjalna strona projektu GBiblioteka. Ponieważ jestem trochę leniwy , jest jeszcze trochę niedokończona (i tak nie wiem jeszcze co tam ma być umieszczone).

Krótki opis serwera (szczegulnie dla tomcia): Serwer działa pod kontrolą Slackware Linux i administratora Szpajdera. Serwer komunikuje się ze światem zewnętrznym dzięki 2Megowemu symetrycznemu łączu od TeleKomuny (to chyba w zupełności wystarczy) i innym peryferiom. Jeżeli zajdzie taka potrzeba możliwy jest dostęp do Bazy Danych PostgreSQL (problem żaden)

----------

## ediap

 *tomcio wrote:*   

> 
> 
> [snip]
> 
> Natomiast taka modyfikacja, rowniez zwraca naruszenie pamieci:
> ...

 

Spróbuj wywoływać funkcję gtk_widget_destroy(widget); za klamrą instrukcji warunkowej. Moim zdaniem, skoro obiekt widget jest tworzony bezwarunkowo, to trzeba go bezwarunkowo usunąć, bo inaczej będziesz miał wyciek pamięci. C/C++ to nie Java - nie używa standardowo odśmiecacza pamięci.  :Wink: 

Nie wiem czy to załatwia problem z kompilacją GCC 4.0.x, bo nie testowałem, choć nie sądzę żeby to był błąd kompilatora. Ale tak tylko sobie dywaguję  :Wink: 

Pozdrawiam,

/ediap

----------

## Peter15

 *Quote:*   

> Dlazcego warto używać GBiblioteki?

 

Literówka jest na stronie

----------

## qermit

 *Peter15 wrote:*   

>  *Quote:*   Dlazcego warto używać GBiblioteki? 
> 
> Literówka jest na stronie

 Ach te palce - jeden chce być szybszy od drugiego  :Embarassed:  . Dzięki

----------

## univac^

Ja bym zaś zmienił temat tej dyskusji, bo ten menażer to naprawde tu nie pasuje  :Smile:  proponuje manager

----------

## Peter15

Ja mam propozycje do funkcji ale z tym będzie sporo problemu - dodać możliwość wybrania ebooka na dysku i programu do odpalania go by można było z Gbiblioteki książki odrazu przeglądać a nie szukać w gbibliotece i jeszcze raz na dysku

----------

## tomcio

Dobra, dalem nowa wersje 0.7 wiecej info w ChangeLogu na poczatku watku.

Peter15 ja o tym mysle od dawna, ale nie moge znalezc odpowiednij biblioteki do obslugi pdf, bo albo oferuja to czeko nie potrzebuje, albo maja nieGPLowe licencje. Znalzlem ostatnia cos ciekawego, ale niestty bez dokumentacji API wiec troche potrw zanim dojde "z czym to sie je".

Tu smutna wiadomosc, wersja 0.8 nie pojawi sie szybko. Glownym celem w tej wersji bedzie osiagniecie kompatybilnosci z GCC 4, datego kazdy kto ma dostep do GCC 4 prosze o kompilacje GBiblioteki w wersji 0.6 i 0.7 oraz jakis maly raport na temat dzialania aplikacji po kompilacji ba tym kompilatorze.

Tak swoja droga zaczynam podejrzewac ze klopotem nie jest samo GCC 4, tylko ta zmodyfikowana wersja GCC w Fedorze 4, myslicie ze dobrze kombinuje?

----------

## qermit

 *tomcio wrote:*   

> Peter15 ja o tym mysle od dawna, ale nie moge znalezc odpowiednij biblioteki do obslugi pdf, bo albo oferuja to czeko nie potrzebuje, albo maja nieGPLowe licencje. Znalzlem ostatnia cos ciekawego, ale niestty bez dokumentacji API wiec troche potrw zanim dojde "z czym to sie je".

 Na początek wystarczy chyba odpalanie zewnętrznego porgramu do obsługi pdfów.

----------

## Peter15

 *Quote:*   

> moge znalezc odpowiednij biblioteki do obslugi pdf, bo albo oferuja to czeko nie potrzebuje, albo maja nieGPLowe licencje.

 

A programy takie jak kpdf xpdf  :Question:  I zamiast samemu pisać może poprostu wywołać wy system odpalił ebooka tak jakby się wpisało w konsloli program sciezka_ebooka.

----------

## tomcio

W zasadzie macie racje, ale ja chcialem to zrobic bardziej profesjonalnie tzn. odczytywac wartosci typu tytul, autor, szyfrowanie itp. (taki cos jak w mwnu GPDF -> Plik -> Właściwosci).

Ale jak uporam sie tym GCC 4 to moze zrobir taka prowizoryczne wsparcie dla pdfow.

EDIT

Jednak olewam to GCC4  :Very Happy:   i ufam deceloperom gentoo (przeczytajcie sobie: https://forums.gentoo.org/viewtopic-t-365234.html)

Mozna wiec oczekiwac wersji 0.8 wczesniej   :Wink: 

----------

## ediap

 *tomcio wrote:*   

> 
> 
> [snip]
> 
> Jednak olewam to GCC4   i ufam deceloperom gentoo (przeczytajcie sobie: https://forums.gentoo.org/viewtopic-t-365234.html)
> ...

 

Tomcio!

Czytałeś mojego wcześniejszego posta? Mógłbyś spróbować zmienić kod tak jak proponowałem, bo jestem ciekaw czy to coś zmieni pod tym GCC 4.0 w Fedorze:

 *Quote:*   

> 
> 
> Spróbuj wywoływać funkcję gtk_widget_destroy(widget); za klamrą instrukcji warunkowej. Moim zdaniem, skoro obiekt widget jest tworzony bezwarunkowo, to trzeba go bezwarunkowo usunąć, bo inaczej będziesz miał wyciek pamięci. C/C++ to nie Java - nie używa standardowo odśmiecacza pamięci. 
> 
> Nie wiem czy to załatwia problem z kompilacją GCC 4.0.x, bo nie testowałem, choć nie sądzę żeby to był błąd kompilatora. Ale tak tylko sobie dywaguję 
> ...

 

/ediap

----------

## Grosik

Nowy ebuild: http://grosik-ck.neostrada.pl/gbiblioteka-0.7.tar.gz  :Wink: 

----------

## tomcio

ediap, co rozumiesz poprzez tworzenie warunkowe obiektu, bo ja nigdy sie z takim sformulowaniem (moze tak jest w Javie - nie znam tego jezyka) nie spotkalem...   :Shocked:   :Rolling Eyes: 

Moze to dlatego, ze jestem jescze mlodym i nie doswiadczonym programista (bawie sie w to raptem 2 lata)  :Embarassed: 

Co do wywolania gtk_widget_destroy () poza instrukcja if, po utworzeniu zmiennej widget w funkcji moge sie do niej odwolac tylko jeden raz, taki kod dziala poprawniepod GCC 4:

```

void

on_add_book_ok_but_clicked             (GtkButton       *button,

                                        gpointer         user_data) 

{

   GtkWidget   *widget;

   widget = (gpointer) lookup_widget (GTK_WIDGET (button), "add_book_dlg");

   

   gtk_widget_destroy (widget);                           

} 

```

ale gdy drugi raz odwolamy sie do zmiennej widget dostajemy naruszenie ochrony pamieci; taki kod juz nie dziala:

```

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)) {

}

               gtk_widget_destroy (widget);                            

} 

```

----------

## ediap

 *tomcio wrote:*   

> ediap, co rozumiesz poprzez tworzenie warunkowe obiektu, bo ja nigdy sie z takim sformulowaniem (moze tak jest w Javie - nie znam tego jezyka) nie spotkalem... 
> 
> 

 

OK, źle to trochę wyraziłem... Chodziło mi o tworzenie obiektu przed instrukcją warunkową, a niszczenie go wewnątrz, gdy spełniony jest warunek. W takim wypadku, nie spełnienie warunku powoduje, że obiekt nadal istnieje. Ale to faktycznie nie może mieć wpływu na Twój fragment kodu, gdyż Ty tworzysz ten obiekt wewnątrz funkcji i jak z niej wyjdziesz, to i tak już go nie ma. Mea culpa  :Embarassed: 

 *tomcio wrote:*   

> 
> 
> Co do wywolania gtk_widget_destroy () poza instrukcja if, po utworzeniu zmiennej widget w funkcji moge sie do niej odwolac tylko jeden raz, taki kod dziala poprawniepod GCC 4:
> 
> ```
> ...

 

O to właśnie sprawdzenie mi chodziło. Najwidoczniej, coś nie tak z tym GCC 4.0.x w Fedorze jest... Dzięki za cierpliwość  :Wink: 

Pozdrawiam i miłego programowania!

/ediapLast edited by ediap on Tue Aug 02, 2005 4:49 pm; edited 1 time in total

----------

## tomcio

Chce sie was poradzic w pewnej sprawie:

1. Zblirzamy sie do wersji 1.0, co waszym zdaniem powinno zawierac pierwsze stabilne wydanie aplikacji, bo nie wiem nad jakimi funkcjami powinienem teraz szczegolnie pracowac. (tylko prosze o realne propozycje, jakies radykalne zmiany nie beda brane pod uwage)

2. Jak rozwiazac problem uzywania tej samej bazy danych w roznych wersjach GBiblioteki. Ka zda wersja GBiblioteki przynosi ze soba zmiany w strukturze bazy danych (nowe pola, tabele itp.). Mysle czy nie utworzyc nowej (malej, moze nawet tekstowej) aplikacji do konwertowania bazy danych pomiedzy wersjami baz danych uzywanych w roznych wersjach GBiblioteki. Mozna ta fukcje wbudowac w sama GBiblioteke, ale bedzie ona uzywana tylko jeden raz, a na pewno bedzie to spory kawalek kodu. Co o tym myslicie, bawic sie w nowy program, czy wbudowac funkcje konwersji w GBiblioteke?

3. Wpadlem na pomysl zeby utworzyc taka osobna baze autorow, wydawnictw, gatunkow itp., ktora uzytkownicy powiekszaliby, np. zglaszajac nowe pozycje na forum GBiblioteki. Co jakis czas wydawaloby sie malutki program aktualizyjacy baze autorow, gatunkow itp. itd., co wy na to?

Grosik, dzieki za wytrwale aktualizowanie ebuildow  :Wink: 

----------

## qermit

 *tomcio wrote:*   

> 2. Jak rozwiazac problem uzywania tej samej bazy danych w roznych wersjach GBiblioteki. Ka zda wersja GBiblioteki przynosi ze soba zmiany w strukturze bazy danych (nowe pola, tabele itp.). Mysle czy nie utworzyc nowej (malej, moze nawet tekstowej) aplikacji do konwertowania bazy danych pomiedzy wersjami baz danych uzywanych w roznych wersjach GBiblioteki. Mozna ta fukcje wbudowac w sama GBiblioteke, ale bedzie ona uzywana tylko jeden raz, a na pewno bedzie to spory kawalek kodu. Co o tym myslicie, bawic sie w nowy program, czy wbudowac funkcje konwersji w GBiblioteke?

 

Myślę, że zewnętrzny konwerter 'starsza wersja => nowa wersja' powinien wystarczyć. W bazie danych mogła by być np. zapisana wersja układu tabel, a program sam by sprawdzał czy jest dobra i ewentualnie informował by o tym użytkownika.

 *tomcio wrote:*   

> 
> 
> 3. Wpadlem na pomysl zeby utworzyc taka osobna baze autorow, wydawnictw, gatunkow itp., ktora uzytkownicy powiekszaliby, np. zglaszajac nowe pozycje na forum GBiblioteki. Co jakis czas wydawaloby sie malutki program aktualizyjacy baze autorow, gatunkow itp. itd., co wy na to?

 

Mógłby być to nawet prosty skrypt, który pobierałby dane z serwera projektu i dodawałby je do bazy danych. Martwi mnie jeden problem - dublowania się wpisów i ewentualnej przymusowej unifikacji

----------

## Peter15

dodam tylko że w nowej wersji jak dawałem 3 znakowy opis i wodle wszysko kilku literowe to poprawnie dodało pod Fedorą bez naruszenia ochrony pamięci ale jak zrobiłem wszysko normalnie to znowu wywala błąd ...

----------

## tomcio

Dobra, troche nad tym pomyslalem i oficjalnie w wersji 1.0 zaimplementuje jeszcze obsluge ksiazek wielo-tomowych i proste wyszukiwanie w bazie danych. Tak w okolicach pazdziernika skoncze prace nad 1.0.

A poki co wsztrzymuje prace, bo z polamana reka kiepsko mi idzie pisanie czegokolwiek  :Crying or Very sad: 

----------

## tomcio

Witam!

Troche to trwalo, ktos jeszcze pamieta moj programik   :Razz:  ?

Ostatnio prace ruszyly z miejsca i program zaczyna dzialac. W ersji 0.99.20051001 troche sie zmienilo, mianowicie:

- program mozna bezpiecznie zainstalowac z konta roota, testowalem na wlasnej skurze, "make install" i "make ununistall" dzialaja bez zarzutu, a sam program instaluje sie w podkatalogach katalogu "/usr/local/share/"

- program korzysta z libglade i GTK+, GNOME nie jest wymagane

- obsluga ksiazek jednotomowych dziala juz w calosci

- obsluga ksiazek wielotomowych dziala narazie tylko w trybie dodawania (pracuje nad edycja i usuwaniem)

- funkcja wyszukiwania jeszce nie dziala, ale okienko juz zrobilem   :Wink: 

- program dalej korzysta z bazy danych SQLite

- GBiblioteka smiga po kompilacji pod GCC 4.0.1 z Fedory 4

Tu mam prosbe do forumowiczow, bo ja nie mam takich mozliwosci W Fedorzy jak Wy w Gentoo, a narazie nie mam jak wrocic do gentoo  :Sad: :

Prosze o przetestowanie aplikacji pod katem:

- wspolpracy z roznymi werjami Libglade (ja testowalem na 2.5.1)

- stabilnosci programu po kompilacji na roznych werjach GCC (ja testowalem pod GCC 4.0.1), szczegolnie goraco prosze o testy pod GCC 3.x

- jezeli ktos zaszalal i zainstalowal GTK+ 2.8 to tez prosilbym o wrazenia

Poszukuje tez chcetnych do pomocy przy:

- tworzeniu paczek dla dystrybucji

- tlumaczeniu aplikacji (program ma juz tlumaczy z niemieckiego i angielskiego)

- jezeli ktos chcialby pomoc w samym tworzeniu aplikacji to tez jestem otwarty na propozycje

Program ma juz swoja stronke i forum, wiec jak cos mozna tam zglaszac powazniejsze uwagi

----------

## Grosik

Juz sie zastanawialem czy projekt nie umarl smiercia naturalna  :Wink: . Postaram sie wieczorem zaktualizowac i podeslac ebuild do programu.

EDIT:

Obiecany ebuild dostepny jest tutaj: http://grosik-ck.neostrada.pl/gbiblioteka-0.99.20051001.tar.gz

----------

## tomcio

Witam, witam!

Dawo tu nie byłem  :Wink: 

ale wracajac do rzeczy. Program ma nowa nazwe GLibrary. Poza tym praktycznie cala aplikacja ulegla zmianie (na lepsze mam nadzieje  :Razz:   )

Jest też nowa strona http://www.gbiblioteka.svx.pl/. niestety forum jeszce nie dziala.

jest tez jedna pilna sprawa:

POTRZEBUJEMY GRAFIKA

Chodzi o wykonanie loga i kilku ikonek dla programu. Jezeli ktos z Was czuje sie na siłach to zapraszam. 

Namiary na mnie znajdziecie na stronie programu.

Zapraszam do testowania!  :Smile: 

----------

## Gabrys

okej, to ja ożywię temat

1. Co ze stroną

2. Jakieś grafiki (byle nie za dużo) mogę zrobić

----------

