|
@@ -1,1044 +0,0 @@
|
|
|
-/*
|
|
|
- * Copyright (C) 2015 iZc
|
|
|
- *
|
|
|
- * This program is free software: you can redistribute it and/or modify
|
|
|
- * it under the terms of the GNU General Public License as published by
|
|
|
- * the Free Software Foundation, either version 3 of the License, or
|
|
|
- * (at your option) any later version.
|
|
|
- *
|
|
|
- * This program is distributed in the hope that it will be useful,
|
|
|
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
- * GNU General Public License for more details.
|
|
|
- *
|
|
|
- * You should have received a copy of the GNU General Public License
|
|
|
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
- */
|
|
|
-package de.nplusc.izc.Utilities.WPCMgr.Editor;
|
|
|
-
|
|
|
-import de.nplusc.izc.tools.IOtools.DirectoryTreeNode;
|
|
|
-import de.nplusc.izc.tools.IOtools.ExplorerTree;
|
|
|
-import de.nplusc.izc.tools.IOtools.FileTK;
|
|
|
-import de.nplusc.izc.tools.IOtools.fileFormatParsers.ico.BadIcoResException;
|
|
|
-import de.nplusc.izc.tools.IOtools.fileFormatParsers.ico.Ico;
|
|
|
-import de.nplusc.izc.tools.UiToolz.DirectoryTree;
|
|
|
-import de.nplusc.izc.tools.baseTools.Messagers;
|
|
|
-import de.nplusc.izc.tools.baseTools.Tools;
|
|
|
-import java.awt.Image;
|
|
|
-import java.awt.image.BufferedImage;
|
|
|
-import java.io.File;
|
|
|
-import java.io.IOException;
|
|
|
-import java.nio.file.Files;
|
|
|
-import java.nio.file.NoSuchFileException;
|
|
|
-import java.nio.file.Path;
|
|
|
-import java.nio.file.Paths;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import javax.imageio.ImageIO;
|
|
|
-import javax.swing.DefaultListModel;
|
|
|
-import javax.swing.JList;
|
|
|
-
|
|
|
-/**
|
|
|
- *
|
|
|
- * @author LH
|
|
|
- */
|
|
|
-public class IconMgrDBV extends javax.swing.JFrame
|
|
|
-{
|
|
|
-
|
|
|
- /**
|
|
|
- * Creates new form IconMgr
|
|
|
- */
|
|
|
-
|
|
|
- private ArrayList<String[]> dirLists = new ArrayList<>();//unbegrenzt Listen möglich.Array wird zum ausblenden der Lsiten benutzt
|
|
|
- private HashMap<Integer,Integer> selectionIDX = new HashMap<>();//merkt sich die auswahl
|
|
|
- //der IDx ist die Position von ViewBase berechnet
|
|
|
-
|
|
|
- private int listToEdit = 0;//welche liste gerade unter BEarbeitung ist
|
|
|
- private int viewWidth=1,viewBase=0;//für Update (wo die linkeste Liste sitzt und wieviele gezeichnet werden
|
|
|
- private int viewOffsetMax=0;//gibt maximalposition nach rechts an (fürs Scrollen)
|
|
|
-
|
|
|
- private DefaultListModel idxList;
|
|
|
- private DefaultListModel[] listsData = new DefaultListModel[4];//4 listen ....;
|
|
|
- private JList[] lsts = new JList[4]; ///\
|
|
|
-
|
|
|
- private DirectoryTree trm =Settings.dbt;//
|
|
|
- private DirectoryTree alttree = new ExplorerTree("T:\\icns\\"/*Slash nicht vergessen....*/);//
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- private DirectoryTreeNode[] clipboard = new DirectoryTreeNode[50];//tabelle begrenzt also muss das CB genauso sein
|
|
|
-
|
|
|
- public IconMgrDBV()
|
|
|
- {
|
|
|
- initComponents();
|
|
|
- String[] baseDirList = trm.getDirectoryContent("\\");
|
|
|
- dirLists.add(0,baseDirList);
|
|
|
- listsData[0] = (DefaultListModel) lstBase.getModel();
|
|
|
- listsData[1] = (DefaultListModel) lstSub1.getModel();
|
|
|
- listsData[2] = (DefaultListModel) lstSub2.getModel();
|
|
|
- listsData[3] = (DefaultListModel) lstSub4.getModel();
|
|
|
- lsts[0] = lstBase;
|
|
|
- lsts[1] = lstSub1;
|
|
|
- lsts[2] = lstSub2;
|
|
|
- lsts[3] = lstSub4;
|
|
|
- updateLists();
|
|
|
- idxList = (DefaultListModel) lstIndicies.getModel();
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- private void updateLists()
|
|
|
- {
|
|
|
- for(int i=1;i<=4;i++)
|
|
|
- {
|
|
|
- listsData[i-1].clear();
|
|
|
- if(i>viewWidth)
|
|
|
- {
|
|
|
- //leert die listen rechts vom aktuellen Offset
|
|
|
- //System.err.println("ClearList()"); //war für nen bugfix nötig habs aber gschafft
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- DefaultListModel lm = listsData[i-1];
|
|
|
- for (String entry : dirLists.get(viewBase+i-1))
|
|
|
- {
|
|
|
- lm.addElement(entry);
|
|
|
-
|
|
|
- }
|
|
|
- try
|
|
|
- {
|
|
|
- lsts[i-1].setSelectedIndex(selectionIDX.get(viewBase+i-1));
|
|
|
- }
|
|
|
- catch(Exception e)
|
|
|
- {
|
|
|
- //bei ungeladener Liste
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- /**
|
|
|
- * This method is called from within the constructor to initialize the form.
|
|
|
- * WARNING: Do NOT modify this code. The content of this method is always
|
|
|
- * regenerated by the Form Editor.
|
|
|
- */
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
- // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
|
|
- private void initComponents()
|
|
|
- {
|
|
|
-
|
|
|
- jScrollPane7 = new javax.swing.JScrollPane();
|
|
|
- jTable1 = new javax.swing.JTable();
|
|
|
- jScrollPane1 = new javax.swing.JScrollPane();
|
|
|
- lstBase = new javax.swing.JList();
|
|
|
- jScrollPane2 = new javax.swing.JScrollPane();
|
|
|
- lstSub1 = new javax.swing.JList();
|
|
|
- jScrollPane3 = new javax.swing.JScrollPane();
|
|
|
- lstSub2 = new javax.swing.JList();
|
|
|
- jScrollPane4 = new javax.swing.JScrollPane();
|
|
|
- lstSub4 = new javax.swing.JList();
|
|
|
- btnRight = new javax.swing.JButton();
|
|
|
- btnLeft = new javax.swing.JButton();
|
|
|
- pnlPreview = new javax.swing.JPanel();
|
|
|
- jScrollPane6 = new javax.swing.JScrollPane();
|
|
|
- lstIndicies = new javax.swing.JList();
|
|
|
- btnToggle = new javax.swing.JButton();
|
|
|
- jTabbedPane1 = new javax.swing.JTabbedPane();
|
|
|
- jPanel1 = new javax.swing.JPanel();
|
|
|
- btnCreateDirectory = new javax.swing.JButton();
|
|
|
- btnCopy = new javax.swing.JButton();
|
|
|
- btnPaste = new javax.swing.JButton();
|
|
|
- jScrollPane8 = new javax.swing.JScrollPane();
|
|
|
- tblClipboard = new javax.swing.JTable();
|
|
|
- jPanel2 = new javax.swing.JPanel();
|
|
|
- jButton1 = new javax.swing.JButton();
|
|
|
- jButton2 = new javax.swing.JButton();
|
|
|
- jScrollPane5 = new javax.swing.JScrollPane();
|
|
|
- jList1 = new javax.swing.JList();
|
|
|
- jPanel3 = new javax.swing.JPanel();
|
|
|
- btnApplyIconToDIr = new javax.swing.JButton();
|
|
|
- jSeparator1 = new javax.swing.JSeparator();
|
|
|
- jSeparator2 = new javax.swing.JSeparator();
|
|
|
- jLabel1 = new javax.swing.JLabel();
|
|
|
-
|
|
|
- jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
|
|
- new Object [][]
|
|
|
- {
|
|
|
- {null, null, null, null},
|
|
|
- {null, null, null, null},
|
|
|
- {null, null, null, null},
|
|
|
- {null, null, null, null}
|
|
|
- },
|
|
|
- new String []
|
|
|
- {
|
|
|
- "Title 1", "Title 2", "Title 3", "Title 4"
|
|
|
- }
|
|
|
- ));
|
|
|
- jScrollPane7.setViewportView(jTable1);
|
|
|
-
|
|
|
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
|
|
-
|
|
|
- lstBase.setModel(new DefaultListModel());
|
|
|
- lstBase.addMouseListener(new java.awt.event.MouseAdapter()
|
|
|
- {
|
|
|
- public void mouseClicked(java.awt.event.MouseEvent evt)
|
|
|
- {
|
|
|
- lstBaseMouseClicked(evt);
|
|
|
- }
|
|
|
- });
|
|
|
- jScrollPane1.setViewportView(lstBase);
|
|
|
-
|
|
|
- lstSub1.setModel(new DefaultListModel());
|
|
|
- lstSub1.addMouseListener(new java.awt.event.MouseAdapter()
|
|
|
- {
|
|
|
- public void mouseClicked(java.awt.event.MouseEvent evt)
|
|
|
- {
|
|
|
- lstSub1MouseClicked(evt);
|
|
|
- }
|
|
|
- });
|
|
|
- jScrollPane2.setViewportView(lstSub1);
|
|
|
-
|
|
|
- lstSub2.setModel(new DefaultListModel());
|
|
|
- lstSub2.addMouseListener(new java.awt.event.MouseAdapter()
|
|
|
- {
|
|
|
- public void mouseClicked(java.awt.event.MouseEvent evt)
|
|
|
- {
|
|
|
- lstSub2MouseClicked(evt);
|
|
|
- }
|
|
|
- });
|
|
|
- jScrollPane3.setViewportView(lstSub2);
|
|
|
-
|
|
|
- lstSub4.setModel(new DefaultListModel());
|
|
|
- lstSub4.addMouseListener(new java.awt.event.MouseAdapter()
|
|
|
- {
|
|
|
- public void mouseClicked(java.awt.event.MouseEvent evt)
|
|
|
- {
|
|
|
- lstSub4MouseClicked(evt);
|
|
|
- }
|
|
|
- });
|
|
|
- jScrollPane4.setViewportView(lstSub4);
|
|
|
-
|
|
|
- btnRight.setText(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
|
|
|
- btnRight.addActionListener(new java.awt.event.ActionListener()
|
|
|
- {
|
|
|
- public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
- {
|
|
|
- btnRightActionPerformed(evt);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- btnLeft.setText("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
|
|
|
- btnLeft.addActionListener(new java.awt.event.ActionListener()
|
|
|
- {
|
|
|
- public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
- {
|
|
|
- btnLeftActionPerformed(evt);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- pnlPreview.setMinimumSize(new java.awt.Dimension(256, 256));
|
|
|
-
|
|
|
- javax.swing.GroupLayout pnlPreviewLayout = new javax.swing.GroupLayout(pnlPreview);
|
|
|
- pnlPreview.setLayout(pnlPreviewLayout);
|
|
|
- pnlPreviewLayout.setHorizontalGroup(
|
|
|
- pnlPreviewLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGap(0, 256, Short.MAX_VALUE)
|
|
|
- );
|
|
|
- pnlPreviewLayout.setVerticalGroup(
|
|
|
- pnlPreviewLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGap(0, 256, Short.MAX_VALUE)
|
|
|
- );
|
|
|
-
|
|
|
- lstIndicies.setModel(new javax.swing.DefaultListModel());
|
|
|
- lstIndicies.addMouseListener(new java.awt.event.MouseAdapter()
|
|
|
- {
|
|
|
- public void mouseClicked(java.awt.event.MouseEvent evt)
|
|
|
- {
|
|
|
- lstIndiciesMouseClicked(evt);
|
|
|
- }
|
|
|
- });
|
|
|
- jScrollPane6.setViewportView(lstIndicies);
|
|
|
-
|
|
|
- btnToggle.setText("Toggle Mode");
|
|
|
- btnToggle.addActionListener(new java.awt.event.ActionListener()
|
|
|
- {
|
|
|
- public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
- {
|
|
|
- btnToggleActionPerformed(evt);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- btnCreateDirectory.setText("Create directory");
|
|
|
- btnCreateDirectory.addActionListener(new java.awt.event.ActionListener()
|
|
|
- {
|
|
|
- public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
- {
|
|
|
- btnCreateDirectoryActionPerformed(evt);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- btnCopy.setText("Copy into CLipboard");
|
|
|
- btnCopy.addActionListener(new java.awt.event.ActionListener()
|
|
|
- {
|
|
|
- public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
- {
|
|
|
- btnCopyActionPerformed(evt);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- btnPaste.setText("Paste at current directory");
|
|
|
- btnPaste.addActionListener(new java.awt.event.ActionListener()
|
|
|
- {
|
|
|
- public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
- {
|
|
|
- btnPasteActionPerformed(evt);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- tblClipboard.setModel(new javax.swing.table.DefaultTableModel(
|
|
|
- new Object [][]
|
|
|
- {
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null},
|
|
|
- {null, null, null}
|
|
|
- },
|
|
|
- new String []
|
|
|
- {
|
|
|
- "Name1", "Description", "Path"
|
|
|
- }
|
|
|
- )
|
|
|
- {
|
|
|
- Class[] types = new Class []
|
|
|
- {
|
|
|
- java.lang.String.class, java.lang.String.class, java.lang.String.class
|
|
|
- };
|
|
|
-
|
|
|
- public Class getColumnClass(int columnIndex)
|
|
|
- {
|
|
|
- return types [columnIndex];
|
|
|
- }
|
|
|
- });
|
|
|
- jScrollPane8.setViewportView(tblClipboard);
|
|
|
-
|
|
|
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
|
|
|
- jPanel1.setLayout(jPanel1Layout);
|
|
|
- jPanel1Layout.setHorizontalGroup(
|
|
|
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel1Layout.createSequentialGroup()
|
|
|
- .addContainerGap()
|
|
|
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel1Layout.createSequentialGroup()
|
|
|
- .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 431, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addGap(0, 0, Short.MAX_VALUE))
|
|
|
- .addGroup(jPanel1Layout.createSequentialGroup()
|
|
|
- .addComponent(btnCreateDirectory)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(btnCopy, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(btnPaste)))
|
|
|
- .addContainerGap())
|
|
|
- );
|
|
|
- jPanel1Layout.setVerticalGroup(
|
|
|
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel1Layout.createSequentialGroup()
|
|
|
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
- .addComponent(btnPaste)
|
|
|
- .addComponent(btnCopy)
|
|
|
- .addComponent(btnCreateDirectory))
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
|
- .addComponent(jScrollPane8, javax.swing.GroupLayout.DEFAULT_SIZE, 330, Short.MAX_VALUE)
|
|
|
- .addContainerGap())
|
|
|
- );
|
|
|
-
|
|
|
- jTabbedPane1.addTab("ClipboardManager", jPanel1);
|
|
|
-
|
|
|
- jButton1.setText("Load TargetExe");
|
|
|
-
|
|
|
- jButton2.setText("ReplaceIcon");
|
|
|
-
|
|
|
- jList1.setModel(new javax.swing.AbstractListModel()
|
|
|
- {
|
|
|
- String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
|
|
|
- public int getSize() { return strings.length; }
|
|
|
- public Object getElementAt(int i) { return strings[i]; }
|
|
|
- });
|
|
|
- jScrollPane5.setViewportView(jList1);
|
|
|
-
|
|
|
- javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
|
|
|
- jPanel3.setLayout(jPanel3Layout);
|
|
|
- jPanel3Layout.setHorizontalGroup(
|
|
|
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGap(0, 127, Short.MAX_VALUE)
|
|
|
- );
|
|
|
- jPanel3Layout.setVerticalGroup(
|
|
|
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGap(0, 197, Short.MAX_VALUE)
|
|
|
- );
|
|
|
-
|
|
|
- btnApplyIconToDIr.setText("Apply Icon to Directory");
|
|
|
- btnApplyIconToDIr.addActionListener(new java.awt.event.ActionListener()
|
|
|
- {
|
|
|
- public void actionPerformed(java.awt.event.ActionEvent evt)
|
|
|
- {
|
|
|
- btnApplyIconToDIrActionPerformed(evt);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- jLabel1.setText("Exe-Patch");
|
|
|
-
|
|
|
- javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
|
|
|
- jPanel2.setLayout(jPanel2Layout);
|
|
|
- jPanel2Layout.setHorizontalGroup(
|
|
|
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addContainerGap()
|
|
|
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addGap(16, 16, 16)
|
|
|
- .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
- .addGap(18, 18, 18)
|
|
|
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
|
- .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
- .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
- .addGap(63, 63, 63))
|
|
|
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
|
|
|
- .addComponent(btnApplyIconToDIr)
|
|
|
- .addGap(29, 29, 29))
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(jLabel1)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(jSeparator1)
|
|
|
- .addContainerGap())))
|
|
|
- );
|
|
|
- jPanel2Layout.setVerticalGroup(
|
|
|
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addContainerGap()
|
|
|
- .addComponent(btnApplyIconToDIr)
|
|
|
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addGap(13, 13, 13)
|
|
|
- .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addComponent(jSeparator2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING))))
|
|
|
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addGap(2, 2, 2)
|
|
|
- .addComponent(jButton1)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(jButton2))
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addGap(10, 10, 10)
|
|
|
- .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 238, javax.swing.GroupLayout.PREFERRED_SIZE))))
|
|
|
- .addGroup(jPanel2Layout.createSequentialGroup()
|
|
|
- .addGap(18, 18, 18)
|
|
|
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
|
- .addContainerGap(70, Short.MAX_VALUE))
|
|
|
- );
|
|
|
-
|
|
|
- jTabbedPane1.addTab("Utilities", jPanel2);
|
|
|
-
|
|
|
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
|
|
- getContentPane().setLayout(layout);
|
|
|
- layout.setHorizontalGroup(
|
|
|
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
- .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 159, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
- .addComponent(btnLeft, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addGap(23, 23, 23)
|
|
|
- .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 456, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addComponent(btnRight, javax.swing.GroupLayout.PREFERRED_SIZE, 328, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addComponent(btnToggle)
|
|
|
- .addGap(13, 13, 13)
|
|
|
- .addComponent(pnlPreview, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addGap(18, 18, 18)
|
|
|
- .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
|
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
- );
|
|
|
- layout.setVerticalGroup(
|
|
|
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addContainerGap()
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
|
- .addComponent(btnRight, javax.swing.GroupLayout.DEFAULT_SIZE, 34, Short.MAX_VALUE)
|
|
|
- .addComponent(btnToggle))
|
|
|
- .addComponent(btnLeft, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING)
|
|
|
- .addComponent(jScrollPane2)
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 638, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addGap(0, 0, Short.MAX_VALUE))
|
|
|
- .addComponent(jScrollPane4)))
|
|
|
- .addGroup(layout.createSequentialGroup()
|
|
|
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
|
- .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 403, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
|
- .addContainerGap())
|
|
|
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
|
- .addGap(0, 0, Short.MAX_VALUE)
|
|
|
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
|
- .addComponent(pnlPreview, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
|
- .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
|
- .addGap(436, 436, 436))))
|
|
|
- );
|
|
|
-
|
|
|
- pack();
|
|
|
- }// </editor-fold>//GEN-END:initComponents
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- private String PathToIcon = "";
|
|
|
- private List<BufferedImage> iconimages;
|
|
|
- private void showIcon(String selectedIcon)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
-
|
|
|
- System.err.println(selectedIcon);
|
|
|
- PathToIcon = selectedIcon;
|
|
|
- if(database)
|
|
|
- PathToIcon = alttree.getRootPathValue()+"\\"+PathToIcon;
|
|
|
- else
|
|
|
- PathToIcon = trm.getRootPathValue()+PathToIcon;
|
|
|
- System.err.println(PathToIcon);
|
|
|
- iconimages = new ArrayList<>();
|
|
|
- idxList.clear();
|
|
|
- Image image = null;
|
|
|
- if(FileTK.getFileExt(PathToIcon).equals("ico"))
|
|
|
- {
|
|
|
- Ico ico = new Ico(PathToIcon);
|
|
|
-
|
|
|
-
|
|
|
- int lc = ico.getNumImages();
|
|
|
- for (int i = 0; i < lc; i++)
|
|
|
- {
|
|
|
- idxList.addElement(i);
|
|
|
- iconimages.add(ico.getImage(i));
|
|
|
- }
|
|
|
- image = (Image) iconimages.get(0);
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //TODO: platzhalter-icon für No Icon found
|
|
|
- iconimages.add(ImageIO.read(new File(PathToIcon)));
|
|
|
- image = (Image)iconimages.get(0);
|
|
|
- idxList.addElement(0);
|
|
|
- }
|
|
|
- pnlPreview.getGraphics().clearRect(0, 0, pnlPreview.getWidth(), pnlPreview.getHeight());
|
|
|
- System.err.println("FarkFarkFark");
|
|
|
- pnlPreview.getGraphics().drawImage(image, 0, 0, null);
|
|
|
- //TODO implementieren PReview des Icons
|
|
|
- }
|
|
|
- catch (BadIcoResException | IOException ex)
|
|
|
- {
|
|
|
- ex.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- private String getPathToThisSelection(int listOffset)
|
|
|
- {
|
|
|
- String retPath = "";//root wird automatisch hinzugefügt...
|
|
|
- int max = viewBase+listOffset;
|
|
|
- for (int i = 0; i <= max; i++)
|
|
|
- {
|
|
|
- String[] etrs = dirLists.get(i);
|
|
|
- try{
|
|
|
- retPath += "\\"+etrs[selectionIDX.get(i)];
|
|
|
- }
|
|
|
- catch(NullPointerException e)
|
|
|
- {
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- return retPath.replaceAll(">>>", "");
|
|
|
- }
|
|
|
-
|
|
|
- private String path = "";
|
|
|
- private void lstBaseMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_lstBaseMouseClicked
|
|
|
- {//GEN-HEADEREND:event_lstBaseMouseClicked
|
|
|
- selectionIDX.put(viewBase,lstBase.getMinSelectionIndex());
|
|
|
- boolean isDirectory=false;
|
|
|
- //listsData[0].getElementAt(selectionIDX[viewBase]);
|
|
|
- path = getPathToThisSelection(0);
|
|
|
- isDirectory=!trm.nodeIsFile(path);
|
|
|
- if(!isDirectory)
|
|
|
- {
|
|
|
- viewWidth=1;
|
|
|
- viewOffsetMax=viewBase;
|
|
|
- String p2 = path+">>>";//neuer String
|
|
|
- p2 = p2.replaceAll(">>>", "");//eretzt die Dir-amrker //auch denn hack für neuwn string...
|
|
|
- if(database)
|
|
|
- {
|
|
|
- String id = trm.getNodeID(p2);
|
|
|
- DirectoryTreeNode n = trm.getNodeWithID(id);
|
|
|
- p2= n.getAdditionalData(0);
|
|
|
-
|
|
|
- }
|
|
|
- showIcon(p2);
|
|
|
- System.err.println("F1l3");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- listToEdit = viewBase+1;//viewbase zeugt auf die linkeste Liste deshalb eins nach rechts
|
|
|
- viewWidth=2;
|
|
|
- viewOffsetMax=viewBase+1;
|
|
|
- loadDirsIntoList(path);
|
|
|
- updateLists();
|
|
|
- }//GEN-LAST:event_lstBaseMouseClicked
|
|
|
-
|
|
|
- private void lstSub1MouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_lstSub1MouseClicked
|
|
|
- {//GEN-HEADEREND:event_lstSub1MouseClicked
|
|
|
- selectionIDX.put(viewBase+1,lstSub1.getMinSelectionIndex());
|
|
|
- boolean isDirectory=false;
|
|
|
- //listsData[1].getElementAt(selectionIDX[viewBase+1]);
|
|
|
- path = getPathToThisSelection(1);
|
|
|
- isDirectory=!trm.nodeIsFile(path);
|
|
|
- if(!isDirectory)
|
|
|
- {
|
|
|
- viewWidth=2;
|
|
|
- viewOffsetMax=viewBase+1;
|
|
|
- String p2 = path+">>>";//neuer String
|
|
|
- p2 = p2.replaceAll(">>>", "");//eretzt die Dir-amrker //auch denn hack für neuwn string...
|
|
|
- if(database)
|
|
|
- {
|
|
|
- String id = trm.getNodeID(p2);
|
|
|
- DirectoryTreeNode n = trm.getNodeWithID(id);
|
|
|
- p2= n.getAdditionalData(0);
|
|
|
-
|
|
|
- }
|
|
|
- showIcon(p2);
|
|
|
- System.err.println("F1l3");
|
|
|
- return;
|
|
|
- }
|
|
|
- listToEdit = viewBase+2;//viewbase zeugt auf die linkeste Liste deshalb eins nach rechts
|
|
|
- viewWidth=3;
|
|
|
- viewOffsetMax=viewBase+2;
|
|
|
- loadDirsIntoList(path);
|
|
|
- updateLists();
|
|
|
- }//GEN-LAST:event_lstSub1MouseClicked
|
|
|
-
|
|
|
- private void lstSub2MouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_lstSub2MouseClicked
|
|
|
- {//GEN-HEADEREND:event_lstSub2MouseClicked
|
|
|
- selectionIDX.put(viewBase+2,lstSub2.getMinSelectionIndex());
|
|
|
- boolean isDirectory=false;
|
|
|
- //listsData[2].getElementAt(selectionIDX[viewBase+2]);
|
|
|
- path = getPathToThisSelection(2);
|
|
|
- isDirectory=!trm.nodeIsFile(path);
|
|
|
- if(!isDirectory)
|
|
|
- {
|
|
|
- viewWidth=3;
|
|
|
- viewOffsetMax=viewBase+2;
|
|
|
- String p2 = path+">>>";//neuer String
|
|
|
- p2 = p2.replaceAll(">>>", "");//eretzt die Dir-amrker //auch denn hack für neuwn string...
|
|
|
- if(database)
|
|
|
- {
|
|
|
- String id = trm.getNodeID(p2);
|
|
|
- DirectoryTreeNode n = trm.getNodeWithID(id);
|
|
|
- p2= n.getAdditionalData(0);
|
|
|
-
|
|
|
- }
|
|
|
- showIcon(p2);
|
|
|
- System.err.println("F1l3");
|
|
|
- return;
|
|
|
- }
|
|
|
- listToEdit = viewBase+3;//viewbase zeugt auf die linkeste Liste deshalb eins nach rechts
|
|
|
- viewWidth=4;
|
|
|
- viewOffsetMax=viewBase+3;
|
|
|
- loadDirsIntoList(path);
|
|
|
- updateLists();
|
|
|
- }//GEN-LAST:event_lstSub2MouseClicked
|
|
|
-
|
|
|
- private void lstSub4MouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_lstSub4MouseClicked
|
|
|
- {//GEN-HEADEREND:event_lstSub4MouseClicked
|
|
|
- selectionIDX.put(viewBase+3,lstSub4.getMinSelectionIndex());
|
|
|
- boolean isDirectory=false;
|
|
|
- //listsData[3].getElementAt(selectionIDX[viewBase+3]);
|
|
|
- path = getPathToThisSelection(3);
|
|
|
- //System.err.println(path);
|
|
|
- isDirectory=!trm.nodeIsFile(path);
|
|
|
- if(!isDirectory)
|
|
|
- {
|
|
|
- viewWidth=4;
|
|
|
- viewOffsetMax=viewBase+3;
|
|
|
- String p2 = path+">>>";//neuer String
|
|
|
- p2 = p2.replaceAll(">>>", "");//eretzt die Dir-amrker //auch denn hack für neuwn string...
|
|
|
- if(database)
|
|
|
- {
|
|
|
- String id = trm.getNodeID(p2);
|
|
|
- DirectoryTreeNode n = trm.getNodeWithID(id);
|
|
|
- p2= n.getAdditionalData(0);
|
|
|
-
|
|
|
- }
|
|
|
- showIcon(p2);
|
|
|
- System.err.println("F1l3");
|
|
|
- //System.err.println("FARK");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- viewBase++;//shift++
|
|
|
- System.err.println(viewBase);
|
|
|
- listToEdit = viewBase+3;//viewbase zeugt auf die linkeste Liste deshalb eins nach rechts
|
|
|
- viewWidth=4;
|
|
|
- viewOffsetMax=viewBase+3;
|
|
|
- loadDirsIntoList(path);
|
|
|
- updateLists();
|
|
|
- }//GEN-LAST:event_lstSub4MouseClicked
|
|
|
-
|
|
|
- private void btnLeftActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnLeftActionPerformed
|
|
|
- {//GEN-HEADEREND:event_btnLeftActionPerformed
|
|
|
- if(viewBase>0)
|
|
|
- {
|
|
|
- viewBase--;
|
|
|
- int tvw=(viewOffsetMax+1)-viewBase;
|
|
|
- if(tvw>4)
|
|
|
- {
|
|
|
- tvw=4;
|
|
|
- }
|
|
|
- viewWidth = tvw;
|
|
|
- updateLists();
|
|
|
- }
|
|
|
- }//GEN-LAST:event_btnLeftActionPerformed
|
|
|
-
|
|
|
- private void btnRightActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnRightActionPerformed
|
|
|
- {//GEN-HEADEREND:event_btnRightActionPerformed
|
|
|
- if(viewBase<viewOffsetMax)
|
|
|
- {
|
|
|
- viewBase++;
|
|
|
- int tvw=(viewOffsetMax+1)-viewBase;
|
|
|
- if(tvw>4)
|
|
|
- {
|
|
|
- tvw=4;
|
|
|
- }
|
|
|
- viewWidth = tvw;
|
|
|
- updateLists();
|
|
|
- }
|
|
|
- }//GEN-LAST:event_btnRightActionPerformed
|
|
|
-
|
|
|
- private void lstIndiciesMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_lstIndiciesMouseClicked
|
|
|
- {//GEN-HEADEREND:event_lstIndiciesMouseClicked
|
|
|
- pnlPreview.getGraphics().clearRect(0, 0, pnlPreview.getWidth(), pnlPreview.getHeight());
|
|
|
- pnlPreview.getGraphics().drawImage((Image)iconimages.get(lstIndicies.getSelectedIndex()), 0, 0, null);
|
|
|
- }//GEN-LAST:event_lstIndiciesMouseClicked
|
|
|
- private boolean database = true;
|
|
|
- private void btnToggleActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnToggleActionPerformed
|
|
|
- {//GEN-HEADEREND:event_btnToggleActionPerformed
|
|
|
- if(database)
|
|
|
- {
|
|
|
- trm = alttree;
|
|
|
- database=false;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- trm=Settings.dbt;
|
|
|
- database=true;
|
|
|
- }
|
|
|
- listToEdit = 0;//welche liste gerade unter BEarbeitung ist
|
|
|
- viewWidth=1;
|
|
|
- viewBase=0;//für Update (wo die linkeste Liste sitzt und wieviele gezeichnet werden
|
|
|
- viewOffsetMax=0;
|
|
|
- selectionIDX = new HashMap<>();
|
|
|
- String[] baseDirList = trm.getDirectoryContent("\\");
|
|
|
- dirLists.add(0,baseDirList);
|
|
|
- updateLists();
|
|
|
- }//GEN-LAST:event_btnToggleActionPerformed
|
|
|
-
|
|
|
- private void btnCreateDirectoryActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnCreateDirectoryActionPerformed
|
|
|
- {//GEN-HEADEREND:event_btnCreateDirectoryActionPerformed
|
|
|
- if(database)
|
|
|
- {
|
|
|
- String dirname = Tools.getInputString("Name für Verzeichnis");
|
|
|
- trm.insertDirectory(path+"\\"+dirname);
|
|
|
- trm.forceReload();
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- Messagers.SingleLineMsg("Kanns hier nicht. sry", "Leck mich mal");
|
|
|
- }
|
|
|
-
|
|
|
- }//GEN-LAST:event_btnCreateDirectoryActionPerformed
|
|
|
-
|
|
|
- private int clibboardwriter = 0;
|
|
|
-
|
|
|
- private void btnCopyActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnCopyActionPerformed
|
|
|
- {//GEN-HEADEREND:event_btnCopyActionPerformed
|
|
|
- if(clibboardwriter==50)
|
|
|
- {
|
|
|
- Messagers.SingleLineMsg("Uhhhh CLipboard voll", "Okeee LMAA..");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- String description = Tools.getInputString("Beschreibung", true);
|
|
|
- DirectoryTreeNode tmp = new DirectoryTreeNode("0", "0", FileTK.getFileName(path), false);
|
|
|
- tmp.addAdditionalData(0, path);
|
|
|
- tmp.addAdditionalData(1, description);
|
|
|
- clipboard[clibboardwriter] = tmp;
|
|
|
- tblClipboard.getModel().setValueAt(FileTK.getFileName(path),clibboardwriter,0);
|
|
|
- tblClipboard.getModel().setValueAt(description,clibboardwriter,1);
|
|
|
- tblClipboard.getModel().setValueAt(path,clibboardwriter,2);
|
|
|
- clibboardwriter++;
|
|
|
- }//GEN-LAST:event_btnCopyActionPerformed
|
|
|
-
|
|
|
- private void btnPasteActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnPasteActionPerformed
|
|
|
- {//GEN-HEADEREND:event_btnPasteActionPerformed
|
|
|
- if(!database)
|
|
|
- {
|
|
|
- Messagers.SingleLineMsg("Uhhhh Kopierpaste nicht kompatibel", "Okeee LMAA..");
|
|
|
- return;
|
|
|
- }
|
|
|
- System.err.println(path);
|
|
|
- String nid = trm.getNodeID(path);
|
|
|
- for (DirectoryTreeNode cln: clipboard)
|
|
|
- {
|
|
|
- if(cln!=null)
|
|
|
- {
|
|
|
- DirectoryTreeNode temp = new DirectoryTreeNode("0", nid, cln+"", false);
|
|
|
- temp.addAdditionalData(0, cln.getAdditionalData(0));
|
|
|
- temp.addAdditionalData(1, cln.getAdditionalData(1));
|
|
|
- trm.insertFile(temp);
|
|
|
- }
|
|
|
- }
|
|
|
- clipboard=new DirectoryTreeNode[50];//reset
|
|
|
- for (int i = 0; i < 50; i++)
|
|
|
- {
|
|
|
- tblClipboard.getModel().setValueAt("",i,0);
|
|
|
- tblClipboard.getModel().setValueAt("",i,1);
|
|
|
- tblClipboard.getModel().setValueAt("",i,2);
|
|
|
- }
|
|
|
- clibboardwriter=0;
|
|
|
- updateLists();
|
|
|
- }//GEN-LAST:event_btnPasteActionPerformed
|
|
|
-
|
|
|
- private void btnApplyIconToDIrActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnApplyIconToDIrActionPerformed
|
|
|
- {//GEN-HEADEREND:event_btnApplyIconToDIrActionPerformed
|
|
|
- if(!FileTK.getFileExt(PathToIcon).equalsIgnoreCase("ico"))
|
|
|
- {
|
|
|
- Messagers.SingleLineMsg("Uhhhh PNG geht hier nicht", "Okeee LMAA..");
|
|
|
- return;
|
|
|
- }
|
|
|
- String targetDirectory = Tools.FileChooseDlg(this, true, true, new String[]{});
|
|
|
-
|
|
|
- /*
|
|
|
- attrib -h -r c:\test\desktop.ini
|
|
|
- echo [.ShellClassInfo] >C:\test\desktop.ini
|
|
|
- echo IconFile=%SystemRoot%\system32\shell32.dll>>C:\test\desktop.ini
|
|
|
- echo IconIndex=5 >>C:\test\desktop.ini
|
|
|
- attrib +h +r c:\test\desktop.ini
|
|
|
- attrib +r c:\test
|
|
|
- */
|
|
|
- //solution for autoChg of icon
|
|
|
- //ini4j lib needed for hotswapping content// zeile 2 bis 4 gebens schema vor
|
|
|
- //Tools.runSingleCmd("cd " +targetDirectory+"&&attrib -s -h Desktop.ini");
|
|
|
-
|
|
|
- Path p = Paths.get( targetDirectory);
|
|
|
- try
|
|
|
- {
|
|
|
- p = Paths.get( targetDirectory+"\\Desktop.ini");
|
|
|
- Files.setAttribute( p, "dos:hidden", false );
|
|
|
- Files.setAttribute( p, "dos:system", false );
|
|
|
- }
|
|
|
- catch (NoSuchFileException ex)
|
|
|
- {
|
|
|
- //NOP da dann nix möglich ist...
|
|
|
- }
|
|
|
- catch (IOException ex)
|
|
|
- {
|
|
|
- ex.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- try
|
|
|
- {
|
|
|
- //HAXALERT
|
|
|
- Thread.sleep(10);
|
|
|
- }
|
|
|
- catch (InterruptedException ex)
|
|
|
- {
|
|
|
- }
|
|
|
- PathToIcon = new File(PathToIcon).getAbsolutePath();//HAXXX
|
|
|
- System.err.print(PathToIcon);
|
|
|
- String inifile =
|
|
|
- "[.ShellClassInfo]\n"+
|
|
|
- "IconFile="+PathToIcon+"\n"+
|
|
|
- "IconIndex=0"; // alles andere gibt bei ico-files nen error
|
|
|
- FileTK.writeFile(inifile, targetDirectory+"\\Desktop.ini");
|
|
|
- p = Paths.get( targetDirectory);
|
|
|
- try
|
|
|
- {
|
|
|
- Files.setAttribute( p, "dos:readonly", true );
|
|
|
- p = Paths.get( targetDirectory+"\\Desktop.ini");
|
|
|
- Files.setAttribute( p, "dos:hidden", true );
|
|
|
- Files.setAttribute( p, "dos:system", true );
|
|
|
- }
|
|
|
- catch (IOException ex)
|
|
|
- {
|
|
|
- ex.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- }//GEN-LAST:event_btnApplyIconToDIrActionPerformed
|
|
|
-
|
|
|
-
|
|
|
- private void loadDirsIntoList(String path)
|
|
|
- {
|
|
|
- String[] content = trm.getDirectoryContent(path);
|
|
|
- dirLists.add(listToEdit,content);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * @param args the command line arguments
|
|
|
- */
|
|
|
- public static void main(String args[])
|
|
|
- {
|
|
|
- /* Set the Nimbus look and feel */
|
|
|
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
|
|
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
|
|
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
|
|
- */
|
|
|
- try
|
|
|
- {
|
|
|
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels())
|
|
|
- {
|
|
|
- if ("Nimbus".equals(info.getName()))
|
|
|
- {
|
|
|
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- catch (ClassNotFoundException ex)
|
|
|
- {
|
|
|
- java.util.logging.Logger.getLogger(IconMgrDBV.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
- }
|
|
|
- catch (InstantiationException ex)
|
|
|
- {
|
|
|
- java.util.logging.Logger.getLogger(IconMgrDBV.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
- }
|
|
|
- catch (IllegalAccessException ex)
|
|
|
- {
|
|
|
- java.util.logging.Logger.getLogger(IconMgrDBV.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
- }
|
|
|
- catch (javax.swing.UnsupportedLookAndFeelException ex)
|
|
|
- {
|
|
|
- java.util.logging.Logger.getLogger(IconMgrDBV.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
|
|
- }
|
|
|
- //</editor-fold>
|
|
|
-
|
|
|
- /* Create and display the form */
|
|
|
- java.awt.EventQueue.invokeLater(new Runnable()
|
|
|
- {
|
|
|
- public void run()
|
|
|
- {
|
|
|
- new IconMgrDBV().setVisible(true);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- // Variables declaration - do not modify//GEN-BEGIN:variables
|
|
|
- private javax.swing.JButton btnApplyIconToDIr;
|
|
|
- private javax.swing.JButton btnCopy;
|
|
|
- private javax.swing.JButton btnCreateDirectory;
|
|
|
- private javax.swing.JButton btnLeft;
|
|
|
- private javax.swing.JButton btnPaste;
|
|
|
- private javax.swing.JButton btnRight;
|
|
|
- private javax.swing.JButton btnToggle;
|
|
|
- private javax.swing.JButton jButton1;
|
|
|
- private javax.swing.JButton jButton2;
|
|
|
- private javax.swing.JLabel jLabel1;
|
|
|
- private javax.swing.JList jList1;
|
|
|
- private javax.swing.JPanel jPanel1;
|
|
|
- private javax.swing.JPanel jPanel2;
|
|
|
- private javax.swing.JPanel jPanel3;
|
|
|
- private javax.swing.JScrollPane jScrollPane1;
|
|
|
- private javax.swing.JScrollPane jScrollPane2;
|
|
|
- private javax.swing.JScrollPane jScrollPane3;
|
|
|
- private javax.swing.JScrollPane jScrollPane4;
|
|
|
- private javax.swing.JScrollPane jScrollPane5;
|
|
|
- private javax.swing.JScrollPane jScrollPane6;
|
|
|
- private javax.swing.JScrollPane jScrollPane7;
|
|
|
- private javax.swing.JScrollPane jScrollPane8;
|
|
|
- private javax.swing.JSeparator jSeparator1;
|
|
|
- private javax.swing.JSeparator jSeparator2;
|
|
|
- private javax.swing.JTabbedPane jTabbedPane1;
|
|
|
- private javax.swing.JTable jTable1;
|
|
|
- private javax.swing.JList lstBase;
|
|
|
- private javax.swing.JList lstIndicies;
|
|
|
- private javax.swing.JList lstSub1;
|
|
|
- private javax.swing.JList lstSub2;
|
|
|
- private javax.swing.JList lstSub4;
|
|
|
- private javax.swing.JPanel pnlPreview;
|
|
|
- private javax.swing.JTable tblClipboard;
|
|
|
- // End of variables declaration//GEN-END:variables
|
|
|
-}
|