Skip to content
This repository has been archived by the owner on Apr 10, 2024. It is now read-only.

Commit

Permalink
Updated dependencies.
Browse files Browse the repository at this point in the history
Switched to new egui & icy_engine.

icy_sauce
Fixes Issue #71
mkrueger committed Apr 9, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 1c89905 commit d656382
Showing 37 changed files with 78 additions and 90 deletions.
23 changes: 13 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -10,17 +10,17 @@ repository = "https://github.com/mkrueger/icy_draw"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
eframe = "0.26.0"
egui = { version = "0.26.0" }
egui_extras = { version="0.26.0", features = ["all_loaders"] }
egui_glow = "0.26.0"
eframe = "0.27.2"
egui = { version = "0.27.2" }
egui_extras = { version="0.27.2", features = ["all_loaders"] }
egui_glow = "0.27.2"
egui-modal = "0.3.3"
glow = "0.13.0"
egui_file = "0.15.0"
egui_file = "0.17.0"
egui_tiles = { git ="https://github.com/mkrueger/egui_tiles"}
#egui_tiles = { path = "../egui_tiles" }
egui-bind = "0.11.0"
egui-notify = "0.13.0"
egui-bind = "0.12.0"
egui-notify = "0.14.0"
log = "0.4.20"
log4rs = "1.2.0"
open = "5.0.0"
@@ -36,10 +36,13 @@ clap = { version="4.4.0", features = ["derive"] }
github_release_check = "0.2.1"

icy_engine = { git ="https://github.com/mkrueger/icy_engine" }
icy_engine_egui = { git ="https://github.com/mkrueger/icy_engine_egui" }
icy_engine_gui = { git ="https://github.com/mkrueger/icy_engine" }
view_library = { git ="https://github.com/mkrueger/icy_view" }
icy_sauce = { git ="https://github.com/mkrueger/icy_sauce" }

bstr = "1.9.1"
#icy_engine = { path = "../icy_engine" }
#icy_engine_egui = { path = "../icy_engine_egui" }
#icy_engine_gui = { path = "../icy_engine_gui" }
#view_library = { path = "../icy_view/view_library" }

