This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 226955
Collapse All | Expand All

(-)options.keymap/src/org/netbeans/modules/options/keymap/Bundle.properties (+2 lines)
Lines 200-202 Link Here
200
Import.failed.title=Import Keymap Profile
200
Import.failed.title=Import Keymap Profile
201
KeymapPanel.waitLabel.text=Please wait while actions are collected
201
KeymapPanel.waitLabel.text=Please wait while actions are collected
202
KeymapPanel.actionProgress.string=Please wait while actions load
202
KeymapPanel.actionProgress.string=Please wait while actions load
203
KeymapPanel.btnPrintAsHTML.text=Print...
204
KeymapPanel.btnPrintAsHTML.toolTipText=Generate a printable HTML-file for the current keymap-profile and open it in the HTML-Browser.
(-)options.keymap/src/org/netbeans/modules/options/keymap/ExportShortcutsAction.java (-12 / +73 lines)
Lines 53-77 Link Here
53
import java.io.OutputStreamWriter;
53
import java.io.OutputStreamWriter;
54
import java.io.Writer;
54
import java.io.Writer;
55
import java.util.ArrayList;
55
import java.util.ArrayList;
56
import java.util.Arrays;
57
import java.util.Collection;
56
import java.util.Collections;
58
import java.util.Collections;
57
import java.util.HashMap;
59
import java.util.HashMap;
58
import java.util.Iterator;
60
import java.util.Iterator;
59
import java.util.List;
61
import java.util.List;
60
import java.util.Map;
62
import java.util.Map;
61
import java.util.Set;
63
import java.util.Set;
64
import java.util.StringTokenizer;
62
import java.util.TreeMap;
65
import java.util.TreeMap;
63
import javax.swing.AbstractAction;
66
import javax.swing.AbstractAction;
64
import javax.swing.Action;
67
import javax.swing.Action;
65
import javax.swing.JFileChooser;
68
import javax.swing.JFileChooser;
69
import javax.swing.KeyStroke;
70
import org.netbeans.core.options.keymap.api.KeyStrokeUtils;
66
import org.netbeans.core.options.keymap.api.ShortcutAction;
71
import org.netbeans.core.options.keymap.api.ShortcutAction;
67
import org.netbeans.core.options.keymap.spi.KeymapManager;
72
import org.netbeans.core.options.keymap.spi.KeymapManager;
68
import org.netbeans.modules.options.keymap.XMLStorage.Attribs;
73
import org.netbeans.modules.options.keymap.XMLStorage.Attribs;
69
import org.openide.ErrorManager;
74
import org.openide.ErrorManager;
75
import org.openide.awt.HtmlBrowser;
70
import org.openide.filesystems.FileLock;
76
import org.openide.filesystems.FileLock;
71
import org.openide.filesystems.FileObject;
77
import org.openide.filesystems.FileObject;
72
import org.openide.filesystems.FileUtil;
78
import org.openide.filesystems.FileUtil;
73
import org.openide.loaders.DataObject;
79
import org.openide.loaders.DataObject;
74
import org.openide.util.NbBundle;
80
import org.openide.util.NbBundle;
81
import org.openide.util.Utilities;
75
import org.openide.windows.WindowManager;
82
import org.openide.windows.WindowManager;
76
83
77
public class ExportShortcutsAction {
84
public class ExportShortcutsAction {
Lines 150-156 Link Here
150
        {putValue (Action.NAME, loc ("CTL_Export_Shortcuts_to_HTML_Action"));}
157
        {putValue (Action.NAME, loc ("CTL_Export_Shortcuts_to_HTML_Action"));}
151
        
158
        
152
        public void actionPerformed (ActionEvent e) {
159
        public void actionPerformed (ActionEvent e) {
153
            exportShortcutsToHTML ();
160
            exportShortcutsOfAllProfilesToHTML ();
154
        }
161
        }
155
    };
162
    };
156
    
163
    
Lines 160-172 Link Here
160
167
161
    
168
    
162
    // helper methods ..........................................................
169
    // helper methods ..........................................................
170
    public static void exportShortcutsOfProfileToHTML (String profile) {
171
	final boolean showSystemSpecificShortcuts = true;
172
	exportShortcutsToHTML(new KeymapModel(), Arrays.asList(profile), showSystemSpecificShortcuts);
173
    }
174
175
    private static void exportShortcutsOfAllProfilesToHTML () {
176
	KeymapModel keymapModel = new KeymapModel ();
177
	List<String> allProfiles = keymapModel.getProfiles ();
178
	final boolean showSystemSpecificShortcuts = false;
179
	exportShortcutsToHTML(keymapModel, allProfiles, showSystemSpecificShortcuts);
180
    }
