After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 151469 - Make it easier to edit track names & artists
Make it easier to edit track names & artists
Status: RESOLVED FIXED
Product: sound-juicer
Classification: Applications
Component: interface
unspecified
Other other
: Normal enhancement
: ---
Assigned To: Sound Juicer Maintainers
Sound Juicer Maintainers
: 333000 333814 366333 638823 735711 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-08-26 23:25 UTC by Tim Wright
Modified: 2014-09-04 10:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
support for F2 to iniate renaming in tracklist (1.35 KB, patch)
2009-05-10 19:06 UTC, Pekka Vuorela
none Details | Review
Improve editing of tracks (4.62 KB, patch)
2013-07-15 10:17 UTC, Phillip Wood
none Details | Review
Fix playback with multiple track selection (1.50 KB, patch)
2013-07-15 10:18 UTC, Phillip Wood
none Details | Review
Edit extract column of multiple tracks at once (3.20 KB, patch)
2013-07-15 10:18 UTC, Phillip Wood
none Details | Review
Edit text of multiple tracks at once (8.68 KB, patch)
2013-07-15 10:18 UTC, Phillip Wood
none Details | Review
Tab moves to next column when editing (12.98 KB, patch)
2013-07-15 10:18 UTC, Phillip Wood
none Details | Review
Continue editing with [Page]Up/Down (4.50 KB, patch)
2013-07-15 10:18 UTC, Phillip Wood
none Details | Review
I've rebased these patches as some of them no longer applied. The only (4.62 KB, patch)
2014-01-08 12:23 UTC, Phillip Wood
committed Details | Review
Fix playback with multiple track selection (1.50 KB, patch)
2014-01-08 12:24 UTC, Phillip Wood
committed Details | Review
Edit extract column of multiple tracks at once (3.20 KB, patch)
2014-01-08 12:24 UTC, Phillip Wood
accepted-commit_now Details | Review
Edit text of multiple tracks at once (8.69 KB, patch)
2014-01-08 12:24 UTC, Phillip Wood
none Details | Review
Tab moves to next column when editing (10.40 KB, patch)
2014-01-08 12:24 UTC, Phillip Wood
none Details | Review
Continue editing with [Page]Up/Down (4.53 KB, patch)
2014-01-08 12:24 UTC, Phillip Wood
none Details | Review
Edit extract column of multiple tracks at once (5.32 KB, patch)
2014-07-25 08:49 UTC, Phillip Wood
committed Details | Review
Edit text of multiple tracks at once (8.93 KB, patch)
2014-07-25 08:50 UTC, Phillip Wood
committed Details | Review
Add SjTreeView (15.04 KB, patch)
2014-07-25 08:50 UTC, Phillip Wood
committed Details | Review
Add vertical movement to SjTreeView (3.03 KB, patch)
2014-07-25 08:50 UTC, Phillip Wood
committed Details | Review
Focus default cell before moving cursor (2.48 KB, patch)
2014-07-25 08:50 UTC, Phillip Wood
committed Details | Review
Add SjCellRendererText (11.83 KB, patch)
2014-07-25 08:51 UTC, Phillip Wood
committed Details | Review
Add movement keys to SjCellRendererText (6.71 KB, patch)
2014-07-25 08:52 UTC, Phillip Wood
committed Details | Review
Use SjTreeView and SjCellRendererText (1.72 KB, patch)
2014-07-25 08:52 UTC, Phillip Wood
committed Details | Review
Duration label should not be selectable (1.13 KB, patch)
2014-07-25 08:52 UTC, Phillip Wood
committed Details | Review
Move focus when 'Enter' is pressed (4.35 KB, patch)
2014-07-25 08:52 UTC, Phillip Wood
committed Details | Review
Add SjTreeView::play-cursor-row and SjTreeView::play-row (4.12 KB, patch)
2014-08-05 11:12 UTC, Phillip Wood
committed Details | Review
'play-row' should toggle playback when path is already playing (1.04 KB, patch)
2014-08-05 11:12 UTC, Phillip Wood
committed Details | Review
fixup! Add SjTreeView (612 bytes, patch)
2014-08-05 11:13 UTC, Phillip Wood
committed Details | Review

