using Gtk 4.0;
using Adw 1;

Gtk.ShortcutsWindow _shortcuts {
  default-width: 600;
  default-height: 500;
  modal: true;
  resizable: true;
  destroy-with-parent: false;

  Gtk.ShortcutsSection {
    Gtk.ShortcutsGroup {
      title: C_("Shortcut", "Music Library");

      Gtk.ShortcutsShortcut {
        title: _("Open Folder");
        accelerator: "<Control>o";
      }
      
      Gtk.ShortcutsShortcut {
        title: _("Open Playlist");
        accelerator: "<Shift><Control>o";
      }

      Gtk.ShortcutsShortcut {
        title: _("Close Library");
        accelerator: "<Control>w";
      }

      Gtk.ShortcutsShortcut {
        title: _("Reload Library");
        accelerator: "F5";
      }
      
      Gtk.ShortcutsShortcut {
        title: _("Create Playlist");
        accelerator: "<Ctrl>p";
      }
            
      Gtk.ShortcutsShortcut {
        title: _("Add to Playlist");
        accelerator: "<Alt>o";
      }
                  
      Gtk.ShortcutsShortcut {
        title: _("Remove from Playlist");
        accelerator: "<Alt>Delete";
      }
    }

    Gtk.ShortcutsGroup {
      title: C_("Shortcut", "Music File");

      Gtk.ShortcutsShortcut {
        title: _("Save Tag");
        accelerator: "<Control>s";
      }

      Gtk.ShortcutsShortcut {
        title: _("Discard Unapplied Changes");
        accelerator: "<Control>z";
      }

      Gtk.ShortcutsShortcut {
        title: _("Delete Tags");
        accelerator: "<Shift>Delete";
      }

      Gtk.ShortcutsShortcut {
        title: _("Convert File Name to Tag");
        accelerator: "<Control>f";
      }

      Gtk.ShortcutsShortcut {
        title: _("Convert Tag to File Name");
        accelerator: "<Control>t";
      }

      Gtk.ShortcutsShortcut {
        title: _("Insert Front Album Art");
        accelerator: "<Control>i";
      }

      Gtk.ShortcutsShortcut {
        title: _("Remove Front Album Art");
        accelerator: "<Control>Delete";
      }

      Gtk.ShortcutsShortcut {
        title: _("Export Front Album Art");
        accelerator: "<Control>e";
      }

      Gtk.ShortcutsShortcut {
        title: _("Switch Album Art");
        accelerator: "<Control><Shift>s";
      }

      Gtk.ShortcutsShortcut {
        title: _("Insert Back Album Art");
        accelerator: "<Control><Shift>i";
      }

      Gtk.ShortcutsShortcut {
        title: _("Remove Back Album Art");
        accelerator: "<Control><Shift>Delete";
      }

      Gtk.ShortcutsShortcut {
        title: _("Export Back Album Art");
        accelerator: "<Control><Shift>e";
      }
      
      Gtk.ShortcutsShortcut {
        title: _("Manage Lyrics");
        accelerator: "<Control>l";
      }
    }

    Gtk.ShortcutsGroup {
      title: C_("Shortcut", "Web Services");

      Gtk.ShortcutsShortcut {
        title: _("Download MusicBrainz Metadata");
        accelerator: "<Control>m";
      }
      
      Gtk.ShortcutsShortcut {
        title: _("Download Lyrics");
        accelerator: "<Control><Shift>l";
      }

      Gtk.ShortcutsShortcut {
        title: _("Submit to AcoustId");
        accelerator: "<Control>u";
      }
    }

    Gtk.ShortcutsGroup {
      title: C_("Shortcut", "Application");

      Gtk.ShortcutsShortcut {
        title: _("Preferences");
        accelerator: "<Control>comma";
      }

      Gtk.ShortcutsShortcut {
        title: _("Keyboard Shortcuts");
        accelerator: "<Control>question";
      }

      Gtk.ShortcutsShortcut _aboutShortcut {
        title: _("Help");
        accelerator: "F1";
      }

      Gtk.ShortcutsShortcut {
        title: _("Quit");
        accelerator: "<Control>q";
      }
    }
  }
}