aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-textedit
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/desktop-utils/lumina-textedit')
-rw-r--r--src-qt5/desktop-utils/lumina-textedit/MainUI.cpp44
-rw-r--r--src-qt5/desktop-utils/lumina-textedit/MainUI.h20
-rw-r--r--src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp1
-rw-r--r--src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.h14
-rw-r--r--src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro2
-rw-r--r--src-qt5/desktop-utils/lumina-textedit/syntax_rules/md.syntax12
6 files changed, 52 insertions, 41 deletions
diff --git a/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp b/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp
index bc08e521..298fedde 100644
--- a/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp
+++ b/src-qt5/desktop-utils/lumina-textedit/MainUI.cpp
@@ -277,7 +277,7 @@ void MainUI::OpenFile(QString file){
edit->document()->setDefaultFont(font);
/*QStringList applicationDirs = LXDG::systemApplicationDirs();*/
if(ui->actionEnable_Spellcheck->isChecked()) {
- QStringList dirs = QString(getenv("XDG_DATA_DIRS")).split(":");
+ /*QStringList dirs = QString(getenv("XDG_DATA_DIRS")).split(":");
foreach(QString dir, dirs) {
if(QDir(dir).exists("hunspell")) {
//Default to US English Dictionary
@@ -285,7 +285,7 @@ void MainUI::OpenFile(QString file){
hunspell = new Hunspell(QString(hunspellPath + "en_US.aff").toLocal8Bit(), QString(hunspellPath + "en_US.dic").toLocal8Bit());
edit->setDictionary(hunspell);
}
- }
+ }*/
}
}
tabWidget->setCurrentWidget(edit);
@@ -413,7 +413,7 @@ void MainUI::ModifyColors(){
}
void MainUI::SetLanguage() {
- QDir dir(hunspellPath);
+ /*QDir dir(hunspellPath);
QStringList files = dir.entryList(QStringList() << "*.dic", QDir::Files);
QStringList items;
int defaultDic = 0;
@@ -431,7 +431,7 @@ void MainUI::SetLanguage() {
hunspell = new Hunspell(QString(hunspellPath+dic+".aff").toLocal8Bit(), QString(hunspellPath+dic+".dic").toLocal8Bit());
- checkSpelling(-1);
+ checkSpelling(-1);*/
}
void MainUI::showPopupWarnings(bool show){
@@ -439,13 +439,13 @@ void MainUI::showPopupWarnings(bool show){
}
void MainUI::enableSpellcheck(bool show){
- qDebug() << "Enabling Spellcheck";
+ /*qDebug() << "Enabling Spellcheck";
settings->setValue("enableSpellcheck",show);
if(currentEditor() != NULL and hunspell == NULL) {
- /*QStringList applicationDirs = LXDG::systemApplicationDirs();*/
+ //QStringList applicationDirs = LXDG::systemApplicationDirs();
hunspell = new Hunspell(QString(hunspellPath + "en_US.aff").toLocal8Bit(), QString(hunspellPath + "en_US.dic").toLocal8Bit());
qDebug() << "Hunspell Created";
- }
+ }*/
}
void MainUI::showToolbar(bool show){
@@ -621,22 +621,30 @@ PlainTextEditor *cur = currentEditor();
}
void MainUI::checkWord(QTextBlock block) {
- PlainTextEditor *cur = currentEditor();
+ /*PlainTextEditor *cur = currentEditor();
if(cur==0){ return; }
+ if(block.text().simplified().isEmpty()){ return; }
foreach(Word *word, wordList) {
- if(word->blockNum == block.blockNumber())
+ if(word->blockNum == block.blockNumber()){
+ qDebug() << "Remove Word";
wordList.removeOne(word);
+ }
}
QStringList words = block.text().split(QRegExp("\\W+"));
+ qDebug() << "Got Words:" << words;
QTextCursor cursor(block);
foreach(QString word, words) {
+ qDebug() << "Check Word:" << word;
if(!hunspell->spell(word.toStdString())) {
- QList<QString> suggestions;
- foreach(std::string newWord, hunspell->suggest(word.toStdString()))
+ qDebug() << "Not a word";
+ QStringList suggestions;
+ foreach(std::string newWord, hunspell->suggest(word.toStdString())){
suggestions.append(QString::fromStdString(newWord));
+ }
+ qDebug() << "Got Suggestions:" << suggestions;
QTextEdit::ExtraSelection sel;
sel.format.setBackground(QColor("Red"));
sel.cursor = cur->document()->find(word, cursor.position());
@@ -644,27 +652,31 @@ void MainUI::checkWord(QTextBlock block) {
wordList.append(wordC);
}
cursor.movePosition(QTextCursor::NextWord, QTextCursor::MoveAnchor);
- }
+ }*/
}
void MainUI::checkSpelling(int bpos, int epos) {
- //qDebug() << "Checking spelling on";
+ qDebug() << "Checking spelling on" << bpos << epos;
PlainTextEditor *cur = currentEditor();
if(cur==0){ return; }
static int numBlocks = cur->blockCount();
-
- if(bpos == -1 or numBlocks != cur->blockCount()) { //When opening a file or loading a new dictionary
- for(QTextBlock block = cur->document()->begin(); block != cur->document()->end(); block = block.next())
+ //qDebug() << " - numblocks:" << numBlocks;
+ if(bpos == -1 || numBlocks != cur->blockCount()) { //When opening a file or loading a new dictionary
+ for(QTextBlock block = cur->document()->begin(); block != cur->document()->end(); block = block.next()){
+ //qDebug() << " - Check Block:" << block.text();
checkWord(block);
+ }
numBlocks = cur->blockCount();
}else if(epos == -1){ //Normal checking of one block from typing
QTextBlock block = cur->document()->findBlock(bpos);
+ //qDebug() << " - Check Block:" << block.text();
checkWord(block);
}else { //Check blocks after copy/paste
for(QTextBlock block = cur->document()->findBlock(0); block != cur->document()->findBlock(epos); block = block.next()) {
checkWord(block);
}
}
+ //qDebug() << " - set Word List:" << wordList;
cur->setWordList(wordList);
}
diff --git a/src-qt5/desktop-utils/lumina-textedit/MainUI.h b/src-qt5/desktop-utils/lumina-textedit/MainUI.h
index 90222cb3..38a742dd 100644
--- a/src-qt5/desktop-utils/lumina-textedit/MainUI.h
+++ b/src-qt5/desktop-utils/lumina-textedit/MainUI.h
@@ -21,7 +21,7 @@
#include "DnDTabBar.h"
#include "Word.h"
-#include <hunspell/hunspell.hxx>
+//#include <hunspell/hunspell.hxx>
namespace Ui{
class MainUI;
@@ -46,16 +46,16 @@ private:
QShortcut *closeFindS, *nextTabS, *prevTabS;
QSpinBox *fontSizes;
QAction *label_readonly;
- Hunspell *hunspell;
- QList<Word*> wordList;
- QString hunspellPath;
+ //Hunspell *hunspell;
+ QList<Word*> wordList;
+ QString hunspellPath;
//Simplification functions
PlainTextEditor* currentEditor();
- QString currentFile();
+ QString currentFile();
QString currentFileDir();
QStringList unsavedFiles();
- void checkWord(QTextBlock);
+ void checkWord(QTextBlock);
private slots:
//Main Actions
@@ -70,8 +70,8 @@ private slots:
void updateStatusTip();
void changeFontSize(int newFontSize);
void changeTabsLocation(QAction*);
- void checkSpelling(int bpos, int epos = -1);
- void SetLanguage();
+ void checkSpelling(int bpos, int epos = -1);
+ void SetLanguage();
//Other Menu Actions
void UpdateHighlighting(QAction *act = 0);
@@ -88,8 +88,8 @@ private slots:
void tabClosed(int);
void tabDetached(int);
void tabDraggedOut(int, Qt::DropAction);
- void nextTab();
- void prevTab();
+ void nextTab();
+ void prevTab();
//Find/Replace functions
void closeFindReplace();
diff --git a/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp b/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp
index d1f29974..07b99f27 100644
--- a/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp
+++ b/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.cpp
@@ -291,7 +291,6 @@ void PlainTextEditor::LNW_updateWidth(){
void PlainTextEditor::LNW_highlightLine(){
QList<QTextEdit::ExtraSelection> sels;
-
foreach(Word *word, wordList) { sels.append(word->sel); };
if(this->isReadOnly()){ return; }
QColor highC = QColor(0,0,0,50); //just darken the line a bit
diff --git a/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.h b/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.h
index 8ca8037d..8f174d4b 100644
--- a/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.h
+++ b/src-qt5/desktop-utils/lumina-textedit/PlainTextEditor.h
@@ -13,7 +13,7 @@
#include <QPaintEvent>
#include <QFileSystemWatcher>
-#include <hunspell/hunspell.hxx>
+//#include <hunspell/hunspell.hxx>
#include "syntaxSupport.h"
#include "Word.h"
@@ -34,7 +34,7 @@ public:
void LoadFile(QString filepath);
bool SaveFile(bool newname = false);
QString currentFile();
- Word *wordAtPosition(int, int);
+ Word *wordAtPosition(int, int);
bool hasChange();
bool readOnlyFile();
@@ -43,10 +43,10 @@ public:
int LNWWidth(); //replacing the LNW size hint detection
void paintLNW(QPaintEvent *ev); //forwarded from the LNW paint event
void updateLNW();
- void setWordList(QList<Word*> _wordList) { wordList = _wordList; }
- void setDictionary(Hunspell *_hunspell) { hunspell = _hunspell; }
+ void setWordList(QList<Word*> _wordList) { wordList = _wordList; }
+ //void setDictionary(Hunspell *_hunspell) { hunspell = _hunspell; }
- QFontMetrics *metrics;
+ QFontMetrics *metrics;
private:
QWidget *LNW; //Line Number Widget
@@ -54,10 +54,10 @@ private:
QSettings *settings;
QString lastSaveContents;
QFileSystemWatcher *watcher;
- QList<Word*> wordList;
+ QList<Word*> wordList;
//Syntax Highlighting class
Custom_Syntax *SYNTAX;
- Hunspell *hunspell;
+ //Hunspell *hunspell;
//Bracket/Perentheses matching functions
int matchleft, matchright; //positions within the document
diff --git a/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro b/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro
index 5ebbd9d0..a69fc0c2 100644
--- a/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro
+++ b/src-qt5/desktop-utils/lumina-textedit/lumina-textedit.pro
@@ -27,7 +27,7 @@ SOURCES += main.cpp \
FORMS += MainUI.ui \
ColorDialog.ui
-LIBS += -lhunspell-1.6
+#LIBS += -lhunspell-1.6
TRANSLATIONS = i18n/l-te_af.ts \
i18n/l-te_ar.ts \
diff --git a/src-qt5/desktop-utils/lumina-textedit/syntax_rules/md.syntax b/src-qt5/desktop-utils/lumina-textedit/syntax_rules/md.syntax
index 3cd0a7b6..a8e740a0 100644
--- a/src-qt5/desktop-utils/lumina-textedit/syntax_rules/md.syntax
+++ b/src-qt5/desktop-utils/lumina-textedit/syntax_rules/md.syntax
@@ -22,39 +22,39 @@
},
{
"name": "bold and italic",
- "regex" : "[\\*]{3}(?!\\s)[^\\*\\_]+(?!\\s)[\\*]{3}",
+ "regex" : "(\\s|^)[[\\*]{3}(?!\\s)[^\\*\\_]+(?!\\s)[\\*]{3}(\\s|$)",
"foreground": "colors/altkeyword",
"font_weight" : "bold",
"font_style" : "italic"
},
{
"name": "bold",
- "regex" : "[\\*]{2}(?!\\s)[^\\*\\_]+(?!\\s)[\\*]{2}",
+ "regex" : "(\\s|^)[\\*]{2}(?!\\s)[^\\*\\_]+(?!\\s)[\\*]{2}(\\s|$)",
"foreground": "colors/altkeyword",
"font_weight" : "bold"
},
{
"name": "italic",
- "regex" : "[\\*](?!\\s){1}[^\\*\\_]+(?!\\s)[\\*]{1}",
+ "regex" : "(\\s|^)[\\*](?!\\s){1}[^\\*\\_]+(?!\\s)[\\*]{1}(\\s|$)",
"foreground": "colors/altkeyword",
"font_style" : "italic"
},
{
"name": "bold and italic",
- "regex" : "[_]{3}(?!\\s)[^\\*\\_]+(?!\\s)[_]{3}",
+ "regex" : "(\\s|^)[_]{3}(?!\\s)[^\\*\\_]+(?!\\s)[_]{3}(\\s|$)",
"foreground": "colors/altkeyword",
"font_weight" : "bold",
"font_style" : "italic"
},
{
"name": "bold",
- "regex" : "[_]{2}(?!\\s)[^\\*\\_]+(?!\\s)[_]{2}",
+ "regex" : "(\\s|^)[_]{2}(?!\\s)[^\\*\\_]+(?!\\s)[_]{2}(\\s|$)",
"foreground": "colors/altkeyword",
"font_weight" : "bold"
},
{
"name": "italic",
- "regex" : "[_]{1}(?!\\s)[^\\*\\_]+(?!\\s)[_]{1}",
+ "regex" : "(\\s|^)[_]{1}(?!\\s)[^\\*\\_]+(?!\\s)[_]{1}(\\s|$)",
"foreground": "colors/altkeyword",
"font_style" : "italic"
},
bgstack15