Skip to content

Commit 5893a37

Browse files
committed
#1207: Add support for hierarchical bookmarks
1 parent 55438ab commit 5893a37

26 files changed

+2883
-256
lines changed

iped-api/src/main/java/iped/data/IBookmarks.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ public interface IBookmarks extends Serializable {
7373

7474
int newBookmark(String bookmarkName);
7575

76+
/**
77+
* Creates a hierarchy of bookmarks.
78+
* @param path List of strings representing each level in the hierarchy
79+
* @return The ID of the final leaf bookmark.
80+
*/
81+
int newBookmarkHierarchy(List<String> path);
82+
7683
void removeBookmark(List<Integer> ids, int bookmark);
7784

7885
void saveState();

iped-api/src/main/java/iped/data/IMultiBookmarks.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ public interface IMultiBookmarks extends Serializable {
7272

7373
void newBookmark(String bookmarkName);
7474

75+
/**
76+
* Creates a hierarchy of bookmarks.
77+
* @param path List of strings representing each level in the hierarchy
78+
*/
79+
void newBookmarkHierarchy(List<String> path);
80+
7581
@Deprecated
7682
void removeBookmark(List<IItemId> ids, String bookmarkName);
7783

iped-app/resources/localization/iped-desktop-messages.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ BookmarksController.SaveSuccess.Title=Success
4545
BookmarksManager.Add=Add
4646
BookmarksManager.Add.Tip=Add items to selected bookmarks
4747
BookmarksManager.AddDuplicates=Add duplicates (hash)
48+
BookmarksManager.ShortBookmarksNames=Short names on Bookmark column
4849
BookmarksManager.AlertMultipleSelectedBookmarks=Select just one bookmark!
4950
BookmarksManager.AlertNoCheckedtems=No checked items!
5051
BookmarksManager.AlertNoHighlightedItems=No highlighted items!
@@ -68,7 +69,8 @@ BookmarksManager.KeyStrokeAlert3=Key shortcut already used, change it first.
6869
BookmarksManager.KeyStrokeAlert4=Key shortcut already used for other action.
6970
BookmarksManager.New=New
7071
BookmarksManager.New.Tip=New bookmark
71-
BookmarksManager.NewBookmark.Tip=Enter bookmark name
72+
BookmarksManager.NewBookmark.Tip=Type new bookmark name (to add bookmark hierarchy press Ctrl+Enter)
73+
BookmarksManager.NewBookmark.GhostText=New bookmark (its parent in the hierarchy is shown below)
7274
BookmarksManager.Remove=Remove
7375
BookmarksManager.Remove.Tip=Remove items from selected bookmarks
7476
BookmarksManager.SearchingDuplicates=Searching Duplicates...
@@ -77,6 +79,10 @@ BookmarksManager.CommentsTooltip=Bookmark comments
7779
BookmarksManager.Update=Update
7880
BookmarksManager.UpdateTooltip=Update comments
7981
BookmarksManager.AlreadyExists=Bookmark name already exists!
82+
BookmarksManager.CopyName.Tip=Ctrl+Click to copy bookmark name, or Ctrl+Double-click for full path
83+
BookmarksManager.MoveErrorDuplication=Operation cancelled. Duplicate bookmarks names not allowed at the destination
84+
BookmarksManager.MoveErrorException=Failed to move bookmarks
85+
BookmarksManager.MoveError.Title=Error
8086
BookmarksTreeModel.NoBookmarks=[No Bookmarks]
8187
BookmarksTreeModel.RootName=Bookmarks
8288
CategoryTreeModel.RootName=Categories

iped-app/resources/localization/iped-desktop-messages_de_DE.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ BookmarksController.SaveSuccess.Title=Erfolg
4545
BookmarksManager.Add=Hinzufügen
4646
BookmarksManager.Add.Tip=Objekte zu ausgewählten Lesezeichen hinzufügen
4747
BookmarksManager.AddDuplicates=Duplikate hinzufügen (Hash)
48+
BookmarksManager.ShortBookmarksNames=Kurze Namen in der Lesezeichen-Spalte
4849
BookmarksManager.AlertMultipleSelectedBookmarks=Ein Lesezeichen auswählen
4950
BookmarksManager.AlertNoCheckedtems=keine ausgewählten Elemente
5051
BookmarksManager.AlertNoHighlightedItems=Keine hervorgehobenen Elemente
@@ -68,7 +69,8 @@ BookmarksManager.KeyStrokeAlert3=Kurzbefehl ist bereits in Verwendung, bitte än
6869
BookmarksManager.KeyStrokeAlert4=Kurzbefehl wird bereits für eine andere Aktion verwendet.
6970
BookmarksManager.New=Neu
7071
BookmarksManager.New.Tip=Neues Lesezeichen
71-
BookmarksManager.NewBookmark.Tip=Name für Lesezeichen eingeben
72+
BookmarksManager.NewBookmark.Tip=Namen des neuen Lesezeichens eingeben (Strg+Enter drücken, um eine Lesezeichen-Hierarchie hinzuzufügen)
73+
BookmarksManager.NewBookmark.GhostText=Neues Lesezeichen (sein Vater in der Hierarchie wird unten angezeigt)
7274
BookmarksManager.Remove=Entfernen
7375
BookmarksManager.Remove.Tip=Entferne Objekte von ausgewähltem Lesezeichen
7476
BookmarksManager.SearchingDuplicates=Suche Duplikate...
@@ -77,6 +79,10 @@ BookmarksManager.CommentsTooltip=Kommentare zu Lesezeichen
7779
BookmarksManager.Update=Update
7880
BookmarksManager.UpdateTooltip=Kommentare zu Updates
7981
BookmarksManager.AlreadyExists=Lesezeichen ist bereits vorhanden!
82+
BookmarksManager.CopyName.Tip=Ctrl+Click zum Kopieren des Lesezeichen-Namens, oder Ctrl+Doppelklick für den vollständigen Pfad
83+
BookmarksManager.MoveErrorDuplication=Operation abgebrochen. Duplikate von Lesezeichen-Namen sind an der Zielstelle nicht erlaubt.
84+
BookmarksManager.MoveErrorException=Fehler beim Verschieben der Lesezeichen
85+
BookmarksManager.MoveError.Title=Fehler
8086
BookmarksTreeModel.NoBookmarks=[Keine Lesezeichen]
8187
BookmarksTreeModel.RootName=Lesezeichen
8288
CategoryTreeModel.RootName=Kategorien

iped-app/resources/localization/iped-desktop-messages_es_AR.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ BookmarksController.SaveSuccess.Title=Éxito
4545
BookmarksManager.Add=Añadir
4646
BookmarksManager.Add.Tip=Añadir elementos a los marcadores seleccionados
4747
BookmarksManager.AddDuplicates=Añadir duplicados (hash)
48+
BookmarksManager.ShortBookmarksNames=Nombres cortos en la columna Marcador
4849
BookmarksManager.AlertMultipleSelectedBookmarks=Seleccionar solo un marcador!
4950
BookmarksManager.AlertNoCheckedtems=No se han comprobado los artículos!
5051
BookmarksManager.AlertNoHighlightedItems=NO hay elementos resaltados!
@@ -68,7 +69,8 @@ BookmarksManager.KeyStrokeAlert3=Atajo de teclado ya utilizado, cámbielo primer
6869
BookmarksManager.KeyStrokeAlert4=Tecla de método abreviado ya utilizada para otra acción.
6970
BookmarksManager.New=Nuevo
7071
BookmarksManager.New.Tip=Nuevo marcador
71-
BookmarksManager.NewBookmark.Tip=Ingrese el nombre del marcador
72+
BookmarksManager.NewBookmark.Tip=Ingrese el nombre del nuevo marcador (presiona Ctrl+Enter para añadir una jerarquía de marcadores)
73+
BookmarksManager.NewBookmark.GhostText=Nuevo marcador (su padre en la jerarquía se muestra abajo)
7274
BookmarksManager.Remove=Eliminar
7375
BookmarksManager.Remove.Tip=Eliminar elementos de los marcadores seleccionados
7476
BookmarksManager.SearchingDuplicates=Buscando duplicados...
@@ -77,6 +79,10 @@ BookmarksManager.CommentsTooltip=Marcar comentarios
7779
BookmarksManager.Update=Actualizar
7880
BookmarksManager.UpdateTooltip=Actualizar comentarios
7981
BookmarksManager.AlreadyExists=¡El nombre del marcador ya existe!
82+
BookmarksManager.CopyName.Tip=Ctrl+Click para copiar el nombre del marcador, o Ctrl+Doble-click para el camino completo
83+
BookmarksManager.MoveErrorDuplication=Operación cancelada. No se permite duplicar nombres de marcadores en la destinación
84+
BookmarksManager.MoveErrorException=Error al mover los marcadores
85+
BookmarksManager.MoveError.Title=Error
8086
BookmarksTreeModel.NoBookmarks=[Sin marcadores]
8187
BookmarksTreeModel.RootName=Marcadores
8288
CategoryTreeModel.RootName=Categorías

iped-app/resources/localization/iped-desktop-messages_fr_FR.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ BookmarksController.SaveSuccess.Title=Succès
4545
BookmarksManager.Add=Ajouter
4646
BookmarksManager.Add.Tip=Ajouter des éléments au favori sélectionné
4747
BookmarksManager.AddDuplicates=Ajouter les doublons (Hash)
48+
BookmarksManager.ShortBookmarksNames=Noms courts dans la colonne Favori
4849
BookmarksManager.AlertMultipleSelectedBookmarks=Selectionnez seulement un favori \!
4950
BookmarksManager.AlertNoCheckedtems=Aucun élement coché \!
5051
BookmarksManager.AlertNoHighlightedItems=Aucun élément surligné \!
@@ -68,7 +69,8 @@ BookmarksManager.KeyStrokeAlert3=Modifier le raccourci.
6869
BookmarksManager.KeyStrokeAlert4=Maintenir la touche de raccourci pour une autre action.
6970
BookmarksManager.New=Nouveau
7071
BookmarksManager.New.Tip=Nouveau favori
71-
BookmarksManager.NewBookmark.Tip=Saisissez le nom du favori
72+
BookmarksManager.NewBookmark.Tip=Saisissez le nom du nouveau favori (pour ajouter une hiérarchie de favoris appuyez sur Ctrl+Enter)
73+
BookmarksManager.NewBookmark.GhostText=Nouveau favori (son parent dans la hiérarchie est affiché ci-dessous)
7274
BookmarksManager.Remove=Supprimer
7375
BookmarksManager.Remove.Tip=Supprimer le favori sélectionné
7476
BookmarksManager.SearchingDuplicates=Recherche des doublons...
@@ -77,6 +79,10 @@ BookmarksManager.CommentsTooltip=Commentaires du favori
7779
BookmarksManager.Update=Mise à jour
7880
BookmarksManager.UpdateTooltip=Mettre à jour les commentaires
7981
BookmarksManager.AlreadyExists=Nom du favori existe déjà \!
82+
BookmarksManager.CopyName.Tip=Ctrl+Click pour copier le nom du favori, ou Ctrl+Double-click pour le chemin complet
83+
BookmarksManager.MoveErrorDuplication=Opération annulée. Les noms de favoris dupliqués ne sont pas autorisés à la destination
84+
BookmarksManager.MoveErrorException=Erreur lors du déplacement des favoris
85+
BookmarksManager.MoveError.Title=Erreur
8086
BookmarksTreeModel.NoBookmarks=[Aucun favori]
8187
BookmarksTreeModel.RootName=Favoris
8288
CategoryTreeModel.RootName=Catégories

iped-app/resources/localization/iped-desktop-messages_it_IT.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ BookmarksController.SaveSuccess.Title=Eseguito
4545
BookmarksManager.Add=Aggiungi
4646
BookmarksManager.Add.Tip=Aggiungi elementi ai segnalibri selezionati
4747
BookmarksManager.AddDuplicates=Aggiungi duplicati (hash)
48+
BookmarksManager.ShortBookmarksNames=Nomi brevi nella colonna Segnalibro
4849
BookmarksManager.AlertMultipleSelectedBookmarks=Seleziona solo un segnalibro!
4950
BookmarksManager.AlertNoCheckedtems=Nessun elemento selezionato!
5051
BookmarksManager.AlertNoHighlightedItems=Nessun elemento evidenziato!
@@ -68,7 +69,8 @@ BookmarksManager.KeyStrokeAlert3=Scorciatoia da tastiera già utilizzata, cambia
6869
BookmarksManager.KeyStrokeAlert4=Scorciatoia da tastiera già utilizzata per un''altra azione.
6970
BookmarksManager.New=Nuovo
7071
BookmarksManager.New.Tip=Nuovo segnalibro
71-
BookmarksManager.NewBookmark.Tip=Inserisci il nome del segnalibro
72+
BookmarksManager.NewBookmark.Tip=Inserisci il nome del nuovo segnalibro (per aggiungere una gerarchia di segnalibri premi Ctrl+Enter)
73+
BookmarksManager.NewBookmark.GhostText=Segnalibro nuovo (il suo genitore nella gerarchia è mostrato qui sotto)
7274
BookmarksManager.Remove=Rimuovi
7375
BookmarksManager.Remove.Tip=Rimuovi elementi dai segnalibri selezionati
7476
BookmarksManager.SearchingDuplicates=Cercando duplicati...
@@ -77,6 +79,10 @@ BookmarksManager.CommentsTooltip=Commenti ai segnalibri
7779
BookmarksManager.Update=Aggiorna
7880
BookmarksManager.UpdateTooltip=Aggiorna commento
7981
BookmarksManager.AlreadyExists=Il nome del segnalibro esiste già!
82+
BookmarksManager.CopyName.Tip=Ctrl+Click per copiare il nome del segnalibro, o Ctrl+Doppio-click per il percorso completo
83+
BookmarksManager.MoveErrorDuplication=Operazione annullata. Non è permesso duplicare nomi di segnalibri nella destinazione
84+
BookmarksManager.MoveErrorException=Errore nel movimento dei segnalibri
85+
BookmarksManager.MoveError.Title=Errore
8086
BookmarksTreeModel.NoBookmarks=[Nessun segnalibro]
8187
BookmarksTreeModel.RootName=Segnalibri
8288
CategoryTreeModel.RootName=Categorie

iped-app/resources/localization/iped-desktop-messages_pt_BR.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ BookmarksController.SaveSuccess.Title=Sucesso
4545
BookmarksManager.Add=Adicionar
4646
BookmarksManager.Add.Tip=Adicionar itens aos marcadores selecionados
4747
BookmarksManager.AddDuplicates=Incluir duplicatas (hash)
48+
BookmarksManager.ShortBookmarksNames=Nomes curtos na coluna Marcador
4849
BookmarksManager.AlertMultipleSelectedBookmarks=Selecione apenas um marcador!
4950
BookmarksManager.AlertNoCheckedtems=Nenhum item marcado!
5051
BookmarksManager.AlertNoHighlightedItems=Nenhum item destacado!
@@ -68,7 +69,8 @@ BookmarksManager.KeyStrokeAlert3=Tecla de atalho já utilizada, substitua ela pr
6869
BookmarksManager.KeyStrokeAlert4=Tecla de atalho já utilizada para outra ação.
6970
BookmarksManager.New=Criar novo
7071
BookmarksManager.New.Tip=Novo marcador
71-
BookmarksManager.NewBookmark.Tip=Novo marcador
72+
BookmarksManager.NewBookmark.Tip=Digite o nome do novo marcador (para adicionar hierarquia de marcadores pressione Ctrl+Enter)
73+
BookmarksManager.NewBookmark.GhostText=Novo marcador (seu pai na hierarquia é mostrado abaixo)
7274
BookmarksManager.Remove=Remover
7375
BookmarksManager.Remove.Tip=Remover itens dos marcadores selecionados
7476
BookmarksManager.SearchingDuplicates=Pesquisando duplicatas...
@@ -77,6 +79,10 @@ BookmarksManager.CommentsTooltip=Comentários do marcador
7779
BookmarksManager.Update=Atualizar
7880
BookmarksManager.UpdateTooltip=Atualizar comentários
7981
BookmarksManager.AlreadyExists=Nome de marcador já existente!
82+
BookmarksManager.CopyName.Tip=Ctrl+Click para copiar nome do marcador, ou Ctrl+Duplo-click para o caminho completo
83+
BookmarksManager.MoveErrorDuplication=Operação cancelada. Marcadores com nomes duplicados não são permitidos no destino
84+
BookmarksManager.MoveErrorException=Falha ao mover marcadores
85+
BookmarksManager.MoveError.Title=Erro
8086
BookmarksTreeModel.NoBookmarks=[Sem Marcadores]
8187
BookmarksTreeModel.RootName=Marcadores
8288
CategoryTreeModel.RootName=Categorias

iped-app/src/main/java/iped/app/ui/App.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,8 @@ public void componentResized(ComponentEvent e) {
671671
bookmarksTree.addTreeSelectionListener(bookmarksListener);
672672
bookmarksTree.addTreeExpansionListener(bookmarksListener);
673673
bookmarksTree.setExpandsSelectedPaths(false);
674+
// Add listener to handle copy shortcuts
675+
bookmarksTree.addKeyListener(new BookmarkTreeKeyListener(bookmarksTree));
674676

675677
metadataPanel = new MetadataPanel();
676678

0 commit comments

Comments
 (0)