mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 16:24:57 +01:00
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.
This commit is contained in:
parent
fe318c0cd5
commit
b81fdeaa66
4 changed files with 17 additions and 6 deletions
|
|
@ -187,8 +187,10 @@ EditorRegions::EditorRegions (Editor* e)
|
||||||
_display.set_headers_visible (true);
|
_display.set_headers_visible (true);
|
||||||
_display.set_rules_hint ();
|
_display.set_rules_hint ();
|
||||||
|
|
||||||
/* show path as the row tooltip */
|
if (UIConfiguration::instance().get_use_tooltips()) {
|
||||||
_display.set_tooltip_column (14); /* path */
|
/* 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));
|
CellRendererText* region_name_cell = dynamic_cast<CellRendererText*>(_display.get_column_cell_renderer (0));
|
||||||
region_name_cell->property_editable() = true;
|
region_name_cell->property_editable() = true;
|
||||||
|
|
|
||||||
|
|
@ -231,7 +231,6 @@ Mixer_UI::Mixer_UI ()
|
||||||
favorite_plugins_display.set_headers_visible (true);
|
favorite_plugins_display.set_headers_visible (true);
|
||||||
favorite_plugins_display.set_rules_hint (true);
|
favorite_plugins_display.set_rules_hint (true);
|
||||||
favorite_plugins_display.set_can_focus (false);
|
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.add_object_drag (favorite_plugins_columns.plugin.index(), "PluginFavoritePtr");
|
||||||
favorite_plugins_display.set_drag_column (favorite_plugins_columns.name.index());
|
favorite_plugins_display.set_drag_column (favorite_plugins_columns.name.index());
|
||||||
favorite_plugins_display.add_drop_targets (target_list);
|
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_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_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));
|
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_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);
|
favorite_plugins_scroller.add (favorite_plugins_display);
|
||||||
|
|
|
||||||
|
|
@ -722,11 +722,13 @@ SessionDialog::setup_new_session_page ()
|
||||||
#ifdef MIXBUS
|
#ifdef MIXBUS
|
||||||
template_chooser.append_column (_("Modified With"), session_template_columns.modified_with_short);
|
template_chooser.append_column (_("Modified With"), session_template_columns.modified_with_short);
|
||||||
#endif
|
#endif
|
||||||
template_chooser.set_tooltip_column(4); // modified_with_long
|
|
||||||
template_chooser.set_headers_visible (true);
|
template_chooser.set_headers_visible (true);
|
||||||
template_chooser.get_selection()->set_mode (SELECTION_SINGLE);
|
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.get_selection()->signal_changed().connect (sigc::mem_fun (*this, &SessionDialog::template_row_selected));
|
||||||
template_chooser.set_sensitive (true);
|
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 (*template_hbox, true, true);
|
||||||
session_new_vbox.pack_start (*folder_box, false, 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");
|
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);
|
recent_session_display.set_model (recent_session_model);
|
||||||
|
|
||||||
// custom sort
|
// custom sort
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@
|
||||||
|
|
||||||
#include "gui_thread.h"
|
#include "gui_thread.h"
|
||||||
#include "session_import_dialog.h"
|
#include "session_import_dialog.h"
|
||||||
|
#include "ui_config.h"
|
||||||
|
|
||||||
#include "pbd/i18n.h"
|
#include "pbd/i18n.h"
|
||||||
|
|
||||||
|
|
@ -76,10 +77,12 @@ SessionImportDialog::SessionImportDialog (ARDOUR::Session* target) :
|
||||||
session_browser.set_name ("SessionBrowser");
|
session_browser.set_name ("SessionBrowser");
|
||||||
session_browser.append_column (_("Elements"), sb_cols.name);
|
session_browser.append_column (_("Elements"), sb_cols.name);
|
||||||
session_browser.append_column_editable (_("Import"), sb_cols.queued);
|
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(0)->set_min_width (180);
|
||||||
session_browser.get_column(1)->set_min_width (40);
|
session_browser.get_column(1)->set_min_width (40);
|
||||||
session_browser.get_column(1)->set_sizing (TREE_VIEW_COLUMN_AUTOSIZE);
|
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.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC);
|
||||||
session_scroll.add (session_browser);
|
session_scroll.add (session_browser);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue