changed icon. Added filter code, but wont display
This commit is contained in:
parent
7ee3039f7a
commit
093bffda4d
@ -3,7 +3,7 @@ NULL =
|
|||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
bin/unity-recoll-daemon.in \
|
bin/unity-recoll-daemon.in \
|
||||||
data/recoll.lens.in \
|
data/recoll.lens.in \
|
||||||
data/recoll-lens.svg \
|
data/recollbg24.png \
|
||||||
data/unity-lens-recoll.service.in \
|
data/unity-lens-recoll.service.in \
|
||||||
$(docs_DATA) \
|
$(docs_DATA) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
@ -50,7 +50,7 @@ dotlens_DATA = \
|
|||||||
######################################################
|
######################################################
|
||||||
iconsdir = $(datadir)/unity-lens-recoll
|
iconsdir = $(datadir)/unity-lens-recoll
|
||||||
icons_DATA = \
|
icons_DATA = \
|
||||||
data/recoll-lens.svg \
|
data/recollbg24.png \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
######################################################
|
######################################################
|
||||||
|
|||||||
@ -179,7 +179,7 @@ NULL =
|
|||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
bin/unity-recoll-daemon.in \
|
bin/unity-recoll-daemon.in \
|
||||||
data/recoll.lens.in \
|
data/recoll.lens.in \
|
||||||
data/recoll-lens.svg \
|
data/recollbg24.png \
|
||||||
data/unity-lens-recoll.service.in \
|
data/unity-lens-recoll.service.in \
|
||||||
$(docs_DATA) \
|
$(docs_DATA) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
@ -228,7 +228,7 @@ dotlens_DATA = \
|
|||||||
######################################################
|
######################################################
|
||||||
iconsdir = $(datadir)/unity-lens-recoll
|
iconsdir = $(datadir)/unity-lens-recoll
|
||||||
icons_DATA = \
|
icons_DATA = \
|
||||||
data/recoll-lens.svg \
|
data/recollbg24.png \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@ or if you checked the code out from a bazaar branch:
|
|||||||
RESOURCES
|
RESOURCES
|
||||||
---------
|
---------
|
||||||
The source code and releases packages can be found on
|
The source code and releases packages can be found on
|
||||||
https://www.recoll.org.
|
http://www.recoll.org.
|
||||||
Bugs should be reported on the bitbucket recoll issues tracker:
|
Bugs should be reported on the bitbucket recoll issues tracker:
|
||||||
https://bitbucket.org/medoc/recoll/issues
|
https://bitbucket.org/medoc/recoll/issues
|
||||||
|
|
||||||
|
|||||||
@ -44,6 +44,9 @@ if result != 1 :
|
|||||||
print >> sys.stderr, "Failed to own name %s. Bailing out." % BUS_NAME
|
print >> sys.stderr, "Failed to own name %s. Bailing out." % BUS_NAME
|
||||||
raise SystemExit (1)
|
raise SystemExit (1)
|
||||||
|
|
||||||
|
rcltrace = open("/tmp/recolenstrace", "a")
|
||||||
|
|
||||||
|
print >> rcltrace, "UNITY RECOLL DAEMON"
|
||||||
def create_lens ():
|
def create_lens ():
|
||||||
# The path for the Lens *must* also match the one in our .lens file
|
# The path for the Lens *must* also match the one in our .lens file
|
||||||
from gi.repository import Unity
|
from gi.repository import Unity
|
||||||
@ -51,23 +54,41 @@ def create_lens ():
|
|||||||
|
|
||||||
lens.props.search_hint = "Recoll search string"
|
lens.props.search_hint = "Recoll search string"
|
||||||
lens.props.visible = True;
|
lens.props.visible = True;
|
||||||
lens.props.search_in_global = True;
|
lens.props.search_in_global = False;
|
||||||
|
|
||||||
# Populate categories TODO FIX THIS
|
# Populate categories
|
||||||
cats = []
|
cats = []
|
||||||
cats.append (Unity.Category.new ("Documents",
|
cats.append (Unity.Category.new ("Documents",
|
||||||
Gio.ThemedIcon.new("document"),
|
Gio.ThemedIcon.new("document"),
|
||||||
Unity.CategoryRenderer.HORIZONTAL_TILE))
|
Unity.CategoryRenderer.HORIZONTAL_TILE))
|
||||||
lens.props.categories = cats
|
lens.props.categories = cats
|
||||||
|
|
||||||
|
|
||||||
# Populate filters
|
# Populate filters
|
||||||
lens.props.filters = []
|
lens.props.filters = []
|
||||||
|
|
||||||
|
# We should get the categories from the config but the python
|
||||||
|
# module currently has no code for this.
|
||||||
|
filter = Unity.RadioOptionFilter.new("rclcat", "Category",
|
||||||
|
Gio.ThemedIcon.new(""), False)
|
||||||
|
|
||||||
|
filter.add_option("text", "Text", None);
|
||||||
|
filter.add_option("spreadsheet", "Spreadsheet", None);
|
||||||
|
filter.add_option("presentation", "Presentation", None);
|
||||||
|
filter.add_option("media", "Media", None);
|
||||||
|
filter.add_option("message", "Message", None);
|
||||||
|
filter.add_option("other", "Other", None);
|
||||||
|
|
||||||
|
lens.props.filters.append(filter)
|
||||||
return lens
|
return lens
|
||||||
|
|
||||||
|
print >> rcltrace, "UNITY RECOLL DAEMON: create lens"
|
||||||
lens = create_lens ()
|
lens = create_lens ()
|
||||||
|
print >> rcltrace, "UNITY RECOLL DAEMON: add local scope"
|
||||||
lens.add_local_scope (recollscope.rclsearch.Scope())
|
lens.add_local_scope (recollscope.rclsearch.Scope())
|
||||||
# add more local scopes here (remote dbus scopes added automagically)
|
# add more local scopes here (remote dbus scopes added automagically)
|
||||||
|
print >> rcltrace, "UNITY RECOLL DAEMON: add local export"
|
||||||
lens.export ()
|
lens.export ()
|
||||||
|
|
||||||
|
print >> rcltrace, "UNITY RECOLL DAEMON: add local main loop"
|
||||||
GObject.MainLoop().run()
|
GObject.MainLoop().run()
|
||||||
|
|||||||
@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
||||||
<g>
|
|
||||||
<g>
|
|
||||||
<path fill="#FFFFFF" d="M9.5,21c0,0.55,0.45,1,1,1h3c0.55,0,1-0.45,1-1V8h-5V21z M6.5,2H3.501c-0.55,0-1,0.45-1,1L2.5,21
|
|
||||||
c0,0.55,0.45,1,1,1h2.999c0.55,0,1-0.45,1-1v-2.969H5.5v-1h1.999V14H5.5v-1h2v-3h-2V9h2V6h-2V5h2V3C7.5,2.45,7.05,2,6.5,2z
|
|
||||||
M7.5,10V9V10L7.5,10z M7.5,14v-1h0L7.5,14L7.5,14z M7.5,18.031v-1H7.499L7.5,18.031L7.5,18.031z M19,8.015
|
|
||||||
c1.104,0,2.5-1.119,2.5-2.5c0-0.933-1.408-2.79-2-3.515v1.515c0.293,0.174,0.5,0.48,0.5,0.847c0,0.553-0.447,1-1,1s-1-0.447-1-1
|
|
||||||
c0-0.366,0.207-0.673,0.5-0.847V2c-0.592,0.725-2,2.582-2,3.515C16.5,6.896,17.896,8.015,19,8.015z M9.438,7H14.5l-2.531-5
|
|
||||||
L9.438,7z M16.5,21c0,0.55,0.45,1,1,1h3c0.55,0,1-0.45,1-1V9h-5V21z"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 1.2 KiB |
@ -2,7 +2,7 @@
|
|||||||
DBusName=org.recoll.UnityLensRecoll.Lens
|
DBusName=org.recoll.UnityLensRecoll.Lens
|
||||||
DBusPath=/org/recoll/unitylensrecoll/lens
|
DBusPath=/org/recoll/unitylensrecoll/lens
|
||||||
Name=Recoll Lens
|
Name=Recoll Lens
|
||||||
Icon=@DATADIR@/unity-lens-recoll/recoll-lens.svg
|
Icon=@DATADIR@/unity-lens-recoll/recollbg24.png
|
||||||
Description=Search documents indexed by Recoll
|
Description=Search documents indexed by Recoll
|
||||||
SearchHint=Type to search
|
SearchHint=Type to search
|
||||||
Shortcut=a
|
Shortcut=a
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
from gi.repository import GLib, GObject, Gio
|
from gi.repository import GLib, GObject, Gio
|
||||||
|
from gi.repository import Dee
|
||||||
from gi.repository import Unity
|
from gi.repository import Unity
|
||||||
|
|
||||||
import recoll
|
import recoll
|
||||||
@ -9,13 +10,19 @@ import recoll
|
|||||||
CATEGORY_ALL = 0
|
CATEGORY_ALL = 0
|
||||||
|
|
||||||
# typing timeout: we don't want to start a search for every
|
# typing timeout: we don't want to start a search for every
|
||||||
# char. Unity does batch on its side, but we may want more control ?
|
# char? Unity does batch on its side, but we may want more control ?
|
||||||
# Or not ? Set to 0 to not use it.
|
# Or not ? I'm not sure this does any good on a moderate size index.
|
||||||
|
# Set to 0 to not use it (default). Kept around because this still might be
|
||||||
|
# useful with a very big index ?
|
||||||
TYPING_TIMEOUT = 0
|
TYPING_TIMEOUT = 0
|
||||||
|
|
||||||
class Scope (Unity.Scope):
|
class Scope (Unity.Scope):
|
||||||
|
|
||||||
def __init__ (self):
|
def __init__ (self):
|
||||||
|
self.trcfile = open("/tmp/recolenstrace", "w")
|
||||||
|
print >> self.trcfile, "Scope init"
|
||||||
|
self.trcfile.flush()
|
||||||
|
|
||||||
Unity.Scope.__init__ (self, dbus_path="/org/recoll/unitylensrecoll/scope/main")
|
Unity.Scope.__init__ (self, dbus_path="/org/recoll/unitylensrecoll/scope/main")
|
||||||
|
|
||||||
# Listen for changes and requests
|
# Listen for changes and requests
|
||||||
@ -24,12 +31,16 @@ class Scope (Unity.Scope):
|
|||||||
|
|
||||||
# Bliss loaded the apps_tree menu here, let's connect to
|
# Bliss loaded the apps_tree menu here, let's connect to
|
||||||
# the index
|
# the index
|
||||||
|
print >> self.trcfile, "Connecting to db"
|
||||||
self.db = recoll.connect()
|
self.db = recoll.connect()
|
||||||
|
print >> self.trcfile, "Done"
|
||||||
|
self.trcfile.flush()
|
||||||
|
|
||||||
self.db.setAbstractParams(maxchars=200,
|
self.db.setAbstractParams(maxchars=200,
|
||||||
contextwords=4)
|
contextwords=4)
|
||||||
|
|
||||||
self.timeout_id = None
|
self.timeout_id = None
|
||||||
|
|
||||||
def get_search_string (self):
|
def get_search_string (self):
|
||||||
search = self.props.active_search
|
search = self.props.active_search
|
||||||
return search.props.search_string if search else None
|
return search.props.search_string if search else None
|
||||||
@ -47,7 +58,6 @@ class Scope (Unity.Scope):
|
|||||||
search = self.props.active_global_search
|
search = self.props.active_global_search
|
||||||
if search:
|
if search:
|
||||||
search.emit("finished")
|
search.emit("finished")
|
||||||
|
|
||||||
def reset (self):
|
def reset (self):
|
||||||
self._do_browse (self.props.results_model)
|
self._do_browse (self.props.results_model)
|
||||||
self._do_browse (self.props.global_results_model)
|
self._do_browse (self.props.global_results_model)
|
||||||
@ -106,17 +116,25 @@ class Scope (Unity.Scope):
|
|||||||
search_string, model)
|
search_string, model)
|
||||||
|
|
||||||
def _really_do_search(self, search_string, model):
|
def _really_do_search(self, search_string, model):
|
||||||
# print "really_do_search:", search_string
|
print >> self.trcfile, "really_do_search:[", search_string, "]"
|
||||||
|
self.trcfile.flush()
|
||||||
model.clear ()
|
model.clear ()
|
||||||
if search_string == "":
|
if search_string == "":
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# Do the recoll thing
|
# Do the recoll thing
|
||||||
query = self.db.query()
|
query = self.db.query()
|
||||||
nres = query.execute(search_string)
|
try:
|
||||||
|
nres = query.execute(search_string)
|
||||||
|
except:
|
||||||
|
return
|
||||||
|
|
||||||
actual_results = 0
|
actual_results = 0
|
||||||
while query.next >= 0 and query.next < nres:
|
while query.next >= 0 and query.next < nres:
|
||||||
doc = query.fetchone()
|
try:
|
||||||
|
doc = query.fetchone()
|
||||||
|
except:
|
||||||
|
break
|
||||||
|
|
||||||
# No sense in returning unusable results (until
|
# No sense in returning unusable results (until
|
||||||
# I get an idea of what to do with them)
|
# I get an idea of what to do with them)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user