diff --git a/odmlui/__main__.py b/odmlui/__main__.py index 0aa8361..c8a8cdf 100644 --- a/odmlui/__main__.py +++ b/odmlui/__main__.py @@ -1,18 +1,14 @@ #!/usr/bin/env python import os - -import pygtkcompat - -import gtk +import gi +gi.require_version("Gtk", "3.0") +from gi.repository import Gtk as gtk import odmlui from .editor import register_stock_icons, EditorWindow from .helpers import path_to_uri -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - def main(filenames=None, debug=False): """ diff --git a/odmlui/attribute_view.py b/odmlui/attribute_view.py index a64d518..9bb8271 100644 --- a/odmlui/attribute_view.py +++ b/odmlui/attribute_view.py @@ -1,20 +1,14 @@ -import pygtkcompat - try: # Python 3 from html import escape as html_escape except ImportError: # Python 2 from cgi import escape as html_escape from odml import format as ofmt - -import gtk +from gi.repository import Gtk as gtk from . import commands from .tree_view import TreeView -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - COL_KEY = 0 COL_VALUE = 1 diff --git a/odmlui/chooser_dialog.py b/odmlui/chooser_dialog.py index fab4c87..7ba2bfb 100644 --- a/odmlui/chooser_dialog.py +++ b/odmlui/chooser_dialog.py @@ -1,12 +1,7 @@ """ 'chooser_dialog' contains odML specific file chooser widget classes. """ - -import pygtkcompat -import gtk - -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') +from gi.repository import Gtk as gtk class ChooserDialog(gtk.FileChooserDialog): diff --git a/odmlui/drag_provider.py b/odmlui/drag_provider.py index 847f163..fd9fb45 100644 --- a/odmlui/drag_provider.py +++ b/odmlui/drag_provider.py @@ -1,12 +1,8 @@ -import pygtkcompat -import gtk +from gi.repository import Gtk as gtk from .dnd.drag import DragTarget from .dnd.drop import DropTarget -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - class DragProvider(object): """ diff --git a/odmlui/editor.py b/odmlui/editor.py index 693e892..ba262d2 100644 --- a/odmlui/editor.py +++ b/odmlui/editor.py @@ -7,9 +7,9 @@ import time import threading -from gi.repository import GLib, GObject - -import pygtkcompat +from gi.repository import GLib +from gi.repository import GObject +from gi.repository import Gtk as gtk from odml.property import BaseProperty import odml.terminology as terminology @@ -19,9 +19,6 @@ from odmlui.info import AUTHOR, CONTACT, COPYRIGHT, HOMEPAGE, VERSION, ODMLTABLES_VERSION from odmlui.treemodel import section_model, value_model -import gtk -import gobject - from .attribute_view import AttributeView from .chooser_dialog import OdmlChooserDialog from .document_registry import DocumentRegistry @@ -36,9 +33,6 @@ from .section_view import SectionView from .wizard import DocumentWizard -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - GObject.threads_init() UI_INFO = \ @@ -234,7 +228,7 @@ def __init__(self, parent=None): try: mergeid = merge.add_ui_from_string(UI_INFO) - except gobject.GError as msg: + except GObject.GError as msg: print("building menus failed: %s" % msg) menu_bar = merge.get_widget("/MenuBar") menu_bar.show() @@ -1243,7 +1237,7 @@ def register_stock_icons(): factory.add(icon_name, icon_set) - except gobject.GError as error: + except GObject.GError as error: print('[Warning] Failed to load icon', icon_name, error) diff --git a/odmlui/info_bar.py b/odmlui/info_bar.py index d1cf507..7d70813 100644 --- a/odmlui/info_bar.py +++ b/odmlui/info_bar.py @@ -1,13 +1,8 @@ """ The 'info_bar' module provides a class for the app specific message bar. """ - -import pygtkcompat -import glib -import gtk - -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') +from gi.repository import Gtk as gtk +from gi.repository import GLib as glib class EditorInfoBar(gtk.InfoBar): diff --git a/odmlui/message_dialog.py b/odmlui/message_dialog.py index 061dc4e..607a9b5 100644 --- a/odmlui/message_dialog.py +++ b/odmlui/message_dialog.py @@ -1,9 +1,4 @@ -import pygtkcompat - -import gtk - -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') +from gi.repository import Gtk as gtk class MessageDialog(gtk.MessageDialog): diff --git a/odmlui/navigation_bar.py b/odmlui/navigation_bar.py index 1026c21..1c53dfa 100644 --- a/odmlui/navigation_bar.py +++ b/odmlui/navigation_bar.py @@ -4,13 +4,7 @@ This class provides functionality to browse from a currently selected model object to the document root. """ - -import pygtkcompat - -import gtk - -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') +from gi.repository import Gtk as gtk class NavigationBar(gtk.Label): diff --git a/odmlui/property_view.py b/odmlui/property_view.py index c02d781..a1555fa 100644 --- a/odmlui/property_view.py +++ b/odmlui/property_view.py @@ -2,8 +2,7 @@ The 'property_view' module provides a class to display and edit odml.Properties and their attributes and Values. """ - -import pygtkcompat +from gi.repository import Gtk as gtk import odml import odml.dtypes as dtypes @@ -11,8 +10,6 @@ from odml import DType from odml.property import BaseProperty -import gtk - from . import commands from . import text_editor from .drag_provider import DragProvider @@ -24,9 +21,6 @@ from .dnd.text import TextDrag, TextDrop, TextGenericDropForPropertyTV from .message_dialog import DecisionDialog -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - class PropertyView(TerminologyPopupTreeView): """ diff --git a/odmlui/scrolled_window.py b/odmlui/scrolled_window.py index b08fc08..3232e56 100644 --- a/odmlui/scrolled_window.py +++ b/odmlui/scrolled_window.py @@ -1,9 +1,4 @@ -import pygtkcompat - -import gtk - -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') +from gi.repository import Gtk as gtk class ScrolledWindow(gtk.ScrolledWindow): diff --git a/odmlui/section_view.py b/odmlui/section_view.py index 0e51929..ec634c3 100644 --- a/odmlui/section_view.py +++ b/odmlui/section_view.py @@ -1,5 +1,3 @@ -import pygtkcompat - import odml from odml.section import BaseSection @@ -12,9 +10,6 @@ from .helpers import handle_section_import from .tree_view import TerminologyPopupTreeView -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - class SectionView(TerminologyPopupTreeView): """ diff --git a/odmlui/text_editor.py b/odmlui/text_editor.py index ce56282..ed07ddd 100644 --- a/odmlui/text_editor.py +++ b/odmlui/text_editor.py @@ -1,18 +1,12 @@ """ 'text_editor' provides a simple TextEditor Window class. """ - -import pygtkcompat - -import gtk +from gi.repository import Gtk as gtk from .commands import ChangeValue from .scrolled_window import ScrolledWindow from .treemodel.value_model import Value -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - class TextEditor(gtk.Window): """ diff --git a/odmlui/tree_view.py b/odmlui/tree_view.py index c22a1a3..b8b7a6d 100644 --- a/odmlui/tree_view.py +++ b/odmlui/tree_view.py @@ -1,13 +1,7 @@ import heapq -import pygtkcompat - -import gtk - +from gi.repository import Gtk as gtk from . import commands -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - class TreeView(object): """ diff --git a/odmlui/treemodel/property_model.py b/odmlui/treemodel/property_model.py index 6e4010b..091e710 100644 --- a/odmlui/treemodel/property_model.py +++ b/odmlui/treemodel/property_model.py @@ -1,5 +1,3 @@ -import pygtkcompat - from odml.property import BaseProperty from odml.section import BaseSection @@ -7,9 +5,6 @@ from .tree_model import TreeModel, ColumnMapper from . import value_model -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - COL_MAPPER = ColumnMapper({"Name": (0, "name"), "Value": (1, "pseudo_values"), diff --git a/odmlui/validation_window.py b/odmlui/validation_window.py index a4a384f..6d1fdf8 100644 --- a/odmlui/validation_window.py +++ b/odmlui/validation_window.py @@ -3,17 +3,11 @@ """ import sys - -import pygtkcompat - -import gtk +from gi.repository import Gtk as gtk from .scrolled_window import ScrolledWindow from .tree_view import TreeView -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - COL_PATH = 0 COL_INDEX = 1 COL_DESC = 2 diff --git a/odmlui/wizard.py b/odmlui/wizard.py index 547349f..76cb004 100644 --- a/odmlui/wizard.py +++ b/odmlui/wizard.py @@ -8,21 +8,16 @@ from collections import OrderedDict -import pygtkcompat - import odml import odml.terminology as terminology -import gtk +from gi.repository import Gtk as gtk from .helpers import handle_property_import, get_username from .treemodel.section_model import SectionModel from .section_view import SectionView from .scrolled_window import ScrolledWindow -pygtkcompat.enable() -pygtkcompat.enable_gtk(version='3.0') - class Table(object): """ diff --git a/setup.py b/setup.py index 3e303cb..d9203ee 100644 --- a/setup.py +++ b/setup.py @@ -34,11 +34,9 @@ class PackageNotFoundError(Exception): dep_str = "Non-Python dependency missing, please check the %s file." % README try: import gi - import pygtkcompat - pygtkcompat.enable() - pygtkcompat.enable_gtk(version="3.0") - import gtk - import gobject + gi.require_version("Gtk", "3.0") + from gi.repository import Gtk + from gi.repository import GObject except (ImportError, ValueError) as err: err_str = ("\n Error: %s\n\n %s" % (err, dep_str)) raise PackageNotFoundError(err_str)