summaryrefslogtreecommitdiffstats
path: root/ui/src/types
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2018-08-10 11:06:47 +0300
committerManos Pitsidianakis <el13635@mail.ntua.gr>2019-06-10 19:40:27 +0300
commit8462d1acebcaeaa7198c79a996e40fd57a92ce25 (patch)
tree26d00f3ef61ac2766d9979498fc99c44f9f30963 /ui/src/types
parentbefe00dea632aca4aa042c4e7e0d0412f769b1ab (diff)
Add HtmlView, bounds checking in pager scrolling and better attachment view
Diffstat (limited to 'ui/src/types')
-rw-r--r--ui/src/types/helpers.rs4
-rw-r--r--ui/src/types/position.rs16
2 files changed, 19 insertions, 1 deletions
diff --git a/ui/src/types/helpers.rs b/ui/src/types/helpers.rs
index cd0d32b7..37afb0c3 100644
--- a/ui/src/types/helpers.rs
+++ b/ui/src/types/helpers.rs
@@ -22,6 +22,7 @@
use std;
use std::io::Write;
use std::path::PathBuf;
+use std::fs::OpenOptions;
use uuid::Uuid;
@@ -38,8 +39,9 @@ impl Drop for File {
impl File {
pub fn file(&mut self) -> std::fs::File {
- std::fs::File::create(&self.path).unwrap()
+ OpenOptions::new().read(true).write(true).create(true).open(&self.path).unwrap()
}
+
pub fn path(&self) -> &PathBuf {
&self.path
}
diff --git a/ui/src/types/position.rs b/ui/src/types/position.rs
index 34b89f18..ea12117c 100644
--- a/ui/src/types/position.rs
+++ b/ui/src/types/position.rs
@@ -55,6 +55,22 @@ pub fn set_y(p: Pos, new_y: usize) -> Pos {
/// ```
pub type Area = (Pos, Pos);
+/// Get an area's height
+///
+/// Example:
+/// ```
+/// use ui::position;
+///
+/// let new_area = ((0, 0), (1, 1));
+/// assert_eq!(height!(new_area), 1);
+/// ```
+#[macro_export]
+macro_rules! height {
+ ($a:expr) => {
+ (get_y(bottom_right!($a))).saturating_sub(get_y(upper_left!($a)))
+ };
+}
+
/// Get the upper left Position of an area
///
/// Example: