From b8f41ea8c4693c4af757ddc71df1b786e632b398 Mon Sep 17 00:00:00 2001 From: Carlo Castoldi Date: Fri, 6 Apr 2018 19:47:43 +0200 Subject: [PATCH 1/8] Fixed sortBy showing the wrong sorting column --- .cache-main | Bin 26759 -> 27049 bytes src/main/scala/pacmanlogger/Logger.scala | 2 +- src/main/scala/pacmanlogger/OptionTable.scala | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.cache-main b/.cache-main index a14a3775141cd98b63f227ad84b1346bf9f49af6..34236905e179c2758564b0ffdc17ebaa54ac53b9 100644 GIT binary patch delta 21937 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 l(1)).distinct.sortWith(_<_) val filterTable = new FilterTable("Filter By", filters, 1, mainTable, false, screen, textGraphics) with OptionCursor - val sortByTable = new SortByTable("Sort By", 1, mainTable, false, screen, textGraphics) with OptionCursor + val sortByTable = new SortByTable("Sort By", 0, mainTable, false, screen, textGraphics) with OptionCursor var focussedTable: Cursor = mainTable var mainTableOffset = 0 diff --git a/src/main/scala/pacmanlogger/OptionTable.scala b/src/main/scala/pacmanlogger/OptionTable.scala index 45489b5..04b8876 100644 --- a/src/main/scala/pacmanlogger/OptionTable.scala +++ b/src/main/scala/pacmanlogger/OptionTable.scala @@ -71,6 +71,7 @@ class SortByTable(title: String, var index: Int, sortableTable: Sortable, fullSc case _ => false }), sortableTable, fullScreen, screen, tg) { val sortingTitles = sortableTable.getTitles + sortableTable.sortByIndex(index) override def switchOption(r: List[String]) = { sortingTitles.zipWithIndex foreach { From 6a55a6b50f6618867995cdb354ed6ec463f90de4 Mon Sep 17 00:00:00 2001 From: Carlo Castoldi Date: Fri, 6 Apr 2018 20:33:21 +0200 Subject: [PATCH 2/8] The sorting column is now highlighted --- .cache-main | Bin 27049 -> 27367 bytes .../scala/pacmanlogger/AbstractTable.scala | 9 ++++++--- src/main/scala/pacmanlogger/Cursor.scala | 18 ++++++++---------- src/main/scala/pacmanlogger/Logger.scala | 18 +++++++++--------- src/main/scala/pacmanlogger/Sortable.scala | 10 ++++++++++ src/main/scala/pacmanlogger/Table.scala | 16 +++++++++------- 6 files changed, 42 insertions(+), 29 deletions(-) diff --git a/.cache-main b/.cache-main index 34236905e179c2758564b0ffdc17ebaa54ac53b9..b8582751029d2452819798dfc3fe9684b14f135f 100644 GIT binary patch delta 22857 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 *m%A-vI#8e78_8F zCy{&#V@}2uVyJ*DUL_R*i9K0%x(M&pR17QqLZJ*dR>LV3_7oR40R6E7Tk~Aj;T`GO z{>^ln2kc1KB;lB4kj`KE`obKBB$BrmLIczk{m-#JE3ZM3HIshMt2unNpvEXVOMNk+2jTVAB980Q5EHt&1ail2&Zv+zx*@J}3RiBM64gyv3@5 zf*jaQ`&bF^ke}Qb{J~IHD zCpU-SYj`y^Pd(B~h8qP~2><2(#COu**#R0INdy1BbyNh;o!J6A048M!jruF;l*s2I zkS1_uf$bu^2q?p{KuzHZ%*dt0+&1!jo{CH(;ns*&!?|psI>|2=Dk8t?Fj2%lWnwFq zjvEF}_Qn|h~e0Jt9eA|nr0S|)g1{W; z?_m?g#t#zDba()Kacryh;9NO8px7058}61Bn)Gk|Q)dv9u(LxmAcR4gx@mYLR2vvi zZzr2KFYqobxD@YE4_YVFj5bTynS^jw_T=LkgZ=HNxNyQLuS;4OT# z7-0Ai&yk{@>o{uY;Ad9wmx6aZ7J7Pg+;1sh?AN>S4+9Ry^g-*jgc53oVA02+ zt><+DnqWZ>=I=CDA>jaj10L?aPE-xW3x%Q~D!`gR*Ec!(QWH>r32E;<3E7Y|%8;IO zfc`o<>?|TuQoxfQMDiQJY(-@%L(O%^$@ls)GHBE>*bLV_l^X}@d!Q`vwcr0(pkUW@ zkdIe`5$4EHqGB+&QwORQm|-e<`-)o|a=}RUB{<_=8S3dIQzz!=Hv;kk$tq&I7?hZ+ zT&mfJz8~BHu-xdrvk_{0@Z}a1MwSpfB7lQkuJ-!BhHnN6yi)lkB)^*n*}nD4o$nU9z-L(*s+@9V zRRg%n$z^G?ac}YR2;wj63i}2QUO=@7=mq;Z3xtkhp!7$E_9hzj9oj~`0gT?On0T@R zDm#0&bRW^hwyE4NZvCl!h`dzhJHP79cjpBQHl;0D@c)00Z*kbs_ezS>>DTQ3?~8a} nhUuc|^!QB1FN?NP<71DmQaMCkBE10oSp@!uf`3)K;s5>@@&IME diff --git a/src/main/scala/pacmanlogger/AbstractTable.scala b/src/main/scala/pacmanlogger/AbstractTable.scala index d6ccb3e..62a6d37 100644 --- a/src/main/scala/pacmanlogger/AbstractTable.scala +++ b/src/main/scala/pacmanlogger/AbstractTable.scala @@ -6,6 +6,10 @@ import com.googlecode.lanterna.graphics._ import com.googlecode.lanterna.terminal._ trait AbstractTable { + val screen: Screen + val tg: TextGraphics + var terminalSize: TerminalSize + var colWidths: Array[Int] def getRows: List[List[String]] def getAllRows: List[List[String]] def updateValues: Unit @@ -13,9 +17,8 @@ trait AbstractTable { def scrollRows(n: Int): Unit def scrollStart: Unit def scrollEnd: Unit - def getScreen: Screen def getFirstRow: Int - def getTextGraphics: TextGraphics - def draw(terminalSize: TerminalSize, offset: Integer) + def draw(offset: Int) + def drawHeader(offset: Int) def drawRow(titles: List[String], column: Int, row: Int) } diff --git a/src/main/scala/pacmanlogger/Cursor.scala b/src/main/scala/pacmanlogger/Cursor.scala index 015f5e8..0e4c871 100644 --- a/src/main/scala/pacmanlogger/Cursor.scala +++ b/src/main/scala/pacmanlogger/Cursor.scala @@ -6,19 +6,17 @@ import com.googlecode.lanterna.graphics._ trait Cursor extends AbstractTable { var cursorAbsolutePos = 0 var cursorRelativePos = 0 - val screen = getScreen - val tg = getTextGraphics var rows_ = getRows var nRows_ = rows_.length - abstract override def draw(terminalSize: TerminalSize, offset: Integer) { - super.draw(terminalSize, offset) + abstract override def draw(offset: Int) { + super.draw(offset) if (terminalSize.getRows - 3 < cursorRelativePos) cursorRelativePos = terminalSize.getRows - 3 drawCursor(offset) } - def moveCursor(n: Int, tg: TextGraphics, offset: Int, terminalSize: TerminalSize) { + def moveCursor(n: Int, offset: Int) { rows_ = getRows nRows_ = rows_.length (cursorRelativePos + n) match { @@ -42,27 +40,27 @@ trait Cursor extends AbstractTable { } drawCursor(offset) - draw(terminalSize, offset) + draw(offset) case _ => () } } - def moveCursorStart(tg: TextGraphics, offset: Int, terminalSize: TerminalSize) { + def moveCursorStart(offset: Int) { delCursor(offset) cursorRelativePos = 0 drawCursor(offset) scrollStart - draw(terminalSize, offset) + draw(offset) } - def moveCursorEnd(tg: TextGraphics, offset: Int, terminalSize: TerminalSize) { + def moveCursorEnd(offset: Int) { rows_ = getRows nRows_ = rows_.length delCursor(offset) cursorRelativePos = nRows_ - 1 drawCursor(offset) scrollEnd - draw(terminalSize, offset) + draw(offset) } def delCursor(offset: Int) { diff --git a/src/main/scala/pacmanlogger/Logger.scala b/src/main/scala/pacmanlogger/Logger.scala index ca7d124..2a3e87b 100644 --- a/src/main/scala/pacmanlogger/Logger.scala +++ b/src/main/scala/pacmanlogger/Logger.scala @@ -45,17 +45,17 @@ class Logger(var logs: List[List[String]]) { Thread.sleep(100) } } - mainTable.draw(terminalSize, mainTableOffset) + mainTable.draw(mainTableOffset) var keyStroke = screen.pollInput() while (keyStroke == null || (KeyType.F3 != keyStroke.getKeyType && 'q' != keyStroke.getCharacter) || focussedTable != mainTable) { if (keyStroke != null) { keyStroke.getKeyType match { - case KeyType.ArrowDown => focussedTable.moveCursor(1, textGraphics, focussedTableOffset, terminalSize) - case KeyType.ArrowUp => focussedTable.moveCursor(-1, textGraphics, focussedTableOffset, terminalSize) - case KeyType.PageDown => focussedTable.moveCursor(terminalSize.getRows - 2, textGraphics, focussedTableOffset, terminalSize) - case KeyType.Home => focussedTable.moveCursorStart(textGraphics, focussedTableOffset, terminalSize) - case KeyType.End => focussedTable.moveCursorEnd(textGraphics, focussedTableOffset, terminalSize) - case KeyType.PageUp => focussedTable.moveCursor(-(terminalSize.getRows - 2), textGraphics, focussedTableOffset, terminalSize) + case KeyType.ArrowDown => focussedTable.moveCursor(1, focussedTableOffset) + case KeyType.ArrowUp => focussedTable.moveCursor(-1, focussedTableOffset) + case KeyType.PageDown => focussedTable.moveCursor(terminalSize.getRows - 2, focussedTableOffset) + case KeyType.Home => focussedTable.moveCursorStart(focussedTableOffset) + case KeyType.End => focussedTable.moveCursorEnd(focussedTableOffset) + case KeyType.PageUp => focussedTable.moveCursor(-(terminalSize.getRows - 2), focussedTableOffset) case KeyType.F4 => state.f4 case KeyType.F5 => state.f5 case KeyType.Escape => state.esc @@ -72,9 +72,9 @@ class Logger(var logs: List[List[String]]) { } def draw(state: LoggerState) { - mainTable.draw(terminalSize, mainTableOffset) + mainTable.draw(mainTableOffset) if (mainTableOffset > 0) - focussedTable.draw(terminalSize, 0) + focussedTable.draw(0) drawFoot(state.getFoot, 0) } diff --git a/src/main/scala/pacmanlogger/Sortable.scala b/src/main/scala/pacmanlogger/Sortable.scala index 4b4f64a..5555f76 100644 --- a/src/main/scala/pacmanlogger/Sortable.scala +++ b/src/main/scala/pacmanlogger/Sortable.scala @@ -1,5 +1,6 @@ package pacmanlogger +import com.googlecode.lanterna._ import com.googlecode.lanterna.screen._ import com.googlecode.lanterna.graphics._ @@ -12,6 +13,15 @@ trait Sortable extends Table { tuples = tuples.sortWith{_(sortingIndex)<_(sortingIndex)} } + override def drawHeader(offset: Int) = { + super.drawHeader(offset) + val totalOffset = offset + colWidths.take(sortingIndex).foldLeft(0)((x,y) => x+y) + val columnTitle = titles(sortingIndex)+" " + tg.setForegroundColor(TextColor.ANSI.BLACK) + tg.setBackgroundColor(TextColor.ANSI.CYAN) + tg.putString(totalOffset, 0, columnTitle) + } + def sortByIndex(i: Int) = { sortingIndex = i tuples = tuples.sortWith{_(sortingIndex)<_(sortingIndex)} diff --git a/src/main/scala/pacmanlogger/Table.scala b/src/main/scala/pacmanlogger/Table.scala index 1803a9f..dd82e6f 100644 --- a/src/main/scala/pacmanlogger/Table.scala +++ b/src/main/scala/pacmanlogger/Table.scala @@ -5,7 +5,7 @@ import com.googlecode.lanterna.screen._ import com.googlecode.lanterna.graphics._ import com.googlecode.lanterna.terminal._ -class Table(val titles: List[String], var tuples: List[List[String]], fullScreen: Boolean, screen: Screen, tg: TextGraphics) +class Table(val titles: List[String], var tuples: List[List[String]], fullScreen: Boolean, val screen: Screen, val tg: TextGraphics) extends AbstractTable { var colWidths = new Array[Int](titles.length) @@ -39,17 +39,13 @@ class Table(val titles: List[String], var tuples: List[List[String]], fullScreen tuplesLength = tuples.length } - override def getScreen = screen - override def getTextGraphics = tg override def getFirstRow = firstRow def isLastRow = firstRow + nRows == tuplesLength + 1 - override def draw(terminalSize: TerminalSize, offset: Integer) { + override def draw(offset: Int) { calcColWidths - tg.setForegroundColor(TextColor.ANSI.BLACK) - tg.setBackgroundColor(TextColor.ANSI.GREEN) - drawRow(titles, offset, 0) + drawHeader(offset) tg.setForegroundColor(TextColor.ANSI.CYAN) tg.setBackgroundColor(TextColor.ANSI.DEFAULT) val localRows = rows @@ -57,6 +53,12 @@ class Table(val titles: List[String], var tuples: List[List[String]], fullScreen case (r, i) => drawRow(r, offset, i + 1) } } + + def drawHeader(offset: Int) { + tg.setForegroundColor(TextColor.ANSI.BLACK) + tg.setBackgroundColor(TextColor.ANSI.GREEN) + drawRow(titles, offset, 0) + } override def drawRow(titles: List[String], column: Int, row: Int) { val columns = terminalSize.getColumns From e20f71a09f59fa3702f90c4aec3e8991a36544b0 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Sat, 7 Apr 2018 21:18:03 +0100 Subject: [PATCH 3/8] Add current position to footer The N column was removed so add it back in the form of current/total in the footer. --- src/main/scala/pacmanlogger/Cursor.scala | 3 ++- src/main/scala/pacmanlogger/Logger.scala | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/scala/pacmanlogger/Cursor.scala b/src/main/scala/pacmanlogger/Cursor.scala index 015f5e8..9b087e2 100644 --- a/src/main/scala/pacmanlogger/Cursor.scala +++ b/src/main/scala/pacmanlogger/Cursor.scala @@ -4,7 +4,6 @@ import com.googlecode.lanterna._ import com.googlecode.lanterna.graphics._ trait Cursor extends AbstractTable { - var cursorAbsolutePos = 0 var cursorRelativePos = 0 val screen = getScreen val tg = getTextGraphics @@ -18,6 +17,8 @@ trait Cursor extends AbstractTable { drawCursor(offset) } + def getCursorAbsolutePos = cursorRelativePos + getFirstRow + def moveCursor(n: Int, tg: TextGraphics, offset: Int, terminalSize: TerminalSize) { rows_ = getRows nRows_ = rows_.length diff --git a/src/main/scala/pacmanlogger/Logger.scala b/src/main/scala/pacmanlogger/Logger.scala index 1044db3..9cc85e8 100644 --- a/src/main/scala/pacmanlogger/Logger.scala +++ b/src/main/scala/pacmanlogger/Logger.scala @@ -82,7 +82,7 @@ class Logger(var logs: List[List[String]]) { var offset = off val columns = terminalSize.getColumns() val row = terminalSize.getRows - 1 - var total = "Total "+mainTable.getAllRows.length + var total = (mainTable.getCursorAbsolutePos + 1) + "/" + mainTable.getAllRows.length commands foreach { case (k, c) => textGraphics.setForegroundColor(TextColor.ANSI.CYAN) From 07e1a5e396d9dce8fe2bf51571f0aeb89d14fb05 Mon Sep 17 00:00:00 2001 From: Carlo Castoldi Date: Sun, 8 Apr 2018 22:54:03 +0200 Subject: [PATCH 4/8] Refactoring --- .cache-main | Bin 27367 -> 29023 bytes src/main/scala/pacmanlogger/Cursor.scala | 15 ++++------ .../scala/pacmanlogger/PacmanLogger.scala | 28 ++++++++++++++++-- src/main/scala/pacmanlogger/Table.scala | 21 ++++++------- 4 files changed, 39 insertions(+), 25 deletions(-) diff --git a/.cache-main b/.cache-main index b8582751029d2452819798dfc3fe9684b14f135f..a3e5bd3767d0b07846b27ef4cae158de42dec178 100644 GIT binary patch delta 24547 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 gu var firstRow_ = getFirstRow scrollRows(n) - delCursor(offset) cursorRelativePos += n - (getFirstRow - firstRow_) - - if (cursorRelativePos < 0) { + if (cursorRelativePos < 0) cursorRelativePos = 0 - } - - if (cursorRelativePos > nRows_ - 1) { + else if (cursorRelativePos > nRows_ - 1) cursorRelativePos = nRows_ - 1 - } - + drawCursor(offset) draw(offset) case _ => () @@ -63,7 +60,6 @@ trait Cursor extends AbstractTable { } def delCursor(offset: Int) { - updateValues rows_ = getRows nRows_ = rows_.length tg.setForegroundColor(TextColor.ANSI.CYAN) @@ -77,7 +73,6 @@ trait Cursor extends AbstractTable { } def drawCursor(offset: Int) { - updateValues rows_ = getRows nRows_ = rows_.length tg.setForegroundColor(TextColor.ANSI.BLACK) diff --git a/src/main/scala/pacmanlogger/PacmanLogger.scala b/src/main/scala/pacmanlogger/PacmanLogger.scala index fbc0a52..e56f158 100644 --- a/src/main/scala/pacmanlogger/PacmanLogger.scala +++ b/src/main/scala/pacmanlogger/PacmanLogger.scala @@ -4,8 +4,10 @@ import java.io.{File, PrintWriter, IOException} object PacmanLogger { def main(args: Array[String]) = { - val src = scala.io.Source.fromFile("/var/log/pacman.log") - val lines = src.mkString + val lines = """[2018-04-07 11:43] [ALPM] installed l-smash (2.14.5-1) +[2018-03-07 11:43] [ALPM] installed x264 (1:152.20171224-1) +[2018-05-07 12:25] [ALPM] removed libva-mesa-driver (18.0.0-2) +""" val p = new PacmanLoggerParser val res = p.parseAll(p.logs, lines) res match { @@ -14,6 +16,26 @@ object PacmanLogger { logger.start case x => println("ERROR: "+x.toString) } - src close } } + +//package pacmanlogger +// +//import java.io.{File, PrintWriter, IOException} +// +//object PacmanLogger { +// def main(args: Array[String]) = { +// val src = scala.io.Source.fromFile("/var/log/pacman.log") +// val lines = src.mkString +// val p = new PacmanLoggerParser +// val res = p.parseAll(p.logs, lines) +// res match { +// case p.Success(parsedLogs, _) => +// val logger = new Logger(parsedLogs) +// logger.start +// case x => println("ERROR: "+x.toString) +// } +// src close +// } +//} + diff --git a/src/main/scala/pacmanlogger/Table.scala b/src/main/scala/pacmanlogger/Table.scala index dd82e6f..a7c1bb3 100644 --- a/src/main/scala/pacmanlogger/Table.scala +++ b/src/main/scala/pacmanlogger/Table.scala @@ -48,8 +48,7 @@ class Table(val titles: List[String], var tuples: List[List[String]], fullScreen drawHeader(offset) tg.setForegroundColor(TextColor.ANSI.CYAN) tg.setBackgroundColor(TextColor.ANSI.DEFAULT) - val localRows = rows - localRows.zipWithIndex foreach { + rows.zipWithIndex foreach { case (r, i) => drawRow(r, offset, i + 1) } } @@ -77,25 +76,23 @@ class Table(val titles: List[String], var tuples: List[List[String]], fullScreen } override def scrollRows(n: Int) { - val totalLength = tuplesLength - val rowsLength = nRows - if (firstRow + n >= 0 && firstRow + n + rowsLength <= totalLength) + if (firstRow + n >= 0 && firstRow + n + nRows <= tuplesLength) firstRow += n - else if (firstRow + n >= 0 && firstRow + rowsLength <= totalLength) - firstRow = totalLength - rowsLength - else if (firstRow > 0 && firstRow + n + rowsLength <= totalLength) + else if (firstRow + n >= 0 && firstRow + nRows <= tuplesLength) + firstRow = tuplesLength - nRows + else if (firstRow > 0 && firstRow + n + nRows <= tuplesLength) firstRow = 0 + rows = updateRows } override def scrollStart { firstRow = 0 + rows = updateRows } override def scrollEnd { - val totalLength = tuplesLength - val rowsLength = nRows - - firstRow = totalLength - rowsLength + firstRow = tuplesLength - nRows + rows = updateRows } def calcColWidths { From 8a84dfea0477e987494e2cac6569e16e1604db5c Mon Sep 17 00:00:00 2001 From: Carlo Castoldi Date: Sun, 8 Apr 2018 23:14:50 +0200 Subject: [PATCH 5/8] Fixed bugs introduced by last commit --- .cache-main | Bin 29023 -> 29312 bytes src/main/scala/pacmanlogger/OptionTable.scala | 1 + .../scala/pacmanlogger/PacmanLogger.scala | 28 ++---------------- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/.cache-main b/.cache-main index a3e5bd3767d0b07846b27ef4cae158de42dec178..662f99581243666f93a8fb4d10bc7ddce79de25c 100644 GIT binary patch delta 24788 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 diff --git a/src/main/scala/pacmanlogger/OptionTable.scala b/src/main/scala/pacmanlogger/OptionTable.scala index 04b8876..1f601ee 100644 --- a/src/main/scala/pacmanlogger/OptionTable.scala +++ b/src/main/scala/pacmanlogger/OptionTable.scala @@ -55,6 +55,7 @@ class FilterTable(title: String, tuples: List[String], index: Int, options: List } filterableTable.setFilterFunction(filterFunction) filterableTable.updateValues + updateValues } def filterFunction = { diff --git a/src/main/scala/pacmanlogger/PacmanLogger.scala b/src/main/scala/pacmanlogger/PacmanLogger.scala index e56f158..fbc0a52 100644 --- a/src/main/scala/pacmanlogger/PacmanLogger.scala +++ b/src/main/scala/pacmanlogger/PacmanLogger.scala @@ -4,10 +4,8 @@ import java.io.{File, PrintWriter, IOException} object PacmanLogger { def main(args: Array[String]) = { - val lines = """[2018-04-07 11:43] [ALPM] installed l-smash (2.14.5-1) -[2018-03-07 11:43] [ALPM] installed x264 (1:152.20171224-1) -[2018-05-07 12:25] [ALPM] removed libva-mesa-driver (18.0.0-2) -""" + val src = scala.io.Source.fromFile("/var/log/pacman.log") + val lines = src.mkString val p = new PacmanLoggerParser val res = p.parseAll(p.logs, lines) res match { @@ -16,26 +14,6 @@ object PacmanLogger { logger.start case x => println("ERROR: "+x.toString) } + src close } } - -//package pacmanlogger -// -//import java.io.{File, PrintWriter, IOException} -// -//object PacmanLogger { -// def main(args: Array[String]) = { -// val src = scala.io.Source.fromFile("/var/log/pacman.log") -// val lines = src.mkString -// val p = new PacmanLoggerParser -// val res = p.parseAll(p.logs, lines) -// res match { -// case p.Success(parsedLogs, _) => -// val logger = new Logger(parsedLogs) -// logger.start -// case x => println("ERROR: "+x.toString) -// } -// src close -// } -//} - From a7bb79204b3248b4e04137ac1bb4bd0e5cd73d96 Mon Sep 17 00:00:00 2001 From: Carlo Castoldi Date: Sun, 8 Apr 2018 23:40:27 +0200 Subject: [PATCH 6/8] Fixes #9 --- .cache-main | Bin 29312 -> 29628 bytes src/main/scala/pacmanlogger/Filterable.scala | 3 +-- src/main/scala/pacmanlogger/Sortable.scala | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.cache-main b/.cache-main index 662f99581243666f93a8fb4d10bc7ddce79de25c..bf619ec25980050779ed93f923aa3b2ebd76e984 100644 GIT binary patch delta 23027 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 SI?_2Xg&jUicTU7l@bf=z8)rfQ delta 22711 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 true tuples = totalTuples.filter(filter) - override def updateValues = { + override def updateValues = { // Filterable must be the first to be called on a updateValues call right after Table super.updateValues tuples = totalTuples.filter(filter) } diff --git a/src/main/scala/pacmanlogger/Sortable.scala b/src/main/scala/pacmanlogger/Sortable.scala index 5555f76..7f9e698 100644 --- a/src/main/scala/pacmanlogger/Sortable.scala +++ b/src/main/scala/pacmanlogger/Sortable.scala @@ -6,7 +6,7 @@ import com.googlecode.lanterna.graphics._ trait Sortable extends Table { var sortingIndex = 0 - tuples = tuples.sortWith{_(sortingIndex)<_(sortingIndex)} + updateValues override def updateValues = { super.updateValues @@ -24,7 +24,7 @@ trait Sortable extends Table { def sortByIndex(i: Int) = { sortingIndex = i - tuples = tuples.sortWith{_(sortingIndex)<_(sortingIndex)} + updateValues } def getTitles = titles From 1f78ec3e7558b481fa1739acfe780a0f55ae50ab Mon Sep 17 00:00:00 2001 From: Carlo Castoldi Date: Sat, 21 Apr 2018 18:03:02 +0200 Subject: [PATCH 7/8] closing the source reading from the log file earlier in execution --- .cache-main | Bin 29628 -> 29672 bytes .../scala/pacmanlogger/PacmanLogger.scala | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.cache-main b/.cache-main index bf619ec25980050779ed93f923aa3b2ebd76e984..26b63c849de726a648d4f92295160bc8699ed864 100644 GIT binary patch delta 21933 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 X-BeSXr}n=;$1>87m};<&pt1h|bojJr delta 21867 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 val logger = new Logger(parsedLogs) logger.start - case x => println("ERROR: "+x.toString) + case x => System.err.println("ERROR: "+x.toString) } - src close } } From 0537d6cdfc3527d91764547a566e2d296ce3027b Mon Sep 17 00:00:00 2001 From: Carlo Castoldi Date: Sat, 21 Apr 2018 18:15:22 +0200 Subject: [PATCH 8/8] 0.1.4 --- README.md | 11 +++++++++-- build.sbt | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 86bd2e0..7e02ce2 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,18 @@ An application with terminal GUI inspired by htop that makes Arch pacman's logs ## Installation ### Dependencies Mandatory: - - Java (jre) + - Java (jre) + +Development dependencies: + - Scala (http://www.scala-lang.org/) + - lanterna-3.0.0 (https://github.com/mabe02/lanterna) + - scala-parser-combinators (https://github.com/scala/scala-parser-combinators) ### Package Manager #### Arch Linux -Available via AUR here: https://aur.archlinux.org/packages/pacmanlogger-git/ +Available via AUR: + - https://aur.archlinux.org/packages/pacmanlogger/ + - https://aur.archlinux.org/packages/pacmanlogger-git/ ### Manual (sbt) Compiling: diff --git a/build.sbt b/build.sbt index a0bb255..bdf099b 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,6 @@ name := "PacmanLogger" -version := "0.1.3" +version := "0.1.4" scalaVersion := "2.12.4"