# HG changeset patch # User Torsten # Date 1382907107 -3600 # Node ID 016634fb3de73c93ce95bda26a1fc965ed012163 # Parent 5864220974dc38e323ff3bc9e185556479c1d3e4 imrpove conversion of link formats in documentation browser * parser.cc(replace_links): replacements of line breaks without breaking the format (left margin) diff --git a/libgui/src/qtinfo/parser.cc b/libgui/src/qtinfo/parser.cc --- a/libgui/src/qtinfo/parser.cc +++ b/libgui/src/qtinfo/parser.cc @@ -280,23 +280,34 @@ QString type = re.cap (1); QString note = re.cap (3); QString url_link = re.cap (4); - QString link = re.cap (4); QString term = re.cap (5); - QRegExp regexp_link = QRegExp("([\\s]*)XREF([^\\s]*)"); - if (regexp_link.indexIn (link) != -1) - { - int ix = regexp_link.cap (1).indexOf ("\n"); - if (ix != -1) - term = term + "\n" - + QString (regexp_link.cap (1).size () - ix -1,' '); - } - if (url_link.isEmpty ()) { url_link = note; } + term.replace(":",""); + note.replace(":",""); + note.replace (QRegExp ("`([^']+)'"),"\\1"); // no extra format in links + + QRegExp re_break ("(\n[ ]*)"); + + if (note == "fig" || note == "tab") + url_link.prepend("#"); + + QString href; + if (type == "\n*") + href="\n"; + + if (re_break.indexIn (url_link) != -1) + term += re_break.cap (1); + else if (re_break.indexIn (re.cap (2)) != -1) + href = re_break.cap (1) + " "; + else if (re_break.indexIn (note) != -1) + term += re_break.cap (1); + note.replace(re_break," "); + url_link = url_link.trimmed (); url_link.replace ("\n"," "); url_link.replace (QRegExp (" +")," "); @@ -304,22 +315,7 @@ url_link.replace ("",""); url_link = QUrl::toPercentEncoding (url_link, "", "'"); - QString href; - if (type=="\n*") - { - href="\n"; - } - else - { - href=""; - } - - term.replace(":",""); - note.replace(":",""); - - if (note == "fig") - url_link.prepend("#"); - + href += ""; href += " " + note + "" + term; f = re.matchedLength (); text.replace (i,f,href); @@ -335,7 +331,7 @@ while ( (i = re.indexIn (text, i)) != -1) { QString t = re.cap (1); - QString bold = "" + t + ""; + QString bold = "" + t + ""; f = re.matchedLength (); text.replace (i,f,bold); @@ -352,8 +348,8 @@ text.replace ("\n* Menu:", "\nMenu:"); text.replace ("See also:", "See also:"); + replace_links (text); replace_colons (text); - replace_links (text); } QString