Changeset 11246


Ignore:
Timestamp:
2006-02-14T15:41:46+13:00 (18 years ago)
Author:
mdewsnip
Message:

User interface for the new ability to rename files in the collection tree. Note that extracted metadata will not be displayed for renamed files (until the collection is rebuilt) -- this is fair because some of this metadata (eg. Source) will be incorrect anyway.

Location:
trunk/gli
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/classes/dictionary.properties

    r11180 r11246  
    328328CollectionPopupMenu.New_Dummy_Doc:New dummy document
    329329CollectionPopupMenu.New_Folder:New folder
     330CollectionPopupMenu.Rename:Rename
    330331#*******************************
    331332#
     
    907908RemoteGreenstoneServer.Progress:Remote Greenstone Server Progress:
    908909RemoteGreenstoneServer.Steal_Lock_Message:This collection is currently locked by user '{0-User name}'.\nDo you want to steal control of this lock file (not recommended, as work may be lost)?
     910#**********************
     911#
     912#***** Rename Prompt *****
     913RenamePrompt.Name:Name:
     914RenamePrompt.Title:Rename file/folder
    909915#**********************
    910916#
  • trunk/gli/src/org/greenstone/gatherer/file/FileManager.java

    r11241 r11246  
    4141import org.greenstone.gatherer.Dictionary;
    4242import org.greenstone.gatherer.Gatherer;
     43import org.greenstone.gatherer.collection.CollectionTree;
    4344import org.greenstone.gatherer.collection.CollectionTreeNode;
    4445import org.greenstone.gatherer.gui.GProgressBar;
    4546import org.greenstone.gatherer.gui.NewFolderOrFilePrompt;
     47import org.greenstone.gatherer.gui.RenamePrompt;
    4648import org.greenstone.gatherer.gui.tree.DragTree;
    4749import org.greenstone.gatherer.remote.RemoteGreenstoneServer;
     
    330332    }
    331333    }
     334
     335
     336    public void renameCollectionFile(CollectionTree collection_tree, CollectionTreeNode collection_tree_node)
     337    {
     338    // This must go in a separate thread because we need the progress bar to work (remote Greenstone server)
     339    new RenameTask(collection_tree, collection_tree_node).start();
     340    }
     341
     342
     343    private class RenameTask
     344    extends Thread
     345    {
     346    private CollectionTree collection_tree = null;
     347    private CollectionTreeNode collection_tree_node = null;
     348
     349    public RenameTask(CollectionTree collection_tree, CollectionTreeNode collection_tree_node)
     350    {
     351        this.collection_tree = collection_tree;
     352        this.collection_tree_node = collection_tree_node;
     353    }
     354
     355    public void run()
     356    {
     357        RenamePrompt rename_prompt = new RenamePrompt(collection_tree_node);
     358        String new_collection_file_name = rename_prompt.display();
     359        rename_prompt.dispose();
     360        rename_prompt = null;
     361
     362        if (new_collection_file_name != null) {
     363        File collection_file = collection_tree_node.getFile();
     364        File new_collection_file = new File(collection_file.getParentFile(), new_collection_file_name);
     365        CollectionTreeNode new_collection_tree_node = new CollectionTreeNode(new_collection_file);
     366        file_queue.addJob(System.currentTimeMillis(), collection_tree, new FileNode[] { collection_tree_node }, collection_tree, new_collection_tree_node, FileJob.RENAME);
     367        }
     368    }
     369    }
    332370}
  • trunk/gli/src/org/greenstone/gatherer/gui/GatherPane.java

    r10726 r11246  
    484484    private JMenuItem new_dummy_doc = null;
    485485    private JMenuItem open_externally = null;
     486    private JMenuItem rename = null;
    486487
    487488
     
    586587        delete.addActionListener(this);
    587588        add(delete);
     589
     590        // Rename option (single selections only)
     591        if (selection_paths.length == 1) {
     592            rename = new JMenuItem(Dictionary.get("CollectionPopupMenu.Rename"), KeyEvent.VK_R);
     593            rename.addActionListener(this);
     594            add(rename);
     595        }
    588596        }
    589597
     
    714722        Gatherer.f_man.newFolder(tree, (CollectionTreeNode) node);
    715723        }
     724
    716725        // New dummy doc
    717726        else if (source == new_dummy_doc) {
    718727        Gatherer.f_man.newDummyDoc(tree, (CollectionTreeNode) node);
    719728        }
     729
    720730        // Open in external program
    721731        else if (source == open_externally) {
    722732        Gatherer.f_man.openFileInExternalApplication(node.getFile());
     733        }
     734
     735        // Rename
     736        else if (source == rename) {
     737        Gatherer.f_man.renameCollectionFile(collection_tree, (CollectionTreeNode) node);
    723738        }
    724739    }
Note: See TracChangeset for help on using the changeset viewer.