163
    
181
    
164
    private static void exportShortcutsToHTML () {
182
    
183
    private static void exportShortcutsToHTML (KeymapModel keymapModel, Collection<String> profiles, boolean displayHumanReadibleShortcuts) {
165
        // read all shortcuts to keymaps
184
        // read all shortcuts to keymaps
166
        KeymapModel keymapModel = new KeymapModel ();
167
        Map<String, Map<ShortcutAction, Set<String>>> keymaps = 
185
        Map<String, Map<ShortcutAction, Set<String>>> keymaps = 
168
                new TreeMap<String, Map<ShortcutAction, Set<String>>> ();
186
                new TreeMap<String, Map<ShortcutAction, Set<String>>> ();
169
        for (String profile: keymapModel.getProfiles ()) {
187
        for (String profile: profiles) {
170
            keymaps.put (
188
            keymaps.put (
171
                profile,
189
                profile,
172
                keymapModel.getKeymap (profile)
190
                keymapModel.getKeymap (profile)
Lines 201-207 Link Here
201
            }
219
            }
202
            
220
            
203
            // print body of table
221
            // print body of table
204
            exportShortcutsToHTML2 (keymapModel, sb, keymaps);
222
            exportShortcutsToHTML2 (keymapModel, sb, keymaps, displayHumanReadibleShortcuts);
205
            
223
            
206
            XMLStorage.generateFolderEnd (sb, "table", "    ");
224
            XMLStorage.generateFolderEnd (sb, "table", "    ");
207
            XMLStorage.generateFolderEnd (sb, "body", "  ");
225
            XMLStorage.generateFolderEnd (sb, "body", "  ");
Lines 217-227 Link Here
217
                OutputStreamWriter writer = new OutputStreamWriter (outputStream);
235
                OutputStreamWriter writer = new OutputStreamWriter (outputStream);
218
                writer.write (sb.toString ());
236
                writer.write (sb.toString ());
219
                writer.close ();
237
                writer.close ();
220
            } catch (IOException ex) {
238
239
		if (fo.canRead()) {
240
		    //open generated HTML in external browser
241
		    HtmlBrowser.URLDisplayer.getDefault().showURLExternal(fo.toURL());
242
		}
243
244
	    } catch (IOException ex) {
221
                ErrorManager.getDefault ().notify (ex);
245
                ErrorManager.getDefault ().notify (ex);
222
            } finally {
246
            } finally {
223
                fileLock.releaseLock ();
247
                fileLock.releaseLock ();
224
            }
248
            }
249
	    
225
        } catch (IOException ex) {
250
        } catch (IOException ex) {
226
            ErrorManager.getDefault ().notify (ex);
251
            ErrorManager.getDefault ().notify (ex);
227
        }
252
        }
Lines 233-239 Link Here
233
    private static void exportShortcutsToHTML2 (
258
    private static void exportShortcutsToHTML2 (
234
        KeymapModel keymapModel, 
259
        KeymapModel keymapModel, 
235
        StringBuffer sb,
260
        StringBuffer sb,
236
        Map<String, Map<ShortcutAction, Set<String>>> keymaps
261
        Map<String, Map<ShortcutAction, Set<String>>> keymaps, 
262
	boolean displayHumanReadibleShortcuts
237
    ) {
263
    ) {
238
        List<String> categories = new ArrayList<String> (keymapModel.getActionCategories ());
264
        List<String> categories = new ArrayList<String> (keymapModel.getActionCategories ());
239
        Collections.<String>sort (categories);
265
        Collections.<String>sort (categories);
Lines 253-259 Link Here
253
            XMLStorage.generateFolderEnd (sb, "tr", "      ");
279
            XMLStorage.generateFolderEnd (sb, "tr", "      ");
254
            
280
            
255
            // print body of one category
281
            // print body of one category
256
            exportShortcutsToHTML3 (sb, keymapModel, category, keymaps);
282
            exportShortcutsToHTML3 (sb, keymapModel, category, keymaps, displayHumanReadibleShortcuts);
257
        }
283
        }
258
    }
284
    }
259
285
Lines 264-270 Link Here
264
        StringBuffer sb, 
290
        StringBuffer sb, 
265
        KeymapModel keymapModel, 
291
        KeymapModel keymapModel, 
266
        String category,
292
        String category,
