Remember last options used for each module, and fill them in by default.
parent
f4aa84956c
commit
39dee758e6
Binary file not shown.
|
@ -423,7 +423,12 @@ nameloop: for (int i = 0; i < names.length; i++) {
|
|||
public ActionListener getActor(final String modName, final String type, final RpcConnection rpcConn) {
|
||||
return new ActionListener(){
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
new ModulePopup(modName,rpcConn,type, MainFrame.this).setVisible(true);
|
||||
//If we have saved options for this module, use those
|
||||
Object modOptions = MsfguiApp.getPropertiesNode().get("modOptions");
|
||||
if(modOptions != null && ((Map)modOptions).containsKey(type+" "+modName))
|
||||
new ModulePopup(rpcConn, ((List)((Map)modOptions).get(type+" "+modName)).toArray(), MainFrame.this).setVisible(true);
|
||||
else //otherwise go with the default
|
||||
new ModulePopup(modName,rpcConn,type, MainFrame.this).setVisible(true);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -287,12 +287,19 @@ public class MsfguiApp extends SingleFrameApplication {
|
|||
}
|
||||
Map hash = (Map)args.get(2);
|
||||
StringBuilder name = new StringBuilder(args.get(0) + " " + args.get(1));
|
||||
//Save these options
|
||||
if(!propRoot.containsKey("modOptions")) //first ensure option map exists
|
||||
propRoot.put("modOptions", new HashMap());
|
||||
((Map)propRoot.get("modOptions")).put(name.toString(), args);
|
||||
|
||||
//Generate display name
|
||||
for(Object ento : hash.entrySet()){
|
||||
Entry ent = (Entry)ento;
|
||||
String propName = ent.getKey().toString();
|
||||
if(propName.endsWith("HOST") || propName.endsWith("PORT") || propName.equals("PAYLOAD"))
|
||||
name.append(" ").append(propName).append("-").append(ent.getValue());
|
||||
}
|
||||
//Make menu item
|
||||
final JMenuItem item = new JMenuItem(name.toString());
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
|
Loading…
Reference in New Issue