vim-qt:abuuss-vim-qt.git
6 years agoFix wrong makefile libs arguments tb-clientserver
Rui Abreu Ferreira [Thu, 20 Oct 2011 08:37:29 +0000 (09:37 +0100)]
Fix wrong makefile libs arguments

- The library arguments int the makefile are wrong. This seems
  to be the result of some leftover content from the merge conflict.

6 years agoSet the servername var
Rui Abreu Ferreira [Tue, 18 Oct 2011 14:23:38 +0000 (15:23 +0100)]
Set the servername var

- When we fixed a previous regression in clientserver support
  we stopped setting the servername var, we now reintroduce it
  at the new location.

6 years agoFix clientserver broken initialization
Rui Abreu Ferreira [Sat, 15 Oct 2011 17:39:27 +0000 (18:39 +0100)]
Fix clientserver broken initialization

- Commit ecadcff032817d9c6ac554010e869fb734656a14 breaks clientserver
  because QSocketNotifier requires a loop to function properly and
  since now Qt is initialized later - the Qt main loop is not running
  when the server is created.

1) The CommandServer class is now a singleton called from if_qtcmdsrv.cpp
   and gui_qt.cpp.
2) The server is created early but listen() is only called when the gui
   starts.
3) serverGetVimNames() the QDir::Files filter blocked the socket files from the
   list - as a quick fix we now use QDir::System - but requires further
   investigation.
* An unfortunate side effect of 2) is vim does not get the actual server
  name back when it creates the server.

6 years agoAdd wait support to clientserver
Rui Abreu Ferreira [Fri, 19 Aug 2011 23:38:56 +0000 (00:38 +0100)]
Add wait support to clientserver

6 years agoInitial clientserver implementation
Rui Abreu Ferreira [Thu, 18 Aug 2011 11:22:25 +0000 (12:22 +0100)]
Initial clientserver implementation

- This implements client server over sockets using QDataStream,
  the protocol is rather simplistic:
  + Requests are a string followed by a bool
  + Replies are just a single string

6 years agoFix debug messages
Rui Abreu Ferreira [Wed, 17 Aug 2011 23:29:18 +0000 (00:29 +0100)]
Fix debug messages

6 years agoInitial support clientserver
Rui Abreu Ferreira [Wed, 17 Aug 2011 23:26:08 +0000 (00:26 +0100)]
Initial support clientserver

- This brings in placeholders for clientserver support
* It is NOT working yet it just prints debug messages

6 years agoMerge branch 'master' into merge-upstream
Rui Abreu Ferreira [Fri, 16 Dec 2011 09:57:53 +0000 (09:57 +0000)]
Merge branch 'master' into merge-upstream

6 years agoImport default 3226:601dffb4a18c
Rui Abreu Ferreira [Fri, 16 Dec 2011 09:43:02 +0000 (09:43 +0000)]
Import default 3226:601dffb4a18c

6 years agoRemove QAction from menubar for orphan menus
Rui Abreu Ferreira [Wed, 16 Nov 2011 10:08:23 +0000 (10:08 +0000)]
Remove QAction from menubar for orphan menus

- In the event that a menu has no parent - as is the
  case for some(but not all menubar menus) we need to
  actually remove the QAction from the menubar.
* This a proposed fix for issue#34

6 years agoLink using the C++ compiler rather the C compiler
Rui Abreu Ferreira [Tue, 15 Nov 2011 08:52:49 +0000 (08:52 +0000)]
Link using the C++ compiler rather the C compiler

- When linking Make calls gcc(or other C compiler) to handle
  linking - despite the fact that Qt is a C++ library. This
  is usually fine provided that we link against libstdc++.
- Unfortunately some systems (Ubuntu 11.10) are more pedantic
  about this than others.
* This is proposed fix for issue#33

6 years agoSet focus to shell on mouse click
Rui Abreu Ferreira [Tue, 8 Nov 2011 09:41:00 +0000 (09:41 +0000)]
Set focus to shell on mouse click

- It may occurr that once the vim shell looses focus it wont gain it
  again. For example this may happen when interacting with the toolbar
  or menubar.
- This change sets the focus to the shell widget whenver a mouse click
  occurrs on the widget.

