	public JComponent build() {
		FormLayout layout = new FormLayout(
                "left:pref, 50dlu, pref, 150dlu, pref, 25dlu, pref,  0:grow", 
                "p, 3dlu,  p, 3dlu, p, 3dlu,  p, 3dlu, p, 15dlu, p, 3dlu, p, 3dlu,  p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 15dlu, fill:default:grow"); 
         PanelBuilder builder = new PanelBuilder(layout);
        builder.setBorder(Borders.DLU4_BORDER);
        builder.setOpaque(true);
        CellConstraints cc = new CellConstraints();
       df = new DefaultListModel();
       if (PMS.getConfiguration().getFolders() != null && PMS.getConfiguration().getFolders().length() > 0) {
    	 try {
			File f [] =  PMS.get().loadFoldersConf(PMS.getConfiguration().getFolders());
			for(File file:f) {
				df.addElement(file.getAbsolutePath());
			}
			if (f == null || f.length == 0) {
				df.addElement(ALL_DRIVES);
			}
		} catch (IOException e1) {
			PMS.error(null, e1);
		}
       } else
		df.addElement(ALL_DRIVES);
		FList = new JList();
		FList.setModel(df);
        JScrollPane pane = new JScrollPane(FList);
        JComponent cmp = builder.addSeparator(Messages.getString("FoldTab.13"),  cc.xyw(1, 1, 8)); 
        cmp = (JComponent) cmp.getComponent(0);
        cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));
        tncheckBox = new JCheckBox(Messages.getString("NetworkTab.2")); 
        tncheckBox.setContentAreaFilled(false);
        tncheckBox.addItemListener(new ItemListener() {
  			public void itemStateChanged(ItemEvent e) {
  				PMS.getConfiguration().setThumbnailsEnabled((e.getStateChange() == ItemEvent.SELECTED));
  			}
        });
        if (PMS.getConfiguration().getThumbnailsEnabled())
        	tncheckBox.setSelected(true);
        builder.add(tncheckBox,          cc.xyw(1,  3, 3));
        seekpos = new JTextField("" + configuration.getThumbnailSeekPos()); 
        seekpos.addKeyListener(new KeyListener() {
    		@Override
    		public void keyPressed(KeyEvent e) {}
    		@Override
    		public void keyTyped(KeyEvent e) {}
    		@Override
    		public void keyReleased(KeyEvent e) {
    			try {
    				int ab = Integer.parseInt(seekpos.getText());
    				configuration.setThumbnailSeekPos(ab);
    			} catch (NumberFormatException nfe) {
    			}
    		}
           });
        builder.addLabel(Messages.getString("NetworkTab.16"),  cc.xyw(4,  3, 3)); 
        builder.add(seekpos,          cc.xyw(6,  3, 2));
        mplayer_thumb = new JCheckBox(Messages.getString("FoldTab.14")); 
        mplayer_thumb.setContentAreaFilled(false);
        mplayer_thumb.addItemListener(new ItemListener() {
  			public void itemStateChanged(ItemEvent e) {
  				PMS.getConfiguration().setUseMplayerForVideoThumbs((e.getStateChange() == ItemEvent.SELECTED));
  			}
        });
        if (PMS.getConfiguration().isUseMplayerForVideoThumbs())
        	mplayer_thumb.setSelected(true);
        builder.add(mplayer_thumb,          cc.xyw(1,  5, 5));
        final KeyedComboBoxModel thumbKCBM = new KeyedComboBoxModel(new Object[] { "0", "1", "2" }, new Object[] { Messages.getString("FoldTab.15"), Messages.getString("FoldTab.23"), Messages.getString("FoldTab.24") }); 
        audiothumbnail = new JComboBox(thumbKCBM);
        audiothumbnail.setEditable(false);
        thumbKCBM.setSelectedKey("" + configuration.getAudioThumbnailMethod()); 
      audiothumbnail.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				if (e.getStateChange() == ItemEvent.SELECTED) {
 					try {
 						configuration.setAudioThumbnailMethod(Integer.parseInt((String) thumbKCBM.getSelectedKey()));
 						PMS.get().getFrame().setReloadable(true);
 					} catch (NumberFormatException nfe) {}
 				}
 			}
      });
      builder.addLabel(Messages.getString("FoldTab.26"), cc.xyw(1,7,3)); 
        builder.add(audiothumbnail, cc.xyw(4, 7,4));
        builder.addLabel(Messages.getString("FoldTab.27"), cc.xyw(1, 9, 3)); 
        defaultThumbFolder = new JTextField(configuration.getAlternateThumbFolder());
        defaultThumbFolder.addKeyListener(new KeyListener() {
    		@Override
    		public void keyPressed(KeyEvent e) {}
    		@Override
    		public void keyTyped(KeyEvent e) {}
    		@Override
    		public void keyReleased(KeyEvent e) {
    			configuration.setAlternateThumbFolder(defaultThumbFolder.getText());
    		}
           });
        builder.add(defaultThumbFolder, cc.xyw(4, 9, 3));
        JButton select = new JButton("..."); 
        select.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				JFileChooser chooser = null;
				try {
					 chooser = new JFileChooser();
				} catch (Exception ee) {
					 chooser = new JFileChooser(new RestrictedFileSystemView());
				}
				chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
				int returnVal = chooser.showDialog((Component) e.getSource(), Messages.getString("FoldTab.28")); 
 			    if(returnVal == JFileChooser.APPROVE_OPTION) {
 			    	defaultThumbFolder.setText(chooser.getSelectedFile().getAbsolutePath());
 			    	PMS.get().getFrame().setReloadable(true);
 			    	configuration.setAlternateThumbFolder(chooser.getSelectedFile().getAbsolutePath());
 			    }
 			}
  	  });
  	  builder.add(select,          cc.xyw(7,  9, 1));
        cmp = builder.addSeparator(Messages.getString("NetworkTab.15"),  cc.xyw(1, 11, 8)); 
        cmp = (JComponent) cmp.getComponent(0);
        cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));
        hidevideosettings = new JCheckBox(Messages.getString("FoldTab.6")); 
        hidevideosettings.setContentAreaFilled(false);
        if (PMS.getConfiguration().getHideVideoSettings())
        	hidevideosettings.setSelected(true);
        hidevideosettings.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setHideVideoSettings((e.getStateChange() == ItemEvent.SELECTED));
 				PMS.get().getFrame().setReloadable(true);
 			}
        });
        archive = new JCheckBox(Messages.getString("NetworkTab.1")); 
        archive.setContentAreaFilled(false);
        archive.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setArchiveBrowsing(e.getStateChange() == ItemEvent.SELECTED);
 				if (PMS.get().getFrame() != null)
 					PMS.get().getFrame().setReloadable(true);
 			}
        });
        if (PMS.getConfiguration().isArchiveBrowsing())
     	   archive.setSelected(true);
        builder.add(archive,          cc.xyw(1,  13, 3));
        final JButton cachereset = new JButton(Messages.getString("NetworkTab.18")); 
        cacheenable = new JCheckBox(Messages.getString("NetworkTab.17")); 
        cacheenable.setContentAreaFilled(false);
        cacheenable.setSelected(PMS.getConfiguration().getUseCache());
        cacheenable.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setUseCache((e.getStateChange() == ItemEvent.SELECTED));
 				cachereset.setEnabled(PMS.getConfiguration().getUseCache());
 				PMS.get().getFrame().setReloadable(true);
 				if ((LooksFrame) PMS.get().getFrame() != null)
 					((LooksFrame) PMS.get().getFrame()).getFt().setScanLibraryEnabled(PMS.getConfiguration().getUseCache());
 			}
       });
     	  builder.add(cacheenable,          cc.xy(1,  19));
     	  cachereset.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				int option = JOptionPane.showConfirmDialog(
    	                    (Component) PMS.get().getFrame(),
    	                    Messages.getString("NetworkTab.13") +  
    	                    Messages.getString("NetworkTab.19"), 
    	                    "Question", 
    	                    JOptionPane.YES_NO_OPTION
    	                    );
    				if (option == JOptionPane.YES_OPTION) {
    					PMS.get().getDatabase().init(true);
    				}
 			}
     	  });
     	  builder.add(cachereset,          cc.xyw(4,  19, 4));
     	  cachereset.setEnabled(PMS.getConfiguration().getUseCache());
        builder.add(hidevideosettings,          cc.xyw(4,  13, 3));
        hideextensions = new JCheckBox(Messages.getString("FoldTab.5")); 
        hideextensions.setContentAreaFilled(false);
        if (PMS.getConfiguration().isHideExtensions())
        	hideextensions.setSelected(true);
        hideextensions.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setHideExtensions((e.getStateChange() == ItemEvent.SELECTED));
 				PMS.get().getFrame().setReloadable(true);
 			}
        });
        builder.add(hideextensions,          cc.xyw(1,  15, 3));
        hideengines = new JCheckBox(Messages.getString("FoldTab.8")); 
        hideengines.setContentAreaFilled(false);
        if (PMS.getConfiguration().isHideEngineNames())
        	hideengines.setSelected(true);
        hideengines.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setHideEngineNames((e.getStateChange() == ItemEvent.SELECTED));
 				PMS.get().getFrame().setReloadable(true);
 			}
        });
        builder.add(hideengines,          cc.xyw(4,  15, 3));
 	itunes = new JCheckBox(Messages.getString("FoldTab.30")); 
        itunes.setContentAreaFilled(false);
        if (PMS.getConfiguration().getItunesEnabled())
        	itunes.setSelected(true);
        if (!Platform.isMac())
	        iphoto.setEnabled(false);
        itunes.addItemListener(new ItemListener() {
  		public void itemStateChanged(ItemEvent e) {
  			PMS.getConfiguration().setItunesEnabled((e.getStateChange() == ItemEvent.SELECTED));
  			PMS.get().getFrame().setReloadable(true);
  		}
        });
        builder.add(itunes,          cc.xyw(1,  17, 3));
 	iphoto = new JCheckBox(Messages.getString("FoldTab.29")); 
        iphoto.setContentAreaFilled(false);
        if (PMS.getConfiguration().getIphotoEnabled())
        	iphoto.setSelected(true);
        if (!Platform.isMac())
	        iphoto.setEnabled(false);
	iphoto.addItemListener(new ItemListener() {
  		public void itemStateChanged(ItemEvent e) {
  			PMS.getConfiguration().setIphotoEnabled((e.getStateChange() == ItemEvent.SELECTED));
  			PMS.get().getFrame().setReloadable(true);
  		}	
        });
        builder.add(iphoto,          cc.xyw(4,  17, 3));
        final KeyedComboBoxModel kcbm = new KeyedComboBoxModel(new Object[] { "0", "1" }, new Object[] { Messages.getString("FoldTab.15"), Messages.getString("FoldTab.16") }); 
        sortmethod = new JComboBox(kcbm);
        sortmethod.setEditable(false);
      kcbm.setSelectedKey("" + configuration.getSortMethod()); 
      sortmethod.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				if (e.getStateChange() == ItemEvent.SELECTED) {
 					try {
 						configuration.setSortMethod(Integer.parseInt((String) kcbm.getSelectedKey()));
 						PMS.get().getFrame().setReloadable(true);
 					} catch (NumberFormatException nfe) {}
 				}
 			}
      });
      builder.addLabel(Messages.getString("FoldTab.18"), cc.xyw(1,21,3)); 
        builder.add(sortmethod, cc.xyw(4, 21,4));
        FormLayout layoutFolders = new FormLayout(
                "left:pref, left:pref, pref, pref, pref, 0:grow", 
                "p, 3dlu, p, 3dlu, fill:default:grow"); 
         PanelBuilder builderFolder = new PanelBuilder(layoutFolders);
          builderFolder.setOpaque(true);
       cmp =  builderFolder.addSeparator(Messages.getString("FoldTab.7"),  cc.xyw(1, 1,6)); 
        cmp = (JComponent) cmp.getComponent(0);
        cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));
       JButton but = new JButton(LooksFrame.readImageIcon("folder_new-32.png")); 
       but.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				JFileChooser chooser = null;
				try {
					 chooser = new JFileChooser();
				} catch (Exception ee) {
					 chooser = new JFileChooser(new RestrictedFileSystemView());
				}
				chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
				int returnVal = chooser.showOpenDialog((Component) e.getSource());
			    if(returnVal == JFileChooser.APPROVE_OPTION) {
			    	((DefaultListModel) FList.getModel()).add(FList.getModel().getSize(),chooser.getSelectedFile().getAbsolutePath());
			    	if (FList.getModel().getElementAt(0).equals(ALL_DRIVES))
			    		((DefaultListModel) FList.getModel()).remove(0);
			    	updateModel();
			    }
			}
		});
       builderFolder.add(but,          cc.xy(1,  3));
       JButton but2 = new JButton(LooksFrame.readImageIcon("button_cancel-32.png")); 
       but2.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				if (FList.getSelectedIndex() > -1) {
					((DefaultListModel) FList.getModel()).remove(FList.getSelectedIndex());
					if (FList.getModel().getSize() == 0)
			    		((DefaultListModel) FList.getModel()).add(0, ALL_DRIVES);
					updateModel();
				}
			}
		});
       builderFolder.add(but2,          cc.xy(2,  3));
       JButton but3 = new JButton(LooksFrame.readImageIcon("kdevelop_down-32.png")); 
       but3.setToolTipText(Messages.getString("FoldTab.12")); 
       but3.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			DefaultListModel model = ((DefaultListModel) FList.getModel());
			for(int i=0;i<model.size()-1;i++) {
				if (FList.isSelectedIndex(i)) {
					String value = model.get(i).toString();
					model.set(i, model.get(i+1));
					model.set(i+1, value);
					FList.setSelectedIndex(i+1);
					updateModel();
					break;
				}
			}
		}   	   
       });
       builderFolder.add(but3,          cc.xy(3,  3));
       JButton but4 = new JButton(LooksFrame.readImageIcon("up-32.png")); 
       but4.setToolTipText(Messages.getString("FoldTab.12")); 
       but4.addActionListener(new ActionListener() {
   		public void actionPerformed(ActionEvent e) {
   			DefaultListModel model = ((DefaultListModel) FList.getModel());
   			for(int i=1;i<model.size();i++) {
   				if (FList.isSelectedIndex(i)) {
   					String value = model.get(i).toString();
   					model.set(i, model.get(i-1));
   					model.set(i-1, value);
   					FList.setSelectedIndex(i-1);
   					updateModel();
   					break;
   				}
   			}
   		}   	   
          });
       builderFolder.add(but4,          cc.xy(4,  3));
      but5 = new JButton(LooksFrame.readImageIcon("search-32.png")); 
       but5.setToolTipText(Messages.getString("FoldTab.2")); 
       but5.addActionListener(new ActionListener() {
   		public void actionPerformed(ActionEvent e) {
   			if (PMS.getConfiguration().getUseCache()) {
   				if (!PMS.get().getDatabase().isScanLibraryRunning()) {
	   				int option = JOptionPane.showConfirmDialog(
	   	                    (Component) PMS.get().getFrame(),
	   	                    Messages.getString("FoldTab.3") + 
	   	                    Messages.getString("FoldTab.4"), 
	   	                    "Question", 
	   	                    JOptionPane.YES_NO_OPTION
	   	                    );
	   				if (option == JOptionPane.YES_OPTION) {
	   					PMS.get().getDatabase().scanLibrary();
	   					but5.setIcon(LooksFrame.readImageIcon("viewmagfit-32.png")); 
	   				}
   				} else {
   					int option = JOptionPane.showConfirmDialog(
	   	                    (Component) PMS.get().getFrame(),
	   	                    Messages.getString("FoldTab.10"), 
	   	                    "Question", 
	   	                    JOptionPane.YES_NO_OPTION
	   	                    );
	   				if (option == JOptionPane.YES_OPTION) {
	   					PMS.get().getDatabase().stopScanLibrary();
	   					PMS.get().getFrame().setStatusLine(null);
	   					but5.setIcon(LooksFrame.readImageIcon("search-32.png")); 
	   				}
   				}
   			}
   		}   	   
          });
       builderFolder.add(but5,          cc.xy(5,  3));
       but5.setEnabled(PMS.getConfiguration().getUseCache());
       builderFolder.add(pane,          cc.xyw(1,  5,6));
       builder.add(builderFolder.getPanel(), cc.xyw(1, 25, 8));
        return builder.getPanel();
	}

	public JComponent build() {
		FormLayout layout = new FormLayout(
                "left:pref, 50dlu, pref, 150dlu, pref, 25dlu, pref,  0:grow", 
                "p, 3dlu,  p, 3dlu, p, 3dlu,  p, 3dlu, p, 15dlu, p, 3dlu, p, 3dlu,  p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 15dlu, fill:default:grow"); 
         PanelBuilder builder = new PanelBuilder(layout);
        builder.setBorder(Borders.DLU4_BORDER);
        builder.setOpaque(true);
        CellConstraints cc = new CellConstraints();
       df = new DefaultListModel();
       if (PMS.getConfiguration().getFolders() != null && PMS.getConfiguration().getFolders().length() > 0) {
    	 try {
			File f [] =  PMS.get().loadFoldersConf(PMS.getConfiguration().getFolders());
			for(File file:f) {
				df.addElement(file.getAbsolutePath());
			}
			if (f == null || f.length == 0) {
				df.addElement(ALL_DRIVES);
			}
		} catch (IOException e1) {
			PMS.error(null, e1);
		}
       } else
		df.addElement(ALL_DRIVES);
		FList = new JList();
		FList.setModel(df);
        JScrollPane pane = new JScrollPane(FList);
        JComponent cmp = builder.addSeparator(Messages.getString("FoldTab.13"),  cc.xyw(1, 1, 8)); 
        cmp = (JComponent) cmp.getComponent(0);
        cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));
        tncheckBox = new JCheckBox(Messages.getString("NetworkTab.2")); 
        tncheckBox.setContentAreaFilled(false);
        tncheckBox.addItemListener(new ItemListener() {
  			public void itemStateChanged(ItemEvent e) {
  				PMS.getConfiguration().setThumbnailsEnabled((e.getStateChange() == ItemEvent.SELECTED));
  			}
        });
        if (PMS.getConfiguration().getThumbnailsEnabled())
        	tncheckBox.setSelected(true);
        builder.add(tncheckBox,          cc.xyw(1,  3, 3));
        seekpos = new JTextField("" + configuration.getThumbnailSeekPos()); 
        seekpos.addKeyListener(new KeyListener() {
    		@Override
    		public void keyPressed(KeyEvent e) {}
    		@Override
    		public void keyTyped(KeyEvent e) {}
    		@Override
    		public void keyReleased(KeyEvent e) {
    			try {
    				int ab = Integer.parseInt(seekpos.getText());
    				configuration.setThumbnailSeekPos(ab);
    			} catch (NumberFormatException nfe) {
    			}
    		}
           });
        builder.addLabel(Messages.getString("NetworkTab.16"),  cc.xyw(4,  3, 3)); 
        builder.add(seekpos,          cc.xyw(6,  3, 2));
        mplayer_thumb = new JCheckBox(Messages.getString("FoldTab.14")); 
        mplayer_thumb.setContentAreaFilled(false);
        mplayer_thumb.addItemListener(new ItemListener() {
  			public void itemStateChanged(ItemEvent e) {
  				PMS.getConfiguration().setUseMplayerForVideoThumbs((e.getStateChange() == ItemEvent.SELECTED));
  			}
        });
        if (PMS.getConfiguration().isUseMplayerForVideoThumbs())
        	mplayer_thumb.setSelected(true);
        builder.add(mplayer_thumb,          cc.xyw(1,  5, 5));
        final KeyedComboBoxModel thumbKCBM = new KeyedComboBoxModel(new Object[] { "0", "1", "2" }, new Object[] { Messages.getString("FoldTab.15"), Messages.getString("FoldTab.23"), Messages.getString("FoldTab.24") }); 
        audiothumbnail = new JComboBox(thumbKCBM);
        audiothumbnail.setEditable(false);
        thumbKCBM.setSelectedKey("" + configuration.getAudioThumbnailMethod()); 
      audiothumbnail.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				if (e.getStateChange() == ItemEvent.SELECTED) {
 					try {
 						configuration.setAudioThumbnailMethod(Integer.parseInt((String) thumbKCBM.getSelectedKey()));
 						PMS.get().getFrame().setReloadable(true);
 					} catch (NumberFormatException nfe) {}
 				}
 			}
      });
      builder.addLabel(Messages.getString("FoldTab.26"), cc.xyw(1,7,3)); 
        builder.add(audiothumbnail, cc.xyw(4, 7,4));
        builder.addLabel(Messages.getString("FoldTab.27"), cc.xyw(1, 9, 3)); 
        defaultThumbFolder = new JTextField(configuration.getAlternateThumbFolder());
        defaultThumbFolder.addKeyListener(new KeyListener() {
    		@Override
    		public void keyPressed(KeyEvent e) {}
    		@Override
    		public void keyTyped(KeyEvent e) {}
    		@Override
    		public void keyReleased(KeyEvent e) {
    			configuration.setAlternateThumbFolder(defaultThumbFolder.getText());
    		}
           });
        builder.add(defaultThumbFolder, cc.xyw(4, 9, 3));
        JButton select = new JButton("..."); 
        select.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				JFileChooser chooser = null;
				try {
					 chooser = new JFileChooser();
				} catch (Exception ee) {
					 chooser = new JFileChooser(new RestrictedFileSystemView());
				}
				chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
				int returnVal = chooser.showDialog((Component) e.getSource(), Messages.getString("FoldTab.28")); 
 			    if(returnVal == JFileChooser.APPROVE_OPTION) {
 			    	defaultThumbFolder.setText(chooser.getSelectedFile().getAbsolutePath());
 			    	PMS.get().getFrame().setReloadable(true);
 			    	configuration.setAlternateThumbFolder(chooser.getSelectedFile().getAbsolutePath());
 			    }
 			}
  	  });
  	  builder.add(select,          cc.xyw(7,  9, 1));
        cmp = builder.addSeparator(Messages.getString("NetworkTab.15"),  cc.xyw(1, 11, 8)); 
        cmp = (JComponent) cmp.getComponent(0);
        cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));
        hidevideosettings = new JCheckBox(Messages.getString("FoldTab.6")); 
        hidevideosettings.setContentAreaFilled(false);
        if (PMS.getConfiguration().getHideVideoSettings())
        	hidevideosettings.setSelected(true);
        hidevideosettings.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setHideVideoSettings((e.getStateChange() == ItemEvent.SELECTED));
 				PMS.get().getFrame().setReloadable(true);
 			}
        });
        archive = new JCheckBox(Messages.getString("NetworkTab.1")); 
        archive.setContentAreaFilled(false);
        archive.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setArchiveBrowsing(e.getStateChange() == ItemEvent.SELECTED);
 				if (PMS.get().getFrame() != null)
 					PMS.get().getFrame().setReloadable(true);
 			}
        });
        if (PMS.getConfiguration().isArchiveBrowsing())
     	   archive.setSelected(true);
        builder.add(archive,          cc.xyw(1,  13, 3));
        final JButton cachereset = new JButton(Messages.getString("NetworkTab.18")); 
        cacheenable = new JCheckBox(Messages.getString("NetworkTab.17")); 
        cacheenable.setContentAreaFilled(false);
        cacheenable.setSelected(PMS.getConfiguration().getUseCache());
        cacheenable.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setUseCache((e.getStateChange() == ItemEvent.SELECTED));
 				cachereset.setEnabled(PMS.getConfiguration().getUseCache());
 				PMS.get().getFrame().setReloadable(true);
 				if ((LooksFrame) PMS.get().getFrame() != null)
 					((LooksFrame) PMS.get().getFrame()).getFt().setScanLibraryEnabled(PMS.getConfiguration().getUseCache());
 			}
       });
     	  builder.add(cacheenable,          cc.xy(1,  19));
     	  cachereset.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				int option = JOptionPane.showConfirmDialog(
    	                    (Component) PMS.get().getFrame(),
    	                    Messages.getString("NetworkTab.13") +  
    	                    Messages.getString("NetworkTab.19"), 
    	                    "Question", 
    	                    JOptionPane.YES_NO_OPTION
    	                    );
    				if (option == JOptionPane.YES_OPTION) {
    					PMS.get().getDatabase().init(true);
    				}
 			}
     	  });
     	  builder.add(cachereset,          cc.xyw(4,  19, 4));
     	  cachereset.setEnabled(PMS.getConfiguration().getUseCache());
        builder.add(hidevideosettings,          cc.xyw(4,  13, 3));
        hideextensions = new JCheckBox(Messages.getString("FoldTab.5")); 
        hideextensions.setContentAreaFilled(false);
        if (PMS.getConfiguration().isHideExtensions())
        	hideextensions.setSelected(true);
        hideextensions.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setHideExtensions((e.getStateChange() == ItemEvent.SELECTED));
 				PMS.get().getFrame().setReloadable(true);
 			}
        });
        builder.add(hideextensions,          cc.xyw(1,  15, 3));
        hideengines = new JCheckBox(Messages.getString("FoldTab.8")); 
        hideengines.setContentAreaFilled(false);
        if (PMS.getConfiguration().isHideEngineNames())
        	hideengines.setSelected(true);
        hideengines.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				PMS.getConfiguration().setHideEngineNames((e.getStateChange() == ItemEvent.SELECTED));
 				PMS.get().getFrame().setReloadable(true);
 			}
        });
        builder.add(hideengines,          cc.xyw(4,  15, 3));
 	itunes = new JCheckBox(Messages.getString("FoldTab.30")); 
        itunes.setContentAreaFilled(false);
        if (PMS.getConfiguration().getItunesEnabled())
        	itunes.setSelected(true);
        if (!Platform.isMac())
	        itunes.setEnabled(false);
        itunes.addItemListener(new ItemListener() {
  		public void itemStateChanged(ItemEvent e) {
  			PMS.getConfiguration().setItunesEnabled((e.getStateChange() == ItemEvent.SELECTED));
  			PMS.get().getFrame().setReloadable(true);
  		}
        });
        builder.add(itunes,          cc.xyw(1,  17, 3));
 	iphoto = new JCheckBox(Messages.getString("FoldTab.29")); 
        iphoto.setContentAreaFilled(false);
        if (PMS.getConfiguration().getIphotoEnabled())
        	iphoto.setSelected(true);
        if (!Platform.isMac())
	        iphoto.setEnabled(false);
	iphoto.addItemListener(new ItemListener() {
  		public void itemStateChanged(ItemEvent e) {
  			PMS.getConfiguration().setIphotoEnabled((e.getStateChange() == ItemEvent.SELECTED));
  			PMS.get().getFrame().setReloadable(true);
  		}	
        });
        builder.add(iphoto,          cc.xyw(4,  17, 3));
        final KeyedComboBoxModel kcbm = new KeyedComboBoxModel(new Object[] { "0", "1" }, new Object[] { Messages.getString("FoldTab.15"), Messages.getString("FoldTab.16") }); 
        sortmethod = new JComboBox(kcbm);
        sortmethod.setEditable(false);
      kcbm.setSelectedKey("" + configuration.getSortMethod()); 
      sortmethod.addItemListener(new ItemListener() {
 			public void itemStateChanged(ItemEvent e) {
 				if (e.getStateChange() == ItemEvent.SELECTED) {
 					try {
 						configuration.setSortMethod(Integer.parseInt((String) kcbm.getSelectedKey()));
 						PMS.get().getFrame().setReloadable(true);
 					} catch (NumberFormatException nfe) {}
 				}
 			}
      });
      builder.addLabel(Messages.getString("FoldTab.18"), cc.xyw(1,21,3)); 
        builder.add(sortmethod, cc.xyw(4, 21,4));
        FormLayout layoutFolders = new FormLayout(
                "left:pref, left:pref, pref, pref, pref, 0:grow", 
                "p, 3dlu, p, 3dlu, fill:default:grow"); 
         PanelBuilder builderFolder = new PanelBuilder(layoutFolders);
          builderFolder.setOpaque(true);
       cmp =  builderFolder.addSeparator(Messages.getString("FoldTab.7"),  cc.xyw(1, 1,6)); 
        cmp = (JComponent) cmp.getComponent(0);
        cmp.setFont(cmp.getFont().deriveFont(Font.BOLD));
       JButton but = new JButton(LooksFrame.readImageIcon("folder_new-32.png")); 
       but.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				JFileChooser chooser = null;
				try {
					 chooser = new JFileChooser();
				} catch (Exception ee) {
					 chooser = new JFileChooser(new RestrictedFileSystemView());
				}
				chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
				int returnVal = chooser.showOpenDialog((Component) e.getSource());
			    if(returnVal == JFileChooser.APPROVE_OPTION) {
			    	((DefaultListModel) FList.getModel()).add(FList.getModel().getSize(),chooser.getSelectedFile().getAbsolutePath());
			    	if (FList.getModel().getElementAt(0).equals(ALL_DRIVES))
			    		((DefaultListModel) FList.getModel()).remove(0);
			    	updateModel();
			    }
			}
		});
       builderFolder.add(but,          cc.xy(1,  3));
       JButton but2 = new JButton(LooksFrame.readImageIcon("button_cancel-32.png")); 
       but2.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				if (FList.getSelectedIndex() > -1) {
					((DefaultListModel) FList.getModel()).remove(FList.getSelectedIndex());
					if (FList.getModel().getSize() == 0)
			    		((DefaultListModel) FList.getModel()).add(0, ALL_DRIVES);
					updateModel();
				}
			}
		});
       builderFolder.add(but2,          cc.xy(2,  3));
       JButton but3 = new JButton(LooksFrame.readImageIcon("kdevelop_down-32.png")); 
       but3.setToolTipText(Messages.getString("FoldTab.12")); 
       but3.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			DefaultListModel model = ((DefaultListModel) FList.getModel());
			for(int i=0;i<model.size()-1;i++) {
				if (FList.isSelectedIndex(i)) {
					String value = model.get(i).toString();
					model.set(i, model.get(i+1));
					model.set(i+1, value);
					FList.setSelectedIndex(i+1);
					updateModel();
					break;
				}
			}
		}   	   
       });
       builderFolder.add(but3,          cc.xy(3,  3));
       JButton but4 = new JButton(LooksFrame.readImageIcon("up-32.png")); 
       but4.setToolTipText(Messages.getString("FoldTab.12")); 
       but4.addActionListener(new ActionListener() {
   		public void actionPerformed(ActionEvent e) {
   			DefaultListModel model = ((DefaultListModel) FList.getModel());
   			for(int i=1;i<model.size();i++) {
   				if (FList.isSelectedIndex(i)) {
   					String value = model.get(i).toString();
   					model.set(i, model.get(i-1));
   					model.set(i-1, value);
   					FList.setSelectedIndex(i-1);
   					updateModel();
   					break;
   				}
   			}
   		}   	   
          });
       builderFolder.add(but4,          cc.xy(4,  3));
      but5 = new JButton(LooksFrame.readImageIcon("search-32.png")); 
       but5.setToolTipText(Messages.getString("FoldTab.2")); 
       but5.addActionListener(new ActionListener() {
   		public void actionPerformed(ActionEvent e) {
   			if (PMS.getConfiguration().getUseCache()) {
   				if (!PMS.get().getDatabase().isScanLibraryRunning()) {
	   				int option = JOptionPane.showConfirmDialog(
	   	                    (Component) PMS.get().getFrame(),
	   	                    Messages.getString("FoldTab.3") + 
	   	                    Messages.getString("FoldTab.4"), 
	   	                    "Question", 
	   	                    JOptionPane.YES_NO_OPTION
	   	                    );
	   				if (option == JOptionPane.YES_OPTION) {
	   					PMS.get().getDatabase().scanLibrary();
	   					but5.setIcon(LooksFrame.readImageIcon("viewmagfit-32.png")); 
	   				}
   				} else {
   					int option = JOptionPane.showConfirmDialog(
	   	                    (Component) PMS.get().getFrame(),
	   	                    Messages.getString("FoldTab.10"), 
	   	                    "Question", 
	   	                    JOptionPane.YES_NO_OPTION
	   	                    );
	   				if (option == JOptionPane.YES_OPTION) {
	   					PMS.get().getDatabase().stopScanLibrary();
	   					PMS.get().getFrame().setStatusLine(null);
	   					but5.setIcon(LooksFrame.readImageIcon("search-32.png")); 
	   				}
   				}
   			}
   		}   	   
          });
       builderFolder.add(but5,          cc.xy(5,  3));
       but5.setEnabled(PMS.getConfiguration().getUseCache());
       builderFolder.add(pane,          cc.xyw(1,  5,6));
       builder.add(builderFolder.getPanel(), cc.xyw(1, 25, 8));
        return builder.getPanel();
	}
