Commit Graph

11330 Commits

Author SHA1 Message Date
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
Philipp Hörist 0abb26ae36 Dont use depracted override_font() 2017-03-03 00:11:23 +01:00
Philipp Hörist 9ecabd561e Dont use depracted override_color() 2017-03-03 00:00:22 +01:00
Philipp Hörist e00341e83e Dont use depracted override_background_color() 2017-03-02 23:58:21 +01:00
Philipp Hörist 516a18eb5d Add CSS Provider and convert config values to css 2017-03-02 23:57:05 +01:00
Markus Böhme d75ebd95e5 Rework message highlighting in the history window to not use timestamps
Search results in the history window to are scrolled to and highlighted
once the user clicks on one of them. Messages are searched by text in
the log database, but then looked up in the history text buffer via a
visible or invisible timestamp obtained from the database record.

Timestamps in the history text buffer, depending on user configuration,
may only have a coarse granularity. Philipp Hörist discovered that this
may lead to the highlighting of the wrong line in the history text view
and proposed an alternative solution that is implemented in this patch.

Timestamps are abolished as a means of searching messages. Instead, add
a mark with the unique message id (log line id) at the start of every
message in the history text buffer when the conversation is loaded.
After fetching the search results from the database this id can be used
to unambiguously find the corresponding message in the history text
buffer.
2017-03-02 23:55:18 +01:00
Philipp Hörist 8157cb38ec Fix verbose logging 2017-03-01 16:33:09 +01:00
Philipp Hörist 54502446a3 Lookup action in correct window Fixes #8560 2017-02-28 16:49:01 +01:00
Philipp Hörist 8a1a326bae Add extension point in plugins window 2017-02-25 19:21:21 +01:00
Philipp Hörist ddf60b01b3 Parse log arguments earlier 2017-02-25 17:21:03 +01:00
Philipp Hörist 5c11e240b1 Reload plugins if already loaded 2017-02-23 17:57:11 +01:00
Philipp Hörist 8e8605615f Add scanning single plugins 2017-02-23 17:56:19 +01:00
Markus Böhme 665898864f Remove dead code in logger.py method get_search_results_for_query
The method get_search_results_for_query provides a means to search via a
passed in SQL query. This feature has been unused and dead since its initial
commit back in 2005 (commit e542fff69f), so just remove it.
2017-02-22 14:55:44 +01:00
Markus Böhme 65c6a1e7e5 Remove unnecessary code in message highlighting in the history window
The message to be highlighted is searched via an already formatted
timestamp, and the match contains the whole timestamp with any
preceding characters (like "["). Therefore, calling backward_char on
the start iterator of the match just goes back to the previous line
and is not needed.
2017-02-22 12:56:31 +01:00
Markus Böhme d9a2251582 Highlight all paragraphs of a search result in the history window
A single message may span multiple paragraphs. Highlight all paragraphs
of a search result because a keyword could be in any of them.

Every message already has the 'eol' tag on its newline character.
Highlight from the start of a search match up to the next 'eol' tag.
2017-02-22 12:56:31 +01:00
Markus Böhme 2e026335de Simplify appending new line in history window
ConversationTextview provides an abstraction for adding text with tags.
Use it instead of directly accessing its backing text buffer.
2017-02-22 12:56:31 +01:00
Philipp Hörist a606d0ed7d Activate PluginInstaller in plugin window init 2017-02-19 18:13:10 +01:00
Philipp Hörist dd3a2f3abc Fix endless loop in various CellRenderers
context.get_background_color() first calls the CellRenderer to render
the cell before giving back the color.

When we call this inside a CellRenderer, this is an endless loop
2017-02-19 18:07:06 +01:00
Philipp Hörist 4a7e54347c Merge branch 'appmenu' into 'master'
Port application menu to GMenu

See merge request !52
2017-02-13 00:52:53 +01:00
Philipp Hörist 09f54f97d0 Use platform identifier with better granularity
Fixes #8542
2017-02-12 19:09:49 +01:00
Philipp Hörist 50514393f5 Fix key error on removing account 2017-02-12 19:09:48 +01:00
Philipp Hörist d24bed12ce Dont try to select iter if there is none 2017-02-12 19:09:48 +01:00
Philipp Hörist 6f8452667d Port application menu to GMenu 2017-02-12 18:17:27 +01:00
Philipp Hörist 2a599d1e89 Fix constants usage in history manager 2017-02-12 16:45:56 +01:00
Philipp Hörist aaef09fc54 Remove old gtk2 code 2017-02-12 16:45:56 +01:00
Philipp Hörist 7814f07bd3 Merge branch 'master' into 'master'
Refactor Gajim startup