6 years agoExplicitly Link against stdc++
Rui Abreu Ferreira [Sun, 23 Oct 2011 13:54:30 +0000 (14:54 +0100)]
Explicitly Link against stdc++

- In some systems we have to explicitly link against
  libstdc++.

6 years agoFix qmake Makefile parsing
Rui Abreu Ferreira [Sat, 22 Oct 2011 15:44:38 +0000 (16:44 +0100)]
Fix qmake Makefile parsing

- When parsing the Makefile output from qmake(with awk) we are
  miss-parsing cases where the parsed line has more than one
  (=) char. One particular case where this happens is in Arch
  Linux where "--hash-style=gnu" is a default parameter but in fact
  we only get back "gnu".
* Issue-32

6 years agoLook for qmake in path
Rui Abreu Ferreira [Sat, 15 Oct 2011 21:43:03 +0000 (22:43 +0100)]
Look for qmake in path

- Since we first find qmake4 and qmake-q4 we may also find
  qmake from the path.
* This should fix detection issues in ArchLinux

6 years agoAdd QtNetwork module requirement
Rui Abreu Ferreira [Sat, 15 Oct 2011 14:52:04 +0000 (15:52 +0100)]
Add QtNetwork module requirement

- The name of the qmake project file is now always
  test.pro - this makes removal easier/safer.
- We now add the Qt network module by default, in
  preparation for merges with branches thar require ir.

6 years agoRemove temp directory used by qmake
Rui Abreu Ferreira [Sat, 15 Oct 2011 14:13:46 +0000 (15:13 +0100)]
Remove temp directory used by qmake

- When looking for Qt we create a tmp
  directory, that should be deleted.

6 years agoUse proper link flags for Qt
Rui Abreu Ferreira [Sat, 15 Oct 2011 02:16:51 +0000 (03:16 +0100)]
Use proper link flags for Qt

6 years agoEnable --with-qt-dir in configure
Rui Abreu Ferreira [Fri, 14 Oct 2011 20:08:58 +0000 (21:08 +0100)]
Enable --with-qt-dir in configure

- Remove the old(and somewhat broken) --enable-qt-check
  from autoconf and reintroduce --with-qt-dir.
* --with-qt-dir=PATH takes as a parameter a path to the
 prefix holding Qt - or more accurately PATH/bin/qmake
 and PATH/bin/moc are in place.

6 years agoCheck for qmake-qt4 and moc-qt4
Rui Abreu Ferreira [Fri, 14 Oct 2011 15:07:23 +0000 (16:07 +0100)]
Check for qmake-qt4 and moc-qt4

- Ubuntu distros - starting with 11.10 call the moc and qmake
binaries moc-qt4 and qmake-qt4.

6 years agoFix detection check for qmake/moc
Rui Abreu Ferreira [Fri, 14 Oct 2011 15:00:14 +0000 (16:00 +0100)]
Fix detection check for qmake/moc

- The current test for detection of moc
  and qmake would always succeed even
  if they were not found.

6 years agoUse qmake to help detect Qt parameters
Rui Abreu Ferreira [Fri, 14 Oct 2011 11:11:22 +0000 (12:11 +0100)]
Use qmake to help detect Qt parameters

- So far we used autoconf to look for Qt libraries
  and compiler options - unfortunately this is an
  onerous task because some systems place the Qt libs
  in very nonstandard locations.
- The commit introduces an alternative means to check
  for Qt, using qmake to derive the compiler library and
  include path options.

6 years agoReject non monospace and non existing fonts
Rui Abreu Ferreira [Tue, 11 Oct 2011 09:24:18 +0000 (10:24 +0100)]
Reject non monospace and non existing fonts

- Enforce stricter checks for fonts
 + Don't load non existing fonts
 + Don't load non monospace fonts
* We still allow for non monospace fonts
 + We can't be 100% sure they are monospaced
   until we draw them.
 + We ALWAYS allow the 'Monospace' as a fallback
   event if it is not actually monospace.

6 years agoCheck for empty strings when pasting clipboard
Rui Abreu Ferreira [Tue, 18 Oct 2011 09:44:55 +0000 (10:44 +0100)]
Check for empty strings when pasting clipboard

