Commit Graph

267 Commits

Author SHA1 Message Date
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
Lorenz Hübschle-Schneider ac4e130198 Fix the one-line-only-bug
Fixes #247
2014-04-20 20:44:01 +02:00
David Cormier 81c5974369 Merge pull request #257 from lorenzhs/nickclick
Highlight user when clicking their nick
2014-04-19 10:07:50 -04:00
Lorenz Hübschle-Schneider 76d7572622 Highlight user when clicking their nick 2014-04-19 15:47:33 +02:00
Lorenz Hübschle-Schneider 16664cefc0 Double-tap escape to disconnect 2014-04-19 14:13:32 +02:00
Lorenz Hübschle-Schneider fdbf639201 Don't modify buffer in document visibility change handler if not connected 2014-04-15 22:01:13 +02:00
David Cormier 2cc4172ae0 Merge pull request #240 from lorenzhs/fetchlines
Fix bug where no (more) lines were loaded despite there being more
2014-04-07 14:50:56 -04:00
Lorenz Hübschle-Schneider 10bbb63929 Move cursor to end when navigating history
Fixes #244
2014-04-05 22:18:48 +02:00
David Cormier 8d94dffec9 Rename isMobileDevice to isMobileUi
Right now we are only checking the width screen so we are not
detecting anything that is mobile specific. Will rename to
isMobileDevice when we introduce more specific checks.
2014-03-30 20:16:29 -04:00
Felix Eckhofer 3ed3df9ede Only hide bufferlist when switching to mobile
Showing the keyboard on mobile will trigger a resize event, therefore
trying to use the bufferlist filter will actually hide the bufferlist
making the feature unusable. Bug introduced by 554b1669.
2014-03-30 23:59:52 +02:00
Lorenz Hübschle-Schneider 0e3bf78087 Fix bug where no (more) lines were loaded despite there being more 2014-03-24 18:05:06 +00:00
David Cormier 2000437c3a Merge pull request #238 from lorenzhs/trailingcomma
remove trailing commas
2014-03-19 14:28:54 -04:00
Lorenz Hübschle-Schneider 0ff0c995d4 remove trailing commas 2014-03-19 18:02:20 +00:00
David Cormier f20f7f950e Merge pull request #234 from lorenzhs/notificationcount
Add notification count to notifications
2014-03-19 13:13:04 -04:00
Felix Eckhofer 9d0fb6b0cd Update path to icon for notifications 2014-03-18 10:53:23 +01:00
Lorenz Hübschle-Schneider 54bb156f01 Add notification count to notifications 2014-03-13 20:33:46 +00:00
Lorenz Hübschle-Schneider 554b16698a Show sidebar when switching from mobile to desktop view
(or the other way around)
2014-03-13 18:49:29 +00:00