Description Tim Wright 2004-08-31 01:27:11 UTC
Distribution: Fedora Core release 2 (Tettnang)
Package: sound-juicer
Severity: enhancement
Version: GNOME2.6. unspecified
Gnome-Distributor: Red Hat, Inc
Synopsis: Enhacement to user interaction when naming songs
Bugzilla-Product: sound-juicer
Bugzilla-Component: interface
Bugzilla-Version: unspecified
Description:

Currently when naming songs manually (I'm either at home off-line or
there is an authenticated web proxy in the way) the user interaction is
sub-optimal.

I have to:

repeat:
 press 'enter' to select 'name mode', 
 type name, 
 press 'enter' again, 
 press 'down arrow', 
until done names.

It would be very nice if I could:

Press 'enter' to enter 'name mode'
repeat:
    type name
    press enter
until done names.

This could be implemented by moving the focus to the song title (or
artist if I'm naming a compilation album) directly below the name I just
entered.

It would also be nice if there was a visual difference between the
fields I can edit (artist, title) and those I can not (track,
duration).

Tim




------- Bug moved to this database by unknown@bugzilla.gnome.org 2004-08-30 21:27 -------


Unknown platform unknown. Setting to default platform "Other".
Unknown milestone "unknown" in product "sound-juicer".
   Setting to default milestone for this product, '---'
Setting to default status "UNCONFIRMED".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.

Comment 1 Benoît Rouits 2006-01-18 16:13:40 UTC
yes, it would eb a nice nice feature !
i'm also very annonyed by having to click.
Just pressing 'enter' should valid the song entry 
and switch to the next title entry.
Comment 2 Christian Tellefsen 2006-09-05 22:43:02 UTC
Another idea: Make it possible to move horisontally using TAB, and vertically using the. up/down arrow keys.
Comment 3 Ross Burton 2006-10-17 20:46:48 UTC
*** Bug 333000 has been marked as a duplicate of this bug. ***
Comment 4 Ross Burton 2006-10-17 20:46:54 UTC
*** Bug 333814 has been marked as a duplicate of this bug. ***
Comment 5 Ross Burton 2006-10-17 20:47:49 UTC
Other people (see dups) would like to see tab go to the next field, return to automatically jump to the next row, and so on.
Comment 6 Ross Burton 2006-10-28 15:25:18 UTC
*** Bug 366333 has been marked as a duplicate of this bug. ***
Comment 7 Pekka Vuorela 2009-05-10 19:06:37 UTC
Created attachment 134362 [details] [review]
support for F2 to iniate renaming in tracklist

Gnome HIG recommends using F2 for renaming operation. This small patch adds support for it.
Comment 8 Phillip Wood 2013-07-15 10:17:48 UTC
Created attachment 249172 [details] [review]
Improve editing of tracks

This series of patches enables the user to edit the same field for
multiple tracks at once, making it much quicker to edit common Artists
& Composers. Additionally it adds keybindings to [Shift]Tab and
[Page]Up/Down when editing to quickly accept the current changes and
start editing another field. This make it much quicker to edit track
titles as the user just presses down each time, rather than having to
confirm the change with Enter, move to the next field and then press
Space or Enter to start editing again.

The initialization code for the editable treeview columns is all the
same so it makes sense to use a helper function.
Comment 9 Phillip Wood 2013-07-15 10:18:04 UTC
Created attachment 249173 [details] [review]
Fix playback with multiple track selection

Prepare support for multiple selections. Only change seek_to_track if
there is a single track selected.
Comment 10 Phillip Wood 2013-07-15 10:18:14 UTC
Created attachment 249174 [details] [review]
Edit extract column of multiple tracks at once

Allowing the user to select multiple rows at once makes it much
quicker to edit common fields. Prepare the way by implementing this
for the extract column.
Comment 11 Phillip Wood 2013-07-15 10:18:22 UTC
Created attachment 249175 [details] [review]
Edit text of multiple tracks at once

This is the final step in allowing the user to select and edit
multiple rows at once. Implement editing for text fields of all
selected rows and activate multiple selections on the track
listview. This makes it much quicker to edit a common Artist/Composer
for a subset of tracks.
Comment 12 Phillip Wood 2013-07-15 10:18:33 UTC
Created attachment 249176 [details] [review]
Tab moves to next column when editing

When editing tracks it is a pain to have to press enter to start and
end editing and then move cell with the cursor. Fix this by binding
Tab/<Shift>Tab to move to the next/previous activatable cell when
editing/activated. Once the user stops editing with Enter/Escape
Tab/<Shift>Tab will focus the next/previous widget as normal so it is
still possible to quickly move the focus past the track list with
keyboard navigation.
Comment 13 Phillip Wood 2013-07-15 10:18:40 UTC
Created attachment 249177 [details] [review]
Continue editing with [Page]Up/Down

When editing accept changes and move up/down and restart editing when
the user presses [Page]Up/Down. This makes it much easier to edit the
track titles as the user just presses Down to get to the next one and
start editing rather than Enter-Down-Enter.
Comment 14 Phillip Wood 2013-10-10 14:30:06 UTC
*** Bug 638823 has been marked as a duplicate of this bug. ***
Comment 15 Phillip Wood 2014-01-08 12:23:58 UTC
Created attachment 265692 [details] [review]
I've rebased these patches as some of them no longer applied. The only

other change is that the shared state between the various callbacks is
now in stored a single global structure which simplifies things a
little.

Refactor treeview initialization

The initialization code for the editable treeview columns is all the
same so it makes sense to use a helper function.
Comment 16 Phillip Wood 2014-01-08 12:24:09 UTC
Created attachment 265693 [details] [review]
Fix playback with multiple track selection

Prepare support for multiple selections. Only change seek_to_track if
there is a single track selected.
Comment 17 Phillip Wood 2014-01-08 12:24:22 UTC
Created attachment 265694 [details] [review]
Edit extract column of multiple tracks at once

Allowing the user to select multiple rows at once makes it much
quicker to edit common fields. Prepare the way by implementing this
for the extract column.
Comment 18 Phillip Wood 2014-01-08 12:24:29 UTC
Created attachment 265695 [details] [review]
Edit text of multiple tracks at once

This is the final step in allowing the user to select and edit
multiple rows at once. Implement editing for text fields of all
selected rows and activate multiple selections on the track
listview. This makes it much quicker to edit a common Artist/Composer
for a subset of tracks.
Comment 19 Phillip Wood 2014-01-08 12:24:35 UTC
Created attachment 265696 [details] [review]
Tab moves to next column when editing

When editing tracks it is a pain to have to press enter to start and
end editing and then move cell with the cursor. Fix this by binding
Tab/<Shift>Tab to move to the next/previous activatable cell when
editing/activated. Once the user stops editing with Enter/Escape
Tab/<Shift>Tab will focus the next/previous widget as normal so it is
still possible to quickly move the focus past the track list with
keyboard navigation.
Comment 20 Phillip Wood 2014-01-08 12:24:41 UTC
Created attachment 265697 [details] [review]
Continue editing with [Page]Up/Down

When editing accept changes and move up/down and restart editing when
the user presses [Page]Up/Down. This makes it much easier to edit the
track titles as the user just presses Down to get to the next one and
start editing rather than Enter-Down-Enter.
Comment 21 Christophe Fergeau 2014-03-24 16:26:52 UTC
Review of attachment 265694 [details] [review]:

::: src/sj-main.c
@@ +1693,3 @@
   /* extract is the old state here, so toggle */
   extract = !extract;
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (track_listview));