- The lalloc function throws an error whenever we try to
  allocate 0 bytes, clip_mch_request_selection didn't
  check the length of the input before calling lalloc
  and throws an error if the clipboard was empty.

6 years agoMerge branch 'master' into merge-upstream
Rui Abreu Ferreira [Wed, 12 Oct 2011 10:00:53 +0000 (11:00 +0100)]
Merge branch 'master' into merge-upstream

Conflicts:
src/gui.c

6 years agoImport default 3126:409691084d19
Rui Abreu Ferreira [Wed, 12 Oct 2011 09:48:55 +0000 (10:48 +0100)]
Import default 3126:409691084d19

6 years agogui_mch_get_fontname now returns the given name
Rui Abreu Ferreira [Mon, 10 Oct 2011 10:43:03 +0000 (11:43 +0100)]
gui_mch_get_fontname now returns the given name

- gui_mch_get_fontname was returning the QFont family name,
  but this is not sane because
    1) the family name alone cannot be used to load a font.
    2) No copy was being made of the returned string.
* We now fallback to what seems to returning a copy of  the
  same name argument that was passesd in.

6 years agoCheck if QApplication is initialized
Rui Abreu Ferreira [Wed, 28 Sep 2011 17:18:40 +0000 (18:18 +0100)]
Check if QApplication is initialized

- If QApplication is not initialised calling
  some of its methods, static or otherwise, may
  cause it to SEGFAULT.
- This commit checks QApplication::instances in static calls, in
  + gui_mch_flash
  + gui_mch_mousehide
  + gui_mch_exit
- The following are not checked, and SHOULD be safe
  + gui_mch_wait_for_chars
  + gui_mch_update
  + gui_mch_flush
  + gui_mch_get_screen_dimensions
  + gui_mch_**_selection
* This is a proposed fix for issue #25

6 years agoDisabling scrollbars
Rui Abreu Ferreira [Thu, 29 Sep 2011 08:31:41 +0000 (09:31 +0100)]
Disabling scrollbars

- Scrollbars are broken, and the layout change when we switch tabs
  causes vim to crash - I'm disabling scrollbars until a proper fix
  can be issued.

6 years agoRemove unnecessary scrollbar layout
Rui Abreu Ferreira [Mon, 19 Sep 2011 20:36:06 +0000 (21:36 +0100)]
Remove unnecessary scrollbar layout

6 years agoTurn fake argc/argv into static variables
Rui Abreu Ferreira [Mon, 12 Sep 2011 19:03:40 +0000 (20:03 +0100)]
Turn fake argc/argv into static variables

6 years agoRe-enabled mouse tracking for the shell
Rui Abreu Ferreira [Mon, 12 Sep 2011 18:56:01 +0000 (19:56 +0100)]
Re-enabled mouse tracking for the shell

- Until now we only enabled mouse tracking when the mouse button
  was pressed - to track drag events.
- But Vim requires this to properly change the cursor when we
  stop dragging.

6 years agoFix Qt detection for Gentoo/Ubuntu
Rui Abreu Ferreira [Sun, 21 Aug 2011 23:03:52 +0000 (01:03 +0200)]
Fix Qt detection for Gentoo/Ubuntu

- The Qt4 detection for autoconf was broken for 2 reasons:
  1. The last detection case failed to report the outcome
  2. If Xorg is not detected, then the GUI would never be enabled
- This commit adds a check for number (2) and fixes the message
  for number (1).
- Some versions of autoconf seem to dislike the
  way I defined the default value for with-qt.

6 years agoDelay Qt initialization
Rui Abreu Ferreira [Mon, 29 Aug 2011 21:16:06 +0000 (22:16 +0100)]
Delay Qt initialization

- Initializing Qt when we get the command line parameters has the
  downside that we might not need it at all - if the GUI was not called.
- We now delay Qt inialization, and foge the argc/argv arguments.
* issue#24 - This should allow Qt to start in console mode when X
  is not available.

6 years agoPass MAUTO to clip_yank_selection instead of MCHAR
Rui Abreu Ferreira [Thu, 25 Aug 2011 10:19:04 +0000 (11:19 +0100)]
Pass MAUTO to clip_yank_selection instead of MCHAR

