diff --git a/ogl_editor/src/Commands.c b/ogl_editor/src/Commands.c index 5ba8614..a4ab1af 100644 --- a/ogl_editor/src/Commands.c +++ b/ogl_editor/src/Commands.c @@ -360,6 +360,31 @@ void Commands_toggleBookmark(TrackData* trackData, int row) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +void Commands_clearBookmarks(TrackData* trackData) +{ + int i, bookmarkCount = trackData->bookmarkCount; + int* bookmarks = trackData->bookmarks; + + if (trackData->bookmarkCount == 0) + return; + + Commands_beginMulti("clearBookmarks"); + + for (i = 0; i < bookmarkCount; ++i) + { + const int bookmark = *bookmarks++; + + if (bookmark == 0) + continue; + + Commands_toggleBookmark(trackData, bookmark); + } + + Commands_endMulti(); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + void Commands_undo() { Command* command; diff --git a/ogl_editor/src/Commands.h b/ogl_editor/src/Commands.h index 6f2f2a0..bb0013d 100644 --- a/ogl_editor/src/Commands.h +++ b/ogl_editor/src/Commands.h @@ -21,6 +21,7 @@ void Commands_redo(); void Commands_deleteKey(int track, int row); void Commands_addOrUpdateKey(int track, struct track_key* key); void Commands_toggleBookmark(struct TrackData* trackData, int row); +void Commands_clearBookmarks(struct TrackData* trackData); void Commands_updateKey(int track, struct track_key* key); void Commands_beginMulti(const char* name); // Used (for example) when changing many value at the same time void Commands_endMulti(); diff --git a/ogl_editor/src/Editor.c b/ogl_editor/src/Editor.c index ee9d588..88c5290 100644 --- a/ogl_editor/src/Editor.c +++ b/ogl_editor/src/Editor.c @@ -1251,6 +1251,7 @@ static void onToggleBookmark() static void onClearBookmarks() { + Commands_clearBookmarks(getTrackData()); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/ogl_editor/src/Menu.c b/ogl_editor/src/Menu.c index a8e4aa0..23a7a49 100644 --- a/ogl_editor/src/Menu.c +++ b/ogl_editor/src/Menu.c @@ -80,7 +80,7 @@ MenuDescriptor g_viewMenu[] = { _T("Unfold group"), EDITOR_MENU_UNFOLD_GROUP, EMGUI_KEY_ARROW_RIGHT, EMGUI_KEY_ALT | EMGUI_KEY_CTRL, 0 }, { _T(""), EDITOR_MENU_SEPARATOR, 0, 0, 0 }, { _T("Toogle bookmark"), EDITOR_MENU_TOGGLE_BOOKMARK, 'b', 0, 0 }, - { _T("Clear bookmarks"), EDITOR_MENU_CLEAR_BOOKMARKS, 'b', EMGUI_KEY_SHIFT, EMGUI_KEY_SHIFT }, + { _T("Clear bookmarks"), EDITOR_MENU_CLEAR_BOOKMARKS, 'b', EMGUI_KEY_COMMAND, EMGUI_KEY_CTRL }, { _T("Unfold track"), EDITOR_MENU_UNFOLD_TRACK, EMGUI_KEY_ARROW_RIGHT, EMGUI_KEY_ALT, 0 }, { _T("Jump row,start/end & edit"), EDITOR_MENU_TAB, EMGUI_KEY_TAB, 0, 0 }, { 0 },