1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

408 Commits

Author SHA1 Message Date
Anthony Bilinski
5dc4e6de81
chore(legal): update copyright date to 2018 for all source files 2018-04-25 17:33:38 -07:00
Anthony Bilinski
e564b85e3c
fix(chatform): Broaden URL matching to include unicode
Fix #4853
Fix #4295

*Instead of searching strictly valid URIs, allow anything characters following scheme. This allows for UTF-8 characters used in other languages, as well as parentheses and other ASCII characters. This will over-match some invalid URLs.
*Ignored surrounding characters of URIs and ending punctuation
*Fix www-only links by adding http scheme to href
2018-02-25 01:48:25 -08:00
TriKriSta
7718734c9a feat: add search in text in group chats 2018-02-11 23:09:13 +02:00
TriKriSta
de9c906117 feat: edit load history for search 2018-02-10 17:56:16 +02:00
TriKriSta
b881d32d1b feat: add text search 2018-02-10 17:56:16 +02:00
Diadlo
c640007775
perf(smileys): Use shared_ptr to automaticaly count references 2017-11-13 14:46:37 +03:00
noavarice
3ae1e2a25b
refactor: simplified applMarkdown() 2017-11-03 21:00:10 +03:00
noavarice
de108ce834
refactor: allow newline|space to appear after multiline code seq
Also added tests
2017-11-03 21:00:09 +03:00
noavarice
6ffe4cd8d8
fix: URL patterns based on RFC 3986
Also added const's and changed way of REGEX_TO_WRAPPER' initialization
2017-11-03 21:00:09 +03:00
noavarice
7b74cc5019
refactor: added separate regex for single slash and minor change
Also added lazy evaluator operator for single, double sign regex
and regex for multiline code for performance reason. Added missing
QStringLiteral
2017-11-03 21:00:08 +03:00
noavarice
d48a479a39
refactor: applyMarkdown() function logic is more rigorous
Brief list of changes:
  - changed way of getting count of formatting symbols for captured
    string: patternSignsCount() function replaced with constant index
    which points to regex group that captures formatting symbols.
    Regexes updated accordingly;
  - updated docs for applyMarkdown() function;
  - applyMarkdown() function refactored:
    * changed var names;
    * logic is more strict: get captured string -> crop formatting symbols
      if necessary -> wrap captured string into HTML and replace in result.
2017-11-03 21:00:08 +03:00
noavarice
5e5352c268
refactor: changed markdown regexes and related constants
Brief list of changes:
  - removed several headers;
  - added single array of pairs for direct mapping regexes to HTML
    wrapper strings;
  - COMMON_PATTERN splitted into two regexes;
  - wrapper for hrefs is a single constant.
2017-11-03 21:00:08 +03:00
noavarice
1ac21c07db
refactor: replace TextFormatter class with function
Brief list of changes:
  - removed TextFormatter class and its unnecessary instantiation;
  - added single method for applying markdown.
2017-11-03 21:00:08 +03:00
noavarice
e9209b06f9
refactor: independent URL highlighting
Brief list of changes:
  - removed workarounds while applying markdown;
  - URL highlighting now is independent for markdown support;
  - URL patterns reverted to the state they were before.
2017-11-03 21:00:01 +03:00
sudden6
1dce8f6468
refactor(core): rename corestructs to toxfile.cpp
It only contains this struct now.
2017-10-31 09:32:53 +01:00
anthony.bilinski
45b3575d79 fix(preview): only downscale preview images, never upscale
Fixes #4733
2017-10-20 12:01:34 -07:00
anthony.bilinski
414fa178b4 feat(exif): Honour exif orientation tag
Fixes #1848
2017-09-19 10:00:05 -07:00
Andrew Morgan
42a9534b24
fix(ui): Use native file picker dialog
The original reason that the Qt picker was used instead of the native
picker was that the native option would cause Nautilus/GNOME-based
pickers to hang.

