Jordan Petridis
750abb519b
GtkApplication: Change the action channel polling interval.
2018-01-04 16:42:17 +02:00
Jordan Petridis
c33b493dcd
Migrate Headerbar transitions into Channel actions.
2018-01-03 08:02:06 +02:00
Jordan Petridis
33cd6e69ff
EpisodeWidget: Migrate to use a Channel Action instead of simple Action.
2018-01-03 06:53:19 +02:00
Jordan Petridis
84da6aac8c
ShowWidget: Replace the unsub simple action with a Channel Action.
2018-01-03 06:23:12 +02:00
Jordan Petridis
a0476fedec
ShowWidget: Split init into smaller functions and add comments.
2018-01-03 03:33:33 +02:00
Jordan Petridis
f54ae2f1d5
EpisodeWidget: Code cleanup and splitting.
2018-01-03 03:02:46 +02:00
Jordan Petridis
c67c6e463e
EpisodeWidget: Its still a mess, but a bit cleaner.
2018-01-02 08:19:24 +02:00
Jordan Petridis
c61d322569
EpisodeWidget: Implement shared download state.
2018-01-02 08:00:38 +02:00
Jordan Petridis
37e9b6fbf0
'How hard could it be'
2018-01-02 07:23:53 +02:00
Jordan Petridis
15b3eb115c
ShowWidget: Add tooltip to the website button.
2018-01-01 19:46:27 +02:00
Jordan Petridis
bcc089bd82
ShowWidget: Migrate unsub button to use the GAction instead.
2017-12-29 20:33:47 +02:00
Jordan Petridis
1d78ab7c42
Cargo upgrade.
2017-12-28 23:19:36 +02:00
Jordan Petridis
ada73a616f
EpisodeWidget: Make cancel button insensitive.
2017-12-27 15:13:09 +02:00
Jordan Petridis
0a7825dfff
EpisodeWidget: Remove delete button and hide cancel button till refactor.
2017-12-26 21:36:18 +02:00
Jordan Petridis
2d6f02c407
EpisodeWidget: Do not display size if it's 0 bytes.
2017-12-23 15:44:28 +02:00
Julian Sparber
95c290df50
[ui] add custom style and [fix] draw List separators with css
2017-12-22 21:54:28 +01:00
Jordan Petridis
0129efb02e
EpisodeWidget: Display episode's duration. Closes #21 .
2017-12-22 17:49:15 +02:00
Jordan Petridis
b7e160f735
EpisodeWidget: Change date representation based on it's year. Closes #19 .
2017-12-21 21:50:50 +02:00
Jordan Petridis
4a033e6d89
EpisodeWidget: Remove the decimal places in the size label.
2017-12-21 21:37:51 +02:00
Jordan Petridis
378b8609aa
EpisodeWidget: Change the byte unit based on the size. Closes #18 .
2017-12-21 21:31:25 +02:00
Jordan Petridis
74a6e5814a
ShowWidget: Update EpisodesView when unsub button is activated.
2017-12-21 15:14:29 +02:00
Jordan Petridis
db59bed69d
hammond-data::utils: Modified EpisodeCleaner Diesel model to also be used with played_cleaner.
2017-12-20 19:18:20 +02:00
Jordan Petridis
2e06205eda
Define a new Diesel Model for PodcastCover querries.
...
Define new Diesel Model and impl From<Podcast> trait,
Change the signature of downloader::cache_image function,
Change and merge hammond-gtk::utils::get_pixbuf_from_path functions.
2017-12-20 18:19:31 +02:00
Jordan Petridis
bda09c032a
EpisodeWidget: Update the progrress bar only when download clicked.
2017-12-20 13:18:29 +02:00
Jordan Petridis
61bd7893c7
EpisodeWidget: Remove Podcast depndancy from new() method.
2017-12-18 19:10:50 +02:00
Jordan Petridis
32cd24fc7b
EpisodesView: Added glade files and initial yak shaving.
2017-12-18 18:20:40 +02:00
Jordan Petridis
945600b20d
Merge branch 'master' into 'master'
...
Set dim-label for secondary labels of EpisodeWidget in Glade.
See merge request alatiera/Hammond!7
2017-12-17 14:30:10 +00:00
Constantin Nickel
681b91d368
Set dim-label for secondary labels of EpisodeWidget in Glade.
2017-12-17 13:17:04 +01:00
Jordan Petridis
75fe0f8ff5
Use Default trait for creating Widget's that don't need arguments.
2017-12-17 13:08:51 +02:00
Jordan Petridis
440badf1eb
ShowWidget: Strip html tags from the description.
2017-12-16 20:45:15 +02:00
Jordan Petridis
f7af05a650
EpisodeWidget: Dim/Grey out widget if episode is played.
2017-12-16 20:30:25 +02:00
Jordan Petridis
dbe08f7deb
EpisodeListBox: Improve the separator workaround.
2017-12-16 14:17:27 +02:00
Jordan Petridis
4375c7f4ce
EpisodeWidget: Added a separator in each widget.
...
This is a work around since list_box_set_header_func is not yet
available in the gtk-rs bindings.
2017-12-15 21:06:57 +02:00
Jordan Petridis
3c90e98d43
ShowWidget: Make settings button a GtkMenuButton.
2017-12-15 21:06:43 +02:00
Jordan Petridis
b1af25e4c0
ShowWidget: Wire the website button to open podcast homepage.
2017-12-15 21:06:16 +02:00
Jordan Petridis
6614818418
Use Gtk::Frame to limit ShowWidget's size.
2017-12-15 19:55:13 +02:00
Jordan Petridis
c74153f56a
Initial implementation of the new ShowWidget.
2017-12-15 18:42:49 +02:00
Jordan Petridis
4b0a6ea0f7
Add Show title in the Headerbar when switching to ShowWidget.
2017-12-15 13:45:08 +02:00
Jordan Petridis
0c1e759a45
Dim out secondary label of EpisodeWidget.
2017-12-15 12:27:30 +02:00
Jordan Petridis
0ac78fcff1
Added date label into EpisodeWidget.
2017-12-14 18:03:37 +02:00
Jordan Petridis
e3b540170a
Add file size indication based on rss item length.
2017-12-14 15:32:21 +02:00
Jordan Petridis
afdb79b712
Set the progress bar into activity mode.
2017-12-14 13:38:18 +02:00
Jordan Petridis
8fe6b526a5
Add a new Diesel Model for the EpisodeWidget.
2017-12-14 12:01:35 +02:00
Jordan Petridis
ebbebf7735
Initial implementation of the new EpisodeWidget.
2017-12-14 10:57:29 +02:00
Jordan Petridis
d74aa9c625
Wire Headerbar back button and change initialiazation order.
2017-12-13 16:36:40 +02:00
Jordan Petridis
0a52f87f3a
Rename glade files.
2017-12-13 12:21:34 +02:00
Jordan Petridis
5defb5867a
Move and rename stuff.
2017-12-13 11:35:17 +02:00
Jordan Petridis
01310ee7fa
Working non-state machine stack implementation.
...
Removed the stack state-machines. It was confusing trying to both
implement statemachines and re-design the stack architecture at the same time.
2017-12-12 16:01:19 +02:00
Jordan Petridis
211b36dfa3
Fix showmachine updating.
2017-12-11 16:14:43 +02:00
Jordan Petridis
fa33138d66
Start switching to the new stack architecture.
2017-12-11 11:53:29 +02:00
Jordan Petridis
bc57c33491
Change episode table schema.
2017-12-09 17:38:46 +02:00
Jordan Petridis
b528c48e3b
Run rustfmt.
2017-12-09 05:57:16 +02:00
Jordan Petridis
48e61c6377
Added small a utility that eats extra whitespace.
2017-12-07 18:31:45 +02:00
Jordan Petridis
973212254c
My code is horrible, don't look at it.
2017-12-07 09:43:47 +02:00
Jordan Petridis
9431fb827f
Bug fix.
2017-12-07 08:42:36 +02:00
Jordan Petridis
c07d240532
Sanitize html during feed parsing.
2017-12-07 06:38:31 +02:00
Jordan Petridis
8bd48a09a6
Groupd stack manipulation functions into content module.
2017-12-02 08:58:28 +02:00
Jordan Petridis
0359e9dd35
Convert EpisodeWidget into a Composed struct.
2017-12-01 07:13:41 +02:00
Jordan Petridis
3fca086d14
Renamed stack children.
2017-12-01 05:32:47 +02:00
Jordan Petridis
326ee75cd8
Remove old implementation.
2017-12-01 02:57:55 +02:00
Jordan Petridis
dd0034327b
Add Content Struct.
2017-12-01 01:12:25 +02:00
Jordan Petridis
f1f4d10fe3
Add PopulatedView struct.
2017-12-01 01:00:07 +02:00
Jordan Petridis
94879b4256
Move get_pixbuf_from_path into hammond_gtk/src/utils.rs module.
2017-11-30 21:38:21 +02:00
Jordan Petridis
bf240a00f4
Make a PodcastWidget Struct type.
2017-11-30 21:19:03 +02:00
Jordan Petridis
b32e35c574
Rename podcasts_view module.
2017-11-30 21:10:05 +02:00
Jordan Petridis
3707b70b41
Document Episode Model.
2017-11-28 08:25:04 +02:00
Jordan Petridis
d81f9c6ad7
Fixed stable unit tests.
2017-11-28 04:42:15 +02:00
Jordan Petridis
62da8bbb52
Use source_id as the unique identifieble field for the podcast table.
2017-11-25 01:56:10 +02:00
Jordan Petridis
4a195eb1b7
Moved set_played_now into a method of the Episode model.
2017-11-24 19:48:20 +02:00
Jordan Petridis
aa7c493e81
hammond-data/src/feed.rs api changes.
2017-11-23 18:48:41 +02:00
Jordan Petridis
31328355b1
Methods renaming, Api changes.
2017-11-22 06:25:34 +02:00
Jordan Petridis
9bc6df2cba
Made Disel NewModels private.
2017-11-22 05:50:25 +02:00
Jordan Petridis
e07683c046
partially-fixed the tests and benchmarks.
2017-11-20 01:08:34 +02:00
Jordan Petridis
5ad52fa4b2
Refactored to remove from Database refferences.
2017-11-19 23:32:37 +02:00
Jordan Petridis
5c84b77434
Converted iter_mut into into_iter wherever possible.
2017-11-18 19:23:25 +02:00
Jordan Petridis
494761beaf
Removed id function from diesel models.
...
It's automaticly declared upon derive identifiable,
And there's no need to overwrite it.
2017-11-18 15:23:40 +02:00
Jordan Petridis
1ec4370c7b
Moved Database type-alias into hammond-data/src/lib.rs.
2017-11-17 21:37:55 +02:00
Jordan Petridis
3c6176b1c0
Renamed hammond-data/src/dbcheckup.rs into utils.rs
2017-11-16 23:32:40 +02:00
Jordan Petridis
cfb876e006
Split hammond-data/models into sub modules.
2017-11-15 17:42:22 +02:00
Jordan Petridis
8b4701f1a1
Renamed Gresource path in order to be less confusing.
2017-11-15 14:55:26 +02:00
Jordan Petridis
f2476cde65
Refactored empty view logic.
2017-11-10 16:15:53 +02:00
Jordan Petridis
07c1395c29
Cleanup of downloader module.
2017-11-09 17:47:38 +02:00
Jordan Petridis
8c5cdf75a7
Cleaned up a bit the downloader moduel and added some unit tests.
2017-11-08 20:22:07 +02:00
Jordan Petridis
8d17d30c82
Completed #6 , switch to gresource instead of include_str! macro.
2017-11-06 17:17:55 +02:00
Jordan Petridis
36271afcdd
Error types cleanup.
2017-11-05 15:36:54 +02:00
Jordan Petridis
7b5bca2162
Partial cleanup of dbqueries.
2017-11-05 14:56:24 +02:00
Jordan Petridis
0e2d8ffd37
Removed the grid from the podcasts_view.
2017-11-05 10:59:56 +02:00
Jordan Petridis
b0369974da
Restructe of podcast_widget and podcasts_view modules.
2017-11-04 18:40:54 +02:00
Jordan Petridis
a31dc069de
Fixed #1 . Though it's an ugly hack for now.
2017-11-04 17:57:50 +02:00
Jordan Petridis
456134ab41
Hide mark_played bttn after play button is pressed.
2017-11-04 16:36:45 +02:00
Jordan Petridis
ab5802cca7
Implemented updater_on_startup and refresh_feed sleep.
2017-11-04 14:40:36 +02:00
Jordan Petridis
7a1b272d9e
Removed code duplication and combined refresh_feed and refresh_db.
2017-11-04 13:36:25 +02:00
Jordan Petridis
7e8f39119d
Moved banner.png from assets into hammond-gtk/gtk
2017-11-04 11:28:10 +02:00
Jordan Petridis
72ac709cda
Removed the multiple declarations of the clone macro.
2017-11-03 17:42:48 +02:00
Jordan Petridis
02ae6b4aef
Changed the flowbox cover and banners size to 256x256 px.
2017-11-03 09:28:44 +02:00
Jordan Petridis
422e3fc638
Crappy and ugly prototype of an episode banner prototype.
2017-11-02 13:25:35 +02:00
Jordan Petridis
300fe86dc5
Refactored create_flowbox_child constructor to use Podcast struct instead of raw strings/pixbuf.
2017-11-02 10:10:02 +02:00
Jordan Petridis
fc761a963d
Replaced description labels with TextViews.
2017-11-01 17:36:47 +02:00
Jordan Petridis
893218346d
unwrap handling.
2017-10-31 13:08:53 +02:00
Jordan Petridis
401c13eee7
Refactored podcast_widget constructor.
2017-10-31 12:25:15 +02:00
Jordan Petridis
faf4a4bce0
Renamed watched field in the episode table of the database to played.
2017-10-30 14:13:36 +02:00
Jordan Petridis
25344aa613
Applied clippy suggestions.
2017-10-30 13:15:44 +02:00
Jordan Petridis
ac80ab04d4
Added the ability to mark episodes of a Podcast as watched/played.
2017-10-30 13:02:35 +02:00
Jordan Petridis
9c032a7f17
On download completion also show the delete button for the episode widget.
2017-10-28 09:08:18 +03:00
Jordan Petridis
1cdae2b8b0
Temporary exposed download cleaner into the gui.
2017-10-28 08:51:59 +03:00
Jordan Petridis
eb8fdb2edb
Implemented a downloaded/watched cleaner.
2017-10-28 06:57:32 +03:00
Jordan Petridis
e6ceb86201
Completed functionality of the delete buttons.
2017-10-27 04:31:39 +03:00
Jordan Petridis
0137e1e49b
Implemented Partial feed deletion.
...
Cleans up the db but it leaves behind the downloaded content atm.
2017-10-26 15:02:44 +03:00
Jordan Petridis
674b233805
Wired and implemented the functionality for episde delete button.
2017-10-26 14:00:33 +03:00
Jordan Petridis
c9b22ea6e2
Improved Readme.
2017-10-24 07:34:18 +03:00
Jordan Petridis
e2a06fc074
Removed ListStore entirely.
2017-10-24 00:25:48 +03:00
Jordan Petridis
8a313c145b
Made a type allias for Arc<Mutex<SqliteConnection>.
2017-10-23 12:29:04 +03:00
Jordan Petridis
0e5d976514
Database optimizations.
2017-10-23 10:47:54 +03:00
Jordan Petridis
9beea21a4f
Code cleanup.
...
Converted rest of .clone() s on ref pointer to use the macro instead.
Stopped ignoring clippy clone_on_ref_pointer warnings since there shouldn't
be any, anymore.
2017-10-23 07:37:07 +03:00
Jordan Petridis
539a5eae2f
Implemented the recommended clone macro from gtk-rs docs.
2017-10-23 07:09:23 +03:00
Jordan Petridis
b2a8091f05
Fixed Another play button fuckup.
2017-10-23 04:44:46 +03:00
Jordan Petridis
51c1391d7d
Fixed a play button bug.
...
The local_uri value for the play button was assigned at parent widget evaluation,
instead when being clicked, and so when downloading something it would not be able
to open the file without reloading the parent widget and refreshing the value.
2017-10-23 00:27:16 +03:00
Jordan Petridis
02cce8b915
I hate Arcs and Rcs.
2017-10-22 05:15:41 +03:00
Jordan Petridis
6ffacaa6d8
Final2, I swear, when dealing with Arc/rc always use references.
2017-10-22 04:51:34 +03:00
Jordan Petridis
716806e0e9
Trying out storeless designt.
2017-10-22 04:09:44 +03:00
Jordan Petridis
51f52c3408
Async update of the download and play buttons upon download finished.
2017-10-22 01:02:48 +03:00
Jordan Petridis
28a10ac462
Async update refinements, Stack transition refinements.
2017-10-21 23:27:53 +03:00
Jordan Petridis
2077215491
Changed arguments Arc<T> to bepassed by value, clone on arc just copies the refference anyway.
2017-10-21 22:53:04 +03:00
Jordan Petridis
7b0a8f0e25
Added a probably terrible way to update podcast_view async.
2017-10-21 22:34:20 +03:00
Jordan Petridis
f58ad6bd8c
applied some clippy suggestions.
2017-10-21 21:24:19 +03:00
Jordan Petridis
90c637ed53
Cleaned up unnecessary clone() calls.
2017-10-21 09:08:03 +03:00
Jordan Petridis
86019710a1
Episode widgets update upon download.
2017-10-21 08:05:00 +03:00
Jordan Petridis
5fb783c0c0
Favor explicit refference cloning, as suggested by clippy.
2017-10-21 05:35:54 +03:00
Jordan Petridis
048d4800da
Improved of hanling of some Result types in hammond-data crate.
2017-10-21 04:58:15 +03:00
Jordan Petridis
b6fd0ed7ce
renamed gtk/podcasts_grid.ui to gtk/podcasts_view.ui
2017-10-20 04:58:45 +03:00
Jordan Petridis
ff31ad668f
Overall impromvment into episode_widget.
...
Parse html into plain text for the episode widget.
Implement on per episode/child description evaluation.
Minor episode_widget tweaks.
2017-10-20 04:51:02 +03:00
Jordan Petridis
590e99b7e8
Small refinements, handling of unwraps, addin of TODOs and other Notes.
2017-10-19 17:22:17 +03:00
Jordan Petridis
70d1f44147
podcasts_view further refactoring.
2017-10-18 22:24:05 +03:00
Jordan Petridis
52f2fa8791
More modulation of the gtk client.
2017-10-18 18:32:39 +03:00