Skip to content

Commit 362dbb8

Browse files
committed
Merge branch 'nb82dev'
2 parents ca0d9b3 + 4864892 commit 362dbb8

6 files changed

Lines changed: 40 additions & 17 deletions

File tree

manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ Manifest-Version: 1.0
22
OpenIDE-Module: org.netbeans.modules.php.wordpress
33
OpenIDE-Module-Layer: org/netbeans/modules/php/wordpress/resources/layer.xml
44
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/wordpress/Bundle.properties
5-
OpenIDE-Module-Specification-Version: 0.9.3
5+
OpenIDE-Module-Specification-Version: 0.9.4
66
OpenIDE-Module-Install: org/netbeans/modules/php/wordpress/WordPressModuleInstall.class

src/org/netbeans/modules/php/wordpress/WordPressActionsExtender.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,14 @@
4444
import java.util.ArrayList;
4545
import java.util.List;
4646
import javax.swing.Action;
47-
import org.netbeans.modules.php.api.util.StringUtils;
4847
import org.netbeans.modules.php.spi.framework.PhpModuleActionsExtender;
4948
import org.netbeans.modules.php.spi.framework.actions.RunCommandAction;
50-
import org.netbeans.modules.php.wordpress.commands.WordPressCli;
5149
import org.netbeans.modules.php.wordpress.ui.actions.CreateChildThemeAction;
5250
import org.netbeans.modules.php.wordpress.ui.actions.CreatePermalinkHtaccessAction;
5351
import org.netbeans.modules.php.wordpress.ui.actions.CreatePluginAction;
5452
import org.netbeans.modules.php.wordpress.ui.actions.CreateThemeAction;
5553
import org.netbeans.modules.php.wordpress.ui.actions.RefreshCodeCompletionAction;
5654
import org.netbeans.modules.php.wordpress.ui.actions.WordPressRunCommandAction;
57-
import org.netbeans.modules.php.wordpress.ui.options.WordPressOptions;
5855
import org.openide.util.NbBundle;
5956