- When getting the selection from the clipboard the gui calls
  clip_yank_selection - unfortunately it was always called to
  handle the content as a character.
* This should fix issue#23.

6 years agoCheck fonts on font loading instead of stringDraw
Rui Abreu Ferreira [Wed, 24 Aug 2011 19:52:25 +0000 (20:52 +0100)]
Check fonts on font loading instead of stringDraw

- The monospace font check is now a little more
  pedantic, it checks combinations of  bold, italic
  and normal.
- The check is only made when the font is loaded.
* The isFakeMonospace method was moved into the
  VimWrapper class.

6 years agoComment SYS_VIMRC_FILE definition
Rui Abreu Ferreira [Tue, 23 Aug 2011 16:04:32 +0000 (17:04 +0100)]
Comment SYS_VIMRC_FILE definition

- This should not be enabled (as in upstream) instead packagers
  apply patches.

7 years agoMerge branch 'master' into merge-upstream
Rui Abreu Ferreira [Wed, 17 Aug 2011 08:53:08 +0000 (09:53 +0100)]
Merge branch 'master' into merge-upstream

7 years agoImport default 3017:3edc4535acfa
Rui Abreu Ferreira [Wed, 17 Aug 2011 08:50:25 +0000 (09:50 +0100)]
Import default 3017:3edc4535acfa

7 years agoInitialize local variable
Owen Healy [Tue, 9 Aug 2011 22:37:44 +0000 (18:37 -0400)]
Initialize local variable

7 years agoHandle Alt key mappings
Owen Healy [Wed, 10 Aug 2011 13:34:24 +0000 (14:34 +0100)]
Handle Alt key mappings

- Qt handles Shift and Ctrl modifiers in such a way that
  we can simply pass ascii strings to add_to_input_buf(),
  however this is not the case for Alt.

7 years agoMake "Monospace" font work
Owen Healy [Tue, 9 Aug 2011 16:07:22 +0000 (17:07 +0100)]
Make "Monospace" font work

* [raf] This is a cherrypick of Owen's changes to allow Monospace (and similar
  virtual fonts) to work in vim-Qt. However I removed the error message
  as default behaviour to keep compatibility with the gtk gui -
  allowing you to load font names that do not exist.

7 years agoMake italic work
Rui Abreu Ferreira [Tue, 9 Aug 2011 15:23:00 +0000 (16:23 +0100)]
Make italic work

- gui.c only sets text as italic for gtk and windows
* This is a cherry pick of Owen's fix to allow italic
  fonts - but I've replaced the macro check with the
  correct one.

7 years agoRemove use of QVimShell::hasInput
Rui Abreu Ferreira [Tue, 9 Aug 2011 15:18:52 +0000 (16:18 +0100)]
Remove use of QVimShell::hasInput

- Remove use of hasInput in qvimshell ww now rely on the vim buffer.
* Owen's changes introduce a better method to detect input events
  prior to calling processEvents() - this commit removes code that is
  no longer needed.

7 years agoFix key waiting
Owen Healy [Tue, 9 Aug 2011 15:13:24 +0000 (16:13 +0100)]
Fix key waiting

7 years agoFix Insert key
Rui Abreu Ferreira [Mon, 25 Jul 2011 15:51:57 +0000 (16:51 +0100)]
Fix Insert key

- It seems 38ec9da9fa669dda2eca54290bb7414adea5d062 introduced
  this bug, by placing a lowercase 'i' instead of an uppercase in
  qvimshell.h
- Issue#19

7 years agoUpdate input when drag&drop occurrs
Rui Abreu Ferreira [Fri, 22 Jul 2011 23:47:22 +0000 (00:47 +0100)]
Update input when drag&drop occurrs

- When dropping content into the Vim window
  we need to trigger an update.

7 years agofix the inputmothoed problem for Chinese character `回`
Jekyll Wu [Fri, 22 Jul 2011 15:54:52 +0000 (23:54 +0800)]
fix the inputmothoed problem for Chinese character `回`

7 years agoMinor optimisation: don't paint white space
Rui Abreu Ferreira [Thu, 21 Jul 2011 15:51:46 +0000 (16:51 +0100)]
Minor optimisation: don't paint white space

