Log-pane refinements

Bug #1251755 reported by Jake Peck
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
leo-editor
Confirmed
Wishlist
Unassigned

Bug Description

The log pane can stand to be refined, particularly in the following areas:

- Re-orderable tabs (with drag and drop) would be nice.

- The ability to dock/undock/float tabs from the pane would be nice as well.

- The ability to delete/close tabs in the log pane (except a few vital ones like Log and Find) would be wonderful, without resorting to a script to call g.app.log.deleteTab. Mainly, a context menu on right click of a tab name, providing a 'delete this tab' item would be wonderful. If this happens, there should be a flag when adding new tabs to the log pane, something like "closable=False" as a default, so that old plugins still work as intended.

Revision history for this message
tbnorth (terry-n-brown) wrote : Re: [Bug 1251755] [NEW] Log-pane refinements

On Fri, 15 Nov 2013 20:10:18 -0000
Jake Peck <email address hidden> wrote:

> Public bug reported:
>
> The log pane can stand to be refined, particularly in the following
> areas:
>
> - Re-orderable tabs (with drag and drop) would be nice.
>
> - The ability to dock/undock/float tabs from the pane would be nice as
> well.

free_layout (right click pane dividers) essentially does this. Open
window acts as a float option

> - The ability to delete/close tabs in the log pane (except a few vital
> ones like Log and Find) would be wonderful, without resorting to a

It should be possible to add a context menu to the tabs, like the
tabbed Leo interface itself has.

 - close could be on that context menu
 - detach on that context menu could trigger a free_layout open window
   on the relevant tab
 - re-ordering tabs is, I think, just a flag you set on the tab widget

> script to call g.app.log.deleteTab. Mainly, a context menu on right
> click of a tab name, providing a 'delete this tab' item would be
> wonderful. If this happens, there should be a flag when adding new tabs
> to the log pane, something like "closable=False" as a default, so that
> old plugins still work as intended.
>
> ** Affects: leo-editor
> Importance: Wishlist
> Status: New
>

Revision history for this message
Edward K. Ream (edreamleo) wrote :

On Fri, Nov 15, 2013 at 2:33 PM, tbnorth <email address hidden> wrote:

​> ​
free_layout (right click pane dividers) essentially does this.

​But this is the Easter Egg interface.​

​I've just made LeoTabbedTopLevel a subclass of LeoBaseTabWidget, a
subclass of QTabWidget.

If dw.createTabWidget created a LeoBaseTabWidget instead of a QTabWidget,
all tabs in the Tab Pane would have the same context menus as top-level
windows. This is not a complete solution, because LeoTabbedTopLevel uses a
TabbedFrameFactory as its 'factory' ivar.

Very complicated.

​> ​
- re-ordering tabs is, I think, just a flag you set on the tab widget

​Yes. Can be done by calling dw.setMovable(True) ​in leoQtLog.__init__.

dw.createTabWidget could also call w.tabBar().setTabsClosable(True)​ to put
make each tab closable. However, the class must be connected to an signal
to do something. And perhaps it's a bad idea allow the the log tab to
close.

​T​
his is turning into an unwanted project just now. I'll up what I have and
leave it at that...
​​

Edward

Changed in leo-editor:
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.