This turned out to be due with a Qt bug with parenting Gtk windows. As a
result the parent of each file dialog window has been set to NULL,
eliminating the crash. As far as tests have shown, this produces no
adverse effects on either floating or tiling wms.

Fixes #3494
2017-07-06 06:40:33 -07:00
sudden6
a3b234e6dd
chore(formatting): run clang-format 2017-06-01 09:50:59 +02:00
sudden6
a1181e10f2
chore(formatting): disable clang-format for certain code sections 2017-06-01 09:49:32 +02:00
Zatsepin Nikita
41a781d3f8 fix(chatform): add space for current copy link 2017-05-29 00:14:23 +03:00
sudden6
0f54e44262
Merge pull request #4305
ezavod (1):
      feat(chatform): mark message with triple click
2017-04-07 18:40:07 +02:00
Zetok Zalbavar
c8ed535bba
fix(UI): improve unclear message about text being resized in chatform 2017-04-02 18:41:43 +01:00
ezavod
3acbc148f5 feat(chatform): mark message with triple click
This is an implementation of proposal #4003.
2017-03-28 17:20:01 +02:00
sudden6
e9515f4898
fix: remove useless line that caused a warning 2017-03-23 13:36:29 +01:00
noavarice
08208e9aa5 fix: fixed wrong formatting for multiple URL's in one message
Fix #4275
I did not consider that replacing one substring with another will point
to shifting position of next URL found with regexp. That's the behavior
of Qt's "QRegularExpression" class - it takes a string into constructor
and seems to make its copy inside so changing source string does not
affect this regex object
2017-03-22 14:23:57 +03:00
sudden6
f0cec44a8c
fix: silence various warnings 2017-03-20 22:21:38 +01:00
noavarice
18c3f3a217 fix: URL's are not affected by markdown
Fix #4242
Just running in a loop through all of markdown symbols in found URL's,
replacing them with their associated HTML character code before the code
formatting to avoid any chance of interception
2017-03-12 23:14:44 +03:00
Diadlo
d1ec8cc989
Merge pull request #4239
ezavod (1):
      fix: iterate all blocks
2017-03-12 14:53:46 +03:00
ezavod
7a5c5a86fd fix: iterate all blocks
refactor: block iteration loop

refactor: replaced checks with chop()
2017-03-12 11:20:14 +01:00
sudden6
bf0e6817af
refactor: correct indentation in filetransferwidget.cpp 2017-03-08 17:49:37 +01:00
noavarice
e8ed7e1f53 fix: fixed documentation mistake 2017-03-07 15:34:52 +03:00
noavarice
3e2bfdd548 refactor: further improvement of message formatting
Brief list of changes:
-  names of some variables and constants were replaced for reading
   convenience;
-  URL-highlighting method moved to TextFormatter so URL's don't
   conflict with italic text formatting;
-  as I understand, in previous version 'file://' URL does not work
   because of bad regex. I fix this with help of wiki page that
   referenced in comment for old code. Important note: there are two
   equal 'file://' URL syntax: 'file:///...' and 'file://localhost/...'
   and the second one does NOT work in KDE but works in Gnome so that's
   not a bug
Fix #4233
2017-03-06 11:55:54 +03:00
Jimi Huotari
9322f29ef4 feat(UI): Move filetransferwidget buttons side-by-side.
This aims to prevent accidental clicks on the incorrect button in
cases where the chatlog moves at the time of the click.

Closes #2597.
2017-03-01 23:44:49 +02:00
Zetok Zalbavar
80f5de31b3
style: reformat current C++ codebase using clang-format 2017-02-26 11:52:45 +00:00
noavarice
87f219a78f refactor: message text formatting works better now
- tag intersection detected
- variables and constants' names became shorter
2017-02-19 23:53:11 +03:00
noavarice
5047a65e11 refactor: improved HTML-formatting mechanism for text messages
Added class provides text font formatting with HTML font tags
Supported stuff:
  - nested formatting;
  - several text pieces formatted with the same formatting style at the
    one message;
  - styling applies only if non-whitespace symbol follows opening
    formatting symbol and also non-whitespace symbol preceds closing
    symbol;
  - only multiline code font formatting supports new line inside of
    message text.
