Jordan Petridis
13ba2762ad
Move the download manager to the gtk crate.
2018-01-05 22:02:06 +02:00
Jordan Petridis
4894683924
hammond-gtk: Set the default theme to the dark variant for now.
2017-12-30 18:12:53 +02:00
Jordan Petridis
5942e47f2a
hammond-gtk: Split gtk::Application into its own module.
2017-12-28 16:59:05 +02:00
Jordan Petridis
8cccbe928d
hammond-gtk: Change application title. Addresses #28 .
2017-12-24 20:33:18 +02:00
Jordan Petridis
e7185d2cd3
Visual tweaks, and other minor stuff.
...
Added margins bottom margins on EpisodesView and ShowWidget.
Added some comment's to the code.
Silenced needless_pass_by_value clippy warning.
Updated TODO.md.
2017-12-23 16:56:03 +02:00
Jordan Petridis
f9d17afad3
hammond-gtk: Remove app menu.
2017-12-23 10:39:20 +02:00
Julian Sparber
32c60e7ffa
merge
2017-12-22 22:10:40 +01: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
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