See merge request !56
2017-02-11 23:44:19 +01:00
Philipp Hörist 33c9a1c584 Simplify module import 2017-02-11 23:40:42 +01:00
Philipp Hörist 5789c8a870 Start Interface after remote cmdline handling
Because otherwise we would lose log information
from Interface, because logging levels are set after
startup
2017-02-11 23:31:06 +01:00
Philipp Hörist 271af70885 Update Authors 2017-02-11 21:32:13 +01:00
Philipp Hörist 5215641c05 Move GajimApplication into gajim.py 2017-02-11 21:25:43 +01:00
Philipp Hörist 2ea30b3d55 Move nbxmpp import test into do_startup 2017-02-11 21:18:10 +01:00
Philipp Hörist 4bf65a4039 Handle version option in Gtk.Application 2017-02-11 21:09:31 +01:00
Philipp Hörist f9269d5ce0 Save log file into config dir when frozen 2017-02-11 21:07:11 +01:00
Johannes 'josch' Schauer f5eb35cba3 Use more gender neutral language 2017-02-11 20:05:30 +01:00
Philipp Hörist e30527f8ce Move Gajim startup code into do_startup 2017-02-11 19:38:45 +01:00
Philipp Hörist 819bee1253 Handle some commandline options only locally 2017-02-11 18:08:52 +01:00
Philipp Hörist 26aa0382d3 Merge branch 'pylint' into 'master'
Add a pylint configuration file and fix a few of the issues found

See merge request !54
2017-02-11 17:54:19 +01:00
Emmanuel Gil Peyrot a4387e8489 Use “… is not …” everywhere instead of “not … is …”. 2017-02-11 02:40:10 +00:00
Emmanuel Gil Peyrot eb51184a95 Fix a few things in common.connection_handlers_events. 2017-02-11 02:40:07 +00:00
Emmanuel Gil Peyrot ad9370afa8 Fix a bunch of issues in common.jingle*. 2017-02-11 02:40:07 +00:00
Emmanuel Gil Peyrot 57fb80f1fa Remove every default argument using [] or {}. 2017-02-11 02:40:07 +00:00
Emmanuel Gil Peyrot 1f9ac730ce Replace long() in remaining python2 code with int(). 2017-02-11 02:40:07 +00:00
Emmanuel Gil Peyrot 381a8f2be8 Remove unnecessary semicolons. 2017-02-11 02:40:07 +00:00
Emmanuel Gil Peyrot a7349dc603 common.connection: Fix indentation. 2017-02-11 02:40:07 +00:00
Emmanuel Gil Peyrot 2fbadc91e9 Use Enum or IntEnum instead of range() constants. 2017-02-11 02:40:07 +00:00
Philipp Hörist d6ceca8344 Merge branch 'keypress' into 'master'
Close Windows with ESC Key

See merge request !53
2017-02-09 20:19:20 +01:00
Emmanuel Gil Peyrot b6b1a7a074 ACE: Remove unused constants. 2017-02-08 02:26:21 +00:00
Emmanuel Gil Peyrot fb221a692b Remove wrong usage of the list(range(…)) pattern. 2017-02-08 02:26:21 +00:00
Emmanuel Gil Peyrot 5f91455fb9 common.dh: Reformat to follow PEP-0008. 2017-02-08 02:26:20 +00:00
Emmanuel Gil Peyrot 289d82fae7 Remove unused imports. 2017-02-08 02:26:20 +00:00
Emmanuel Gil Peyrot 07716daec2 Use staticmethod decorator where it makes sense. 2017-02-08 02:26:20 +00:00
Emmanuel Gil Peyrot 51eb62bb73 Replace some wildcard imports with explicit ones. 2017-02-07 21:00:52 +00:00
Philipp Hörist 1ad087e577 Close Plugins Window with ESC 2017-02-06 23:21:04 +01:00
Philipp Hörist fa54237164 Close Privacy Lists Window with ESC 2017-02-06 23:19:07 +01:00
Philipp Hörist ad936b8df8 Close XML Console Window with ESC 2017-02-06 23:12:31 +01:00
Philipp Hörist 5dff9bb057 Close Archiving Preferences Window with ESC 2017-02-06 23:10:09 +01:00
Philipp Hörist 9b0d7222b0 Close Service Discovery Window with ESC 2017-02-06 23:05:57 +01:00
Philipp Hörist 91bb0183ee Close Bookmark Window with ESC 2017-02-06 23:05:49 +01:00
Philipp Hörist 05566a635c Close Feature Window with ESC 2017-02-06 22:28:07 +01:00
Philipp Hörist 20c000415c Fix typo and remove unused import 2017-02-06 20:52:56 +01:00
Yann Leboulanger a7c833f777 Merge branch 'translations' into 'master'
Update strings for better english. Thanks to Allan Nordhøy for the suggestions