no_of_tracks_selected = 0; could be done here
Comment 22 Christophe Fergeau 2014-03-24 16:27:54 UTC
Review of attachment 265694 [details] [review]:

(NB: the patch would have been smaller with the breaking of long lines done in a separate patch)
Comment 23 Christophe Fergeau 2014-03-24 16:27:56 UTC
Review of attachment 265694 [details] [review]:

(NB: the patch would have been smaller with the breaking of long lines done in a separate patch)
Comment 24 Phillip Wood 2014-04-13 13:32:09 UTC
Comment on attachment 265696 [details] [review]
Tab moves to next column when editing

After using this again, I think it could be improved, changing the behaviour of Tab depending on whether a cell is being edited or not is confusing, it would be better if Tab always moved to the next cell and Control-Tab moved from the treeview to the next widget.
Comment 25 Phillip Wood 2014-04-13 13:47:55 UTC
(In reply to comment #23)
> Review of attachment 265694 [details] [review]:
> 
> (NB: the patch would have been smaller with the breaking of long lines done in
> a separate patch)

Sorry I'll remember that for the future. Thanks for looking at these

>::: src/sj-main.c
>@@ +1693,3 @@
>   /* extract is the old state here, so toggle */
>   extract = !extract;
>+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (track_listview));
>
>no_of_tracks_selected = 0; could be done here