- When painting with drawStringSlow we get to draw one
  char at a time, but since we paint the background in a separate
  paint operation, there is no need to paint the space character.

7 years agoPrint messages in autoconf if Qt is found(Gentoo)
Rui Abreu Ferreira [Tue, 19 Jul 2011 21:10:35 +0000 (22:10 +0100)]
Print messages in autoconf if Qt is found(Gentoo)

7 years agoRespect menu ordering as defined by Vim
Rui Abreu Ferreira [Wed, 13 Jul 2011 08:18:50 +0000 (09:18 +0100)]
Respect menu ordering as defined by Vim

- This commit fixes menu, menu item and toolbar ordering
  by enforcing the correct item position as passed in by Vim.
- This was most noticeable in dynamic menus(Syntax) and the buffer
  menu in the menubar.
- Isssue#2

7 years agoMove new-tab button to the right of the tabbar
Rui Abreu Ferreira [Mon, 11 Jul 2011 13:09:41 +0000 (14:09 +0100)]
Move new-tab button to the right of the tabbar

7 years agoAccept key modifiers for Tab
Rui Abreu Ferreira [Mon, 11 Jul 2011 12:47:33 +0000 (13:47 +0100)]
Accept key modifiers for Tab

- Fix Issue#16

7 years agoCheck oldfont for safety before calling fontdialog
Rui Abreu Ferreira [Fri, 8 Jul 2011 08:35:51 +0000 (09:35 +0100)]
Check oldfont for safety before calling fontdialog

- When calling the font dialog we set the current in the
  dialog. However if we are unable to get the font we will
  be passing in NULL and most likely segfault.
* This is not a common occurence because we should always
  be able to get the font we are already using. However it
  will happen when fontconfig is disabled in X11 and the guifont
  cannot be loaded.

7 years agoClip painting rect when drawing string
Rui Abreu Ferreira [Fri, 1 Jul 2011 11:25:36 +0000 (12:25 +0100)]
Clip painting rect when drawing string

- Clip string drawing operations.
- Tolerate string painting width by one pixel.

7 years agoDisable use of color transparent
Rui Abreu Ferreira [Fri, 1 Jul 2011 08:13:43 +0000 (09:13 +0100)]
Disable use of color transparent

7 years agoRemoved old vimgui class
Rui Abreu Ferreira [Wed, 29 Jun 2011 10:23:44 +0000 (11:23 +0100)]
Removed old vimgui class

7 years agoFix SIGSEV when handling tab close events
Rui Abreu Ferreira [Wed, 29 Jun 2011 09:02:15 +0000 (10:02 +0100)]
Fix SIGSEV when handling tab close events

- It seems tabline events cannot be delayed otherwise vim falls appart,
  instead we should handle them immediatly.
* We should keep an eye out for other events where this can happen.

7 years agoClose tabs with middle mouse button
Rui Abreu Ferreira [Wed, 29 Jun 2011 08:09:04 +0000 (09:09 +0100)]
Close tabs with middle mouse button

7 years agoFix scrollbararea size policy
Rui Abreu Ferreira [Tue, 28 Jun 2011 14:18:52 +0000 (15:18 +0100)]
Fix scrollbararea size policy

- When using scrollbars, there would be a slowdown when switching tabs.
  Also the vimshell might be concealed when concealing the scrollbars.
- This happended because the scrollarea layout was resizing the vimshell
  widget to acomodate the scrollbar.
- This commit sets the scrollbar area widget policy to minimum in all
  directions.

7 years agoFix wrong close tab event
Rui Abreu Ferreira [Tue, 28 Jun 2011 10:04:59 +0000 (11:04 +0100)]
Fix wrong close tab event

5a101ab0 Introduced a wrong call intto send_tabline_menu_event
  where when the close tab button was pressed, the first tab would
  be closed regardless of the pressed tab button.

7 years agoRefactor event handling, as delayed events
Rui Abreu Ferreira [Tue, 28 Jun 2011 08:30:20 +0000 (09:30 +0100)]
Refactor event handling, as delayed events

