fixed icons
This commit is contained in:
parent
4643d06b19
commit
86204d59b4
@ -501,7 +501,8 @@ public class MainWindow extends JFrame {
|
|||||||
toolBar.removeAll();
|
toolBar.removeAll();
|
||||||
|
|
||||||
// Refresh button
|
// Refresh button
|
||||||
JButton btnRefresh = new JButton("↻");
|
JButton btnRefresh = new JButton();
|
||||||
|
btnRefresh.setIcon(createToolbarRefreshIcon());
|
||||||
setupMainToolbarButton(btnRefresh, "Refresh active panel", new Color(140, 190, 140));
|
setupMainToolbarButton(btnRefresh, "Refresh active panel", new Color(140, 190, 140));
|
||||||
btnRefresh.addActionListener(e -> {
|
btnRefresh.addActionListener(e -> {
|
||||||
if (activePanel != null && activePanel.getCurrentDirectory() != null) {
|
if (activePanel != null && activePanel.getCurrentDirectory() != null) {
|
||||||
@ -512,7 +513,8 @@ public class MainWindow extends JFrame {
|
|||||||
toolBar.addSeparator();
|
toolBar.addSeparator();
|
||||||
|
|
||||||
// Button for BRIEF mode
|
// Button for BRIEF mode
|
||||||
JButton btnBrief = new JButton("☰");
|
JButton btnBrief = new JButton();
|
||||||
|
btnBrief.setIcon(createToolbarBriefIcon());
|
||||||
setupMainToolbarButton(btnBrief, "Brief mode - multiple columns (Ctrl+F1)", new Color(230, 180, 130));
|
setupMainToolbarButton(btnBrief, "Brief mode - multiple columns (Ctrl+F1)", new Color(230, 180, 130));
|
||||||
btnBrief.addActionListener(e -> {
|
btnBrief.addActionListener(e -> {
|
||||||
if (activePanel != null) {
|
if (activePanel != null) {
|
||||||
@ -521,7 +523,8 @@ public class MainWindow extends JFrame {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Button for FULL mode
|
// Button for FULL mode
|
||||||
JButton btnFull = new JButton("▤");
|
JButton btnFull = new JButton();
|
||||||
|
btnFull.setIcon(createToolbarFullIcon());
|
||||||
setupMainToolbarButton(btnFull, "Full mode - full information (Ctrl+F2)", new Color(140, 170, 220));
|
setupMainToolbarButton(btnFull, "Full mode - full information (Ctrl+F2)", new Color(140, 170, 220));
|
||||||
btnFull.addActionListener(e -> {
|
btnFull.addActionListener(e -> {
|
||||||
if (activePanel != null) {
|
if (activePanel != null) {
|
||||||
@ -535,13 +538,15 @@ public class MainWindow extends JFrame {
|
|||||||
toolBar.addSeparator();
|
toolBar.addSeparator();
|
||||||
|
|
||||||
// Search button
|
// Search button
|
||||||
JButton btnSearch = new JButton("🔍");
|
JButton btnSearch = new JButton();
|
||||||
|
btnSearch.setIcon(createToolbarSearchIcon());
|
||||||
setupMainToolbarButton(btnSearch, "Search files (Alt+F7)", new Color(200, 160, 200));
|
setupMainToolbarButton(btnSearch, "Search files (Alt+F7)", new Color(200, 160, 200));
|
||||||
btnSearch.addActionListener(e -> showSearchDialog());
|
btnSearch.addActionListener(e -> showSearchDialog());
|
||||||
toolBar.add(btnSearch);
|
toolBar.add(btnSearch);
|
||||||
|
|
||||||
// Sync button
|
// Sync button
|
||||||
JButton btnSync = new JButton("⚖");
|
JButton btnSync = new JButton();
|
||||||
|
btnSync.setIcon(createToolbarCompareIcon());
|
||||||
setupMainToolbarButton(btnSync, "Compare directories", new Color(150, 200, 200));
|
setupMainToolbarButton(btnSync, "Compare directories", new Color(150, 200, 200));
|
||||||
btnSync.addActionListener(e -> showSyncDialog());
|
btnSync.addActionListener(e -> showSyncDialog());
|
||||||
toolBar.add(btnSync);
|
toolBar.add(btnSync);
|
||||||
@ -713,6 +718,191 @@ public class MainWindow extends JFrame {
|
|||||||
return new ImageIcon(img.getScaledInstance(width, height, Image.SCALE_SMOOTH));
|
return new ImageIcon(img.getScaledInstance(width, height, Image.SCALE_SMOOTH));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Icon createToolbarSearchIcon() {
|
||||||
|
return new Icon() {
|
||||||
|
private final int w = 16;
|
||||||
|
private final int h = 16;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconWidth() {
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconHeight() {
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintIcon(Component c, Graphics g, int x, int y) {
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
try {
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
g2.setColor(c != null ? c.getForeground() : Color.DARK_GRAY);
|
||||||
|
g2.setStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
|
||||||
|
|
||||||
|
int cx = x + 6;
|
||||||
|
int cy = y + 6;
|
||||||
|
int r = 4;
|
||||||
|
|
||||||
|
g2.drawOval(cx - r, cy - r, r * 2, r * 2);
|
||||||
|
g2.drawLine(cx + r - 1, cy + r - 1, x + 14, y + 14);
|
||||||
|
} finally {
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private Icon createToolbarRefreshIcon() {
|
||||||
|
return new Icon() {
|
||||||
|
private final int w = 16;
|
||||||
|
private final int h = 16;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconWidth() {
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconHeight() {
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintIcon(Component c, Graphics g, int x, int y) {
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
try {
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
g2.setColor(c != null ? c.getForeground() : Color.DARK_GRAY);
|
||||||
|
g2.setStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
|
||||||
|
|
||||||
|
g2.drawArc(x + 2, y + 2, 10, 10, 35, 255);
|
||||||
|
g2.drawLine(x + 11, y + 2, x + 14, y + 3);
|
||||||
|
g2.drawLine(x + 11, y + 2, x + 12, y + 5);
|
||||||
|
} finally {
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private Icon createToolbarBriefIcon() {
|
||||||
|
return new Icon() {
|
||||||
|
private final int w = 16;
|
||||||
|
private final int h = 16;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconWidth() {
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconHeight() {
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintIcon(Component c, Graphics g, int x, int y) {
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
try {
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
g2.setColor(c != null ? c.getForeground() : Color.DARK_GRAY);
|
||||||
|
g2.setStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
|
||||||
|
|
||||||
|
// Three vertical columns to represent compact brief layout.
|
||||||
|
int colW = 3;
|
||||||
|
int gap = 2;
|
||||||
|
int startX = x + 1;
|
||||||
|
int top = y + 2;
|
||||||
|
int height = 12;
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
int cx = startX + i * (colW + gap);
|
||||||
|
g2.drawRoundRect(cx, top, colW, height, 2, 2);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private Icon createToolbarFullIcon() {
|
||||||
|
return new Icon() {
|
||||||
|
private final int w = 16;
|
||||||
|
private final int h = 16;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconWidth() {
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconHeight() {
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintIcon(Component c, Graphics g, int x, int y) {
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
try {
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
g2.setColor(c != null ? c.getForeground() : Color.DARK_GRAY);
|
||||||
|
g2.setStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
|
||||||
|
|
||||||
|
// List rows with a side column to represent full-detail table layout.
|
||||||
|
g2.drawRoundRect(x + 1, y + 2, 4, 12, 2, 2);
|
||||||
|
g2.drawLine(x + 7, y + 4, x + 14, y + 4);
|
||||||
|
g2.drawLine(x + 7, y + 8, x + 14, y + 8);
|
||||||
|
g2.drawLine(x + 7, y + 12, x + 14, y + 12);
|
||||||
|
} finally {
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private Icon createToolbarCompareIcon() {
|
||||||
|
return new Icon() {
|
||||||
|
private final int w = 16;
|
||||||
|
private final int h = 16;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconWidth() {
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getIconHeight() {
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void paintIcon(Component c, Graphics g, int x, int y) {
|
||||||
|
Graphics2D g2 = (Graphics2D) g.create();
|
||||||
|
try {
|
||||||
|
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
g2.setColor(c != null ? c.getForeground() : Color.DARK_GRAY);
|
||||||
|
g2.setStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
|
||||||
|
|
||||||
|
// Two panes side by side with opposing arrows: directory compare.
|
||||||
|
g2.drawRoundRect(x + 1, y + 2, 5, 11, 2, 2);
|
||||||
|
g2.drawRoundRect(x + 10, y + 2, 5, 11, 2, 2);
|
||||||
|
|
||||||
|
g2.drawLine(x + 7, y + 6, x + 9, y + 6);
|
||||||
|
g2.drawLine(x + 8, y + 5, x + 9, y + 6);
|
||||||
|
g2.drawLine(x + 8, y + 7, x + 9, y + 6);
|
||||||
|
|
||||||
|
g2.drawLine(x + 9, y + 10, x + 7, y + 10);
|
||||||
|
g2.drawLine(x + 8, y + 9, x + 7, y + 10);
|
||||||
|
g2.drawLine(x + 8, y + 11, x + 7, y + 10);
|
||||||
|
} finally {
|
||||||
|
g2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private void setupMainToolbarButton(JButton btn, String tooltip, Color color) {
|
private void setupMainToolbarButton(JButton btn, String tooltip, Color color) {
|
||||||
int btnSize = config != null ? config.getToolbarButtonSize() : 35;
|
int btnSize = config != null ? config.getToolbarButtonSize() : 35;
|
||||||
if (btnSize < 35) btnSize = 35;
|
if (btnSize < 35) btnSize = 35;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user