QCodeEdit blockselection almost works, without copypaste and with bad visual

This commit is contained in:
2020-09-22 20:45:23 +03:00
parent ca020b0319
commit 743b7c8e28
2 changed files with 309 additions and 137 deletions

View File

@@ -147,23 +147,33 @@ private:
QMap<int, ACClass> ac_classes;
QStringList cursor_scope;
ACEntry link_entry, help_entry;
QTextCursor block_start_cursor;
int prev_lc, auto_comp_pl, timer_parse, timer_blink, cur_search_ind, pos_press, pos_el_press;
int cursor_width;
bool spaces_, _ignore_focus_out, _first, _destructor, _replacing;
bool word_complete, help_visible, cursor_state;
bool word_complete, help_visible, cursor_state, block_sel_state;
bool eventFilter(QObject * o, QEvent * e) override;
void showEvent(QShowEvent * ) override;
void timerEvent(QTimerEvent * ) override;
void leaveEvent(QEvent * ) override;
void changeEvent(QEvent * e) override;
bool codeKeyEvent(QKeyEvent * ke);
void highlightBrackets();
void applyExtraSelection();
void clearSearch();
void moveToSearch();
int searchIndFromCursor();
QRect cursorRect(QRect * line = 0);
QRect blockSelectionRect();
void repaintCursor();
void drawCursor();
bool hasBlockSelection() const;
void startBlockSelection();
void cancelBlockSelection();
void switchBlockSelection(QKeyEvent * ke = 0);
bool removeBlockSelection(bool is_del);
void insertBlockSelection(QString text);
ACEntry findEntryOnCursor(QTextCursor tc, int arg = -1, ACClass * acc = 0, QPair<QStringList, QString> * scope = 0);
private slots: