Commit Graph

14309 Commits

Author SHA1 Message Date
Markus Böhme e735bfe7ab Make conversation loading in the history window use named tuples
The logger method get_conversation_for_date has previously been
converted to return a list of named tuples. Now pass these tuples on to
the method that actually inserts the conversation's messages into the
textbuffer. Also rename two related methods in the history window:
  -  _add_lines_for_date => _load_conversation
  -  _add_new_line => _add_message
2017-03-30 21:57:44 +02:00
Markus Böhme 65e926c181 Convert get_conversation_for_date to return named tuples
The get_conversation_for_date method in the logger module returns a
list of bare tuples. Knowledge of how to pack and unpack the many
individual components of the tuples is split between the caller and
the callee, making the method hard to maintain and ugly to use.
Therefore, convert the method to return named tuple instead.
2017-03-30 21:24:31 +02:00
Markus Böhme 08f4e17158 Rename method get_search_results_for_query to search_log 2017-03-30 21:23:03 +02:00
Markus Böhme d612e80a47 Convert get_search_results_for_query to return named tuples
The get_search_results_for_query method in the logger module returns a
list of bare tuples. Knowledge of how to pack and unpack the many
indidual components of the tuples is scattered across both the callers
and the callee, making the method hard to maintain and ugly to use.
Therefore, convert the method to return named tuples instead.
2017-03-30 21:23:03 +02:00
Markus Böhme 167cf02afd Fix typo across codebase (change "tupple" to "tuple") 2017-03-29 10:56:31 +02:00
Markus Böhme 8df8486def Add @unique decorator to all enumerations
Currently, there are no enumerations using the enum module which reuse
values/need aliases. Add the @unique decorator to all enum classes as a
safety net for future modifications.
2017-03-29 10:56:31 +02:00
Philipp Hörist 5cc92efcb6 Drop messages from invalid JIDs silently 2017-03-27 20:35:14 +02:00
Philipp Hörist f11135877c Update Makefile.am 2017-03-27 09:53:16 +02:00
Philipp Hörist 7d204b37c9 Add extension point for hyperlink handling 2017-03-26 21:06:00 +02:00
Philipp Hörist 6b34ea957e Merge branch 'fix-additional_data-loading' into 'master'
Fix loading of additional_data column from log database

See merge request !72
2017-03-25 22:19:29 +01:00
Markus Böhme d9ab39b03f Fix loading of additional_data column from log database
Currently, the additional_data column is not correctly loaded from the
log database in the logger module's methods get_last_conversation_lines
and get_conversation_for_date. While the JSON data in the column is
parsed, the parsed value is not saved, because the code assumes that
changes to a loop variable are reflected in the list that is iterated
over. Instead, the unparsed JSON string is returned. Fix this by building
a separate list with the JSON string replaced by the parsed JSON object.
2017-03-25 18:58:35 +01:00
Philipp Hörist fbb19c5c50 Merge branch 'issue-8548-master' into 'master'
Fix issue #8548 on master: Do not close chat window on ESC key when roster filtering is active

Closes #8548

See merge request !74
2017-03-25 17:23:51 +01:00
Markus Böhme c8e990f85e Do not close chat window on ESC key when roster filtering is active
When the roster window active it can be filtered by starting to type.
If the window behavior "single window for everything" is selected,
trying to abort the filtering by pressing the ESC key also closes a chat
window. Fix this behavior by stopping event propagation in case the ESC
key is pressed while roster filtering is active.

Fixes issue #8548.
2017-03-25 14:24:30 +01:00
Philipp Hörist ba0408855c Fix regression from ad9370af 2017-03-24 23:35:08 +01:00
Philipp Hörist 49a5bb631c Merge branch 'master' into 'master'
Fix Privacy Lists

Closes #8476

See merge request !68
2017-03-14 22:39:42 +01:00
Philipp Hörist 1e33af7053 Fix KeyError when privacy list is received 2017-03-14 22:32:28 +01:00
Philipp Hörist a0a036f3eb Decline active list when going visible
Declining the active list will switch us to the default list
2017-03-14 22:32:05 +01:00
Philipp Hörist 2c23b36ac3 Remove redundant method 2017-03-14 22:31:43 +01:00
Philipp Hörist 9f5c13b5bb Dont set default list active on block
There could be another list active (eg. invisible)
If we block someone while invisible, setting the default list
active would make us visible again
2017-03-14 22:31:23 +01:00
Philipp Hörist 25b933e294 Dont try to set empty privacy default list
This will result in a conflict stanza because an active
default list cant be deleted

Decline the use of default list first, then delete the list
2017-03-14 22:31:07 +01:00
Philipp Hörist 63335357be Use push event to query privacy list after edit 2017-03-14 22:30:52 +01:00
Philipp Hörist 18e29ebc55 Add blocked contacts always to the default list 2017-03-14 22:30:16 +01:00
Philipp Hörist 5377fc82f7 Dont block contacts only partially
This is needed for better interop with XEP-0191.
The Server doesnt deliver a partial blocked contact as blocked
to a XEP-0191 Client.
2017-03-14 22:29:50 +01:00
Philipp Hörist 4966b4bf06 Remove notifications on receiving own sent carbon copies
Notifications for a JID are removed when we see activity
in the form of a sent carbon copie from one of our other devices.

If we receive such carbon copies we can conclude that the message
we received earlier was answered from one of our other devices.
2017-03-14 22:17:48 +01:00
Philipp Hörist 142f2214ea Dont notify on own sent carbon copies 2017-03-14 22:17:16 +01:00
Philipp Hörist 69022ab100 Dont treat MAM results as unread messages
Fixes #8544
2017-03-13 23:21:33 +01:00
Philipp Hörist d874676e53 Merge branch 'sql' into 'master'
Add new Columns to Logs.db

See merge request !66
2017-03-13 21:18:28 +01:00
Philipp Hörist c75c45bc8a Add new Columns to Logs.db 2017-03-13 19:33:16 +01:00
Philipp Hörist 55561b3dd0 Merge branch 'scrolling' into 'master'
Improve Scrolling

See merge request !65
2017-03-11 22:18:37 +01:00
Philipp Hörist 8547d2b4f9 Simplify scrolling in conversation textview 2017-03-11 22:11:02 +01:00
Philipp Hörist 1e06db9fa6 Remove smooth scrolling
GTK3+ does smooth scrolling in ScrolledWindows on its own
2017-03-11 22:11:01 +01:00
Philipp Hörist 3f38ccc3a5 Simplify import and move to the top 2017-03-11 22:11:00 +01:00
Philipp Hörist b7cce4e728 Merge branch 'refactoring' into 'master'
Replace some deprecated methods

See merge request !64
2017-03-11 21:58:12 +01:00
Philipp Hörist 8af80a6189 Dont change mouse cursor on leave event
GTK does this on itself
2017-03-08 19:46:39 +01:00
Philipp Hörist 209154edb2 Refactor showing tooltip in ConversationTextview
the 'query-tooltip' event does essentially the same
as the 'motion-notify-event' but supplys us with coordinates,
which lets us get rid of deprecated get_client_pointer()
2017-03-08 16:14:07 +01:00
Philipp Hörist c61efaa2c5 Replace deprecated Gdk.Cursor.new() 2017-03-07 22:06:44 +01:00
Philipp Hörist 6de3120d43 Refactor showing tooltip in HtmlTextView
The 'query-tooltip' event does essentially the same as the
'motion-notify-event' but supplys us with coordinates,
which lets us get rid of deprecated get_client_pointer()

Add a connect_tooltip() method that allows other classes
that use HtmlTextView to provide their own tooltip method
2017-03-07 22:06:31 +01:00
Philipp Hörist 205f5f3044 Merge branch 'command-system-regressions' into 'master'
Fix various regressions in the command system

See merge request !63
2017-03-07 17:19:11 +01:00
Markus Böhme 0189305495 Fix grep command in chat window
Commit d75ebd95e5 modified the return value of logger.py's method
get_search_results_for_query by appending another component to the
tuple. Because of this unpacking the tuple in the command system's grep
command failed.
2017-03-07 16:48:32 +01:00
Markus Böhme ceb7772b5b Correct some typos in command system comments 2017-03-07 16:46:12 +01:00
Markus Böhme f1ee561b9b Fix broken command system by importing CommandContainer modules
ChatControlBase was split from ChatControl into its own module in commit
80221afc2c. With this split the import of the CommandContainer modules
was removed as well, likely because their members are not referenced
anywhere. However, importing these modules even when they are not used
directly is crucial because the contained CommandContainers are only
registered with the command system when their definitions are evaluated.

Import the modules with CommandContainers in chat_control_base.py to fix
the command system. Also add a comment stating more clearly why the
imports need to be kept around.
2017-03-07 16:46:12 +01:00
Markus Böhme 432ec7ff7d Fix usage of logger constants in command system
The definition of various constants was refactored to use enumerations
in commit 2fbadc91e9. One reference in the command system was not
changed to use the new enum, however.
2017-03-07 16:46:05 +01:00
Philipp Hörist c02260c4d1 Move CSS Code into gajim.css 2017-03-04 09:53:14 +01:00
Philipp Hörist 9bcad9a233 Style GroupChatControl Banner with CSS 2017-03-04 01:24:28 +01:00
Philipp Hörist fc6b50d953 Create CheckButtons with mnemonics 2017-03-04 01:06:38 +01:00
Philipp Hörist a44be8e6b6 Merge branch 'master' into 'master'
CSS Styling

See merge request !62
2017-03-04 00:24:48 +01:00
Philipp Hörist 840cb365e8 Use unicode path for plugins
non-unicode path is marked as deprecated
2017-03-04 00:19:35 +01:00
Philipp Hörist b5c98864ad Add commandline option to show warnings 2017-03-04 00:19:04 +01:00
Philipp Hörist 1b975172d6 Merge branch 'history-highlighting' into 'master'
Highlight all paragraphs of a message in the history window

See merge request !46
2017-03-03 23:45:06 +01:00
Markus Böhme deebe38438 Prevent unnecessary reloading of conversations in the history window
Do not reload the conversation in the history window when the user
selects another search result from the same day. Just clearing the
previous highlighting is enough. This prevents flickering and provides
a much more pleasant user experience.
2017-03-03 17:29:05 +01:00