Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37559701
en ru br
Репозитории ALT
S:3.22.0-alt1
5.1: 1.3.1-alt1
4.1: 1.1.5.1-alt2.qa1
4.0: 1.1.4-alt2
3.0: 1.0.0-alt1
www.altlinux.org/Changes

Группа :: Работа с текстами
Пакет: meld

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: meld-1.1.4-tweak-patch-preview.patch
Скачать


--- filediff.py 
+++ filediff.py.fixed
@@ -822,7 +822,11 @@
 
     def make_patch(self, pane):
         fontdesc = pango.FontDescription(self.prefs.get_current_font())
-        dialog = gnomeglade.Component( paths.share_dir("glade2/filediff.glade"), "patchdialog")
+        override = {}
+        if sourceview_available:
+            override["GtkTextView"] = gsv.SourceView
+            override["GtkTextBuffer"] = gsv.SourceBuffer
+        dialog = gnomeglade.Component( paths.share_dir("glade2/filediff.glade"), "patchdialog", override)
         dialog.widget.set_transient_for( self.widget.get_toplevel() )
         bufs = [t.get_buffer() for t in self.textview]
         texts = [b.get_text(*b.get_bounds()).split("\n") for b in bufs]
@@ -833,12 +837,20 @@
         try: prefixslash = prefix.rindex("/") + 1
         except ValueError: prefixslash = 0
         names = [n[prefixslash:] for n in names]
+        if sourceview_available:
+            dialog.textview.set_buffer( gsv.SourceBuffer() )
         dialog.textview.modify_font(fontdesc)
         buf = dialog.textview.get_buffer()
         lines = []
         for line in difflib.unified_diff(texts[0], texts[1], names[0], names[1]):
             buf.insert( buf.get_end_iter(), line )
             lines.append(line)
+        if sourceview_available:
+            man = gsv.SourceLanguagesManager()
+            gsl = man.get_language_from_mime_type("text/x-diff")
+            if gsl:
+                buf.set_language(gsl)
+                buf.set_highlight(True)
         result = dialog.widget.run()
         dialog.widget.destroy()
         if result >= 0:
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin