mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-18 21:15:57 +00:00
merge of '3055240bcbfdf1f126dd4c98383756015fe19b9f'
and '55e9652c81aeb3099b52fdacfebe185b63106ee9' Monotone-Parent: 3055240bcbfdf1f126dd4c98383756015fe19b9f Monotone-Parent: 55e9652c81aeb3099b52fdacfebe185b63106ee9 Monotone-Revision: 1493f36a1d4949d61e2af0b02cdc11d672b14313 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2009-03-12T14:30:28 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -64,20 +64,22 @@ case "$1" in
|
||||
echo -n "Starting $DESC: "
|
||||
for ((a=1; a <= PREFORK ; a++))
|
||||
do
|
||||
start-stop-daemon -c sogo --pidfile $PIDFILE$a \
|
||||
start-stop-daemon -c sogo
|
||||
-b --start --quiet --exec $DAEMON $a
|
||||
done
|
||||
echo "$NAME."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
echo "Stopping $DESC: "
|
||||
for ((a=1; a <= PREFORK ; a++))
|
||||
do
|
||||
sogopid=$(cat $PIDFILE$a)
|
||||
kill ${sogopid} 2> /dev/null
|
||||
pid=$(cat $PIDFILE$a)
|
||||
ppid=$(ps --ppid $pid -o pid=)
|
||||
kill -9 ${pid}
|
||||
kill -9 ${ppid}
|
||||
rm -f $PIDFILE$a
|
||||
echo "$NAME $a stopped"
|
||||
done
|
||||
echo "$NAME."
|
||||
;;
|
||||
restart|force-reload)
|
||||
$0 stop && sleep 2 && $0 start
|
||||
|
||||
@@ -398,7 +398,7 @@
|
||||
|
||||
[self event];
|
||||
|
||||
result = [context response];
|
||||
result = [self responseWithStatus: 200];
|
||||
user = [context activeUser];
|
||||
timeZone = [user timeZone];
|
||||
dateFormatter = [user dateFormatterInContext: context];
|
||||
|
||||
@@ -96,39 +96,36 @@ Element.addMethods(
|
||||
|
||||
getSelectedNodes: function(element) {
|
||||
element = $(element);
|
||||
var selArray = new Array();
|
||||
|
||||
for (var i = 0; i < element.childNodes.length; i++) {
|
||||
node = element.childNodes.item(i);
|
||||
if (node.nodeType == 1
|
||||
&& isNodeSelected(node))
|
||||
selArray.push(node);
|
||||
}
|
||||
|
||||
return selArray;
|
||||
|
||||
if (!element.selectedElements)
|
||||
element.selectedElements = new Array();
|
||||
|
||||
return element.selectedElements;
|
||||
},
|
||||
|
||||
getSelectedNodesId: function(element) {
|
||||
element = $(element);
|
||||
var selArray = new Array();
|
||||
|
||||
for (var i = 0; i < element.childNodes.length; i++) {
|
||||
node = element.childNodes.item(i);
|
||||
if (node.nodeType == 1
|
||||
&& isNodeSelected(node)) {
|
||||
selArray.push(node.getAttribute("id")); }
|
||||
|
||||
var selArray = new Array();
|
||||
if (element.selectedElements) {
|
||||
for (var i = 0; i < element.selectedElements.length; i++) {
|
||||
var node = element.selectedElements[i];
|
||||
selArray.push(node.getAttribute("id"));
|
||||
}
|
||||
}
|
||||
else
|
||||
element.selectedElements = new Array();
|
||||
|
||||
return selArray;
|
||||
},
|
||||
|
||||
onContextMenu: function(element, event) {
|
||||
element = $(element);
|
||||
var popup = element.sogoContextMenu;
|
||||
|
||||
if (document.currentPopupMenu)
|
||||
hideMenu(document.currentPopupMenu);
|
||||
|
||||
var popup = element.sogoContextMenu;
|
||||
var menuTop = Event.pointerY(event);
|
||||
var menuLeft = Event.pointerX(event);
|
||||
var heightDiff = (window.height()
|
||||
@@ -162,6 +159,15 @@ Element.addMethods(
|
||||
selectElement: function(element) {
|
||||
element = $(element);
|
||||
element.addClassName('_selected');
|
||||
|
||||
var parent = element.up();
|
||||
if (!parent.selectedElements)
|
||||
// Selected nodes are kept in a array at the
|
||||
// container level.
|
||||
parent.selectedElements = new Array();
|
||||
for (var i = 0; i < parent.selectedElements.length; i++)
|
||||
if (parent.selectedElements[i] == element) return;
|
||||
parent.selectedElements.push(element); // use index instead ?
|
||||
},
|
||||
|
||||
selectRange: function(element, startIndex, endIndex) {
|
||||
@@ -192,16 +198,20 @@ Element.addMethods(
|
||||
deselect: function(element) {
|
||||
element = $(element);
|
||||
element.removeClassName('_selected');
|
||||
},
|
||||
|
||||
var parent = element.up();
|
||||
if (parent.selectedElements)
|
||||
parent.selectedElements = parent.selectedElements.without(element);
|
||||
},
|
||||
|
||||
deselectAll: function(element) {
|
||||
element = $(element);
|
||||
for (var i = 0; i < element.childNodes.length; i++) {
|
||||
var node = element.childNodes.item(i);
|
||||
if (node.nodeType == 1)
|
||||
$(node).deselect();
|
||||
if (element.selectedElements) {
|
||||
for (var i = 0; i < element.selectedElements.length; i++)
|
||||
element.selectedElements[i].removeClassName('_selected');
|
||||
element.selectedElements = null;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
setCaretTo: function(element, pos) {
|
||||
element = $(element);
|
||||
|
||||
@@ -256,8 +256,8 @@ function openMailTo(senderMailTo) {
|
||||
|
||||
if (mailto.length > 0)
|
||||
openMailComposeWindow(ApplicationBaseURL
|
||||
+ "../Mail/compose?mailto=" + mailto
|
||||
+ ((subject.length > 0)?"?subject="+subject:""));
|
||||
+ "../Mail/compose?mailto=" + encodeURI(mailto)
|
||||
+ ((subject.length > 0)?"?subject=" + encodeURI(subject):""));
|
||||
|
||||
return false; /* stop following the link */
|
||||
}
|
||||
@@ -592,6 +592,7 @@ function onRowClick(event) {
|
||||
$(node.parentNode).selectRange(lastClickedRow, rowIndex);
|
||||
} else if (isNodeSelected(node)) {
|
||||
$(node).deselect();
|
||||
rowIndex = null;
|
||||
} else {
|
||||
$(node).selectElement();
|
||||
}
|
||||
@@ -609,7 +610,8 @@ function onRowClick(event) {
|
||||
parentNode.fire("mousedown");
|
||||
}
|
||||
}
|
||||
lastClickedRow = rowIndex;
|
||||
if (rowIndex)
|
||||
lastClickedRow = rowIndex;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user