[Kde-pim] KNotes issues

Allen Winter winter at kde.org
Thu Aug 2 00:43:31 BST 2007


On Wednesday 01 August 2007 9:42:14 am Reinhold Kainhofer wrote:
> Am Mittwoch, 1. August 2007 schrieb Allen Winter:
> > On Tuesday 31 July 2007 8:58:21 pm Reinhold Kainhofer wrote:
> > > Am Mittwoch, 1. August 2007 schrieb Allen Winter:
> > > > Wuestion.. why can't we simply use
> > > > if (  Qt::mightBeRichText( journal()->description() ) ) ...
> > > >
> > > > Then we don't have to store the custom property.
> > > >
> > > > Qt::mightBeRichtText() simply looks for any supported tag
> > > > before it sees a newline.
> > >
> > > Imagine a journal entry like:
> > > -) Fixed that bad bug with <td>
> > >
> > > Won't this text-only entry be falsely detected as rich text by
> > > Qt::mightBeRichText?
> >
> > No, because there aren't any tags before the first newline.
> > But I get your point.
> 
> Huh? The <td> is right before the first newline, so mightBeRichText returns 
> true (at least it did in 3.5.x; In particular, enter such a journal and then 
> open the journal editor. The edit box will be in richt text mode, because of 
> Qt's heuristics.
> 
> > > I admit, currently it breaks badly, too, since korganizer simply relies
> > > on QTextEditor (which uses mightBeRichText...). Simply try to add a
> > > journal with the contents:
> > > "test: <ul><li> is completely broken in flopzilla, version -1, but </ul>
> > > works just fine!"
> >
> > Use cases:
> > 1) user types in free-form data and we need to guess if they entered
> > valid richtext.  In which case we must use a heuristic.  We could write
> > our own heuristic so we can "learn as we go".
> 
> If a user types in a text containing <sometag>, then we need to preserve that 
> text verbatim! Otherwise writing a journal about html, xml or browsers won't 
> be possible! I don't thing we should allow raw html input that will then be 
> turned into a real html display. The letters that the user enters should be 
> shown exactly as (s)he entered them. If he enters <ul><li>blah</ul>, then we 
> should not display a list but rather the string "<ul><li>blah</ul>".
> 
> > 2) user first selects "rich text" mode.  just like in the kmail composer
> > when the user does html composing.  In this case we can simply
> > surround the entered data with "<qt>data</qt>".  Then we reading
> > that data back in a simple heuristic will detect it as richtext.
> 
> This will still break when you write a blog about Qt:
> <qt> must be at the beginning of some rich text and for Qt to understand the 
> text as rich text, you'll also have to end the string with a </qt>
> 
> (Yeah, thats a very pathological example, and I doubt that this case will ever 
> happen...)
> 
> > Do we really want to have X-KDE-RICHTEXT-DESCRIPTION,
> > X-KDE-RICHTEXT-SUMMARY, X-KDE-RICHTEXT-LOCATION, etc flags?
> 
> I'm not talking about adding the X-KDE-RICHTEXT as a property of the event, 
> like in 
> BEGIN:VEVENT
> DESCRIPTION:<qt><b>description</b> of the event</qt>
> X-KDE-RICHTEXT-DESCRIPTION: HTML
> END:VEVENT
> 
> I'm rather proposing to add a property parameter X-KDE-RICHTEXT to the 
> DESCRIPTION property:
> BEGIN:VEVENT
> DESCRIPTION;X-KDE-RICHTEXT=HTML:<qt><b>description</b> of the event</qt>
> END:VEVENT
> 
> Oracle does something similar with their X-ORACLE-PERSONAL-COMMENT-RTF 
> parameter for ATTENDEE 
> (http://download.oracle.com/docs/cd/B25553_01/calendar.1012/b25489/adcsdk_ical.htm)
> 
> 
> 
> > So.. my idea is to have our own isRichText() method.  Initially it would
> > simply use Qt::mightBeRichText(). But we could make it smarter as we go.
> 
> I don't think we should use any heuristics at all.
> 
Ok, ok...

So to enter HTML data into our apps, the user will need to be put into
some type of WYSIWYG composer.  I feel bad for Mike Arthur and the
rest of the blogging team.  Because as, we learned from the KMail 
HTML composer, the users will not be satisfied until they have
a real quanta part.

Anyhow, I can modify the Incidence::setDescription(), setSummary()
and setLocation() methods to take an optional argument flag to
indicate the QString contains richtext.  And the incidence writer
will do as you suggest with X-KDE-RICHTEXT property parameter.

I guess we will need new methods  Incidence::isDescriptionRich(),
isSummaryRich(), isLocationRich() ??

-Allen


_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list