summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-11-01 23:20:50 +0100
committerRobin Gareus <robin@gareus.org>2018-11-01 23:21:23 +0100
commitb81fdeaa66b140062b2015b63d558a91685bddb5 (patch)
tree1a9aa06ac9195ea8af4dac63ddda2353cea301aa
parentfe318c0cd5c9116b512fe90241f3ba0c52841581 (diff)
Work around tooltips in treeviews selection issue #7678
When tooltips are disabled, but a tooltip column is set for a treeview, the treeview selection behaves inconsistently. It requires a 3rd click after expanding any child-rows to select a child.
-rw-r--r--gtk2_ardour/editor_regions.cc6
-rw-r--r--gtk2_ardour/mixer_ui.cc4
-rw-r--r--gtk2_ardour/session_dialog.cc8
-rw-r--r--gtk2_ardour/session_import_dialog.cc5
4 files changed, 17 insertions, 6 deletions
diff --git a/gtk2_ardour/editor_regions.cc b/gtk2_ardour/editor_regions.cc
index b7c86ce8b0..6526d4dec5 100644
--- a/gtk2_ardour/editor_regions.cc
+++ b/gtk2_ardour/editor_regions.cc
@@ -187,8 +187,10 @@ EditorRegions::EditorRegions (Editor* e)
_display.set_headers_visible (true);
_display.set_rules_hint ();
- /* show path as the row tooltip */
- _display.set_tooltip_column (14); /* path */
+ if (UIConfiguration::instance().get_use_tooltips()) {
+ /* show path as the row tooltip */
+ _display.set_tooltip_column (14); /* path */
+ }
CellRendererText* region_name_cell = dynamic_cast<CellRendererText*>(_display.get_column_cell_renderer (0));
region_name_cell->property_editable() = true;
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index c9cff7a7cd..69742737bb 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -231,7 +231,6 @@ Mixer_UI::Mixer_UI ()
favorite_plugins_display.set_headers_visible (true);
favorite_plugins_display.set_rules_hint (true);
favorite_plugins_display.set_can_focus (false);
- favorite_plugins_display.set_tooltip_column (0);
favorite_plugins_display.add_object_drag (favorite_plugins_columns.plugin.index(), "PluginFavoritePtr");
favorite_plugins_display.set_drag_column (favorite_plugins_columns.name.index());
favorite_plugins_display.add_drop_targets (target_list);
@@ -240,6 +239,9 @@ Mixer_UI::Mixer_UI ()
favorite_plugins_display.signal_drop.connect (sigc::mem_fun (*this, &Mixer_UI::plugin_drop));
favorite_plugins_display.signal_row_expanded().connect (sigc::mem_fun (*this, &Mixer_UI::save_favorite_ui_state));
favorite_plugins_display.signal_row_collapsed().connect (sigc::mem_fun (*this, &Mixer_UI::save_favorite_ui_state));
+ if (UIConfiguration::instance().get_use_tooltips()) {
+ favorite_plugins_display.set_tooltip_column (0);
+ }
favorite_plugins_model->signal_row_has_child_toggled().connect (sigc::mem_fun (*this, &Mixer_UI::sync_treeview_favorite_ui_state));
favorite_plugins_scroller.add (favorite_plugins_display);
diff --git a/gtk2_ardour/session_dialog.cc b/gtk2_ardour/session_dialog.cc
index 27fae5b9a9..489e52fac6 100644
--- a/gtk2_ardour/session_dialog.cc
+++ b/gtk2_ardour/session_dialog.cc
@@ -722,11 +722,13 @@ SessionDialog::setup_new_session_page ()
#ifdef MIXBUS
template_chooser.append_column (_("Modified With"), session_template_columns.modified_with_short);
#endif
- template_chooser.set_tooltip_column(4); // modified_with_long
template_chooser.set_headers_visible (true);
template_chooser.get_selection()->set_mode (SELECTION_SINGLE);
template_chooser.get_selection()->signal_changed().connect (sigc::mem_fun (*this, &SessionDialog::template_row_selected));
template_chooser.set_sensitive (true);
+ if (UIConfiguration::instance().get_use_tooltips()) {
+ template_chooser.set_tooltip_column(4); // modified_with_long
+ }
session_new_vbox.pack_start (*template_hbox, true, true);
session_new_vbox.pack_start (*folder_box, false, true);
@@ -952,7 +954,9 @@ SessionDialog::redisplay_recent_sessions ()
row[recent_session_columns.time_formatted] = gdt.format ("%F %H:%M");
}
- recent_session_display.set_tooltip_column(1); // recent_session_columns.tip
+ if (UIConfiguration::instance().get_use_tooltips()) {
+ recent_session_display.set_tooltip_column(1); // recent_session_columns.tip
+ }
recent_session_display.set_model (recent_session_model);
// custom sort
diff --git a/gtk2_ardour/session_import_dialog.cc b/gtk2_ardour/session_import_dialog.cc
index 775b736076..8c95a33207 100644
--- a/gtk2_ardour/session_import_dialog.cc
+++ b/gtk2_ardour/session_import_dialog.cc
@@ -35,6 +35,7 @@
#include "gui_thread.h"
#include "session_import_dialog.h"
+#include "ui_config.h"
#include "pbd/i18n.h"
@@ -76,10 +77,12 @@ SessionImportDialog::SessionImportDialog (ARDOUR::Session* target) :
session_browser.set_name ("SessionBrowser");
session_browser.append_column (_("Elements"), sb_cols.name);
session_browser.append_column_editable (_("Import"), sb_cols.queued);
- session_browser.set_tooltip_column (3);
session_browser.get_column(0)->set_min_width (180);
session_browser.get_column(1)->set_min_width (40);
session_browser.get_column(1)->set_sizing (TREE_VIEW_COLUMN_AUTOSIZE);
+ if (UIConfiguration::instance().get_use_tooltips()) {
+ session_browser.set_tooltip_column (3);
+ }
session_scroll.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC);
session_scroll.add (session_browser);