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             * shows whether errors should be displayed in a modal dialog (instead as toolbar modelless popup) 
133             */
134            private boolean mainViewShowErrorsModal = false;
135            /**
136             * shows whether warnings should be displayed in a modal dialog (instead as toolbar modelless popup) 
137             */
138            private boolean mainViewShowWarningsModal = false;
139            /**
140             * shows whether infos should be displayed in a modal dialog (instead as toolbar modelless popup) 
141             */
142            private boolean mainViewShowInfosModal = false;
143            /**
144             * shows whether errors should not be displayed at all 
145             */
146            private boolean mainViewHideErrors = false;
147            /**
148             * shows whether warnings should not be displayed at all 
149             */
150            private boolean mainViewHideWarnings = false;
151            /**
152             * shows whether infos should not be displayed at all 
153             */
154            private boolean mainViewHideInfos = false;
155            //---------------------------------------------------------------
156            //      file browser
157            //---------------------------------------------------------------
158            /**
159             * shows what location should be initially selected in a file browser,
160             * could be one of FILE_XXX constants or file absolute path
161             */
162            private String fileBrowserInitialLocation = FILE_DEFAULT;
163            //---------------------------------------------------------------
164            //      file tree view
165            //---------------------------------------------------------------
166            /**
167             * shows whether files should be rendered on file tree
168             */
169            private boolean fileTreeViewShowFiles = false;
170            /**
171             * shows whether file length should be rendered on file tree
172             */
173            private boolean fileTreeViewShowFileLength = false;
174            /**
175             * shows whether hidden files/folders should be rendered on file tree
176             */
177            private boolean fileTreeViewShowHiddenFiles = false;
178            /**
179             * root files (; separated if multiple) to display in a file tree, 
180             * FILE_XXX constants allowed as well as absolute file path
181             */
182            private String fileTreeViewRootFiles = FILE_HOME;
183            /**
184             * shows whether files should be added to upload queue on dbl click (true by default)
185             */
186            private boolean fileTreeQueueFileOnDblClick = true;
187            //---------------------------------------------------------------
188            //      file list view
189            //---------------------------------------------------------------
190            /**
191             * shows whether local files list view location bar is visible
192             */
193            private boolean fileListViewLocationBarVisible = true;
194            /**
195             * shows whether thumbnails should be generated for file list view
196             */
197            private boolean fileListViewUseThumbs = true;
198            /**
199             * shows whether files should be added to upload queue on dbl click (true by default)
200             */
201            private boolean fileListQueueFileOnDblClick = true;
202            /**
203             * shows whether folders should be rendered on file list (true by default)
204             */
205            private boolean fileListViewShowFolders = true;
206            /**
207             * shows whether hidden files/folders should be rendered on file list
208             */
209            private boolean fileListViewShowHiddenFiles = false;
210            /**
211             * preview image tooltip
212             */
213            private boolean fileListViewImagePreviewTooltip = true;
214            /**
215             * preview image tooltip bounding box, must be {width}x{height}
216             */
217            private String fileListViewImagePreviewTooltipBox = "400x400";
218            //---------------------------------------------------------------
219            //      upload view
220            //---------------------------------------------------------------       
221            /**
222             * upload view menu bar (containing add/remove/retry menus
223             * and files summary labels) visibility
224             */
225            private boolean uploadViewMenuBarVisible = true;
226            /**
227             * upload paste action visibility
228             */
229            private boolean uploadViewPasteActionVisible = true;
230            /**
231             * upload add action visibility
232             */
233            private boolean uploadViewAddActionVisible = true;
234            /**
235             * upload view remove action visibility
236             */
237            private boolean uploadViewRemoveActionVisible = true;
238            /**
239             * upload view retry action visibility
240             */
241            private boolean uploadViewRetryActionVisible = true;
242            /**
243             * upload view files summary bar (ready/uploading/finished/failed) visibility
244             */
245            private boolean uploadViewFilesSummaryBarVisible = true;
246            /**
247             * upload view start action visibility
248             */
249            private boolean uploadViewStartActionVisible = true;
250            /**
251             * upload view start action always visible
252             */
253            private boolean uploadViewStartActionAlwaysVisible = false;
254            /**
255             * upload view stop action visibility
256             */
257            private boolean uploadViewStopActionVisible = true;
258            /**
259             * upload view stop action always visibile
260             */
261            private boolean uploadViewStopActionAlwaysVisible = false;
262            /**
263             * upload view list status line visibility
264             */
265            private boolean uploadViewListStatusVisible = true;
266            /**
267             * upload view progress pane (incl. pogress bar and upload stats:
268             * completion, rate, time) visibility
269             */
270            private boolean uploadViewProgressPaneVisible = true;
271            /**
272             * shows whether thumbnails should be generated for upload view
273             */
274            private boolean uploadViewUseThumbs = true;
275            /**
276             * custom name for upload list
277             */
278            private String uploadListViewName = null;
279            /**
280             * upload view start upload button text
281             */
282            private String uploadViewStartUploadButtonText = null;
283            /**
284             * upload view start upload button image url
285             */
286            private String uploadViewStartUploadButtonImageUrl = null;
287            /**
288             * upload view stop upload button text
289             */
290            private String uploadViewStopUploadButtonText = null;
291            /**
292             * upload view stop upload button image url
293             */
294            private String uploadViewStopUploadButtonImageUrl = null;
295            /**
296             * shows whether list should be positioned to item being uploaded
297             */
298            private boolean uploadViewAutoscrollToUploadingFile = false;
299            /**
300             * y-index of menu bar of upload view
301             */
302            private int uploadViewMenuBarY = 0;
303            /**
304             * y-index of file list of upload view
305             */
306            private int uploadViewListY = 1;
307            /**
308             * y-index of control panel of upload view
309             */
310            private int uploadViewControlPanelY = 2;
311            /**
312             * shows whether upload view list should show file size
313             */
314            private boolean uploadViewListShowFileSize = true;
315            /**
316             * shows whether upload view list should show stop action for files being uploaded
317             */
318            private boolean uploadViewListShowStop = true;
319            /**
320             * shows whether upload view list should show retry action for failed files
321             */
322            private boolean uploadViewListShowRetry = true;
323            /**
324             * shows whether upload view list should bring add dialog on dbl click
325             */
326            private boolean uploadViewListShowAddDialogOnDblClick = true;
327            /**
328             * shows whether upload view file chooser should display details view initially
329             */
330            private boolean uploadViewFileChooserDetailsView = false;
331            /**
332             * shows whether upload view file chooser multiple selection enabled (true by default)
333             */
334            private boolean uploadViewFileChooserMultiSelectionEnabled = true;
335            /**
336             * shows whether upload view file chooser "All Files" filter enabled
337             */
338            private boolean uploadViewFileChooserAcceptAllFileFilterUsed = true;
339            /**
340             * initial location for open file dialog, use null for default location (user home)
341             */
342            private String uploadViewFileChooserInitialLocation;
343            /**
344             * initial location for download file chooser dialog, 
345             * use null for default location (user home)
346             */
347            private String uploadViewDownloadFolderChooserInitialLocation;
348            /**
349             * location that will be set by download file chooser dialog (initially null)
350             */
351            private String uploadViewDownloadFolderChooserLocation;
352            /**
353             * shows whether download file chooser menu button visible (false by default)
354             */
355            private boolean uploadViewDownloadFolderMenuVisible = false;
356            /**
357             * shows whether metadata input dialog should be centered (false by default)
358             */
359            private boolean uploadViewCenterMetadataInputDialog = false;
360            /**
361             * shows whether upload view list should be always empty (false by default).
362             * This feature could be used, if upload queue manage by secondary view,
363             * and upload file list used as drop target area.
364             */
365            private boolean uploadViewListAlwaysEmpty = false;
366            /**
367             * shows whether upload list should be borderless (false by default)
368             */
369            private boolean uploadListBorderless = false;
370            //---------------------------------------------------------------
371            //      thumbnail manager progress view
372            //---------------------------------------------------------------
373            /**
374             * thumbnail manager progress view enabled (true by default)
375             */
376            private boolean thumbnailManagerProgressViewEnabled = true;
377            /**
378             * thumbnail manager progress view horizontal margin (4 by default)
379             */
380            private int thumbnailManagerProgressViewHorizontalMargin = 4;
381            /**
382             * thumbnail manager progress view vertical margin (4 by default)
383             */
384            private int thumbnailManagerProgressViewVerticalMargin = 4;
385            //---------------------------------------------------------------
386            //      image view
387            //---------------------------------------------------------------
388            /**
389             * show selected color hex value in image view (true by default)
390             */
391            private boolean imageViewShowSelectedColorHexText = false;
392            /**
393             * initial zoom value (%), use "fit" (default value) to zoom to fit 
394             */
395            private String imageViewZoom = "fit";
396            /**
397             * initial tool id to select when opening image editor (null by default).
398             * Available tools are: drawingToolCrop, drawingToolCropResize, 
399             * drawingToolPick, drawingToolPen, drawingToolShapeEllipse, 
400             * drawingToolShapeRectangle, drawingToolArrow, drawingToolTextEditorPane
401             */
402            private String imageViewSelectedTool;
403            //---------------------------------------------------------------
404            //      constructors
405            //---------------------------------------------------------------
406            /**
407             * with model 
408             */
409            public ViewConfig( IModel model ) {
410                    super();
411                    //
412                    //      inject properties, if present
413                    try {
414                            PropertyFactory pf = PropertyFactory.getInstance();
415                            Property pr = pf.getProperty( PROPERTY );
416                            PropertyHelper ph = PropertyHelper.getInstance();
417                            ph.injectProperties( this, pr, null );
418                    } catch( MissingResourceException ignore ) {
419                    }
420            }
421            //---------------------------------------------------------------
422            //      business methods
423            //---------------------------------------------------------------
424            /**
425             * retrieve array of files from property string
426             */
427            public static File[] getFilesFromPropertyString( String property ) {
428                    File[] result = null;
429                    if( property != null ) {
430                            FileSystemView fsv = FileSystemView.getFileSystemView();
431                            List fileList = new ArrayList();
432                            StringTokenizer st = new StringTokenizer( property, ";" );
433                            while( st.hasMoreTokens() ) {
434                                    String token = st.nextToken();
435                                    if( ViewConfig.FILE_HOME.equals( token ) ) {
436                                            fileList.add( fsv.getHomeDirectory() );
437                                    } else
438                                    if( ViewConfig.FILE_DEFAULT.equals( token ) ) {
439                                            fileList.add( fsv.getDefaultDirectory() );
440                                    } else
441                                    if( ViewConfig.FILE_ROOTS.equals( token ) ) {
442                                            File[] roots = fsv.getRoots();
443                                            for( int i = 0; i < roots.length; i++ ) {
444                                                    fileList.add( roots[ i ] );
445                                            }
446                                    } else {
447                                            fileList.add( new File( token ) );
448                                    }
449                            }
450                            File[] files = new File[ fileList.size() ];
451                            for( int i = 0; i < fileList.size(); i++ ) {
452                                    files[ i ] = (File) fileList.get( i );
453                            }
454                            result = files;
455                    }
456                    return result;
457            }
458            //---------------------------------------------------------------
459            //      property accessors
460            //---------------------------------------------------------------
461            /* (non-Javadoc)
462             * @see jmaster.jumploader.model.impl.config.xx#toString()
463             */
464            public String toString() {
465                    return "" +
466                    "disableLocalFileSystem=" + disableLocalFileSystem + "\r\n" +
467                    "dumpUiDefaults=" + dumpUiDefaults + "\r\n" +
468                    "fileBrowserInitialLocation=" + fileBrowserInitialLocation + "\r\n" +
469                    "fileListQueueFileOnDblClick=" + fileListQueueFileOnDblClick + "\r\n" +
470                    "fileListViewImagePreviewTooltip=" + fileListViewImagePreviewTooltip + "\r\n" +
471                    "fileListViewImagePreviewTooltipBox=" + fileListViewImagePreviewTooltipBox + "\r\n" +
472                    "fileListViewLocationBarVisible=" + fileListViewLocationBarVisible + "\r\n" +
473                    "fileListViewShowFolders=" + fileListViewShowFolders + "\r\n" +
474                    "fileListViewUseThumbs=" + fileListViewUseThumbs + "\r\n" +
475                    "fileNamePattern=" + fileNamePattern + "\r\n" +
476                    "fileTreeQueueFileOnDblClick=" + fileTreeQueueFileOnDblClick + "\r\n" +
477                    "fileTreeViewRootFiles=" + fileTreeViewRootFiles + "\r\n" + 
478                    "fileTreeViewShowFileLength=" + fileTreeViewShowFileLength + "\r\n" +
479                    "fileTreeViewShowFiles=" + fileTreeViewShowFiles + "\r\n" +
480                    "fileTreeViewShowHiddenFiles=" + fileTreeViewShowHiddenFiles + "\r\n" +
481                    "fileTreeViewShowHiddenFiles=" + fileTreeViewShowHiddenFiles + "\r\n" +
482                    "guiProperties=" + guiProperties + "\r\n" +
483                    "imageViewShowSelectedColorHexText=" + imageViewShowSelectedColorHexText + "\r\n" +
484                    "imageViewZoom=" + imageViewZoom + "\r\n" +
485                    "imageViewSelectedTool=" + imageViewSelectedTool + "\r\n" +
486                    "lookAndFeel=" + lookAndFeel + "\r\n" +
487                    "mainViewFileListViewHeightPercent=" + mainViewFileListViewHeightPercent + "\r\n" +
488                    "mainViewFileListViewVisible=" + mainViewFileListViewVisible + "\r\n" +
489                    "mainViewFileTreeViewVisible=" + mainViewFileTreeViewVisible + "\r\n" +
490                    "mainViewFileTreeViewWidthPercent=" + mainViewFileTreeViewWidthPercent + "\r\n" +
491                    "mainViewHideErrors=" + mainViewHideErrors + "\r\n" +
492                    "mainViewHideInfos=" + mainViewHideInfos + "\r\n" +
493                    "mainViewHideWarnings=" + mainViewHideWarnings + "\r\n" +
494                    "mainViewLogoEnabled=" + mainViewLogoEnabled + "\r\n" +
495                    "mainViewShowErrorsModal=" + mainViewShowErrorsModal + "\r\n" +
496                    "mainViewShowInfosModal=" + mainViewShowInfosModal + "\r\n" +
497                    "mainViewShowUploadErrors=" + mainViewShowUploadErrors + "\r\n" +
498                    "mainViewShowWarningsModal=" + mainViewShowWarningsModal + "\r\n" +
499                    "thumbHeight=" + thumbHeight + "\r\n" +
500                    "thumbnailManagerProgressViewEnabled=" + thumbnailManagerProgressViewEnabled + "\r\n" +
501                    "thumbnailManagerProgressViewHorizontalMargin=" + thumbnailManagerProgressViewHorizontalMargin + "\r\n" +
502                    "thumbnailManagerProgressViewVerticalMargin=" + thumbnailManagerProgressViewVerticalMargin + "\r\n" +
503                    "thumbWidth=" + thumbWidth + "\r\n" +
504                    "uiDefaults=" + uiDefaults + "\r\n" +
505                    "uploadListBorderless=" + uploadListBorderless + "\r\n" +
506                    "uploadListViewName=" + uploadListViewName + "\r\n" +
507                    "uploadViewAddActionVisible=" + uploadViewAddActionVisible + "\r\n" +
508                    "uploadViewAutoscrollToUploadingFile=" + uploadViewAutoscrollToUploadingFile + "\r\n" +
509                    "uploadViewCenterMetadataInputDialog=" + uploadViewCenterMetadataInputDialog + "\r\n" +
510                    "uploadViewControlPanelY=" + uploadViewControlPanelY + "\r\n" +
511                    "uploadViewFileChooserAcceptAllFileFilterUsed=" + uploadViewFileChooserAcceptAllFileFilterUsed + "\r\n" +
512                    "uploadViewFileChooserDetailsView=" + uploadViewFileChooserDetailsView + "\r\n" +               
513                    "uploadViewFileChooserMultiSelectionEnabled=" + uploadViewFileChooserMultiSelectionEnabled + "\r\n" +
514                    "uploadViewFileChooserInitialLocation=" + uploadViewFileChooserInitialLocation + "\r\n" +
515                    "uploadViewFilesSummaryBarVisible=" + uploadViewFilesSummaryBarVisible + "\r\n" +
516                    "uploadViewListAlwaysEmpty=" + uploadViewListAlwaysEmpty + "\r\n" +
517                    "uploadViewListShowAddDialogOnDblClick=" + uploadViewListShowAddDialogOnDblClick + "\r\n" +
518                    "uploadViewListShowFileSize=" + uploadViewListShowFileSize + "\r\n" +
519                    "uploadViewListShowRetry=" + uploadViewListShowRetry + "\r\n" +
520                    "uploadViewListShowStop=" + uploadViewListShowStop + "\r\n" +
521                    "uploadViewListStatusVisible=" + uploadViewListStatusVisible + "\r\n" +
522                    "uploadViewListY=" + uploadViewListY + "\r\n" +
523                    "uploadViewMenuBarVisible=" + uploadViewMenuBarVisible + "\r\n" +
524                    "uploadViewMenuBarY=" + uploadViewMenuBarY + "\r\n" +
525                    "uploadViewPasteActionVisible=" + uploadViewPasteActionVisible + "\r\n" +
526                    "uploadViewProgressPaneVisible=" + uploadViewProgressPaneVisible + "\r\n" +
527                    "uploadViewRemoveActionVisible=" + uploadViewRemoveActionVisible + "\r\n" +
528                    "uploadViewRetryActionVisible=" + uploadViewRetryActionVisible + "\r\n" +
529                    "uploadViewStartActionAlwaysVisible=" + uploadViewStartActionAlwaysVisible + "\r\n" +
530                    "uploadViewStartActionVisible=" + uploadViewStartActionVisible + "\r\n" +
531                    "uploadViewStartUploadButtonImageUrl=" + uploadViewStartUploadButtonImageUrl + "\r\n" +
532                    "uploadViewStartUploadButtonText=" + uploadViewStartUploadButtonText + "\r\n" +
533                    "uploadViewStopActionAlwaysVisible=" + uploadViewStopActionAlwaysVisible + "\r\n" +
534                    "uploadViewStopActionVisible=" + uploadViewStopActionVisible + "\r\n" +
535                    "uploadViewStopUploadButtonImageUrl=" + uploadViewStopUploadButtonImageUrl + "\r\n" +
536                    "uploadViewStopUploadButtonText=" + uploadViewStopUploadButtonText + "\r\n" +
537                    "uploadViewUseThumbs=" + uploadViewUseThumbs + "\r\n" +
538                    "useNativeFileDialog=" + useNativeFileDialog + "\r\n" +
539                    "useThumbs=" + useThumbs + "\r\n" +
540                    "xfileDialogFilterString=" + xfileDialogFilterString + "\r\n" +
541                    "uploadViewDownloadFolderChooserInitialLocation=" + uploadViewDownloadFolderChooserInitialLocation + "\r\n" +
542                    "uploadViewDownloadFolderChooserLocation=" + uploadViewDownloadFolderChooserLocation + "\r\n" +
543                    "uploadViewDownloadFolderMenuVisible=" + uploadViewDownloadFolderMenuVisible + "\r\n" +
544                    
545                    "";
546            }
547            public boolean isDumpUiDefaults() {
548                    return dumpUiDefaults;
549            }
550            public void setDumpUiDefaults(boolean dumpUiDefaults) {
551                    this.dumpUiDefaults = dumpUiDefaults;
552            }
553            public String getFileNamePattern() {
554                    return fileNamePattern;
555            }
556            public void setFileNamePattern(String fileNamePattern) {
557                    this.fileNamePattern = fileNamePattern;
558            }
559            public boolean isFileListViewLocationBarVisible() {
560                    return fileListViewLocationBarVisible;
561            }
562            public void setFileListViewLocationBarVisible(
563                            boolean fileListViewLocationBarVisible) {
564                    this.fileListViewLocationBarVisible = fileListViewLocationBarVisible;
565            }
566            public boolean isFileTreeViewShowFileLength() {
567                    return fileTreeViewShowFileLength;
568            }
569            public void setFileTreeViewShowFileLength(boolean fileTreeViewShowFileLength) {
570                    this.fileTreeViewShowFileLength = fileTreeViewShowFileLength;
571            }
572            public boolean isFileTreeViewShowFiles() {
573                    return fileTreeViewShowFiles;
574            }
575            public void setFileTreeViewShowFiles(boolean fileTreeViewShowFiles) {
576                    this.fileTreeViewShowFiles = fileTreeViewShowFiles;
577            }
578            public String getLookAndFeel() {
579                    return lookAndFeel;
580            }
581            public void setLookAndFeel(String lookAndFeel) {
582                    this.lookAndFeel = lookAndFeel;
583            }
584            public int getThumbHeight() {
585                    return thumbHeight;
586            }
587            public void setThumbHeight(int thumbHeight) {
588                    this.thumbHeight = thumbHeight;
589            }
590            public int getThumbWidth() {
591                    return thumbWidth;
592            }
593            public void setThumbWidth(int thumbWidth) {
594                    this.thumbWidth = thumbWidth;
595            }
596            public boolean isUploadViewAddActionVisible() {
597                    return uploadViewAddActionVisible;
598            }
599            public void setUploadViewAddActionVisible(boolean uploadViewAddActionVisible) {
600                    this.uploadViewAddActionVisible = uploadViewAddActionVisible;
601            }
602            public boolean isUploadViewFilesSummaryBarVisible() {
603                    return uploadViewFilesSummaryBarVisible;
604            }
605            public void setUploadViewFilesSummaryBarVisible(
606                            boolean uploadViewFilesSummaryBarVisible) {
607                    this.uploadViewFilesSummaryBarVisible = uploadViewFilesSummaryBarVisible;
608            }
609            public boolean isUploadViewListStatusVisible() {
610                    return uploadViewListStatusVisible;
611            }
612            public void setUploadViewListStatusVisible(boolean uploadViewListStatusVisible) {
613                    this.uploadViewListStatusVisible = uploadViewListStatusVisible;
614            }
615            public boolean isUploadViewMenuBarVisible() {
616                    return uploadViewMenuBarVisible;
617            }
618            public void setUploadViewMenuBarVisible(boolean uploadViewMenuBarVisible) {
619                    this.uploadViewMenuBarVisible = uploadViewMenuBarVisible;
620            }
621            public boolean isUploadViewProgressPaneVisible() {
622                    return uploadViewProgressPaneVisible;
623            }
624            public void setUploadViewProgressPaneVisible(
625                            boolean uploadViewProgressPaneVisible) {
626                    this.uploadViewProgressPaneVisible = uploadViewProgressPaneVisible;
627            }
628            public boolean isUploadViewRemoveActionVisible() {
629                    return uploadViewRemoveActionVisible;
630            }
631            public void setUploadViewRemoveActionVisible(
632                            boolean uploadViewRemoveActionVisible) {
633                    this.uploadViewRemoveActionVisible = uploadViewRemoveActionVisible;
634            }
635            public boolean isUploadViewRetryActionVisible() {
636                    return uploadViewRetryActionVisible;
637            }
638            public void setUploadViewRetryActionVisible(boolean uploadViewRetryActionVisible) {
639                    this.uploadViewRetryActionVisible = uploadViewRetryActionVisible;
640            }
641            public boolean isUploadViewStartActionVisible() {
642                    return uploadViewStartActionVisible;
643            }
644            public void setUploadViewStartActionVisible(boolean uploadViewStartActionVisible) {
645                    this.uploadViewStartActionVisible = uploadViewStartActionVisible;
646            }
647            public boolean isUploadViewStopActionVisible() {
648                    return uploadViewStopActionVisible;
649            }
650            public void setUploadViewStopActionVisible(boolean uploadViewStopActionVisible) {
651                    this.uploadViewStopActionVisible = uploadViewStopActionVisible;
652            }
653            public int getMainViewFileListViewHeightPercent() {
654                    return mainViewFileListViewHeightPercent;
655            }
656            public void setMainViewFileListViewHeightPercent(
657                            int mainViewFileListViewHeightPercent) {
658                    this.mainViewFileListViewHeightPercent = mainViewFileListViewHeightPercent;
659            }
660            public boolean isMainViewFileListViewVisible() {
661                    return mainViewFileListViewVisible;
662            }
663            public void setMainViewFileListViewVisible(boolean mainViewFileListViewVisible) {
664                    this.mainViewFileListViewVisible = mainViewFileListViewVisible;
665            }
666            public int getMainViewFileTreeViewWidthPercent() {
667                    return mainViewFileTreeViewWidthPercent;
668            }
669            public void setMainViewFileTreeViewWidthPercent(
670                            int mainViewFileTreeViewWidthPercent) {
671                    this.mainViewFileTreeViewWidthPercent = mainViewFileTreeViewWidthPercent;
672            }
673            public boolean isMainViewFileTreeViewVisible() {
674                    return mainViewFileTreeViewVisible;
675            }
676            public void setMainViewFileTreeViewVisible(boolean mainViewFileTreeViewVisible) {
677                    this.mainViewFileTreeViewVisible = mainViewFileTreeViewVisible;
678            }
679            public boolean isMainViewLogoEnabled() {
680                    return mainViewLogoEnabled;
681            }
682            public void setMainViewLogoEnabled(boolean mainViewLogoEnabled) {
683                    this.mainViewLogoEnabled = mainViewLogoEnabled;
684            }
685            public boolean isUseThumbs() {
686                    return useThumbs;
687            }
688            public void setUseThumbs(boolean useThumbs) {
689                    this.useThumbs = useThumbs;
690            }
691            public boolean isFileListViewUseThumbs() {
692                    return fileListViewUseThumbs;
693            }
694            public void setFileListViewUseThumbs(boolean fileListViewUseThumbs) {
695                    this.fileListViewUseThumbs = fileListViewUseThumbs;
696            }
697            public boolean isUploadViewUseThumbs() {
698                    return uploadViewUseThumbs;
699            }
700            public void setUploadViewUseThumbs(boolean uploadViewUseThumbs) {
701                    this.uploadViewUseThumbs = uploadViewUseThumbs;
702            }
703            public String getUploadListViewName() {
704                    return uploadListViewName;
705            }
706            public void setUploadListViewName(String uploadListViewName) {
707                    this.uploadListViewName = uploadListViewName;
708            }
709            public String getUiDefaults() {
710                    return uiDefaults;
711            }
712            public void setUiDefaults(String uiDefaults) {
713                    this.uiDefaults = uiDefaults;
714            }
715            public String getGuiProperties() {
716                    return guiProperties;
717            }
718            public void setGuiProperties(String guiProperties) {
719                    this.guiProperties = guiProperties;
720            }
721            public boolean isDisableLocalFileSystem() {
722                    return disableLocalFileSystem;
723            }
724            public void setDisableLocalFileSystem(boolean disableLocalFileSystem) {
725                    this.disableLocalFileSystem = disableLocalFileSystem;
726            }
727            public String getUploadViewStartUploadButtonImageUrl() {
728                    return uploadViewStartUploadButtonImageUrl;
729            }
730            public void setUploadViewStartUploadButtonImageUrl(
731                            String uploadViewStartUploadButtonImageUrl) {
732                    this.uploadViewStartUploadButtonImageUrl = uploadViewStartUploadButtonImageUrl;
733            }
734            public String getUploadViewStartUploadButtonText() {
735                    return uploadViewStartUploadButtonText;
736            }
737            public void setUploadViewStartUploadButtonText(
738                            String uploadViewStartUploadButtonText) {
739                    this.uploadViewStartUploadButtonText = uploadViewStartUploadButtonText;
740            }
741            public String getUploadViewStopUploadButtonImageUrl() {
742                    return uploadViewStopUploadButtonImageUrl;
743            }
744            public void setUploadViewStopUploadButtonImageUrl(
745                            String uploadViewStopUploadButtonImageUrl) {
746                    this.uploadViewStopUploadButtonImageUrl = uploadViewStopUploadButtonImageUrl;
747            }
748            public String getUploadViewStopUploadButtonText() {
749                    return uploadViewStopUploadButtonText;
750            }
751            public void setUploadViewStopUploadButtonText(
752                            String uploadViewStopUploadButtonText) {
753                    this.uploadViewStopUploadButtonText = uploadViewStopUploadButtonText;
754            }
755            public boolean isUploadViewPasteActionVisible() {
756                    return uploadViewPasteActionVisible;
757            }
758            public void setUploadViewPasteActionVisible(boolean uploadViewPasteActionVisible) {
759                    this.uploadViewPasteActionVisible = uploadViewPasteActionVisible;
760            }
761            public boolean isUploadViewAutoscrollToUploadingFile() {
762                    return uploadViewAutoscrollToUploadingFile;
763            }
764            public void setUploadViewAutoscrollToUploadingFile(
765                            boolean uploadViewAutoscrollToUploadingFile) {
766                    this.uploadViewAutoscrollToUploadingFile = uploadViewAutoscrollToUploadingFile;
767            }
768            public boolean isUploadViewStartActionAlwaysVisible() {
769                    return uploadViewStartActionAlwaysVisible;
770            }
771            public void setUploadViewStartActionAlwaysVisible(
772                            boolean uploadViewStartActionAlwaysVisible) {
773                    this.uploadViewStartActionAlwaysVisible = uploadViewStartActionAlwaysVisible;
774            }
775            public boolean isUploadViewStopActionAlwaysVisible() {
776                    return uploadViewStopActionAlwaysVisible;
777            }
778            public void setUploadViewStopActionAlwaysVisible(
779                            boolean uploadViewStopActionAlwaysVisible) {
780                    this.uploadViewStopActionAlwaysVisible = uploadViewStopActionAlwaysVisible;
781            }
782            public int getUploadViewMenuBarY() {
783                    return uploadViewMenuBarY;
784            }
785            public void setUploadViewMenuBarY(int uploadViewMenuBarY) {
786                    this.uploadViewMenuBarY = uploadViewMenuBarY;
787            }
788            public int getUploadViewListY() {
789                    return uploadViewListY;
790            }
791            public void setUploadViewListY(int uploadViewListY) {
792                    this.uploadViewListY = uploadViewListY;
793            }
794            public int getUploadViewControlPanelY() {
795                    return uploadViewControlPanelY;
796            }
797            public void setUploadViewControlPanelY(int uploadViewControlPanelY) {
798                    this.uploadViewControlPanelY = uploadViewControlPanelY;
799            }
800            public boolean isFileListQueueFileOnDblClick() {
801                    return fileListQueueFileOnDblClick;
802            }
803            public void setFileListQueueFileOnDblClick(boolean fileListQueueFileOnDblClick) {
804                    this.fileListQueueFileOnDblClick = fileListQueueFileOnDblClick;
805            }
806            public boolean isFileListViewShowFolders() {
807                    return fileListViewShowFolders;
808            }
809            public void setFileListViewShowFolders(boolean fileListViewShowFolders) {
810                    this.fileListViewShowFolders = fileListViewShowFolders;
811            }
812            public boolean isThumbnailManagerProgressViewEnabled() {
813                    return thumbnailManagerProgressViewEnabled;
814            }
815            public void setThumbnailManagerProgressViewEnabled(
816                            boolean thumbnailManagerProgressViewEnabled) {
817                    this.thumbnailManagerProgressViewEnabled = thumbnailManagerProgressViewEnabled;
818            }
819            public int getThumbnailManagerProgressViewHorizontalMargin() {
820                    return thumbnailManagerProgressViewHorizontalMargin;
821            }
822            public void setThumbnailManagerProgressViewHorizontalMargin(
823                            int thumbnailManagerProgressViewHorizontalMargin) {
824                    this.thumbnailManagerProgressViewHorizontalMargin = thumbnailManagerProgressViewHorizontalMargin;
825            }
826            public int getThumbnailManagerProgressViewVerticalMargin() {
827                    return thumbnailManagerProgressViewVerticalMargin;
828            }
829            public void setThumbnailManagerProgressViewVerticalMargin(
830                            int thumbnailManagerProgressViewVerticalMargin) {
831                    this.thumbnailManagerProgressViewVerticalMargin = thumbnailManagerProgressViewVerticalMargin;
832            }
833            public boolean isFileTreeViewShowHiddenFiles() {
834                    return fileTreeViewShowHiddenFiles;
835            }
836            public void setFileTreeViewShowHiddenFiles(boolean fileTreeViewShowHiddenFiles) {
837                    this.fileTreeViewShowHiddenFiles = fileTreeViewShowHiddenFiles;
838            }
839            public boolean isFileListViewShowHiddenFiles() {
840                    return fileListViewShowHiddenFiles;
841            }
842            public void setFileListViewShowHiddenFiles(boolean fileListViewShowHiddenFiles) {
843                    this.fileListViewShowHiddenFiles = fileListViewShowHiddenFiles;
844            }
845            public String getFileTreeViewRootFiles() {
846                    return fileTreeViewRootFiles;
847            }
848            public void setFileTreeViewRootFiles(String fileTreeViewRootFiles) {
849                    this.fileTreeViewRootFiles = fileTreeViewRootFiles;
850            }
851            public String getFileBrowserInitialLocation() {
852                    return fileBrowserInitialLocation;
853            }
854            public void setFileBrowserInitialLocation(String fileBrowserInitialLocation) {
855                    this.fileBrowserInitialLocation = fileBrowserInitialLocation;
856            }
857            public boolean isUploadViewListShowFileSize() {
858                    return uploadViewListShowFileSize;
859            }
860            public void setUploadViewListShowFileSize(boolean uploadViewListShowFileSize) {
861                    this.uploadViewListShowFileSize = uploadViewListShowFileSize;
862            }
863            public boolean isUploadViewListShowStop() {
864                    return uploadViewListShowStop;
865            }
866            public void setUploadViewListShowStop(boolean uploadViewListShowStop) {
867                    this.uploadViewListShowStop = uploadViewListShowStop;
868            }
869            public boolean isUploadViewListShowRetry() {
870                    return uploadViewListShowRetry;
871            }
872            public void setUploadViewListShowRetry(boolean uploadViewListShowRetry) {
873                    this.uploadViewListShowRetry = uploadViewListShowRetry;
874            }
875            public boolean isUploadViewListShowAddDialogOnDblClick() {
876                    return uploadViewListShowAddDialogOnDblClick;
877            }
878            public void setUploadViewListShowAddDialogOnDblClick(
879                            boolean uploadViewListShowAddDialogOnDblClick) {
880                    this.uploadViewListShowAddDialogOnDblClick = uploadViewListShowAddDialogOnDblClick;
881            }
882            public boolean isFileTreeQueueFileOnDblClick() {
883                    return fileTreeQueueFileOnDblClick;
884            }
885            public void setFileTreeQueueFileOnDblClick(boolean fileTreeQueueFileOnDblClick) {
886                    this.fileTreeQueueFileOnDblClick = fileTreeQueueFileOnDblClick;
887            }
888            public boolean isMainViewShowUploadErrors() {
889                    return mainViewShowUploadErrors;
890            }
891            public void setMainViewShowUploadErrors(boolean mainViewShowUploadErrors) {
892                    this.mainViewShowUploadErrors = mainViewShowUploadErrors;
893            }
894            public boolean isUploadViewFileChooserDetailsView() {
895                    return uploadViewFileChooserDetailsView;
896            }
897            public void setUploadViewFileChooserDetailsView(
898                            boolean uploadViewFileChooserDetailsView) {
899                    this.uploadViewFileChooserDetailsView = uploadViewFileChooserDetailsView;
900            }
901            public boolean isFileListViewImagePreviewTooltip() {
902                    return fileListViewImagePreviewTooltip;
903            }
904            public void setFileListViewImagePreviewTooltip(
905                            boolean fileListViewImagePreviewTooltip) {
906                    this.fileListViewImagePreviewTooltip = fileListViewImagePreviewTooltip;
907            }
908            public String getFileListViewImagePreviewTooltipBox() {
909                    return fileListViewImagePreviewTooltipBox;
910            }
911            public void setFileListViewImagePreviewTooltipBox(
912                            String fileListViewImagePreviewTooltipBox) {
913                    this.fileListViewImagePreviewTooltipBox = fileListViewImagePreviewTooltipBox;
914            }
915            public boolean isUseNativeFileDialog() {
916                    return useNativeFileDialog;
917            }
918            public void setUseNativeFileDialog(boolean useNativeFileDialog) {
919                    this.useNativeFileDialog = useNativeFileDialog;
920            }
921            public String getXfileDialogFilterString() {
922                    return xfileDialogFilterString;
923            }
924            public void setXfileDialogFilterString(String xfileDialogFilterString) {
925                    this.xfileDialogFilterString = xfileDialogFilterString;
926            }
927            public boolean isUploadViewCenterMetadataInputDialog() {
928                    return uploadViewCenterMetadataInputDialog;
929            }
930            public void setUploadViewCenterMetadataInputDialog(
931                            boolean uploadViewCenterMetadataInputDialog) {
932                    this.uploadViewCenterMetadataInputDialog = uploadViewCenterMetadataInputDialog;
933            }
934            public boolean isImageViewShowSelectedColorHexText() {
935                    return imageViewShowSelectedColorHexText;
936            }
937            public void setImageViewShowSelectedColorHexText(
938                            boolean imageViewShowSelectedColorHexText) {
939                    this.imageViewShowSelectedColorHexText = imageViewShowSelectedColorHexText;
940            }
941            public boolean isUploadViewListAlwaysEmpty() {
942                    return uploadViewListAlwaysEmpty;
943            }
944            public void setUploadViewListAlwaysEmpty(boolean uploadViewListAlwaysEmpty) {
945                    this.uploadViewListAlwaysEmpty = uploadViewListAlwaysEmpty;
946            }
947            public boolean isMainViewShowErrorsModal() {
948                    return mainViewShowErrorsModal;
949            }
950            public void setMainViewShowErrorsModal(boolean mainViewShowErrorsModal) {
951                    this.mainViewShowErrorsModal = mainViewShowErrorsModal;
952            }
953            public boolean isMainViewShowWarningsModal() {
954                    return mainViewShowWarningsModal;
955            }
956            public void setMainViewShowWarningsModal(boolean mainViewShowWarningsModal) {
957                    this.mainViewShowWarningsModal = mainViewShowWarningsModal;
958            }
959            public boolean isMainViewShowInfosModal() {
960                    return mainViewShowInfosModal;
961            }
962            public void setMainViewShowInfosModal(boolean mainViewShowInfosModal) {
963                    this.mainViewShowInfosModal = mainViewShowInfosModal;
964            }
965            public boolean isMainViewHideErrors() {
966                    return mainViewHideErrors;
967            }
968            public void setMainViewHideErrors(boolean mainViewHideErrors) {
969                    this.mainViewHideErrors = mainViewHideErrors;
970            }
971            public boolean isMainViewHideWarnings() {
972                    return mainViewHideWarnings;
973            }
974            public void setMainViewHideWarnings(boolean mainViewHideWarnings) {
975                    this.mainViewHideWarnings = mainViewHideWarnings;
976            }
977            public boolean isMainViewHideInfos() {
978                    return mainViewHideInfos;
979            }
980            public void setMainViewHideInfos(boolean mainViewHideInfos) {
981                    this.mainViewHideInfos = mainViewHideInfos;
982            }
983            public boolean isUploadListBorderless() {
984                    return uploadListBorderless;
985            }
986            public void setUploadListBorderless(boolean uploadListBorderless) {
987                    this.uploadListBorderless = uploadListBorderless;
988            }
989            public boolean isUploadViewFileChooserMultiSelectionEnabled() {
990                    return uploadViewFileChooserMultiSelectionEnabled;
991            }
992            public void setUploadViewFileChooserMultiSelectionEnabled(
993                            boolean uploadViewFileChooserMultiSelectionEnabled) {
994                    this.uploadViewFileChooserMultiSelectionEnabled = uploadViewFileChooserMultiSelectionEnabled;
995            }
996            public boolean isUploadViewFileChooserAcceptAllFileFilterUsed() {
997                    return uploadViewFileChooserAcceptAllFileFilterUsed;
998            }
999            public void setUploadViewFileChooserAcceptAllFileFilterUsed(
1000                            boolean uploadViewFileChooserAcceptAllFileFilterUsed) {
1001                    this.uploadViewFileChooserAcceptAllFileFilterUsed = uploadViewFileChooserAcceptAllFileFilterUsed;
1002            }
1003            public String getUploadViewFileChooserInitialLocation() {
1004                    return uploadViewFileChooserInitialLocation;
1005            }
1006            public void setUploadViewFileChooserInitialLocation(
1007                            String uploadViewFileChooserInitialLocation) {
1008                    this.uploadViewFileChooserInitialLocation = uploadViewFileChooserInitialLocation;
1009            }
1010            public String getImageViewZoom() {
1011                    return imageViewZoom;
1012            }
1013            public void setImageViewZoom(String imageViewZoom) {
1014                    this.imageViewZoom = imageViewZoom;
1015            }
1016            public String getUploadViewDownloadFolderChooserInitialLocation() {
1017                    return uploadViewDownloadFolderChooserInitialLocation;
1018            }
1019            public void setUploadViewDownloadFolderChooserInitialLocation(
1020                            String uploadViewDownloadFolderChooserInitialLocation) {
1021                    this.uploadViewDownloadFolderChooserInitialLocation = uploadViewDownloadFolderChooserInitialLocation;
1022            }
1023            public String getUploadViewDownloadFolderChooserLocation() {
1024                    return uploadViewDownloadFolderChooserLocation;
1025            }
1026            public void setUploadViewDownloadFolderChooserLocation(
1027                            String uploadViewDownloadFolderChooserLocation) {
1028                    this.uploadViewDownloadFolderChooserLocation = uploadViewDownloadFolderChooserLocation;
1029            }
1030            public boolean isUploadViewDownloadFolderMenuVisible() {
1031                    return uploadViewDownloadFolderMenuVisible;
1032            }
1033            public void setUploadViewDownloadFolderMenuVisible(
1034                            boolean uploadViewDownloadFolderMenuVisible) {
1035                    this.uploadViewDownloadFolderMenuVisible = uploadViewDownloadFolderMenuVisible;
1036            }
1037            public String getImageViewSelectedTool() {
1038                    return imageViewSelectedTool;
1039            }
1040            public void setImageViewSelectedTool(String imageViewSelectedTool) {
1041                    this.imageViewSelectedTool = imageViewSelectedTool;
1042            }
1043    }