[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Modifications to the main-menu of PCB



On Sat, Oct 02, 2010 at 11:56:56PM +0200, Felix Ruoff wrote:
>  Hello,
> 
> there was/is a discussion about modifying the main-menu of pcb at
> the thread "PCB: Change default file-filter in open-dialog". I think
> it will be more clearly arranged if we continue this discussion at
> an extra thread which I like to start with this mail :-).
> 
> I am currently spending some time with thinking about the
> menu-structure. Therefor my first question: Is anybody else working
> at this point?
>

I spent a short while working on keyboard shortcuts. I got through
the low-hanging fruit (open/save/close/quit) and discovered what you
did: there are a *lot* of little functions in pcb that have keybindings,
and mapping them all is hard work.

Initially, I had wanted there to be a keybinding for every single
operation. But since we have a command mode, perhaps this would be
a Bad Thing? How many times have you screwed up an application by
holding Ctrl and hitting the wrong key?
 
> One of the reasons for me to modify the menu is, to adapt it to the
> human-interface-guidelines (hid-guidelines) of GNOME
> (http://library.gnome.org/devel/hig-book/). Anywhere on the
> geda-webside I found the hint, that the geda (and pcb???)-GUI should
> be adopted to the rules described there. This does some problems
> with the keyboard-shortcuts. E.g. Ctrl+P is actually used for 'Auto
> place selected elements' and should be for 'Print' in the
> guidelines.

Agreed. If somebody put out a patch to clean up the gpcb-menu.res file
and make the shortcuts standard and sane, I would welcome it. But then
the same effort needs to be done for gschem.

> I will prefere using the shortcuts suggested in the document given above.
> In some cases it might be nice to support some new and the old
> shortcuts the same time. Does anyone of you know if it is possible
> in the actual implementation to define two shortcuts for the same
> action?
> 

No. You can define the same shortcut twice, but IIRC only one of them
will work. Nothing will complain, but the program will feel broken.

> The hid-guidelines suggesting Ctrl++ and Ctrl+- as shortcuts for
> zooming in and out. Using the plus and minus-sign for keyboard
> shortcuts is not possible in the actual implementation. The appended
> patch fixes this.
> 
+1

> 
> In the old thread there was some discussion about the menu-entries.
> Thank you all for your suggestions! I tried to merge them to a new
> discussion-basis here. First, it's just about the "File"-menu.
> 
> File
>   New                   Ctrl+N
>   Open Layout...        Ctrl+O
>   Load
>     Element Data to Paste Buffer...     // perhaps, this two entries
> can be merged at a later stage.
>     Layout Data to Paste Buffer...      // needs some coding (am
> working at this). Perhaps, moving this two to the 'Buffer'-menu?
>     Netlist File...
>     Vendor Resource...
>   -----
>   Save Layout           Ctrl+S
>   Save Layout As...     Shift+Ctrl+S
>   Save Connection Data of
>     a Single Element
>     All Elements
>     Unused Pins

So far so good.

>   Save Buffer to Footprint               // Don't know if this

Personally, I don't like this at all. I think that footprints should
be an export option, as well as the default save behavior in "footprint
mode". Also, we should have a "footprint mode".

> should be added here. Perhaps this should stay at the 'Buffer'-menu.
>   -----
>   Update from Schematic...
>   Revert
>     To Saved
>     To Backup                            // Don't know the action to
> fill in here. Is this implemented in the core already?

I think this is source control's job. One of the points made in the
file-format discussion was that we want something more diff-friendly.
Git integration would be cool, but that certainly doesn't belong in
the core.

>   -----
>   Calibrate Printer...  (or perhaps 'Page Setup' when there will be
> a new page-setup-dialog)
>   Print Layout...        Ctrl+P
>   Export Layout...
>   -----
> <List of recent files>                 // I did some work on this.
> It works but it is not well integrated jet. Will send a patch when
> ready (or I gave up)

A first step to this would be to create (or find) a decent unified
API for storing user settings and data under the ~/.pcb directory.

>   -----
>   // Here was the 'Preferences'-entry. I think we can move it to
> 'Edit' (as also suggested in the ghi-guidelines) to make this menu
> shorter
>   Close layout           Ctrl-W          // if and when multiple
> layouts are supported ;-)
>   Close all layouts                      // if and when multiple
> layouts are supported ;-)
>   Quit                   Ctrl+Q
>
> 
> These are my thoughts about the file-menu. Perhaps, you have some
> more comments or other hints?
>

Our menu system is pretty goofy right now. In cleaning it up, we
have to consider a few things:

  1. Default keybindings (of course) and menu structure (of course)
  2. Customizable keybindings
  3. Customizable menus
  4. Dockable menus, toolbars, etc
  5. Command-mode improvements.
  6. Removal of unused menu items

It's such a pain to use the pcb menu right now for anything serious,
I don't think anybody really does. Fixing up the command mode should
be an equal priority, if not bigger.

As for the command mode:
  1. Tab-completion (huge)
  2. Callback (a little clunky now)
  3. Escape/lost focus should get out of command-mode
  4. Output display
    4a. For internal commands a single line could be shown in the status bar
    4b. For lots of output, a log panel built into pcb would be nice
    4c. However, this needs to be 100% out of the way when not in use
  5. External application support (similar in vi how you can do :!make or
     :!pdflatex %).


Andrew
 


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user