diff --git a/ccm-cms/src/com/arsdigita/cms/CMSConfig.java b/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
index 0f9540bba..8d58fd7e0 100755
--- a/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
+++ b/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
@@ -442,6 +442,13 @@ public final class CMSConfig extends AbstractConfig {
private final Parameter m_itemSearchDefaultTab = new StringParameter("com.arsdigita.cms.item_search.default_tab",
Parameter.REQUIRED, "browse");
+ /////////////////////////////////////////////
+ // FolderBrowse
+ /////////////////////////////////////////////
+ private final Parameter m_folderBrowseListSize = new IntegerParameter("com.arsdigita.cms.folder_browse_list_size",
+ Parameter.REQUIRED, 20);
+
+
// ///////////////////////////////////////////
// publishToFile package related parameter
// ///////////////////////////////////////////
@@ -516,6 +523,8 @@ public final class CMSConfig extends AbstractConfig {
register(m_itemSearchDefaultTab);
+ register(m_folderBrowseListSize);
+
// publishToFile package related parameter
// Moved to publishToFile.PublishToFileConfig as of version 6.0.2
// register(m_disableItemPfs);
@@ -888,4 +897,8 @@ public final class CMSConfig extends AbstractConfig {
public String getItemSearchDefaultTab() {
return (String) get(m_itemSearchDefaultTab);
}
+
+ public Integer getFolderBrowseListSize() {
+ return (Integer) get(m_folderBrowseListSize);
+ }
}
diff --git a/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties b/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
index c28e274cd..a6017c654 100755
--- a/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
+++ b/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
@@ -233,8 +233,13 @@ com.arsdigita.cms.item_search.default_tab.purpose=Select either "browse" or "sea
com.arsdigita.cms.item_search.default_tab.example=browse
com.arsdigita.cms.item_search.default_tab.format=[string]
-com.arsdigita.cms.item_search.xx.title=
-com.arsdigita.cms.item_search.xx.purpose=
-com.arsdigita.cms.item_search.xx.example=
-com.arsdigita.cms.item_search.xx.format=[string]
+com.arsdigita.cms.folder_browse_list_size.title=List size for the folder browse widget
+com.arsdigita.cms.folder_browse_list_size.purpose=Allows to change the number of items displayed on each page of the folder browse widget
+com.arsdigita.cms.folder_browse_list_size.example=20
+com.arsdigita.cms.folder_browse_list_size.format=[integer]
+
+com.arsdigita.cms.xx.title=
+com.arsdigita.cms.xx.purpose=
+com.arsdigita.cms.xx.example=
+com.arsdigita.cms.xx.format=[string]
diff --git a/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java b/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java
index 44c62fdbd..65d67e150 100755
--- a/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java
+++ b/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java
@@ -93,9 +93,6 @@ public class FlatItemList extends SegmentedPanel
private static final String PRIVILEGE = "privilege";
private static final String PRIVILEGE_NAME = "prettyName";
- //maximum number of items displayed in the table at a time
- public static int LIST_SIZE = 20;
-
// The folder selectors
private FolderSelectionModel m_folderSel;
private FolderRequestLocal m_folder;
@@ -295,6 +292,7 @@ public class FlatItemList extends SegmentedPanel
m_editFolderSeg.add(new Label("
", false));
}
+ @Override
public void register(Page p) {
super.register(p);
diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java
index 43311a3e2..12611b542 100755
--- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java
+++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java
@@ -56,8 +56,6 @@ import com.arsdigita.persistence.FilterFactory;
import com.arsdigita.util.Assert;
import java.math.BigDecimal;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.StringTokenizer;
/**
@@ -72,7 +70,7 @@ public class ItemSearchFolderBrowser extends Table {
private static final org.apache.log4j.Logger s_log =
org.apache.log4j.Logger.getLogger(ItemSearchFolderBrowser.class);
- public static final int MAX_ROWS = 15;
+
private static GlobalizedMessage[] s_headers = {
globalize("cms.ui.folder.name"),
globalize("cms.ui.folder.title"),
@@ -90,7 +88,7 @@ public class ItemSearchFolderBrowser extends Table {
FolderTableModelBuilder builder = new FolderTableModelBuilder();
setModelBuilder(builder);
- m_paginator = new Paginator(builder, MAX_ROWS);
+ m_paginator = new Paginator(builder, ContentSection.getConfig().getFolderBrowseListSize());
m_currentFolder = currentFolder;
@@ -253,7 +251,7 @@ public class ItemSearchFolderBrowser extends Table {
int size = ((Integer) m_size.get(state)).intValue();
return ItemSearchFolderBrowser.this.isVisible(state)
- && (size > MAX_ROWS);
+ && (size > ContentSection.getConfig().getFolderBrowseListSize());
}
}
@@ -319,7 +317,7 @@ public class ItemSearchFolderBrowser extends Table {
}
private String generateJSLabel(BigDecimal id, String widget, String fill) {
- StringBuffer buffer = new StringBuffer();
+ StringBuilder buffer = new StringBuilder();
buffer.append("