Skip to content
  • Eike Hein's avatar
    Land a rewrite of the context menu code ... · 7404e4be
    Eike Hein authored
    ... for ircview, topiclabel and nicklistview, resulting in a monstrous
    commit message listing the many improvements. And you thought I couldn't
    do it with git! Enjoy:
    
    * Numerous consistency problems in the area of which actions are avail-
      able in which context menus have been addressed. For example, the chat
      text nick context menu used to lack many of the actions available in
      the nickname list context menu.
    * Numerous actions that require an established connection (e.g. everything
      in the "Modes" submenu of nick context menus or the DCC actions) used to
      not get disabled when loss of connection occured. Others did get dis-
      abled, but not consistently in all menus in which they are available.
      Still others, such as the "Add to Watched Nicks" action, used to get
      disabled unnecessarily. All of this has been addressed.
    * Toggle actions used to appear and behave inconsistently: The nickname
      list context menu showed either "Ignore" or "Unignore" actions as applic-
      able, while the chat text view nick context menu used a checkable item.
      Meanwhile, the "Add to Watched Nicknames" action had no corresponding
      action to remove a nick from the Watched Nicks Online list at all. All
      of this has been fixed, going with the "Ignore"/"Unignore" style of the
      nickname list context menu (i.e. there's now a "Remove from Watched
      Nicks").
    BUG:243430
    * If built against Qt 4.7, the topic area now uses the same context menus
      as the chat text view (with the exception of the inappropriate "Find
      Text.." action in the basic context menu), enabling a lot of functiona-
      lity missing otherwise.
    * Some actions used to be shown in menus inappropriately, e.g. the "Chan-
      nel Settings" action in the chat text view context menu of a connection
      status tab or the "Open Logfile" action in the same context menu of a
      raw log tab. This has been addressed.
    * The behavior of many of the actions is now more consistent with their
      input line equivalents. For example, clicking "Join Channel" in a link
      to an already-joined channel will now focus the existing channel tab,
      the same as the /join command would do. Previously, nothing would hap-
      pen.
    * Fixed a bug causing the nick and channel link context menus in the chat
      text view of a channel tab to get disabled after having been kicked from
      the channel.
    * Fixed a bug causing the "Send Email..." action to always be disabled,
      even when any of the associated address book entries did have an email
      address on file.
    * The display of helpful titles repeating the nick/channel at the top of
      the chat text view nick and channel link context menus has been fixed -
      it previously got broken in the KDE 4 port.
    * The nick and channel link context menus now mark the action that occurs
      when clicking either as the default action of the context menu, impro-
      ving the appearance with UI styles that visually distinguish the default
      action.
    * General improvements to the layout of menus, often with an aim for
      improved consistency with other KDE applications.
    * Numerous actions that were missing icons now have them.
    * The consistency of keyboard accelerators between the various menus has
      been improved.
    * Various actions in the nickname list context menu now appropriately use
      a singular or plural form for their text label depending on the number
      of selected nicks the menu operates on.
    * Improved memory efficiency by using single global instances of the
      various menus, rather than for example having two separate instances of
      the nick context menu - one for the chat text view, one for the nickname
      list view - for every channel tab.
    * The code implementing the various actions was in many cases redundantly
      implemented in three different places, for some even in four. This stag-
      gering code duplication has been done away with.
    7404e4be