Commit Graph

54 Commits

Author SHA1 Message Date
Daniel Schulte 5c43b08b03 Show video channel name column when viewing virtual channels 2020-12-06 19:40:10 +01:00
Daniel Schulte c3bb1156b5 Ignore virtual channels for notifications 2020-12-04 18:05:59 +01:00
Daniel Schulte b272f64b2d Don't crash on API errors while refreshing a channel 2020-12-04 09:01:15 +01:00
Daniel Schulte d1cdf1eee4 Store next refresh interval after calculating the new value 2020-12-03 09:19:34 +01:00
Daniel Schulte c1e56f4c14 Clarify README.md regarding configuration file format 2020-12-02 23:24:51 +01:00
Daniel Schulte 1502d70cc9 Add auto refresh support 2020-12-02 23:13:57 +01:00
Daniel Schulte 89f7d320b0 Add support for timeouts in tp_wait_for_event 2020-12-02 23:06:42 +01:00
Daniel Schulte d4ff88ab17 Return an empty channel object if there is no pageInfo item
This usually happens if there are API errors
2020-12-02 22:55:49 +01:00
Daniel Schulte a6fa67bf5a Show a message box when parsing the YT API response fails 2020-12-02 21:11:44 +01:00
Daniel Schulte c41d8f7157 Add wrapfile to fetch get the nlohmann_json library when not installed 2020-12-01 23:23:38 +01:00
Daniel Schulte a557165850 Report JSON parsing errors inside the application 2020-12-01 23:20:57 +01:00
Daniel Schulte 1d06834848 Allow the user to get notified on new videos 2020-12-01 23:20:10 +01:00
Daniel Schulte 6081b9e542 Factor out config string list reading into a separate function 2020-12-01 22:56:48 +01:00
Daniel Schulte 0f777ef139 Return number of new (unwatched) videos when fetching updates 2020-12-01 20:37:08 +01:00
Daniel Schulte da84ddce7b Move process launching (and argument substitution) into separate function 2020-12-01 20:36:14 +01:00
Daniel Schulte 1be6d1ad29 meson.build: Specify minimum required dependency versions 2020-11-28 15:42:31 +01:00
Daniel Schulte 1ca53d1491 Add license 2020-11-28 15:40:46 +01:00
Daniel Schulte 4e0bc327ae Update .gitignore 2020-11-28 15:12:16 +01:00
Daniel Schulte fbf41bf142 Disable action to show video description for now 2020-11-28 15:09:53 +01:00
Daniel Schulte fb9156d632 Use meson/ninja to build instead of qmake 2020-11-28 15:08:28 +01:00
Daniel Schulte 539e51ab0f Remove references to prerelease termpaint distribution and use pkg-config 2020-11-28 10:49:40 +01:00
Daniel Schulte 88bd2300a9 Update README wording regarding dependencies 2020-11-27 00:33:23 +01:00
Daniel Schulte b92763b216 Implement a better text wrapping algorithm 2020-11-27 00:32:10 +01:00
Daniel Schulte eead85d9be README: Fix filename of the example configuration file 2020-11-26 20:26:22 +01:00
Daniel Schulte f2a1e8dbdd Use a diffrent checkmark in the README and finish a sentence 2020-11-26 20:25:09 +01:00
Daniel Schulte 577e0d076d Add README.md 2020-11-26 20:23:35 +01:00
Daniel Schulte 00d0e6946b Don't explicitly store the video count in the channel object anymore 2020-11-26 19:44:37 +01:00
Daniel Schulte fa4fec5f81 Look for configuration file next to the executable not in CWD 2020-11-26 19:41:48 +01:00
Daniel Schulte a4b59ddb86 Clean up formatting/naming 2020-11-26 19:40:39 +01:00
Daniel Schulte 806e45fc5c Show configuration file location if the API key isn't specified 2020-11-26 19:40:11 +01:00
Daniel Schulte 9e50c06ceb Change default database location and name 2020-11-26 19:38:00 +01:00
Daniel Schulte b4c4fb75c0 Add watchCommand config option
watchCommand is specified as a list of strings. The first entry is the
application to run. The rest are arguments. Arguments don't need to be
quoted as the shell is not involved in running the command.
"{{vid}}" will be replaced with the Id of the video to watch.

The default command is still to call xdg-open with the YT URL
2020-11-26 19:30:26 +01:00
Daniel Schulte 3135764e5a Remove old video status indicator column 2020-11-26 13:28:51 +01:00
Daniel Schulte c571e5fec4 Add virtual channel for all unwatched videos 2020-11-26 13:27:11 +01:00
Daniel Schulte 160fb1cfff Add C-l to force repaint 2020-11-26 13:25:25 +01:00
Daniel Schulte ac894128c6 Free data from cURL URL buffer as early as possible
Freeing it where it was causes a segmentation fault for some reason
2020-11-23 00:03:59 +01:00
Daniel Schulte 9c324d1eb9 Disable using asan by default 2020-11-23 00:03:04 +01:00
Daniel Schulte aff9adc721 Fix PageDown doing the same as ArrowDown 2020-11-23 00:02:51 +01:00
Daniel Schulte acfe00ef21 Use nlohmann::json::count so it works with the version shipped in Debian 10 2020-11-22 23:44:33 +01:00
Daniel Schulte 886e714873 Clean up action handlers 2020-11-22 21:43:30 +01:00
Daniel Schulte b116b89977 Initialize TUI lookup tables in tp_init instead of using static init 2020-11-22 21:38:14 +01:00
Daniel Schulte d3028c28b2 Optimize loading channel info by getting rid of nested SELECT statements 2020-11-22 21:31:26 +01:00
Daniel Schulte 87d85c60f3 Move more database stuff out of the main application file 2020-11-22 21:29:45 +01:00
Daniel Schulte e47089325d Use db_transaction helper class instead of using sqlite3_exec directly 2020-11-22 20:37:12 +01:00
Daniel Schulte 215de112c7 Remove lots of unnecessary "extern" keywords 2020-11-22 20:34:48 +01:00
Daniel Schulte 971e8fa99e Remove debug messages related to config file loading 2020-11-22 19:29:10 +01:00
Daniel Schulte baec1fdf2c Remove superfluous config object empty check
Empty objects obviously also don't contain the keys we're looking for.
2020-11-22 19:28:51 +01:00
Daniel Schulte 900cb9a3e1 Update message shown if no channels are configured 2020-11-22 19:19:28 +01:00
Daniel Schulte 71654fe32e Move some DB stuff into separate files and create the DB if it's not there 2020-11-22 19:18:45 +01:00
Daniel Schulte d43bb02f72 Fix get_selection: Allow the user to make a selection with the Enter key 2020-11-22 19:15:35 +01:00