Commit graph

212 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
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
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
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
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
eda2bf9597 Check for Notification support 2013-10-25 13:45:29 +02: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
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
5712a55620 New option to sync hotlist with weechat. Fixes #56 2013-10-19 12:14:32 +02:00
Tor Hveem
45a0d0cd21 Fix bug with onlyUnread and buffer with notifications without unread
messages
2013-10-18 15:59:46 +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
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
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
Tor Hveem
824e86774c Use non-browser specific code for scrolling 2013-10-12 21:16:40 +02:00
Tor Hveem
ee890222c5 implement last read marker 2013-10-12 21:06:59 +02:00
David Cormier
6271dc6577 shortcuts: implement switching buffer using ALT-number 2013-10-12 12:54:13 -04:00
David Cormier
5cf635bc70 Handle lineinfo with callback 2013-10-12 12:29:10 -04:00
David Cormier
9668b65f7a Add a doSendWithCallBack method
Hooks into the angularjs promise mecanism to send commands to the weechat
realy.
2013-10-12 12:16:46 -04:00
David Cormier
f8bb1f4b78 Focus input bar on buffer change. Fixes #15 2013-10-11 19:50:27 -04:00
Tor Hveem
c2bc034293 Always show current buffer in list 2013-10-11 23:47:47 +02:00
Tor Hveem
d797f4a305 Merge remote-tracking branch 'upstream/master' 2013-10-11 23:41:03 +02:00
Tor Hveem
1609346668 Form control for number of lines to sync 2013-10-11 23:27:55 +02:00
Tor Hveem
5a8294b2cc Use separate form fields for host and port 2013-10-11 23:27:29 +02:00
Tor Hveem
0d7cfcf376 Fix problem with activity switch 2013-10-11 23:26:51 +02:00
Tor Hveem
d5608fe7c1 Remove uneeded preventDefault 2013-10-11 23:26:51 +02:00
Tor Hveem
bfa4e9da2d Include sanitize library to get metadata content to work again 2013-10-11 23:26:19 +02:00
Tor Hveem
9a1bcf0cc0 Check for element before scrolling 2013-10-11 23:22:54 +02:00
Tor Hveem
2ee29923c1 Fix keys quirks for different browsers 2013-10-11 23:22:54 +02:00
Tor Hveem
5838824732 Revert color table change 2013-10-11 23:22:54 +02:00
Tor Hveem
70331559b3 Switch to first buffer on startup 2013-10-11 23:22:54 +02:00
Tor Hveem
a686d7e398 implement alt-a and ctrl-g keybindings 2013-10-11 23:22:54 +02:00
Tor Hveem
f1582b463b Implement searching and display buffers with unread lines only 2013-10-11 23:22:54 +02:00
Tor Hveem
f666c0c9fe Implement a workaround to get scroll to bottom working again 2013-10-11 23:22:53 +02:00
Tor Hveem
482ee30bf5 Try to fix scroll issues 2013-10-11 23:22:53 +02:00
David Cormier
aa92b29bcb Remove unused code 2013-10-10 15:39:35 -04:00
David Cormier
c41c33f9ab Merge remote-tracking branch 'torhve/master' 2013-10-10 15:34:33 -04:00
Tor Hveem
21d19b5aac Fix the title change and rename events to use the new model 2013-10-10 12:37:25 +02:00
Tor Hveem
8028070aaa Merge 2013-10-09 17:53:25 +02:00
David Cormier
b4298a1b0c Remove unused code 2013-10-08 19:12:56 -04:00
David Cormier
cc2eda7057 plugins: create PluginManager service 2013-10-08 19:08:20 -04:00
David Cormier
7db8e31a7f plugins: Move plugins to external module 2013-10-08 19:08:13 -04:00
David Cormier
b1d7655776 Add documentation, remove spurious methods and junk 2013-10-08 10:26:06 -04:00
David Cormier
019f1ce585 Support close buffer 2013-10-08 10:13:48 -04:00
David Cormier
1404c04590 Support BufferOpened 2013-10-08 10:05:46 -04:00
David Cormier
02c57fef6d Remove isActiveBuffer function 2013-10-08 10:04:29 -04:00
David Cormier
c0f22c4ec8 Add notification support 2013-10-08 10:03:44 -04:00