I'm afraid I don't understand, are you saying we don't need

gtk_tree_model_foreach (GTK_TREE_MODEL (track_store), (GtkTreeModelForeachFunc)extract_available_foreach, &extract);
gtk_widget_set_sensitive (extract_button, extract);

as we can just do

gtk_widget_set_sensitive (extract_button, no_of_selected_tracks > 0);
Comment 26 Phillip Wood 2014-07-25 08:49:39 UTC
Created attachment 281666 [details] [review]
Edit extract column of multiple tracks at once

I've reworked this to count the number of tracks to be extracted
correctly and to avoid changing the selected rows if the current row
is part of the selection.

Allowing the user to select multiple rows at once makes it much
quicker to edit common fields. Prepare the way by implementing this
for the extract column. As it is possible to activate a cell that is
not in the selection take care to only update the selected rows if the
activated cell is selected.
Comment 27 Phillip Wood 2014-07-25 08:50:08 UTC
Created attachment 281667 [details] [review]
Edit text of multiple tracks at once

This is the final step in allowing the user to select and edit
multiple rows at once. Implement editing for text fields of all
selected rows and activate multiple selections on the track
listview. This makes it much quicker to edit a common Artist/Composer
for a subset of tracks. As it is possible to activate (and therefore
start editing) a cell that is not in the selection take care to only
update the selected rows if the activated cell is selected.
Comment 28 Phillip Wood 2014-07-25 08:50:30 UTC
Created attachment 281668 [details] [review]
Add SjTreeView

This is a subclass of GtkTreeView where horizontal movements skip
columns that are not activatable/editable. Tab moves to the next
activatable/editable wrapping if necessary. Control-Tab moves the
keyboard focus to the next widget. With a suitable cell renderer
moving cells while editing is also possible so the user does not need
to press 'Enter' to confirm the changes, then move and then press
'Enter' again to start editing the new cell.
Comment 29 Phillip Wood 2014-07-25 08:50:39 UTC
Created attachment 281669 [details] [review]
Add vertical movement to SjTreeView

When trying to move vertically check if it's possible to move before
stopping editing. If the current cell is being edited start editing
the next cell after moving.
Comment 30 Phillip Wood 2014-07-25 08:50:49 UTC
Created attachment 281670 [details] [review]
Focus default cell before moving cursor

If GtkTreeView::move-cursor is called when the cursor isn't currently
set then focus the default cell. This avoids the cursor being moved
before it is shown.
Comment 31 Phillip Wood 2014-07-25 08:51:09 UTC
Created attachment 281671 [details] [review]
Add SjCellRendererText

This is a subclass of GtkCellRendererText which accepts changes
without confirmation and does not stop editing when the toplevel
loses focus. This means that the user no longer loses their changes
if they forget to press 'Enter' when they have finished editing.

This raises the required GLib version to 2.38 for
G_DEFINE_TYPE_WITH_PRIVATE
Comment 32 Phillip Wood 2014-07-25 08:52:09 UTC
Created attachment 281672 [details] [review]
Add movement keys to SjCellRendererText

