David Cormier
9438c3844f
Ask confirmation before closing if user has unsent input
2014-08-31 11:14:56 -04:00
David Cormier
24f63be25c
When closing the window, disconnect instead of asking the user to do it
2014-08-31 11:12:09 -04:00
Lorenz Hübschle-Schneider
21f8f47efe
Split things up into logical blocks
2014-08-31 15:57:36 +01:00
Lorenz Hübschle-Schneider
0c2e7635ed
Fix Alt+[0-9] buffer access order
...
WeeChat sends them in no particular order, we need to sort the buffers by
their WeeChat number. To avoid copying the potentially very large buffer
objects around needlessly, extract the relevant keys and sort, then access.
This is based on ad50220bfd
2014-08-31 14:57:16 +01:00
Lorenz Hübschle-Schneider
226068152f
Hotfix strict injection to undo terrible breakage
2014-08-27 18:47:58 +01:00
Lorenz Hübschle-Schneider
69e1e1907d
Use strict angular dependency injection
...
Prerequisite for proper minification
2014-08-27 17:28:01 +01:00
Lorenz Hübschle-Schneider
9501b9f3d3
Fix history keybindings for keypress
...
because ASCII != keydown code in JS m(
2014-08-26 12:44:34 +01:00
Lorenz Hübschle-Schneider
6f1f84aa62
Prevent triggering ng-focus on input during completion
...
$apply during another $apply is not possible, and .focus() on the input node
triggers the ng-focus on it (which hides the sidebar, if on mobile), so to
prevent the exception from being thrown, move the input node focusing
out of the $apply with a timeout of 0.
2014-08-24 18:13:24 +01:00
Lorenz Hübschle-Schneider
4cdf86ed14
Remove bindonce for Angular 1.3 One-Time Bindings
2014-08-23 12:26:04 +01:00
Lorenz Hübschle-Schneider
2cb6b05498
Wrap inlinecolour filter in $sce.trustAsHtml
...
This is required because bo-html is unsafe whereas ng-bind-html requires
"safe" HTML (ng-bind-html-unsafe is deprecated since 1.2)
2014-08-23 12:25:26 +01:00
Lorenz Hübschle-Schneider
ae5f0effcf
Auto-close keyboard when opening sidebar (bufferlist)
...
This is for mobile
2014-08-13 09:22:41 +01:00
Lorenz Hübschle-Schneider
f7aa7a0871
Hide sidebar when focusing input bar
...
This is for mobile
2014-08-13 08:39:32 +01:00
Lorenz Hübschle-Schneider
703fcb1668
Add support for asynchronous / lazy plugins
...
Fixes #253
2014-08-09 14:18:13 +01:00
Lorenz Hübschle-Schneider
0de5511544
Default to using SSL if the page is using it as well
2014-08-07 18:02:39 +01:00
David Cormier
12a8726407
Merge pull request #382 from glowing-bear/fixautoconnect
...
Prevent autoconnect from connecting twice
2014-08-01 15:57:24 -04:00
David Cormier
770616cf93
Merge pull request #389 from glowing-bear/fix-history-exception
...
Fix an exception when pressing up-arrow in a buffer without history
2014-07-31 09:26:12 -04:00
Lorenz Hübschle-Schneider
cd4b5c8abe
Display HTML colour codes inline
2014-07-31 14:20:42 +01:00
Lorenz Hübschle-Schneider
57ce4e252a
Fix an exception when pressing up-arrow in a buffer without history
2014-07-31 14:10:18 +01:00
Lorenz Hübschle-Schneider
88424279c7
Prevent autoconnect from connecting twice
...
once from the watcher, once from the autoconnect call.
-> remove the autoconnect call, it is not needed
2014-07-28 10:02:43 +01:00
David Cormier
04efb16424
Rename rootScope.visible -> rootScope.auto_display_embedded_content
...
More verbose but more descriptive
2014-07-26 09:38:24 -04:00
David Cormier
ceb31c1947
contentForMessage doesn't have to care about content visibility
2014-07-26 09:38:24 -04:00
David Cormier
d2a30c1d13
Plugin visibility defaults to value of rootScope.visible
...
And plugin content is shown if it has to be visible
2014-07-26 09:38:24 -04:00
Lorenz Hübschle-Schneider
dc1ce08800
Merge pull request #384 from glowing-bear/default-font
...
Make sure that a favourite font is always set when using Glowing Bear.
2014-07-26 13:44:38 +01:00
David Cormier
7ee237cf3a
Merge pull request #381 from glowing-bear/fix-esc
...
Properly iterate over modals in ESC key handler
2014-07-25 16:52:09 -04:00
David Cormier
9b55244f13
Set and bind font-family if unset
...
Default for desktop is monospace and default for mobile
is sans-serif
2014-07-25 09:43:03 -04:00
David Cormier
7c5a396171
Rename 'monospace' class to 'favorite-font'
2014-07-24 21:36:56 -04:00
Lorenz Hübschle-Schneider
bea1cf6923
Properly iterate over modals in ESC key handler
...
the old way included attributes like 'length' and would raise an
exception, causing disconnection via double-esc to fail
2014-07-23 19:33:39 +01:00
Lorenz Hübschle-Schneider
fec3c57da3
Don't hide the sidebar when "swiping" with the mouse on desktop
2014-07-23 19:16:48 +01:00
David Cormier
013cc03380
Merge pull request #349 from glowing-bear/dejquery
...
[PLEASE TEST] Remove dependency on jQuery
2014-07-21 16:18:57 -04:00
Tor Hveem
f95a84a93d
Merge pull request #376 from glowing-bear/readline
...
fix keybindings relying on caretPos
2014-07-21 16:42:13 +02:00
Lorenz Hübschle-Schneider
0984a2f8b4
Make readline/emacs keybindings a setting
...
Also fix some labels while we're at it
2014-07-21 15:38:28 +01:00
Tor Hveem
a5c68a8053
fix keybindings relying on caretPos
2014-07-21 15:55:50 +02:00
Tor Hveem
065d8a240d
New feature: Automatically connect
...
Check if user saved password, and then offer to automatically connect.
Use a angular watch on the autoconnect and connect as soon as user
selects it.
Check for error messages so it doesn't try to reconnect if there is
errors.
2014-07-20 14:32:53 +02:00
Lorenz Hübschle-Schneider
c9e3c1a55c
Close modal with escape key
2014-07-20 11:48:51 +01:00
Tor Hveem
4081b18ed2
Add some emacs keybindings. Fixes #371
...
Add the most commonly used emacs/readline keybindings to input field and
document them.
Also change the wording on some of the old descritions to clarify
intent.
2014-07-20 12:21:46 +02:00
Lorenz Hübschle-Schneider
15bb4a21d9
Remove now-obsolete toggle prevention function
2014-07-19 15:05:15 +01:00
Lorenz Hübschle-Schneider
e236d937e2
Simplify usage of modal
2014-07-19 15:05:15 +01:00
Lorenz Hübschle-Schneider
7d5bc0f078
Accordion without jQuery / bootstrap js
...
it's not quite 100% as nice though
2014-07-19 15:05:14 +01:00
Lorenz Hübschle-Schneider
23fb4da05a
Implement modal without bootstrap.js and jQuery
2014-07-19 15:05:14 +01:00
Lorenz Hübschle-Schneider
8816fe221e
Animate sidebar with CSS transitions
2014-07-18 13:46:01 +01:00
Tor Hveem
f7ef7e95b9
Merge pull request #365 from glowing-bear/defaultsettings
...
Enable hierarchical server view by default
2014-07-18 14:25:47 +02:00
Lorenz Hübschle-Schneider
2c4a28f559
Enable hierarchical server view by default
...
Also fix its label
Fixes #331
2014-07-18 12:35:13 +01:00
Lorenz Hübschle-Schneider
fa6f108fe5
Make debug mode a parameter, not a setting
2014-07-18 12:17:19 +01:00
Tor Hveem
836b2940ce
Use crossbrowser compatible attr. names
2014-07-17 15:06:39 +02:00
Tor Hveem
6318a94163
Helpers for class styling
...
Implement our own helpers for getting and setting class styles instead
of using jquery functions, since we are getting rid of jquery
2014-07-17 15:06:39 +02:00
Tor Hveem
6a3b4a1506
new option for overriding font size
2014-07-17 15:06:39 +02:00
Tor Hveem
16f9897964
use angular.element instead of jquery
2014-07-17 15:06:39 +02:00
Tor Hveem
cdcdcb096b
User configurable font choice. Fixes #351
2014-07-17 15:06:38 +02:00
David Cormier
2a2c7e1281
Merge pull request #350 from glowing-bear/keep-keyboard-open
...
Focus input bar after pressing the send button
2014-07-16 16:54:56 -04:00
David Cormier
4142883b29
Merge pull request #348 from glowing-bear/fix-initial-line-loading
...
[FIXED] Fix the initial loading of lines
2014-07-15 09:45:57 -04:00
Lorenz Hübschle-Schneider
a2cc3558c3
Remove ngAnimate for the moment, we're not even using it
...
It does have a very significant performance impact, in my
measurements, buffer switching is 30% faster without it!
2014-07-07 18:54:56 +01:00
Lorenz Hübschle-Schneider
1194b170e5
Fix the initial loading of lines
...
This fixes a bug where the initial line loading would be triggered multiple times,
and a bug that incorrectly set requestedLines, causing this behaviour to repeat
2014-07-06 11:30:38 +01:00
Lorenz Hübschle-Schneider
4be8742ac5
Focus input bar after pressing the send button
...
This prevents the keyboard from closing on mobile
2014-07-04 14:45:27 +01:00
David Cormier
a904add7cc
Merge pull request #346 from glowing-bear/channelregexonceagain
...
Allow a minus sign before a #channel link
2014-07-02 08:57:34 -04:00
David Cormier
528237071f
Merge pull request #343 from glowing-bear/defaultport
...
Fix default port
2014-07-02 08:55:44 -04:00
Lorenz Hübschle-Schneider
ba74f2a7e5
Allow a minus sign before a #channel link
2014-07-02 08:41:50 +01:00
David Cormier
a105466b33
Merge pull request #344 from glowing-bear/fixlinetrimming
...
Don't trim unread lines
2014-07-01 19:36:51 -04:00
Kramer Campbell
b21662da3c
Remove duplicate source of truth with buffers.
2014-07-01 15:07:34 -07:00
Lorenz Hübschle-Schneider
0b8a3eb045
Don't trim unread lines
...
Also fix read marker after trimming
2014-07-01 19:41:27 +01:00
Lorenz Hübschle-Schneider
f5855e0712
Revert "Set port variable instead of placeholder"
...
This reverts commit 6b4d2fddbb
.
...because it didn't work. I just got an empty box and the variable wasn't set
2014-06-30 20:24:50 +01:00
David Cormier
48a07ee1fe
Rename 'lines' to 'lines_per_screen'
2014-06-26 22:36:30 -04:00
Lorenz Hübschle-Schneider
984ceaf4e5
Trim long buffers
...
Fixes #338
2014-06-26 21:38:04 +01:00
Kramer Campbell
9aa6a374cd
Add option to show seconds in timestamps.
2014-06-23 09:34:27 -07:00
Anders Bergh
b8c4b1fbac
Wrap IPv6 literals with brackets. Fixes #323 .
2014-06-21 18:56:27 +02:00
Lorenz Hübschle-Schneider
4a04ff8a8f
Scroll on resize
...
main application of this: opening the keyboard on mobile devices
2014-06-18 22:29:51 +01:00
Lorenz Hübschle-Schneider
abcadf040e
Allow +
and @
before a channel name as well for linkification
...
useful for /whois
2014-06-18 17:58:42 +01:00
David Cormier
6b4d2fddbb
Set port variable instead of placeholder
...
Suggesting a port in the placeholder can be confusing, as it may
lead people to believe that this value will be sent to the server
while in fact it will not be.
Fix #324
2014-06-16 22:53:39 -04:00
Tor Hveem
30fd4794e9
Do not automatically switch to newly open buffer.
...
Fixes #279
2014-06-10 16:59:45 +02:00
Lorenz Hübschle-Schneider
f374bebc4e
Turn notimestamp into a positive setting (showtimestamp)
2014-06-07 19:52:22 +01:00
Lorenz Hübschle-Schneider
ce2a4e89da
Show timestamps on mobile by default
...
This is overriden by the setting
2014-06-07 19:52:22 +01:00
Lorenz Hübschle-Schneider
e53f614a04
Fix tab-completion of empty string
...
Closes #301
2014-05-13 12:16:05 +01:00
Lorenz Hübschle-Schneider
6b99efb4ac
Handle _buffer_localvar_{add,remov}ed events
...
fixes indendation of newly opened buffers
2014-05-09 17:36:35 +01:00
Lorenz Hübschle-Schneider
703953a0f6
Rename highlightNick to addMention
...
...because that's what it does
2014-05-09 09:13:46 +01:00
Tor Hveem
71ecdb2608
Log unhandled events
2014-05-08 13:24:57 +02:00
Lorenz Hübschle-Schneider
a2073d893e
Fix buffer closing
...
0cbf5fc4 uncovered an old bug
Thanks for noticing, @torhve
2014-05-08 11:05:08 +01:00
Lorenz Hübschle-Schneider
3d9619abaf
Fix nick clicking
...
- move to correct scope
- use Angular input model instead of accessing DOM directly
- nicklist has changed, adapt to that
2014-05-07 23:40:08 +01:00
Lorenz Hübschle-Schneider
28d3bde907
inputBar.sendMessage: remove unused variable
2014-05-07 23:27:50 +01:00
Tor Hveem
47c9b38d75
Merge pull request #292 from glowing-bear/fixinitialhighlight
...
Fix initial query notifications
2014-05-08 00:16:08 +02:00
Tor Hveem
06f3e50684
Fix problems with inputbar history and nick complete
2014-05-08 00:04:12 +02:00
Lorenz Hübschle-Schneider
64af1f357c
Fix query notifications on first connect
...
Fixes #284
2014-05-07 18:57:13 +01:00
Lorenz Hübschle-Schneider
236b0da97b
Merge pull request #291 from torhve/fix-empty
...
Don't send empty commands, use angular model instead of accessing element value directly. Fixes problem with pressing enter will send previous value in history.
2014-05-07 18:20:59 +01:00
Lorenz Hübschle-Schneider
91bca211ee
Merge pull request #290 from torhve/sslerror
...
Better user feedback for connection problems
2014-05-07 18:20:08 +01:00
Tor Hveem
91b0ddc259
Fix syntax. Emit relaydisconnect so connect button changes
2014-05-07 19:15:47 +02:00
Tor Hveem
3f595ea0ac
Don't send empty commands, use angular model instead of accessing
...
element value directly. Fixes problem with pressing enter will send
previous value in history.
2014-05-07 19:01:12 +02:00
Lorenz Hübschle-Schneider
2eddc9ff3d
Merge pull request #288 from torhve/clear
...
Support clearing of buffer lines with command /c or /clear
2014-05-07 17:58:27 +01:00
Tor Hveem
695c429c4f
Only support the weechat defaults for clearing buffer
2014-05-07 18:55:48 +02:00
Tor Hveem
fbfeec8fca
Change the connect button text based on connection status
2014-05-06 22:00:02 +02:00
Tor Hveem
d2f11ad89d
Catch DOMException
2014-05-06 22:00:02 +02:00
Tor Hveem
f21cf4c046
Support clearing of buffer lines with command /c or /clear
2014-05-06 18:39:48 +02:00
Lorenz Hübschle-Schneider
84270655ee
Don't send input bar contents on buffer switch
...
Fixes #277
2014-05-04 11:21:35 +01:00
Lorenz Hübschle-Schneider
aab111bb80
Fix that bug where only one line was loaded
...
Let me tell the story backwards:
For some reason, only one line would be fetched in `fetchMoreLines`, but
neither `numLines` nor `buffer.requestedLines` were `undefined`. The
paramater `numLines` must have had some strange value, though.
`connection.fetchMoreLines` is invoked through the main controllers
`$scope.fetchMoreLines`, which sets the parameter to `$scope.lines` if it was
undefined before. That value is computed in `$scope.calculateNumLines`,
which takes the height of the lines area and divides it by the height of the first
bufferline. This computation is retriggered on every `resize` event.
The first bufferline is the 'fetch more lines' link at the top of the window. If the
currently active buffer doesn't have more lines, it is hidden with `ngHide`,
causing its `clientHeight` property to be `0`, and the number of lines to be
fetched `$scope.lines = Infinity` (due to a division by zero).
In `connection.fetchMoreLines`, the following request is then made:
`"buffer:0x" + buffer.id + "/own_lines/last_line(-" + numLines + ")/data"`
to which WeeChat responds with one line. Voilà, there's your mess.
2014-05-03 15:07:12 +01:00
Lorenz Hübschle-Schneider
d363121556
Remove unnecessary uses of jQuery and dead code
...
Native code is faster anyways ;)
2014-04-28 13:52:21 +01:00
Lorenz Hübschle-Schneider
1d2e5f1d0b
Better countWatchers
...
The old one missed a few, two on the input and the one in the title.
This version also doesn't use jQuery
From: http://stackoverflow.com/a/18539624 by StackOverflow user "plantian"
2014-04-28 13:40:27 +01:00
Tor Hveem
20a8289072
Revert the revertion of multiline and clean it up for new directive.
2014-04-26 18:16:46 +02:00
Tor Hveem
921e28d0e2
Remove the old and now unused flat nicklist
2014-04-25 21:05:20 +02:00
Tor Hveem
4e08a52f25
Use recent speaker instead of alphabetical nick tab complete
...
Use _ for sorting.
Fix jshint problems and naming things.
Fix comments
2014-04-25 20:33:01 +02:00
David Cormier
aa42027e98
Merge pull request #258 from lorenzhs/performance
...
Performance improvements
2014-04-24 10:18:51 -04:00
Lorenz Hübschle-Schneider
58f7c9b9be
Improve nick clicking in buffer
...
* focus input line (stops keyboard from disappearing on mobile)
* add a space after the colon (and detect that in multiple highlight detection)
2014-04-23 17:19:42 +02:00
Lorenz Hübschle-Schneider
e732d72550
Detect self-signed cert errors
2014-04-22 19:04:31 +02:00
Lorenz Hübschle-Schneider
3ad76d2ff3
Don't ng-repeat function calls, they're expensive
...
See http://tech.small-improvements.com/2013/09/10/angularjs-performance-with-large-lists/
2014-04-21 18:31:02 +02:00