- Removed loop guard mutex
- Removed most references to gui_mch_update
- Created VimWrapper, a GUI event deferal class
- Switched most Vim method calls to VimWrapper calls
- Merge VimGui and VimWrapper classes
- Move string conversion methods to VimWrapper

7 years agoDisable scrollbar for small pages
Rui Abreu Ferreira [Sat, 25 Jun 2011 11:04:22 +0000 (12:04 +0100)]
Disable scrollbar for small pages

7 years agoFix scrollbar ordering and size
Rui Abreu Ferreira [Sat, 25 Jun 2011 10:53:17 +0000 (11:53 +0100)]
Fix scrollbar ordering and size

- Pass Vim  scrollbar size into VimScrollbar
- Enforce scrollbar size via layout stretch
- Fix scrollbar list ordering

7 years agoFix layoutSoth signal connection
Rui Abreu Ferreira [Thu, 23 Jun 2011 09:09:49 +0000 (10:09 +0100)]
Fix layoutSoth signal connection

7 years agoUpdate scrollbar layout
Rui Abreu Ferreira [Wed, 22 Jun 2011 23:41:22 +0000 (00:41 +0100)]
Update scrollbar layout

- Update the scrollarea layout
  for visibility and position updates

7 years agoNew scrollarea to hold vim scrollbars
Rui Abreu Ferreira [Wed, 22 Jun 2011 09:51:13 +0000 (10:51 +0100)]
New scrollarea to hold vim scrollbars

- So far we allowed Vim to directly draw the scrollbars. This
  had a few drawbacks.
  1. Vim was responsoble for triggering the proper resize/repaint, Issue#3
  2. Since Vim does not know about the extra margin, the scrollbar would
     never have thr right width/height.
  3. The scrollbar width/height might not be complient with the system
     style.
- Enter the new ScrollArea, similar to Qt's QScrollArea it is a frame
  around a central widget that holds one or more scrollbars in any
  direction.
* This is still not in par with the previous implementation:
  - Scrollbar order is reversed.
  - Scrollbar size is not correct.

7 years agoReorder autoconf options
Rui Abreu Ferreira [Fri, 24 Jun 2011 20:36:22 +0000 (21:36 +0100)]
Reorder autoconf options

- Refactpr autoconf option order back to sanity
- Remove disable-qt-detection options, fallback should be equivalent
- Remove reference to old icon

7 years agoAutoconf: Fix multiple bugs and support Gentoo
Patrick Marques [Fri, 24 Jun 2011 17:13:53 +0000 (18:13 +0100)]
Autoconf: Fix multiple bugs and support Gentoo

- Fix minor bugs
- Gentoo likes to keep qt4 in non-standard paths

7 years agoAutoconf: Fix fallback moc detection
Rui Abreu Ferreira [Fri, 24 Jun 2011 12:08:01 +0000 (13:08 +0100)]
Autoconf: Fix fallback moc detection

- The fallback option for moc would
  most likely fail in all casese.
- Also removed unnecessary compiler flags

7 years agoAutoconf: custom settings for Qt detection
Rui Abreu Ferreira [Fri, 24 Jun 2011 11:04:25 +0000 (12:04 +0100)]
Autoconf: custom settings for Qt detection

- Added --disable-qt-detection
- Exchanged QT_DIR for QT_MOC, QT_INCDIR, QT_LIBDIR
- Fallback to system settings

7 years agoAutoconf: Qt detection
Rui Abreu Ferreira [Thu, 23 Jun 2011 15:24:20 +0000 (16:24 +0100)]
Autoconf: Qt detection

- Try to compile Qt code
- Try to run moc
- Check for Qt4 in some predefined paths besides
  the prefix

7 years agoDisable kerning for all fonts
Rui Abreu Ferreira [Thu, 23 Jun 2011 10:50:40 +0000 (11:50 +0100)]
Disable kerning for all fonts

7 years agoFix DRAWRECT paint color
Rui Abreu Ferreira [Thu, 23 Jun 2011 09:19:40 +0000 (10:19 +0100)]
Fix DRAWRECT paint color

- DRAWRECT always paintend using the
  painter default color(black), we now
  set the proper color.

7 years agoStore FontDialog as a static pointer
Rui Abreu Ferreira [Wed, 22 Jun 2011 16:08:33 +0000 (17:08 +0100)]
Store FontDialog as a static pointer

