Index: src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java =================================================================== --- src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java (revision 1693055) +++ src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java (working copy) @@ -20,8 +20,12 @@ import javax.swing.JMenu; import javax.swing.JPopupMenu; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import org.apache.commons.io.FilenameUtils; import org.apache.jmeter.control.IncludeController; +import org.apache.jmeter.gui.GuiPackage; import org.apache.jmeter.gui.action.ActionNames; import org.apache.jmeter.gui.util.FilePanel; import org.apache.jmeter.gui.util.MenuFactory; @@ -111,5 +115,17 @@ add(makeTitlePanel()); add(includePanel); + includePanel.addChangeListener(changerListener); } + + /** + * Auto rename the include controller with the name of the file included. + */ + ChangeListener changerListener = new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + if(GuiPackage.getInstance().getMenuItemAutoRename().isSelected()) + setName(FilenameUtils.getName(includePanel.getFilename())); + } + }; } Index: src/core/org/apache/jmeter/gui/action/ActionNames.java =================================================================== --- src/core/org/apache/jmeter/gui/action/ActionNames.java (revision 1693055) +++ src/core/org/apache/jmeter/gui/action/ActionNames.java (working copy) @@ -98,7 +98,8 @@ public static final String UNDO = "undo"; // $NON-NLS-1$ public static final String REDO = "redo"; // $NON-NLS-1$ public static final String QUICK_COMPONENT = "quick_component"; // $NON-NLS-1$ - + public static final String AUTO_RENAME = "auto_rename"; + // Prevent instantiation private ActionNames(){ Index: src/core/org/apache/jmeter/gui/action/AutoRename.java =================================================================== --- src/core/org/apache/jmeter/gui/action/AutoRename.java (revision 0) +++ src/core/org/apache/jmeter/gui/action/AutoRename.java (working copy) @@ -0,0 +1,30 @@ +package org.apache.jmeter.gui.action; + +import java.awt.event.ActionEvent; +import java.util.HashSet; +import java.util.Set; + +import org.apache.jmeter.exceptions.IllegalUserActionException; +import org.apache.jmeter.gui.GuiPackage; +import org.apache.jorphan.logging.LoggingManager; +import org.apache.log.Logger; + +public class AutoRename implements Command { + private static final Logger log = LoggingManager.getLoggerForClass(); + private static final Set commands = new HashSet(); + + static { + commands.add(ActionNames.AUTO_RENAME); + } + + @Override + public void doAction(ActionEvent e) throws IllegalUserActionException { + log.info("auto rename include controller: " + GuiPackage.getInstance().getMenuItemAutoRename().getState()); + } + + @Override + public Set getActionNames() { + return commands; + } + +} Index: src/core/org/apache/jmeter/gui/GuiPackage.java =================================================================== --- src/core/org/apache/jmeter/gui/GuiPackage.java (revision 1693055) +++ src/core/org/apache/jmeter/gui/GuiPackage.java (working copy) @@ -132,6 +132,11 @@ private UndoHistory undoHistory = new UndoHistory(); /** + * Auto rename include controllers + */ + private JCheckBoxMenuItem menuItemAutoRename; + + /** * Private constructor to permit instantiation only from within this class. * Use {@link #getInstance()} to retrieve a singleton instance. */ @@ -858,4 +863,11 @@ ((JMeterToolBar)toolbar).updateUndoRedoIcons(history.canUndo(), history.canRedo()); } + public JCheckBoxMenuItem getMenuItemAutoRename() { + return menuItemAutoRename; + } + + public void setMenuItemAutoRename(JCheckBoxMenuItem menuItemAutoRename) { + this.menuItemAutoRename = menuItemAutoRename; + } } Index: src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java =================================================================== --- src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java (revision 1693055) +++ src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java (working copy) @@ -331,6 +331,12 @@ optionsMenu.add(functionHelper); optionsMenu.add(lafMenu); + // OTHER OPTIONS MENU + JMenu otherOptions = makeMenuRes("other_options"); + JCheckBoxMenuItem menuAutoRename = makeCheckBoxMenuItemRes("menu_auto_rename", ActionNames.AUTO_RENAME); + menuAutoRename.setSelected(true); + otherOptions.add(menuAutoRename); + JCheckBoxMenuItem menuToolBar = makeCheckBoxMenuItemRes("menu_toolbar", ActionNames.TOOLBAR); //$NON-NLS-1$ JCheckBoxMenuItem menuLoggerPanel = makeCheckBoxMenuItemRes("menu_logger_panel", ActionNames.LOGGER_PANEL_ENABLE_DISABLE); //$NON-NLS-1$ GuiPackage guiInstance = GuiPackage.getInstance(); @@ -337,6 +343,7 @@ if (guiInstance != null) { //avoid error in ant task tests (good way?) guiInstance.setMenuItemToolbar(menuToolBar); guiInstance.setMenuItemLoggerPanel(menuLoggerPanel); + guiInstance.setMenuItemAutoRename(menuAutoRename); } optionsMenu.add(menuToolBar); optionsMenu.add(menuLoggerPanel); @@ -352,6 +359,8 @@ JMenuItem expand = makeMenuItemRes("menu_expand_all", ActionNames.EXPAND_ALL, KeyStrokes.EXPAND_ALL); //$NON-NLS-1$ optionsMenu.add(expand); + + optionsMenu.add(otherOptions); addPluginsMenuItems(optionsMenu, menuCreators, MENU_LOCATION.OPTIONS); } Index: src/core/org/apache/jmeter/resources/messages.properties =================================================================== --- src/core/org/apache/jmeter/resources/messages.properties (revision 1693055) +++ src/core/org/apache/jmeter/resources/messages.properties (working copy) @@ -1331,3 +1331,6 @@ you_must_enter_a_valid_number=You must enter a valid number zh_cn=Chinese (Simplified) zh_tw=Chinese (Traditional) +# custom messages +menu_auto_rename=Auto Rename Include Controller +other_options=Other Options \ No newline at end of file Index: src/core/org/apache/jmeter/resources/messages_fr.properties =================================================================== --- src/core/org/apache/jmeter/resources/messages_fr.properties (revision 1693055) +++ src/core/org/apache/jmeter/resources/messages_fr.properties (working copy) @@ -1316,3 +1316,6 @@ you_must_enter_a_valid_number=Vous devez entrer un nombre valide zh_cn=Chinois (simplifi\u00E9) zh_tw=Chinois (traditionnel) +# custom messages +menu_auto_rename=Renommage auto des Include Controller +other_options=Autres options \ No newline at end of file