Changeset 313:596757734ce3 for source
- Timestamp:
- Jul 5, 2012, 10:07:30 AM (12 years ago)
- Branch:/dt>
- default
- Phase:
- public
- Location:
- source
- Files:
-
- 2 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
source/class/pf/Application.js
r295 r313 2467 2467 createSaveLoadDialog : function() 2468 2468 { 2469 var w, rc1, e, btn;2469 var w, layout, rc1, e, btn; 2470 2470 // "Save as..." dialog 2471 2471 w = new pf.ui.DialogWindow(); … … 2482 2482 var btn_rename = new qx.ui.toolbar.Button("Rename", 2483 2483 "pf/image/rename.png"); 2484 var btn_export = new qx.ui.toolbar.Button("Export", 2485 "pf/image/export.png"); 2486 var btn_import = new qx.ui.toolbar.Button("Import", 2487 "pf/image/import.png"); 2484 2488 btn_delete.setEnabled(false); 2485 2489 btn_rename.setEnabled(false); 2490 btn_export.setEnabled(false); 2486 2491 tbpart.add(btn_delete); 2487 2492 tbpart.add(btn_rename); 2493 tbpart.add(new qx.ui.toolbar.Separator()); 2494 tbpart.add(btn_export); 2495 tbpart.add(btn_import); 2488 2496 tb.add(tbpart); 2489 2497 w.add(tb); … … 2517 2525 var sm = lv.getSelectionModel(); 2518 2526 sm.setSelectionMode(qx.ui.table.selection.Model.SINGLE_SELECTION); 2527 2528 // Export/import window 2529 var eiw = new pf.ui.DialogWindow(); 2530 eiw.set({ 2531 width: 350, 2532 height: 400 2533 }); 2534 eiw.setResizable(true); 2535 eiw.setLayout(new qx.ui.layout.VBox(0)); 2536 eiw.setContentPadding(0); 2537 2538 var note = new qx.ui.basic.Label("Label", {height: 20}); 2539 eiw.add(note); 2540 2541 var text_area = new qx.ui.form.TextArea(); 2542 text_area.setWrap(true); 2543 eiw.add(text_area, {flex: 1}); 2544 2545 2546 layout = new qx.ui.layout.HBox(10, "right"); 2547 rc1 = new qx.ui.container.Composite(layout); 2548 rc1.setMargin(10, 10, 10, 10); 2549 eiw.add(rc1); 2550 2551 btn = new qx.ui.form.Button("Cancel", "pf/image/cancel.png"); 2552 btn.addListener("execute", function(ev) { 2553 eiw.close(); 2554 }, this); 2555 rc1.add(btn); 2556 2557 btn = new qx.ui.form.Button("OK", "pf/image/ok.png"); 2558 btn.addListener("execute", function(ev) { 2559 var type = eiw.getUserData("type"); 2560 if (type == "import") { 2561 var configstr = text_area.getValue(); 2562 2563 var config; 2564 try { 2565 config = qx.lang.Json.parse(configstr); 2566 } catch (err) { 2567 this.error(err); 2568 } 2569 2570 if (config) { 2571 var name = config.name; 2572 2573 var d = new Date(); 2574 var time = d.getTime(); 2575 2576 configPtr = new Object; 2577 configPtr.name = name; 2578 configPtr.hash = time; 2579 configPtr.time = time; 2580 2581 this.prefs.configPtrs.push(configPtr); 2582 2583 var cookie_name = "pf_config_" + configPtr.hash; 2584 qx.bom.Cookie.set(cookie_name, configstr, 3650); 2585 2586 this.savePreferences(); 2587 this.updateSaveLoadList(); 2588 2589 eiw.close(); 2590 } else { 2591 this.msgWindow.error("Cannot parse the configuration!"); 2592 } 2593 } else { 2594 eiw.close(); 2595 } 2596 }, this); 2597 rc1.add(btn); 2598 2599 this.doc.add(eiw); 2519 2600 2520 2601 btn_delete.addListener("execute", function(ev) { … … 2543 2624 var name = rowData[0]; 2544 2625 2545 2546 2626 this.promptDialog.prompt("Rename \"" + name + "\" to", 2547 2627 name, function(newname) { … … 2559 2639 }, this); 2560 2640 2641 btn_export.addListener("execute", function(ev) { 2642 if (!sm.isSelectionEmpty()) { 2643 var index = sm.getLeadSelectionIndex(); 2644 var rowData = tm.getRowData(index); 2645 var name = rowData[0]; 2646 2647 var configPtr = this.getConfig(name); 2648 if (!configPtr) { 2649 return false; 2650 } 2651 2652 var cookie_name = "pf_config_" + configPtr.hash; 2653 2654 var configstr = qx.bom.Cookie.get(cookie_name); 2655 if (!configstr) { 2656 return false; 2657 } 2658 2659 var config = qx.lang.Json.parse(configstr); 2660 config.name = name; 2661 2662 text_area.setValue( 2663 qx.lang.Json.stringify(config, undefined, 4)); 2664 2665 eiw.setCaption("Export configuration") 2666 eiw.setIcon("pf/image/export.png"); 2667 eiw.setUserData("type", "export"); 2668 2669 text_area.setReadOnly(true); 2670 2671 var nstr = 2672 "Copy the contents below to a text editor and save"; 2673 note.setValue(nstr); 2674 2675 eiw.open(); 2676 } 2677 }, this); 2678 2679 btn_import.addListener("execute", function(ev) { 2680 eiw.setCaption("Import configuration") 2681 eiw.setIcon("pf/image/import.png"); 2682 eiw.setUserData("type", "import"); 2683 2684 text_area.setReadOnly(false); 2685 text_area.setValue(""); 2686 2687 var nstr = 2688 "Copy a previously saved config to the space below"; 2689 note.setValue(nstr); 2690 2691 eiw.open(); 2692 }, this); 2693 2561 2694 e = new qx.ui.form.TextField(); 2562 2695 e.setMarginTop(1); … … 2569 2702 btn_delete.setEnabled(false); 2570 2703 btn_rename.setEnabled(false); 2704 btn_export.setEnabled(false); 2571 2705 } else { 2572 2706 var index = sm.getLeadSelectionIndex(); … … 2575 2709 btn_rename.setEnabled(true); 2576 2710 btn_delete.setEnabled(true); 2711 btn_export.setEnabled(true); 2577 2712 } 2578 2713 }); 2579 2714 2580 varlayout = new qx.ui.layout.HBox(10, "right");2715 layout = new qx.ui.layout.HBox(10, "right"); 2581 2716 rc1 = new qx.ui.container.Composite(layout); 2582 2717 rc1.setMargin(10, 10, 10, 10); … … 2840 2975 this.bl_top = new qx.ui.container.Composite(layout); 2841 2976 2842 this.doc.add(this.bl_top, {width : '100%', height: "100%"});2977 this.doc.add(this.bl_top, {width :"100%", height: "100%"}); 2843 2978 2844 2979 // The menubar
Note: See TracChangeset
for help on using the changeset viewer.