Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/epubview
diff options
context:
space:
mode:
Diffstat (limited to 'epubview')
-rw-r--r--epubview/__init__.py4
-rw-r--r--epubview/epubview.py85
-rw-r--r--epubview/jobs.py37
-rw-r--r--epubview/navmap.py12
-rw-r--r--epubview/widgets.py7
5 files changed, 67 insertions, 78 deletions
diff --git a/epubview/__init__.py b/epubview/__init__.py
index adff032..5051bdf 100644
--- a/epubview/__init__.py
+++ b/epubview/__init__.py
@@ -15,9 +15,9 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-from gi.repository import GObject
+import gobject
-GObject.threads_init()
+gobject.threads_init()
from epub import _Epub as Epub
from epubview import _View as EpubView
diff --git a/epubview/epubview.py b/epubview/epubview.py
index 56334f6..c4b3df0 100644
--- a/epubview/epubview.py
+++ b/epubview/epubview.py
@@ -15,9 +15,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-from gi.repository import Gtk
-from gi.repository import GObject
-from gi.repository import Gdk
+import gtk
+import gobject
import widgets
import os.path
@@ -35,23 +34,23 @@ LOADING_HTML = '''
'''
-class _View(Gtk.HBox):
+class _View(gtk.HBox):
__gproperties__ = {
- 'scale': (GObject.TYPE_FLOAT, 'the zoom level',
+ 'scale': (gobject.TYPE_FLOAT, 'the zoom level',
'the zoom level of the widget',
- 0.5, 4.0, 1.0, GObject.PARAM_READWRITE),
+ 0.5, 4.0, 1.0, gobject.PARAM_READWRITE),
}
__gsignals__ = {
- 'page-changed': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE,
+ 'page-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
([int, int])),
- 'selection-changed': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE,
+ 'selection-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
([])),
}
def __init__(self):
- GObject.threads_init()
- Gtk.HBox.__init__(self)
+ gobject.threads_init()
+ gtk.HBox.__init__(self)
self.connect("destroy", self._destroy_cb)
@@ -71,7 +70,7 @@ class _View(Gtk.HBox):
self.__in_search = False
self.__search_fwd = True
- self._sw = Gtk.ScrolledWindow()
+ self._sw = gtk.ScrolledWindow()
self._view = widgets._WebView()
self._view.load_string(LOADING_HTML, 'text/html', 'utf-8', '/')
settings = self._view.get_settings()
@@ -89,29 +88,27 @@ class _View(Gtk.HBox):
self._view_populate_popup_cb)
self._sw.add(self._view)
- self._sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER)
+ self._sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER)
self._v_vscrollbar = self._sw.get_vscrollbar()
self._v_scrollbar_value_changed_cb_id = \
self._v_vscrollbar.connect('value-changed', \
self._v_scrollbar_value_changed_cb)
- self._scrollbar = Gtk.VScrollbar()
- # TODO
- # self._scrollbar.set_update_policy(Gtk.UPDATE_DISCONTINUOUS)
+ self._scrollbar = gtk.VScrollbar()
+ self._scrollbar.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
self._scrollbar_change_value_cb_id = \
self._scrollbar.connect('change-value', \
self._scrollbar_change_value_cb)
- self.pack_start(self._sw, True, True, 0)
- self.pack_start(self._scrollbar, False, False, 0)
+ self.pack_start(self._sw, expand=True, fill=True)
+ self.pack_start(self._scrollbar, expand=False, fill=False)
- self._view.set_can_default(True)
- self._view.set_can_focus(True)
+ self._view.set_flags(gtk.CAN_DEFAULT | gtk.CAN_FOCUS)
def set_document(self, epubdocumentinstance):
'''
Sets document (should be a Epub instance)
'''
self._epub = epubdocumentinstance
- GObject.idle_add(self._paginate)
+ gobject.idle_add(self._paginate)
def do_get_property(self, property):
if property.name == 'has-selection':
@@ -251,36 +248,36 @@ class _View(Gtk.HBox):
Scrolls through the pages.
Scrolling is horizontal if horizontal is set to True
Valid scrolltypes are:
- Gtk.ScrollType.PAGE_BACKWARD, Gtk.ScrollType.PAGE_FORWARD,
- Gtk.ScrollType.STEP_BACKWARD, Gtk.ScrollType.STEP_FORWARD
- Gtk.ScrollType.STEP_START and Gtk.ScrollType.STEP_STOP
+ gtk.SCROLL_PAGE_BACKWARD, gtk.SCROLL_PAGE_FORWARD,
+ gtk.SCROLL_STEP_BACKWARD, gtk.SCROLL_STEP_FORWARD
+ gtk.SCROLL_STEP_START and gtk.SCROLL_STEP_STOP
'''
- if scrolltype == Gtk.ScrollType.PAGE_BACKWARD:
+ if scrolltype == gtk.SCROLL_PAGE_BACKWARD:
self.__going_back = True
self.__going_fwd = False
if not self._do_page_transition():
- self._view.move_cursor(Gtk.MovementStep.PAGES, -1)
- elif scrolltype == Gtk.ScrollType.PAGE_FORWARD:
+ self._view.move_cursor(gtk.MOVEMENT_PAGES, -1)
+ elif scrolltype == gtk.SCROLL_PAGE_FORWARD:
self.__going_back = False
self.__going_fwd = True
if not self._do_page_transition():
- self._view.move_cursor(Gtk.MovementStep.PAGES, 1)
- elif scrolltype == Gtk.ScrollType.STEP_BACKWARD:
+ self._view.move_cursor(gtk.MOVEMENT_PAGES, 1)
+ elif scrolltype == gtk.SCROLL_STEP_BACKWARD:
self.__going_fwd = False
self.__going_back = True
if not self._do_page_transition():
- self._view.move_cursor(Gtk.MovementStep.DISPLAY_LINES, -1)
- elif scrolltype == Gtk.ScrollType.STEP_FORWARD:
+ self._view.move_cursor(gtk.MOVEMENT_DISPLAY_LINES, -1)
+ elif scrolltype == gtk.SCROLL_STEP_FORWARD:
self.__going_fwd = True
self.__going_back = False
if not self._do_page_transition():
- self._view.move_cursor(Gtk.MovementStep.DISPLAY_LINES, 1)
- elif scrolltype == Gtk.ScrollType.START:
+ self._view.move_cursor(gtk.MOVEMENT_DISPLAY_LINES, 1)
+ elif scrolltype == gtk.SCROLL_START:
self.__going_back = True
self.__going_fwd = False
if not self._do_page_transition():
self.set_current_page(1)
- elif scrolltype == Gtk.ScrollType.END:
+ elif scrolltype == gtk.SCROLL_END:
self.__going_back = False
self.__going_fwd = True
if not self._do_page_transition():
@@ -363,7 +360,7 @@ class _View(Gtk.HBox):
| view.can_cut_clipboard())
def _view_keypress_event_cb(self, view, event):
- name = Gdk.keyval_name(event.keyval)
+ name = gtk.gdk.keyval_name(event.keyval)
if name == 'Page_Down' or name == 'Down':
self.__going_back = False
self.__going_fwd = True
@@ -374,10 +371,10 @@ class _View(Gtk.HBox):
self._do_page_transition()
def _view_scroll_event_cb(self, view, event):
- if event.direction == Gdk.ScrollDirection.DOWN:
+ if event.direction == gtk.gdk.SCROLL_DOWN:
self.__going_back = False
self.__going_fwd = True
- elif event.direction == Gdk.ScrollDirection.UP:
+ elif event.direction == gtk.gdk.SCROLL_UP:
self.__going_back = True
self.__going_fwd = False
@@ -401,7 +398,7 @@ class _View(Gtk.HBox):
def _view_load_finished_cb(self, v, frame):
# Normally the line below would not be required - ugly workaround for
# possible Webkit bug. See : https://bugs.launchpad.net/bugs/483231
- self._sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER)
+ self._sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_NEVER)
filename = self._view.props.uri.replace('file://', '')
if os.path.exists(filename.replace('xhtml', 'xml')):
@@ -629,19 +626,19 @@ class _View(Gtk.HBox):
self._load_page(pageno)
def _scrollbar_change_value_cb(self, range, scrolltype, value):
- if scrolltype == Gtk.ScrollType.STEP_FORWARD:
+ if scrolltype == gtk.SCROLL_STEP_FORWARD:
self.__going_fwd = True
self.__going_back = False
if not self._do_page_transition():
- self._view.move_cursor(Gtk.MovementStep.DISPLAY_LINES, 1)
- elif scrolltype == Gtk.ScrollType.STEP_BACKWARD:
+ self._view.move_cursor(gtk.MOVEMENT_DISPLAY_LINES, 1)
+ elif scrolltype == gtk.SCROLL_STEP_BACKWARD:
self.__going_fwd = False
self.__going_back = True
if not self._do_page_transition():
- self._view.move_cursor(Gtk.MovementStep.DISPLAY_LINES, -1)
- elif scrolltype == Gtk.ScrollType.JUMP or \
- scrolltype == Gtk.ScrollType.PAGE_FORWARD or \
- scrolltype == Gtk.ScrollType.PAGE_BACKWARD:
+ self._view.move_cursor(gtk.MOVEMENT_DISPLAY_LINES, -1)
+ elif scrolltype == gtk.SCROLL_JUMP or \
+ scrolltype == gtk.SCROLL_PAGE_FORWARD or \
+ scrolltype == gtk.SCROLL_PAGE_BACKWARD:
if value > self._scrollbar.props.adjustment.props.upper:
self._load_page(self._pagecount)
else:
diff --git a/epubview/jobs.py b/epubview/jobs.py
index ba28396..a0b6771 100644
--- a/epubview/jobs.py
+++ b/epubview/jobs.py
@@ -16,9 +16,8 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-from gi.repository import GObject
-from gi.repository import Gtk
-from gi.repository import Gdk
+import gobject
+import gtk
import widgets
import cairo
@@ -61,10 +60,10 @@ class SearchThread(threading.Thread):
self.obj._matchfilelist.append(entry)
f.close()
- Gdk.threads_enter()
+ gtk.gdk.threads_enter()
self.obj._finished = True
self.obj.emit('updated')
- Gdk.threads_leave()
+ gtk.gdk.threads_leave()
return False
@@ -86,14 +85,14 @@ class SearchThread(threading.Thread):
self.stopthread.set()
-class _JobPaginator(GObject.GObject):
+class _JobPaginator(gobject.GObject):
__gsignals__ = {
- 'paginated': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE, ([])),
+ 'paginated': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
}
def __init__(self, filelist):
- GObject.GObject.__init__(self)
+ gobject.GObject.__init__(self)
self._filelist = filelist
self._filedict = {}
@@ -103,9 +102,7 @@ class _JobPaginator(GObject.GObject):
self._count = 0
self._pagecount = 0
- #TODO
- """
- self._screen = Gdk.Screen.get_default()
+ self._screen = gtk.gdk.screen_get_default()
self._old_fontoptions = self._screen.get_font_options()
options = cairo.FontOptions()
options.set_hint_style(cairo.HINT_STYLE_MEDIUM)
@@ -113,9 +110,8 @@ class _JobPaginator(GObject.GObject):
options.set_subpixel_order(cairo.SUBPIXEL_ORDER_DEFAULT)
options.set_hint_metrics(cairo.HINT_METRICS_DEFAULT)
self._screen.set_font_options(options)
- """
- self._temp_win = Gtk.Window()
+ self._temp_win = gtk.Window()
self._temp_view = widgets._WebView()
settings = self._temp_view.get_settings()
@@ -131,8 +127,8 @@ class _JobPaginator(GObject.GObject):
settings.props.default_monospace_font_size = 10
settings.props.default_encoding = 'utf-8'
- sw = Gtk.ScrolledWindow()
- sw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER)
+ sw = gtk.ScrolledWindow()
+ sw.set_policy(gtk.POLICY_NEVER, gtk.POLICY_NEVER)
self._dpi = 96
sw.set_size_request(_mm_to_pixel(PAGE_WIDTH, self._dpi),
_mm_to_pixel(PAGE_HEIGHT, self._dpi))
@@ -168,8 +164,7 @@ class _JobPaginator(GObject.GObject):
if self._count + 1 >= len(self._filelist):
self._temp_win.destroy()
- # TODO
- #self._screen.set_font_options(self._old_fontoptions)
+ self._screen.set_font_options(self._old_fontoptions)
self.emit('paginated')
else:
self._count += 1
@@ -229,15 +224,15 @@ class _JobPaginator(GObject.GObject):
return self._bookheight
-class _JobFind(GObject.GObject):
+class _JobFind(gobject.GObject):
__gsignals__ = {
- 'updated': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE, ([])),
+ 'updated': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
}
def __init__(self, document, start_page, n_pages, text,
case_sensitive=False):
- GObject.GObject.__init__(self)
- Gdk.threads_init()
+ gobject.GObject.__init__(self)
+ gtk.gdk.threads_init()
self._finished = False
self._document = document
diff --git a/epubview/navmap.py b/epubview/navmap.py
index fa3713b..612f2d1 100644
--- a/epubview/navmap.py
+++ b/epubview/navmap.py
@@ -1,6 +1,5 @@
from lxml import etree
-from gi.repository import Gtk
-import logging
+import gtk
class NavPoint(object):
@@ -26,7 +25,7 @@ class NavMap(object):
self._opffile = opffile
self._tree = etree.parse(ncxfile)
self._root = self._tree.getroot()
- self._gtktreestore = Gtk.TreeStore(str, str)
+ self._gtktreestore = gtk.TreeStore(str, str)
self._flattoc = []
self._populate_flattoc()
@@ -63,11 +62,8 @@ class NavMap(object):
def _getcontent(self, navpoint):
text = navpoint.find(
- './{http://www.daisy.org/z3986/2005/ncx/}content')
- if text is not None:
- return self._basepath + text.get('src')
- else:
- return ""
+ './{http://www.daisy.org/z3986/2005/ncx/}content/')
+ return self._basepath + text.get('src')
def _process_navpoint(self, navpoint, parent=None):
title = self._gettitle(navpoint)
diff --git a/epubview/widgets.py b/epubview/widgets.py
index 39c52ce..a603c34 100644
--- a/epubview/widgets.py
+++ b/epubview/widgets.py
@@ -1,9 +1,10 @@
-from gi.repository import WebKit
+import webkit
+import gtk
-class _WebView(WebKit.WebView):
+class _WebView(webkit.WebView):
def __init__(self):
- WebKit.WebView.__init__(self)
+ webkit.WebView.__init__(self)
def get_page_height(self):
'''