JMB has requested that the Google Summer of Code students post a
summarization of the work we have done. So, here (for your reading pleasure)
is a simplified list of everything that I have accomplished thus far:

   - Remade preferences dialog to conform to the GNOME Human Interface
   Guidelines
      - Improved the dialog to better integrate aesthetically
      - Made it an instant-apply dialog (all of the changes are saved
      instantly so an apply button is not needed)
      - Added a button to set the homepage as the current page and another
      to set it to the default NetSurf welcome page (I wanted this to
be a blank
      page button but unfortunately its not possible (or easy) to implement this
      - Fixed several widgets/options that were not
      sensitive/implemented/working-correctly
   - Added a right-click contextual menu
      - If the menu bar is hidden it will display the entire menu, otherwise
      only whatever applies
      - Cut, Copy, and Paste appear if they are currently possible
      - Back, Forward and Reload (the common actions) are shown at the top
      of the menu
   - Mouse Dragging and Clicking
      - Redid most of the mouse handling to better integrate with modern gtk
      apps.
      - When a mouse button is pressed the state is considered PRESS which
      basically means that it is waiting to either become a "Click" or a "Drag".
      - Clicks are considered a press and release with no movement.
      - If the mouse is moved while its state is PRESS it is considered a
      Drag.
      - Modifier keys are only accepted if held when the mouse is pressed,
      after the state is set as PRESS they can only be removed.
      - Text selection and Replacement
   - Implemented text selection for nsgtk
      - Implemented selected text replacement for the core
         - Typing a character now deletes the selected text and places the
         character in the correct position
         - Correct input box behavior when a selection is defined (right
         arrow moves caret to end of selection)
         - Correct cut functionaliy in both versions
         - Fixed descrepancy between where the caret was placed and where
         the selection began when starting a drag-select (nsgtk)
      - Clipboard functions for both the url entry bar and the browser
   itself
      - Implemented Cut and Paste in nsgtk
      - Fixed Cut in core for both versions and implemented it in nsgtk
      - Sensitivies are handled correctly in both the main and right-click
      menus
   - Downloads
      - Completely implemented downloads for nsgtk
      - Binary and UTF8 data both download correctly
      - Added several options to the preferences dialog (which may need to
      be restructured now)
         - Default save directory
         - Automatically clear downloads on completion
         - Ask for file overwrite confirmation
      - Downloads with no total size will
pulse<http://library.gnome.org/devel/gtk/stable/GtkProgressBar.html#gtk-progress-bar-pulse>and
the total the total progress bar will pulse as well
      - Added a confirmation dialog when closing NetSurf when downloads are
      running
      - The clear button will clear all inactive downloads if none are
      selected

  ~ Mike :D

Reply via email to