Page 2 of 2

Posted: Sat Jun 21, 2008 1:34 pm
by krho
You also need to install THTML from pbear.com.... You overwrite some files from pbear.com with files in package you downloaded here, and then you compile everything.

Regards,
Miha

Posted: Tue Jun 24, 2008 5:25 am
by wasuplee123
Thank you very much Sergey. This is working much better than the older HTML import component.

I agree with nicefive about some concern over so many dependencies, but it is working, and all of these add-ons have source code available, so I'm fine with that.
It would be nice in the future (if you're bored :)) if this didn't require the THTMLViewer component and if the RvHTMLViewImport was just integrated into RvRichEdit, just like the TRichView HTML exporting capabilities are.

Anyways, I am getting close to finishing my evaluation/testing of the TRichView component and it's looking very likely that I will purchase it.

Thanks again for all the help.

Posted: Wed Jul 02, 2008 10:33 pm
by wasuplee123
I seem to have found an issue w/the new HTML importer. This may also be some issue w/the HTML exporting of TRichView, but I'm pretty sure it's just an issue on the import side.

When I have make a bulleted list and then export to html I get an HTML like this:

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title></title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
body {
  margin: 5px 5px 5px 5px;
  background-color: #ffffff;
}
/* ========== Text Styles ========== */
hr { color: #000000}
body, table /* Normal */
{
 font-size: 10pt;
 font-family: 'Arial', 'Helvetica', sans-serif;
 font-style: normal;
 font-weight: normal;
 color: #000000;
 text-decoration: none;
 ;
}
span.rvts1
{
 color: #000000;
}
/* ========== Para Styles ========== */
p,ul,ol /* Left */
{
 text-align: left;
 text-indent: 0px;
 padding: 0px 0px 0px 0px;
 margin: 0px 0px 0px 0px;
}
.rvps1
{
 background: #ffffff;
}
.rvps2
{
 background: #ffffff;
 margin: 0px 0px 0px 20px;
}
--></style>
</head>
<body>

<ul style="text-indent: 0px; margin-left: 24px; list-style-position: outside;">
<li class=rvps1><span class=rvts1>test1</span></li>
<li class=rvps1><span class=rvts1>test2</span></li>
</ul>

</body></html>
Notice that the margin-left on the bullet list is 24px. When I then import the HTML again, and if I go to the bullets and numbering settings, it says the left indent on the list is 49. So then if I export to HTML again, the margin-left becomes 49px. And then if I import again from HTML the left indent shows 74. So when I export a 3rd time to HTML, the margin-left becomes 74px.

Basically, the margin-left continues increasing every time I export, but the issue seems to be that the HTML importer is increasing the left indent.

Thanks in advance for any help.

Posted: Thu Jul 03, 2008 12:23 pm
by Sergey Tkachenko
Yes, I think this is the problem in the importer.
It will be fixed in the next update. Unfortunately, it will be not sooner than after 2 weeks, because I am going on vacation.

Posted: Fri Jul 25, 2008 1:41 am
by wasuplee123
Any updates on this?

Posted: Fri Jul 25, 2008 5:20 pm
by Sergey Tkachenko
Not yet, I am working to fix this problem.

Posted: Fri Aug 15, 2008 9:10 pm
by wasuplee123
Is there any estimate for when this will be done?

This is the only issue (that I know of) that's keeping me from purchasing this component and using it in my application.

Posted: Thu Aug 21, 2008 2:56 pm
by Sergey Tkachenko
Sorry for the delay. Will be implemented in this month.

Posted: Sat Aug 30, 2008 4:31 pm
by Sergey Tkachenko
Open rvHtmlViewImport.pas, find the lines:

Code: Select all

    ll.MarkerIndent := sec.ContentLeft;
    ll.FirstIndent := 0;
    ll.LeftIndent := sec.ContentLeft+20; //TODO width of marker
and change them too:

Code: Select all

    ll.MarkerIndent := sec.ContentLeft-24;  //TODO width of marker
    if ll.MarkerIndent<0 then
      ll.MarkerIndent := 0;
    ll.FirstIndent := 0;
    ll.LeftIndent := sec.ContentLeft;

Posted: Wed Sep 03, 2008 10:13 pm
by wasuplee123
Thanks for the reply.

This worked, but only after I made some changes:

Code: Select all

    ll.MarkerIndent := sec.ContentLeft-29;  //TODO width of marker
    if ll.MarkerIndent<0 then
      ll.MarkerIndent := 0;
    ll.FirstIndent := 0;
    ll.LeftIndent := sec.ContentLeft-5;
Notice how I had to subtract the MarkerIndent and LeftIndent by 5.

Anyways, this all seems like a workaround. Shouldn't this shifting by 29 and 5 not be required (I do see it says "TODO width of marker" in the code)?

I will continue with some tests and will let you know if I find any other issues.

Posted: Thu Sep 04, 2008 4:54 pm
by Sergey Tkachenko
Why do you need these subtractions?
ll.LeftIndent is exactly the same as sec.ContentLeft - a distance from the left margin to the paragraph text.
ll.MarkerIndent is a distance from the left margin to the marker. Since width of marker is unknown, I assumed that it is 24 pixels.

24 is used because this is the default value for list indents in RichViewActions.

Posted: Thu Sep 04, 2008 10:13 pm
by wasuplee123
If I don't put those subtractions, I get the same issue as before. When I step through that code, sec.ContentLeft is 29, not 24, even though I'm not changing any indent settings. I think I may have found out why this happens.

When I export a TRichView with just a single bullet, I get this HTML:

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title></title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
body {
  margin: 5px 5px 5px 5px;
  background-color: #ffffff;
}
/* ========== Text Styles ========== */
hr { color: #000000}
body, table /* Normal */
{
 font-size: 10pt;
 font-family: 'Arial', 'Helvetica', sans-serif;
 font-style: normal;
 font-weight: normal;
 color: #000000;
 text-decoration: none;
 ;
}
/* ========== Para Styles ========== */
p,ul,ol /* Left */
{
 text-align: left;
 text-indent: 0px;
 padding: 0px 0px 0px 0px;
 margin: 0px 0px 0px 0px;
}
--></style>
</head>
<body>

<ul style="text-indent: 0px; margin-left: 24px; list-style-position: outside;">
<li>test</li>
</ul>

</body></html>
Notice how the body has 5 pixel margins. That could account for the 5 pixel difference I'm having. Maybe the code we changed needs to account for the body margins?

Posted: Sat Sep 06, 2008 12:17 pm
by Sergey Tkachenko
Yes, you are right, it appears that ContentLeft includes left margin, when the list is inside the main document.
Unfortunately, when in the list is inside cell, left margin is not included there, and I was not able to find a way to distinguish these cases.
So I tried a different approach, using Indent property of TBlock representing <ul>
A new version is uploaded.