See merge request !51
2017-02-04 23:31:33 +01:00
Yann Leboulanger d338572271 Update strings for better english. Thanks to Allan Nordhøy for the suggestions 2017-02-04 23:29:45 +01:00
Tomasz Miąsko 89f861c859 Fix drag and drop on a group. 2017-02-04 17:24:31 +01:00
Tomasz Miąsko 38581b7080 Fix roster popup menu.
Replace Gdk.Event with Gdk.Event.new, so that event is constructed with
correct type information. This fixes showing a roster popup menu when
launched using keyboard shortcut (Menu key or Shift-F10).
2017-02-03 11:21:06 +01:00
Tomasz Miąsko b678165d7d Use the same code path for shift-enter as for ctrl-enter. 2017-01-25 18:04:12 +01:00
Tomasz Miąsko 0b7d6cc175 Fix moving between lines with up and down arrows. 2017-01-25 17:05:49 +01:00
Tomasz Miąsko 2e133d2572 Fix tab switching with ctrl+page up and ctrl+page down. 2017-01-25 17:05:49 +01:00
Tomasz Miąsko ffeeb8f9f5 Simplify send or insert newline logic. 2017-01-25 17:05:49 +01:00
Tomasz Miąsko 18a3258cb5 Fix inserting a newline on shift-enter.
Return false from key-press-event to propagate event to a default
handler that will insert a newline into the entry widget.
2017-01-25 17:05:49 +01:00
Philipp Hörist 7a42970121 Merge branch 'shortcuts-window' into 'master'
Use GtkShortcutsWindow to display keyboard shortcuts.

See merge request !44
2017-01-24 18:01:23 +01:00
Tomasz Miąsko 058562b92e Backward compatible keyboard shortcuts information.
Use GtkShortcutsWindow if supported, otherwise just point the user to
the wiki page with keyboard shortcuts.
2017-01-24 17:22:08 +01:00
Tomasz Miąsko 6f6a8d3f39 Use GtkShortcutsWindow to display keyboard shortcuts. 2017-01-24 17:22:05 +01:00
Philipp Hörist d2cfa9bbba Merge branch 'history-scrolling' into 'master'
Fix history scrolling in gtk3 #8481.

See merge request !39
2017-01-24 16:24:32 +01:00
Tomasz Miąsko 0dce40bb57 Fix history scrolling in gtk3 #8481.
* Delay scrolling using GLib.idle_add. According to the GTK
  documentation the scroll_to_mark should be doing this internally
  already, but it is not the case.

* Center highlighted message vertically.
2017-01-24 15:29:15 +01:00
Philipp Hörist a68fccd8f3 Merge branch 'quodlibet' into 'master'
Quodlibet publishes duration information as decimal with fractional part.

See merge request !36
2017-01-24 01:45:48 +01:00
Philipp Hörist f59fd73f9c Improve fallback for windows keyring 2017-01-23 19:18:59 +01:00
Philipp Hörist e41a751c7b Add config setting for use of keyring 2017-01-23 19:02:21 +01:00
Philipp Hörist 5a2a83a3fd Update available features on windows
On Windows we can now save account passwords in the
Windows Credential Vault
2017-01-23 18:06:07 +01:00
Tomasz Miąsko 3dfdc20272 Quodlibet publishes duration information as decimal with fractional part. 2017-01-23 15:14:28 +01:00
Tomasz Miąsko 9ea208e36a Use separate application id for each profile.
Application id is customized in do_handle_local_options just before it
is registered and can't be changed any further.

This makes it possible to run multiple instances of Gajim, at most one
for each profile.
2017-01-18 20:38:28 +01:00
Emmanuel Gil Peyrot 553fd8f7b1 Add the actual GtkApplicationWindow to the GtkApplication. 2017-01-08 00:45:37 +00:00
Emmanuel Gil Peyrot fd16797421 Fix website URL (missing https:). 2017-01-08 00:41:54 +00:00
Emmanuel Gil Peyrot 2439a8b807 Make dialogs.AboutDialog inherit directly from GtkAboutDialog. 2017-01-08 00:41:54 +00:00
Philipp Hörist aa50acd191 Port ExceptionHook to GTK3 2017-01-07 21:07:53 +01:00
Philipp Hörist 8c01d4d49f Add GUI folder to configpaths 2017-01-06 20:04:23 +01:00
Philipp Hörist 6d26553b65 Dont windowsify non-config directorys 2017-01-06 20:04:23 +01:00
Philipp Hörist 8079930de0 Add get() function to configpaths 2017-01-06 20:04:22 +01:00
Philipp Hörist 52657e7f18 Remove unicode conversion method for paths
its not needed in python3
- tempfile.gettempdir() returns always unicode
- os.environ.get() returns always unicode

