Skip to content

Commit 326dace

Browse files
author
Vladimir Kotal
committed
add global tunable for navigate window
fixes #2397
1 parent ffddfd3 commit 326dace

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

opengrok-indexer/src/main/java/org/opengrok/indexer/configuration/Configuration.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,12 @@ public final class Configuration {
274274
*/
275275
private boolean listDirsFirst = true;
276276

277+
/**
278+
* A flag if the navigate window should be opened by default when browsing
279+
* the source code of projects.
280+
*/
281+
private boolean navigateWindowEnabled;
282+
277283
private SuggesterConfig suggesterConfig = new SuggesterConfig();
278284

279285
/*
@@ -441,6 +447,7 @@ public Configuration() {
441447
//mandoc is default(String)
442448
setMaxSearchThreadCount(2 * Runtime.getRuntime().availableProcessors());
443449
setMessageLimit(500);
450+
setNavigateWindowEnabled(false);
444451
setOptimizeDatabase(true);
445452
setPluginDirectory(null);
446453
setPluginStack(new AuthorizationStack(AuthControlFlag.REQUIRED, "default stack"));
@@ -727,6 +734,14 @@ public void setHandleHistoryOfRenamedFiles(boolean enable) {
727734
this.handleHistoryOfRenamedFiles = enable;
728735
}
729736

737+
public boolean isNavigateWindowEnabled() {
738+
return navigateWindowEnabled;
739+
}
740+
741+
public void setNavigateWindowEnabled(boolean navigateWindowEnabled) {
742+
this.navigateWindowEnabled = navigateWindowEnabled;
743+
}
744+
730745
public Map<String,Project> getProjects() {
731746
return projects;
732747
}

opengrok-indexer/src/main/java/org/opengrok/indexer/configuration/Project.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public class Project implements Comparable<Project>, Nameable, Serializable {
6666
* A flag if the navigate window should be opened by default when browsing
6767
* the source code of this project.
6868
*/
69-
private boolean navigateWindowEnabled = false;
69+
private Boolean navigateWindowEnabled = null;
7070

7171
/**
7272
* This flag sets per-project handling of renamed files.
@@ -227,7 +227,7 @@ public boolean hasTabSizeSetting() {
227227
* @return true if yes; false otherwise
228228
*/
229229
public boolean isNavigateWindowEnabled() {
230-
return navigateWindowEnabled;
230+
return navigateWindowEnabled != null && navigateWindowEnabled;
231231
}
232232

233233
/**
@@ -326,6 +326,11 @@ final public void completeWithDefaults(Configuration cfg) {
326326
if (historyEnabled == null) {
327327
setHistoryEnabled(cfg.isHistoryEnabled());
328328
}
329+
330+
// Allow project to override global setting of navigate window.
331+
if (navigateWindowEnabled == null) {
332+
setNavigateWindowEnabled(cfg.isNavigateWindowEnabled());
333+
}
329334
}
330335

331336
/**

opengrok-indexer/src/main/java/org/opengrok/indexer/configuration/RuntimeEnvironment.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1182,6 +1182,14 @@ public boolean isHandleHistoryOfRenamedFiles() {
11821182
return threadConfig.get().isHandleHistoryOfRenamedFiles();
11831183
}
11841184

1185+
public void setNavigateWindowEnabled(boolean enable) {
1186+
threadConfig.get().setNavigateWindowEnabled(enable);
1187+
}
1188+
1189+
public boolean isNavigateWindowEnabled() {
1190+
return threadConfig.get().isNavigateWindowEnabled();
1191+
}
1192+
11851193
public void setRevisionMessageCollapseThreshold(int threshold) {
11861194
threadConfig.get().setRevisionMessageCollapseThreshold(threshold);
11871195
}

opengrok-indexer/src/test/java/org/opengrok/indexer/configuration/ProjectTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,15 @@ public void testGetProjectDescriptions() {
140140
public void testMergeProjects1() {
141141
Configuration cfg = new Configuration();
142142
cfg.setTabSize(new Configuration().getTabSize() + 3731);
143+
cfg.setNavigateWindowEnabled(!new Configuration().isNavigateWindowEnabled());
143144

144145
Project p1 = new Project();
146+
assertNotNull(p1);
145147

146148
p1.completeWithDefaults(cfg);
147149

148-
assertNotNull(p1);
149-
assertEquals(new Configuration().getTabSize() + 3731, p1.getTabSize());
150+
assertEquals(cfg.getTabSize(), p1.getTabSize());
151+
assertEquals(cfg.isNavigateWindowEnabled(), p1.isNavigateWindowEnabled());
150152
}
151153

152154
/**

0 commit comments

Comments
 (0)