Also fix #3804
2017-02-19 10:06:26 +03:00
sudden6
d320b1f259
Merge pull request #4137
Yuri (1):
      fix(font): Made font changes in settings apply on screen instantly.
2017-02-06 15:18:14 +01:00
Yuri
742583bb9e fix(font): Made font changes in settings apply on screen instantly.
Before the user had to restart qTox for the font change to take effect.
Now it changes instantly.
2017-02-05 21:49:30 -08:00
Yuri
a18e0b6a2c fix(clipboard): Made clipboard operations work the same on all OSes.
Qt should handle all OS differences, not individual apps.
2017-02-02 20:18:26 -08:00
Diadlo
fcd8eed7cd
style: Fix style of a lot of pointers 2017-01-06 23:03:58 +03:00
Zetok Zalbavar
d4ac13dbf4
revert: "refactor: Added to include path and exclude it from all includes"
Revert needed, since otherwise there is no way to do automatic sorting
of includes.
Also reverted change to the docs, as leaving it would make incorrect
docs.

In case of conflicts, includes were sorted according to the coding
standards from #3839.

This reverts commit b4a9f04f92.
This reverts commit 5921122960.
2016-12-29 16:10:53 +00:00
tux3
a7de2680d9
feat(UI): Add 'Copy link' context menu item
Fixes #927
2016-12-07 13:54:40 +01:00
Zetok Zalbavar
7b60a5dd36
chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
Diadlo
b4a9f04f92
refactor: Added to include path and exclude it from all includes 2016-11-28 23:28:42 +03:00
Diadlo
f7899d7b50
fix(UI): Changed tab order to be same with visual order 2016-11-16 23:36:52 +03:00
sudden6
8ff0d28abf
fix(chatlog): silence warning about unused parameters 2016-11-11 00:12:07 +01:00
Zetok Zalbavar
64bbc6cfbb
style: change postfix increment to prefix increment 2016-11-03 07:57:14 +00:00
sudden6
febde259bc
Merge pull request #3738
iphydf (1):
      refactor: Avoid RTTI by using qobject_cast.
2016-09-24 12:06:41 +02:00
iphydf
d94712b2e2
refactor: Avoid RTTI by using qobject_cast.
This allows us to save some memory and executable size by removing the
need to generate and compile C++ RTTI.
2016-09-23 03:14:58 +01:00
Diadlo
c3bf4b7085
refactor(text): Add early break 2016-09-21 14:13:38 +03:00
Diadlo
c8512fa984
fix(text): Change idealSize calculation
Ideal size of doc can not be used because in the case of using it for
boundingRect (which uses 0,0 as the upper-left corner) leads to the
clipping right side of RTL languages.

Fixed #1887.
2016-09-21 14:08:28 +03:00
Diadlo
72780e6c7a
docs(todo): Changed todo format 2016-08-19 00:20:24 +03:00
Diadlo
1332abed11
docs(chatlog): Added leading stars 2016-08-19 00:20:23 +03:00
Nils Fenner
f00b9008e6
feat(settings): add notification signals for changed settings values
Makes changes to settings application wide transparent. The properties section is optional in theory, but comes in very handy, if we decide to access settings e.g. from within a script context.
2016-08-14 18:08:24 +02:00
sudden6
349a1ffb02
Merge pull request #3563
Diadlo (2):
      refactor(filetransferwidget): Added ability to check activity
      fix(chatlog): Don't delete active transfer widget
