Skip to content

Commit b82b94a

Browse files
committed
add buttons for important but difficult to find directories
1 parent 2abf48e commit b82b94a

File tree

1 file changed

+32
-4
lines changed

1 file changed

+32
-4
lines changed

src/main/java/prof7bit/bitcoin/wallettool/ui/swing/core/WalletPanel.xtend

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ class WalletPanel extends JPanel{
178178
addChoosableFileFilter(new FileNameExtensionFilter("Bitcoin-core 'dumpwallet' file (*.txt)", "txt"))
179179
addChoosableFileFilter(new FileNameExtensionFilter("Bitcoin-core wallet.dat (*.dat)", "dat"))
180180
setFileFilter(new FileNameExtensionFilter("Multibit wallet (*.wallet)", "wallet"))
181-
preferredSize = new Dimension(600, 500)
181+
preferredSize = new Dimension(800, 500)
182182
accessory = createAccessoryPanel(it)
183183
]
184184

@@ -187,11 +187,10 @@ class WalletPanel extends JPanel{
187187
addChoosableFileFilter(new FileNameExtensionFilter("Multibit key export file (*.key)", "key"))
188188
addChoosableFileFilter(new FileNameExtensionFilter("Bitcoin-core 'dumpwallet' file (*.txt)", "txt"))
189189
setFileFilter(new FileNameExtensionFilter("Multibit wallet (*.wallet)", "wallet"))
190-
preferredSize = new Dimension(600, 500)
190+
preferredSize = new Dimension(800, 500)
191191
accessory = createAccessoryPanel(it)
192192
]
193193

194-
195194
val status_label = new JLabel("ready")
196195
val progress_bar = new JProgressBar => [
197196
minimum = 0
@@ -206,16 +205,44 @@ class WalletPanel extends JPanel{
206205

207206
def createAccessoryPanel(JFileChooser c){
208207
return new JPanel => [panel|
208+
panel.layout = new MigLayout("fillx")
209209
new JCheckBox("show hidden files") => [
210-
panel.add(it)
210+
panel.add(it, "pushx, growx, wrap")
211211
selected = false
212212
addActionListener [evt|
213213
c.fileHidingEnabled = !selected
214214
]
215215
]
216+
addDirButton(panel, c, "home", System.getProperty("user.home"))
217+
addDirButton(panel, c, "APPDATA", System.getenv("APPDATA"))
218+
addDirButton(panel, c, "~/Library/Application Support",
219+
System.getProperty("user.home") + "/Library/Application Support"
220+
)
216221
]
217222
}
218223

224+
def addDirButton(JPanel panel, JFileChooser c, String label, String path){
225+
val f = getFileOrNull(path)
226+
if (f != null){
227+
new JButton(label) => [
228+
panel.add(it, "pushx, growx, wrap")
229+
addActionListener [
230+
c.currentDirectory = f
231+
]
232+
]
233+
}
234+
}
235+
236+
def getFileOrNull(String path){
237+
if (path != null){
238+
val f = new File(path)
239+
if (f.exists){
240+
return f
241+
}
242+
}
243+
return null
244+
}
245+
219246
new(Frame parentFrame) {
220247
super()
221248
this.parentFrame = parentFrame
@@ -409,5 +436,6 @@ class WalletPanel extends JPanel{
409436
return ret.get(0)
410437
}
411438
}
439+
412440
}
413441

0 commit comments

Comments
 (0)