68bc088ccd
- cloner: Sync <uuid> and <sysinfo> system uuid (RHEL-34608) - virtinstall: fix regression with --boot and no install method (RHEL-34608) - progress: Fix showing correct final total (RHEL-34608) - virtinstall: Fix the allocating disk size printed by the progress bar (RHEL-34608) - virtinstall: Hide total_size in the progress bar if it doesn't need (RHEL-34608) - virt-install: Recommend '--boot uefi' (RHEL-34608) - virt-install: Document Secure Boot setups (RHEL-34608) - tests: Add more cloud-init and TPM test cases (RHEL-34608) - installer: drop default TPM for --cloud-init install phase (RHEL-34608) - Add gating for centos stream 10 (RHEL-34608) - xmleditor: make gtksourceview optional (RHEL-35859) Resolves: RHEL-34608, RHEL-35859
80 lines
2.8 KiB
Diff
80 lines
2.8 KiB
Diff
From e45db8eaa53134b0b5266d25ad58f0760af777b0 Mon Sep 17 00:00:00 2001
|
|
From: Jonathon Jongsma <jjongsma@redhat.com>
|
|
Date: Thu, 16 May 2024 11:05:23 -0500
|
|
Subject: [PATCH] xmleditor: make gtksourceview optional
|
|
|
|
The only thing that GtkSourceView gives us is syntax highlighting and
|
|
auto-indent. When this library is not available, we can still offer xml
|
|
editing with a plain textview with very little lost functionality.
|
|
|
|
Resolves: https://issues.redhat.com/browse/RHEL-35859
|
|
|
|
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
---
|
|
virt-manager.spec | 7 ++++---
|
|
virtManager/xmleditor.py | 34 ++++++++++++++++++++++++----------
|
|
2 files changed, 28 insertions(+), 13 deletions(-)
|
|
|
|
diff --git a/virtManager/xmleditor.py b/virtManager/xmleditor.py
|
|
index 40d4c424e..8be317cc9 100644
|
|
--- a/virtManager/xmleditor.py
|
|
+++ b/virtManager/xmleditor.py
|
|
@@ -7,13 +7,24 @@ import gi
|
|
from virtinst import log
|
|
|
|
# We can use either gtksourceview3 or gtksourceview4
|
|
+have_gtksourceview = True
|
|
try:
|
|
gi.require_version("GtkSource", "4")
|
|
log.debug("Using GtkSource 4")
|
|
except ValueError: # pragma: no cover
|
|
- gi.require_version("GtkSource", "3.0")
|
|
- log.debug("Using GtkSource 3.0")
|
|
-from gi.repository import GtkSource
|
|
+ try:
|
|
+ gi.require_version("GtkSource", "3.0")
|
|
+ log.debug("Using GtkSource 3.0")
|
|
+ except:
|
|
+ log.debug("Not using GtkSource")
|
|
+ have_gtksourceview = False
|
|
+
|
|
+if have_gtksourceview:
|
|
+ from gi.repository import GtkSource
|
|
+else:
|
|
+ # if GtkSourceView is not available, just use a plain TextView. This will
|
|
+ # only disable auto-indent and syntax highlighting.
|
|
+ from gi.repository import Gtk
|
|
|
|
from .lib import uiutil
|
|
from .baseclass import vmmGObjectUI
|
|
@@ -66,17 +77,20 @@ class vmmXMLEditor(vmmGObjectUI):
|
|
not enabled)
|
|
|
|
def _init_ui(self):
|
|
- self._srcview = GtkSource.View()
|
|
- self._srcbuff = self._srcview.get_buffer()
|
|
-
|
|
- lang = GtkSource.LanguageManager.get_default().get_language("xml")
|
|
- self._srcbuff.set_language(lang)
|
|
+ if have_gtksourceview:
|
|
+ self._srcview = GtkSource.View()
|
|
+ self._srcbuff = self._srcview.get_buffer()
|
|
+ self._srcview.set_auto_indent(True)
|
|
+ lang = GtkSource.LanguageManager.get_default().get_language("xml")
|
|
+ self._srcbuff.set_language(lang)
|
|
+ self._srcbuff.set_highlight_syntax(True)
|
|
+ else:
|
|
+ self._srcview = Gtk.TextView()
|
|
+ self._srcbuff = self._srcview.get_buffer()
|
|
|
|
self._srcview.set_monospace(True)
|
|
- self._srcview.set_auto_indent(True)
|
|
self._srcview.get_accessible().set_name("XML editor")
|
|
|
|
- self._srcbuff.set_highlight_syntax(True)
|
|
self._srcbuff.connect("changed", self._buffer_changed_cb)
|
|
|
|
self.widget("xml-notebook").connect("switch-page",
|
|
--
|
|
2.45.1
|