summaryrefslogtreecommitdiffstats
path: root/src/verbs.cpp
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2008-09-25 04:27:18 +0000
committerTed Gould <ted@canonical.com>2008-09-25 04:27:18 +0000
commitc1b561191ad1d561c352681cb94dc192a1ab0d6a (patch)
treeed6bc0f3b629a25febd2c6d7e59fe458e88686d9 /src/verbs.cpp
parent[i18n] Added use of plural forms. (diff)
downloadinkscape-c1b561191ad1d561c352681cb94dc192a1ab0d6a.tar.gz
inkscape-c1b561191ad1d561c352681cb94dc192a1ab0d6a.zip
Sorry, I got off on a branch and ended up with a bunch of things. I'm just going to flatten and merge... Here's the list.
* Added a focus mode activated by Shift+F11. The goal of this mode is to remove all toolbars for a short period so that you maximize screen area. Useful on small screens. Also when you know lots of shortcuts. * Created what I'm calling "Quick Zoom." The idea here is to have a modal zoom for touching up something with fine detail and then returning to what you're doing. This is activated with the letter "Q" on the keyboard. When you release it, you return back to where you were. This will zoom in on selected objects, or if you're in the node tool selected nodes. * Added .svg on the temporary files in extensions. This'll make many of them happier. This only works on recent versions of GLib, but shouldn't break older ones more than they already are. * Moved the Inkscape configuration directory on Linux from ~/.inkscape to ~/.config/Inkscape. This is the new way to do things with the cross desktop naming spec. I'm unsure whether we should be putting crash dumps in .config or .cache though. * Removed 'tools_switch_current' because every usage of it already had a pointer to where it needed to go. Removes usage of globals. * Made it so that dialogs will be transparent when not focused. This is an alternate to having the docked, and one that I like better as I feel it gives me more screen area. You can adjust how much transparency and the speed of the animation in the preferences dialog. (Note: this requires GTK+ 2.12 and a compositor, but gracefully degrades if you don't have either) (bzr r6882)
Diffstat (limited to 'src/verbs.cpp')
-rw-r--r--src/verbs.cpp48
1 files changed, 26 insertions, 22 deletions
diff --git a/src/verbs.cpp b/src/verbs.cpp
index 71ec33b3f..c1e7e5fc9 100644
--- a/src/verbs.cpp
+++ b/src/verbs.cpp
@@ -1070,13 +1070,12 @@ SelectionVerb::perform(SPAction *action, void *data, void */*pdata*/)
break;
case SP_VERB_SELECTION_DYNAMIC_OFFSET:
sp_selected_path_create_offset_object_zero(dt);
- tools_switch_current(TOOLS_NODES);
+ tools_switch(dt, TOOLS_NODES);
break;
case SP_VERB_SELECTION_LINKED_OFFSET:
sp_selected_path_create_updating_offset_object_zero(dt);
- tools_switch_current(TOOLS_NODES);
+ tools_switch(dt, TOOLS_NODES);
break;
-
case SP_VERB_SELECTION_OUTLINE:
sp_selected_path_outline(dt);
break;
@@ -1434,61 +1433,61 @@ ContextVerb::perform(SPAction *action, void *data, void */*pdata*/)
switch (verb) {
case SP_VERB_CONTEXT_SELECT:
- tools_switch_current(TOOLS_SELECT);
+ tools_switch(dt, TOOLS_SELECT);
break;
case SP_VERB_CONTEXT_NODE:
- tools_switch_current(TOOLS_NODES);
+ tools_switch(dt, TOOLS_NODES);
break;
case SP_VERB_CONTEXT_TWEAK:
- tools_switch_current(TOOLS_TWEAK);
+ tools_switch(dt, TOOLS_TWEAK);
break;
case SP_VERB_CONTEXT_RECT:
- tools_switch_current(TOOLS_SHAPES_RECT);
+ tools_switch(dt, TOOLS_SHAPES_RECT);
break;
case SP_VERB_CONTEXT_3DBOX:
- tools_switch_current(TOOLS_SHAPES_3DBOX);
+ tools_switch(dt, TOOLS_SHAPES_3DBOX);
break;
case SP_VERB_CONTEXT_ARC:
- tools_switch_current(TOOLS_SHAPES_ARC);
+ tools_switch(dt, TOOLS_SHAPES_ARC);
break;
case SP_VERB_CONTEXT_STAR:
- tools_switch_current(TOOLS_SHAPES_STAR);
+ tools_switch(dt, TOOLS_SHAPES_STAR);
break;
case SP_VERB_CONTEXT_SPIRAL:
- tools_switch_current(TOOLS_SHAPES_SPIRAL);
+ tools_switch(dt, TOOLS_SHAPES_SPIRAL);
break;
case SP_VERB_CONTEXT_PENCIL:
- tools_switch_current(TOOLS_FREEHAND_PENCIL);
+ tools_switch(dt, TOOLS_FREEHAND_PENCIL);
break;
case SP_VERB_CONTEXT_PEN:
- tools_switch_current(TOOLS_FREEHAND_PEN);
+ tools_switch(dt, TOOLS_FREEHAND_PEN);
break;
case SP_VERB_CONTEXT_CALLIGRAPHIC:
- tools_switch_current(TOOLS_CALLIGRAPHIC);
+ tools_switch(dt, TOOLS_CALLIGRAPHIC);
break;
case SP_VERB_CONTEXT_TEXT:
- tools_switch_current(TOOLS_TEXT);
+ tools_switch(dt, TOOLS_TEXT);
break;
case SP_VERB_CONTEXT_GRADIENT:
- tools_switch_current(TOOLS_GRADIENT);
+ tools_switch(dt, TOOLS_GRADIENT);
break;
case SP_VERB_CONTEXT_ZOOM:
- tools_switch_current(TOOLS_ZOOM);
+ tools_switch(dt, TOOLS_ZOOM);
break;
case SP_VERB_CONTEXT_DROPPER:
- tools_switch_current(TOOLS_DROPPER);
+ tools_switch(dt, TOOLS_DROPPER);
break;
case SP_VERB_CONTEXT_CONNECTOR:
- tools_switch_current (TOOLS_CONNECTOR);
+ tools_switch(dt, TOOLS_CONNECTOR);
break;
case SP_VERB_CONTEXT_PAINTBUCKET:
- tools_switch_current(TOOLS_PAINTBUCKET);
+ tools_switch(dt, TOOLS_PAINTBUCKET);
break;
case SP_VERB_CONTEXT_ERASER:
- tools_switch_current(TOOLS_ERASER);
+ tools_switch(dt, TOOLS_ERASER);
break;
case SP_VERB_CONTEXT_LPETOOL:
- tools_switch_current(TOOLS_LPETOOL);
+ tools_switch(dt, TOOLS_LPETOOL);
break;
case SP_VERB_CONTEXT_SELECT_PREFS:
@@ -1702,6 +1701,9 @@ ZoomVerb::perform(SPAction *action, void *data, void */*pdata*/)
dt->fullscreen();
break;
#endif /* HAVE_GTK_WINDOW_FULLSCREEN */
+ case SP_VERB_FOCUSTOGGLE:
+ dt->focusMode(!dt->is_focusMode());
+ break;
case SP_VERB_VIEW_NEW:
sp_ui_new_view();
break;
@@ -2572,6 +2574,8 @@ Verb *Verb::_base_verbs[] = {
new ZoomVerb(SP_VERB_FULLSCREEN, "FullScreen", N_("_Fullscreen"), N_("Stretch this document window to full screen"),
"view-fullscreen"),
#endif /* HAVE_GTK_WINDOW_FULLSCREEN */
+ new ZoomVerb(SP_VERB_FOCUSTOGGLE, "FocusToggle", N_("Toggle _Focus Mode"), N_("Remove excess toolbars to focus on drawing"),
+ NULL),
new ZoomVerb(SP_VERB_VIEW_NEW, "ViewNew", N_("Duplic_ate Window"), N_("Open a new window with the same document"),
"window-new"),
new ZoomVerb(SP_VERB_VIEW_NEW_PREVIEW, "ViewNewPreview", N_("_New View Preview"),