summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2008-02-26 08:48:53 +0000
committerjoncruz <joncruz@users.sourceforge.net>2008-02-26 08:48:53 +0000
commit1a7f5be9612a33f6c56e28c2afc2b8f423b3bfcb (patch)
tree4342a124e2fae65a09cbcf2037e60e3c3b8c4fb0 /src
parentInitial cut of switching tools to match tablet input device. (diff)
downloadinkscape-1a7f5be9612a33f6c56e28c2afc2b8f423b3bfcb.tar.gz
inkscape-1a7f5be9612a33f6c56e28c2afc2b8f423b3bfcb.zip
Added preference UI item to toggle tablet tool switching
(bzr r4858)
Diffstat (limited to 'src')
-rw-r--r--src/desktop-events.cpp8
-rw-r--r--src/preferences-skeleton.h1
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp9
-rw-r--r--src/ui/dialog/inkscape-preferences.h15
4 files changed, 20 insertions, 13 deletions
diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp
index 1144f0844..a1f4363ea 100644
--- a/src/desktop-events.cpp
+++ b/src/desktop-events.cpp
@@ -49,8 +49,10 @@ int sp_desktop_root_handler(SPCanvasItem */*item*/, GdkEvent *event, SPDesktop *
{
static bool watch = false;
static bool first = true;
+
if ( first ) {
- if ( prefs_get_int_attribute("options.useextinput", "value", 1) ) {
+ if ( prefs_get_int_attribute("options.useextinput", "value", 1)
+ && prefs_get_int_attribute("options.switchonextinput", "value", 0) ) {
watch = true;
init_extended();
}
@@ -408,8 +410,8 @@ void snoop_extended(GdkEvent* event, SPDesktop *desktop)
} else {
g_warning(" NO VERB FOUND");
}
- } else {
- g_warning(" NO ID FOUND");
+// } else {
+// g_warning(" NO ID FOUND");
}
}
}
diff --git a/src/preferences-skeleton.h b/src/preferences-skeleton.h
index b974ce6d2..8997ae349 100644
--- a/src/preferences-skeleton.h
+++ b/src/preferences-skeleton.h
@@ -177,6 +177,7 @@ static char const preferences_skeleton[] =
"\n"
" <group id=\"options\">\n"
" <group id=\"mapalt\" value=\"1\" />"
+" <group id=\"switchonextinput\" value=\"0\" />"
" <group id=\"useextinput\" value=\"1\" />"
" <group id=\"nudgedistance\" value=\"2\"/>\n"
" <group id=\"rotationsnapsperpi\" value=\"12\"/>\n"
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 1dc693903..880fb89b7 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -79,9 +79,9 @@ InkscapePreferences::InkscapePreferences()
_page_list_model = Gtk::TreeStore::create(_page_list_columns);
_page_list.set_model(_page_list_model);
_page_list.append_column("name",_page_list_columns._col_name);
- Glib::RefPtr<Gtk::TreeSelection> page_list_selection = _page_list.get_selection();
- page_list_selection->signal_changed().connect(sigc::mem_fun(*this, &InkscapePreferences::on_pagelist_selection_changed));
- page_list_selection->set_mode(Gtk::SELECTION_BROWSE);
+ Glib::RefPtr<Gtk::TreeSelection> page_list_selection = _page_list.get_selection();
+ page_list_selection->signal_changed().connect(sigc::mem_fun(*this, &InkscapePreferences::on_pagelist_selection_changed));
+ page_list_selection->set_mode(Gtk::SELECTION_BROWSE);
//Pages
Gtk::VBox* vbox_page = Gtk::manage(new Gtk::VBox());
@@ -155,6 +155,9 @@ void InkscapePreferences::initPageMouse()
_page_mouse.add_line(true, "",_mouse_use_ext_input, "",
_("Use the capabilities of a tablet or other pressure-sensitive device. Disable this only if you have problems with the tablet (you can still use it as a mouse)"));
+ _mouse_switch_on_ext_input.init( _("Switch tool based on tablet device (requires restart)"), "options.switchonextinput", "value", false);
+ _page_mouse.add_line(true, "",_mouse_switch_on_ext_input, "",
+ _("Change tool as different devices are used on the tablet (pen, eraser, mouse)"));
}
void InkscapePreferences::initPageScrolling()
diff --git a/src/ui/dialog/inkscape-preferences.h b/src/ui/dialog/inkscape-preferences.h
index f0032bff7..c5652de11 100644
--- a/src/ui/dialog/inkscape-preferences.h
+++ b/src/ui/dialog/inkscape-preferences.h
@@ -85,7 +85,7 @@ public:
protected:
Gtk::Frame _page_frame;
Gtk::Label _page_title;
- Gtk::TreeView _page_list;
+ Gtk::TreeView _page_list;
Glib::RefPtr<Gtk::TreeStore> _page_list_model;
//Pagelist model columns:
@@ -104,7 +104,7 @@ protected:
Gtk::TreeModel::Path _path_shapes;
DialogPage _page_mouse, _page_scrolling, _page_steps, _page_tools, _page_windows,
- _page_clones, _page_mask, _page_transforms, _page_filters, _page_select,
+ _page_clones, _page_mask, _page_transforms, _page_filters, _page_select,
_page_importexport, _page_cms, _page_grids, _page_misc;
DialogPage _page_selector, _page_node, _page_tweak, _page_zoom, _page_shapes, _page_pencil, _page_pen,
_page_calligraphy, _page_text, _page_gradient, _page_connector, _page_dropper;
@@ -112,6 +112,7 @@ protected:
PrefSpinButton _mouse_sens, _mouse_thres;
PrefCheckButton _mouse_use_ext_input;
+ PrefCheckButton _mouse_switch_on_ext_input;
PrefSpinButton _scroll_wheel, _scroll_arrow_px, _scroll_arrow_acc, _scroll_auto_speed, _scroll_auto_thres;
PrefCheckButton _scroll_space;
@@ -133,15 +134,15 @@ protected:
PrefCheckButton _win_hide_task, _win_zoom_resize , _win_show_close;
// FIXME: Temporary Win32 special code to enable transient dialogs
-#ifdef WIN32
- PrefCheckButton _win_ontop_win32;
-#endif
+#ifdef WIN32
+ PrefCheckButton _win_ontop_win32;
+#endif
PrefCheckButton _calligrapy_use_abs_size;
PrefCheckButton _calligrapy_keep_selected;
PrefCheckButton _connector_ignore_text;
-
+
PrefRadioButton _clone_option_parallel, _clone_option_stay, _clone_option_transform,
_clone_option_unlink, _clone_option_delete;
@@ -252,7 +253,7 @@ private:
#endif //INKSCAPE_UI_DIALOG_INKSCAPE_PREFERENCES_H
-/*
+/*
Local Variables:
mode:c++
c-file-style:"stroustrup"