View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003056 | ardour | features | public | 2010-04-02 20:36 | 2020-04-19 20:14 |
| Reporter | lucus | Assigned To | paul | ||
| Priority | normal | Severity | feature | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | SVN/2.0-ongoing | ||||
| Summary | 0003056: column ordering in mixer Strips & Group panes can be improved | ||||
| Description | The Strips and Group panes show fixed size columns (e.g. Show) at the right. It would be preferable to set them on the left where they would almost always accessible. Also it will follow the same order seen in the Editor window, Tracks/Busses tab. | ||||
| Tags | No tags attached. | ||||
|
2010-04-03 02:38
|
|
|
2010-04-03 02:45
|
|
|
|
The image shows the new ordering of the columns in the Strips and Group pane. I couldn't delete the first image so I uploaded a new one which is clearer. |
|
2010-04-03 02:57
|
columns-change.patch (8,206 bytes)
diff -u -r old/mixer_ui.cc new/mixer_ui.cc
--- old/mixer_ui.cc 2010-04-02 22:55:07.000000000 -0400
+++ new/mixer_ui.cc 2010-04-02 22:54:55.000000000 -0400
@@ -85,12 +85,18 @@
track_model = ListStore::create (track_columns);
track_display.set_model (track_model);
- track_display.append_column (_("Strips"), track_columns.text);
- track_display.append_column (_("Show"), track_columns.visible);
- track_display.get_column (0)->set_data (X_("colnum"), GUINT_TO_POINTER(0));
- track_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
- track_display.get_column (0)->set_expand(true);
- track_display.get_column (1)->set_expand(false);
+ /* LT change column order based on value of TRACK_DISPLAY_... enum. */
+ if (TRACK_DISPLAY_SHOW_COLUMN < TRACK_DISPLAY_STRIPS_COLUMN) {
+ track_display.append_column (_("Show"), track_columns.visible);
+ track_display.append_column (_("Strips"), track_columns.text);
+ } else {
+ track_display.append_column (_("Strips"), track_columns.text);
+ track_display.append_column (_("Show"), track_columns.visible);
+ }
+ track_display.get_column (TRACK_DISPLAY_STRIPS_COLUMN)->set_data (X_("colnum"), GUINT_TO_POINTER(TRACK_DISPLAY_STRIPS_COLUMN));
+ track_display.get_column (TRACK_DISPLAY_SHOW_COLUMN)->set_data (X_("colnum"), GUINT_TO_POINTER(TRACK_DISPLAY_SHOW_COLUMN));
+ track_display.get_column (TRACK_DISPLAY_STRIPS_COLUMN)->set_expand(true);
+ track_display.get_column (TRACK_DISPLAY_SHOW_COLUMN)->set_expand(false);
track_display.set_name (X_("MixerTrackDisplayList"));
track_display.get_selection()->set_mode (Gtk::SELECTION_NONE);
track_display.set_reorderable (true);
@@ -100,7 +106,7 @@
track_model->signal_row_changed().connect (mem_fun (*this, &Mixer_UI::track_list_change));
track_model->signal_rows_reordered().connect (mem_fun (*this, &Mixer_UI::track_list_reorder));
- CellRendererToggle* track_list_visible_cell = dynamic_cast<CellRendererToggle*>(track_display.get_column_cell_renderer (1));
+ CellRendererToggle* track_list_visible_cell = dynamic_cast<CellRendererToggle*>(track_display.get_column_cell_renderer (TRACK_DISPLAY_SHOW_COLUMN));
track_list_visible_cell->property_activatable() = true;
track_list_visible_cell->property_radio() = false;
@@ -111,15 +117,23 @@
group_model = ListStore::create (group_columns);
group_display.set_model (group_model);
- group_display.append_column (_("Group"), group_columns.text);
- group_display.append_column (_("Active"), group_columns.active);
- group_display.append_column (_("Show"), group_columns.visible);
- group_display.get_column (0)->set_data (X_("colnum"), GUINT_TO_POINTER(0));
- group_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
- group_display.get_column (2)->set_data (X_("colnum"), GUINT_TO_POINTER(2));
- group_display.get_column (0)->set_expand(true);
- group_display.get_column (1)->set_expand(false);
- group_display.get_column (2)->set_expand(false);
+ /* LT change column order based on value of GROUP_DISPLAY_... enum. */
+ /* LT Code only two possibilities : Group, Active, Show or Show, Active, Group. */
+ if (GROUP_DISPLAY_SHOW_COLUMN < GROUP_DISPLAY_ACTIVE_COLUMN) {
+ group_display.append_column (_("Show"), group_columns.visible);
+ group_display.append_column (_("Active"), group_columns.active);
+ group_display.append_column (_("Group"), group_columns.text);
+ } else {
+ group_display.append_column (_("Group"), group_columns.text);
+ group_display.append_column (_("Active"), group_columns.active);
+ group_display.append_column (_("Show"), group_columns.visible);
+ }
+ group_display.get_column (GROUP_DISPLAY_GROUP_COLUMN)->set_data (X_("colnum"), GUINT_TO_POINTER(GROUP_DISPLAY_GROUP_COLUMN));
+ group_display.get_column (GROUP_DISPLAY_ACTIVE_COLUMN)->set_data (X_("colnum"), GUINT_TO_POINTER(GROUP_DISPLAY_ACTIVE_COLUMN));
+ group_display.get_column (GROUP_DISPLAY_SHOW_COLUMN)->set_data (X_("colnum"), GUINT_TO_POINTER(GROUP_DISPLAY_SHOW_COLUMN));
+ group_display.get_column (GROUP_DISPLAY_GROUP_COLUMN)->set_expand(true);
+ group_display.get_column (GROUP_DISPLAY_ACTIVE_COLUMN)->set_expand(false);
+ group_display.get_column (GROUP_DISPLAY_SHOW_COLUMN)->set_expand(false);
group_display.set_name ("MixerGroupList");
group_display.get_selection()->set_mode (Gtk::SELECTION_SINGLE);
group_display.set_reorderable (true);
@@ -128,19 +142,19 @@
/* name is directly editable */
- CellRendererText* name_cell = dynamic_cast<CellRendererText*>(group_display.get_column_cell_renderer (0));
+ CellRendererText* name_cell = dynamic_cast<CellRendererText*>(group_display.get_column_cell_renderer (GROUP_DISPLAY_GROUP_COLUMN));
name_cell->property_editable() = true;
name_cell->signal_edited().connect (mem_fun (*this, &Mixer_UI::mix_group_name_edit));
/* use checkbox for the active column */
- CellRendererToggle* active_cell = dynamic_cast<CellRendererToggle*>(group_display.get_column_cell_renderer (1));
+ CellRendererToggle* active_cell = dynamic_cast<CellRendererToggle*>(group_display.get_column_cell_renderer (GROUP_DISPLAY_ACTIVE_COLUMN));
active_cell->property_activatable() = true;
active_cell->property_radio() = false;
/* use checkbox for the visible column */
- active_cell = dynamic_cast<CellRendererToggle*>(group_display.get_column_cell_renderer (2));
+ active_cell = dynamic_cast<CellRendererToggle*>(group_display.get_column_cell_renderer (GROUP_DISPLAY_SHOW_COLUMN));
active_cell->property_activatable() = true;
active_cell->property_radio() = false;
@@ -214,7 +228,7 @@
title += _("Mixer");
set_title (title.get_string());
- set_wmclass (X_("ardour_mixer"), "Ardour");
+ set_wmclass (X_("ardour_mixer"), PROGRAM_NAME);
add_accel_group (ActionManager::ui_manager->get_accel_group());
@@ -923,11 +937,11 @@
}
switch (GPOINTER_TO_UINT (column->get_data (X_("colnum")))) {
- case 0:
+ case TRACK_DISPLAY_STRIPS_COLUMN:
/* allow normal processing to occur */
return false;
- case 1: /* visibility */
+ case TRACK_DISPLAY_SHOW_COLUMN: /* visibility */
if ((iter = track_model->get_iter (path))) {
MixerStrip* strip = (*iter)[track_columns.strip];
@@ -1034,7 +1048,7 @@
}
switch (GPOINTER_TO_UINT (column->get_data (X_("colnum")))) {
- case 0:
+ case GROUP_DISPLAY_GROUP_COLUMN:
if (Keyboard::is_edit_event (ev)) {
if ((iter = group_model->get_iter (path))) {
if ((group = (*iter)[group_columns.group]) != 0) {
@@ -1049,7 +1063,7 @@
}
break;
- case 1:
+ case GROUP_DISPLAY_ACTIVE_COLUMN:
if ((iter = group_model->get_iter (path))) {
bool active = (*iter)[group_columns.active];
(*iter)[group_columns.active] = !active;
@@ -1060,7 +1074,7 @@
}
break;
- case 2:
+ case GROUP_DISPLAY_SHOW_COLUMN:
if ((iter = group_model->get_iter (path))) {
bool visible = (*iter)[group_columns.visible];
(*iter)[group_columns.visible] = !visible;
@@ -1286,8 +1300,8 @@
group->FlagsChanged.connect (bind (mem_fun(*this, &Mixer_UI::group_flags_changed), group));
if (focus) {
- TreeViewColumn* col = group_display.get_column (0);
- CellRendererText* name_cell = dynamic_cast<CellRendererText*>(group_display.get_column_cell_renderer (0));
+ TreeViewColumn* col = group_display.get_column (GROUP_DISPLAY_GROUP_COLUMN);
+ CellRendererText* name_cell = dynamic_cast<CellRendererText*>(group_display.get_column_cell_renderer (GROUP_DISPLAY_GROUP_COLUMN));
group_display.set_cursor (group_model->get_path (row), *col, *name_cell, true);
}
diff -u -r old/mixer_ui.h new/mixer_ui.h
--- old/mixer_ui.h 2010-04-02 22:55:10.000000000 -0400
+++ new/mixer_ui.h 2010-04-02 22:54:58.000000000 -0400
@@ -163,6 +163,15 @@
void track_list_delete (const Gtk::TreeModel::Path&);
void track_list_reorder (const Gtk::TreeModel::Path& path, const Gtk::TreeModel::iterator& iter, int* new_order);
+ /* Column order in track_display frame */
+ enum {TRACK_DISPLAY_STRIPS_COLUMN = 1,
+ TRACK_DISPLAY_SHOW_COLUMN = 0};
+
+ /* Column order in group_display frame */
+ enum {GROUP_DISPLAY_GROUP_COLUMN = 2,
+ GROUP_DISPLAY_ACTIVE_COLUMN = 1,
+ GROUP_DISPLAY_SHOW_COLUMN = 0};
+
void initial_track_display ();
void show_track_list_menu ();
|
|
|
Patch includes changes to mixer_ui.* files. |
|
|
committed to svn. thanks. |
|
|
Issue has been closed automatically, by Trigger Close Plugin. Feel free to re-open with additional information if you think the issue is not resolved. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2010-04-02 20:36 | lucus | New Issue | |
| 2010-04-03 02:38 | lucus | File Added: ardour2-fixed-columns-20100402.png | |
| 2010-04-03 02:45 | lucus | File Added: ardour2-fixed-columns-20100402-b.png | |
| 2010-04-03 02:46 | lucus | Note Added: 0007433 | |
| 2010-04-03 02:47 | lucus | Note Edited: 0007433 | |
| 2010-04-03 02:57 | lucus | File Added: columns-change.patch | |
| 2010-04-03 02:58 | lucus | Note Added: 0007434 | |
| 2010-04-08 14:22 | paul | cost | => 0.00 |
| 2010-04-08 14:22 | paul | Note Added: 0007454 | |
| 2010-04-08 14:22 | paul | Status | new => resolved |
| 2010-04-08 14:22 | paul | Resolution | open => fixed |
| 2010-04-08 14:22 | paul | Assigned To | => paul |
| 2020-04-19 20:14 | system | Note Added: 0022038 | |
| 2020-04-19 20:14 | system | Status | resolved => closed |