Skip to content

Commit bba18ec

Browse files
committed
- change where logs are saved
- select font for view logs screen
1 parent 04d133a commit bba18ec

File tree

8 files changed

+770
-18
lines changed

8 files changed

+770
-18
lines changed

src/main/java/com/jpage4500/devicemanager/MainApplication.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ private void setupLogging() {
6565
// set log level that application should log at (and higher)
6666
logger.setDebugLevel(Log.VERBOSE);
6767
logger.setLogToFile(true);
68-
// save logs to temp folder
69-
String tmpDir = Utils.getTempFolder();
70-
logger.setFileLog(new File(tmpDir, "device_manager_log.txt"));
68+
// save logs to ~/.device_manager folder
69+
File deviceManagerFolder = Utils.getDeviceManagerFolder();
70+
logger.setFileLog(new File(deviceManagerFolder, "device_manager_log.txt"));
7171

7272
boolean isDebugMode = PreferenceUtils.getPreference(PreferenceUtils.PrefBoolean.PREF_DEBUG_MODE, false);
7373
logger.setFileLogLevel(isDebugMode ? Log.DEBUG : Log.INFO);
@@ -105,6 +105,7 @@ private void handleLaunchParams() {
105105
List<File> files = e.getFiles();
106106
if (openFileList == null) openFileList = new ArrayList<>();
107107
openFileList.addAll(files);
108+
log.debug("handleLaunchParams: {}", openFileList);
108109
sendFilesToDevice();
109110
});
110111
}

src/main/java/com/jpage4500/devicemanager/table/utils/LogsCellRenderer.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,15 @@ public Component getTableCellRendererComponent(JTable table, Object object, bool
104104
}
105105

106106
public void notifyFontChanged() {
107+
String fontName = PreferenceUtils.getPreference(PreferenceUtils.Pref.PREF_LOGS_FONT_NAME, "Courier");
108+
int fontStyle = PreferenceUtils.getPreference(PreferenceUtils.PrefInt.PREF_LOGS_FONT_STYLE, Font.PLAIN);
109+
int fontSize = PreferenceUtils.getPreference(PreferenceUtils.PrefInt.PREF_LOGS_FONT_SIZE, defaultFontSize);
107110
int fontOffset = PreferenceUtils.getPreference(PreferenceUtils.PrefInt.PREF_FONT_SIZE_OFFSET, 0);
108-
setFont(getFont().deriveFont(Font.PLAIN, fontOffset + defaultFontSize));
111+
int size = fontSize + fontOffset;
112+
if (size > 25) size = 25;
113+
else if (size < 8) size = 8;
114+
log.trace("notifyFontChanged: {}, {}, {}, offset:{}", fontName, fontStyle, fontSize, fontOffset);
115+
Font font = new Font(fontName, fontStyle, size);
116+
setFont(font);
109117
}
110118
}

src/main/java/com/jpage4500/devicemanager/ui/DeviceScreen.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -677,9 +677,12 @@ public void handleFilesOpened(List<File> fileList) {
677677
}
678678

679679
public void handleFilesDropped(List<File> fileList) {
680-
log.debug("handleFilesDropped: {}", fileList.size());
681680
List<Device> selectedDeviceList = getSelectedDevices(true);
682-
if (selectedDeviceList.isEmpty()) return;
681+
if (selectedDeviceList.isEmpty()) {
682+
log.error("handleFilesDropped: no devices! {}", fileList);
683+
return;
684+
}
685+
log.debug("handleFilesDropped: {}, #devices:{}", fileList, selectedDeviceList.size());
683686
installOrCopyFiles(selectedDeviceList, fileList, null);
684687
}
685688

@@ -1135,9 +1138,7 @@ private boolean isToobarHidden(ToolbarButton toolbarButton) {
11351138
}
11361139

