Fix issue with file dialog not showing when drawing mapsforge.

This commit is contained in:
Holt59 2018-03-09 21:36:19 +01:00
parent e0268c80af
commit 23928b2c5b

View File

@ -463,7 +463,10 @@ public class MainWindow extends JFrame {
}
}
Runnable runnable = null;
if (isMapView && mfile != null) {
final File mfileFinal = mfile;
// It is a mapview drawing and the file was found, so:
// 1. We create the drawing if necessary.
if (drawing != mapViewDrawing) {
@ -473,16 +476,17 @@ public class MainWindow extends JFrame {
mainPanel.setDividerLocation(oldLocation);
notifyDrawingLoaded(basicDrawing, mapViewDrawing);
drawing.clear();
((MapViewDrawing) drawing).drawGraph(mfile);
isNewGraph = true;
}
else if (isNewGraph) {
if (isNewGraph) {
drawing.clear();
((MapViewDrawing) drawing).drawGraph(mfile);
}
else {
drawing.clearOverlays();
}
runnable = new Runnable() {
public void run() {
((MapViewDrawing) drawing).drawGraph(mfileFinal);
notifyRedrawRequest();
}
};
}
}
else if (!isMapView || (isMapView && mfile == null && isNewGraph)) {
@ -492,18 +496,25 @@ public class MainWindow extends JFrame {
mainPanel.setLeftComponent(basicDrawing);
mainPanel.setDividerLocation(oldLocation);
notifyDrawingLoaded(mapViewDrawing, basicDrawing);
this.currentPalette = palette;
drawing.clear();
drawing.drawGraph(graph, palette);
isNewGraph = true;
}
else if (isNewGraph || palette != this.currentPalette) {
if (isNewGraph || palette != this.currentPalette) {
this.currentPalette = palette;
drawing.clear();
runnable = new Runnable() {
public void run() {
drawing.drawGraph(graph, palette);
notifyRedrawRequest();
}
};
}
}
if (runnable != null) {
launchThread(runnable, false);
}
else {
drawing.clearOverlays();
}
notifyRedrawRequest();
}
@ -696,13 +707,8 @@ public class MainWindow extends JFrame {
drawGraphItem.addActionListener(baf.createBlockingAction(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
launchThread(new Runnable() {
@Override
public void run() {
drawGraph(BasicDrawing.class, basicPalette);
}
});
}
}));
graphLockItems.add(drawGraphItem);
JMenuItem drawGraphBWItem = new JMenuItem("Redraw (B&W)", KeyEvent.VK_B);
@ -710,13 +716,8 @@ public class MainWindow extends JFrame {
drawGraphBWItem.addActionListener(baf.createBlockingAction(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
launchThread(new Runnable() {
@Override
public void run() {
drawGraph(BasicDrawing.class, blackAndWhitePalette);
}
});
}
}));
graphLockItems.add(drawGraphBWItem);
JMenuItem drawGraphMapsforgeItem = new JMenuItem("Redraw (Map)", KeyEvent.VK_M);
@ -725,13 +726,8 @@ public class MainWindow extends JFrame {
drawGraphMapsforgeItem.addActionListener(baf.createBlockingAction(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
launchThread(new Runnable() {
@Override
public void run() {
drawGraph(MapViewDrawing.class);
}
});
}
}));
graphLockItems.add(drawGraphMapsforgeItem);