Commit Graph

276 Commits

Author SHA1 Message Date
David Cormier fcfe8ba4be Create inputbar directive 2013-10-27 17:54:51 -04:00
David Cormier 6055e699ff Modifies angular model instead of dom element
fixes #74
2013-10-27 16:31:37 -04:00
David Cormier 84cc93fbb0 Initialize angularjs routing module 2013-10-27 15:49:51 -04:00
David Cormier 1f455c813a Callback ids cycle from 0 to 1000 2013-10-27 15:41:45 -04:00
David Cormier 51abcc6953 Document messager methods 2013-10-27 12:26:16 -04:00
David Cormier 75e8c87f09 Group all messaging commands 2013-10-27 12:13:10 -04:00
David Cormier 8167b25c36 Remove doSend
Replace calls to doSend with calls to send
2013-10-27 12:07:01 -04:00
David Cormier 0f503fa521 Rename doSendAllWithCallback to sendAll 2013-10-27 12:05:49 -04:00
David Cormier 0c3496f798 Rename doSendWithCallback to send 2013-10-27 12:05:37 -04:00
David Cormier a3ea312773 doSend always doSendWithCallback
The goal of this change is to provide only one way of sending
messages. By default, a callback will always be returned, and
the caller will decide if it needs to use it.
2013-10-27 12:03:45 -04:00
David Cormier 8c51ab18d3 Send all init commands in batch 2013-10-27 11:47:25 -04:00
David Cormier ec4956a379 Implement doSendAllWithCallback
doSendAllWithCallback sends all the messages of the list
and returns a promise that is resolved when all the individual
promises are resolved.

Useful for avoiding long chains of .then().then().then() ..
2013-10-27 11:30:37 -04:00
David Cormier 02f51ad0df Split creating the defer and returning the promise 2013-10-27 11:30:37 -04:00
David Cormier 335ec46fc6 Wrong password test with failure callback 2013-10-27 11:30:37 -04:00
David Cormier d6ceadb1be Fail all callbacks disconnection / error
Callback promises are resolved when their answer is received
If the websocket disconnects or fails before receives its answer,
it's promise is rejected.
2013-10-27 11:30:29 -04:00
Tor Hveem 4596c129f1 support extended colors in nicklist 2013-10-27 11:04:43 +01:00
Tor Hveem e8e44d85ce Maintained cached flatnicklist, maintain shownicklist cached value for
template
2013-10-27 10:50:18 +01:00
Philippe Proulx a415a3ec3c No need to sort the flat nick list for completion
... because the completion function sorts it another way anyway.
2013-10-27 05:06:02 -04:00
Philippe Proulx 2101e52131 Add Escape and Alt+L keyboard shortcuts
* Escape: disconnect
  * Alt+L: focus on input bar
2013-10-27 04:57:56 -04:00
Philippe Proulx 0f1bde187a Support colors in nick list 2013-10-27 04:49:59 -04:00
Philippe Proulx 8ec37d68e2 Support case insensitive nick completion 2013-10-27 04:08:18 -04:00
Philippe Proulx 1eee866347 Do not handle keypress when not connected 2013-10-27 04:08:17 -04:00
Philippe Proulx 5f2a4386f7 Support custom suffix for nick completion 2013-10-27 04:08:16 -04:00
Philippe Proulx ca47fba200 Nick completion support for end user
Closes #24
2013-10-27 04:07:12 -04:00
Philippe Proulx 782b659474 Prevent default action for Ctrl+G
Ctrl+G is used in Chrome/Chromium, at least, to find the next match
(just like F3).
2013-10-27 04:07:11 -04:00
Philippe Proulx 92dc4736ea Switch between buffers with left Alt key only
Right Alt key, which is the same as Ctrl+left Alt, is used in several
keymaps to input special characters, like right Alt+2 in Canadian
French to input '@'. Do not switch between buffers when using right
Alt.

