001    package jmaster.jumploader.model.api.config;
002    
003    import java.io.File;
004    import java.util.ArrayList;
005    import java.util.List;
006    import java.util.MissingResourceException;
007    import java.util.StringTokenizer;
008    
009    import javax.swing.filechooser.FileSystemView;
010    
011    import jmaster.jumploader.model.api.IModel;
012    import jmaster.jumploader.model.api.config.ViewConfig;
013    import jmaster.util.property.Property;
014    import jmaster.util.property.PropertyFactory;
015    import jmaster.util.property.PropertyHelper;
016    
017    
018    /**
019     * ViewConfig
020     * 
021     * @author timur
022     */
023    
024    public class ViewConfig {
025            //---------------------------------------------------------------
026            //      constants
027            //---------------------------------------------------------------
028            /**
029             * property file
030             */
031            private static final String PROPERTY = "ViewConfig.properties";
032            /**
033             * system look and feel name
034             */
035            public static final String LOOK_AND_FEEL_SYSTEM = "system";
036            /**
037             * crossplatform look and feel name
038             */
039            public static final String LOOK_AND_FEEL_CROSSPLATFORM = "crossPlatform";
040            /**
041             * constant for default directory
042             */
043            public static final String FILE_DEFAULT = "default";
044            /**
045             * constant for home directory
046             */
047            public static final String FILE_HOME = "home";
048            /**
049             * constant for root directories
050             */
051            public static final String FILE_ROOTS = "roots";
052            //---------------------------------------------------------------
053            //      common properties
054            //---------------------------------------------------------------
055            /**
056             * look and feel name, this could be "system", "crossPlatform" or custom look and feel class name
057             */
058            private String lookAndFeel = LOOK_AND_FEEL_CROSSPLATFORM;
059            /**
060             * generated file thumbnail width
061             */
062            private int thumbWidth = 80;
063            /**
064             * generated file thumbnail height
065             */
066            private int thumbHeight = 80;
067            /**
068             * shows whether thumbnails should be generated
069             */
070            private boolean useThumbs = true;
071            /**
072             * allowed file name regex pattern to display (not applied to folders), null for all
073             */
074            private String fileNamePattern = null;
075            /**
076             * ui defaults, this must be string formatted as follows:
077             * key1=value1;key2=value2;...keyN=valueN
078             */
079            private String uiDefaults = null;
080            /**
081             * shows whether ui default should be dumped to log
082             */
083            private boolean dumpUiDefaults;
084            /**
085             * gui properties to add to GUIHelper, this must be string formatted as follows:
086             * key1=value1;key2=value2;...keyN=valueN
087             */
088            private String guiProperties;
089            /**
090             * disable local file system (prevent creation of file system tree/list)
091             */
092            private boolean disableLocalFileSystem = true;
093            /**
094             * use native file dialog (false by default,
095             * currently works for windows platform only, requires xfiledialog.jar applet archive).
096             * NB! use xfileFilterString to specify filter for file dialog
097             */
098            private boolean useNativeFileDialog = false;
099            /**
100             * a filter string for native xfile dialog
101             * must be formatted like: desc0|*.ext00;...;*.ext0n|desc1|*.ext10;...;*.ext1n...
102             */
103            private String xfileDialogFilterString = null;
104            //---------------------------------------------------------------
105            //      main view
106            //---------------------------------------------------------------
107            /**
108             * shows whether logo is enabled or not
109             */
110            private boolean mainViewLogoEnabled = true;
111            /**
112             * shows whether local files tree view is visible
113             */
114            private boolean mainViewFileTreeViewVisible = false;
115            /**
116             * local files tree view width (percent)
117             */
118            private int mainViewFileTreeViewWidthPercent = 25;
119            /**
120             * shows whether local files list view is visible
121             */
122            private boolean mainViewFileListViewVisible = false;
123            /**
124             * local files list view height (percent)
125             */
126            private int mainViewFileListViewHeightPercent = 50;
127            /**
128             * shows whether file upload errors should be displayed
129             */
130            private boolean mainViewShowUploadErrors = false;
131            //---------------------------------------------------------------
132            //      file browser
133            //---------------------------------------------------------------
134            /**
135             * shows what location should be initially selected in a file browser,
136             * could be one of FILE_XXX constants or file absolute path
137             */
138            private String fileBrowserInitialLocation = FILE_DEFAULT;
139            //---------------------------------------------------------------
140            //      file tree view
141            //---------------------------------------------------------------
142            /**
143             * shows whether files should be rendered on file tree
144             */
145            private boolean fileTreeViewShowFiles = false;
146            /**
147             * shows whether file length should be rendered on file tree
148             */
149            private boolean fileTreeViewShowFileLength = false;
150            /**
151             * shows whether hidden files/folders should be rendered on file tree
152             */
153            private boolean fileTreeViewShowHiddenFiles = false;
154            /**
155             * root files (; separated if multiple) to display in a file tree, 
156             * FILE_XXX constants allowed as well as absolute file path
157             */
158            private String fileTreeViewRootFiles = FILE_HOME;
159            /**
160             * shows whether files should be added to upload queue on dbl click (true by default)
161             */
162            private boolean fileTreeQueueFileOnDblClick = true;
163            //---------------------------------------------------------------
164            //      file list view
165            //---------------------------------------------------------------
166            /**
167             * shows whether local files list view location bar is visible
168             */
169            private boolean fileListViewLocationBarVisible = true;
170            /**
171             * shows whether thumbnails should be generated for file list view
172             */
173            private boolean fileListViewUseThumbs = true;
174            /**
175             * shows whether files should be added to upload queue on dbl click (true by default)
176             */
177            private boolean fileListQueueFileOnDblClick = true;
178            /**
179             * shows whether folders should be rendered on file list (true by default)
180             */
181            private boolean fileListViewShowFolders = true;
182            /**
183             * shows whether hidden files/folders should be rendered on file list
184             */
185            private boolean fileListViewShowHiddenFiles = false;
186            /**
187             * preview image tooltip
188             */
189            private boolean fileListViewImagePreviewTooltip = true;
190            /**
191             * preview image tooltip bounding box, must be {width}x{height}
192             */
193            private String fileListViewImagePreviewTooltipBox = "400x400";
194            //---------------------------------------------------------------
195            //      upload view
196            //---------------------------------------------------------------       
197            /**
198             * upload view menu bar (containing add/remove/retry menus
199             * and files summary labels) visibility
200             */
201            private boolean uploadViewMenuBarVisible = true;
202            /**
203             * upload paste action visibility
204             */
205            private boolean uploadViewPasteActionVisible = true;
206            /**
207             * upload add action visibility
208             */
209            private boolean uploadViewAddActionVisible = true;
210            /**
211             * upload view remove action visibility
212             */
213            private boolean uploadViewRemoveActionVisible = true;
214            /**
215             * upload view retry action visibility
216             */
217            private boolean uploadViewRetryActionVisible = true;
218            /**
219             * upload view files summary bar (ready/uploading/finished/failed) visibility
220             */
221            private boolean uploadViewFilesSummaryBarVisible = true;
222            /**
223             * upload view start action visibility
224             */
225            private boolean uploadViewStartActionVisible = true;
226            /**
227             * upload view start action always visible
228             */
229            private boolean uploadViewStartActionAlwaysVisible = false;
230            /**
231             * upload view stop action visibility
232             */
233            private boolean uploadViewStopActionVisible = true;
234            /**
235             * upload view stop action always visibile
236             */
237            private boolean uploadViewStopActionAlwaysVisible = false;
238            /**
239             * upload view list status line visibility
240             */
241            private boolean uploadViewListStatusVisible = true;
242            /**
243             * upload view progress pane (incl. pogress bar and upload stats:
244             * completion, rate, time) visibility
245             */
246            private boolean uploadViewProgressPaneVisible = true;
247            /**
248             * shows whether thumbnails should be generated for upload view
249             */
250            private boolean uploadViewUseThumbs = true;
251            /**
252             * custom name for upload list
253             */
254            private String uploadListViewName = null;
255            /**
256             * upload view start upload button text
257             */
258            private String uploadViewStartUploadButtonText = null;
259            /**
260             * upload view start upload button image url
261             */
262            private String uploadViewStartUploadButtonImageUrl = null;
263            /**
264             * upload view stop upload button text
265             */
266            private String uploadViewStopUploadButtonText = null;
267            /**
268             * upload view stop upload button image url
269             */
270            private String uploadViewStopUploadButtonImageUrl = null;
271            /**
272             * shows whether list should be positioned to item being uploaded
273             */
274            private boolean uploadViewAutoscrollToUploadingFile = false;
275            /**
276             * y-index of menu bar of upload view
277             */
278            private int uploadViewMenuBarY = 0;
279            /**
280             * y-index of file list of upload view
281             */
282            private int uploadViewListY = 1;
283            /**
284             * y-index of control panel of upload view
285             */
286            private int uploadViewControlPanelY = 2;
287            /**
288             * shows whether upload view list should show file size
289             */
290            private boolean uploadViewListShowFileSize = true;
291            /**
292             * shows whether upload view list should show stop action for files being uploaded
293             */
294            private boolean uploadViewListShowStop = true;
295            /**
296             * shows whether upload view list should show retry action for failed files
297             */
298            private boolean uploadViewListShowRetry = true;
299            /**
300             * shows whether upload view list should bring add dialog on dbl click
301             */
302            private boolean uploadViewListShowAddDialogOnDblClick = true;
303            /**
304             * shows whether upload view file chooser should display details view initially
305             */
306            private boolean uploadViewFileChooserDetailsView = false;
307            //---------------------------------------------------------------
308            //      thumbnail manager progress view
309            //---------------------------------------------------------------
310            /**
311             * thumbnail manager progress view enabled (true by default)
312             */
313            private boolean thumbnailManagerProgressViewEnabled = true;
314            /**
315             * thumbnail manager progress view horizontal margin (4 by default)
316             */
317            private int thumbnailManagerProgressViewHorizontalMargin = 4;
318            /**
319             * thumbnail manager progress view vertical margin (4 by default)
320             */
321            private int thumbnailManagerProgressViewVerticalMargin = 4;
322            //---------------------------------------------------------------
323            //      constructors
324            //---------------------------------------------------------------
325            /**
326             * with model 
327             */
328            public ViewConfig( IModel model ) {
329                    super();
330                    //
331                    //      inject properties, if present
332                    try {
333                            PropertyFactory pf = PropertyFactory.getInstance();
334                            Property pr = pf.getProperty( PROPERTY );
335                            PropertyHelper ph = PropertyHelper.getInstance();
336                            ph.injectProperties( this, pr, null );
337                    } catch( MissingResourceException ignore ) {
338                    }
339            }
340            //---------------------------------------------------------------
341            //      business methods
342            //---------------------------------------------------------------
343            /**
344             * retrieve array of files from property string
345             */
346            public static File[] getFilesFromPropertyString( String property ) {
347                    File[] result = null;
348                    if( property != null ) {
349                            FileSystemView fsv = FileSystemView.getFileSystemView();
350                            List fileList = new ArrayList();
351                            StringTokenizer st = new StringTokenizer( property, ";" );
352                            while( st.hasMoreTokens() ) {
353                                    String token = st.nextToken();
354                                    if( ViewConfig.FILE_HOME.equals( token ) ) {
355                                            fileList.add( fsv.getHomeDirectory() );
356                                    } else
357                                    if( ViewConfig.FILE_DEFAULT.equals( token ) ) {
358                                            fileList.add( fsv.getDefaultDirectory() );
359                                    } else
360                                    if( ViewConfig.FILE_ROOTS.equals( token ) ) {
361                                            File[] roots = fsv.getRoots();
362                                            for( int i = 0; i < roots.length; i++ ) {
363                                                    fileList.add( roots[ i ] );
364                                            }
365                                    } else {
366                                            fileList.add( new File( token ) );
367                                    }
368                            }
369                            File[] files = new File[ fileList.size() ];
370                            for( int i = 0; i < fileList.size(); i++ ) {
371                                    files[ i ] = (File) fileList.get( i );
372                            }
373                            result = files;
374                    }
375                    return result;
376            }
377            //---------------------------------------------------------------
378            //      property accessors
379            //---------------------------------------------------------------
380            /* (non-Javadoc)
381             * @see jmaster.jumploader.model.impl.config.xx#toString()
382             */
383            public String toString() {
384                    return "" +
385                    "lookAndFeel=" + lookAndFeel + "\r\n" +
386                    "uiDefaults=" + uiDefaults + "\r\n" +
387                    "dumpUiDefaults=" + dumpUiDefaults + "\r\n" +
388                    "guiProperties=" + guiProperties + "\r\n" +
389                    "useThumbs=" + useThumbs + "\r\n" +
390                    "thumbWidth=" + thumbWidth + "\r\n" +
391                    "thumbHeight=" + thumbHeight + "\r\n" +
392                    "fileNamePattern=" + fileNamePattern + "\r\n" +
393                    "mainViewLogoEnabled=" + mainViewLogoEnabled + "\r\n" +
394                    "mainViewFileTreeViewVisible=" + mainViewFileTreeViewVisible + "\r\n" +
395                    "mainViewFileTreeViewWidthPercent=" + mainViewFileTreeViewWidthPercent + "\r\n" +
396                    "mainViewFileListViewVisible=" + mainViewFileListViewVisible + "\r\n" +
397                    "mainViewFileListViewHeightPercent=" + mainViewFileListViewHeightPercent + "\r\n" +
398                    "mainViewShowUploadErrors=" + mainViewShowUploadErrors + "\r\n" +
399                    "fileBrowserInitialLocation=" + fileBrowserInitialLocation + "\r\n" +
400                    "fileTreeViewShowFiles=" + fileTreeViewShowFiles + "\r\n" +
401                    "fileTreeViewShowFileLength=" + fileTreeViewShowFileLength + "\r\n" +
402                    "fileTreeViewShowHiddenFiles=" + fileTreeViewShowHiddenFiles + "\r\n" +
403                    "fileTreeViewRootFiles=" + fileTreeViewRootFiles + "\r\n" + 
404                    "fileListViewLocationBarVisible=" + fileListViewLocationBarVisible + "\r\n" +
405                    "fileListViewUseThumbs=" + fileListViewUseThumbs + "\r\n" +
406                    "fileListViewShowFolders=" + fileListViewShowFolders + "\r\n" +
407                    "fileListQueueFileOnDblClick=" + fileListQueueFileOnDblClick + "\r\n" +
408                    "fileListViewImagePreviewTooltip=" + fileListViewImagePreviewTooltip + "\r\n" +
409                    "fileListViewImagePreviewTooltipBox=" + fileListViewImagePreviewTooltipBox + "\r\n" +
410                    "fileTreeViewShowHiddenFiles=" + fileTreeViewShowHiddenFiles + "\r\n" +
411                    "fileTreeQueueFileOnDblClick=" + fileTreeQueueFileOnDblClick + "\r\n" +
412                    "uploadViewMenuBarVisible=" + uploadViewMenuBarVisible + "\r\n" +
413                    "uploadViewPasteActionVisible=" + uploadViewPasteActionVisible + "\r\n" +
414                    "uploadViewAddActionVisible=" + uploadViewAddActionVisible + "\r\n" +
415                    "uploadViewRemoveActionVisible=" + uploadViewRemoveActionVisible + "\r\n" +
416                    "uploadViewRetryActionVisible=" + uploadViewRetryActionVisible + "\r\n" +
417                    "uploadViewFilesSummaryBarVisible=" + uploadViewFilesSummaryBarVisible + "\r\n" +
418                    "uploadViewStartActionVisible=" + uploadViewStartActionVisible + "\r\n" +
419                    "uploadViewStopActionVisible=" + uploadViewStopActionVisible + "\r\n" +
420                    "uploadViewListStatusVisible=" + uploadViewListStatusVisible + "\r\n" +
421                    "uploadViewProgressPaneVisible=" + uploadViewProgressPaneVisible + "\r\n" +
422                    "uploadViewUseThumbs=" + uploadViewUseThumbs + "\r\n" +
423                    "uploadListViewName=" + uploadListViewName + "\r\n" +
424                    "disableLocalFileSystem=" + disableLocalFileSystem + "\r\n" +
425                    "uploadViewStartUploadButtonText" + uploadViewStartUploadButtonText + "\r\n" +
426                    "uploadViewStartUploadButtonImageUrl=" + uploadViewStartUploadButtonImageUrl + "\r\n" +
427                    "uploadViewStopUploadButtonText=" + uploadViewStopUploadButtonText + "\r\n" +
428                    "uploadViewStopUploadButtonImageUrl=" + uploadViewStopUploadButtonImageUrl + "\r\n" +
429                    "uploadViewAutoscrollToUploadingFile=" + uploadViewAutoscrollToUploadingFile + "\r\n" +
430                    "uploadViewStartActionAlwaysVisible=" + uploadViewStartActionAlwaysVisible + "\r\n" +
431                    "uploadViewStopActionAlwaysVisible=" + uploadViewStopActionAlwaysVisible + "\r\n" +
432                    "uploadViewMenuBarY=" + uploadViewMenuBarY + "\r\n" +
433                    "uploadViewListY=" + uploadViewListY + "\r\n" +
434                    "uploadViewControlPanelY=" + uploadViewControlPanelY + "\r\n" +
435                    "thumbnailManagerProgressViewEnabled=" + thumbnailManagerProgressViewEnabled + "\r\n" +
436                    "thumbnailManagerProgressViewHorizontalMargin=" + thumbnailManagerProgressViewHorizontalMargin + "\r\n" +
437                    "thumbnailManagerProgressViewVerticalMargin=" + thumbnailManagerProgressViewVerticalMargin + "\r\n" +
438                    "uploadViewListShowFileSize=" + uploadViewListShowFileSize + "\r\n" +
439                    "uploadViewListShowStop=" + uploadViewListShowStop + "\r\n" +
440                    "uploadViewListShowRetry=" + uploadViewListShowRetry + "\r\n" +
441                    "uploadViewListShowAddDialogOnDblClick=" + uploadViewListShowAddDialogOnDblClick + "\r\n" +
442                    "uploadViewFileChooserDetailsView=" + uploadViewFileChooserDetailsView + "\r\n" +
443                    "useNativeFileDialog=" + useNativeFileDialog + "\r\n" +
444                    "xfileDialogFilterString=" + xfileDialogFilterString + "\r\n" +
445                    "";
446            }
447            public boolean isDumpUiDefaults() {
448                    return dumpUiDefaults;
449            }
450            public void setDumpUiDefaults(boolean dumpUiDefaults) {
451                    this.dumpUiDefaults = dumpUiDefaults;
452            }
453            public String getFileNamePattern() {
454                    return fileNamePattern;
455            }
456            public void setFileNamePattern(String fileNamePattern) {
457                    this.fileNamePattern = fileNamePattern;
458            }
459            public boolean isFileListViewLocationBarVisible() {
460                    return fileListViewLocationBarVisible;
461            }
462            public void setFileListViewLocationBarVisible(
463                            boolean fileListViewLocationBarVisible) {
464                    this.fileListViewLocationBarVisible = fileListViewLocationBarVisible;
465            }
466            public boolean isFileTreeViewShowFileLength() {
467                    return fileTreeViewShowFileLength;
468            }
469            public void setFileTreeViewShowFileLength(boolean fileTreeViewShowFileLength) {
470                    this.fileTreeViewShowFileLength = fileTreeViewShowFileLength;
471            }
472            public boolean isFileTreeViewShowFiles() {
473                    return fileTreeViewShowFiles;
474            }
475            public void setFileTreeViewShowFiles(boolean fileTreeViewShowFiles) {
476                    this.fileTreeViewShowFiles = fileTreeViewShowFiles;
477            }
478            public String getLookAndFeel() {
479                    return lookAndFeel;
480            }
481            public void setLookAndFeel(String lookAndFeel) {
482                    this.lookAndFeel = lookAndFeel;
483            }
484            public int getThumbHeight() {
485                    return thumbHeight;
486            }
487            public void setThumbHeight(int thumbHeight) {
488                    this.thumbHeight = thumbHeight;
489            }
490            public int getThumbWidth() {
491                    return thumbWidth;
492            }
493            public void setThumbWidth(int thumbWidth) {
494                    this.thumbWidth = thumbWidth;
495            }
496            public boolean isUploadViewAddActionVisible() {
497                    return uploadViewAddActionVisible;
498            }
499            public void setUploadViewAddActionVisible(boolean uploadViewAddActionVisible) {
500                    this.uploadViewAddActionVisible = uploadViewAddActionVisible;
501            }
502            public boolean isUploadViewFilesSummaryBarVisible() {
503                    return uploadViewFilesSummaryBarVisible;
504            }
505            public void setUploadViewFilesSummaryBarVisible(
506                            boolean uploadViewFilesSummaryBarVisible) {
507                    this.uploadViewFilesSummaryBarVisible = uploadViewFilesSummaryBarVisible;
508            }
509            public boolean isUploadViewListStatusVisible() {
510                    return uploadViewListStatusVisible;
511            }
512            public void setUploadViewListStatusVisible(boolean uploadViewListStatusVisible) {
513                    this.uploadViewListStatusVisible = uploadViewListStatusVisible;
514            }
515            public boolean isUploadViewMenuBarVisible() {
516                    return uploadViewMenuBarVisible;
517            }
518            public void setUploadViewMenuBarVisible(boolean uploadViewMenuBarVisible) {
519                    this.uploadViewMenuBarVisible = uploadViewMenuBarVisible;
520            }
521            public boolean isUploadViewProgressPaneVisible() {
522                    return uploadViewProgressPaneVisible;
523            }
524            public void setUploadViewProgressPaneVisible(
525                            boolean uploadViewProgressPaneVisible) {
526                    this.uploadViewProgressPaneVisible = uploadViewProgressPaneVisible;
527            }
528            public boolean isUploadViewRemoveActionVisible() {
529                    return uploadViewRemoveActionVisible;
530            }
531            public void setUploadViewRemoveActionVisible(
532                            boolean uploadViewRemoveActionVisible) {
533                    this.uploadViewRemoveActionVisible = uploadViewRemoveActionVisible;
534            }
535            public boolean isUploadViewRetryActionVisible() {
536                    return uploadViewRetryActionVisible;
537            }
538            public void setUploadViewRetryActionVisible(boolean uploadViewRetryActionVisible) {
539                    this.uploadViewRetryActionVisible = uploadViewRetryActionVisible;
540            }
541            public boolean isUploadViewStartActionVisible() {
542                    return uploadViewStartActionVisible;
543            }
544            public void setUploadViewStartActionVisible(boolean uploadViewStartActionVisible) {
545                    this.uploadViewStartActionVisible = uploadViewStartActionVisible;
546            }
547            public boolean isUploadViewStopActionVisible() {
548                    return uploadViewStopActionVisible;
549            }
550            public void setUploadViewStopActionVisible(boolean uploadViewStopActionVisible) {
551                    this.uploadViewStopActionVisible = uploadViewStopActionVisible;
552            }
553            public int getMainViewFileListViewHeightPercent() {
554                    return mainViewFileListViewHeightPercent;
555            }
556            public void setMainViewFileListViewHeightPercent(
557                            int mainViewFileListViewHeightPercent) {
558                    this.mainViewFileListViewHeightPercent = mainViewFileListViewHeightPercent;
559            }
560            public boolean isMainViewFileListViewVisible() {
561                    return mainViewFileListViewVisible;
562            }
563            public void setMainViewFileListViewVisible(boolean mainViewFileListViewVisible) {
564                    this.mainViewFileListViewVisible = mainViewFileListViewVisible;
565            }
566            public int getMainViewFileTreeViewWidthPercent() {
567                    return mainViewFileTreeViewWidthPercent;
568            }
569            public void setMainViewFileTreeViewWidthPercent(
570                            int mainViewFileTreeViewWidthPercent) {
571                    this.mainViewFileTreeViewWidthPercent = mainViewFileTreeViewWidthPercent;
572            }
573            public boolean isMainViewFileTreeViewVisible() {
574                    return mainViewFileTreeViewVisible;
575            }
576            public void setMainViewFileTreeViewVisible(boolean mainViewFileTreeViewVisible) {
577                    this.mainViewFileTreeViewVisible = mainViewFileTreeViewVisible;
578            }
579            public boolean isMainViewLogoEnabled() {
580                    return mainViewLogoEnabled;
581            }
582            public void setMainViewLogoEnabled(boolean mainViewLogoEnabled) {
583                    this.mainViewLogoEnabled = mainViewLogoEnabled;
584            }
585            public boolean isUseThumbs() {
586                    return useThumbs;
587            }
588            public void setUseThumbs(boolean useThumbs) {
589                    this.useThumbs = useThumbs;
590            }
591            public boolean isFileListViewUseThumbs() {
592                    return fileListViewUseThumbs;
593            }
594            public void setFileListViewUseThumbs(boolean fileListViewUseThumbs) {
595                    this.fileListViewUseThumbs = fileListViewUseThumbs;
596            }
597            public boolean isUploadViewUseThumbs() {
598                    return uploadViewUseThumbs;
599            }
600            public void setUploadViewUseThumbs(boolean uploadViewUseThumbs) {
601                    this.uploadViewUseThumbs = uploadViewUseThumbs;
602            }
603            public String getUploadListViewName() {
604                    return uploadListViewName;
605            }
606            public void setUploadListViewName(String uploadListViewName) {
607                    this.uploadListViewName = uploadListViewName;
608            }
609            public String getUiDefaults() {
610                    return uiDefaults;
611            }
612            public void setUiDefaults(String uiDefaults) {
613                    this.uiDefaults = uiDefaults;
614            }
615            public String getGuiProperties() {
616                    return guiProperties;
617            }
618            public void setGuiProperties(String guiProperties) {
619                    this.guiProperties = guiProperties;
620            }
621            public boolean isDisableLocalFileSystem() {
622                    return disableLocalFileSystem;
623            }
624            public void setDisableLocalFileSystem(boolean disableLocalFileSystem) {
625                    this.disableLocalFileSystem = disableLocalFileSystem;
626            }
627            public String getUploadViewStartUploadButtonImageUrl() {
628                    return uploadViewStartUploadButtonImageUrl;
629            }
630            public void setUploadViewStartUploadButtonImageUrl(
631                            String uploadViewStartUploadButtonImageUrl) {
632                    this.uploadViewStartUploadButtonImageUrl = uploadViewStartUploadButtonImageUrl;
633            }
634            public String getUploadViewStartUploadButtonText() {
635                    return uploadViewStartUploadButtonText;
636            }
637            public void setUploadViewStartUploadButtonText(
638                            String uploadViewStartUploadButtonText) {
639                    this.uploadViewStartUploadButtonText = uploadViewStartUploadButtonText;
640            }
641            public String getUploadViewStopUploadButtonImageUrl() {
642                    return uploadViewStopUploadButtonImageUrl;
643            }
644            public void setUploadViewStopUploadButtonImageUrl(
645                            String uploadViewStopUploadButtonImageUrl) {
646                    this.uploadViewStopUploadButtonImageUrl = uploadViewStopUploadButtonImageUrl;
647            }
648            public String getUploadViewStopUploadButtonText() {
649                    return uploadViewStopUploadButtonText;
650            }
651            public void setUploadViewStopUploadButtonText(
652                            String uploadViewStopUploadButtonText) {
653                    this.uploadViewStopUploadButtonText = uploadViewStopUploadButtonText;
654            }
655            public boolean isUploadViewPasteActionVisible() {
656                    return uploadViewPasteActionVisible;
657            }
658            public void setUploadViewPasteActionVisible(boolean uploadViewPasteActionVisible) {
659                    this.uploadViewPasteActionVisible = uploadViewPasteActionVisible;
660            }
661            public boolean isUploadViewAutoscrollToUploadingFile() {
662                    return uploadViewAutoscrollToUploadingFile;
663            }
664            public void setUploadViewAutoscrollToUploadingFile(
665                            boolean uploadViewAutoscrollToUploadingFile) {
666                    this.uploadViewAutoscrollToUploadingFile = uploadViewAutoscrollToUploadingFile;
667            }
668            public boolean isUploadViewStartActionAlwaysVisible() {
669                    return uploadViewStartActionAlwaysVisible;
670            }
671            public void setUploadViewStartActionAlwaysVisible(
672                            boolean uploadViewStartActionAlwaysVisible) {
673                    this.uploadViewStartActionAlwaysVisible = uploadViewStartActionAlwaysVisible;
674            }
675            public boolean isUploadViewStopActionAlwaysVisible() {
676                    return uploadViewStopActionAlwaysVisible;
677            }
678            public void setUploadViewStopActionAlwaysVisible(
679                            boolean uploadViewStopActionAlwaysVisible) {
680                    this.uploadViewStopActionAlwaysVisible = uploadViewStopActionAlwaysVisible;
681            }
682            public int getUploadViewMenuBarY() {
683                    return uploadViewMenuBarY;
684            }
685            public void setUploadViewMenuBarY(int uploadViewMenuBarY) {
686                    this.uploadViewMenuBarY = uploadViewMenuBarY;
687            }
688            public int getUploadViewListY() {
689                    return uploadViewListY;
690            }
691            public void setUploadViewListY(int uploadViewListY) {
692                    this.uploadViewListY = uploadViewListY;
693            }
694            public int getUploadViewControlPanelY() {
695                    return uploadViewControlPanelY;
696            }
697            public void setUploadViewControlPanelY(int uploadViewControlPanelY) {
698                    this.uploadViewControlPanelY = uploadViewControlPanelY;
699            }
700            public boolean isFileListQueueFileOnDblClick() {
701                    return fileListQueueFileOnDblClick;
702            }
703            public void setFileListQueueFileOnDblClick(boolean fileListQueueFileOnDblClick) {
704                    this.fileListQueueFileOnDblClick = fileListQueueFileOnDblClick;
705            }
706            public boolean isFileListViewShowFolders() {
707                    return fileListViewShowFolders;
708            }
709            public void setFileListViewShowFolders(boolean fileListViewShowFolders) {
710                    this.fileListViewShowFolders = fileListViewShowFolders;
711            }
712            public boolean isThumbnailManagerProgressViewEnabled() {
713                    return thumbnailManagerProgressViewEnabled;
714            }
715            public void setThumbnailManagerProgressViewEnabled(
716                            boolean thumbnailManagerProgressViewEnabled) {
717                    this.thumbnailManagerProgressViewEnabled = thumbnailManagerProgressViewEnabled;
718            }
719            public int getThumbnailManagerProgressViewHorizontalMargin() {
720                    return thumbnailManagerProgressViewHorizontalMargin;
721            }
722            public void setThumbnailManagerProgressViewHorizontalMargin(
723                            int thumbnailManagerProgressViewHorizontalMargin) {
724                    this.thumbnailManagerProgressViewHorizontalMargin = thumbnailManagerProgressViewHorizontalMargin;
725            }
726            public int getThumbnailManagerProgressViewVerticalMargin() {
727                    return thumbnailManagerProgressViewVerticalMargin;
728            }
729            public void setThumbnailManagerProgressViewVerticalMargin(
730                            int thumbnailManagerProgressViewVerticalMargin) {
731                    this.thumbnailManagerProgressViewVerticalMargin = thumbnailManagerProgressViewVerticalMargin;
732            }
733            public boolean isFileTreeViewShowHiddenFiles() {
734                    return fileTreeViewShowHiddenFiles;
735            }
736            public void setFileTreeViewShowHiddenFiles(boolean fileTreeViewShowHiddenFiles) {
737                    this.fileTreeViewShowHiddenFiles = fileTreeViewShowHiddenFiles;
738            }
739            public boolean isFileListViewShowHiddenFiles() {
740                    return fileListViewShowHiddenFiles;
741            }
742            public void setFileListViewShowHiddenFiles(boolean fileListViewShowHiddenFiles) {
743                    this.fileListViewShowHiddenFiles = fileListViewShowHiddenFiles;
744            }
745            public String getFileTreeViewRootFiles() {
746                    return fileTreeViewRootFiles;
747            }
748            public void setFileTreeViewRootFiles(String fileTreeViewRootFiles) {
749                    this.fileTreeViewRootFiles = fileTreeViewRootFiles;
750            }
751            public String getFileBrowserInitialLocation() {
752                    return fileBrowserInitialLocation;
753            }
754            public void setFileBrowserInitialLocation(String fileBrowserInitialLocation) {
755                    this.fileBrowserInitialLocation = fileBrowserInitialLocation;
756            }
757            public boolean isUploadViewListShowFileSize() {
758                    return uploadViewListShowFileSize;
759            }
760            public void setUploadViewListShowFileSize(boolean uploadViewListShowFileSize) {
761                    this.uploadViewListShowFileSize = uploadViewListShowFileSize;
762            }
763            public boolean isUploadViewListShowStop() {
764                    return uploadViewListShowStop;
765            }
766            public void setUploadViewListShowStop(boolean uploadViewListShowStop) {
767                    this.uploadViewListShowStop = uploadViewListShowStop;
768            }
769            public boolean isUploadViewListShowRetry() {
770                    return uploadViewListShowRetry;
771            }
772            public void setUploadViewListShowRetry(boolean uploadViewListShowRetry) {
773                    this.uploadViewListShowRetry = uploadViewListShowRetry;
774            }
775            public boolean isUploadViewListShowAddDialogOnDblClick() {
776                    return uploadViewListShowAddDialogOnDblClick;
777            }
778            public void setUploadViewListShowAddDialogOnDblClick(
779                            boolean uploadViewListShowAddDialogOnDblClick) {
780                    this.uploadViewListShowAddDialogOnDblClick = uploadViewListShowAddDialogOnDblClick;
781            }
782            public boolean isFileTreeQueueFileOnDblClick() {
783                    return fileTreeQueueFileOnDblClick;
784            }
785            public void setFileTreeQueueFileOnDblClick(boolean fileTreeQueueFileOnDblClick) {
786                    this.fileTreeQueueFileOnDblClick = fileTreeQueueFileOnDblClick;
787            }
788            public boolean isMainViewShowUploadErrors() {
789                    return mainViewShowUploadErrors;
790            }
791            public void setMainViewShowUploadErrors(boolean mainViewShowUploadErrors) {
792                    this.mainViewShowUploadErrors = mainViewShowUploadErrors;
793            }
794            public boolean isUploadViewFileChooserDetailsView() {
795                    return uploadViewFileChooserDetailsView;
796            }
797            public void setUploadViewFileChooserDetailsView(
798                            boolean uploadViewFileChooserDetailsView) {
799                    this.uploadViewFileChooserDetailsView = uploadViewFileChooserDetailsView;
800            }
801            public boolean isFileListViewImagePreviewTooltip() {
802                    return fileListViewImagePreviewTooltip;
803            }
804            public void setFileListViewImagePreviewTooltip(
805                            boolean fileListViewImagePreviewTooltip) {
806                    this.fileListViewImagePreviewTooltip = fileListViewImagePreviewTooltip;
807            }
808            public String getFileListViewImagePreviewTooltipBox() {
809                    return fileListViewImagePreviewTooltipBox;
810            }
811            public void setFileListViewImagePreviewTooltipBox(
812                            String fileListViewImagePreviewTooltipBox) {
813                    this.fileListViewImagePreviewTooltipBox = fileListViewImagePreviewTooltipBox;
814            }
815            public boolean isUseNativeFileDialog() {
816                    return useNativeFileDialog;
817            }
818            public void setUseNativeFileDialog(boolean useNativeFileDialog) {
819                    this.useNativeFileDialog = useNativeFileDialog;
820            }
821            public String getXfileDialogFilterString() {
822                    return xfileDialogFilterString;
823            }
824            public void setXfileDialogFilterString(String xfileDialogFilterString) {
825                    this.xfileDialogFilterString = xfileDialogFilterString;
826            }
827    }