Package: kmail Version: 1.1-2rh5x Severity: wishlist It would be nice if kmail had the abilty to create mail templates for example for submitting KDE bug reports. That way we wouldn't have to keep re-typing the Package: and Version: lines. Granted the "Insert File" function gives you the same functionality but I'm lazy and don't want to push all those buttons. Basically what I'd like to see is a special folder called "Templates" that allows you to save partially-created mail messages in it. Then when you double click (or something) the message the mail composer pops up with a copy of the template in it so you can finish filling it out. -- Trebor A. Rude trebor@bwn.net Registered Linux User #89308 http://counter.li.org/
(*** This bug was imported into bugs.kde.org ***) Package: kmail Version: 1.1-2rh5x Severity: wishlist It would be nice if kmail had the abilty to create mail templates for example for submitting KDE bug reports. That way we wouldn't have to keep re-typing the Package: and Version: lines. Granted the "Insert File" function gives you the same functionality but I'm lazy and don't want to push all those buttons. Basically what I'd like to see is a special folder called "Templates" that allows you to save partially-created mail messages in it. Then when you double click (or something) the message the mail composer pops up with a copy of the template in it so you can finish filling it out. -- Trebor A. Rude trebor@bwn.net Registered Linux User #89308 http://counter.li.org/
KMail has a Drafts folder for this purpose. Regards Rob <kaper@kde.org>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday 9. August 2001 21:18 Stephan Kulow wrote: > Your message with subj: Drafts folder > > KMail has a Drafts folder for this purpose. The Drafts folder isn't very usable for this because edited messages disappear from the drafts folder after you send them. We should add a separate Templates folder from which messages which you edit aren't removed after sending them so that you can use those templates more than one time. Therefore I reopen this wish. As a workaround one can of course create a folder Templates to store the templates. And then each time one want's to use such a template one could simply copy the template to the Drafts folder edit it and send it away. But a separate Templates folder would still be nice. And it shouldn't be really hard to implement. We would simply have to copy the Drafts folder related stuff and make the Templates folder not remove messages which are edited. Maybe Florian (Hi Florian!) wants to do it as I'm currently busy with the PGP/GnuPG stuff. Regards Ingo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE7cvFSGnR+RTDgudgRAt7FAJ93GnPwJA8w7bLe0HI1l3UrsiwwMACfUB37 WXJAX0svmG10SBnkDfrr2bc= =dsN0 -----END PGP SIGNATURE-----
Hi there! I also just wanted to put a similar wish to the wishlist. Such a feature is included in an eMail-Client called "The Bat!". If you press on the "new message"-button, your new eMail allready contains: Dear Mr. (or Hello, or ... what erver you want) ... and just before the signature: Best regards, Name It is a very good feature and I'd like to see it in my prefered Client kmail aswell. Happy developing and hava a nice day! Oliver Kasch
Oliver: if all you want is a prefix at the start and a prettier signature, Kmail does this already 1) select settings/configure kmail/composer/phrases -- there you can specify the initial text (of course, kmail can't read your mind on a NEW message...) 2) for signatures, you specify "per identity" what signature should be created, which can include specific text (the "sincerely,..." line would go AFTER the "-- " indicator)
Subject: Re: kmail should have templates What Oliver wants is already possible. Simply enter the following in the signature input field: ===== Dear Mr. blabla Best regards, Name
I wish "The Bat!" templates in KMail too. "The Bat!" have templates for "new", "forward", "reply" messages. I need a specific thing for example: hiding e-mail address in forwarded message (now I do it manually). "The Bat!" have a rich templates engine and if simular template engine will be in KMail it will be very nice. (To previous comment's author): "The Bat!" allow to insert in temlapes sender name, address and so on, not simple inserting "Dear Mr.". Message text, various sender and recipient information allowed - that may be important to somebody.
I have been using FoxMail before switched to Linux. Foxmail also have powerful template engine to create new messages, replies and forwards, specifying the particular place to place all needed information (called macros there: subject, data, time, sender, recepient, etc.) and even where the cursor should be. Now I have to use Phrases, but they can be used only for replies (yes, by the way, could you allow to customize Forwarding phrase somehow in order to allow to get rid of these minuses!), and do not provide many things I want Thanks for the great product, Dmitry Golubev
I just wanted to add the same wish. As far as I understand the previous comments there are two things that people want from KMail. First thing is a simple template function that allows to send prepared messages and just add some individual details. In some MUAs this is called create message from stationery. You could for instance prepare a message that you want to send to all your contacts you had on a fair. The other thing is more elaborated and allows insertion of text elements into the message like with bulk mail you generate in a text processor. This includes that you are able to a list of input data to the message and maybe also other text elements. But to be honest this can be reduced to the insertion of the salutation and the name from KAddressbook. Enabling KMail for bulk mail IMHO an overkill. First of all there are enough bulk mailers around and second before sending bulk mail people should sit back for a minute and remember what they do about bulk mail, they delete it. The conclusion is that a templates folder with the stationery function is very helpful. Insertion of addressbook fields would be a nice to have but leave the bulk mail functions to the bulk mailers. No one really wants bulk mail in his mailbox so why should you support others to send such crap.
I think this could be implemented without adding another default folder. In the Settings dialog, Composer pane there would be a tab for 'Templates'. The Templates themselves would be text files created by the user place anywhere the user pleases. The Templates tab would roughly resemble the Headers tab with a Name for each template and a second column specifying the file itself. To create a message from a template would be fairly straightforward and would use the 'Insert file' code (at least I assume it would). The New Message button would have a dropdown with the list of templates. Alternatively, one could have a new button 'Create Message from Template' or something with the same thing, plus a menu item under Message of course.
*** Bug 82399 has been marked as a duplicate of this bug. ***
I'm not sure if the template system I described (Bug #82399) is the same as this thread means. My idea was a template mainly for companies' needs, with some extra features: - Based on HTML to create a real design (with graphics/logo, like a stationary) - Input widgets included (=LineEdits or TextEdits, but more like on a web form, not one big TextEdit) - Pre-defined values (=ComboBoxes) - Auto-filling values (e.g. for current date, no input widget) I would prefer to set those templates in the normal config dialog, and select one in the composer window (like I can do with identities).
I think the following is in line and solves a lot of first wishes: -kmail would support a templates dir with er templates -a template is an xml file with things like: <template> <name> <description>Omschrijving</description> </name> <header> Text to set at top of message </header> <selectionlist> <selection <description>Std reply to rtfm mail</description> <text>RTFM!</text> </selection> etcetera <paragraph> <text> Text in between results from selectionlists </text> </paragraph> <footer></footer> </template> -Upon clicking on the button 'template' a window pops up with the headers text, some selectionlist for prefap paragraphs and a footer. -After selecting the right selectionlist items the user clicks on 'merge' or something -Now he gets his usual builtin editor for the finishing touch. hope this helps. Sorry I can't program this myself.
I think, what two actions would can be added also: "Forward with template" and "Reply with temlate". Possible with templates list.
See how (freeware) FoxMail (pages are in chinese, but there will be an "English" button) does this for a working example...
*** Bug 91882 has been marked as a duplicate of this bug. ***
CVS commit by sanders: Add an Insert Recent File action to the composer Message menu, as discussed with Ingo. This can act as a thrifty man's template system; put your often used phrases in descriptively named files and then quic kly insert them again using the Insert Recent File popup menu. Later on files with a specific suffix, say, .template could be passed for, say, '%' quoted commands like %DATE etc. Hopefully the implementation is ok. There's a bit of code to make sure the encoding used when inserting a recent file i s the same as when the file was inserted using the modified file dialog that includes an encoding combobox. Also some l ogic is required to stop the config file from growing without bound. CCMAIL:1015@bugs.kde.org M +2 -1 kmcomposerui.rc 1.37 M +52 -2 kmcomposewin.cpp 1.901 M +3 -0 kmcomposewin.h 1.268 --- kdepim/kmail/kmcomposerui.rc #1.36:1.37 @@ -1,3 +1,3 @@ -<!DOCTYPE kpartgui ><kpartgui version="23" name="kmcomposer" > +<!DOCTYPE kpartgui ><kpartgui version="24" name="kmcomposer" > <MenuBar> <Menu noMerge="1" name="file" > @@ -11,4 +11,5 @@ <Separator/> <Action name="insert_file" /> + <Action name="insert_file_recent" /> <Action name="file_print" /> <Separator/> --- kdepim/kmail/kmcomposewin.h #1.267:1.268 @@ -65,4 +65,5 @@ class KToggleAction; class KSelectColorAction; class KURL; +class KRecentFilesAction; class SpellingFilter; class MessageComposer; @@ -406,4 +407,5 @@ public slots: void slotPrint(); void slotAttachFile(); + void slotInsertRecentFile(const KURL&); void slotSendNow(); void slotSendLater(); @@ -824,4 +826,5 @@ protected: KAction *mAttachPK, *mAttachMPK, *mAttachRemoveAction, *mAttachSaveAction, *mAttachPropertiesAction; + KRecentFilesAction *mRecentAction; KToggleAction *mSignAction, *mEncryptAction, *mRequestMDNAction; --- kdepim/kmail/kmcomposewin.cpp #1.900:1.901 @@ -91,4 +91,5 @@ using KRecentAddress::RecentAddresses; #include <kstatusbar.h> #include <kaction.h> +#include <kstdaction.h> #include <kdirwatch.h> #include <kstdguiitem.h> @@ -934,4 +935,11 @@ void KMComposeWin::setupActions(void) this, SLOT(slotInsertFile()), actionCollection(), "insert_file"); + mRecentAction = new KRecentFilesAction (i18n("&Insert File Recent"), + "fileopen", 0, + this, SLOT(slotInsertRecentFile(const KURL&)), + actionCollection(), "insert_file_recent"); + + mRecentAction->loadEntries( KMKernel::config() ); + (void) new KAction (i18n("&Address Book"), "contents",0, this, SLOT(slotAddrBook()), @@ -2366,5 +2374,37 @@ void KMComposeWin::slotInsertFile() KURL u = fdlg.selectedURL(); + mRecentAction->addURL(u); + // Prevent race condition updating list when multiple composers are open + { + KConfig *config = KMKernel::config(); + KConfigGroupSaver saver( config, "Composer" ); + QString encoding = KGlobal::charsets()->encodingForName(combo->currentText()).latin1(); + QStringList urls = config->readListEntry( "recent-urls" ); + QStringList encodings = config->readListEntry( "recent-encodings" ); + // Prevent config file from growing without bound + // Would be nicer to get this constant from KRecentFilesAction + uint mMaxRecentFiles = 30; + while (urls.count() > mMaxRecentFiles) + urls.erase( urls.fromLast() ); + while (encodings.count() > mMaxRecentFiles) + urls.erase( encodings.fromLast() ); + // sanity check + if (urls.count() != encodings.count()) { + urls.clear(); + encodings.clear(); + } + urls.prepend( u.prettyURL() ); + encodings.prepend( encoding ); + config->writeEntry( "recent-urls", urls ); + config->writeEntry( "recent-encodings", encodings ); + mRecentAction->saveEntries( config ); + } + slotInsertRecentFile(u); +} + +//----------------------------------------------------------------------------- +void KMComposeWin::slotInsertRecentFile(const KURL& u) +{ if (u.fileName().isEmpty()) return; @@ -2374,6 +2414,16 @@ void KMComposeWin::slotInsertFile() ld.data = QByteArray(); ld.insert = true; - ld.encoding = KGlobal::charsets()->encodingForName( - combo->currentText()).latin1(); + // Get the encoding previously used when inserting this file + { + KConfig *config = KMKernel::config(); + KConfigGroupSaver saver( config, "Composer" ); + QStringList urls = config->readListEntry( "recent-urls" ); + QStringList encodings = config->readListEntry( "recent-encodings" ); + int index = urls.findIndex( u.prettyURL() ); + if (index != -1) { + QString encoding = encodings[ index ]; + ld.encoding = encoding.latin1(); + } + } mMapAtmLoadData.insert(job, ld); connect(job, SIGNAL(result(KIO::Job *)),
*** Bug 99804 has been marked as a duplicate of this bug. ***
I'd like to see templates similar to "The Bat!" in KMail, too. You can set Preferences for every folder already, so if you could please add templates to it. The normal behavior for every folder should be to use the global templates for the account or identity. But you should be able to override these settings. Also templates on a per-user basis would be nice. Macros for filling in the texts would make sense in this context. So you could check a special field in the kaddressbook entry and dependent on what is in there you fill in the template. For example you can examine the nickname field of a contact, and if there is something filled in, then use it in the salutation, otherwise use the first name. Or you could have a special field where you place whether you name him by first name or by last name and check for this field, then create the greeting "Dear $firstname" oder "Dear Mr. $lastname" - of course you have to check for the gender, too. There are many customizations, which can make using emails easier.
*** Bug 104314 has been marked as a duplicate of this bug. ***
*** Bug 105571 has been marked as a duplicate of this bug. ***
Hi, many people are waiting for this feature but it seems that the kmail developers don't like it. I'm using kmail in my daily work and I miss this feature very much. A simple (text) template file like the signature (Configuration->Identity-Signature / but above the "-- " line) would be nice! To write these things into the signature file isn't a good solution! TIA Jens
> many people are waiting for this feature but it seems that the kmail > developers don't like it. I'm using kmail in my daily work and I miss this > feature very much. Jens, kmail is opensource so feel free to implement this. And it's simply not true that we "don't like this feature" but as our time is limited each developer has to decide what has a higher priority. Carsten
Templates are really important in a business environment. This is because people are either lazy (me) or incompetent. Currently I have +100 Users all using kmail. Many requests can be answered with our templates, but we needed to invest hell of a lot time (month!) to teach them how to copy and paste. It would be great if we would have under "answer" a choose "choose template" field. The template should be placeable on the server. So we need configuration item for "group templates" and "privat templates" thanks for your ear
In KDE 3.4+ please consider using the Insert File and Insert File Recent menu items in the composer to insert template text from predefined files.
Hi! >In KDE 3.4+ please consider using the Insert File and Insert File >Recent menu items in the composer to insert template text from >predefined files. That's ok if you write only one email a day, but I'm using kmail at work and I have to write more than a dozen emails a day. All email must have a special form because of legal causes. Templates are an enterprise feature and I think kmail want to be an enterprise email client. The solution is very easy to implement (I think): It's basically a copy of the signature tab/functionality. TIA Jens
>The solution is very easy to implement (I think): It's > basically a copy of the signature tab/functionality. Ok, it would be great if you could send a patch then.
Patch posted to list http://lists.kde.org/?l=kmail-devel&m=112454256600012&w=2
Created attachment 12299 [details] Template patch for KDE 3.4.2 Attached here, as suggested by Ingo Klöcker
Will this patch be included in KDE 3.5? Just curious and not really keen of ruining my package configuration.
This is a very userful wish! I'd like to create similar wish, but won't do it, but vote for this wish. 'Drafts' is not similar - after succesful mailing, letter will deleted, but in "Templates" letter keep. Netscape has similar folder ant is was very comfortable.
How about going the money lane? I have just pledged 120 € for the working implementation of this stuff at http://kontact.org/shopping ... If this is important to you, I recommend you follow this path... ... No, I do not like this way, also. It feels somehow like some kind of "Nötigung" (don't know the correct english word for that, maybe "constraint"). I am willing to contribute (but can't do any C++ unfortunately), I am willing to spend for the E.V., but this good-faith should not be dependant on withholding cruicial functionality.
There are a few posts referring to The Bat. Just wanted to add some details to help in why this is so. The Bat! has excellent template support. This is really useful where you need to send very similar replies to many emails - for example technical support, sales... I get an enquiry that asks where to buy our product in a certain city. Using The Bat I can just press the REPLY button to generate the correct and full response. This involves setting up a filter to move the email to a specific folder. The folder has an Identity and Reply template associated with it. The reply I generate uses the these two properties to produce the resultant email. I just have to click on the Send button. http://www.silverstones.com/thebat/templates.html (this is also the page referred to by the Rit Labs documentation.) http://www.pcwize.com/thebat/tbudp/tiki-index.php?page=Templates The Bat! is produced by http://www.ritlabs.com
Hello, yes, I'd like Kmail to have this feature. Writting 10.000 times a day the horrible "Dear Sir," "Kind Regards, X.Y, Z Inc." formulas, whereas you have quite a lot of other things to do precludes me from ever thinking of using Kmail in my company office. So I am forced to use Thunderbird, which is all too simplified in many respects. Standard signatures are only a partial solution, especially whereas my Kmail version (1.9.1) does not accept html signture files - plain text only! I've seen a patch sent by Jonathan Marten on 2005-08-21 13:47. What's happening with it? BTW, I strongly invite everybody to vote for this wishlist item: Bug 128986: Can't Paste HTML-formatted text into Kmail mail editor window Kind Regards, Bartosz Malinowski
Created attachment 16894 [details] Updated patch for KDE 3.5.3, part 1 Patch updated for current KDE, and incorporating review comments and suggestions from Ingo Klöcker on kmail-devel mailing list. This means that the facility to insert template text into the composer is no longer present; I'm currently thinking about an alternative way of doing this. It would be nice if this facility could be considered for inclusion in the next release in the KDE 3.5.x series, if the release criteria allows it; this is a major new functionality and ought to be user tested before KDE 4. The next patch (update of kmail libraries for template support, some of which is already present) is also required.
Created attachment 16895 [details] Updated patch for KDE 3.5.3, part 2 This patch can be incorporated into the libraries before the corresponding changes to the application; they are source compatible (but BIC).
I don't get the "obsolete" stuff ... does this mean templates are really comming to town? Can anyone give a newbie adwive how to apply patches?
*** Bug 133508 has been marked as a duplicate of this bug. ***
Wouldn't the simplist solution for the whole template debate be to just modify the Draft send logic to not delete the message from the Drafts folder?? It then acts as a template folder.. simple. You could create a config option "DeleteDraftonSend=false" so that its configurable by user. BJ.
heh, well, drafts do NOT fill up some fields by themselves and neither they position a cursor where it is supposed to be. note that variables (aka macros) are the most important feature here... the ability to customize message fully, and to position the cursor...
The most simple but sufficient solution to this would be to implement a function that passes the *complete* message to an external program and gets a *complete* message back from the external app which gets loaded into the compose window. So the user or administrator can freely decide what should happen. An external app would then be able to look at headers, subject an so on and could compose a custom reply message. This would move the main work (message parsing, template management, ...) to the users, administrators or third party goodie-writers. The functionality could be extended later, but that would be the most important step. Sylpheed-claws is a very good example for a mail app that can launch external shell-scripts or programs for lots of things. Fully customizable and fits all needs (though it's little more work for the end user).
Created attachment 18135 [details] Thebat-like template engine for kmail Thebat-like template engine for kmail. In sync with svn revision 595956 (kde3.5 branch). Replacement for 'Phrases' functionality. Introduces separate configuration for new message/reply/reply all/forward templates for each folder with simple macro language.
Glad to introduce one another patch to kmail which provide thebat-like template functionality :-) No, it is not a complete thebat templates language emulation (yet), only a very small subset, but it can serve most of everyday needs, especially because of per-folder configuration. It intended to be current 'Phrases' configuration replacement. Motivation is simple. I`m also think what thebat have superior template language and kmail need to have something like this. Personally i`m just tired to type "Hello, <friend name>" ten times a day in the beginning of each message. At least, with this patch it is possible now avoid this with per-folder reply template. Peoples used thebat will found what language is well known. I was tried to reproduce it as much as possible. Also there is some additions to thebat template language related to external programs processing. Commands added: %SYSTEM="<command>" -- insert result of external command %QUOTEPIPE="<command>" -- insert original message body processed with external command and quoted %TEXTPIPE="<command>" -- the same, but not quoted %MSGPIPE="<command>" -- the same, but whole message, including headers processed %BODYPIPE="<command>" -- current message body processed %CLEARPIPE="<command>" -- the same, but replace whole body with result Also new: %DEBUG -- turn on debug on pipe commands %DEBUGOFF -- turn it off %NOP -- synonym for %BLANK Supported thebat commands: %-, %REM="<comment>", %INSERT="<file>", %QUOTE, %QHEADERS, %HEADERS, %TEXT, %TOADDR, %TONAME, %FROMADDR, %FROMNAME, %FULLSUBJECT, %MSGID, %OHEADER="<header>", %HEADER="<header>", %OTOADDR, %OTONAME, %OFROMADDR, %OFROMNAME, %OFULLSUBJECT, %OMSGID, %DATEEN, %DATESHORT, %DATE, %DOW, %TIMELONGEN, %TIMELONG, %TIME, %ODATEEN, %ODATESHORT, %ODATE, %ODOW, %OTIMELONGEN, %OTIMELONG, %OTIME, %BLANK, %CLEAR Sorry, much appreciated %CURSOR command not supported yet :-( This patch are in synk with today KDE3.5 branch: http://websvn.kde.org/branches/KDE/3.5/kdepim And i have a little hope what it will be added to KDE 3.5.6 :-) Because KDE 4 seems to be too far away yet..
Created attachment 18137 [details] Thebat-like template engine for kmail oops fix..
Created attachment 18158 [details] Thebat-like template engine for kmail Sync with revision 596679. Now with %CURSOR! Also added: %TOFNAME, %TOLNAME, %FROMFNAME, %FROMLNAME, %OTOFNAME, %OTOLNAME, %OFROMFNAME, %OFROMLNAME -- because it is difficult to live without them.
Created attachment 18160 [details] Thebat-like template engine for kmail Oops.. Yesterday changes to kmail/kmcomposewin.cpp was reverted back with previous patch. This is a correct one. Sorry :-(
Created attachment 18171 [details] templates for kmail -- patch for KDE4 trunk Synk with revision 596725.
Thanks dmiceman - excellent patch.. works against 3.5.5. Unfortunately the "template folder" patch by Jonathan Marten causes Compose window to crash everytime when applied against 3.5.5. (with or without dmiceman's patch applied) NOTE: There was small change to patch of kmmainwin.rc (version mismatch) required for patch to apply successfully against 3.5.5. -<kpartgui version="89" name="kmmainwin" > +<kpartgui version="90" name="kmmainwin" > instead of -<kpartgui version="88" name="kmmainwin" > +<kpartgui version="89" name="kmmainwin" > I was unable to determine what changes are required to bring this patch under 3.5.5 successfully. Below is my backtrace. BJ. Program terminated with signal 11, Segmentation fault. #0 0x4a7797b1 in QString::QString () from /usr/qt/3/lib/libqt-mt.so.3 Thread 1 (process 19947): #0 0x4a7797b1 in QString::QString () from /usr/qt/3/lib/libqt-mt.so.3 No symbol table info available. #1 0xb6481d46 in KMComposeWin::setMsg (this=0x86693e8, newMsg=0x868bc88, mayAutoSign=true, allowDecryption=false, isModified=false) at identity.h:282 n = (partNode *) 0x8404c04 root = (partNode *) 0x0 otp = {_vptr.ObjectTreeParser = 0x8bc0cb0, mReader = 0xea60, mRawReplyString = <incomplete type>, mTextualContentCharset = <incomplete type>, mTextualContent = { static null = { static null = <same as static member of an already seen type>, d = 0x806d070, static shared_null = 0x806d070}, d = 0x834ace8, static shared_null = 0x806d070}, mCryptPlugWrapper = 0xb62e03a7, mShowOnlyOneMimePart = 176, mKeepEncryptions = 12, mIncludeSignatures = 188, mAttachmentStrategy = 0xea60, mHtmlWriter = 0x0, mCSSHelper = 0xb67147f7, mCollapseIcon = {static null = { static null = <same as static member of an already seen type>, d = 0x806d070, static shared_null = 0x806d070}, d = 0xb6293988, static shared_null = 0x806d070}, mExpandIcon = {static null = { static null = <same as static member of an already seen type>, d = 0x806d070, static shared_null = 0x806d070}, d = 0x834ace8, static shared_null = 0x806d070}} ac = { mAttachments = {<std::_Vector_base<partNode*,std::allocator<partNode*> >> = { _M_impl = {<std::allocator<partNode*>> = {<__gnu_cxx::new_allocator<partNode*>> = {<No data fields>}, <No data fields>}, _M_start = 0xbf998c80, _M_finish = 0x4a8ebe80, _M_end_of_storage = 0x0}}, <No data fields>}, mDiveIntoEncryptions = false, mDiveIntoSignatures = false, mDiveIntoMessages = false} #2 0xb6486301 in KMComposeWin (this=0x86693e8, aMsg=0x868bc88, id=0) at kmcomposewin.cpp:401 tip = {static null = { static null = <same as static member of an already seen type>, d = 0x806d070, static shared_null = 0x806d070}, d = 0x8b4a278, static shared_null = 0x806d070} sticky = {static null = { static null = <same as static member of an already seen type>, d = 0x806d070, static shared_null = 0x806d070}, d = 0x8b4a278, static shared_null = 0x806d070} atmColType = -1234107154 #3 0xb64864e7 in KMComposeWin::create (msg=0x0, identitiy=0) at kmcomposewin.cpp:149 No locals. #4 0xb6486518 in KMail::makeComposer (msg=0x0, identitiy=0) at kmcomposewin.cpp:145 No locals. #5 0xb65f96b1 in KMMainWidget::slotCompose (this=0x846ad08) at kmmainwidget.cpp:891 win = (class KMail::Composer *) 0xbf998cc0 #6 0xb660f27a in KMMainWidget::qt_invoke (this=0x846ad08, _id=80, _o=0xbf998ee0) at kmmainwidget.moc:516 No locals.
I'll investigate the crash (reported in comment #48). At the moment I'm also updating my patch to apply against trunk (since it has to go there before being accepted for a 3.5.? release). dmiceman, I assume that your "Thebat-like" templates with phrase insertion are completely separate to my template folder facility? If not, then we will need to somehow combine our patches before commit...
Jonathan, yes, they are very different beasts :-)
SVN commit 602738 by marten: GUI for an identity-specific templates folder CCBUG:1015 CCMAIL:kmail-devel@kde.org GUI: M +24 -2 branches/work/kdepim-3.5.5+/kmail/identitydialog.cpp M +1 -0 branches/work/kdepim-3.5.5+/kmail/identitydialog.h --- branches/work/kdepim-3.5.5+/kmail/identitydialog.cpp #602737:602738 @@ -288,9 +288,9 @@ row = -1; tab = new QWidget( tabWidget ); tabWidget->addTab( tab, i18n("&Advanced") ); - glay = new QGridLayout( tab, 7, 2, marginHint(), spacingHint() ); + glay = new QGridLayout( tab, 8, 2, marginHint(), spacingHint() ); // the last (empty) row takes all the remaining space - glay->setRowStretch( 7-1, 1 ); + glay->setRowStretch( 8-1, 1 ); glay->setColStretch( 1, 1 ); // "Reply-To Address" line edit and label: @@ -355,6 +355,15 @@ glay->addWidget( new QLabel( mDraftsCombo, i18n("&Drafts folder:"), tab ), row, 0 ); + // "Templates Folder" combo box and label: + ++row; + mTemplatesCombo = new FolderRequester( tab, + kmkernel->getKMMainWidget()->folderTree() ); + mTemplatesCombo->setShowOutbox( false ); + glay->addWidget( mTemplatesCombo, row, 1 ); + glay->addWidget( new QLabel( mTemplatesCombo, i18n("&Templates folder:"), tab ), + row, 0 ); + // "Special transport" combobox and label: ++row; mTransportCheck = new QCheckBox( i18n("Special &transport:"), tab ); @@ -614,6 +623,17 @@ else mDraftsCombo->setFolder( ident.drafts() ); + if ( ident.templates().isEmpty() || + !checkFolderExists( ident.templates(), + i18n("The custom templates folder for identity " + "\"%1\" does not exist (anymore); " + "therefore, the default templates folder " + "will be used.") + .arg( ident.identityName() ) ) ) + mTemplatesCombo->setFolder( kmkernel->templatesFolder() ); + else + mTemplatesCombo->setFolder( ident.templates() ); + // "Templates" tab: uint identity = ident.uoid(); QString iid = QString("IDENTITY_%1").arg( identity ); @@ -649,6 +669,8 @@ mFccCombo->folder()->idString() : QString::null ); ident.setDrafts( mDraftsCombo->folder() ? mDraftsCombo->folder()->idString() : QString::null ); + ident.setTemplates( mTemplatesCombo->folder() ? + mTemplatesCombo->folder()->idString() : QString::null ); // "Templates" tab: uint identity = ident.uoid(); QString iid = QString("IDENTITY_%1").arg( identity ); --- branches/work/kdepim-3.5.5+/kmail/identitydialog.h #602737:602738 @@ -100,6 +100,7 @@ KMail::DictionaryComboBox *mDictionaryCombo; FolderRequester *mFccCombo; FolderRequester *mDraftsCombo; + FolderRequester *mTemplatesCombo; QCheckBox *mTransportCheck; QComboBox *mTransportCombo; // should be a KMTransportCombo... // "templates" tab:
SVN commit 602871 by dmiceman: Keyboard shortcuts for custom templates with corresponding gui. Some refactoring of kmmailwidget related to custom templates handling (proper KAction`s). Very little beautification of custom templates interface. CCBUG:1015 GUI M +140 -12 branches/work/kdepim-3.5.5+/kmail/customtemplates.cpp M +9 -1 branches/work/kdepim-3.5.5+/kmail/customtemplates.h M +32 -22 branches/work/kdepim-3.5.5+/kmail/customtemplates_base.ui M +5 -0 branches/work/kdepim-3.5.5+/kmail/customtemplates_kfg.kcfg M +157 -110 branches/work/kdepim-3.5.5+/kmail/kmmainwidget.cpp M +7 -4 branches/work/kdepim-3.5.5+/kmail/kmmainwidget.h
*** Bug 137002 has been marked as a duplicate of this bug. ***
The KMail to be released as part of KDE 3.5.6 will have template capabilities. You will be able to build templates for new messages, replies, or forwards. The templates can be universal or identity-specific or folder-specific. The template language is very customizable (similar to The Bat! mailer). There will also be a templates folder from which you can store whatever emplates you like and new messages can be created from these. So, we probably went overboard with the templates. I'd like to thank Dmitry nd Jonathan for all their hard work doing the code to make this happen. Future releases will fine-tune how templates work, but please open new bug reports for usability and other issues with templates.
This feature has been implemented but the most intuitive way to access it (i.e., via the Message pull-down menu) is missing. See Bug 148102.