267
        Map<String, Map<ShortcutAction, Set<String>>> keymaps
293
        Map<String, Map<ShortcutAction, Set<String>>> keymaps, 
294
	boolean displayHumanReadibleShortcuts
268
    ) {
295
    ) {
269
        Set<ShortcutAction> actions = keymapModel.getActions (category);
296
        Set<ShortcutAction> actions = keymapModel.getActions (category);
270
297
Lines 294-300 Link Here
294
                Set<String> shortcuts = keymap.get (action);
321
                Set<String> shortcuts = keymap.get (action);
295
322
296
                XMLStorage.generateFolderStart (sb, "td", attribs, "        ");
323
                XMLStorage.generateFolderStart (sb, "td", attribs, "        ");
297
                printShortcuts (shortcuts, sb);
324
                printShortcuts (shortcuts, sb, displayHumanReadibleShortcuts);
298
                XMLStorage.generateFolderEnd (sb, "td", "        ");
325
                XMLStorage.generateFolderEnd (sb, "td", "        ");
299
            }
326
            }
300
            
327
            
Lines 302-308 Link Here
302
        }
329
        }
303
    }
330
    }
304
    
331
    
305
    private static void printShortcuts (Set<String> shortcuts, StringBuffer sb) {
332
    private static void printShortcuts (Set<String> shortcuts, StringBuffer sb, boolean displayHumanReadibleShortcuts) {
306
        if (shortcuts == null) {
333
        if (shortcuts == null) {
307
            sb.append ('-');
334
            sb.append ('-');
308
            return;
335
            return;
Lines 310-320 Link Here
310
        Iterator<String> it = shortcuts.iterator ();
337
        Iterator<String> it = shortcuts.iterator ();
311
        while (it.hasNext ()) {
338
        while (it.hasNext ()) {
312
            String shortcut = it.next ();
339
            String shortcut = it.next ();
313
            sb.append (shortcut);
340
	    if (displayHumanReadibleShortcuts) {
341
		//show system specific shortcuts like CTRL-SHIFT-ALT
342
		sb.append (portableRepresentationToShortcut(shortcut));
343
	    } else {
344
		//default: show portable shortcuts like D-O
345
		sb.append (shortcut);
346
	    }
314
            if (it.hasNext ()) sb.append (", ");
347
            if (it.hasNext ()) sb.append (", ");
315
        }
348
        }
316
    }
349
    }
317
    
350
    
351
    /**
352
     * Copy from org.netbeans.modules.options.keymap.ProfilesPanel.portableRepresentationToShortcut(java.lang.String):java.lang.String
353
     * @param portable
354
     * @return 
355
     */
356
        private static String portableRepresentationToShortcut(String portable) {
357
        assert portable != null : "The parameter must not be null"; //NOI18N
358
359
        StringBuilder buf = new StringBuilder();
360
        String delimiter = " "; //NOI18N
361
362
        for(StringTokenizer st = new StringTokenizer(portable, delimiter); st.hasMoreTokens();) { //NOI18N
363
            String ks = st.nextToken().trim();
364
365
            KeyStroke keyStroke = Utilities.stringToKey(ks);
366
367
            if (keyStroke != null) {
368
                buf.append(KeyStrokeUtils.getKeyStrokeAsText(keyStroke));
369
                if (st.hasMoreTokens())
370
                    buf.append(' ');
371
            } else {
372
                return null;
373
            }
374
        }
375
376
        return buf.toString();
377
    }
378
    
318
    private static void generateLayersXML (
379
    private static void generateLayersXML (
319
        LayersBridge layersBridge, 
380
        LayersBridge layersBridge, 
320
        Map<String, Map<String, ShortcutAction>> categoryToActions
381
        Map<String, Map<String, ShortcutAction>> categoryToActions
(-)options.keymap/src/org/netbeans/modules/options/keymap/KeymapPanel.form (-2 / +18 lines)
Lines 20-26 Link Here
20
              <Group type="103" groupAlignment="1" attributes="0">
20
              <Group type="103" groupAlignment="1" attributes="0">
21
                  <Group type="102" attributes="0">
21
                  <Group type="102" attributes="0">
22
                      <EmptySpace max="-2" attributes="0"/>
22
                      <EmptySpace max="-2" attributes="0"/>
23
                      <Group type="103" groupAlignment="1" attributes="0">
23
                      <Group type="103" groupAlignment="0" attributes="0">
24
                          <Group type="102" alignment="0" attributes="0">
24
                          <Group type="102" alignment="0" attributes="0">
25
                              <Component id="spShortcuts" min="-2" pref="175" max="-2" attributes="0"/>
25
                              <Component id="spShortcuts" min="-2" pref="175" max="-2" attributes="0"/>
26
                              <EmptySpace min="-2" pref="83" max="-2" attributes="0"/>
26
                              <EmptySpace min="-2" pref="83" max="-2" attributes="0"/>
Lines 31-38 Link Here
31
                              <Component id="lProfile" min="-2" max="-2" attributes="0"/>
31
                              <Component id="lProfile" min="-2" max="-2" attributes="0"/>
32
                              <EmptySpace max="-2" attributes="0"/>
32
                              <EmptySpace max="-2" attributes="0"/>
33
                              <Component id="cbProfile" max="32767" attributes="0"/>
33
                              <Component id="cbProfile" max="32767" attributes="0"/>
34
                              <EmptySpace type="unrelated" max="-2" attributes="0"/>
34
                              <EmptySpace max="-2" attributes="0"/>
35
                              <Component id="manageButton" min="-2" max="-2" attributes="0"/>
35
                              <Component id="manageButton" min="-2" max="-2" attributes="0"/>
36
                              <EmptySpace max="-2" attributes="0"/>
37
                              <Component id="btnPrintAsHTML" min="-2" max="-2" attributes="0"/>
36
                          </Group>
38
                          </Group>
37
                      </Group>
39
                      </Group>
38
                  </Group>
40
                  </Group>
Lines 63-68 Link Here
63
                  <Component id="lProfile" alignment="3" min="-2" max="-2" attributes="0"/>
65
                  <Component id="lProfile" alignment="3" min="-2" max="-2" attributes="0"/>
64
                  <Component id="cbProfile" alignment="3" min="-2" max="-2" attributes="0"/>
66
                  <Component id="cbProfile" alignment="3" min="-2" max="-2" attributes="0"/>
65
                  <Component id="manageButton" alignment="3" min="-2" max="-2" attributes="0"/>
67
                  <Component id="manageButton" alignment="3" min="-2" max="-2" attributes="0"/>
68
                  <Component id="btnPrintAsHTML" alignment="3" min="-2" max="-2" attributes="0"/>
66
              </Group>
69
              </Group>
67
              <Group type="103" groupAlignment="0" attributes="0">
70
              <Group type="103" groupAlignment="0" attributes="0">
68
                  <Group type="102" attributes="0">
71
                  <Group type="102" attributes="0">
Lines 298-302 Link Here
298
        <AuxValue name="classDetails" type="java.lang.String" value="Box.Filler.HorizontalStrut"/>
301
        <AuxValue name="classDetails" type="java.lang.String" value="Box.Filler.HorizontalStrut"/>
299
      </AuxValues>
302
      </AuxValues>
300
    </Component>
303
    </Component>
304
    <Component class="javax.swing.JButton" name="btnPrintAsHTML">
305
      <Properties>
306
        <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
307
          <ResourceString bundle="org/netbeans/modules/options/keymap/Bundle.properties" key="KeymapPanel.btnPrintAsHTML.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
308
        </Property>
309
        <Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
310
          <ResourceString bundle="org/netbeans/modules/options/keymap/Bundle.properties" key="KeymapPanel.btnPrintAsHTML.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
311
        </Property>
312
      </Properties>
313
      <Events>
314
        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnPrintAsHTMLActionPerformed"/>
315
      </Events>
316
    </Component>
301
  </SubComponents>
317
  </SubComponents>
302
</Form>
318
</Form>
(-)options.keymap/src/org/netbeans/modules/options/keymap/KeymapPanel.java (-6 / +25 lines)
Lines 484-489 Link Here
484
        actionsTable = new KeymapTable();
484
        actionsTable = new KeymapTable();
485
        filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0));
485
        filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0));
