NorwegianRockCat / GVim-Qt

This is a Patch Queue for making GVim use Qt toolkit as its graphical front-end. These are ONLY the patches. You need to to have the source of Vim available as well.

commit 105: d4c7f9465098
parent 104: d4ab48826932
branch: default
Fix truncating of lines on updates. For some reason I was updating the right area, but subtracting way more than I should have. This would result in lines disappearing. Use the same size for both.
Norwegian Rock Cat
16 months ago

Changed (Δ1.5 KB):

raw changeset »

vim-qt (57 lines added, 3 lines removed)

Up to file-list vim-qt:

1
1
* * *
2
2
3
diff --git a/runtime/doc/tags b/runtime/doc/tags
4
--- a/runtime/doc/tags
5
+++ b/runtime/doc/tags
6
@@ -1781,6 +1781,7 @@
7
 :_!	cmdline.txt	/*:_!*
8
 :_#	cmdline.txt	/*:_#*
9
 :_##	cmdline.txt	/*:_##*
10
+:_#<	cmdline.txt	/*:_#<*
11
 :_%	cmdline.txt	/*:_%*
12
 :_%:	cmdline.txt	/*:_%:*
13
 :_%<	cmdline.txt	/*:_%<*
14
@@ -2434,6 +2435,8 @@
15
 :nunme	gui.txt	/*:nunme*
16
 :nunmenu	gui.txt	/*:nunmenu*
17
 :o	vi_diff.txt	/*:o*
18
+:ol	starting.txt	/*:ol*
19
+:oldfiles	starting.txt	/*:oldfiles*
20
 :om	map.txt	/*:om*
21
 :omap	map.txt	/*:omap*
22
 :omap_l	map.txt	/*:omap_l*
23
@@ -4102,6 +4105,7 @@
24
 E806	eval.txt	/*E806*
25
 E807	eval.txt	/*E807*
26
 E808	eval.txt	/*E808*
27
+E809	cmdline.txt	/*E809*
28
 E81	map.txt	/*E81*
29
 E82	message.txt	/*E82*
30
 E83	message.txt	/*E83*
31
@@ -4698,6 +4702,10 @@
32
 c	change.txt	/*c*
33
 c.vim	syntax.txt	/*c.vim*
34
 cW	change.txt	/*cW*
35
+c_#	cmdline.txt	/*c_#*
36
+c_##	cmdline.txt	/*c_##*
37
+c_#<	cmdline.txt	/*c_#<*
38
+c_%	cmdline.txt	/*c_%*
39
 c_<BS>	cmdline.txt	/*c_<BS>*
40
 c_<C-Left>	cmdline.txt	/*c_<C-Left>*
41
 c_<C-R>	cmdline.txt	/*c_<C-R>*
42
@@ -6732,6 +6740,7 @@
43
 objects	index.txt	/*objects*
44
 obtaining-exted	netbeans.txt	/*obtaining-exted*
45
 ocaml.vim	syntax.txt	/*ocaml.vim*
46
+oldfiles-variable	eval.txt	/*oldfiles-variable*
47
 ole-activation	if_ole.txt	/*ole-activation*
48
 ole-eval	if_ole.txt	/*ole-eval*
49
 ole-gethwnd	if_ole.txt	/*ole-gethwnd*
50
@@ -7818,6 +7827,7 @@
51
 v:mouse_col	eval.txt	/*v:mouse_col*
52
 v:mouse_lnum	eval.txt	/*v:mouse_lnum*
53
 v:mouse_win	eval.txt	/*v:mouse_win*
54
+v:oldfiles	eval.txt	/*v:oldfiles*
55
 v:operator	eval.txt	/*v:operator*
56
 v:prevcount	eval.txt	/*v:prevcount*
57
 v:profiling	eval.txt	/*v:profiling*
3
58
diff --git a/src/GvimExt/Make_ming.mak b/src/GvimExt/Make_ming.mak
4
59
--- a/src/GvimExt/Make_ming.mak
5
60
+++ b/src/GvimExt/Make_ming.mak
@@ -18046,7 +18101,7 @@ diff --git a/src/gui_qt.cpp b/src/gui_qt
18046
18101
new file mode 100644
18047
18102
--- /dev/null
18048
18103
+++ b/src/gui_qt.cpp
18049
@@ -0,0 +1,1632 @@
18104
@@ -0,0 +1,1631 @@
18050
18105
+/* vi:set ts=8 sts=4 sw=4:
18051
18106
+ *
18052
18107
+ * VIM - Vi IMproved		by Bram Moolenaar
@@ -19464,7 +19519,6 @@ new file mode 100644
19464
19519
+    }
19465
19520
+    QStringList buttonList = QString::fromUtf8(reinterpret_cast<const char *>(buttons)).trimmed()
19466
19521
+                                                        .split(QLatin1Char(DLG_BUTTON_SEP));
19467
+    // Ah, crap I *really* need that new QMessageBox :(
19468
19522
+    VimDialog vimDialog(icon, QString::fromUtf8(reinterpret_cast<const char *>(title)),
19469
19523
+                        QString::fromUtf8(reinterpret_cast<const char *>(message)),
19470
19524
+                        buttonList, dfltbutton, textfield != 0,
@@ -20571,7 +20625,7 @@ new file mode 100644
20571
20625
+    }
20572
20626
+    textLayout.draw(painter, QPointF(x, newY));
20573
20627
+    currRegion = currRegion.subtract(QRect(QPoint(x, newY),
20574
+                                     textLayout.boundingRect().size().toSize()));
20628
+                                     line.naturalTextRect().size().toSize()));
20575
20629
+}
20576
20630
+
20577
20631
+VimWidget::~VimWidget()