we get what we put into:
- os.path.expanduser()
2017-01-06 20:03:43 +01:00
Philipp Hörist 5af42e4707 Remove old svn code 2017-01-06 20:01:14 +01:00
Philipp Hörist c4e41d6997 Make some paths available before profile init 2017-01-06 20:01:13 +01:00
Philipp Hörist 277e13bdd8 Handle Exception when there is no KEY_Insert
This happens on MacOSX
2017-01-05 01:14:18 +01:00
Emmanuel Gil Peyrot 80221afc2c Split ChatControlBase into its own file. 2017-01-04 22:57:05 +00:00
Philipp Hörist 4afdba2874 Merge branch 'dev' into 'master'
Make verbose logging less verbose

See merge request !19
2017-01-04 23:51:56 +01:00
Philipp Hörist 35142cf48a Remove redundant call to bindtextdomain
locale.bindtextdomain just calls gettext.bindtextdomain
2017-01-04 23:42:28 +01:00
Philipp Hörist a5cce0c749 Make verbose logging less verbose 2017-01-04 23:28:08 +01:00
Emmanuel Gil Peyrot 3fa2db7c42 Remove demandimport, now unused. 2017-01-04 22:16:03 +00:00
Yann Leboulanger 7b8eec955c Fix some spaces in strings 2017-01-04 13:14:21 +01:00
Yann Leboulanger 65362358a9 ability to have a random string in the resource 2017-01-04 13:14:21 +01:00
Philipp Hörist a6bda765eb Merge/Comment not working win32 translation code 2017-01-03 23:10:58 +01:00
Philipp Hörist 9b0be66b50 Dont import MusicTrackListener in startup 2017-01-03 23:10:57 +01:00
Philipp Hörist 503c295eb3 Handle GTK shutdown event
do_shutdown() is called by GTK on quit()
2017-01-03 23:10:50 +01:00
Philipp Hörist 39ec724e45 Cleanup Paths/DB creation and init 2017-01-03 23:08:52 +01:00
Philipp Hörist 32604e99bf Handle missing winsound module not in startup 2017-01-03 23:08:52 +01:00
Philipp Hörist 33041619ee Dont depend on win32api for getting HOME dir 2017-01-03 23:08:51 +01:00
Philipp Hörist f1693fa5a6 Remove unused code 2017-01-03 23:08:51 +01:00
Philipp Hörist d5bb5d4034 Remove old GTK2 code 2017-01-03 23:08:51 +01:00
Philipp Hörist 1c8f08a3c8 Remove PID code, GApp should be single instance 2017-01-03 23:08:50 +01:00
Philipp Hörist 0443d5a69a Ignore warnings on windows when not in dev mode 2017-01-03 23:08:50 +01:00
Philipp Hörist 079b5346fe Set application name in init
Remove unnecessary error catching
- on missing gi libs we fail earlier
- 'could not open display' is good enough
2017-01-03 23:08:49 +01:00
Philipp Hörist 2676d7ea94 Add commandline option for logging on windows
Redirect all output to one log file or if -w is
provided do not redirect output
2017-01-03 23:08:49 +01:00
Philipp Hörist 815ecdcf47 Handle start of second instance
We bring the Roster Window to the front
Gtk exits on return immediately
2017-01-03 23:08:48 +01:00
Philipp Hörist e7812cbd85 Move startup code into Gtk.Application() 2017-01-03 23:08:48 +01:00
Emmanuel Gil Peyrot 9d2223ea3b Add a -V/--version option, printing the version 2017-01-03 23:08:48 +01:00
Emmanuel Gil Peyrot 2298af9dd9 Handle CommandLine inputs with GtkApplication 2017-01-03 23:08:47 +01:00
Philipp Hörist 42d4aa2ab4 Test required version of all GTK libs at start 2017-01-03 23:08:32 +01:00
Yann Leboulanger 4e7bd1fc39 Merge branch 'version-trailing-whitespace' into 'master'
Remove extraneous whitespace after git hash

