--------------------------------------------------------------------------------
|                          TODO list for Porthole:                             |
--------------------------------------------------------------------------------
* add an comment input dialog to get user comments for user config entries

* Done, add more package.mask/unmask menu options to the ebuild table right click menus

* Done, more USE flag bugs to fix... irc snippit:
{<dol-sen> A nice API for that would be nice ;)  , hint, hint
<dol-sen> it would cut the time more again not having to create the output and re-parse it
<dol-sen> just get the python structure, list, tuple, whatever
<zmedico> why don't you use config.setcpv()?
<zmedico> that's how portage does it
<dol-sen> because I didn't know abuot it :)  thanks
<zmedico> after setcpv, get config['PORTAGE_USE']
<zmedico> and that has the enabled flags
<dol-sen> thank you again, I owe you for that...
<zmedico> you have to pass a portdbapi into setcpv, as the mydb argument
<dol-sen> already have it in the backend code, thanks
<dol-sen> I'll check out the epydocs more
<zmedico> cool
}


* integrate the use of  'portage.mtimedb["resume"]'  into porthole's info.  The file is
    @  /var/cache/edb/mtimedb (it's python pickle format).
    dol-sen: FYI, there is support for 2 resume lists. The second is
    portage.mtimedb["resume_backup"].

* update to python-2.6 minimum requirement

* remove hard coded emerge commands and make them loadable from a file.  This will then allow for
    different package managers or wrappers to be used in place of emerge.

* separate out the USE flag building widget and keywords widget from the advanced emerge dialog to be
    useable in other places like another tab in the package notebook for easier changes.

* Clean up zombie gksu processes for plugin's needing to run as root.


  / (In Progress) Preferences Dialog:
      (Done) sync options (e.g. websync)
      (Done) default emerge options (e.g. verbose)
      (Done) archlist option (for advemerge and summary view)
      option to disable screensaver ? (RFE [1094373])
      (done) Font and colour chooser for Terminal window ?
      use flag options ? 
      mirrors, proxies ?

  * Allow multiple packages to be selected, then emerge in one line
   i.e. "emerge <package1> <package2> <package3>"
   (see RFE [974902])

 / (Partially Done) Some sort of sudo functionality (RFE [950598, 1027080], Bug [1112449]).
   Perhaps using libgksu, libgksuui somehow (swig?).
   Pygksu is in gnome-python-extras cvs, but not ready for use (03 June 2005)

 * Manager for: (RFE [954349, 994537])   {In the works by another called gpytage}
      use flags (make.conf)
      package.use
      package.unmask
      package.keywords
      mirrorselect
      http_proxy
   Viewer for:
      package.mask
   Perhaps some of this could be included in a preferences dialog

 * Ability to save an emerge list and perform the emerge at a later date
   This could also be saved on disk before an emerge, to be resumed in the
   case of a crash.
   (see RFE [974902, 1081511, 1112457], bug [1112449, 1112459])

 * Add an option for "deep" dependency upgrading. Only show dependencies in
   upgrade view if this is enabled, and then select them by default ?
   (RFE [1013912])

 * Reinstate tree view with dependencies branching from world packages
   in upgradable view

 + (Added webbrowser choice in prefs)
   Fix webbrowser choice, add "copy link" option in summary (bug [908237])
   Porthole needs to do more work to open the default browser.

  * Way of seeing what installed packages depend on a certain package.

 * Indication of unstable packages in package view (bug [1222366])

   (pending) Porthole could keep track of changes while running, and thus wouldn't have
   to reload information so much.
   (done = now saves a description db after a sync) This could help for fast description searching (RFE [998428]), and would
   make Porthole a lot faster in general, but has the potential for lots
   of problems with discrepancies between Porthole and portage...
   perhaps use python fam interface.  Fam is being replaced by gamin which
   comes with a python interface.

 ? Advanced search criteria (masking, architectures, use flags)

  ? (work in progress, system, world sets, dependencies added) Possible "newuse", "system", "tool chain" filters for upgrade list ?

 ? Somehow prompt to add packages to package.keywords if the user tries to
   merge a masked package (bug [1107532]). Check dependencies also.

 ? Possible "uninstalled packages" view (bug [1078839])
 
 ? Show upgrade flags (B, NS etc.) in upgrade view (bug [1078839])

 ? Possibility to show info for packages in the emerge queue (right click ->
   select in packageview?) and to indicate queued packages in the packageview
   (Bug [1222366])

 ? Distcc monitor ? (RFE [1071208])


--------------------------------------------------------------------------------
|                            Original TODO list                                |
--------------------------------------------------------------------------------

Porthole Release Feature Schedule

Release 0.4.?

- Faster dependency calculations by only partially loading the tree
- USE flags & features editor(s) (being worked on)
- Remove the view selector and integrate them with the categories. 
(in progress) begin adding right click menus for many areas
- (in progress)Make the package versions and use flags mouse & right click sensitive to bring up context sensitive
  menus for changing use flag status or displaying properties for different ebuilds, etc.
(in progress) Change the masked version display to indicate keyword masked/hard masked or /etc/portage.* listed

Release 0.5
- integrate portages new API into porthole replacing portaglib (when ready)
- A way to hide the details of an emerge and replace it with a pretty pulsing progressbar
- A porthole panel applet similar to redhat's up2date applet [maybe...]


==================================
Features for future consideration
==================================

- Make the package file list a filesystem tree, or a list of files.
  Double-clicking should open the file or folder in Nautilus.  It would be neat 
  if right-click brought up the standard Nautilus context menu.

(see above) Adding su ability inside porthole.  gksu now has the new API with  separate Libs for a gtk+ widget and core lib.
   It now has a python interface included in the gnome-python-extras package.

- Adding chroot ability to the terminal and mainwindow database.  This would allow porthole to
  be used for some install purposes.  Or help in using porthole to do remote work.

- Possibly re-write porthole terminal in c to fully integrate the vte terminal widget which will
  be able to do chroot & su easily. 

(see above) Advanced filter/search capabilities
  -- specific architecture
  -- stable/unstable
  -- use flag

