From cc9d6ac5ea8073c877a9080d08ed1191b634df8b Mon Sep 17 00:00:00 2001 From: Andrew Chen Date: Sat, 5 Feb 2011 15:14:02 -0800 Subject: [PATCH] Add button to allow editing of quoted message in HTML mode by dropping user back to text mode. Fixes issue 2959. --- images/drawable-src/btn_edit.png | Bin 0 -> 1917 bytes images/drawable-src/btn_empty_disable.png | Bin 0 -> 3688 bytes images/drawable-src/btn_empty_normal.png | Bin 0 -> 3560 bytes images/drawable-src/btn_empty_pressed.png | Bin 0 -> 3904 bytes images/drawable-src/btn_empty_selected.png | Bin 0 -> 4078 bytes res/drawable-hdpi/btn_edit_disable.png | Bin 0 -> 4882 bytes res/drawable-hdpi/btn_edit_normal.png | Bin 0 -> 4829 bytes res/drawable-hdpi/btn_edit_pressed.png | Bin 0 -> 5370 bytes res/drawable-hdpi/btn_edit_selected.png | Bin 0 -> 5422 bytes res/drawable/btn_edit.xml | 28 ++++++ res/layout/message_compose.xml | 26 +++++- src/com/fsck/k9/activity/MessageCompose.java | 93 ++++++++++++++++--- 12 files changed, 129 insertions(+), 18 deletions(-) create mode 100644 images/drawable-src/btn_edit.png create mode 100644 images/drawable-src/btn_empty_disable.png create mode 100644 images/drawable-src/btn_empty_normal.png create mode 100644 images/drawable-src/btn_empty_pressed.png create mode 100644 images/drawable-src/btn_empty_selected.png create mode 100644 res/drawable-hdpi/btn_edit_disable.png create mode 100644 res/drawable-hdpi/btn_edit_normal.png create mode 100644 res/drawable-hdpi/btn_edit_pressed.png create mode 100644 res/drawable-hdpi/btn_edit_selected.png create mode 100644 res/drawable/btn_edit.xml diff --git a/images/drawable-src/btn_edit.png b/images/drawable-src/btn_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..666ffe8a495320e65a731e7505b2f739432f5552 GIT binary patch literal 1917 zcmV-@2ZH#CP)U8P*7-ZbZ>KLZ*U+lnSp_Ufq@}0xwybFAi#%#fq@|}KQEO56)-X|e7nZL z$iTqBa9P*U#mSX{G{Bl%P*lRez;J+pfx##xwK$o9f#C}S14DXwNkIt%17i#W1A|CX zc0maP17iUL1A|C*NRTrF17iyV0~1e4YDEbH0|SF|enDkXW_m`6f}y3QrGjHhep0GJ zaAk2xYHqQDXI^rCQ9*uDVo7QW0|Nup4h9AW240u^5(W3f%sd4n162kpgNVo|1qcff zJ_s=cNG>fZg9jx8g8+j9g8_pBLjXe}Lp{R+hNBE`7{wV~7)u#fFy3PlV+vxLz;uCG zm^qSpA@ds+OO_6nTdaDlt*rOhEZL^9ePa)2-_4=K(Z%tFGm-NGmm}8}ZcXk5JW@PU zd4+f<@d@)yL(o<5icqT158+-B6_LH7;i6x}CW#w~Uy-Pgl#@Irl`kzV zeL|*8R$ca%T%Wv){2zs_iiJvgN^h0dsuZZ2sQy$tsNSU!s;Q*;LF<6_B%M@UD?LHI zSNcZ`78uqV#TeU~$eS{ozBIdFzSClfs*^S+dw;4dus<{M;#|MXC)T}S9v!D zcV!QCPhBq)ZyO(X-(bH4|NMaZz==UigLj2o41F2S6d@OB6%`R(5i>J(Puzn9wnW{e zu;hl6HK{k#IWjCVGqdJqU(99Cv(K+6*i`tgSi2;vbXD1#3jNBGs$DgVwO(~o>mN4i zHPtkqZIx>)Y(Ls5-Br|mx>vQYvH$Kwn@O`L|D75??eGkZnfg$5<;Xeg_o%+-I&+-3%01W^SH2RkDT>t<8AY({UO#lFTB>(_`g8%^e z{{R4h=>PzAFaQARU;qF*m;eA5Z<1fdMgRZ<-$_J4RCwB~S50giMHqdvyWU+JCw5ZW z*z^yzN=jAYCP7MK3YB{0&=O-cb|mTpZP!Aa5O!n^BvN|XE@cR0jp?e*UpGILn1X6DVC_h!ENhEVKoVe05hRNu0N zt7q~+SE^lq|JoRyR_R5xR&K!CvD8I7l4nD6jg|WmjT*9UX+E@1)FX=}SVq46*jRxj zJFEpxHz3WASj7eq@GxMp`=@NrZL?ffXblXR0dG8L)f=JYJxL>xJ1}(PGi3gY%lv>h zK4R4ykjty2K!BBfc*WuSL#&@+o}B?ywS&?~$OngSe2Q#640SGVJY>=9p{Tr6Ai&B! zxZ3Aev#iFDbxYgqlnQ4ejf8w?xLC`|3^|vy!>)YEv%K=Qe_5=(Z8*0S4_ZpJQy&Tr zB3U^7t9)kMC|3hyT~aJm3+@>t^VgZ1OxLX!L?H7&D$?G1uw(dK3h- zR70l!(p<1b6ib|~R2A^p!!GxO0WFO-yz64@S_>~$w4(gN1(+U{hA#r9|Gl|jy>I}5 z@OS4|P(VNn0jc+FG+1q;RD$DE-S7K;2UJTQ(>*xfY!H#F8?Hz4jqb$p0#jyMHjbIH z!U|i5c7U+nEBV6tpJG6HfA&?Z*gk0b4VoNQKp-T0F8jiTw@d+G{3xpv9}fL+?xJau zXaFSOQ+CN;z^)jOi@m`@m_o)8b$ZMbwIBgL+3S6-of?pU&vgRA9pnJVjKgD^M1Ej- z?fBFwY4Cb6yFx%Z^m6(LFZbTvhIdBa@tE(BitNO)?24AWY|HFr=dDXS6r3|ok2yl1 zlvD~K`MMM+!>#~u6B{QeX`I}%`n<_G+vhP&Fh!#%05N6v`bTS|BEK{&oD^_$-2SAn zv48sf1yh6+IV+^>-axo!ZnI|DYM1GwHT5xY&h}j}N48l~0OIoLoChtpZFiX2is6{=qOvtuRg~K)!4K z;^&-A2Y@1l>@?++<1Bc*0AtP&vqqcl>SApZ?mxBM2^;`=`^3h92IN4%pb6P_onlIu z?}-u1r0pKNcy6Iw4pVi>nZs-|2M&B%h&Rq2j0&-1Q;r2>A=jT0a{$mf_V`PY?!9$- znq7Tq<&~}flVfjRqXYn{GxFESu_<=xIY4&%S@G`xEvMlZHlvFF00000NkvXXu0mjf D7O!xi literal 0 HcmV?d00001 diff --git a/images/drawable-src/btn_empty_disable.png b/images/drawable-src/btn_empty_disable.png new file mode 100644 index 0000000000000000000000000000000000000000..486fc0694159e021919d814e1c09351a184527cd GIT binary patch literal 3688 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 literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/btn_edit_disable.png b/res/drawable-hdpi/btn_edit_disable.png new file mode 100644 index 0000000000000000000000000000000000000000..e21d1101802b97296f16b904565bbe1e4a07df4c GIT binary patch literal 4882 zcmV+t6YcDYP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000O*NklIB z?_c@O?XfowkVJ_}_#uT;)e}7-4g`o3hY}g$B!m#zyE`*IG_#sr@A}6_Qni*w-i&u= zp67j^dFP#XLmoVM0K+g~nr6%}j6cO4WJG#NdP!? z5<&>?`vemhV;&C9xyBf)3L&bT^PhwezvrCSb;el2b=_r3=`^LZ!y1~VL6VZcpQQ%? zc%UVT6A!3u+I8K(F~-We<2XMPLZ;;al}ZJZlatUi%_o<$luneC)N95VHa0e}wzdYx zap1b{wBtBGYnLuv`U`;b0C4y2T})0+f)L`i_`8m=FAE5Fmu$ z=;#Rh`};_z)5z!Zz5p=@0om7Xx4{^T>FstKnx;Y5^-%CXYI#BkHa0e}u&{tus|CX_ zaPQtd%*@P0lITW2fhGa5{QmKTswKbTgi7QvG zc;LDbP_KOieZ_qn`So> z?RFck>jJ=k2&kJ!80bL=P)bp&)v&a*KCRRB>DgAjsxz3u}q z?^VYP%Q{t0Jb(Ti05CN*)gimSC8R!}N+!x95`0iLQHBVUk`Mx>X<}q#1W%tn_2i@) zAu3l2T?2zeo9*pwtgNiy{Q2`pBodzGRLh4+GfWzZL;|CuqdreWMJIVpgYFze^YwZi zOG``MCKZetQkKCaEo?sdyY$5B>MCBpehoFn50juC<)&Vta%*b~%gf6s7K=zE5}_fl zm;9n4O*|gQ*w`4>*49ug7Lm{AL&^Rs4-i7IwY7!C#YGGc4S4#mU_WCF zrfH&3DB%73_Z^bWV6|>2OeJ-?bq@_@Po)@ zkTsUcWN`7~#f~w3VYJ_g_xASi`0?Ye;7{v7Ln%c%okpcnfngXObE#PSk`N&T@7}#b zE|>F#%3i5PSbslZI+aSHQmMc+&B)YdpfJig$Ii|U^7%Y0%Yvq9p(Mllg8e}_TzUoI*JveuJpwVa`7K`Eb?b|4oN*(!A)WN)4Qx`0y6qaRSc6JuASgfmu zRLp%z=({TtaU9g^^{&rJpz01BCNoMYQmGWG)oM@hJyVG=8GQKg z0h*@a+_`g}Wy|F<0H9v4duQn=-K*z}V4g$>K`NEP+}vDW;3LCm)b_6HI-1QU2qDPj zaz4$L%VluReV&L~pi#+UDwV?g{Jc-|VR=$mM%tGLTCEm#cXwf$CWeQHJG6M~)-CTW zpjtYZyr~|NeU@cmZf>sYf*nXgVI&R@5ApTuS4>Pyctzjfj#)03A%yTqs5`PM7d3=t zvsui~&m$I#bkl1=H=|cj!(WY}?!00DxpNiAJM=M~@!Cw(Zc#2q9>- zTG-#;N3B-F_wV1~x~?Z1Rr9CWbTzKa38jo0jfSV)LZN_Wvx(K!RouUSAA}Itwv9%k zfiGXapxJC zCuy}>`26{^mp&6hKqIFxy>reu! zi(9Q0bmY_1-iP)1P3k@3ZRri2!Z3{W8X`UK?-2K&c5ABkYRnQ z7jz+nZJK6GzLk&1$7^b8Ws1YCt9tRSM1`P+qw|qtq@|G5Q6pfbcD5wLf*#v ze&?Ly&6_t^Sy{os!2uk{0f1i!r8EZM9{_%X|F6$K0o*1hdYS_86u`u36{gPWb0Xh5 zfZqXlE9)ao0DlE=1YiO{?tc`24Ztq|{s`b-0Pybt0E|L`(TBIDg#Z8m07*qoM6N<$ Ef_s)dY5)KL literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/btn_edit_normal.png b/res/drawable-hdpi/btn_edit_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..edc2f7a15775514487b30adbc6e40848b4c042b6 GIT binary patch literal 4829 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 DenA%# literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/btn_edit_pressed.png b/res/drawable-hdpi/btn_edit_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..66d07eaf5c9531615d3b7213b76b28f258b0db52 GIT binary patch literal 5370 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 Y0DX*rBi?!_4FCWD07*qoM6N<$f<>@0CIA2c literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/btn_edit_selected.png b/res/drawable-hdpi/btn_edit_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..8e2b366d270f8f4f46abd753699504f031196244 GIT binary patch literal 5422 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 Y0PD2~kwacBQUCw|07*qoM6N<$g1E|1lK=n! literal 0 HcmV?d00001 diff --git a/res/drawable/btn_edit.xml b/res/drawable/btn_edit.xml new file mode 100644 index 000000000..1002498c6 --- /dev/null +++ b/res/drawable/btn_edit.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/res/layout/message_compose.xml b/res/layout/message_compose.xml index a2517341d..6139c4809 100644 --- a/res/layout/message_compose.xml +++ b/res/layout/message_compose.xml @@ -213,13 +213,31 @@ android:layout_height="wrap_content" android:layout_width="fill_parent" /> - + android:layout_alignParentRight="true"> + + + + + + diff --git a/src/com/fsck/k9/activity/MessageCompose.java b/src/com/fsck/k9/activity/MessageCompose.java index 819517af9..74ebdf4d9 100644 --- a/src/com/fsck/k9/activity/MessageCompose.java +++ b/src/com/fsck/k9/activity/MessageCompose.java @@ -104,6 +104,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc private static final String STATE_PGP_DATA = "pgpData"; private static final String STATE_IN_REPLY_TO = "com.fsck.k9.activity.MessageCompose.inReplyTo"; private static final String STATE_REFERENCES = "com.fsck.k9.activity.MessageCompose.references"; + private static final String STATE_KEY_MESSAGE_FORMAT = "com.fsck.k9.activity.MessageCompose.messageFormat"; private static final int MSG_PROGRESS_ON = 1; private static final int MSG_PROGRESS_OFF = 2; @@ -164,6 +165,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc private EditText mMessageContentView; private LinearLayout mAttachments; private View mQuotedTextBar; + private ImageButton mQuotedTextEdit; private ImageButton mQuotedTextDelete; private EditText mQuotedText; private MessageWebView mQuotedHTML; @@ -179,6 +181,9 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc private String mReferences; private String mInReplyTo; + private boolean mSourceProcessed = false; + private MessageFormat mMessageFormat; + private boolean mDraftNeedsSaving = false; private boolean mPreventDraftSaving = false; @@ -381,6 +386,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mMessageContentView.getInputExtras(true).putBoolean("allowEmoji", true); mAttachments = (LinearLayout)findViewById(R.id.attachments); mQuotedTextBar = findViewById(R.id.quoted_text_bar); + mQuotedTextEdit = (ImageButton)findViewById(R.id.quoted_text_edit); mQuotedTextDelete = (ImageButton)findViewById(R.id.quoted_text_delete); mQuotedText = (EditText)findViewById(R.id.quoted_text); mQuotedText.getInputExtras(true).putBoolean("allowEmoji", true); @@ -442,7 +448,9 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mQuotedTextBar.setVisibility(View.GONE); mQuotedText.setVisibility(View.GONE); mQuotedHTML.setVisibility(View.GONE); + mQuotedTextEdit.setVisibility(View.GONE); + mQuotedTextEdit.setOnClickListener(this); mQuotedTextDelete.setOnClickListener(this); mFromView.setVisibility(View.GONE); @@ -496,6 +504,8 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mSignatureView.setVisibility(View.GONE); } + mMessageFormat = mAccount.getMessageFormat(); + if (!mSourceMessageProcessed) { updateFrom(); @@ -830,6 +840,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc outState.putString(STATE_IN_REPLY_TO, mInReplyTo); outState.putString(STATE_REFERENCES, mReferences); outState.putSerializable(STATE_KEY_HTML_QUOTE, mQuotedHtmlContent); + outState.putSerializable(STATE_KEY_MESSAGE_FORMAT, mMessageFormat); } @Override @@ -844,9 +855,10 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc addAttachment(uri); } + mMessageFormat = (MessageFormat)savedInstanceState.getSerializable(STATE_KEY_MESSAGE_FORMAT); mCcView.setVisibility(savedInstanceState.getBoolean(STATE_KEY_CC_SHOWN) ? View.VISIBLE : View.GONE); mBccView.setVisibility(savedInstanceState.getBoolean(STATE_KEY_BCC_SHOWN) ? View.VISIBLE : View.GONE); - if (mAccount.getMessageFormat() == MessageFormat.HTML) + if (mMessageFormat == MessageFormat.HTML) { mQuotedHtmlContent = (InsertableHtmlContent) savedInstanceState.getSerializable(STATE_KEY_HTML_QUOTE); mQuotedTextBar.setVisibility(savedInstanceState.getBoolean(STATE_KEY_QUOTED_TEXT_SHOWN) ? View.VISIBLE : View.GONE); @@ -854,6 +866,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc if (mQuotedHtmlContent != null && mQuotedHtmlContent.getQuotedContent() != null) { mQuotedHTML.loadDataWithBaseURL("http://", mQuotedHtmlContent.getQuotedContent(), "text/html", "utf-8", null); + mQuotedTextEdit.setVisibility(View.VISIBLE); } } else @@ -940,7 +953,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc // Handle HTML separate from the rest of the text content. HTML mode doesn't allow signature after the quoted // text, nor does it allow reply after quote. Users who want that functionality will need to stick with text // mode. - if (mAccount.getMessageFormat() == MessageFormat.HTML) + if (mMessageFormat == MessageFormat.HTML) { // Add the signature. if (!isDraft) @@ -1000,7 +1013,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc return body; } } - else if (mAccount.getMessageFormat() == MessageFormat.TEXT) + else if (mMessageFormat == MessageFormat.TEXT) { // Capture composed message length before we start attaching quoted parts and signatures. Integer composedMessageLength = text.length(); @@ -1097,7 +1110,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc final boolean hasAttachments = mAttachments.getChildCount() > 0; - if (mAccount.getMessageFormat() == MessageFormat.HTML) + if (mMessageFormat == MessageFormat.HTML) { // HTML message (with alternative text part) @@ -1265,7 +1278,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc uri.appendQueryParameter(IdentityField.OFFSET.value(), Integer.toString(0)); } // Save the message format for this offset. - uri.appendQueryParameter(IdentityField.MESSAGE_FORMAT.value(), mAccount.getMessageFormat().name()); + uri.appendQueryParameter(IdentityField.MESSAGE_FORMAT.value(), mMessageFormat.name()); // If we're not using the standard identity of signature, append it on to the identity blob. if (mSignatureChanged) @@ -1806,11 +1819,35 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mDraftNeedsSaving = true; break; case R.id.quoted_text_delete: - mQuotedTextBar.setVisibility(View.GONE); - mQuotedText.setVisibility(View.GONE); - mQuotedHTML.setVisibility(View.GONE); + deleteQuotedText(); mDraftNeedsSaving = true; break; + case R.id.quoted_text_edit: + mMessageFormat = MessageFormat.TEXT; + if (mMessageReference != null) // shouldn't happen... + { + // TODO - Should we check if mSourceMessageBody is already present and bypass the MessagingController call? + MessagingController.getInstance(getApplication()).addListener(mListener); + final Account account = Preferences.getPreferences(this).getAccount(mMessageReference.accountUuid); + final String folderName = mMessageReference.folderName; + final String sourceMessageUid = mMessageReference.uid; + MessagingController.getInstance(getApplication()).loadMessageForView(account, folderName, sourceMessageUid, null); + } + break; + } + } + + /** + * Delete the quoted text. + */ + private void deleteQuotedText() + { + mQuotedTextBar.setVisibility(View.GONE); + mQuotedText.setVisibility(View.GONE); + mQuotedHTML.setVisibility(View.GONE); + if (mQuotedHtmlContent != null) + { + mQuotedHtmlContent.clearQuotedContent(); } } @@ -2292,7 +2329,7 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc // Always respect the user's current composition format preference, even if the // draft was saved in a different format. // TODO - The current implementation doesn't allow a user in HTML mode to edit a draft that wasn't saved with K9mail. - if (mAccount.getMessageFormat() == MessageFormat.HTML) + if (mMessageFormat == MessageFormat.HTML) { if (k9identity.get(IdentityField.MESSAGE_FORMAT) == null || !MessageFormat.valueOf(k9identity.get(IdentityField.MESSAGE_FORMAT)).equals(MessageFormat.HTML)) { @@ -2330,11 +2367,12 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mQuotedHTML.loadDataWithBaseURL("http://", mQuotedHtmlContent.getQuotedContent(), "text/html", "utf-8", null); mQuotedHTML.setVisibility(View.VISIBLE); mQuotedTextBar.setVisibility(View.VISIBLE); + mQuotedTextEdit.setVisibility(View.VISIBLE); } } } } - else if (mAccount.getMessageFormat() == MessageFormat.TEXT) + else if (mMessageFormat == MessageFormat.TEXT) { MessageFormat format = k9identity.get(IdentityField.MESSAGE_FORMAT) != null ? MessageFormat.valueOf(k9identity.get(IdentityField.MESSAGE_FORMAT)) @@ -2431,8 +2469,8 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc // If we already have mSourceMessageBody, use that. It's pre-populated if we've got crypto going on. String content = mSourceMessageBody != null ? mSourceMessageBody - : getBodyTextFromMessage(mSourceMessage, mAccount.getMessageFormat()); - if (mAccount.getMessageFormat() == MessageFormat.HTML) + : getBodyTextFromMessage(mSourceMessage, mMessageFormat); + if (mMessageFormat == MessageFormat.HTML) { // Add the HTML reply header to the top of the content. mQuotedHtmlContent = quoteOriginalHtmlMessage(mSourceMessage, content, mAccount.getQuoteStyle()); @@ -2441,13 +2479,20 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc mQuotedTextBar.setVisibility(View.VISIBLE); mQuotedHTML.setVisibility(View.VISIBLE); + mQuotedTextEdit.setVisibility(View.VISIBLE); + + mQuotedText.setVisibility(View.GONE); } - else if (mAccount.getMessageFormat() == MessageFormat.TEXT) + else if (mMessageFormat == MessageFormat.TEXT) { mQuotedText.setText(quoteOriginalTextMessage(mSourceMessage, content, mAccount.getQuoteStyle())); mQuotedTextBar.setVisibility(View.VISIBLE); mQuotedText.setVisibility(View.VISIBLE); + + mQuotedHtmlContent = null; + mQuotedTextEdit.setVisibility(View.GONE); + mQuotedHTML.setVisibility(View.GONE); } } @@ -2689,7 +2734,27 @@ public class MessageCompose extends K9Activity implements OnClickListener, OnFoc { public void run() { - processSourceMessage(message); + // We check to see if we've previously processed the source message since this + // could be called when switching from HTML to text replies. If that happens, we + // only want to update the UI with quoted text (which picks the appropriate + // part). + if (mSourceProcessed) + { + try + { + populateUIWithQuotedMessage(); + } catch (MessagingException e) + { + // Hm, if we couldn't populate the UI after source reprocessing, let's just delete it? + deleteQuotedText(); + Log.e(K9.LOG_TAG, "Could not re-process source message; deleting quoted text to be safe.", e); + } + } + else + { + processSourceMessage(message); + mSourceProcessed = true; + } } }); }