Enlightenment CVS committal Author : doursse Project : e17 Module : proto/epdf
Dir : e17/proto/epdf/src/lib Modified Files: epdf_index.cpp epdf_postscript.cpp ewl_pdf.c Log Message: * fix initial size of the ewl widget * clean ewl test * add guards around config.h =================================================================== RCS file: /cvs/e/e17/proto/epdf/src/lib/epdf_index.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- epdf_index.cpp 22 May 2008 04:43:14 -0000 1.3 +++ epdf_index.cpp 25 May 2008 06:52:12 -0000 1.4 @@ -1,4 +1,6 @@ -#include "config.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif /* HAVE_CONFIG_H */ #include <GlobalParams.h> #include <PDFDoc.h> =================================================================== RCS file: /cvs/e/e17/proto/epdf/src/lib/epdf_postscript.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- epdf_postscript.cpp 21 May 2008 13:07:08 -0000 1.2 +++ epdf_postscript.cpp 25 May 2008 06:52:12 -0000 1.3 @@ -1,4 +1,6 @@ -#include "config.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif /* HAVE_CONFIG_H */ #include <stdlib.h> #include <string.h> =================================================================== RCS file: /cvs/e/e17/proto/epdf/src/lib/ewl_pdf.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- ewl_pdf.c 22 May 2008 06:53:05 -0000 1.18 +++ ewl_pdf.c 25 May 2008 06:52:12 -0000 1.19 @@ -125,24 +125,39 @@ if (pdf->filename != filename) { IF_FREE(pdf->filename); } + if (!filename || (filename[0] == '\0')) DRETURN_INT(FALSE, DLEVEL_STABLE); - pdf->filename = strdup(filename); + if (pdf->pdf_index) { + epdf_index_delete(pdf->pdf_index); + pdf->pdf_index = NULL; + } + + if (pdf->pdf_page) { + epdf_page_delete(pdf->pdf_page); + pdf->pdf_page = NULL; + } + if (pdf->pdf_document) { - if (pdf->pdf_page) { - epdf_page_delete(pdf->pdf_page); - pdf->pdf_page = NULL; - } - if (pdf->pdf_index) { - epdf_index_delete(pdf->pdf_index); - pdf->pdf_index = NULL; - } epdf_document_delete(pdf->pdf_document); pdf->pdf_document = NULL; } - pdf->pdf_document = epdf_document_new(filename); + pdf->filename = strdup(filename); + + pdf->search.o = NULL; + pdf->search.text = NULL; + pdf->search.list = NULL; + pdf->search.page = -1; + pdf->search.is_case_sensitive = FALSE; + pdf->search.is_circular = FALSE; + + /* + * Load the new PDF document + */ + + pdf->pdf_document = epdf_document_new(pdf->filename); if (!pdf->pdf_document) DRETURN_INT(FALSE, DLEVEL_STABLE); @@ -162,19 +177,10 @@ DRETURN_INT(FALSE, DLEVEL_STABLE); } - pdf->dirty = 1; - - pdf->search.o = NULL; - pdf->search.text = NULL; - pdf->search.list = NULL; - pdf->search.page = -1; - pdf->search.is_case_sensitive = FALSE; - pdf->search.is_circular = FALSE; - - /* - * render the widget - */ - ewl_widget_configure(w); + if (REALIZED(w)) { + ewl_widget_obscure(w); + ewl_widget_reveal(w); + } DRETURN_INT(TRUE, DLEVEL_STABLE); } @@ -686,7 +692,6 @@ ewl_object_preferred_inner_w_set(EWL_OBJECT(w), ow); ewl_object_preferred_inner_h_set(EWL_OBJECT(w), oh); - ewl_object_minimum_size_set(EWL_OBJECT(w), ow, oh); DLEAVE_FUNCTION(DLEVEL_STABLE); } @@ -706,6 +711,8 @@ { Ewl_Pdf *pdf; Ewl_Embed *emb; + int ow; + int oh; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(w); @@ -714,9 +721,6 @@ pdf = EWL_PDF(w); emb = ewl_embed_widget_find(w); - /* - * Load the pdf - */ if (!pdf->image) pdf->image = ewl_embed_object_request(emb, "pdf"); if (!pdf->image) @@ -733,6 +737,11 @@ evas_object_pass_events_set(pdf->image, TRUE); evas_object_show(pdf->image); + + epdf_page_size_get(pdf->pdf_page, &ow, &oh); + + ewl_object_preferred_inner_w_set(EWL_OBJECT(pdf), ow); + ewl_object_preferred_inner_h_set(EWL_OBJECT(pdf), oh); DLEAVE_FUNCTION(DLEVEL_STABLE); } ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs