diff options
| -rw-r--r-- | .github/workflows/build.yml | 6 | ||||
| -rw-r--r-- | Cargo.toml | 7 | ||||
| -rw-r--r-- | iced_drop/src/lib.rs | 18 | ||||
| -rw-r--r-- | rustfmt.toml | 2 | ||||
| -rw-r--r-- | src/config.rs | 8 | ||||
| -rw-r--r-- | src/error.rs | 4 | ||||
| -rw-r--r-- | src/main.rs | 35 | ||||
| -rw-r--r-- | src/panes/code_view.rs | 2 | ||||
| -rw-r--r-- | src/panes/designer_view.rs | 2 | ||||
| -rw-r--r-- | src/panes/element_list.rs | 2 | ||||
| -rw-r--r-- | src/theme.rs | 2 | ||||
| -rw-r--r-- | src/types.rs | 2 | ||||
| -rw-r--r-- | src/types/element_name.rs | 2 | ||||
| -rw-r--r-- | src/types/project.rs | 2 | ||||
| -rwxr-xr-x | src/types/rendered_element.rs | 4 | ||||
| -rw-r--r-- | src/widget.rs | 2 |
16 files changed, 52 insertions, 48 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d2aa072..b0af166 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,11 +9,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - toolchain: [stable, nightly] + rust-version: [stable, nightly] steps: - uses: hecrj/setup-rust-action@v2 with: - rust-version: ${{ matrix.toolchain }} + rust-version: ${{ matrix.rust-version }} - uses: actions/checkout@master - name: Install dependencies run: | @@ -23,7 +23,7 @@ jobs: - name: Build iced-builder binary run: cargo build --verbose --release - name: Archive iced-builder binary - if: matrix.toolchain == 'stable' + if: matrix.rust-version == 'stable' uses: actions/upload-artifact@v4 with: name: iced-builder-x86_64-unknown-linux-gnu @@ -2,12 +2,13 @@ name = "iced_builder" description = "UI builder for iced, built with iced." version = "0.1.0" -edition = "2021" +edition = "2024" authors = ["pml68 <contact@pml68.dev>"] repository = "https://github.com/pml68/iced-builder" license = "GPL-3.0-or-later" categories = ["gui"] keywords = ["gui", "ui", "graphics", "interface", "widgets"] +rust-version = "1.85.0" [dependencies] iced.workspace = true @@ -62,7 +63,6 @@ members = ["iced_drop"] [lints.rust] missing_debug_implementations = "deny" -# missing_docs = "deny" unsafe_code = "deny" unused_results = "deny" @@ -80,6 +80,3 @@ from_over_into = "deny" needless_borrow = "deny" new_without_default = "deny" useless_conversion = "deny" - -[lints.rustdoc] -broken_intra_doc_links = "forbid" diff --git a/iced_drop/src/lib.rs b/iced_drop/src/lib.rs index 9906cbe..c1e1b03 100644 --- a/iced_drop/src/lib.rs +++ b/iced_drop/src/lib.rs @@ -1,12 +1,10 @@ pub mod widget; -use iced::{ - advanced::widget::{operate, Id}, - advanced::{graphics::futures::MaybeSend, renderer}, - task::Task, - Element, Point, Rectangle, -}; - +use iced::advanced::graphics::futures::MaybeSend; +use iced::advanced::renderer; +use iced::advanced::widget::{operate, Id}; +use iced::task::Task; +use iced::{Element, Point, Rectangle}; use widget::droppable::*; use widget::operation::drop; @@ -46,7 +44,11 @@ pub fn find_zones<Message, MF, F>( ) -> Task<Message> where Message: Send + 'static, - MF: Fn(Vec<(Id, Rectangle)>) -> Message + MaybeSend + Sync + Clone + 'static, + MF: Fn(Vec<(Id, Rectangle)>) -> Message + + MaybeSend + + Sync + + Clone + + 'static, F: Fn(&Rectangle) -> bool + Send + 'static, { operate(drop::find_zones(filter, options, depth)).map(move |id| msg(id)) diff --git a/rustfmt.toml b/rustfmt.toml index 197262a..9a5736e 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,4 +1,4 @@ -edition = "2021" +edition = "2024" imports_granularity = "Module" group_imports = "StdExternalCrate" max_width = 80 diff --git a/src/config.rs b/src/config.rs index 5569aae..975437f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,11 +1,11 @@ use std::path::PathBuf; use serde::Deserialize; -use tokio_stream::wrappers::ReadDirStream; use tokio_stream::StreamExt; +use tokio_stream::wrappers::ReadDirStream; -use crate::theme::{theme_from_str, theme_index, Appearance, Theme}; -use crate::{environment, Error}; +use crate::theme::{Appearance, Theme, theme_from_str, theme_index}; +use crate::{Error, environment}; #[derive(Debug, Clone, Default)] pub struct Config { @@ -75,7 +75,7 @@ impl Config { pub async fn load_theme(theme_name: String) -> Result<Appearance, Error> { use tokio::fs; - let read_entry = |entry: fs::DirEntry| async move { + let read_entry = async move |entry: fs::DirEntry| { let content = fs::read_to_string(entry.path()).await.ok()?; let theme: Theme = toml::from_str(content.as_ref()).ok()?; diff --git a/src/error.rs b/src/error.rs index 09e6e86..002a1fc 100644 --- a/src/error.rs +++ b/src/error.rs @@ -16,9 +16,7 @@ pub enum Error { RustFmt(Arc<rust_format::Error>), #[error("the element tree contains no matching element")] NonExistentElement, - #[error( - "the file dialog has been closed without selecting a valid option" - )] + #[error("the file dialog has been closed without selecting a valid option")] DialogClosed, #[error("{0}")] Other(String), diff --git a/src/main.rs b/src/main.rs index 743797c..13510b9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,8 +16,8 @@ use dialogs::{error_dialog, unsaved_changes_dialog, warning_dialog}; use error::Error; use iced::advanced::widget::Id; use iced::widget::pane_grid::{self, Pane, PaneGrid}; -use iced::widget::{container, pick_list, row, text_editor, Column}; -use iced::{clipboard, keyboard, Alignment, Element, Length, Task, Theme}; +use iced::widget::{Column, container, pick_list, row, text_editor}; +use iced::{Alignment, Element, Length, Task, Theme, clipboard, keyboard}; use iced_anim::transition::Easing; use iced_anim::{Animated, Animation}; use panes::{code_view, designer_view, element_list}; @@ -148,7 +148,7 @@ impl App { self.theme.update(event); } Message::CopyCode => { - return clipboard::write(self.editor_content.text()) + return clipboard::write(self.editor_content.text()); } Message::SwitchPage(page) => self.designer_page = page, Message::EditorAction(action) => { @@ -171,7 +171,7 @@ impl App { point, None, None, - ) + ); } Message::HandleNew(name, zones) => { let ids: Vec<Id> = zones.into_iter().map(|z| z.0).collect(); @@ -200,7 +200,7 @@ impl App { point, None, None, - ) + ); } Message::HandleMove(element, zones) => { let ids: Vec<Id> = zones.into_iter().map(|z| z.0).collect(); @@ -242,11 +242,13 @@ impl App { self.project = Project::new(); self.project_path = None; self.editor_content = text_editor::Content::new(); - } else if unsaved_changes_dialog("You have unsaved changes. Do you wish to discard these and create a new project?") { - self.is_dirty = false; - self.project = Project::new(); - self.project_path = None; - self.editor_content = text_editor::Content::new(); + } else if unsaved_changes_dialog( + "You have unsaved changes. Do you wish to discard these and create a new project?", + ) { + self.is_dirty = false; + self.project = Project::new(); + self.project_path = None; + self.editor_content = text_editor::Content::new(); } } } @@ -259,10 +261,15 @@ impl App { Project::from_file(self.config.clone()), Message::FileOpened, ); - } else if unsaved_changes_dialog("You have unsaved changes. Do you wish to discard these and open another project?") { - self.is_dirty = false; - self.is_loading = true; - return Task::perform(Project::from_file(self.config.clone()), Message::FileOpened); + } else if unsaved_changes_dialog( + "You have unsaved changes. Do you wish to discard these and open another project?", + ) { + self.is_dirty = false; + self.is_loading = true; + return Task::perform( + Project::from_file(self.config.clone()), + Message::FileOpened, + ); } } } diff --git a/src/panes/code_view.rs b/src/panes/code_view.rs index 1037b5d..e133078 100644 --- a/src/panes/code_view.rs +++ b/src/panes/code_view.rs @@ -1,5 +1,5 @@ use iced::advanced::text::highlighter::Format; -use iced::widget::{button, pane_grid, row, text, text_editor, Space}; +use iced::widget::{Space, button, pane_grid, row, text, text_editor}; use iced::{Alignment, Background, Border, Font, Length, Theme}; use iced_custom_highlighter::{Highlight, Highlighter, Scope, Settings}; diff --git a/src/panes/designer_view.rs b/src/panes/designer_view.rs index b0ba202..6340f73 100644 --- a/src/panes/designer_view.rs +++ b/src/panes/designer_view.rs @@ -1,4 +1,4 @@ -use iced::widget::{button, container, pane_grid, row, text, themer, Space}; +use iced::widget::{Space, button, container, pane_grid, row, text, themer}; use iced::{Alignment, Element, Length}; use super::style; diff --git a/src/panes/element_list.rs b/src/panes/element_list.rs index 8a1c6eb..a644083 100644 --- a/src/panes/element_list.rs +++ b/src/panes/element_list.rs @@ -1,4 +1,4 @@ -use iced::widget::{column, container, pane_grid, text, Column}; +use iced::widget::{Column, column, container, pane_grid, text}; use iced::{Alignment, Element, Length}; use iced_drop::droppable; diff --git a/src/theme.rs b/src/theme.rs index 6547c6b..a072714 100644 --- a/src/theme.rs +++ b/src/theme.rs @@ -1,7 +1,7 @@ use std::sync::Arc; -use iced::theme::palette::Extended; use iced::Color; +use iced::theme::palette::Extended; use crate::config::Config; diff --git a/src/types.rs b/src/types.rs index 7a6be71..2b743cd 100644 --- a/src/types.rs +++ b/src/types.rs @@ -5,8 +5,8 @@ pub mod rendered_element; use std::path::PathBuf; pub use element_name::ElementName; -use iced::widget::{pane_grid, text_editor}; use iced::Theme; +use iced::widget::{pane_grid, text_editor}; use iced_anim::Event; pub use project::Project; pub use rendered_element::*; diff --git a/src/types/element_name.rs b/src/types/element_name.rs index 2687673..186285d 100644 --- a/src/types/element_name.rs +++ b/src/types/element_name.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; use super::rendered_element::{ - button, column, container, image, row, svg, text, Action, RenderedElement, + Action, RenderedElement, button, column, container, image, row, svg, text, }; use crate::Error; diff --git a/src/types/project.rs b/src/types/project.rs index ee0ff6c..e665d5e 100644 --- a/src/types/project.rs +++ b/src/types/project.rs @@ -7,9 +7,9 @@ use rust_format::{Edition, Formatter, RustFmt}; use serde::{Deserialize, Serialize}; use super::rendered_element::RenderedElement; +use crate::Error; use crate::config::Config; use crate::theme::{theme_from_str, theme_index, theme_to_string}; -use crate::Error; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Project { diff --git a/src/types/rendered_element.rs b/src/types/rendered_element.rs index d2332ce..e321449 100755 --- a/src/types/rendered_element.rs +++ b/src/types/rendered_element.rs @@ -1,12 +1,12 @@ use std::collections::BTreeMap; use iced::advanced::widget::Id; -use iced::{widget, Element, Length}; +use iced::{Element, Length, widget}; use serde::{Deserialize, Serialize}; use super::ElementName; -use crate::types::Message; use crate::Error; +use crate::types::Message; #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct RenderedElement { diff --git a/src/widget.rs b/src/widget.rs index ed2073a..f1eb0f3 100644 --- a/src/widget.rs +++ b/src/widget.rs @@ -1,5 +1,5 @@ -use iced::widget::{container, text, tooltip}; use iced::Element; +use iced::widget::{container, text, tooltip}; pub mod tip { pub use super::tooltip::Position; |
