mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Tweak to append separator character to completed text.
This commit is contained in:
parent
746ca10ae5
commit
a046e8d096
@ -30,6 +30,13 @@ defaults.
|
|||||||
series_index_auto_increment = 'next'
|
series_index_auto_increment = 'next'
|
||||||
|
|
||||||
|
|
||||||
|
# Should the completion separator be append
|
||||||
|
# to the end of the completed text to
|
||||||
|
# automatically begin a new completion operation.
|
||||||
|
# Can be either True or False
|
||||||
|
completer_append_separator = False
|
||||||
|
|
||||||
|
|
||||||
# The algorithm used to copy author to author_sort
|
# The algorithm used to copy author to author_sort
|
||||||
# Possible values are:
|
# Possible values are:
|
||||||
# invert: use "fn ln" -> "ln, fn" (the original algorithm)
|
# invert: use "fn ln" -> "ln, fn" (the original algorithm)
|
||||||
|
@ -10,6 +10,7 @@ from PyQt4.Qt import QLineEdit, QListView, QAbstractListModel, Qt, QTimer, \
|
|||||||
QApplication, QPoint, QItemDelegate, QStyleOptionViewItem, \
|
QApplication, QPoint, QItemDelegate, QStyleOptionViewItem, \
|
||||||
QStyle, QEvent, pyqtSignal
|
QStyle, QEvent, pyqtSignal
|
||||||
|
|
||||||
|
from calibre.utils.config import tweaks
|
||||||
from calibre.utils.icu import sort_key, lower
|
from calibre.utils.icu import sort_key, lower
|
||||||
from calibre.gui2 import NONE
|
from calibre.gui2 import NONE
|
||||||
from calibre.gui2.widgets import EnComboBox
|
from calibre.gui2.widgets import EnComboBox
|
||||||
@ -231,12 +232,18 @@ class MultiCompleteLineEdit(QLineEdit):
|
|||||||
cursor_pos = self.cursorPosition()
|
cursor_pos = self.cursorPosition()
|
||||||
before_text = unicode(self.text())[:cursor_pos]
|
before_text = unicode(self.text())[:cursor_pos]
|
||||||
after_text = unicode(self.text())[cursor_pos:]
|
after_text = unicode(self.text())[cursor_pos:]
|
||||||
after_parts = after_text.split(self.sep)
|
|
||||||
if len(after_parts) < 3 and not after_parts[-1].strip():
|
|
||||||
after_text = u''
|
|
||||||
prefix_len = len(before_text.split(self.sep)[-1].lstrip())
|
prefix_len = len(before_text.split(self.sep)[-1].lstrip())
|
||||||
return prefix_len, \
|
if tweaks['completer_append_separator']:
|
||||||
before_text[:cursor_pos - prefix_len] + text + after_text
|
prefix_len = len(before_text.split(self.sep)[-1].lstrip())
|
||||||
|
completed_text = before_text[:cursor_pos - prefix_len] + text + self.sep + ' ' + after_text
|
||||||
|
prefix_len = prefix_len - len(self.sep) - 1
|
||||||
|
if prefix_len < 0:
|
||||||
|
prefix_len = 0
|
||||||
|
else:
|
||||||
|
prefix_len = len(before_text.split(self.sep)[-1].lstrip())
|
||||||
|
completed_text = before_text[:cursor_pos - prefix_len] + text + after_text
|
||||||
|
return prefix_len, completed_text
|
||||||
|
|
||||||
|
|
||||||
def completion_selected(self, text):
|
def completion_selected(self, text):
|
||||||
prefix_len, ctext = self.get_completed_text(text)
|
prefix_len, ctext = self.get_completed_text(text)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user