Git commit dcd71ccb991f3ebd20a600f8145840791caf4f3c by Juan Carlos Torres. Committed on 15/04/2013 at 08:41. Pushed by jucato into branch '1.5'. Merge branch '1.4' into 1.5 Conflicts: ChangeLog M +2 -0 ChangeLog M +2 -0 src/viewer/ircinput.cpp http://commits.kde.org/konversation/dcd71ccb991f3ebd20a600f8145840791caf4f3c diff --cc ChangeLog index 59c0244,9d048ac..fe39315 --- a/ChangeLog +++ b/ChangeLog @@@ -1,226 -1,4 +1,228 @@@ -Changes since 1.4: +Changes since 1.5-rc1: +* Fixed a bug that could cause the Watched Nicks system to report all nic= knames + as offline if the Watched Nicks tab had been opened prior to a reconnec= t, even + if that was not the case. +* Fixed a bug where a URL with IRC Color markups caused to show colors, e= ven if + 'Allow Colored Text in IRC Messages' was disabled. +* Fixed a bug where spaces in the path to the pre-connect shell command w= ere + handled incorrectly. Tilde expansion now occurs as well. +* Clicking a channel link starting with more than one # character would j= oin a + channel starting with one # too few; this has been fixed. ++* Fixed auto-replace not being applied to messages that are sent from the ++ Large Paste Warning dialog. + + +Changes from 1.4 to 1.5-rc1: +Konversation 1.5-rc1 is the first test release for our next major release= . The +1.5 development cycle has lead to significant new features in many areas = of the +application, from support for SASL and client certificate authentication = on +the protocol side, to all-new topic management UI, overhauled authenticat= ion +UI, per-tab spell-checking language settings, user-configurable nick cont= ext +menu entries and mouse spring-loading in the frontend and all-new version= s of +major bundled scripts. Improved Ignore, Watched Nicknames and Edit Paste +functionality and behavior, performance improvements in some critical cod= epaths +and many other bug fixes and minor UI touch-ups round things out. + + +* The user interface for the Auto Identify settings in the Identities dia= log has + been extended by a combo box that allows choosing the type of authentif= ication + to be performed. Depending on the chosen type, different input fields a= re shown + below the combo box. +* The server password-based authentification supported by some networks i= s now + configurable in the Identities dialog as well, making it more discovera= ble and + allowing to keep Auto Identify settings generally with the Identity rat= her than + requiring going through the Edit Server dialog. +* SASL PLAIN authentification is now supported. To use, pick SASL as the = Auto + Identify type in the Identities dialog and fill in your account name and + password. +* Standard NickServ authentification has been further improved. The comma= nd sent + to to the service, previously hard-coded to "identify", is now configur= able, + and the name of the service now defaults to "nickserv" in new identities + (the previous default was an empty field). +* Added support for authenticating via a SSL Client Certificate in the fo= rm of + a PEM file if Konversation is built against KDE Platform v4.8.3 or high= er. + Choosing this type of authentication in the Identities dialog forces SS= L to be + enabled for a connection, overriding any server settings. +* Added the ability to set a different spell-checking language for every = tab, + from the context menu of the input box. The chosen language setting is = pre- + served across application restarts. +* The Topic tab in the Channel Options dialog has been redesigned and + rewritten from scratch, featuring a much improved UI and many bug fixes: + - In place of the previous UI with a multi-column topic history list an= d two + distinct text fields for browsing and editing there is now only the l= ist + and an edit field. The list has been redesigned to show all of the da= ta for + a topic, with visually distinct headers serving to delineate individu= al + entries and showing the author and timestamp, above the full text for= each + topic. + - Entries in the history list now sport a context menu allowing to copy= the + topic text and querying the topic author. + - A new search field above the history list allows filtering it by look= ing + for the search string in the text, author name and timestamp of all t= opics. + - When an encryption key is set for a channel an attempt is now made to + decrypt all of the topics in the history, not just the current topic. + - When editing the topic any text entered past the server's maximum + allowed topic length will now be drawn in the color scheme's negative + text color (i.e. usually red). Further, if Konversation has been built + against KDE Platform v4.7.0 or higher, a warning is shown at the bott= om + of the text field explaining the limit and offering the option - via a + button - to delete the excess text. + - The text cursor is now automatically placed at the end of the edit fi= eld, + making the common use case of adding to the topic more convenient. + - The location of the splitter handle inbetween the history list and th= e edit + is now remembered across all Channel Options dialogs and application + restarts. + - Storing the topic history for each channel now takes up less memory, = and + general efficiency in handling with topic data has been improved grea= tly. + - Fixed a bug causing redundant entries to accumulate in the topic hist= ory + across reconnects when the last entry in the history corresponds to t= he + topic given by the server at rejoin. + - Fixed a bug causing HTML tags (e.g. ) in topics to be invisibl= e in + the edit field. + - Fixed a bug causing the "Undo" action in the edit field to occassiona= lly + stop working, making it impossible to return the field to the unmodif= ied + state in which its contents sync to the selected history list entry. + - Fixed a bug causing the topic not to return to its encrypted form whe= n the + decryption key for a channel has been deleted. + - Fixed a bug causing the author of a topic to sometimes be shown as th= e full + user mask instead of consistenty showing only the nickname. + - Fixed a bug causing the "Unknown" placeholder that is used when the a= uthor + of a topic is unknown not to be translated. + - Fixed the incorrect tab key order in the Topic tab. +* Fixed a bug causing the topic at the top of channel tabs not to return = to its + encrypted form after the decryption key for a channel has been deleted. +* The size of the Channel Options dialog is now synchronized between the = dialogs + for different channels and remembered across application restarts. +* The widths of the columns in the Ban List tab in the Channel Options di= alog + is now synchronized across all Channel Options dialogs. +* The Quick Buttons options now feature a new checkbox that toggles wheth= er Quick + Buttons that operate on nicknames will be shown alongside other nicknam= e- + related actions in context menus throughout Konversation. Essentially, = this + allows for placing custom actions in nickname context menus. +* The list of placeholders available in Quick Button patterns now mention= the + previously undocumented "%k" placeholder for the current channel's key = and is + sorted alphabetically. +* When a Quick Button pattern replaces the current input box contents (du= e to + the presence of the "%n" expando in the pattern) they are now added to = the + input box history first. +* Quick Button patterns now support a new "%i" placeholder that is replac= ed with + the current contents of the input box. +* Both the regular tab bar and its listview version now implement "spring- + loading". That is, when dragging something onto a tab and holding it th= ere, + the hovered tab will now be switched to after a brief delay. This allows + switching to the intended tab as part of dragging text or a file to its + destination, e.g. the tab's input bar or nicklist. +* All types of tabs which sport a prominent input widget will now see foc= us + moved to that widget and the first keypress redirected when focus is on= the + treelist version of the tab bar while starting to type. In previous rel= eases + this already worked for chat tabs with their usual input bars, now it a= lso + works for e.g. Channel List tabs and Konsole tabs. +* A '/umode' convenience command to set modes on self has been added. +* The 'Mode change' notification event now sports a proper text payload + describing what has happened. +* The system tray icon now shows an overlay icon when global away is enab= led. +* The behavior of the 'Show/Hide Konversation' action has been simplified= and + tuned to do the correct thing in more scenarios. Previously, invoking t= he + action would hide the window even if it was not actually visible due to + being covered by other windows, because merely not being hidden, not be= ing + minimized and being on the current desktop was already considered being + shown. A much simpler approach of always showing the window if it is no= t the + currently active window (and, as before, moving it to the current deskt= op as + needed) and hiding it when it is has been adopted now instead. +* Added an option to restrict logging to private conversations (queries, = DCC + chats). +* Added an action to manually apply the user-configured auto-replace rule= s to + the input box contents without sending the message, enabling user review + before doing so. The relative cursor position is preserved or the curso= r is + moved to the end of an intersecting replacement insertion when auto-rep= lace + is applied. +* Server status tabs for networks listed in the Server List dialog now ha= ve a + "Connect at Startup" checkbox in their context menu, similar to the "Jo= in on + Connect" checkbox in the context menu of channel tabs. Both set options= also + available from the Server List. +* Removing newlines in the Edit Paste dialog can now handle Windows-style + carriage return line breaks and whitespace characters other than ASCII = 0x20. +* Part and Quit messages now show the hostmask of the subject, consistent= with + Join messages. +* The nickname list theme preview in the configuration dialog now uses th= e same + background color as the actual nickname lists. +* Raw log tabs now use color coding to visually differenciate inbound and + outbound messages, using the server message and channel message colors = from + the color settings respectively. +* The DCC Status transfer list update interval now depends on the graphic= s effects + level setting in KDE System Settings, changing between 500, 1000 and 20= 00 ms + depending on the level set. +* Fixed a bug causing the input box height not to be adjusted appropriate= ly to + fit the contents when the "Input box expands with text" option is enabl= ed and + the window is resized horizontally, causing the text to rewrap. +* Fixed a bug causing the context menu for an item in the DCC Status tran= sfer + list to appear in the wrong position. +* The double-click action command for Watched Nicks list entries now supp= orts + command aliases. +* Fixed a bug causing wildcard expansion to be performed on the input box + contents when they start with a Command Alias (rather than just expandi= ng + wildcards in the Alias replacement pattern). +* The bundled 'media' script has been rewritten from scratch to implement= the + MPRIS2 standard for interfacing with media players - and only the MPRIS2 + standard. This means losing support for a number of legacy players whic= h do + not support MPRIS2, but also gaining support for a number of popular mo= dern + players which do (e.g. Tomahawk). Additionally, there are often third-p= arty + MPRIS2 bridges or plugins for players which do not support it natively.= The + script now also features much-improved error handling and reporting in = the + face of misbehaving players or configuration errors. +* The bundled 'sysinfo' script has been rewritten from scratch. The new v= ersion + offers more accurate CPU and KDE version information (accounting for mu= ltiple + cores and frequency scaling for the former, and making the difference b= etween + running inside KDE or just using the KDE Platform for the latter), as w= ell as + the addition of distro name and release information and generally impro= ved + robustness in data acquisition. Finally, the output format is now easie= r to + configure, adopting an approach similar to the one used in the 'media' = script. +* The bundled 'sayclip' script has been rewritten from scratch, removing = the + now-redundant flood handling found in the old version (Konversation tak= es + care of this implicitly today) and improving the error handling in case + Klipper cannot be contacted. +* The bundled 'bug' script has been rewritten from scratch, featuring imp= roved + error handling and adding internationalization support. +* Fixed a bug causing the What's This help tooltip for nickname lists to = show + the regular user icon instead of the away icon as the away icon example. +* The desktop notification for a completed incoming DCC file transfer now= offers + an action to open/run the received file. +* Various fixed to tab stops and margins in the configuration dialog page= s. +* Minor UI fixes for the Queue Tuner (opened by /queuetuner), correcting = icon + use and button labels. +* Removed excess white space from several warning dialog messages. +* Fixed a bug causing the Watched Nicks to spam the active tab with repea= ted + WHOIS requests for someone on the Watched Nicks List after opening a qu= ery + tab to them while they were offline. +* Fixed several bugs in preserving per-tab encoding settings across appli= cation + restarts. +* Link opening now properly respects KDE's file type associating settings= instead + of always opening a web browser. +* Fix Konversation not saving the unchecked "... a channel invitation is = received" + warning dialog option in the Warning Dialogs list in the configuration = dialog +* Unchecking the "... a channel invitation is received" warning dialog op= tion + in the Warning Dialogs list in the configuration dialog now sets the be= havior + for future channel join invitations to always joining them. The actual = dialog + allows chosing between always accepting and always ignoring, but until = this + can be exposed in the configuration dialog, always joining them makes t= his + option consistent to all other warning dialog options. +* The default behavior upon receiving a channel join invitation is now to= ask + the user, instead of silently accepting the invitation. The latter beha= vior + accidentally snuck into 1.4 and is considered a bug. +* Added a workaround for behavior in the Phonon multimedia library that c= ould + lead to crashes on application quit when using custom highlight notific= ation + sounds. +* Fixed a bug causing an ambiguous shortcut warning dialog when using the + default ESC keyboard shortcut to invoke the Focus Input Box action afte= r the + search has been opened and the Focus New Tabs option was disabled while= a new + tab was opened. +* Fixed a bug causing multiple ignore list entries with the same pattern = not to + be preserved across application restarts. Instead only the latest entry= with + the pattern would. +* Fixed a bug causing the tab label for open log viewer tabs to be set to + "ChatWindowObject" when switching the tab bar position between top or b= ottom + and left. +* Made the code turning channel names into clickable links more strict ab= out what + types of trailing punctuation it incorporates into the link. * Fixed bugs causing currently joined channels not to react correctly to = changes in the enabled state of the Automatic User Information Lookup setting. Previously, enabling the lookup would not actually start it, and disabl= ing it diff --cc src/viewer/ircinput.cpp index 041eadb,9e58dbd..e99fb94 --- a/src/viewer/ircinput.cpp +++ b/src/viewer/ircinput.cpp @@@ -528,6 -459,8 +528,8 @@@ void IRCInput::insertFromMimeData(cons // ask the user on long pastes if(checkPaste(pasteText)) { - pasteText =3D Application::instance()->doAutoreplace(pasteT= ext, true); ++ pasteText =3D Application::instance()->doAutoreplace(pasteT= ext, true).first; + = Konversation::sterilizeUnicode(pasteText); // signal pasted text emit textPasted(pasteText);