[Synfig-devl] main menubar cleanup and improvement

2014-01-26 Thread Yu Chen
Hi,

In menubar of mainwindow, there are 10 items: File, Edit, View,
Canvas, Layer, Keyframe, Tool, Set, Plug-Ins and Help.

Do we really need Layer, Tool, Set, Keyframe menus? Since all of their
sub-items are avaliable in their own panels.

Keyframe menu, in most cases, user has go to keyframe panel to
maintain keyframes for their documents.
Layer menu, is just a copy of layer panel context menu
Tool menu, is just a copy of toolbox
Set, I never use it from menu bar
Canvas, almost same, but the Canvas Properties and Options should be
relocated from Edit and File menus to Canvas menu.

I advise to:
- Remove Keyframe, Layer, Tool, Set menus from menubar
- Add a new Window item which contains File-Panels items (with some
improvements of couse)
- Relocate menu items Edit-Properties and File-Options to Canvas
menu. Maby be we should hide the Options menu item, since the Options
dialog is not a finished effort, and from my point of view, it is more
like a canvas metadata editor. It would better to merge it into canvas
properties dialog.

So the new menubar will look like:
File, Edit, View, Canvas, Plug-Ins, Window, Help

Sub-items:

[File]
==
New
Open...
Open Recent 
--
Save
Save As...
Save All
Revert
--
CVS Add
CVS Update
CVS Commit
CVS Revert
--
Import...
Import Sound File...
--
Preview...
Render...
--
Close Document
--
Quit
==



[Edit]
==
Undo
Redo
--
Cut
Copy
Paste
--
Select All Layers
Unselect All Layers
Select All Handles
Unselect All Handles
--
Input Devices...
Preferences...
Reset to default Setup values
==



[View]
==
almost the same than current
version in master branch
==



[Canvas]
==
Properties...
Options...
==



[Plug-Ins]
==
nothing changed
==



[Window]
==
Arrange  
Workscape 
--
Toolbox
Tool Options
History
...
Graphs
Sets
Palette Editor
--
Synfig Animation 1
Synfig Animation 2
Synfig Animation 3
==

[Workscape]
==
Vertical Docks: Canvases, History, Layers
Horizontal Docks: Parameters, Keyframes
--
Reset Panels to Original Layout
==



[Help]
==
Help
Tutorials
Reference
FAQ
--
Get Support
--
About Synfig Studio
===




~ yu

--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl


Re: [Synfig-devl] Close Window and Close Docuement

2014-01-26 Thread Carlos López González
Looks fine to me. I just would change the logic from:

bool
CanvasView::close_view()
{
if(get_instance()-get_visible_canvases()==1)
close_instance();
else
hide();
return false;
}


to

bool
CanvasView::close_view()
{
if(get_instance()-get_visible_canvases()1)
hide();
else
close_instance();
return false;
}

It is not likely that it could happen but it would be sure if
get_visible_canvases() returns zero for some reason.

Cheers!


2014-01-26 Yu Chen jco...@gmail.com

 Hello,

 We currently provide two menu items to close a file:
 1) File-Close Window, it connects to CanvasView::close_view()
 2) File-Close Document, it connects to CanvasView::close_instance()


 If I remembered correctly, I asked befre and Calors answered, it is a
 (unsupported now) feature came from Gnome, So I am planing to remove
 the first one, including the menu item and the action defination, but
 the function, CanvasView::close_view() will be still there.



 bool
 CanvasView::close_view()
 {
 if(get_instance()-get_visible_canvases()==1)
 close_instance();
 else
 hide();
 return false;
 }

 bool
 CanvasView::close_instance()
 {
 #ifdef SINGLE_THREADED
 if (get_work_area()-get_updating())
 {
 get_work_area()-stop_updating(true); // stop and mark as
 cancelled

 // give the workarea chances to stop updating
 Glib::signal_timeout().connect(
 sigc::mem_fun(*this, CanvasView::close_instance),
 250);
 }
 else
 #endif
 Glib::signal_timeout().connect(
 sigc::bind(sigc::ptr_fun(_close_instance),

  (etl::handleInstance)get_instance()),
 250);
 return false;
 }


 --
 ~ yu


 --
 CenturyLink Cloud: The Leader in Enterprise Cloud Services.
 Learn Why More Businesses Are Choosing CenturyLink Cloud For
 Critical Workloads, Development Environments  Everything In Between.
 Get a Quote or Start a Free Trial Today.

 http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk
 ___
 Synfig-devl mailing list
 Synfig-devl@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/synfig-devl




-- 
Carlos
http://synfig.org
--
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments  Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl