From 3ebd2aa570774edb6c0b126d2f561573d42f43a1 Mon Sep 17 00:00:00 2001 From: joncruz Date: Tue, 26 Feb 2008 08:48:53 +0000 Subject: [PATCH] Added preference UI item to toggle tablet tool switching --- src/desktop-events.cpp | 8 +++++--- src/preferences-skeleton.h | 1 + src/ui/dialog/inkscape-preferences.cpp | 9 ++++++--- src/ui/dialog/inkscape-preferences.h | 15 ++++++++------- 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" " \n" " " +" " " " " \n" " \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 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 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 _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" -- 2.39.5