I'm not sure about having enter move down, it might be better to have
it stop editing instead.

Allow the user to move cells while editing. This makes editing much
quicker as the user no longer has to press 'Enter' to confirm their
changes, then move and then press 'Enter' again to start editing the
new cell.

[Shift]Tab - move to the [previous]next activatable/editable column
[Page]Up - move up a [page]row
[Page]Down - move down a [page]row
Enter - move down a row if possible, move the keyboard focus to the
next widget if not
Control-Enter - stop editing
Control-Home - move to the top of the current column
Control-End - move to the bottom if the current column
Control-Tab - move the keyboard focus to the next widget
Comment 33 Phillip Wood 2014-07-25 08:52:21 UTC
Created attachment 281673 [details] [review]
Use SjTreeView and SjCellRendererText

Use the new widgets to improve the editing of track details.
Comment 34 Phillip Wood 2014-07-25 08:52:30 UTC
Created attachment 281674 [details] [review]
Duration label should not be selectable

This improves the keyboard navigation as tab now jumps straight from
the disc number entry to the track listview.
Comment 35 Phillip Wood 2014-07-25 08:52:39 UTC
Created attachment 281675 [details] [review]
Move focus when 'Enter' is pressed

When the user presses enter in a GtkEntry move the focus to the next
widget as recommended in GNOME HIG when there is no default widget.
Comment 36 Phillip Wood 2014-07-25 08:56:59 UTC
As there are a lot of patches to keep track of I've push the whole series to wip/better-editing
Comment 37 Phillip Wood 2014-08-05 11:12:52 UTC
Created attachment 282544 [details] [review]
Add SjTreeView::play-cursor-row and SjTreeView::play-row

As SjTreeView::move-cursor restricts keyboard cursor movements to
activatable/editable columns it's no longer possible to play the track
under the treeview cursor with the keyboard. Add two signals to fix
this: 'play-row' for playing the specified path and 'play-cursor-row'
for playing the cursor row. 'play-cursor-row' is bound to
Control-Space.
Comment 38 Phillip Wood 2014-08-05 11:12:58 UTC
Created attachment 282545 [details] [review]
'play-row' should toggle playback when path is already playing

If the track currently being played is the same as the one requested
by 'play-row' then toggle playback rather than rewinding to the start
of the track.
Comment 39 Phillip Wood 2014-08-05 11:13:04 UTC
Created attachment 282546 [details] [review]
fixup! Add SjTreeView
Comment 40 Phillip Wood 2014-08-15 13:29:31 UTC
Attachment 265692 [details] pushed as ef8473f - Refactor treeview initialization
Attachment 265693 [details] pushed as 3ee9f26 - Fix playback with multiple track selection
Attachment 281666 [details] pushed as 58891f0 - Edit extract column of multiple tracks at once
Attachment 281667 [details] pushed as b38838a - Edit text of multiple tracks at once
Attachments 281668 and 282546 pushed as 23405d3 - Add SjTreeView
Attachment 281669 [details] pushed as 3052213 - Add vertical movement to SjTreeView
Attachment 281670 [details] pushed as abf793e - Focus default cell before moving cursor
Attachment 281671 [details] pushed as 94e562c - Add SjCellRendererText
Attachment 281672 [details] pushed as 372c001 - Add movement keys to SjCellRendererText
Attachment 281673 [details] pushed as b98e954 - Use SjTreeView and SjCellRendererText
Attachment 281674 [details] pushed as 9141899 - Duration label should not be selectable
Attachment 281675 [details] pushed as d05202b - Move focus when 'Enter' is pressed
Attachment 282544 [details] pushed as efd8fb1 - Add SjTreeView::play-cursor-row and SjTreeView::play-row
Attachment 282545 [details] pushed as dd76687 - 'play-row' should toggle playback when path is already playing
Comment 41 Phillip Wood 2014-09-04 10:09:12 UTC
*** Bug 735711 has been marked as a duplicate of this bug. ***