Commit Graph

617 Commits

Author SHA1 Message Date
Jordan Petridis
5414dbdb37
Wire and use the new Header struct instead. 2017-12-01 01:20:49 +02:00
Jordan Petridis
dd0034327b
Add Content Struct. 2017-12-01 01:12:25 +02:00
Jordan Petridis
774e5b38a0
Add EmptyView Struct. 2017-12-01 01:03:10 +02:00
Jordan Petridis
f1f4d10fe3
Add PopulatedView struct. 2017-12-01 01:00:07 +02:00
Jordan Petridis
84c918bbd5
Fix bug where the played button will always be shown by setting default state to not visible. 2017-11-30 21:39:21 +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
1fbcfa47ac
Refactor Headerbar into a Wrapped struct type. 2017-11-30 21:02:26 +02:00
Jordan Petridis
13751e3708
Tweak gresource initialization. 2017-11-28 10:27:43 +02:00
Jordan Petridis
c92e40e3cf
Run download cleaner on startup. Closes #3. 2017-11-28 10:23:19 +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
9e03aaae27
Upgrade gtk-rs crates. 2017-11-26 21:25:46 +02:00
Jordan Petridis
866904a687
Use generic IntoIterator instead of &[foo] slices. 2017-11-26 07:03:21 +02:00
Jordan Petridis
faab32ba17
Fix podcast flowbox_child title label. 2017-11-25 02:00:37 +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
6098f0f54a
Banner fix? Closes #14. 2017-11-22 10:44:32 +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
7be0b5bbf8
Added a url cleanr. Closes #4. 2017-11-20 22:06:29 +02:00
Jordan Petridis
0ce4107be4
Revert back to using an Arc<Mutex<Connection>> instead of the pool. 2017-11-20 18:09:53 +02:00
Jordan Petridis
ce29602431
I hate everything. 2017-11-20 16:57:27 +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
052988a2b1
Update dependancies. 2017-11-19 18:14:56 +02:00
Jordan Petridis
a6dbf65575
Move stuff from hammond_data/src/lib.rs into utils. 2017-11-18 20:55:19 +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
6894f33895
Renamed hammond-data/src/index_feeds.rs module into feed.rs. 2017-11-18 14:32:58 +02:00
Jordan Petridis
450643371c
Renamed index_feeds and fetch_feeds functions. 2017-11-18 14:24:52 +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
8eca46871d
Moved insert_return functions into methods of insertable models. 2017-11-17 18:10:29 +02:00
Jordan Petridis
54a0f17588
Initial draft of hammond-data/src/index_feed.rs API redesign. 2017-11-17 13:26:39 +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
03637903c6
Update dependancies. 2017-11-14 13:06:09 +02:00
Jordan Petridis
e3f0263dc0
Added appdata.xml and moved .desktop into hammond-gtk/resources. 2017-11-13 17:34:16 +02:00
Jordan Petridis
b042205a3b
Flatpak Runtime crash fix.
The application was trying to register a name different than the one
declared in the flatpak manifest.