Fixes #67
2013-10-27 04:06:32 -04:00
Philippe Proulx 0da6014711 Swallow space after caret if needed (middle completion) 2013-10-26 19:07:04 -04:00
Philippe Proulx a918923852 Implement IRC nick completion uility 2013-10-26 18:44:48 -04:00
Tor Hveem 902f344d25 move logic into models, attempt at sorting 2013-10-27 00:26:17 +02:00
Tor Hveem 348940bee0 fix + - and * operations of nicklist_diff 2013-10-26 23:40:00 +02:00
Tor Hveem 1a451fd705 Improve hiding/showing nicklist 2013-10-26 23:17:32 +02:00
Tor Hveem a06916f63e Better styles for nicklist, implement UI for hiding 2013-10-26 22:56:52 +02:00
Tor Hveem 404f8c8cba Implement nicklist 2013-10-26 22:19:13 +02:00
Tor Hveem 66963d8329 Style chat time. Hide lines with repeated time 2013-10-26 20:07:21 +02:00
Philippe Proulx ddf491e8f0 Reduce attribute names length 2013-10-26 13:54:51 -04:00
Philippe Proulx 647e8c5af1 weechat.js: support 1/2/3/4 attributes too 2013-10-26 13:50:53 -04:00
Philippe Proulx c7a0ab0715 Fix comment following FlashCode's update of doc 2013-10-26 05:17:12 -04:00
Philippe Proulx 439734a49b Optimize style attributes overriding 2013-10-26 04:49:37 -04:00
Philippe Proulx 9772da0095 Implement full support of WeeChat text styling 2013-10-26 04:30:35 -04:00
Tor Hveem c9f7e9a732 Make scrolling into the bufferlines div, not the whole window
This should improve scrolling experience, especially on webkit.
It also is needed for when nicklist will appear
2013-10-25 22:19:23 +02:00
Tor Hveem d3aa1d768d Only store password if user requests it. 2013-10-25 13:45:29 +02:00
Tor Hveem 09798fed53 Remove old code 2013-10-25 13:45:29 +02:00
Tor Hveem f1eddd3022 fix so opera/IE dont bug out on Notification 2013-10-25 13:45:29 +02:00
Tor Hveem 0d963f2fd8 Use CDN for underscore also 2013-10-25 13:45:29 +02:00
Tor Hveem eda2bf9597 Check for Notification support 2013-10-25 13:45:29 +02:00
Vivien Didelot 15e267a9ee plugins: add AlloCine support 2013-10-23 09:44:21 -04:00
Tor Hveem dbb2bcb8f9 Fix notify level 2013-10-23 15:29:28 +02:00
Tor Hveem a505c146f2 Trying to improve scrolling. Still not elegant 2013-10-22 19:58:12 +02:00
Tor Hveem 6b3ab23dcc Remove angular from repository since we use CDN 2013-10-22 19:26:36 +02:00
Vivien Didelot 98ad8d152d plugins: add Dailymotion support 2013-10-22 10:48:05 -04:00
Vivien Didelot 3720ef686e Merge Tor's 'torhve/ffapp' work
This branch adds App support for both Chrome and Firefox.
The reference was https://github.com/torhve/glowing-bear/tree/ffapp
2013-10-22 10:35:51 -04:00
Tor Hveem 1d6f44cedd Add a TODO for future 2013-10-22 16:09:22 +02:00
Tor Hveem fdb253a972 Clear search term after switching buffer 2013-10-22 14:24:09 +02:00
Tor Hveem 641faa4df3 App support for firefox 2013-10-21 15:51:05 +02:00
Philippe Proulx 2e421f8361 websocket.js: fix a few obvious indentations 2013-10-19 14:11:01 -04:00
Philippe Proulx 1e66b16da9 Fix: do not handle empty hotlist message 2013-10-19 14:07:08 -04:00
Tor Hveem 453a8d5ef3 Make images clickable so you can get full size 2013-10-19 13:10:35 +02:00
Tor Hveem 5712a55620 New option to sync hotlist with weechat. Fixes #56 2013-10-19 12:14:32 +02:00
Vivien Didelot 10480843c2 plugins: add Google Maps support 2013-10-18 17:32:39 -04:00
Vivien Didelot 4eddc8bf57 plugins: add SoundCloud and MixCloud support 2013-10-18 11:13:36 -04:00
Tor Hveem 5923093071 New plugin: spotify 2013-10-18 16:47:53 +02:00
Tor Hveem 45a0d0cd21 Fix bug with onlyUnread and buffer with notifications without unread
messages
2013-10-18 15:59:46 +02:00
Tor Hveem 33ee9bd951 fix bug with new buffers and notify level 2013-10-18 15:58:26 +02:00
Sebastien Bourdelin d6de5805a2 Handle wrong password. Fixes #4.
This commit introduces a way to handle wrong password.

The only way to know it is by sending an other message after the init
one.
If we receive an answer to this second message id then we know we are
connected with the good password, otherwise we will received an onclose
event from the websocket.
2013-10-17 18:54:20 -04:00
Vivien Didelot 55b720466b plugins: (image) support fukung.net
Links to http://fukung.net/v/foobar.gif end by the actual image
extensions, but the full image path is under
http://media.fukung.net/imgs/foobar.gif.

