1 | <?xml version="1.0" encoding="UTF-8" ?> |
---|
2 | <?xml-stylesheet href="chrome://global/skin/" type="text/css" ?> |
---|
3 | <!DOCTYPE dialog [ |
---|
4 | <!ENTITY % markingcollectionDTD SYSTEM "chrome://markingcollection/locale/markingcollection.dtd" > |
---|
5 | %markingcollectionDTD; |
---|
6 | <!ENTITY % markerDTD SYSTEM "chrome://markingcollection/locale/marker.dtd" > |
---|
7 | %markerDTD; |
---|
8 | ]> |
---|
9 | <dialog |
---|
10 | id="bitsMarkerInitDataDialog" |
---|
11 | xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" |
---|
12 | title="&marker.initdata.dialog.title;" |
---|
13 | buttons="," |
---|
14 | width="600" |
---|
15 | height="200" |
---|
16 | ondialogaccept="return _bitsMarkerInitDataDialogAccept(event);" |
---|
17 | > |
---|
18 | <script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js" /> |
---|
19 | <script type="application/x-javascript"> |
---|
20 | <![CDATA[ |
---|
21 | function getTopWindow(){ |
---|
22 | return Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getMostRecentWindow("navigator:browser"); |
---|
23 | } |
---|
24 | function getSTRING(){ |
---|
25 | return getTopWindow().document.getElementById("MarkingCollectionOverlayString"); |
---|
26 | } |
---|
27 | function getCommon(){ |
---|
28 | return getTopWindow().bitsObjectMng.Common; |
---|
29 | } |
---|
30 | function _bitsMarkerInitDataDialogOK(aEvent){ |
---|
31 | document.getElementById("bitsMarkerInitDataDialog").acceptDialog(); |
---|
32 | } |
---|
33 | function _bitsMarkerInitDataDialogCancel(aEvent){ |
---|
34 | document.getElementById("bitsMarkerInitDataDialog").cancelDialog(); |
---|
35 | } |
---|
36 | function _bitsMarkerInitDataDialogInit(aEvent){ |
---|
37 | var title = window.arguments[0].title; |
---|
38 | title = title.replace(/^\s+/g,"").replace(/\s+$/g,""); |
---|
39 | var TEXT = document.getElementById("bitsMarkerInitDataTitleText"); |
---|
40 | TEXT.value = title; |
---|
41 | try{TEXT.editor.transactionManager.clear();}catch(e){} |
---|
42 | |
---|
43 | var NOTE = document.getElementById("bitsMarkerInitDataNoteText"); |
---|
44 | NOTE.value = window.arguments[0].note; |
---|
45 | try{NOTE.editor.transactionManager.clear();}catch(e){} |
---|
46 | |
---|
47 | var edit = nsPreferences.getBoolPref("wiredmarker.marker.initdata.edit", true); |
---|
48 | document.getElementById("bitsMarkerInitEditCheckbox").checked = edit; |
---|
49 | window.sizeToContent(); |
---|
50 | if(title != ""){ |
---|
51 | document.getElementById("bitsMarkerInitDataOKButton").focus(); |
---|
52 | }else{ |
---|
53 | document.getElementById("bitsMarkerInitDataOKButton").disabled = true; |
---|
54 | } |
---|
55 | } |
---|
56 | function _bitsMarkerInitDataDialogDone(aEvent){} |
---|
57 | function _bitsMarkerInitDataDialogAccept(aEvent){ |
---|
58 | var title = document.getElementById("bitsMarkerInitDataTitleText").value; |
---|
59 | title = title.replace(/^\s+/g,"").replace(/\s+$/g,""); |
---|
60 | if(title == ""){ |
---|
61 | setTimeout(function(){ document.getElementById("bitsMarkerInitDataTitleText").focus();},250); |
---|
62 | return false; |
---|
63 | } |
---|
64 | var edit = document.getElementById("bitsMarkerInitEditCheckbox").checked; |
---|
65 | nsPreferences.setBoolPref("wiredmarker.marker.initdata.edit", edit); |
---|
66 | |
---|
67 | window.arguments[0].accept = true; |
---|
68 | window.arguments[0].title = document.getElementById("bitsMarkerInitDataTitleText").value; |
---|
69 | window.arguments[0].note = document.getElementById("bitsMarkerInitDataNoteText").value; |
---|
70 | |
---|
71 | return true; |
---|
72 | } |
---|
73 | function _bitsMarkerInitDataTitleTextInput(aEvent){ |
---|
74 | var TEXT = document.getElementById("bitsMarkerInitDataTitleText"); |
---|
75 | var title = TEXT.value; |
---|
76 | title = title.replace(/^\s+/g,"").replace(/\s+$/g,""); |
---|
77 | if(title != ""){ |
---|
78 | document.getElementById("bitsMarkerInitDataOKButton").disabled = false; |
---|
79 | document.getElementById("bitsMarkerInitDataTitleHBox").style.borderColor = 'transparent'; |
---|
80 | }else{ |
---|
81 | document.getElementById("bitsMarkerInitDataOKButton").disabled = true; |
---|
82 | document.getElementById("bitsMarkerInitDataTitleHBox").style.borderColor = 'red'; |
---|
83 | } |
---|
84 | } |
---|
85 | function _bitsMarkerInitDataTitleTextChange(aEvent){ |
---|
86 | var title = document.getElementById("bitsMarkerInitDataTitleText").value; |
---|
87 | title = title.replace(/\t/mg," "); |
---|
88 | title = getCommon().exceptCode(title); |
---|
89 | title = title.replace(/\x0D\x0A|\x0D|\x0A/g, " ").replace(/^\s*/g,"").replace(/\s*$/g,""); |
---|
90 | if(Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS != "Darwin"){ |
---|
91 | if(title == ""){ |
---|
92 | getCommon().alert(getSTRING().getString("ERROR_NOT_ENTER_TITLE")); |
---|
93 | // undoTitle(); |
---|
94 | aEvent.preventDefault(); |
---|
95 | aEvent.stopPropagation(); |
---|
96 | }else{ |
---|
97 | if(document.getElementById("bitsMarkerInitDataTitleText").value != title) document.getElementById("bitsMarkerInitDataTitleText").value = title; |
---|
98 | } |
---|
99 | }else{ |
---|
100 | if(document.getElementById("bitsMarkerInitDataTitleText").value != title) document.getElementById("bitsMarkerInitDataTitleText").value = title; |
---|
101 | } |
---|
102 | } |
---|
103 | function _bitsMarkerInitDataNoteTextChange(aEvent){ |
---|
104 | var note = document.getElementById("bitsMarkerInitDataNoteText").value; |
---|
105 | note = note.replace(/\t/g," "); |
---|
106 | note = note.replace(/\x0D\x0A|\x0D|\x0A/g," __BR__ "); |
---|
107 | note = getCommon().exceptCode(note); |
---|
108 | note = note.replace(/ __BR__ /g,"\n"); |
---|
109 | if(document.getElementById("bitsMarkerInitDataNoteText").value != note) document.getElementById("bitsMarkerInitDataNoteText").value = note; |
---|
110 | } |
---|
111 | function undoTitle(){ |
---|
112 | var TITLE = document.getElementById("bitsMarkerInitDataTitleText"); |
---|
113 | try{ |
---|
114 | while(TITLE.editor.transactionManager.numberOfUndoItems>0){ |
---|
115 | TITLE.editor.undo(1); |
---|
116 | var title = TITLE.value; |
---|
117 | title = title.replace(/\t/mg," "); |
---|
118 | title = getCommon().exceptCode(title); |
---|
119 | title = title.replace(/[\r\n]/g, " ").replace(/^\s*/g,"").replace(/\s*$/g,""); |
---|
120 | if(title != "") break; |
---|
121 | } |
---|
122 | }catch(e){} |
---|
123 | window.focus(); |
---|
124 | setTimeout(function(){TITLE.focus();},100); |
---|
125 | } |
---|
126 | window.addEventListener("load", _bitsMarkerInitDataDialogInit, false); |
---|
127 | window.addEventListener("unload", _bitsMarkerInitDataDialogDone, false); |
---|
128 | // window.addEventListener("dialogaccept", _bitsMarkerInitDataDialogAccept, false); |
---|
129 | ]]> |
---|
130 | </script> |
---|
131 | <grid flex="1"> |
---|
132 | <columns> |
---|
133 | <column/> |
---|
134 | <column flex="1"/> |
---|
135 | </columns> |
---|
136 | <rows> |
---|
137 | <row align="center"> |
---|
138 | <hbox flex="1" pack="end"> |
---|
139 | <label value="&marker.initdata.dialog.label.title; :" control="bitsMarkerInitDataTitleText"/> |
---|
140 | </hbox> |
---|
141 | <hbox id="bitsMarkerInitDataTitleHBox" flex="1" style="border:2px solid transparent;"> |
---|
142 | <textbox |
---|
143 | id="bitsMarkerInitDataTitleText" |
---|
144 | flex="1" |
---|
145 | emptytext="&marker.initdata.dialog.emptytext.title;" |
---|
146 | placeholder="&marker.initdata.dialog.emptytext.title;" |
---|
147 | newlines="replacewithspaces" |
---|
148 | onfocus="this.select()" |
---|
149 | onkeypress="_bitsMarkerInitDataTitleTextInput(event);" |
---|
150 | onkeydown="_bitsMarkerInitDataTitleTextInput(event);" |
---|
151 | oninput="_bitsMarkerInitDataTitleTextInput(event);" |
---|
152 | onblur="_bitsMarkerInitDataTitleTextInput(event);" |
---|
153 | onchange="_bitsMarkerInitDataTitleTextChange(event);"/> |
---|
154 | </hbox> |
---|
155 | </row> |
---|
156 | <row align="stretch" flex="1"> |
---|
157 | <hbox flex="1" pack="end"> |
---|
158 | <label value="&marker.initdata.dialog.label.note; :" control="bitsMarkerInitDataNoteText"/> |
---|
159 | </hbox> |
---|
160 | <hbox id="bitsMarkerInitDataNoteHBox" flex="1" style="border:2px solid transparent;"> |
---|
161 | <textbox |
---|
162 | id="bitsMarkerInitDataNoteText" |
---|
163 | multiline="true" |
---|
164 | rows="5" |
---|
165 | flex="1" |
---|
166 | wrap="on" |
---|
167 | onfocus="this.select()" |
---|
168 | onchange="_bitsMarkerInitDataNoteTextChange(event);"/> |
---|
169 | </hbox> |
---|
170 | </row> |
---|
171 | <row align="center"> |
---|
172 | <hbox flex="1"/> |
---|
173 | <hbox flex="1"> |
---|
174 | <hbox flex="1" pack="start"> |
---|
175 | <checkbox id="bitsMarkerInitEditCheckbox" label="&marker.initdata.overlay.checkbox.edit;"/> |
---|
176 | </hbox> |
---|
177 | <hbox flex="1" pack="end"> |
---|
178 | <button label="OK" oncommand="_bitsMarkerInitDataDialogOK(event);" id="bitsMarkerInitDataOKButton"/> |
---|
179 | <button label="Cancel" oncommand="_bitsMarkerInitDataDialogCancel(event);"/> |
---|
180 | </hbox> |
---|
181 | </hbox> |
---|
182 | </row> |
---|
183 | </rows> |
---|
184 | </grid> |
---|
185 | </dialog> |
---|