2016-08-01 22:08:48 +02:00
Diadlo
f7018c42c9
fix(text): Using modified text, instead of raw
Fix #3568.
2016-07-31 13:38:51 +03:00
Diadlo
abf7b42324
fix(chatlog): Don't delete active transfer widget
Fix #3275.
2016-07-31 11:44:21 +03:00
Diadlo
233cc412ac
refactor(filetransferwidget): Added ability to check activity 2016-07-31 11:20:57 +03:00
Diadlo
394c4bcc99
docs(chatlog): Change comment style 2016-07-27 01:23:31 +03:00
Diadlo
20d3225f29
style(chatlog, persistence): Style fixes 2016-07-13 01:54:37 +03:00
Nils Fenner
b7f65ffe28
refactor(chat): fix type conversion warnings 2016-07-12 10:26:25 +02:00
Nils Fenner
b204d0abad
refactor(chat): cleanup document cache 2016-07-12 10:26:25 +02:00
Nils Fenner
b99a9e494a
refactor(chat): cleanup elided text 2016-07-12 10:26:25 +02:00
sudden6
939c97a0e9
Merge pull request #3441
Andrew Morgan (1):
      feat(textstyle): Change markdown syntax to be more intuitive
2016-07-11 21:52:58 +02:00
Nils Fenner
989b15e656 fix(chat): cleanup chat css base style
fix chat area's inner stylesheet
note: the base font is never a bold font (respects html tags: e.g. <b>bold text</b>)

fix block colors:
* action -> blue
* alert -> red
* quote -> green
2016-07-10 13:43:50 +02:00
Andrew Morgan
32e48a979c
feat(textstyle): Change markdown syntax to be more intuitive
BREAKING CHANGE: Current markdown syntax is unintuitive, and thus we have agreed on switching to @SkyzohKey's implementation. Replaces all instances of Markdown with Text Styling. Closes #3404.
2016-07-07 20:07:22 -07:00
Andrew Morgan
881409b91f
fix(profile): Fix for opening file dialog using Nautilus file manager
Importing a profile, saving a QR code image or setting an auto-accept directory using Nautilus as the default file manager, which many users use, was causing a hang in Qt's  method. Setting Qt to use it's own file manager in this circumstance fixes the issue. Closes #3436, closes #3443.
2016-07-02 15:17:02 -07:00
Nils Fenner
67136e29ed
feat(chat): consistent use of the chat font settings
Note: Currently a CSS stylesheet has to be set, resembling the font settings for the HTML document, that is used to render chat messages.
2016-06-30 20:24:00 +02:00
Andrew Morgan
fca5f15532 fix(markdown): Remove spaces from markdown translation
Spaces were being inserted before and after markdown translated code which could potentially change intended meaning and/or presentation of the user's message. I believe these were necessary for dealing with an earlier bug but from my testing they are no longer needed.
2016-06-25 01:59:11 -07:00
tux3
998f0915db
fix(chatform): Markdown after emojis
Fix #3260
2016-05-09 22:07:21 +02:00
Polshakov Dmitry
343568339f
style(constructors): Constructors are explicit now 2016-04-20 22:53:27 +03:00
Diadlo
446626dabe
refactor(chatmessage): Delete duplicate enum MarkdownType 2016-04-20 13:17:19 +03:00
Vincas Dargis
32d588a499 fix(file transfer widget): QPushButton allows image to overflow
Introduced in 857dfbcd4c

Regression was due to fact that QPushButton allows icon to overflow.
This patch does:
1. Scale and crop icon to fit into button.
2. Avoid upscaling small images.
3. Refactor FileTransferWidget::showPreview() to load image from file
   only once.

Closes #3042
2016-04-17 12:45:39 +03:00
Zetok Zalbavar
8fa40d5c4f
Merge pull request #3118
Also "fix" the problem with not signed sudden6's commit.

PKEv (1):
      feat(chatform): add support for non-local file and samba share links
2016-04-14 05:36:07 +01:00
PKEv
47764c0397 feat(chatform): add support for non-local file and samba share links
E.g. links like "file://192.168.1.1/" and "smb://localnode/" are now
supported. Before only links to local files were supported, e.g.
"file:///local/file.txt"
2016-04-14 00:56:21 +03:00
Zetok Zalbavar
48f3fb7dcb
fix(chatform): regression in detecting tox: type IDs
Introduced in d343408749 / #3044.
2016-04-03 13:28:21 +01:00
Zetok Zalbavar
dde56c99ec
Merge pull request #3077
Closes #3075.

