diff --git a/GUI/mainwindow.cpp b/GUI/mainwindow.cpp index 73e1da5..8180be9 100644 --- a/GUI/mainwindow.cpp +++ b/GUI/mainwindow.cpp @@ -65,6 +65,7 @@ extern const char* FLUSH_DELAY; extern const char* FLUSH_DELAY_SPACING; extern const char* MAX_BUFFER_SIZE; extern const char* MAX_HISTORY_SIZE; +extern const char* LIMIT_STRING_LENGTH; extern const char* CONFIG_JP_LOCALE; extern const wchar_t* ABOUT; extern const wchar_t* CL_OPTIONS; @@ -508,6 +509,7 @@ namespace { TextThread::maxBufferSize, MAX_BUFFER_SIZE }, { TextThread::flushDelay, FLUSH_DELAY }, { TextThread::maxHistorySize, MAX_HISTORY_SIZE }, + { TextThread::limitStringLength, LIMIT_STRING_LENGTH }, { Host::defaultCodepage, DEFAULT_CODEPAGE }, }) { @@ -672,6 +674,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) TextThread::flushDelay = settings.value(FLUSH_DELAY, TextThread::flushDelay).toInt(); TextThread::maxBufferSize = settings.value(MAX_BUFFER_SIZE, TextThread::maxBufferSize).toInt(); TextThread::maxHistorySize = settings.value(MAX_HISTORY_SIZE, TextThread::maxHistorySize).toInt(); + TextThread::limitStringLength = settings.value(LIMIT_STRING_LENGTH, TextThread::limitStringLength).toInt(); Host::defaultCodepage = settings.value(DEFAULT_CODEPAGE, Host::defaultCodepage).toInt(); Host::Start(ProcessConnected, ProcessDisconnected, ThreadAdded, ThreadRemoved, SentenceReceived); diff --git a/host/textthread.cpp b/host/textthread.cpp index 1daec3a..72de92d 100644 --- a/host/textthread.cpp +++ b/host/textthread.cpp @@ -113,7 +113,8 @@ void TextThread::Flush() if (buffer.empty()) return; if (buffer.size() > maxBufferSize || GetTickCount64() - lastPushTime > flushDelay) { - AddSentence(std::move(buffer)); + if (limitStringLength==0 || buffer.length() name = {}); diff --git a/text.cpp b/text.cpp index 72ec5a3..aeb0396 100644 --- a/text.cpp +++ b/text.cpp @@ -95,6 +95,7 @@ const char* FLUSH_DELAY = u8"Flush delay"; const char* FLUSH_DELAY_SPACING = u8"Flush delay string spacing"; const char* MAX_BUFFER_SIZE = u8"Max buffer size"; const char* MAX_HISTORY_SIZE = u8"Max history size"; +const char* LIMIT_STRING_LENGTH = u8"Limit string length (0=Off)"; const char* CONFIG_JP_LOCALE = u8"Launch with JP locale"; const wchar_t* CONSOLE = L"Console"; const wchar_t* CLIPBOARD = L"Clipboard"; @@ -862,6 +863,7 @@ Per rimuovere un estenzione, selezionala e premi rimuovi)"; FLUSH_DELAY_SPACING = u8"Spazia ritardo flush string"; MAX_BUFFER_SIZE = u8"Massima dimensione buffer"; MAX_HISTORY_SIZE = u8"Massima dimensione cronologia"; + LIMIT_STRING_LENGTH = u8"Limita lunghezza stringa (0=Off)"; CONFIG_JP_LOCALE = u8"Avvia con il JP locale"; CONSOLE = L"Console"; CLIPBOARD = L"Appunti";