← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2196: make sure rich edits loose the previous formatting when clearing

 

------------------------------------------------------------
revno: 2196
committer: poy <poy@xxxxxxxxxx>
branch nick: repo
timestamp: Sat 2010-08-07 17:43:56 +0200
message:
  make sure rich edits loose the previous formatting when clearing
modified:
  dwt/include/dwt/widgets/RichTextBox.h
  dwt/src/widgets/RichTextBox.cpp


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dwt/include/dwt/widgets/RichTextBox.h'
--- dwt/include/dwt/widgets/RichTextBox.h	2010-03-26 17:15:26 +0000
+++ dwt/include/dwt/widgets/RichTextBox.h	2010-08-07 15:43:56 +0000
@@ -162,8 +162,8 @@
 	static std::string unicodeEscapeFormatter(const tstring_range& match);
 	static tstring rtfEscapeFormatter(const tstring_range& match);
 
-	void setText(const std::string& txt);
-	void setText_(const std::string& txt);
+	void setTextA(const std::string& txt);
+	void setTextEx(const std::string& txt, DWORD format);
 };
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

=== modified file 'dwt/src/widgets/RichTextBox.cpp'
--- dwt/src/widgets/RichTextBox.cpp	2010-03-26 17:15:26 +0000
+++ dwt/src/widgets/RichTextBox.cpp	2010-08-07 15:43:56 +0000
@@ -157,28 +157,27 @@
 		boost::lambda::var(cur) > ibo)) - begin;
 }
 
-void RichTextBox::setText(const std::string& txt) {
+void RichTextBox::setTextA(const std::string& txt) {
 	{
 		util::HoldRedraw hold(this);
-		setSelection();
-		setText_(txt);
+		setTextEx(txt, ST_DEFAULT);
 		sendMessage(WM_VSCROLL, SB_TOP);
 	}
 	redraw();
 }
 
-void RichTextBox::setText_(const std::string& txt) {
-	SETTEXTEX config = { ST_SELECTION, CP_ACP };
+void RichTextBox::setTextEx(const std::string& txt, DWORD flags) {
+	SETTEXTEX config = { flags, CP_ACP };
 	sendMessage(EM_SETTEXTEX, reinterpret_cast<WPARAM>(&config), reinterpret_cast<LPARAM>(txt.c_str()));
 }
 
 void RichTextBox::setText(const tstring& txt) {
-	setText("{\\urtf " + escapeUnicode(txt) + "}");
+	setTextA("{\\urtf " + escapeUnicode(txt) + "}");
 }
 
 void RichTextBox::addText(const std::string & txt) {
 	setSelection(-1, -1);
-	setText_(txt);
+	setTextEx(txt, ST_SELECTION);
 }
 
 void RichTextBox::addTextSteady( const tstring & txtRaw, std::size_t len ) {