Andrew Morgan (1):
      Prevent regex capture from extended past line boundaries.
2016-04-03 13:24:51 +01:00
Andrew Morgan
2a8071da29 Prevent regex capture from extended past line boundaries. 2016-03-29 14:11:35 -04:00
sudden6
0f0113e72f
Merge pull request #2994
Chiitoo (1):
      Chatlog: Adjust whitespace behaviour/handling.
2016-03-26 10:56:27 +01:00
Andrew Morgan
d343408749 Removed uneccessary for loop in markdown and url parsing. 2016-03-23 19:39:10 -04:00
Zetok Zalbavar
66f96019cb
fix: remove unnecessary qDebug call
qTox logs shouldn't contain any info that might include even parts of
user messages/etc.
2016-03-22 10:54:59 +00:00
Andrew Morgan
04ae894fc2 Fixed HTML chars breaking recognition. 2016-03-21 22:31:23 -04:00
Andrew Morgan
68cad0db38 Added codeblock support with ` char.
Parse markdown even if manual newline is added before or after markdown'd text. Ex: Check out my\n*skills*.

Removed extraneous debugging.

Fixed some characters accidently parsing markdown formatting, such as **vv**'

Use enum instead of magic number to check md setting.
2016-03-21 18:41:48 -04:00
tux3
c3caba2e3f
Merge branch 'pr2832'
Markdown support!
2016-03-12 01:34:44 +01:00
Chiitoo
7b8e947acd Chatlog: Adjust whitespace behaviour/handling.
Allow for strings of whitespace characters to be displayed in chat
messages without them being truncated.

Original work by TheSpiritXIII.
2016-03-08 22:19:47 +02:00
Vincas Dargis
857dfbcd4c Open downloaded image with mouse click on thumbnail 2016-02-14 17:20:11 +02:00
Andrew Morgan
0120cfb9fe Fix merge issues 2016-01-30 21:46:19 -08:00
Andrew Morgan
db84074926 Markdown Preference now uses enumeration type instead of integer. 2016-01-30 21:43:58 -08:00
Andrew Morgan
4c51be9a6b Changed rules to keep in line with actual markdown. Although Tox is marketed somewhat as a Skype-replacement, that doesn't mean we have to break compatibility with the rest of the web. 2016-01-29 15:17:41 -08:00
Andrew Morgan
a809897850 Removed leftover debug logging. 2016-01-28 16:57:34 -08:00
Andrew Morgan
a5f9e77a6b Changed asterisk rule to bold instead of italics. Fixed extraneous container in settings. 2016-01-28 15:30:24 -08:00
Andrew Morgan
fd31dd816d Added space detection for markdown #imdeadinside 2016-01-28 15:30:15 -08:00
Andrew Morgan
e15315b618 Added markdown preference chooser to settings which chat abides by.
Don't parse md if only one character is involved.
Prevent things like ~3~ being caught
2016-01-28 15:18:32 -08:00
tux3
e93c350621
Fix margins of file transfer widget
Fixes #1180
2016-01-21 17:11:37 +01:00
tux3
5693d3ee86
Revert "2x faster Text::regenerate"
This reverts commit 24bccb7bdd.
2016-01-21 15:44:38 +01:00
Andrew Morgan
4a1da7099f Added markdown support. Underline, Italics, Strikethrough and Bold supported. 2016-01-21 02:50:51 -08:00
tux3
24bccb7bdd
2x faster Text::regenerate
Hopefully without breaking anything substantial
2016-01-21 07:13:10 +01:00
tux3
f0e29a1d46
Fix #1180: Oversized file transfer bubbles 2016-01-21 05:19:30 +01:00
tux3
c576a1485a
Scan-build cleanup 2016-01-16 02:24:13 +01:00