about summary refs log tree commit diff stats
path: root/src/jabber.c
Commit message (Expand)AuthorAgeFilesLines
* Fixed possible segfault when no type attribute on incoming messagesJames Booth2012-10-221-16/+18
* Removed trailing whitespace from src and testsJames Booth2012-10-211-34/+34
* jabber: rewrite error handlingDmitry Podgorny2012-10-201-52/+26
* handle error messages from serverDmitry Podgorny2012-10-181-1/+47
* Fixed indentationJames Booth2012-10-161-3/+3
* Moved jabber_free_resources callJames Booth2012-10-161-11/+0
* Merge branch 'master' of https://github.com/pasis/profanityJames Booth2012-10-161-0/+8
|\
| * jabber: fix crash when disconnection timeout is reachedDmitry Podgorny2012-10-171-7/+8
* | Attempted fix at causing segfault by freeing connectionJames Booth2012-10-161-7/+11
|/
* Users added to contact list when no precense notificationJames Booth2012-10-041-0/+1
* Moved chat logging to profanity moduleJames Booth2012-10-021-15/+0
* Tidy up jabber module, removed unused code, made local functions privateJames Booth2012-10-021-76/+80
* Removed jabber module dependency on ui moduleJames Booth2012-10-021-1/+0
* Moved roster output handling to profanity moduleJames Booth2012-10-021-17/+14
* Added status handler code to profanity moduleJames Booth2012-10-021-12/+4
* Moved login attempt handler code to profanity moduleJames Booth2012-10-011-21/+3
* Moved incoming message code to profanity moduleJames Booth2012-10-011-4/+2
* Shutdown now correctly handles connectionJames Booth2012-09-231-2/+0
* Created shutdown init function to initiate and wait for shutdownJames Booth2012-09-111-31/+46
* Started work on closing stream on quitJames Booth2012-09-111-5/+22
* Tidied all includesJames Booth2012-08-261-5/+5
* Refactored logJames Booth2012-08-261-9/+9
* Merge common and utilJames Booth2012-08-231-1/+1
* Added some logging and updated man pageJames Booth2012-08-w"> make(HeaderLayout, 0, len(filter.layout)) for _, row := range filter.layout { // To preserve layout alignment, only hide rows if all columns are empty for _, col := range row { if filter.keep(msg, col) { result = append(result, row) break } } } return result } // grid builds a ui grid, populating each cell by calling a callback function // with the current header string. func (layout HeaderLayout) grid(cb func(string) ui.Drawable) (grid *ui.Grid, height int) { rowCount := len(layout) grid = ui.MakeGrid(rowCount, 1, ui.SIZE_EXACT, ui.SIZE_WEIGHT) for i, cols := range layout { r := ui.MakeGrid(1, len(cols), ui.SIZE_EXACT, ui.SIZE_WEIGHT) for j, col := range cols { r.AddChild(cb(col)).At(0, j) } grid.AddChild(r).At(i, 0) } return grid, rowCount }