7 years agoFix --with-qt-dir in autoconf
Rui Abreu Ferreira [Wed, 22 Jun 2011 15:28:02 +0000 (16:28 +0100)]
Fix --with-qt-dir in autoconf

- A type prevented --with-qt-dir from working
  as intended.

7 years agoAdd new tab button
Rui Abreu Ferreira [Wed, 22 Jun 2011 15:21:33 +0000 (16:21 +0100)]
Add new tab button

- Add a button to create a new tab in the tabbar
- Issue#10

7 years agoAdd debug message and variable for slow char paint
Rui Abreu Ferreira [Wed, 22 Jun 2011 14:52:47 +0000 (15:52 +0100)]
Add debug message and variable for slow char paint

- Add debug messsages for font issues
- Add new environment variable QVIM_DRAW_STRING_SLOW
  that enables char-by-char painting.

7 years agoMake sure font dialog shows available sizes
Rui Abreu Ferreira [Tue, 21 Jun 2011 17:42:21 +0000 (18:42 +0100)]
Make sure font dialog shows available sizes

- QFontDatabase may return a empty smooth sizes list
  fall back to pointSizes if that is the case.

7 years agoAutoconf: configure got left behind
Rui Abreu Ferreira [Tue, 21 Jun 2011 16:03:58 +0000 (17:03 +0100)]
Autoconf: configure got left behind

7 years agoBetter support for Qt detection in autoconf
Rui Abreu Ferreira [Tue, 21 Jun 2011 15:32:00 +0000 (16:32 +0100)]
Better support for Qt detection in autoconf

- Pass qt directory in with --with-qt-dir
- Check for multiple locations for qt4
  /usr/ /usr/local /lib /lib64
* We only check for the Qt4 directory we
  still have to check if anything builds.

7 years agoStop imposing a max width for QTextLayout
Rui Abreu Ferreira [Tue, 21 Jun 2011 11:32:21 +0000 (12:32 +0100)]
Stop imposing a max width for QTextLayout

- This is basically a forward port of the
  tb-openbsd.bugs branch, that attempts to fix
  Issue #8.
- QFontMetrics and Vim don't seem to agree with
  QTextLayout concerning the required size for
  a line of text, this causes the text to
  misspaint - usually words are removed or
  justified at the end of the line.
+ Remove alignment and wrapping. If this happens
  again we only loose the minimum ammount of chars.
+ We drop the width limitation, for now, since we
  seem to be failing by a single pixel.
* This is not a final solution but it seems to work(TM)

7 years agoDisable context menu for mainwindow
Rui Abreu Ferreira [Mon, 20 Jun 2011 15:10:53 +0000 (16:10 +0100)]
Disable context menu for mainwindow

- QMainWindow provides a context menu to enable/disable
  toolbars but our toolbars are controled by Vim.

7 years agoProperly check for WANT_X11
Rui Abreu Ferreira [Sat, 18 Jun 2011 10:51:55 +0000 (11:51 +0100)]
Properly check for WANT_X11

7 years agoFix clipboard owned state
Rui Abreu Ferreira [Sat, 18 Jun 2011 10:38:14 +0000 (11:38 +0100)]
Fix clipboard owned state

- When pasting text Vim first verifies if the clipboard is owned, and
  if it is skips the retrieval of content from the clipboard.
- This commit fixes the _owned_ clipboard setting when the clipboard
  changes.
* In practice this ment that copying from Vim, then copying from other
  application and finally pasting from Vim would paste the wrong text.

7 years agoChange application icon
Rui Abreu Ferreira [Sat, 18 Jun 2011 10:04:22 +0000 (11:04 +0100)]
Change application icon

7 years agoDock tabbar in any window edge
Rui Abreu Ferreira [Fri, 17 Jun 2011 23:32:53 +0000 (00:32 +0100)]
Dock tabbar in any window edge

- So far we only docked the tabbar in the north and west
  edges of the window, because we could not differentiate
  between the remaining positions.
- Now we ensure that the tabbar gets the corret shape in
  accordance to its location.

