Branches the login flow off from the main window's UI file.
Like the account settings view we can add it to the stack
manually at run-time. This cuts down greatly on the
complexity of the main_window file.
Used Avatar::circle badge parameter in MemberBox
rustfmt
Show power level next to the matrix user ID
Fix mxid & power level forcing window width
new design closer to @bertob's proposal
Gap around avatar's badge
Power level roles translation
css-themed avatar's colored dot
Reduced badge height
Previously kinetic scrolling was disabled while loading more
messages and was never re-enabled. This could lead to rooms
not scrolling with touch gestures.
Now after we add widgets to the top, we re-enable kinetic
scrolling for our ScrolledWindow.
Fixes https://gitlab.gnome.org/GNOME/fractal/issues/458
"size-allocate" signal can be triggered even when the revealer's state
doesn't change, so we need to check if the revealer is actually
revealing.
The 'obvious' solutions for this don't work. If we connect to
"child-revealed", the scroll only happens *after* expanding the
revealer. If we connect to "reveal-child", we'll only scroll to the
bottom at the beginning of the revealer's expansion, so the list will
grow longer without scrolling.
The handling is still imperfect though, since we always scroll to bottom
regardless where the revealer is.
When allowing stable builds to test verbosity, there
were a few mistakes that caused the stable build to fail.
This commit cleans up those mistakes and makes sure
we don't have an unused variable that produced a warning
for stable builds.
By default, a release build of Fractal will only log errors.
A debug build will use the max level for development
purposes.
Running `fractal -v` will get users the same verbosity as
the debug build. Subsequent `-v`s will use increased
verbosity that will include extra info from our dependencies.
Previously we moved from println! to the `log` crate, but `log` requires you to set a logger in order to output anything. `loggerv` is one such logger, with detailed output that tells you exactly where a log comes from.
Closes https://gitlab.gnome.org/GNOME/fractal/issues/430
Size, position and window maximize state are saved in gsettings
when closing Fractal. They are then restored on startup.
Window position is not working on all windowing systems.
Fixes#123
Currently the cache's directory is only initialized at first access. If
the cache gets destroyed the directory won't be created again, so future
cache data in the process cannot be saved. This can be reproduced by
logging in immediately after logout.
change get_image_media_info to include thumbnail
propagate need for backend
try to debug the code
remove a println I forgot
Progress on using channel for thumb uploads
move thumbnail code to the backend
fix mimetype on json and only call ge_image_media_info on image files
remove random 'e' from util.rs
move get_image_media_info back to the frontend
create Info struct
hehe
lol
add duration to
remove unwraps and put early return in place
change branch in flatpak file to master for our master branch
add gstreamer-editing-services dependency
trade match statements for the ? operator
start video upload support
match mime types from the matrix-sdk library
delete meee
HdyDialog is an adaptive version of GtkDialog that's always modal and adapts to fit the size of the screen if folded with HdyLeaflet. In the process of changing to use HdyDialog the width_request of the dialogs was moved from the window to their HeaderBars.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/377
Fractal crashes when switching to rooms with images due
to an issue with tree_magic. We used tree_magic to sniff out
the mime type, but we can use gio::FileInfo instead.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/37
Right click is not possible on touchscreens, so our right click menu would be inaccessible.
Here we use GtkGestureLongPress to create our right click menu, but only on touch devices.
The width-request of the HeaderBar dictates what size the room HeaderBar needs to be to fold at and the minimum width of the HdyLeaflets total in this case.
Prevents the room content from becoming too narrow.
The room_info labels could cause the leaflet to fold before
they could ellipsize, causing Fractal to fold at the wrong width. By wrapping in ScrolledWindow we work around that issue.
Fractal's main view could only shrink so far, barring usage at smaller sizes such as a phone's screen. HdyLeaflet enables
Fractal to adapt.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/377
We used to request the complete room state to get only the memebers list
if there was no avatar, which was expensive and we actually have already
the members list.
This reduces memory use.
`markdown_popover` used the deprecated start and end properties and abused margins to space elements out.
Now it uses the `margin` property to create margins around widgets on all sides, as well as the properties of GtkGrid and GtkBox.
tree_magic did not previously return an Option from `from_filepath`, and used `unwrap()` internally, occasionally causing a crash when we used `is_gif()`.
On git master they have fixed this, so that's what we need to use until they put out a new release.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/37
This replaces some boolean properties of the Room Model with a single
property called membership. This makes the room membership (joined, left,
invited) and tag (favourties, low priority, etc) mutch more
understandable and gives the Model a better structure.
We previously included `self` of different crates so we could get things from the crates' roots with crate_name::ObjectName; This can be done in Rust 2018 without
the explicit self.
"Save as" should probably be "Save as…"
"You’ve been invited to join to "… → "to join", not "to join to".
Time formats should use a ratio symbol ∶ as suggested by the HIG
"Favorites" → "Favourites" (multiple occurrences)
https://gitlab.gnome.org/GNOME/fractal/issues/417