6057
/**
@@ -71,15 +68,7 @@ public String getMenuName() {
7168

7269
@Override
7370
public RunCommandAction getRunCommandAction() {
74-
// If wp-cli path is invalid, run command action is not added to context menu.
75-
String wpCliPath = WordPressOptions.getInstance().getWpCliPath();
76-
if (StringUtils.isEmpty(wpCliPath)) {
77-
return null;
78-
}
79-
String error = WordPressCli.validate(wpCliPath);
80-
if (error != null) {
81-
return null;
82-
}
71+
// wp-cli path is validated when the Run Command action is run
8372
return WordPressRunCommandAction.getInstance();
8473
}
8574

src/org/netbeans/modules/php/wordpress/commands/WordPressCli.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,9 @@
8181
*/
8282
public final class WordPressCli {
8383

84-
public static String NAME = "wp"; // NOI18N
85-
public static String LONG_NAME = "wp-cli.phar"; // NOI18N
84+
public static final String NAME = "wp"; // NOI18N
85+
public static final String LONG_NAME = "wp-cli.phar"; // NOI18N
86+
public static final String NAME_BAT = "wp.bat"; // NOI18N
8687

8788
private final String wpCliPath;
8889
private boolean noReset = false;

src/org/netbeans/modules/php/wordpress/ui/actions/WordPressRunCommandAction.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,16 @@
4141
*/
4242
package org.netbeans.modules.php.wordpress.ui.actions;
4343

44+
import org.netbeans.api.options.OptionsDisplayer;
4445
import org.netbeans.modules.php.api.phpmodule.PhpModule;
46+
import org.netbeans.modules.php.api.util.StringUtils;
4547
import org.netbeans.modules.php.spi.framework.actions.RunCommandAction;
4648
import org.netbeans.modules.php.wordpress.WordPressPhpProvider;
49+
import org.netbeans.modules.php.wordpress.commands.WordPressCli;
50+
import org.netbeans.modules.php.wordpress.ui.options.WordPressOptions;
4751
import org.netbeans.modules.php.wordpress.util.WPUtils;
52+
import org.openide.DialogDisplayer;
53+
import org.openide.NotifyDescriptor;
4854
import org.openide.util.NbBundle;
4955

5056
/**
@@ -54,6 +60,7 @@
5460
public class WordPressRunCommandAction extends RunCommandAction {
5561

5662
private static final WordPressRunCommandAction INSTANCE = new WordPressRunCommandAction();
63+
private static final long serialVersionUID = 158739462398606689L;
5764

5865
private WordPressRunCommandAction() {
5966
}
@@ -67,6 +74,16 @@ public void actionPerformed(PhpModule phpModule) {
6774
if (!WPUtils.isWP(phpModule)) {
6875
return;
6976
}
77+
String wpCliPath = WordPressOptions.getInstance().getWpCliPath();
78+
if (StringUtils.isEmpty(wpCliPath)) {
79+
openOptionsPanel(Bundle.WordPressRunCommandAction_message_no_wp_cli());
80+
return;
81+
}
82+
String error = WordPressCli.validate(wpCliPath);
83+
if (error != null) {
84+
openOptionsPanel(Bundle.WordPressRunCommandAction_message_invalid_wp_cli());
85+
return;
86+
}
7087
WordPressPhpProvider.getInstance().getFrameworkCommandSupport(phpModule).openPanel();
7188
}
7289

@@ -79,4 +96,17 @@ protected String getFullName() {
7996
return Bundle.WordPressRunCommandAction_name(getPureName());
8097
}
8198

99+
@NbBundle.Messages({
100+
"WordPressRunCommandAction.message.no.wp-cli=Please set wp-cli path.",
101+
"WordPressRunCommandAction.message.invalid.wp-cli=Please set valid wp-cli path."
102+
})
103+
private void openOptionsPanel(String errorMessage) {
104+
NotifyDescriptor.Message message = new NotifyDescriptor.Message(
105+
errorMessage,
106+
NotifyDescriptor.ERROR_MESSAGE
107+
);
108+
DialogDisplayer.getDefault().notify(message);
109+
OptionsDisplayer.getDefault().open(WordPressOptions.getOptionsPath());
110+
}
111+
82112
}

src/org/netbeans/modules/php/wordpress/ui/options/WordPressOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ private WordPressOptions() {
7070
}
7171

7272
public static String getOptionsPath() {
73-
return UiUtils.OPTIONS_PATH + "/" + WordPressOptions.OPTIONS_SUBPATH; // NOI18N
73+
return UiUtils.FRAMEWORKS_AND_TOOLS_OPTIONS_PATH + "/" + WordPressOptions.OPTIONS_SUBPATH; // NOI18N
7474
}
7575

7676
public static WordPressOptions getInstance() {

src/org/netbeans/modules/php/wordpress/ui/options/WordPressOptionsPanel.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
import javax.swing.event.DocumentEvent;
5656
import javax.swing.event.DocumentListener;
5757
import org.netbeans.api.progress.ProgressHandle;
58-
import org.netbeans.api.progress.ProgressHandleFactory;
5958
import org.netbeans.modules.php.api.executable.InvalidPhpExecutableException;
6059
import org.netbeans.modules.php.api.util.FileUtils;
6160
import org.netbeans.modules.php.api.util.StringUtils;
@@ -69,6 +68,7 @@
6968
import org.openide.util.Exceptions;
7069
import org.openide.util.NbBundle;
7170
import org.openide.util.RequestProcessor;
71+
import org.openide.util.Utilities;
7272

7373
final class WordPressOptionsPanel extends javax.swing.JPanel {
7474

@@ -537,6 +537,9 @@ private void wpCliSearchButtonActionPerformed(java.awt.event.ActionEvent evt) {/
537537
String script = UiUtils.SearchWindow.search(new UiUtils.SearchWindow.SearchWindowSupport() {
538538
@Override
539539
public List<String> detect() {
540+
if (Utilities.isWindows()) {
541+
return FileUtils.findFileOnUsersPath(WordPressCli.NAME, WordPressCli.LONG_NAME, WordPressCli.NAME_BAT);
542+
}
540543
return FileUtils.findFileOnUsersPath(WordPressCli.NAME, WordPressCli.LONG_NAME);
541544
}
542545

0 commit comments

Comments
 (0)