486
        filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767));
486
        filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767));
487
        btnPrintAsHTML = new javax.swing.JButton();
487
488
488
        lProfile.setLabelFor(cbProfile);
489
        lProfile.setLabelFor(cbProfile);
489
        org.openide.awt.Mnemonics.setLocalizedText(lProfile, org.openide.util.NbBundle.getMessage(KeymapPanel.class, "CTL_Keymap_Name")); // NOI18N
490
        org.openide.awt.Mnemonics.setLocalizedText(lProfile, org.openide.util.NbBundle.getMessage(KeymapPanel.class, "CTL_Keymap_Name")); // NOI18N
Lines 550-555 Link Here
550
551
551
        actionsView.add(jScrollPane1, "actions");
552
        actionsView.add(jScrollPane1, "actions");
552
553
554
        org.openide.awt.Mnemonics.setLocalizedText(btnPrintAsHTML, org.openide.util.NbBundle.getMessage(KeymapPanel.class, "KeymapPanel.btnPrintAsHTML.text")); // NOI18N
555
        btnPrintAsHTML.setToolTipText(org.openide.util.NbBundle.getMessage(KeymapPanel.class, "KeymapPanel.btnPrintAsHTML.toolTipText")); // NOI18N
556
        btnPrintAsHTML.addActionListener(new java.awt.event.ActionListener() {
557
            public void actionPerformed(java.awt.event.ActionEvent evt) {
558
                btnPrintAsHTMLActionPerformed(evt);
559
            }
560
        });
