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
Daniel Schulte
862c56d91e
Add format-string version of tui_abort and use it to display SQLite errors
2020-11-22 18:13:46 +01:00
Daniel Schulte
1f64677fcf
Make a backup of the area an overlay will occupy and restore it afterwards
2020-11-22 18:10:39 +01:00
Daniel Schulte
89f0c26484
Move handle_action to tui.h and use it in functions there
2020-11-22 18:09:17 +01:00
Daniel Schulte
71f9ebaed7
Initial commit
2020-11-22 16:17:14 +01:00