Changin the name to org.gnome.Hammond like on manifest should fix it.
2017-11-13 15:06:56 +02:00
Jordan Petridis
b82e4c8932
Home button tweak. 2017-11-10 16:25:40 +02:00
Jordan Petridis
f2476cde65
Refactored empty view logic. 2017-11-10 16:15:53 +02:00
Jordan Petridis
1fbacad8b9
Updated rayon. 2017-11-10 11:42:11 +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
4e6ed416ee
Disabled http refers. 2017-11-07 10:28:04 +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
944156d6fe
#6 Switched to using the safe api for GResource. 2017-11-06 14:56:59 +02:00
Jordan Petridis
79d9f62da5
Draft of implementation using gresources safe api. 2017-11-06 14:35:50 +02:00
Jordan Petridis
80ae1b0c88
Accidently included .gresource file into the git repo. Added gitignore rule. 2017-11-06 12:27:53 +02:00
Jordan Petridis
60a3b39339
Initial implementation of #6 Gresource support. 2017-11-06 12:19:10 +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
27c73e3d30
Flowbox polish. 2017-11-05 11:36:41 +02:00
Jordan Petridis
0e2d8ffd37
Removed the grid from the podcasts_view. 2017-11-05 10:59:56 +02:00
Jordan Petridis
ed0bbfe1ba
Flobox bug fix, connect_child_activated was connected only on the initial flowobx. 2017-11-04 21:40:22 +02:00
Jordan Petridis
e2d1466073
Changed the transition type of the stack. 2017-11-04 18:46:43 +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
a9dec8dbe8
Refactored refresh_feed. 2017-11-04 13:56:23 +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
81af6765f1
Minor Podcast widget improvment. 2017-11-03 10:07:30 +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
79fb8c2290
Minor home button change. 2017-11-02 17:29:53 +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
4da1ee8f10
Update TODO.md. 2017-11-02 08:33:02 +02:00
Jordan Petridis
fc761a963d
Replaced description labels with TextViews. 2017-11-01 17:36:47 +02:00
Jordan Petridis
0e6b6b2cce
Update dependancies. 2017-11-01 10:54:36 +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
7989555a87
Added Delete buttons for podcast and episodes in the ui. 2017-10-26 10:06:51 +03:00
Jordan Petridis
c9b22ea6e2
Improved Readme. 2017-10-24 07:34:18 +03:00
Jordan Petridis
9655ad6084
Removed Searchbutton from the Headerbar.
Removed until there is a working search implementation,
I am not intrested in working on one yet.
2017-10-24 00:45:15 +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
91c6a98e1e
Better declaration of icon to be used in the glade *.ui files. 2017-10-23 04:45:55 +03:00
Jordan Petridis
b2a8091f05
Fixed Another play button fuckup. 2017-10-23 04:44:46 +03:00
Jordan Petridis
f9c5ff5e8c
Ui minor polish. 2017-10-23 04:00:32 +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
14484f6128
Removed hammond-cli crate, as it not longer needed. 2017-10-22 09:12:12 +03:00
Jordan Petridis
6accae0fbe
Cleaned up Gtk::Application a bit. 2017-10-22 07:45:29 +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
cbe50c9163
OK OK, neat trick, clone on &A/RC<T> gives back A/RC<T>. 2017-10-22 04:32:03 +03:00
Jordan Petridis
41a836dd7b
Factor out add_button method of headerbar. 2017-10-22 04:25:07 +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
5f3d2d5bdd
Minor readability imprvments. 2017-10-21 21:21:06 +03:00
Jordan Petridis
24d088ffc3
Minor readability imprvments. 2017-10-21 18:56:18 +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
a6f03ff27c
Added empty view. 2017-10-21 01:06:55 +03:00
Jordan Petridis
486e0ff5e4
Now Upon feed addition only that feed is indexed/updated. 2017-10-21 00:12:24 +03:00
Jordan Petridis
753cdae08f
Minor podcast_view tweak. 2017-10-20 22:56:05 +03:00
Jordan Petridis
63af61d9f6
Update podcast view after db refresh. 2017-10-20 20:09:36 +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
31d986880b
Fixed bug where it would panic on startup if there was an epty liststroe. 2017-10-20 01:22:38 +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
0ed6fee39f
Initial split of podcastsview. 2017-10-18 20:52:24 +03:00
Jordan Petridis
c3d7a11975
minor headerbar improvments. 2017-10-18 18:57:29 +03:00
Jordan Petridis
c0c6301e11
Split headerbar into its own module. 2017-10-18 18:50:38 +03:00
Jordan Petridis
b6d2be3ff5
Split stuff into a utils.rs module. 2017-10-18 18:49:35 +03:00
Jordan Petridis
52f2fa8791
More modulation of the gtk client. 2017-10-18 18:32:39 +03:00
Jordan Petridis
ddf62711c7
Initial split of the gtk+ client monolithic main. 2017-10-18 17:47:38 +03:00
Jordan Petridis
e03aa9dd74
Factored out thread spawning db update. 2017-10-18 06:05:00 +03:00
Jordan Petridis
0e8ea41ca7
Wired add button, Fixed db refresh and changed the index API. 2017-10-18 05:53:52 +03:00
Jordan Petridis
eb0ee994fe
Wired the download button. 2017-10-18 04:28:00 +03:00
Jordan Petridis
eccbbf0fc1
Refactor to use Arc's and a mutex instead of plain Rc<&Sqlcon>. 2017-10-18 04:14:09 +03:00
Jordan Petridis
5d01b735d6
Incoplete dl_button wiring. 2017-10-18 03:36:07 +03:00
Jordan Petridis
80f0f138f3
Wired playbutton to use xdg-open for the files. 2017-10-18 03:13:16 +03:00
Jordan Petridis
e3c1464a67
Spawn a separate thread to update the db and dont freeze the gui. 2017-10-18 02:34:59 +03:00
Jordan Petridis
4d77fa47d8
Make rustfmt ci test a requirement. 2017-10-17 23:08:30 +03:00
Jordan Petridis
952fe6b9da
Episode widget layout tweaks. 2017-10-17 22:52:11 +03:00
Jordan Petridis
31ad416c25
Prototype of an Episode List widget. 2017-10-17 22:26:59 +03:00
Jordan Petridis
90c252b34e
Populating podcast_widget. 2017-10-16 20:54:21 +03:00
Jordan Petridis
f7fb991b9c
Stole the add feed button from gnome-news project, but It's not wired up yet. 2017-10-16 03:23:21 +03:00
Jordan Petridis
1277c90f8b
Moved to a Gio Application and replaced window1 with a GtkApplicatioNWindow. 2017-10-16 02:38:23 +03:00
Jordan Petridis
c98c7d00df
Mapped home button to switch the stack to the grid containing the flowbox. 2017-10-16 01:46:12 +03:00
Jordan Petridis
a8084e1bdf
Switched back to a ListStore for now.
The dream would be to use One TStroe for all/many views,
but that seem to be expensive and not pleasant to work with.
Might also completly drop all stores, or at least some,
since I could construct the views using just Diesel models.
2017-10-15 00:56:31 +03:00
Jordan Petridis
970b151353
Forgot to add then glade file :3 2017-10-14 22:00:56 +03:00
Jordan Petridis
430b8c3995
Added PodcasWidget and prototype stack switch on flowbox_child activation. 2017-10-14 21:59:34 +03:00
Jordan Petridis
648ac9f63f
Hello world of flowbox child activation. 2017-10-14 20:56:46 +03:00
Jordan Petridis
dcc6c0202b
Removed TreeStoreView. 2017-10-14 17:43:18 +03:00
Jordan Petridis
2955579f6d
Split flowbox child into its own glade file, and wrapped them into event box. 2017-10-14 17:27:31 +03:00
Jordan Petridis
460345f49a
Use TreeStore to feed the flowbox view. 2017-10-13 13:41:36 +03:00
Jordan Petridis
9df1e65951
Prototype image cache. 2017-10-13 10:21:06 +03:00
Jordan Petridis
b176f334c3
Rustfmt changes. 2017-10-13 02:33:37 +03:00
Jordan Petridis
ac51370088
Split headerbar on it's own glade.ui file. 2017-10-12 15:41:30 +03:00
Jordan Petridis
a4e2944622
Extend TreeStore. 2017-10-12 15:16:05 +03:00
Jordan Petridis
67a6d9ec65
Switched to a TreeStore instead of a ListStore. 2017-10-11 18:52:52 +03:00
Jordan Petridis
23753708c6
Build time speedup. 2017-10-11 18:34:30 +03:00
Jordan Petridis
52a8c6fe5c
Getting a hang of list and tree stores. 2017-10-11 15:31:21 +03:00
Jordan Petridis
1c508798c9
Updated dependancies. 2017-10-10 16:19:07 +03:00
Jordan Petridis
c8b6d3faa8
Trying out clippy and rustfmt CI-integrations. 2017-10-10 15:50:31 +03:00
Jordan Petridis
920fda13f0
Headerbar tweaks. 2017-10-10 01:59:23 +03:00
Jordan Petridis
9e7a6f5ecd
IT DISPLAYS STUFF!! 2017-10-10 01:26:16 +03:00
Jordan Petridis
10fd018f1f
Babysteps vol. 3. 2017-10-10 01:07:22 +03:00
Jordan Petridis
fda21cdf16
More babysteps. 2017-10-09 20:21:16 +03:00
Jordan Petridis
6b7b7085b5
Gtk+ baby steps 2017-10-09 19:24:06 +03:00
Jordan Petridis
c890da9979
Gtk+ Hello World. 2017-10-05 21:15:53 +03:00