11371140
private List<File> getCustomScripts() {
1138-
String homeFolder = Utils.getUserHomeFolder();
1139-
File customFolder = new File(homeFolder, ".device_manager");
1140-
if (!customFolder.exists()) return null;
1141+
File customFolder = Utils.getDeviceManagerFolder();
11411142
File[] files = customFolder.listFiles();
11421143
if (files == null) return null;
11431144
List<File> scriptList = new ArrayList<>();

src/main/java/com/jpage4500/devicemanager/ui/ViewLogsScreen.java

+29-5
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ public ViewLogsScreen(DeviceScreen deviceScreen, Device device) {
6565
this.deviceScreen = deviceScreen;
6666
this.device = device;
6767
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
68+
6869
initalizeUi();
6970
updateDeviceState();
7071
}
@@ -190,6 +191,8 @@ private void setupMenuBar() {
190191

191192
JMenu editMenu = new JMenu("Edit");
192193

194+
createMenuItem(editMenu, "Select Font", null, e -> showFontSelection());
195+
193196
// [CMD + +] = increase font size
194197
createCmdMenuItem(editMenu, "Increase Font Size", KeyEvent.VK_EQUALS, e -> increaseFontSize());
195198

@@ -291,12 +294,12 @@ private void findNext(boolean isForward) {
291294
public void increaseFontSize() {
292295
int fontOffset = PreferenceUtils.getPreference(PreferenceUtils.PrefInt.PREF_FONT_SIZE_OFFSET, 0);
293296
fontOffset++;
294-
setFontSize(fontOffset);
295-
}
296-
297-
private void setFontSize(int fontOffset) {
297+
if (fontOffset > 10) fontOffset = 10;
298298
PreferenceUtils.setPreference(PreferenceUtils.PrefInt.PREF_FONT_SIZE_OFFSET, fontOffset);
299+
notifyFontChanged();
300+
}
299301

302+
private void notifyFontChanged() {
300303
LogsCellRenderer cellRenderer = (LogsCellRenderer) table.getDefaultRenderer(LogEntry.class);
301304
cellRenderer.notifyFontChanged();
302305
model.fireTableDataChanged();
@@ -305,7 +308,24 @@ private void setFontSize(int fontOffset) {
305308
public void decreaseFontSize() {
306309
int fontOffset = PreferenceUtils.getPreference(PreferenceUtils.PrefInt.PREF_FONT_SIZE_OFFSET, 0);
307310
fontOffset--;
308-
setFontSize(fontOffset);
311+
if (fontOffset < -10) fontOffset = -10;
312+
PreferenceUtils.setPreference(PreferenceUtils.PrefInt.PREF_FONT_SIZE_OFFSET, fontOffset);
313+
notifyFontChanged();
314+
}
315+
316+
private void showFontSelection() {
317+
JFontChooser fontChooser = new JFontChooser();
318+
LogsCellRenderer cellRenderer = (LogsCellRenderer) table.getDefaultRenderer(LogEntry.class);
319+
fontChooser.setSelectedFont(cellRenderer.getFont());
320+
int rc = fontChooser.showDialog(deviceScreen);
321+
if (rc != JOptionPane.YES_OPTION) return;
322+
Font font = fontChooser.getSelectedFont();
323+
log.trace("showFontSelection: font:{}", font);
324+
PreferenceUtils.setPreference(PreferenceUtils.Pref.PREF_LOGS_FONT_NAME, font.getName());
325+
PreferenceUtils.setPreference(PreferenceUtils.PrefInt.PREF_LOGS_FONT_STYLE, font.getStyle());
326+
PreferenceUtils.setPreference(PreferenceUtils.PrefInt.PREF_LOGS_FONT_SIZE, font.getSize());
327+
PreferenceUtils.setPreference(PreferenceUtils.PrefInt.PREF_FONT_SIZE_OFFSET, 0);
328+
notifyFontChanged();
309329
}
310330

311331
private void closeWindow() {
@@ -335,6 +355,10 @@ private void setupTable() {
335355
table.setModel(model);
336356
table.setDefaultRenderer(LogEntry.class, new LogsCellRenderer());
337357

358+
int unitIncrement = table.getScrollPane().getHorizontalScrollBar().getUnitIncrement();
359+
log.trace("setupTable: {}", unitIncrement);
360+
table.getScrollPane().getHorizontalScrollBar().setUnitIncrement(unitIncrement * 4);
361+
338362
// restore user-defined column sizes
339363
if (!table.restoreTable()) {
340364
// use some default column sizes

0 commit comments

Comments
 (0)