Commit Graph

150 Commits

Author SHA1 Message Date
Julian Sparber
95c290df50 [ui] add custom style and [fix] draw List separators with css 2017-12-22 21:54:28 +01:00
Jordan Petridis
832495bece
EpisodesView: Remove Year category. 2017-12-22 22:14:08 +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
e416bca963
Implemented a pixbuf cache mechanism.
Since gdk_pixbuf::Pixbuf is refference counted and every episode,
use the cover of the Podcast Feed/Show, We can only create a Pixbuf
cover per show and pass around the Rc pointer.

GObjects do not implement Send trait, so SendCell is a way around that.
Also lazy_static requires Sync trait, so that's what the mutexes are.
2017-12-21 17:36:07 +02:00
Jordan Petridis
4c8c1f0013
Add update option to the app menu. 2017-12-17 13:52:00 +02:00
Jordan Petridis
35009e2574
Added an auto-updater that runs each hour. 2017-12-17 13:44:00 +02: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
f8ae2dcffe
Update rustfmt.toml and remove rustfmt warnings. 2017-12-16 18:22:35 +02:00
Jordan Petridis
0ac78fcff1
Added date label into EpisodeWidget. 2017-12-14 18:03:37 +02:00
Jordan Petridis
d74aa9c625
Wire Headerbar back button and change initialiazation order. 2017-12-13 16:36:40 +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
ddb195db3c
Wired up refresh button. 2017-12-11 13:51:16 +02:00
Jordan Petridis
fa33138d66
Start switching to the new stack architecture. 2017-12-11 11:53:29 +02:00
Jordan Petridis
5b19274e6a
Ignore the stack state machine until TryInto trait is stabilized. 2017-12-08 10:00:21 +02:00
Jordan Petridis
1266c6e971
Switch to a Generic Struct instead of an Enum. 2017-12-07 15:24:15 +02:00
Jordan Petridis
2b2f44b10e
Attempt n42 of implementing a StateMachine. 2017-12-07 08:50:20 +02:00
Jordan Petridis
d7af108833
WIP markup to html parser func. 2017-12-07 06:41:10 +02:00
Jordan Petridis
0359e9dd35
Convert EpisodeWidget into a Composed struct. 2017-12-01 07:13:41 +02:00
Jordan Petridis
326ee75cd8
Remove old implementation. 2017-12-01 02:57:55 +02:00
Jordan Petridis
b4b2f24c77
Use content struct instead of plain stack. 2017-12-01 01:30:19 +02:00
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
b32e35c574
Rename podcasts_view module. 2017-11-30 21:10:05 +02:00
Jordan Petridis
c92e40e3cf
Run download cleaner on startup. Closes #3. 2017-11-28 10:23:19 +02:00
Jordan Petridis
9e03aaae27
Upgrade gtk-rs crates. 2017-11-26 21:25:46 +02:00
Jordan Petridis
ce29602431
I hate everything. 2017-11-20 16:57:27 +02:00
Jordan Petridis
5ad52fa4b2
Refactored to remove from Database refferences. 2017-11-19 23:32:37 +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
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
3c6176b1c0
Renamed hammond-data/src/dbcheckup.rs into utils.rs 2017-11-16 23:32:40 +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
8d17d30c82
Completed #6, switch to gresource instead of include_str! macro. 2017-11-06 17:17:55 +02:00
Jordan Petridis
60a3b39339
Initial implementation of #6 Gresource support. 2017-11-06 12:19:10 +02:00
Jordan Petridis
e2d1466073
Changed the transition type of the stack. 2017-11-04 18:46:43 +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
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
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
79fb8c2290
Minor home button change. 2017-11-02 17:29:53 +02:00
Jordan Petridis
4da1ee8f10
Update TODO.md. 2017-11-02 08:33:02 +02:00
Jordan Petridis
401c13eee7
Refactored podcast_widget constructor. 2017-10-31 12:25:15 +02:00
Jordan Petridis
25344aa613
Applied clippy suggestions. 2017-10-30 13:15:44 +02:00
Jordan Petridis
1cdae2b8b0
Temporary exposed download cleaner into the gui. 2017-10-28 08:51:59 +03:00
Jordan Petridis
e2a06fc074
Removed ListStore entirely. 2017-10-24 00:25:48 +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
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
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
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
90c637ed53
Cleaned up unnecessary clone() calls. 2017-10-21 09:08:03 +03:00
Jordan Petridis
5fb783c0c0
Favor explicit refference cloning, as suggested by clippy. 2017-10-21 05:35:54 +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
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
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
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
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
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
52a8c6fe5c
Getting a hang of list and tree stores. 2017-10-11 15:31:21 +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