mirror of
https://github.com/pumpbin/pumpbin
synced 2026-03-14 23:04:30 -07:00
refactor: chore iced
This commit is contained in:
21
Cargo.lock
generated
21
Cargo.lock
generated
@@ -1820,7 +1820,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"iced_core",
|
||||
"iced_futures",
|
||||
@@ -1834,7 +1834,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_core"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"bytes",
|
||||
@@ -1852,7 +1852,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_futures"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"futures",
|
||||
"iced_core",
|
||||
@@ -1866,7 +1866,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_graphics"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"bytemuck",
|
||||
@@ -1887,7 +1887,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_renderer"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"iced_graphics",
|
||||
"iced_tiny_skia",
|
||||
@@ -1899,7 +1899,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_runtime"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"iced_core",
|
||||
@@ -1911,7 +1911,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_tiny_skia"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cosmic-text",
|
||||
@@ -1927,7 +1927,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_wgpu"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"bytemuck",
|
||||
@@ -1947,11 +1947,12 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_widget"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"iced_renderer",
|
||||
"iced_runtime",
|
||||
"num-traits",
|
||||
"once_cell",
|
||||
"rustc-hash",
|
||||
"thiserror",
|
||||
"unicode-segmentation",
|
||||
@@ -1960,7 +1961,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "iced_winit"
|
||||
version = "0.13.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
dependencies = [
|
||||
"iced_futures",
|
||||
"iced_graphics",
|
||||
|
||||
@@ -33,9 +33,9 @@ flate2 = "1.0.30"
|
||||
[dependencies.iced]
|
||||
version = "0.13.0-dev"
|
||||
git = "https://github.com/iced-rs/iced"
|
||||
rev = "978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
||||
rev = "143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||
default-features = false
|
||||
features = ["advanced", "svg", "tokio", "wgpu", "image"]
|
||||
features = ["wgpu", "tiny-skia", "advanced", "svg", "tokio", "image"]
|
||||
|
||||
[package.metadata.winresource]
|
||||
LegalCopyright = "Copyright (c) 2024 b1n <b1n@b1n.io>"
|
||||
|
||||
@@ -5,13 +5,14 @@ use std::{fs, ops::Not, path::PathBuf};
|
||||
use anyhow::{anyhow, bail};
|
||||
use dirs::{desktop_dir, home_dir};
|
||||
use iced::{
|
||||
alignment::{Horizontal, Vertical},
|
||||
application,
|
||||
futures::TryFutureExt,
|
||||
widget::{
|
||||
button, column, horizontal_rule, pick_list, radio, row, svg::Handle, text, text_editor,
|
||||
text_input, Column, Svg,
|
||||
},
|
||||
Alignment, Length, Size, Task, Theme,
|
||||
Length, Size, Task, Theme,
|
||||
};
|
||||
use pumpbin::{
|
||||
plugin::{Plugin, PluginInfo, PluginReplace},
|
||||
@@ -476,30 +477,30 @@ impl Maker {
|
||||
text("Plugin Name"),
|
||||
text_input("", self.plugin_name()).on_input(MakerMessage::PluginNameChanged),
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text("Author"),
|
||||
text_input("", self.author()).on_input(MakerMessage::AuthorChanged),
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text("Version"),
|
||||
text_input("", self.version()).on_input(MakerMessage::VersionChanged),
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text("Prefix"),
|
||||
text_input("", self.src_prefix()).on_input(MakerMessage::SrcPrefixChanged),
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text("Max Len"),
|
||||
text_input("", self.max_len()).on_input(MakerMessage::MaxLenChanged),
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
]
|
||||
.spacing(10)
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
column![
|
||||
text("Type"),
|
||||
row![
|
||||
@@ -523,15 +524,15 @@ impl Maker {
|
||||
text_input("", self.size_holder())
|
||||
.on_input(MakerMessage::SizeHolderChanged)
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
),
|
||||
ShellcodeSaveType::Remote => None,
|
||||
})
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.height(30)
|
||||
.spacing(20)
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text("Windows"),
|
||||
row![
|
||||
@@ -545,10 +546,10 @@ impl Maker {
|
||||
choose_button()
|
||||
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::WindowsLib)),
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10)
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text("Linux"),
|
||||
row![
|
||||
@@ -561,10 +562,10 @@ impl Maker {
|
||||
choose_button()
|
||||
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::LinuxLib)),
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10)
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text("Darwin"),
|
||||
row![
|
||||
@@ -578,10 +579,10 @@ impl Maker {
|
||||
choose_button()
|
||||
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::DarwinLib)),
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10)
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
row![
|
||||
column![column![
|
||||
text("Encrypt Shellcode Plug-in"),
|
||||
@@ -592,10 +593,10 @@ impl Maker {
|
||||
ChooseFileType::EncryptShellcodePlugin
|
||||
))
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10),
|
||||
]
|
||||
.align_items(Alignment::Start)]
|
||||
.align_x(Horizontal::Left)]
|
||||
.push_maybe(match self.shellcode_save_type() {
|
||||
ShellcodeSaveType::Local => None,
|
||||
ShellcodeSaveType::Remote => Some(column![
|
||||
@@ -607,12 +608,12 @@ impl Maker {
|
||||
ChooseFileType::FormatUrlRemote
|
||||
))
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10)
|
||||
]),
|
||||
})
|
||||
.width(Length::FillPortion(1))
|
||||
.align_items(Alignment::Center),
|
||||
.align_x(Horizontal::Center),
|
||||
column![column![
|
||||
text("Format Encrypted Shellcode Plug-in"),
|
||||
row![
|
||||
@@ -622,10 +623,10 @@ impl Maker {
|
||||
ChooseFileType::FormatEncryptedShellcodePlugin
|
||||
))
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10),
|
||||
]
|
||||
.align_items(Alignment::Start)]
|
||||
.align_x(Horizontal::Left)]
|
||||
.push_maybe(match self.shellcode_save_type() {
|
||||
ShellcodeSaveType::Local => None,
|
||||
ShellcodeSaveType::Remote => Some(
|
||||
@@ -640,16 +641,16 @@ impl Maker {
|
||||
ChooseFileType::UploadFinalShellcodeRemote
|
||||
))
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10)
|
||||
]
|
||||
.align_items(Alignment::Start)
|
||||
.align_x(Horizontal::Left)
|
||||
),
|
||||
})
|
||||
.width(Length::FillPortion(1))
|
||||
.align_items(Alignment::Center)
|
||||
.align_x(Horizontal::Center)
|
||||
]
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.spacing(10),
|
||||
column![
|
||||
text("Description"),
|
||||
@@ -657,14 +658,14 @@ impl Maker {
|
||||
.on_action(MakerMessage::DescAction)
|
||||
.height(Length::Fill)
|
||||
]
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![row![
|
||||
button("Generate").on_press(MakerMessage::GenerateClicked)
|
||||
]]
|
||||
.align_items(Alignment::Center)
|
||||
.align_x(Horizontal::Center)
|
||||
.width(Length::Fill),
|
||||
]
|
||||
.align_items(Alignment::Start)
|
||||
.align_x(Horizontal::Left)
|
||||
.padding(20)
|
||||
.spacing(10);
|
||||
|
||||
@@ -703,20 +704,20 @@ impl Maker {
|
||||
row![
|
||||
column![version]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::Start),
|
||||
column![row![b1n, github].align_items(Alignment::Center)]
|
||||
.align_x(Horizontal::Left),
|
||||
column![row![b1n, github].align_y(Vertical::Center)]
|
||||
.width(Length::Shrink)
|
||||
.align_items(Alignment::Center),
|
||||
.align_x(Horizontal::Center),
|
||||
column![theme_list]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::End)
|
||||
.align_x(Horizontal::Right)
|
||||
]
|
||||
.padding([0, 20])
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
]
|
||||
.align_items(Alignment::Center);
|
||||
.align_x(Horizontal::Center);
|
||||
|
||||
column![maker, footer].align_items(Alignment::Center)
|
||||
column![maker, footer].align_x(Horizontal::Center)
|
||||
}
|
||||
|
||||
pub fn theme(&self) -> Theme {
|
||||
|
||||
76
src/lib.rs
76
src/lib.rs
@@ -11,13 +11,14 @@ use std::{fmt::Display, fs, ops::Not, path::PathBuf};
|
||||
use anyhow::anyhow;
|
||||
use dirs::{desktop_dir, home_dir};
|
||||
use iced::{
|
||||
alignment::{Horizontal, Vertical},
|
||||
futures::TryFutureExt,
|
||||
widget::{
|
||||
button, column, container, horizontal_rule, pick_list, row, scrollable,
|
||||
button, column, container, horizontal_rule, pick_list, row,
|
||||
svg::{self, Handle},
|
||||
text, text_editor, text_input, vertical_rule, Column, Scrollable, Svg,
|
||||
},
|
||||
Alignment, Background, Length, Task, Theme,
|
||||
Background, Length, Task, Theme,
|
||||
};
|
||||
use plugin::{Plugin, Plugins};
|
||||
use plugin_system::Pass;
|
||||
@@ -489,7 +490,7 @@ impl Pumpbin {
|
||||
.on_press(Message::ChooseShellcodeClicked),
|
||||
]
|
||||
.spacing(3)
|
||||
.align_items(Alignment::Center);
|
||||
.align_y(Vertical::Center);
|
||||
|
||||
let pick_list_handle = || pick_list::Handle::Dynamic {
|
||||
closed: pick_list::Icon {
|
||||
@@ -535,7 +536,7 @@ impl Pumpbin {
|
||||
text!("Generate")
|
||||
]
|
||||
.spacing(3)
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
)
|
||||
.on_press_maybe(
|
||||
if self.selected_binary_type().is_some() && self.shellcode_src().is_empty().not() {
|
||||
@@ -547,10 +548,10 @@ impl Pumpbin {
|
||||
|
||||
let setting_panel = row![shellcode_src, platform, binary_type, generate]
|
||||
.spacing(spacing)
|
||||
.align_items(Alignment::Center);
|
||||
.align_y(Vertical::Center);
|
||||
|
||||
let mut plugin_items = column![]
|
||||
.align_items(Alignment::Center)
|
||||
.align_x(Horizontal::Center)
|
||||
.spacing(10)
|
||||
.width(Length::Fill)
|
||||
.padding(3);
|
||||
@@ -568,7 +569,7 @@ impl Pumpbin {
|
||||
.color(self.theme().extended_palette().primary.base.color)
|
||||
]
|
||||
.spacing(spacing)
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -587,7 +588,7 @@ impl Pumpbin {
|
||||
row![
|
||||
column![text!(" {}", plugin.info().author())]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![row!(
|
||||
text(" ").color(self.theme().extended_palette().primary.base.color),
|
||||
if plugin.bins().windows().is_platform_supported() {
|
||||
@@ -608,13 +609,13 @@ impl Pumpbin {
|
||||
text(" ").color(self.theme().extended_palette().danger.base.color)
|
||||
}
|
||||
)
|
||||
.align_items(Alignment::Center)]
|
||||
.align_y(Vertical::Center)]
|
||||
.width(Length::Shrink)
|
||||
.align_items(Alignment::End)
|
||||
.align_x(Horizontal::Right)
|
||||
]
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
]
|
||||
.align_items(Alignment::Center),
|
||||
.align_x(Horizontal::Center),
|
||||
)
|
||||
.width(Length::Fill)
|
||||
.style(match self.selected_plugin() {
|
||||
@@ -672,14 +673,12 @@ impl Pumpbin {
|
||||
plugin_info_title(" Darwin:"),
|
||||
plugin_info_title(" Description:"),
|
||||
]
|
||||
.align_items(Alignment::Start)]
|
||||
.align_items(Alignment::Start),
|
||||
row![pumpkin]
|
||||
.height(Length::Fill)
|
||||
.align_items(Alignment::End),
|
||||
.align_x(Horizontal::Left)]
|
||||
.align_y(Vertical::Top),
|
||||
row![pumpkin].height(Length::Fill).align_y(Vertical::Bottom),
|
||||
]
|
||||
.width(Length::FillPortion(1))
|
||||
.align_items(Alignment::Start),
|
||||
.align_x(Horizontal::Left),
|
||||
column![
|
||||
text(plugin.info().plugin_name()).size(16),
|
||||
text(plugin.info().author()).size(16),
|
||||
@@ -711,7 +710,7 @@ impl Pumpbin {
|
||||
}
|
||||
]
|
||||
.spacing(3)
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
row![
|
||||
text(BinaryType::Executable.to_string()),
|
||||
{
|
||||
@@ -733,7 +732,7 @@ impl Pumpbin {
|
||||
}
|
||||
]
|
||||
.spacing(3)
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
row![
|
||||
text(BinaryType::Executable.to_string()),
|
||||
{
|
||||
@@ -755,28 +754,25 @@ impl Pumpbin {
|
||||
}
|
||||
]
|
||||
.spacing(3)
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
text_editor(self.plugin_desc())
|
||||
.padding(10)
|
||||
.height(Length::Fill)
|
||||
.on_action(Message::EditorAction),
|
||||
]
|
||||
.width(Length::FillPortion(3))
|
||||
.align_items(Alignment::Start)
|
||||
.align_x(Horizontal::Left)
|
||||
]
|
||||
.spacing(spacing)
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
}
|
||||
None => row![pumpkin],
|
||||
}]
|
||||
.align_items(Alignment::Start);
|
||||
.align_x(Horizontal::Left);
|
||||
|
||||
let plugin_list_view = container(
|
||||
column![
|
||||
Scrollable::with_direction(
|
||||
plugin_items,
|
||||
scrollable::Direction::Vertical(scrollable::Properties::new())
|
||||
)
|
||||
Scrollable::new(plugin_items)
|
||||
.width(Length::Fill)
|
||||
.height(Length::Fill),
|
||||
column![
|
||||
@@ -818,16 +814,16 @@ impl Pumpbin {
|
||||
vertical_rule(0),
|
||||
]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::Center),
|
||||
.align_y(Vertical::Center),
|
||||
]
|
||||
.width(Length::Fill)
|
||||
.height(20)
|
||||
.align_items(Alignment::Center)
|
||||
.align_x(Horizontal::Center)
|
||||
]
|
||||
.spacing(3)
|
||||
.width(Length::Fill)
|
||||
.height(Length::Fill)
|
||||
.align_items(Alignment::Center),
|
||||
.align_x(Horizontal::Center),
|
||||
)
|
||||
.height(Length::Fill)
|
||||
.style(|theme: &Theme| {
|
||||
@@ -840,7 +836,7 @@ impl Pumpbin {
|
||||
plugin_list_view.width(Length::FillPortion(1))
|
||||
]
|
||||
.spacing(spacing)
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
.width(Length::Fill)
|
||||
.height(Length::Fill);
|
||||
|
||||
@@ -879,27 +875,27 @@ impl Pumpbin {
|
||||
row![
|
||||
column![version]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::Start),
|
||||
column![row![b1n, github].align_items(Alignment::Center)]
|
||||
.align_x(Horizontal::Left),
|
||||
column![row![b1n, github].align_y(Vertical::Center)]
|
||||
.width(Length::Shrink)
|
||||
.align_items(Alignment::Center),
|
||||
.align_x(Horizontal::Center),
|
||||
column![theme_list]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::End)
|
||||
.align_x(Horizontal::Right)
|
||||
]
|
||||
.padding([0, padding])
|
||||
.align_items(Alignment::Center)
|
||||
.align_y(Vertical::Center)
|
||||
]
|
||||
.align_items(Alignment::Center);
|
||||
.align_x(Horizontal::Center);
|
||||
|
||||
let home = column![
|
||||
column![setting_panel, plugin_panel]
|
||||
.padding(padding)
|
||||
.align_items(Alignment::Center)
|
||||
.align_x(Horizontal::Center)
|
||||
.spacing(spacing),
|
||||
footer
|
||||
]
|
||||
.align_items(Alignment::Center);
|
||||
.align_x(Horizontal::Center);
|
||||
|
||||
home
|
||||
}
|
||||
|
||||
@@ -40,5 +40,6 @@ fn try_main() -> anyhow::Result<()> {
|
||||
.window(utils::window_settings())
|
||||
.theme(Pumpbin::theme)
|
||||
.run()?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ pub fn replace(
|
||||
|
||||
let position = memmem::find_iter(bin, holder)
|
||||
.next()
|
||||
.ok_or(anyhow!("Not found {}", String::from_utf8_lossy(holder)))?;
|
||||
.ok_or(anyhow!("Not found {}.", String::from_utf8_lossy(holder)))?;
|
||||
let mut random: Vec<u8> = iter::repeat(b'0')
|
||||
.take(max_len - replace_by.len())
|
||||
.collect();
|
||||
|
||||
Reference in New Issue
Block a user