561
553
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
562
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
554
        this.setLayout(layout);
563
        this.setLayout(layout);
555
        layout.setHorizontalGroup(
564
        layout.setHorizontalGroup(
Lines 558-575 Link Here
558
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
567
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
559
                    .addGroup(layout.createSequentialGroup()
568
                    .addGroup(layout.createSequentialGroup()
560
                        .addContainerGap()
569
                        .addContainerGap()
561
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
570
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
562
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
571
                            .addGroup(layout.createSequentialGroup()
563
                                .addComponent(spShortcuts, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE)
572
                                .addComponent(spShortcuts, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE)
564
                                .addGap(83, 83, 83)
573
                                .addGap(83, 83, 83)
565
                                .addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
574
                                .addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
566
                                .addGap(0, 0, Short.MAX_VALUE))
575
                                .addGap(0, 0, Short.MAX_VALUE))
567
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
576
                            .addGroup(layout.createSequentialGroup()
568
                                .addComponent(lProfile)
577
                                .addComponent(lProfile)
569
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
578
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
570
                                .addComponent(cbProfile, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
579
                                .addComponent(cbProfile, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
571
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
580
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
572
                                .addComponent(manageButton))))
581
                                .addComponent(manageButton)
582
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
583
                                .addComponent(btnPrintAsHTML))))
573
                    .addGroup(layout.createSequentialGroup()
584
                    .addGroup(layout.createSequentialGroup()
574
                        .addGap(0, 0, Short.MAX_VALUE)
585
                        .addGap(0, 0, Short.MAX_VALUE)
575
                        .addComponent(searchLabel)
586
                        .addComponent(searchLabel)
Lines 595-601 Link Here
595
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
606
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
596
                    .addComponent(lProfile)
607
                    .addComponent(lProfile)
597
                    .addComponent(cbProfile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
608
                    .addComponent(cbProfile, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
598
                    .addComponent(manageButton))
609
                    .addComponent(manageButton)
610
                    .addComponent(btnPrintAsHTML))
599
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
611
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
600
                    .addGroup(layout.createSequentialGroup()
612
                    .addGroup(layout.createSequentialGroup()
601
                        .addGap(18, 18, 18)
613
                        .addGap(18, 18, 18)
Lines 642-651 Link Here
642
        searchPopup.show();
654
        searchPopup.show();
643
}//GEN-LAST:event_moreButtonActionPerformed
655
}//GEN-LAST:event_moreButtonActionPerformed
644
656
657
    private void btnPrintAsHTMLActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPrintAsHTMLActionPerformed
658
	if (getMutableModel().getCurrentProfile()!=null){
659
	    ExportShortcutsAction.exportShortcutsOfProfileToHTML(getMutableModel().getCurrentProfile());
660
	}        
661
    }//GEN-LAST:event_btnPrintAsHTMLActionPerformed
662
645
    // Variables declaration - do not modify//GEN-BEGIN:variables
663
    // Variables declaration - do not modify//GEN-BEGIN:variables
646
    private javax.swing.JProgressBar actionProgress;
664
    private javax.swing.JProgressBar actionProgress;
647
    private javax.swing.JTable actionsTable;
665
    private javax.swing.JTable actionsTable;
648
    private javax.swing.JPanel actionsView;
666
    private javax.swing.JPanel actionsView;
667
    private javax.swing.JButton btnPrintAsHTML;
649
    private javax.swing.JComboBox cbProfile;
668
    private javax.swing.JComboBox cbProfile;
650
    private javax.swing.Box.Filler filler1;
669
    private javax.swing.Box.Filler filler1;
651
    private javax.swing.Box.Filler filler2;
670
    private javax.swing.Box.Filler filler2;

Return to bug 226955