See merge request !18
2017-01-03 22:20:30 +01:00
Emmanuel Gil Peyrot 21df33993b Remove extraneous whitespace after git hash. 2017-01-03 21:17:30 +00:00
Emmanuel Gil Peyrot 0eec41ee89 Simplify nbxmpp import error checking to exit(1).
There was no reason for distutils’ version support to fail.
2017-01-03 21:14:27 +00:00
Philipp Hörist 430c4b1536 Merge branch 'printline' into 'master'
print_conversation_line() refactoring

See merge request !3
2017-01-03 21:20:32 +01:00
Philipp Hörist d129abbed6 Catch exceptions on invalid URLs
Closes #8494

Conflicts:
	src/common/helpers.py
2017-01-03 20:17:14 +01:00
Philipp Hörist 39216af2de print_conversation_line() refactoring
It now orders all messages with the given timestamp
this also includes inserting messages at the correct
point

The timestamp precision for incoming and outgoing messages
was raised to include fractions of a second
2017-01-02 19:09:06 +01:00
Emmanuel Gil Peyrot 03446bb74f Make sure strings don’t contain unescaped backslashes. 2017-01-01 21:48:44 +00:00
Philipp Hörist c52046f565 Merge branch 'formatting-menu' into 'master'
Make the formatting menu declarative.

See merge request !10
2016-12-24 09:01:39 +01:00
Philipp Hörist 8212bc250b Merge branch 'use-glib-directories' into 'master'
Use GLib to retrieve the pictures directory.

See merge request !12
2016-12-24 08:50:35 +01:00
Emmanuel Gil Peyrot bd07478574 Use GLib to retrieve the pictures directory.
Also remove an unused function.
2016-12-24 04:58:30 +01:00
Emmanuel Gil Peyrot c1c2a5162c Replace formatting button with declarative menu.
This prevents Gajim from having to regenerate the menu everytime it is
clicked on.
2016-12-24 02:51:55 +01:00
Philipp Hörist b43811df88 Fix getting commit hash for version info 2016-12-23 20:52:24 +01:00
Thilo Molitor f15497b0c0 Merge branch 'master' of dev.gajim.org:gajim/gajim 2016-12-23 15:21:03 +01:00
Philipp Hörist ac4859fb87 Remove unused imports 2016-12-22 18:19:24 +01:00
Thilo Molitor c48f0419f2 Merge branch 'master' of dev.gajim.org:gajim/gajim 2016-12-18 04:22:08 +01:00
Yann Leboulanger 458d1083bc do not list all keys when we want to know if we have a key. Fixes #8477 2016-12-17 14:06:36 +01:00
Yann Leboulanger d9efb31b2e don't crash when gnupg doesn't have a status attribute. 2016-12-17 13:32:35 +01:00
Yann Leboulanger 58341e9742 correctly check if python-gnupg is installed 2016-12-17 13:31:37 +01:00
Thilo Molitor 55eaf70f9f Correctly search for chat_control when message receipts are received (XEP-0184) and chat_control is not currently bound to a session 2016-12-16 21:53:51 +01:00
Philipp Hörist 82cfcbff8b Merge branch 'keyring' into 'master'
Store passwords in Windows Credential Vault Fixes #8367

See merge request !4
2016-12-11 15:37:51 +01:00
Philipp Hörist 9d13631731 Store passwords in Windows Credential Vault 2016-12-11 01:20:16 +01:00
Yann Leboulanger 995a154c59 Remove gnupg from our sources and optionnaly depend on it. Fixes #8475 2016-12-10 17:32:04 +01:00
Philipp Hörist fc0be965f5 Remove demandimport 2016-12-09 18:19:39 +01:00
Philipp Hörist 7db4d6c0cb Update files for appveyor Windows build 2016-12-08 21:52:35 +01:00
Yann Leboulanger 7b3d595665 fix time.time() call. Fixes #8446 2016-11-28 22:23:42 +01:00
Yann Leboulanger 471329a0e0 prevent too long tooltips. Fixes #8465 2016-11-28 21:52:40 +01:00
Yann Leboulanger 6fbb4ce6cb fix sending zeroconf messages 2016-11-24 22:44:52 +01:00
Yann Leboulanger 25fb8c9a3a don't crash when we get a wrong feature negotiation form 2016-11-24 22:42:33 +01:00
Emmanuel Gil Peyrot 13a61d7618 Remove support for GNOME Keyring and KWalletCLI, instead always use libsecret. 2016-11-20 21:56:26 +00:00