| Summary: | one-letter text surrounded by * * does not appear in a bold style. | ||
|---|---|---|---|
| Product: | [Unmaintained] knode | Reporter: | Rober <coirs> |
| Component: | general | Assignee: | kdepim bugs <pim-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | wishlist | ||
| Priority: | NOR | ||
| Version First Reported In: | 0.7.6 | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Rober
2003-12-18 00:08:00 UTC
CVS commit by schrot:
- scroll the reader win back after rot13 (#76797)
- dito for switching from/to fixed font
- insert spelling correction at correct position (#76396)
- formatting of 1-letter words (bold etc.) (#70726)
- disable formatting of signatures (#59448)
- add %L as line break alias (#66772)
BUG: 76797
BUG: 76396
BUG: 70726
BUG: 59448
FEATURE: 66772
M +1 -0 knarticlefactory.cpp 1.83
M +10 -2 knarticlewidget.cpp 1.187
M +10 -12 kncomposer.cpp 1.203
M +1 -1 knconfigwidgets.cpp 1.120
--- kdepim/knode/knarticlefactory.cpp #1.82:1.83
@@ -217,4 +217,5 @@ void KNArticleFactory::createReply(KNRem
attribution.replace(QRegExp("%MSID"),a->messageID()->asUnicodeString());
attribution.replace(QRegExp("%GROUP"),g->groupname());
+ attribution.replace(QRegExp("%L"),"\n");
attribution+="\n\n";
--- kdepim/knode/knarticlewidget.cpp #1.186:1.187
@@ -730,5 +730,5 @@ QString KNArticleWidget::toHtmlString(co
if (regExp.search(text,idx)==(int)idx) {
matchLen = regExp.matchedLength();
- if (( matchLen > 3 ) &&
+ if (( matchLen >= 3 ) &&
((idx==0)||text[idx-1].isSpace()||(text[idx-1] == '(')) &&
((idx+matchLen==len)||text[idx+matchLen].isSpace()||(text[idx+matchLen]==',')||
@@ -1368,8 +1368,10 @@ void KNArticleWidget::createHtmlPage()
}
}
- }
html+=toHtmlString(line,true,true,true)+"<br>";
}
else
+ html+=toHtmlString(line,true,false,true)+"<br>";
+ }
+ else
html+="<br>";
}
@@ -1791,6 +1793,9 @@ void KNArticleWidget::slotToggleFullHdrs
void KNArticleWidget::slotToggleRot13()
{
+ int x = contentsX();
+ int y = contentsY();
r_ot13=!r_ot13;
updateContents();
+ setContentsPos(x, y);
}
@@ -1798,8 +1803,11 @@ void KNArticleWidget::slotToggleRot13()
void KNArticleWidget::slotToggleFixedFont()
{
+ int x = contentsX();
+ int y = contentsY();
// ok, this is a hack
if (knGlobals.artWidget == this)
knGlobals.configManager()->readNewsViewer()->setUseFixedFont(!knGlobals.configManager()->readNewsViewer()->useFixedFont());
applyConfig();
+ setContentsPos(x, y);
}
--- kdepim/knode/kncomposer.cpp #1.202:1.203
@@ -345,6 +345,8 @@ KNComposer::KNComposer(KNLocalArticle *a
if (firstEdit) { // now we place the cursor at the end of the quoted text / below the attribution line
- if (knGlobals.configManager()->postNewsComposer()->cursorOnTop())
- v_iew->e_dit->setCursorPosition(1,0);
+ if (knGlobals.configManager()->postNewsComposer()->cursorOnTop()) {
+ int numLines = knGlobals.configManager()->postNewsComposer()->intro().contains("%L");
+ v_iew->e_dit->setCursorPosition(numLines+1,0);
+ }
else
v_iew->e_dit->setCursorPosition(v_iew->e_dit->numLines()-1,0);
@@ -2057,14 +2059,10 @@ bool KNComposer::Editor::eventFilter(QOb
int parIdx = 1, txtIdx = 1;
getCursorPosition(&parIdx, &txtIdx);
-
- //Put in our replacement
- QString txtContents = text();
- QString newContents = txtContents.left(firstSpace) + m_replacements[word][id] +
- txtContents.right( txtContents.length() - lastSpace );
- setText( newContents );
-
- //Restore the cursor position
- if( txtIdx > lastSpace )
- txtIdx += newContents.length() - txtContents.length();
+ setSelection(para, firstSpace, para, lastSpace);
+ insert(m_replacements[word][id]);
+ // Restore the cursor position; if the cursor was behind the
+ // misspelled word then adjust the cursor position
+ if ( para == parIdx && txtIdx >= lastSpace )
+ txtIdx += m_replacements[word][id].length() - word.length();
setCursorPosition(parIdx, txtIdx);
}
--- kdepim/knode/knconfigwidgets.cpp #1.119:1.120
@@ -2242,5 +2242,5 @@ KNConfig::PostNewsComposerWidget::PostNe
replyL->addMultiCellWidget(new QLabel(i_ntro,i18n("&Introduction phrase:"), replyB),1,1,0,1);
replyL->addMultiCellWidget(i_ntro, 2,2,0,1);
- replyL->addMultiCellWidget(new QLabel(i18n("Placeholders: %NAME=name, %EMAIL=email address,\n%DATE=date, %MSID=message-id, %GROUP=group name"), replyB),3,3,0,1);
+ replyL->addMultiCellWidget(new QLabel(i18n("Placeholders: %NAME=name, %EMAIL=email address,\n%DATE=date, %MSID=message-id, %GROUP=group name, %L=line break"), replyB),3,3,0,1);
connect(i_ntro, SIGNAL(textChanged(const QString&)), SLOT(slotEmitChanged()));
|