This commit replace the URL prefix if it matches fukung.net/v/.
2013-10-17 18:25:01 -04:00
Vivien Didelot ea65c5dc44 plugins: (youtube) make video preview slicker 2013-10-17 16:52:26 -04:00
Tor Hveem fba78d490e Support more URLs for youtube and request html5 player to improve
performance of embedding
2013-10-17 13:36:54 +02:00
Tor Hveem f4b5cdfbc9 keyHandler for buffer searching 2013-10-17 13:13:01 +02:00
Tor Hveem 3a52840111 New setting for hiding timestamps 2013-10-17 10:50:29 +02:00
Tor Hveem f5088d54b0 first try instant scrolling, then delayed 2013-10-16 23:59:27 +02:00
Tor Hveem 0222dc1026 Only search buffer name 2013-10-16 23:29:51 +02:00
Tor Hveem 27b277ee6b Bugfix last commit, check for undefined 2013-10-16 23:29:51 +02:00
Tor Hveem 0c2ffab3b9 Searching now works with onlyUnread activated 2013-10-16 23:29:51 +02:00
eirikb 8602f9d477 Replace weechat-protocol.js with weechat.js from https://github.com/eirikb/weechat.js 2013-10-16 23:10:49 +02:00
Tor Hveem 0c26449e8e story onlyUnread setting in localStorage 2013-10-16 15:45:38 +02:00
Tor Hveem 70ff24bd10 add a disconnect button 2013-10-16 14:44:44 +02:00
Tor Hveem ce22e44534 Use point icon for ng-click 2013-10-16 14:25:07 +02:00
Tor Hveem cfa7823d39 Fix the parsing of basic colors 2013-10-16 13:39:17 +02:00
Tor Hveem 53d9f51d0c Request hotlist from weechat and sync unread and lastSeen 2013-10-16 01:09:31 +02:00
Tor Hveem 830c486af0 Regard the weechat buffer notify level 2013-10-16 00:32:56 +02:00
Tor Hveem 3a1fb161a7 Remove uneeded parseInt 2013-10-15 19:08:24 +02:00
Tor Hveem b2174db197 Remove URLplugin, replace URLs inline with a hrefs 2013-10-15 18:58:00 +02:00
Tor Hveem 5ed02a5e54 Change lineinfo into async promise 2013-10-15 17:20:35 +02:00
Tor Hveem dd77529cba remove old bufinfo handler 2013-10-15 16:57:40 +02:00
Tor Hveem a9d469867a Add Favio.js support. Fixes #28 2013-10-15 15:21:13 +02:00
Tor Hveem 2617dadb65 Simplify/clean up the unread and notification code 2013-10-15 14:59:06 +02:00
Tor Hveem a9dcc68af2 Instead of using buffer.notification as a boolean, save number of
notifications into the variable. And when displaying unread messages
display unread notifications if any and if not then display number of
unreads.
2013-10-15 14:31:41 +02:00
Vivien Didelot 8fea1c072e plugins: (url) do not return the whole message 2013-10-14 15:18:00 -04:00
Vivien Didelot 97da1928de plugins: match /nsfw/i tag anywhere in the message
Sometimes you may have trailing whitespace or put this tag at the
beginning of the line.

Ref: #27
2013-10-14 12:01:25 -04:00
David Cormier 2377253676 plugins: fix imagePlugin 2013-10-13 15:14:43 -04:00
David Cormier 741416cb79 plugins: provide names for plugins 2013-10-13 15:00:00 -04:00
David Cormier b2ee67707b plugins: let plugins name their content 2013-10-13 14:57:54 -04:00
David Cormier 3f56c80f56 plugins: warn the user that content may not be safe for work 2013-10-13 14:49:38 -04:00
David Cormier a1123ddad0 plugins: automatically hide lines that ends with nsfw 2013-10-13 14:44:37 -04:00
David Cormier 1f7cb5c3ba plugins: use to explicitely trust html 2013-10-13 14:33:09 -04:00
David Cormier 1e8d657608 Remove black foreground colors 2013-10-13 12:22:18 -04:00
David Cormier 14a40c1039 ui: scroll to bottom when receiving activeBufferChanged signal
Triggers the ui manipulation code when the rootScope receives the signal.
Supports multiple ways of changing the buffer (clicking, shortcuts, etc.)
without having to duplicate this code.
2013-10-12 16:09:02 -04:00
David Cormier fb0ce21fc5 models: add activeBufferChanged signal
When the active buffer is changed on the model, the model
now emits a signal on the rootScope
2013-10-12 16:07:46 -04:00
Tor Hveem 824e86774c Use non-browser specific code for scrolling 2013-10-12 21:16:40 +02:00
Tor Hveem fc8714b4d4 Fix bug with readmarker 2013-10-12 21:06:59 +02:00