7 years agoMinor fix: change type for special key codes
Rui Abreu Ferreira [Thu, 16 Jun 2011 20:33:44 +0000 (21:33 +0100)]
Minor fix: change type for special key codes

- special key codes should be stored as char_u. It is
  possible, but uncertaion, that this bug could affect
  conversion of special keys.

7 years agoFix drawStringSlow with non fixed-width fonts
Rui Abreu Ferreira [Thu, 16 Jun 2011 16:16:25 +0000 (17:16 +0100)]
Fix drawStringSlow with non fixed-width fonts

- Attempt to make non fixed width fonts look
  slightly better, by centering them in the cell.
- Added a new heuristic for char width.

7 years agoMinor painting optimisations
Rui Abreu Ferreira [Thu, 16 Jun 2011 15:07:48 +0000 (16:07 +0100)]
Minor painting optimisations

7 years agoFixed memory leak when looking for fonts
Rui Abreu Ferreira [Thu, 16 Jun 2011 15:05:50 +0000 (16:05 +0100)]
Fixed memory leak when looking for fonts

- When we are givem a font name to load, that
  we cannot find there would be a leak of a QFont
  object;

7 years agoPaint fake monospace fonts with drawStringSlow
Rui Abreu Ferreira [Wed, 15 Jun 2011 22:54:46 +0000 (23:54 +0100)]
Paint fake monospace fonts with drawStringSlow

- fixPainterFont() still fails when more exoteric fonts are
  passed in.
- Instead of continuing to try to resize fonts at runtime
  I'll just fallback to the slow painting strategy.
* The downside is that vim will be slower with such fonts,
  the upside is that painting should occurr with less glitches.

7 years agoFix merge with 2893:c6f8f1957c66
Rui Abreu Ferreira [Wed, 15 Jun 2011 09:19:18 +0000 (10:19 +0100)]
Fix merge with 2893:c6f8f1957c66

- gui_mch_dialog now takes a new argument _ex_cmd_
- gui.c:gui_start() calls x11 code for FEAT_EVAL which
  we must ignore.

7 years agoMerge with upstream 2893:c6f8f1957c66
Rui Abreu Ferreira [Wed, 15 Jun 2011 08:56:57 +0000 (09:56 +0100)]
Merge with upstream 2893:c6f8f1957c66

Conflicts:
src/auto/config.h
src/auto/config.mk
src/gui.h

7 years agoImport 2893:c6f8f1957c66
Rui Abreu Ferreira [Wed, 15 Jun 2011 08:37:44 +0000 (09:37 +0100)]
Import 2893:c6f8f1957c66

7 years agoFix hollow cursor painting
Rui Abreu Ferreira [Tue, 14 Jun 2011 14:34:08 +0000 (15:34 +0100)]
Fix hollow cursor painting

- Painting a howllow cursor consists of painting an empty
  char cell with a single pixel border. However we were painting
  the border *outside* the cell when we should be painting it inside.
- The fix is trivial, to compensate we reduce the size of the painted
  rect by two pixels in each axis - i.e. the border width is 1 pixel.

7 years agoTrigger an update on a focus event
Rui Abreu Ferreira [Tue, 14 Jun 2011 14:33:43 +0000 (15:33 +0100)]
Trigger an update on a focus event

7 years agoAdd focus events to shell
Rui Abreu Ferreira [Tue, 14 Jun 2011 14:22:08 +0000 (15:22 +0100)]
Add focus events to shell

7 years agoGet gui_mch_get_font to work as intended
Rui Abreu Ferreira [Tue, 14 Jun 2011 11:08:19 +0000 (12:08 +0100)]
Get gui_mch_get_font to work as intended

- Return the default Monospace-10 font when we get a null font name.
- Trigger error message if the font family was not found*.
- Change font match strategy to prefer fixed pitch fonts.
- Attempt to fallback to other font names formats such X font names
  and Qt font string names.
* The font matching check is kind of an hack, I merely check if the
  family names match. I expected exactMatch to do this for me, but
  that was not the case. Check this later - this might be a Qt bug.

7 years agoAdd support for context menu "popup" mode
Rui Abreu Ferreira [Thu, 9 Jun 2011 12:35:52 +0000 (13:35 +0100)]
Add support for context menu "popup" mode