Compare commits

...

3 commits

Author SHA1 Message Date
j
d97d396ef3 scroll select annotation into view 2019-01-25 16:38:45 +05:30
j
0bfbebb21d gtkstatus is broken, just launch oml for now 2019-01-25 16:36:54 +05:30
j
ebff5a8153 fix UI path with space 2019-01-25 14:47:36 +05:30
4 changed files with 30 additions and 8 deletions

12
ctl
View file

@ -162,12 +162,14 @@ if [ "$1" == "open" ]; then
xdg-open "file://${BASE}/openmedialibrary/static/html/load.html"
fi
else
$PYTHON "${NAME}/oml/gtkstatus.py" $@
exit $?
#$PYTHON "${NAME}/oml/gtkstatus.py" $@
#exit $?
"$0" start &
fi
else
$PYTHON "$NAME/oml/gtkstatus.py" $@
exit $?
#$PYTHON "$NAME/oml/gtkstatus.py" $@
#exit $?
"$0" start &
fi
fi
exit 0
@ -187,7 +189,7 @@ fi
if [ "$1" == "ui" ]; then
shift
$PYTHON "$NAME/oml/ui.py" $@
$PYTHON "$NAME/oml/ui.py" "$@"
exit $?
fi
if [ "$1" == "init" ]; then

View file

@ -22,6 +22,18 @@ title = "Open Media Library"
ctl = base + '/ctl'
def check_pid(pid):
if not os.path.exists(pid):
return False
try:
with open(pid, 'r') as fd:
pid = int(fd.read().strip())
os.kill(pid, 0)
except OSError:
return False
else:
return True
class OMLIcon:
menu = None
icon = None
@ -81,7 +93,7 @@ class OMLIcon:
@classmethod
def is_running(cls):
pid = cls.get_pid()
if pid and os.path.exists(pid):
if pid and check_pid(pid):
return True
else:
return False

View file

@ -104,7 +104,8 @@ if __name__ == '__main__':
if len(sys.argv) >= 3:
base = sys.argv[2]
base = os.path.expanduser(base)
os.chdir(base)
if os.path.exists(base):
os.chdir(base)
if len(sys.argv) >= 2 and sys.argv[1] == 'folder':
print(ui.selectFolder({}))
else:

View file

@ -11,14 +11,21 @@ Ox.load({
console.log('got', event, 'data', data)
if (event == 'selectAnnotation') {
var annotation = annotations.filter(function(a) { return a.id == data.id })[0]
var delay = 0
if (
annotation &&
annotation.page &&
PDFViewerApplication.pdfViewer.currentPageNumber != annotation.page
) {
//FIXME: scroll into view
PDFViewerApplication.pdfViewer.currentPageNumber = annotation.page;
delay = 250
}
setTimeout(function() {
var el = document.querySelector('.a' + annotation.id);
if (el) {
document.querySelector('#viewerContainer').scrollTop = el.offsetTop + el.parentElement.offsetTop - 64;
}
}, delay)
selectAnnotation(data.id)
} else if (event == 'addAnnotations') {
data.annotations.forEach(function(annotation) {