egui_code_editor = "0.2.2"
@@ -55,7 +58,7 @@ image = { version = "0.24", features = ["gif", "jpeg", "ico", "png", "pnm", "tga
semver = "1.0.20"

i18n-embed = { version = "0.14.0", features = ["fluent-system", "desktop-requester"]}
i18n-embed-fl = "0.7.0"
i18n-embed-fl = "0.8.0"
rust-embed = "8.0.0"
once_cell = "1.16.0"

4 changes: 2 additions & 2 deletions i18n/de/icy_draw.ftl
Original file line number Diff line number Diff line change
@@ -195,9 +195,9 @@ new-file-create=Erstellen
edit-sauce-title=SAUCE Info
edit-sauce-title-label=Titel:
edit-sauce-title-label-length=(35 Zeichen)
edit-sauce-author-label=Autor:
edit-sauce-author-label=Author:
edit-sauce-author-label-length=(20 Zeichen)
edit-sauce-group-label=Grupe:
edit-sauce-group-label=Gruppe:
edit-sauce-group-label-length=(20 Zeichen)
edit-sauce-comments-label=Kommentare (64 Zeichen pro Zeile):
edit-sauce-letter-spacing=9 Pixel Modus:
2 changes: 1 addition & 1 deletion src/model/tools/brush_imp.rs
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ use eframe::egui::Response;
use egui::{load::SizedTexture, Image, TextureHandle, Widget};
use i18n_embed_fl::fl;
use icy_engine::{editor::AtomicUndoGuard, AttributedChar, Layer, TextPane};
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;
use std::{cell::RefCell, rc::Rc};

use crate::{
2 changes: 1 addition & 1 deletion src/model/tools/click_imp.rs
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ use eframe::egui;
use egui::mutex::Mutex;
use i18n_embed_fl::fl;
use icy_engine::{editor::AtomicUndoGuard, AddType, Rectangle, TextPane};
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{model::MKey, AnsiEditor, CharTableToolWindow, Document, Message};

2 changes: 1 addition & 1 deletion src/model/tools/draw_ellipse_filled_imp.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{
paint::{fill_ellipse, BrushMode, ColorMode},
2 changes: 1 addition & 1 deletion src/model/tools/draw_ellipse_imp.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{
paint::{draw_ellipse, BrushMode, ColorMode},
2 changes: 1 addition & 1 deletion src/model/tools/draw_rectangle_filled_imp.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine::Position;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{
paint::{fill_rectangle, BrushMode, ColorMode},
2 changes: 1 addition & 1 deletion src/model/tools/draw_rectangle_imp.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{
paint::{draw_rectangle, BrushMode, ColorMode},
4 changes: 2 additions & 2 deletions src/model/tools/erase_imp.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine::{editor::AtomicUndoGuard, AttributedChar, TextAttribute};
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{AnsiEditor, Event, Message};

@@ -112,7 +112,7 @@ impl Tool for EraseTool {
}

fn handle_no_hover(&mut self, editor: &mut AnsiEditor) {
let lock: &mut eframe::epaint::mutex::MutexGuard<'_, icy_engine_egui::BufferView> = &mut editor.buffer_view.lock();
let lock: &mut eframe::epaint::mutex::MutexGuard<'_, icy_engine_gui::BufferView> = &mut editor.buffer_view.lock();
let get_edit_state_mut = lock.get_edit_state_mut();
if get_edit_state_mut.get_tool_overlay_mask_mut().is_empty() {
return;
2 changes: 1 addition & 1 deletion src/model/tools/flip_imp.rs
Original file line number Diff line number Diff line change
@@ -54,7 +54,7 @@ impl Tool for FlipTool {
fn handle_no_hover(&mut self, editor: &mut AnsiEditor) {
self.cur_pos = Position::new(-1, -1);

let lock: &mut eframe::epaint::mutex::MutexGuard<'_, icy_engine_egui::BufferView> = &mut editor.buffer_view.lock();
let lock: &mut eframe::epaint::mutex::MutexGuard<'_, icy_engine_gui::BufferView> = &mut editor.buffer_view.lock();
let get_edit_state_mut = lock.get_edit_state_mut();
if !get_edit_state_mut.get_tool_overlay_mask_mut().is_empty() {
get_edit_state_mut.get_tool_overlay_mask_mut().clear();
2 changes: 1 addition & 1 deletion src/model/tools/line_imp.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{
paint::{draw_line, BrushMode, ColorMode},
2 changes: 1 addition & 1 deletion src/model/tools/mod.rs
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ use eframe::egui::{self, Response};
use egui::mutex::Mutex;
use i18n_embed_fl::fl;
use icy_engine::Position;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{AnsiEditor, Document, Event, Message};

2 changes: 1 addition & 1 deletion src/model/tools/move_layer_imp.rs
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ use super::{Event, MKey, Position, Tool};
use crate::{to_message, AnsiEditor, Message};
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

#[derive(Default)]
pub struct MoveLayer {
2 changes: 1 addition & 1 deletion src/model/tools/paste_tool.rs
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ use super::{move_layer_imp::get_layer_offset_text, Event, MKey, Position, Tool};
use crate::{to_message, AnsiEditor, Message};
use eframe::egui::{self, Key};
use i18n_embed_fl::fl;
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

#[derive(Default)]
pub struct PasteTool {
2 changes: 1 addition & 1 deletion src/model/tools/pencil_imp.rs
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@ use std::{cell::RefCell, rc::Rc};
use eframe::egui::{self};
use i18n_embed_fl::fl;
use icy_engine::{editor::AtomicUndoGuard, TextAttribute};
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{
paint::{plot_point, BrushMode, ColorMode, PointRole},
2 changes: 1 addition & 1 deletion src/model/tools/pipette_imp.rs
Original file line number Diff line number Diff line change
@@ -123,7 +123,7 @@ impl Tool for PipetteTool {
}
self.cur_pos = None;

let lock: &mut eframe::epaint::mutex::MutexGuard<'_, icy_engine_egui::BufferView> = &mut editor.buffer_view.lock();
let lock: &mut eframe::epaint::mutex::MutexGuard<'_, icy_engine_gui::BufferView> = &mut editor.buffer_view.lock();
let get_edit_state_mut = lock.get_edit_state_mut();
if !get_edit_state_mut.get_tool_overlay_mask_mut().is_empty() {
get_edit_state_mut.get_tool_overlay_mask_mut().clear();
2 changes: 1 addition & 1 deletion src/model/tools/select_imp.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use eframe::egui;
use i18n_embed_fl::fl;
use icy_engine::{editor::AtomicUndoGuard, AddType, Rectangle};
use icy_engine_egui::TerminalCalc;
use icy_engine_gui::TerminalCalc;

use crate::{to_message, AnsiEditor, Message};

2 changes: 1 addition & 1 deletion src/paint/ellipse.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use egui::ahash::HashSet;
use icy_engine::Position;
use icy_engine_egui::BufferView;
use icy_engine_gui::BufferView;

use super::{plot_point, BrushMode, ColorMode, PointRole};

2 changes: 1 addition & 1 deletion src/paint/line.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#![allow(clippy::comparison_chain)]
use icy_engine::Position;
use icy_engine_egui::BufferView;
use icy_engine_gui::BufferView;

use super::{plot_point, BrushMode, ColorMode, PointRole};

2 changes: 1 addition & 1 deletion src/paint/mod.rs
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ use eframe::egui::{self, RichText};
use egui::{load::SizedTexture, Color32, FontId, Image, Rect, Rounding, Sense, Stroke, TextureHandle, Vec2, Widget};
use i18n_embed_fl::fl;
use icy_engine::{AttributedChar, Position, TextAttribute, TextPane, TheDrawFont};
use icy_engine_egui::BufferView;
use icy_engine_gui::BufferView;

use crate::{create_font_image, create_hover_image, AnsiEditor, Message};

2 changes: 1 addition & 1 deletion src/paint/rectangle.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use icy_engine::Position;
use icy_engine_egui::BufferView;
use icy_engine_gui::BufferView;

use super::{plot_point, BrushMode, ColorMode, PointRole};

2 changes: 1 addition & 1 deletion src/plugins/mod.rs
Original file line number Diff line number Diff line change
@@ -104,7 +104,7 @@ impl Plugin {
}

struct LuaBufferView {
buffer_view: Arc<eframe::epaint::mutex::Mutex<icy_engine_egui::BufferView>>,
buffer_view: Arc<eframe::epaint::mutex::Mutex<icy_engine_gui::BufferView>>,
}

impl LuaBufferView {
29 changes: 14 additions & 15 deletions src/ui/dialogs/edit_sauce_dialog.rs
Original file line number Diff line number Diff line change
@@ -1,30 +1,29 @@
use bstr::{BStr, BString};
use eframe::egui::{self, Layout};
use egui_modal::Modal;
use i18n_embed_fl::fl;
use icy_engine::{SauceData, SauceString};
use icy_sauce::SauceMetaInformation;

use crate::{to_message, AnsiEditor, Message, ModalDialog, TerminalResult};

pub struct EditSauceDialog {
pub should_commit: bool,
pub sauce_data: SauceData,
pub sauce_data: SauceMetaInformation,
pub comments: String,
}

impl EditSauceDialog {
pub fn new(buf: &icy_engine::Buffer) -> Self {
let mut comments = String::new();

if let Some(sauce) = buf.get_sauce() {
for s in &sauce.comments {
comments.push_str(&s.to_string());
comments.push('\n');
}
for s in &buf.get_sauce_meta().comments {
comments.push_str(&s.to_string());
comments.push('\n');
}

EditSauceDialog {
should_commit: false,
sauce_data: buf.get_sauce().clone().unwrap_or_default(),
sauce_data: buf.get_sauce_meta().clone(),
comments,
}
}
@@ -46,7 +45,7 @@ impl ModalDialog for EditSauceDialog {
ui.horizontal(|ui| {
let mut tmp_str = self.sauce_data.title.to_string();
ui.add(egui::TextEdit::singleline(&mut tmp_str).char_limit(35));
self.sauce_data.title = SauceString::from(&tmp_str);
self.sauce_data.title = BString::from(tmp_str);
ui.label(fl!(crate::LANGUAGE_LOADER, "edit-sauce-title-label-length"));
});
ui.end_row();
@@ -58,7 +57,7 @@ impl ModalDialog for EditSauceDialog {
ui.horizontal(|ui| {
let mut tmp_str = self.sauce_data.author.to_string();
ui.add(egui::TextEdit::singleline(&mut tmp_str).char_limit(20));
self.sauce_data.author = SauceString::from(&tmp_str);
self.sauce_data.author = BString::from(tmp_str);
ui.label(fl!(crate::LANGUAGE_LOADER, "edit-sauce-author-label-length"));
});
ui.end_row();
@@ -69,11 +68,11 @@ impl ModalDialog for EditSauceDialog {
ui.horizontal(|ui| {
let mut tmp_str = self.sauce_data.group.to_string();
ui.add(egui::TextEdit::singleline(&mut tmp_str).char_limit(20));
self.sauce_data.group = SauceString::from(&tmp_str);
self.sauce_data.group = BString::from(tmp_str);
ui.label(fl!(crate::LANGUAGE_LOADER, "edit-sauce-group-label-length"));
});
ui.end_row();

/*
ui.with_layout(Layout::right_to_left(egui::Align::Center), |ui| {
ui.label(fl!(crate::LANGUAGE_LOADER, "edit-sauce-letter-spacing"));
});
@@ -88,7 +87,7 @@ impl ModalDialog for EditSauceDialog {
ui.horizontal(|ui| {
ui.checkbox(&mut self.sauce_data.use_aspect_ratio, "");
});
ui.end_row();
ui.end_row();*/
});
ui.add_space(16.0);
ui.label(fl!(crate::LANGUAGE_LOADER, "edit-sauce-comments-label"));
@@ -131,7 +130,7 @@ impl ModalDialog for EditSauceDialog {
let mut data = self.sauce_data.clone();
let mut number = 0;
for line in self.comments.lines() {
data.comments.push(SauceString::from(line));
data.comments.push(BString::from(line));
number += 1;
// limit to 255 chars which is the maximum for sauce comment lines.
if number > 255 {
@@ -140,6 +139,6 @@ impl ModalDialog for EditSauceDialog {
}

let bv = &mut editor.buffer_view.lock();
Ok(to_message(bv.get_edit_state_mut().update_sauce_data(Some(data))))
Ok(to_message(bv.get_edit_state_mut().update_sauce_data(data)))
}
}
2 changes: 1 addition & 1 deletion src/ui/dialogs/font_manager.rs
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ pub struct FontManager {
selected: usize,
replace_with: usize,
do_select: bool,
buffer_view: Arc<eframe::epaint::mutex::Mutex<icy_engine_egui::BufferView>>,
buffer_view: Arc<eframe::epaint::mutex::Mutex<icy_engine_gui::BufferView>>,
used_fonts: Vec<usize>,
}

2 changes: 1 addition & 1 deletion src/ui/dialogs/select_character_dialog.rs
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@ use eframe::{
};
use egui_modal::Modal;
use i18n_embed_fl::fl;
use icy_engine_egui::BufferView;
use icy_engine_gui::BufferView;

use crate::{AnsiEditor, Message, ModalDialog, TerminalResult};

4 changes: 2 additions & 2 deletions src/ui/dialogs/settings_dialog.rs
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ use eframe::{
use egui::Context;
use i18n_embed_fl::fl;
use icy_engine::{AttributedChar, BitFont, Buffer, Color, Position, Size, TextAttribute};
use icy_engine_egui::{show_monitor_settings, show_terminal_area, BufferView, MarkerSettings, MonitorSettings};
use icy_engine_gui::{show_monitor_settings, show_terminal_area, BufferView, MarkerSettings, MonitorSettings};

use crate::{CharSetMapping, CharTableToolWindow, Commands, FontSelector, ModalDialog, SelectOutlineDialog, Settings, CHARACTER_SETS, KEYBINDINGS, SETTINGS};
pub struct SettingsDialog {
@@ -325,7 +325,7 @@ impl SettingsDialog {
for (i, view) in self.views.iter().enumerate() {
let font_dims = view.lock().get_buffer_mut().get_font_dimensions();

let opt = icy_engine_egui::TerminalOptions {
let opt = icy_engine_gui::TerminalOptions {
stick_to_bottom: false,
scale: Some(Vec2::new(2.0, 2.0)),
id: Some(egui::Id::new(200 + id)),
2 changes: 1 addition & 1 deletion src/ui/editor/animation/asciicast_encoder.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use icy_engine::{ColorOptimizer, SaveOptions, StringGenerator, TextPane};
use icy_engine_egui::animations::Animator;
use icy_engine_gui::animations::Animator;
use std::{
fs::File,
io::Write,
4 changes: 2 additions & 2 deletions src/ui/editor/animation/encoding.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use egui::Vec2;
use icy_engine::{Buffer, TextPane};
use icy_engine_egui::{animations::Animator, BufferView, TerminalCalc};
use icy_engine_gui::{animations::Animator, BufferView, TerminalCalc};
use std::{
path::{Path, PathBuf},
sync::{
@@ -51,7 +51,7 @@ pub fn start_encoding_thread(

let mut data = Vec::new();

let mut opt = icy_engine_egui::TerminalOptions {
let mut opt = icy_engine_gui::TerminalOptions {
stick_to_bottom: false,
scale: Some(Vec2::new(1.0, 1.0)),
id: Some(egui::Id::new("gif")),
Loading

0 comments on commit d656382

Please sign in to comment.