mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-01-26 06:03:22 -05:00
Add Linux native GUI program for Ventoy2Disk.
x86_64 gtk2/gtk3 i386 gtk2/gtk3 aarch64 gtk3 mips64el gtk3
This commit is contained in:
parent
7db83dc0f1
commit
dd2411d7d4
BIN
INSTALL/VentoyGUI.aarch64
Normal file
BIN
INSTALL/VentoyGUI.aarch64
Normal file
Binary file not shown.
BIN
INSTALL/VentoyGUI.i386
Normal file
BIN
INSTALL/VentoyGUI.i386
Normal file
Binary file not shown.
BIN
INSTALL/VentoyGUI.mips64el
Normal file
BIN
INSTALL/VentoyGUI.mips64el
Normal file
Binary file not shown.
BIN
INSTALL/VentoyGUI.x86_64
Normal file
BIN
INSTALL/VentoyGUI.x86_64
Normal file
Binary file not shown.
@ -1,109 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if echo "$*" | grep -q '[-]v'; then
|
|
||||||
set -x
|
|
||||||
fi
|
|
||||||
|
|
||||||
print_usage() {
|
|
||||||
echo 'Usage: VentoyWebDeepin.sh [ OPTION ]'
|
|
||||||
echo ' OPTION: (optional)'
|
|
||||||
echo ' -H x.x.x.x http server IP address (default is 127.0.0.1)'
|
|
||||||
echo ' -p PORT http server PORT (default is 24680)'
|
|
||||||
echo ' -h print this help'
|
|
||||||
echo ' -v print verbose info'
|
|
||||||
echo ''
|
|
||||||
}
|
|
||||||
|
|
||||||
print_err() {
|
|
||||||
echo ""
|
|
||||||
echo "$*"
|
|
||||||
echo ""
|
|
||||||
}
|
|
||||||
|
|
||||||
get_user() {
|
|
||||||
name=$(logname)
|
|
||||||
if [ -n "$name" -a "$name" != "root" ]; then
|
|
||||||
echo $name; return
|
|
||||||
fi
|
|
||||||
|
|
||||||
name=${HOME#/home/}
|
|
||||||
if [ -n "$name" -a "$name" != "root" ]; then
|
|
||||||
echo $name; return
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
uid=$(id -u)
|
|
||||||
if [ $uid -ne 0 ]; then
|
|
||||||
exec sudo sh $0 $*
|
|
||||||
fi
|
|
||||||
|
|
||||||
OLDDIR=$(pwd)
|
|
||||||
|
|
||||||
if uname -m | egrep -q 'aarch64|arm64'; then
|
|
||||||
TOOLDIR=aarch64
|
|
||||||
elif uname -m | egrep -q 'x86_64|amd64'; then
|
|
||||||
TOOLDIR=x86_64
|
|
||||||
elif uname -m | egrep -q 'mips64'; then
|
|
||||||
TOOLDIR=mips64el
|
|
||||||
else
|
|
||||||
TOOLDIR=i386
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f ./tool/$TOOLDIR/V2DServer ]; then
|
|
||||||
if [ -f ${0%VentoyWebDeepin.sh}/tool/$TOOLDIR/V2DServer ]; then
|
|
||||||
cd ${0%VentoyWebDeepin.sh}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
PATH=./tool/$TOOLDIR:$PATH
|
|
||||||
|
|
||||||
if [ ! -f ./boot/boot.img ]; then
|
|
||||||
if [ -d ./grub ]; then
|
|
||||||
echo "Don't run VentoyWebDeepin.sh here, please download the released install package, and run the script in it."
|
|
||||||
else
|
|
||||||
echo "Please run under the correct directory!"
|
|
||||||
fi
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
HOST="127.0.0.1"
|
|
||||||
PORT=24680
|
|
||||||
|
|
||||||
while [ -n "$1" ]; do
|
|
||||||
if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
|
||||||
print_usage
|
|
||||||
exit 0
|
|
||||||
elif [ "$1" = "-v" ]; then
|
|
||||||
VERBOSE=1
|
|
||||||
elif [ "$1" = "-H" ]; then
|
|
||||||
shift
|
|
||||||
if echo $1 | grep -q '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*'; then
|
|
||||||
HOST="$1"
|
|
||||||
else
|
|
||||||
print_err "Invalid host $1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
elif [ "$1" = "-p" ]; then
|
|
||||||
shift
|
|
||||||
if [ $1 -gt 0 -a $1 -le 65535 ]; then
|
|
||||||
PORT="$1"
|
|
||||||
else
|
|
||||||
print_err "Invalid port $1"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
if ps -ef | grep "V2DServer.*$HOST.*$PORT" | grep -q -v grep; then
|
|
||||||
print_err "Another ventoy server is running now, please close it first."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if grep -q -i uos /etc/os-release; then
|
|
||||||
. ./tool/WebUos.sh
|
|
||||||
else
|
|
||||||
. ./tool/WebDeepin.sh
|
|
||||||
fi
|
|
582
INSTALL/tool/VentoyGTK.glade
Normal file
582
INSTALL/tool/VentoyGTK.glade
Normal file
@ -0,0 +1,582 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk+" version="2.2"/>
|
||||||
|
<object class="GtkImage" id="image_refresh">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkWindow" id="part_cfg_dlg">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="resizable">False</property>
|
||||||
|
<property name="title" translatable="yes">Partition Configuration</property>
|
||||||
|
<property name="modal">True</property>
|
||||||
|
<property name="default_width">460</property>
|
||||||
|
<property name="default_height">270</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed_partcfg_1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_space_check">
|
||||||
|
<property name="width_request">440</property>
|
||||||
|
<property name="height_request">50</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed_space_check">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCheckButton" id="space_check_btn">
|
||||||
|
<property name="width_request">380</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">10</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">10</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_space_value">
|
||||||
|
<property name="width_request">220</property>
|
||||||
|
<property name="height_request">60</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed_space_value">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkEntry" id="entry_reserve_space">
|
||||||
|
<property name="width_request">200</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="invisible_char">*</property>
|
||||||
|
<property name="primary_icon_activatable">False</property>
|
||||||
|
<property name="secondary_icon_activatable">False</property>
|
||||||
|
<property name="primary_icon_sensitive">True</property>
|
||||||
|
<property name="secondary_icon_sensitive">True</property>
|
||||||
|
<property name="width_chars">10</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">10</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">60</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_space_unit">
|
||||||
|
<property name="width_request">220</property>
|
||||||
|
<property name="height_request">60</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed_space_unit">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkComboBoxText" id="comboboxtext_unit">
|
||||||
|
<property name="width_request">200</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="active">1</property>
|
||||||
|
<items>
|
||||||
|
<item translatable="yes">MB</item>
|
||||||
|
<item translatable="yes">GB</item>
|
||||||
|
</items>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">10</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">230</property>
|
||||||
|
<property name="y">60</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_space_align">
|
||||||
|
<property name="width_request">440</property>
|
||||||
|
<property name="height_request">50</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed_space_alian">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCheckButton" id="space_align_btn">
|
||||||
|
<property name="width_request">380</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="active">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">10</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">140</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button_partcfg_ok">
|
||||||
|
<property name="label" translatable="yes">OK</property>
|
||||||
|
<property name="width_request">100</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">90</property>
|
||||||
|
<property name="y">210</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button_partcfg_cancel">
|
||||||
|
<property name="label" translatable="yes">Cancel</property>
|
||||||
|
<property name="width_request">100</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">270</property>
|
||||||
|
<property name="y">210</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_dummy1">
|
||||||
|
<property name="width_request">460</property>
|
||||||
|
<property name="height_request">25</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">250</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
|
||||||
|
<object class="GtkWindow" id="window">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="resizable">False</property>
|
||||||
|
<property name="title" translatable="yes">Ventoy2Disk</property>
|
||||||
|
<property name="modal">False</property>
|
||||||
|
<property name="window_position">center</property>
|
||||||
|
<property name="default_width">480</property>
|
||||||
|
<property name="default_height">365</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed_main">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuBar" id="menubar1">
|
||||||
|
<property name="width_request">480</property>
|
||||||
|
<property name="height_request">22</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="menu_option">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Options</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<child type="submenu">
|
||||||
|
<object class="GtkMenu" id="submenu_option">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCheckMenuItem" id="menu_item_secure">
|
||||||
|
<property name="label">Secure Boot Support</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="active">False</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="menu_part_style">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Partition Style</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<child type="submenu">
|
||||||
|
<object class="GtkMenu" id="submenu_part_style">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkRadioMenuItem" id="menu_item_mbr">
|
||||||
|
<property name="label">MBR</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="active">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkRadioMenuItem" id="menu_item_gpt">
|
||||||
|
<property name="label">GPT</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="active">False</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="menu_item_part_cfg">
|
||||||
|
<property name="label">Partition Configuration</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="menu_item_clear">
|
||||||
|
<property name="label">Clear Ventoy</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCheckMenuItem" id="menu_item_show_all">
|
||||||
|
<property name="label">Show All Devices</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="active">False</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="menu_language">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Language</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<child type="submenu">
|
||||||
|
<object class="GtkMenu" id="submenu_language">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_device">
|
||||||
|
<property name="width_request">460</property>
|
||||||
|
<property name="height_request">75</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed5">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkComboBoxText" id="combobox_devlist">
|
||||||
|
<property name="width_request">380</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">5</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button_refresh">
|
||||||
|
<property name="width_request">50</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
<property name="image">image_refresh</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">398</property>
|
||||||
|
<property name="y">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="label_device">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes"> Device </property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">40</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_pkg_ver">
|
||||||
|
<property name="width_request">228</property>
|
||||||
|
<property name="height_request">70</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0.5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="image_secure_local">
|
||||||
|
<property name="width_request">10</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">False</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">20</property>
|
||||||
|
<property name="y">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label_local_ver_value">
|
||||||
|
<property name="width_request">120</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes"></property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">45</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label_local_part_style">
|
||||||
|
<property name="width_request">45</property>
|
||||||
|
<property name="height_request">20</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">MBR</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">180</property>
|
||||||
|
<property name="y">30</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="label_local_ver">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes"> Ventoy In Package </property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">132</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame3">
|
||||||
|
<property name="width_request">228</property>
|
||||||
|
<property name="height_request">70</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0.5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed4">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="image_secure_dev">
|
||||||
|
<property name="width_request">10</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">20</property>
|
||||||
|
<property name="y">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label_dev_ver_value">
|
||||||
|
<property name="width_request">120</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes"></property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">45</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label_dev_part_style">
|
||||||
|
<property name="width_request">45</property>
|
||||||
|
<property name="height_request">20</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes"></property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">180</property>
|
||||||
|
<property name="y">30</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="label_device_ver">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes"> Ventoy In Device </property>
|
||||||
|
<property name="use_markup">True</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">243</property>
|
||||||
|
<property name="y">132</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame4">
|
||||||
|
<property name="width_request">460</property>
|
||||||
|
<property name="height_request">50</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkFixed" id="fixed2">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkProgressBar" id="progressbar1">
|
||||||
|
<property name="width_request">440</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="fraction">0.0</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">8</property>
|
||||||
|
<property name="y">10</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="label_status">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes"> Status - READY</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">215</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button_install">
|
||||||
|
<property name="label" translatable="yes">Install</property>
|
||||||
|
<property name="width_request">100</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">100</property>
|
||||||
|
<property name="y">300</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button_update">
|
||||||
|
<property name="label" translatable="yes">Update</property>
|
||||||
|
<property name="width_request">100</property>
|
||||||
|
<property name="height_request">40</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">280</property>
|
||||||
|
<property name="y">300</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="GtkFrame" id="frame_dummy2">
|
||||||
|
<property name="width_request">460</property>
|
||||||
|
<property name="height_request">25</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label_xalign">0</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="x">10</property>
|
||||||
|
<property name="y">345</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
Binary file not shown.
BIN
INSTALL/tool/aarch64/Ventoy2Disk.gtk3
Normal file
BIN
INSTALL/tool/aarch64/Ventoy2Disk.gtk3
Normal file
Binary file not shown.
Binary file not shown.
BIN
INSTALL/tool/i386/Ventoy2Disk.gtk2
Normal file
BIN
INSTALL/tool/i386/Ventoy2Disk.gtk2
Normal file
Binary file not shown.
BIN
INSTALL/tool/i386/Ventoy2Disk.gtk3
Normal file
BIN
INSTALL/tool/i386/Ventoy2Disk.gtk3
Normal file
Binary file not shown.
Binary file not shown.
BIN
INSTALL/tool/mips64el/Ventoy2Disk.gtk3
Normal file
BIN
INSTALL/tool/mips64el/Ventoy2Disk.gtk3
Normal file
Binary file not shown.
Binary file not shown.
BIN
INSTALL/tool/x86_64/Ventoy2Disk.gtk2
Normal file
BIN
INSTALL/tool/x86_64/Ventoy2Disk.gtk2
Normal file
Binary file not shown.
BIN
INSTALL/tool/x86_64/Ventoy2Disk.gtk3
Normal file
BIN
INSTALL/tool/x86_64/Ventoy2Disk.gtk3
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -8,7 +8,7 @@ fi
|
|||||||
|
|
||||||
dos2unix -q ./tool/ventoy_lib.sh
|
dos2unix -q ./tool/ventoy_lib.sh
|
||||||
dos2unix -q ./tool/VentoyWorker.sh
|
dos2unix -q ./tool/VentoyWorker.sh
|
||||||
|
dos2unix -q ./tool/VentoyGTK.glade
|
||||||
|
|
||||||
. ./tool/ventoy_lib.sh
|
. ./tool/ventoy_lib.sh
|
||||||
|
|
||||||
@ -104,6 +104,7 @@ cp $OPT ./tool $tmpdir/
|
|||||||
rm -f $tmpdir/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
|
rm -f $tmpdir/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
|
||||||
cp $OPT Ventoy2Disk.sh $tmpdir/
|
cp $OPT Ventoy2Disk.sh $tmpdir/
|
||||||
cp $OPT VentoyWeb.sh $tmpdir/
|
cp $OPT VentoyWeb.sh $tmpdir/
|
||||||
|
cp $OPT VentoyGUI* $tmpdir/
|
||||||
|
|
||||||
#cp $OPT Ventoy.desktop $tmpdir/
|
#cp $OPT Ventoy.desktop $tmpdir/
|
||||||
cp $OPT README $tmpdir/
|
cp $OPT README $tmpdir/
|
||||||
@ -131,12 +132,16 @@ rm -f ventoy-${curver}-linux.tar.gz
|
|||||||
|
|
||||||
CurDir=$PWD
|
CurDir=$PWD
|
||||||
|
|
||||||
for d in i386 x86_64 aarch64; do
|
for d in i386 x86_64 aarch64 mips64el; do
|
||||||
cd $tmpdir/tool/$d
|
cd $tmpdir/tool/$d
|
||||||
for file in $(ls); do
|
for file in $(ls); do
|
||||||
if [ "$file" != "xzcat" ]; then
|
if [ "$file" != "xzcat" ]; then
|
||||||
|
if echo "$file" | grep -q '^Ventoy2Disk'; then
|
||||||
|
chmod +x $file
|
||||||
|
else
|
||||||
xz --check=crc32 $file
|
xz --check=crc32 $file
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
cd $CurDir
|
cd $CurDir
|
||||||
done
|
done
|
||||||
@ -146,6 +151,9 @@ find $tmpdir/ -type d -exec chmod 755 "{}" +
|
|||||||
find $tmpdir/ -type f -exec chmod 644 "{}" +
|
find $tmpdir/ -type f -exec chmod 644 "{}" +
|
||||||
chmod +x $tmpdir/Ventoy2Disk.sh
|
chmod +x $tmpdir/Ventoy2Disk.sh
|
||||||
chmod +x $tmpdir/VentoyWeb.sh
|
chmod +x $tmpdir/VentoyWeb.sh
|
||||||
|
chmod +x $tmpdir/VentoyGUI*
|
||||||
|
|
||||||
|
cp $OPT $LANG_DIR/languages.json $tmpdir/tool/
|
||||||
|
|
||||||
#chmod +x $tmpdir/Ventoy.desktop
|
#chmod +x $tmpdir/Ventoy.desktop
|
||||||
chmod +x $tmpdir/CreatePersistentImg.sh
|
chmod +x $tmpdir/CreatePersistentImg.sh
|
||||||
|
@ -1753,9 +1753,9 @@
|
|||||||
"STR_UPDATE_TIP":"Η λειτουργία αναβάθμισης είναι ασφαλής, τα αρχεία ISO δεν θα αλλάξουν.#@Συνέχεια;",
|
"STR_UPDATE_TIP":"Η λειτουργία αναβάθμισης είναι ασφαλής, τα αρχεία ISO δεν θα αλλάξουν.#@Συνέχεια;",
|
||||||
"STR_INSTALL_TIP":"Ο δίσκος θα μορφοποιηθεί και όλα τα δεδομένα θα χαθούν.#@Συνέχεια;",
|
"STR_INSTALL_TIP":"Ο δίσκος θα μορφοποιηθεί και όλα τα δεδομένα θα χαθούν.#@Συνέχεια;",
|
||||||
"STR_INSTALL_TIP2":"Ο δίσκος θα μορφοποιηθεί και όλα τα δεδομένα θα χαθούν.#@Συνέχεια; (Επανελέγξτε)",
|
"STR_INSTALL_TIP2":"Ο δίσκος θα μορφοποιηθεί και όλα τα δεδομένα θα χαθούν.#@Συνέχεια; (Επανελέγξτε)",
|
||||||
"STR_INSTALL_SUCCESS":"Συγχαρητήρια!#Το @Ventoy έχει εγκατασταθεί με επιτυχία στη συσκευή.",
|
"STR_INSTALL_SUCCESS":"Συγχαρητήρια!#@Ventoy έχει εγκατασταθεί με επιτυχία στη συσκευή.",
|
||||||
"STR_INSTALL_FAILED":"Παρουσιάστηκε σφάλμα κατά την εγκατάσταση. Μπορείτε να επανασυνδέσετε το USB και να δοκιμάσετε ξανά. Ελέγξτε το αρχείο log.txt για λεπτομέρειες.",
|
"STR_INSTALL_FAILED":"Παρουσιάστηκε σφάλμα κατά την εγκατάσταση. Μπορείτε να επανασυνδέσετε το USB και να δοκιμάσετε ξανά. Ελέγξτε το αρχείο log.txt για λεπτομέρειες.",
|
||||||
"STR_UPDATE_SUCCESS":"Συγχαρητήρια!#Το @Ventoy ενημερώθηκε με επιτυχία στη συσκευή.",
|
"STR_UPDATE_SUCCESS":"Συγχαρητήρια!#@Ventoy ενημερώθηκε με επιτυχία στη συσκευή.",
|
||||||
"STR_UPDATE_FAILED":"Παρουσιάστηκε σφάλμα κατά την ενημέρωση. Μπορείτε να επανασυνδέσετε το USB και να δοκιμάσετε ξανά. Ελέγξτε το αρχείο log.txt για λεπτομέρειες.",
|
"STR_UPDATE_FAILED":"Παρουσιάστηκε σφάλμα κατά την ενημέρωση. Μπορείτε να επανασυνδέσετε το USB και να δοκιμάσετε ξανά. Ελέγξτε το αρχείο log.txt για λεπτομέρειες.",
|
||||||
"STR_WAIT_PROCESS":"Ένα νήμα εκτελείται, παρακαλώ περιμένετε...",
|
"STR_WAIT_PROCESS":"Ένα νήμα εκτελείται, παρακαλώ περιμένετε...",
|
||||||
"STR_MENU_OPTION":"Επιλογές",
|
"STR_MENU_OPTION":"Επιλογές",
|
||||||
|
22
LinuxGUI/EXLIB/README.txt
Normal file
22
LinuxGUI/EXLIB/README.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
====== ARM64 ======
|
||||||
|
1. Download CentOS-7-aarch64-Everything-2009.iso from internet.
|
||||||
|
2. mount CentOS-7-aarch64-Everything-2009.iso /mnt
|
||||||
|
3. sh prepare_lib_aarch64.sh /mnt/Packages/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
====== MIPS64EL ======
|
||||||
|
1. build dpkg for CentOS7
|
||||||
|
download dpkg_1.18.25.tar.xz from internet.
|
||||||
|
cd dpkg-1.18.25
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
cp -a ./src/dpkg /sbin/
|
||||||
|
cp -a ./dpkg-deb/dpkg-deb /sbin/
|
||||||
|
|
||||||
|
2. download debian 9.x mips64el DVD iso (e.g. debian-9.9.0-mips64el-DVD-1.iso) form internet
|
||||||
|
3. download libgtk-3-dev_3.22.11-1_mips64el.deb from internet
|
||||||
|
4. mount debian-9.9.0-mips64el-DVD-1.iso /mnt
|
||||||
|
5. sh prepare_lib_mips64el.sh /mnt/
|
||||||
|
|
54
LinuxGUI/EXLIB/aarch64libs
Normal file
54
LinuxGUI/EXLIB/aarch64libs
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
gtk3-
|
||||||
|
glib2-
|
||||||
|
pango-
|
||||||
|
cairo-
|
||||||
|
gdk-pixbuf2-
|
||||||
|
libXcursor-
|
||||||
|
libcap-
|
||||||
|
pcre-
|
||||||
|
libffi-
|
||||||
|
libthai-
|
||||||
|
fribidi-
|
||||||
|
libXrender-
|
||||||
|
libxcb-
|
||||||
|
pixman-
|
||||||
|
libpng-
|
||||||
|
libselinux-
|
||||||
|
zlib-
|
||||||
|
libwayland-
|
||||||
|
wayland-
|
||||||
|
libglvnd-
|
||||||
|
elfutils-
|
||||||
|
libattr-
|
||||||
|
libX11-
|
||||||
|
libXi-
|
||||||
|
libXfixes-
|
||||||
|
libepoxy-
|
||||||
|
harfbuzz-
|
||||||
|
fontconfig-
|
||||||
|
freetype-
|
||||||
|
libXinerama-
|
||||||
|
libXrandr-
|
||||||
|
libXcomposite-
|
||||||
|
libXdamage-
|
||||||
|
libxkbcommon-
|
||||||
|
libuuid-
|
||||||
|
libmount-
|
||||||
|
atk-
|
||||||
|
libblkid-
|
||||||
|
graphite2-
|
||||||
|
libXau-
|
||||||
|
bzip2-
|
||||||
|
expat-
|
||||||
|
libXext-
|
||||||
|
pcre2-
|
||||||
|
pcre-
|
||||||
|
at-spi2-atk
|
||||||
|
dbus-
|
||||||
|
dbus-libs
|
||||||
|
systemd-libs
|
||||||
|
at-spi2-core
|
||||||
|
xz-libs
|
||||||
|
lz4-
|
||||||
|
libgcrypt-
|
||||||
|
libgpg-error-
|
47
LinuxGUI/EXLIB/mips64ellibs
Normal file
47
LinuxGUI/EXLIB/mips64ellibs
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
libglib2
|
||||||
|
libgtk-3
|
||||||
|
libpango
|
||||||
|
libharfbuzz
|
||||||
|
pixbuf2
|
||||||
|
atk
|
||||||
|
wayland
|
||||||
|
libx11
|
||||||
|
libxi6
|
||||||
|
epoxy
|
||||||
|
cairo
|
||||||
|
composite
|
||||||
|
damage
|
||||||
|
libxfixes
|
||||||
|
libxkbcommon
|
||||||
|
libfontconfig
|
||||||
|
libfreetype
|
||||||
|
libxinerama
|
||||||
|
libxrandr
|
||||||
|
libxcursor
|
||||||
|
libxext
|
||||||
|
libthai
|
||||||
|
libfribidi
|
||||||
|
libpixman
|
||||||
|
libpng
|
||||||
|
libxcb
|
||||||
|
libxrender
|
||||||
|
zlib1g
|
||||||
|
libmount
|
||||||
|
libselinux
|
||||||
|
libffi
|
||||||
|
libpcre3
|
||||||
|
libdbus
|
||||||
|
libatspi
|
||||||
|
libgraphite
|
||||||
|
libexpat
|
||||||
|
libuuid
|
||||||
|
libdatrie
|
||||||
|
libxdmcp
|
||||||
|
libblkid
|
||||||
|
libxau
|
||||||
|
libsystemd
|
||||||
|
libbsd
|
||||||
|
liblz4
|
||||||
|
liblzma
|
||||||
|
libgcrypt
|
||||||
|
libgpg-error
|
19
LinuxGUI/EXLIB/prepare_lib_aarch64.sh
Normal file
19
LinuxGUI/EXLIB/prepare_lib_aarch64.sh
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ ! -d $1 ]; then
|
||||||
|
echo "$1 not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf aarch64
|
||||||
|
mkdir aarch64
|
||||||
|
cd aarch64
|
||||||
|
|
||||||
|
cat ../aarch64libs | while read line; do
|
||||||
|
ls -1 $1/${line}* | while read rpm; do
|
||||||
|
echo "extract ${rpm##*/} ..."
|
||||||
|
rpm2cpio $rpm | cpio -idmu --quiet
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ..
|
24
LinuxGUI/EXLIB/prepare_lib_mips64el.sh
Normal file
24
LinuxGUI/EXLIB/prepare_lib_mips64el.sh
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ ! -d $1/pool ]; then
|
||||||
|
echo "$1/pool not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf mips64el
|
||||||
|
mkdir mips64el
|
||||||
|
cd mips64el
|
||||||
|
|
||||||
|
cat ../mips64ellibs | while read line; do
|
||||||
|
find "$1/pool" -name "*${line}*.deb" | while read deb; do
|
||||||
|
echo "extract ${deb##*/} ..."
|
||||||
|
dpkg -x $deb .
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
dpkg -x ../libgtk-3-dev_3.22.11-1_mips64el.deb .
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -133,7 +133,7 @@ void ventoy_syslog(int level, const char *Fmt, ...)
|
|||||||
if (fp)
|
if (fp)
|
||||||
{
|
{
|
||||||
fprintf(fp, "[%04u/%02u/%02u %02u:%02u:%02u] %s",
|
fprintf(fp, "[%04u/%02u/%02u %02u:%02u:%02u] %s",
|
||||||
ttm.tm_year, ttm.tm_mon, ttm.tm_mday,
|
ttm.tm_year + 1900, ttm.tm_mon, ttm.tm_mday,
|
||||||
ttm.tm_hour, ttm.tm_min, ttm.tm_sec,
|
ttm.tm_hour, ttm.tm_min, ttm.tm_sec,
|
||||||
log);
|
log);
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
300
LinuxGUI/Ventoy2Disk/GTK/refresh_icon_data.c
Normal file
300
LinuxGUI/Ventoy2Disk/GTK/refresh_icon_data.c
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* refresh_icon_data.c
|
||||||
|
*
|
||||||
|
* Copyright (c) 2021, longpanda <admin@ventoy.net>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
static unsigned char refresh_icon_hexData[4286] = {
|
||||||
|
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x20, 0x20, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0xA8, 0x10,
|
||||||
|
0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x27,
|
||||||
|
0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE,
|
||||||
|
0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE,
|
||||||
|
0x32, 0x81, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x2D, 0xA6, 0xBE,
|
||||||
|
0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE,
|
||||||
|
0x32, 0xBF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||||
|
0x32, 0x71, 0xA6, 0xBE, 0x32, 0xD9, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x71, 0xA6, 0xBE,
|
||||||
|
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x2F, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||||
|
0x32, 0xB2, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA5, 0xBE,
|
||||||
|
0x31, 0xFF, 0xAC, 0xC3, 0x40, 0xFF, 0xB7, 0xCA, 0x59, 0xFF, 0xBF, 0xD0, 0x6B, 0xFF, 0xC0, 0xD1,
|
||||||
|
0x6E, 0xFF, 0xBA, 0xCD, 0x60, 0xFF, 0xAF, 0xC5, 0x48, 0xFF, 0xA7, 0xBF, 0x34, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x29, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xB5, 0xC9, 0x54, 0xFF, 0xD4, 0xE0,
|
||||||
|
0x9D, 0xFF, 0xED, 0xF2, 0xD6, 0xFF, 0xF9, 0xFB, 0xF1, 0xFF, 0xFD, 0xFD, 0xFA, 0xFF, 0xFD, 0xFE,
|
||||||
|
0xFB, 0xFF, 0xFB, 0xFC, 0xF5, 0xFF, 0xF2, 0xF6, 0xE1, 0xFF, 0xDD, 0xE6, 0xB1, 0xFF, 0xBD, 0xCF,
|
||||||
|
0x67, 0xFF, 0xA7, 0xBF, 0x35, 0xFF, 0xA5, 0xBE, 0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||||
|
0x32, 0xB2, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x31, 0xFF, 0xA8, 0xC0, 0x37, 0xFF, 0xCB, 0xD9, 0x87, 0xFF, 0xF4, 0xF7, 0xE6, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xFB,
|
||||||
|
0xF4, 0xFF, 0xD9, 0xE4, 0xA8, 0xFF, 0xAF, 0xC4, 0x46, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||||
|
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x71, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA9, 0xC0,
|
||||||
|
0x38, 0xFF, 0xD5, 0xE0, 0x9D, 0xFF, 0xFD, 0xFE, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE,
|
||||||
|
0xFD, 0xFF, 0xEE, 0xF3, 0xD9, 0xFF, 0xD9, 0xE3, 0xA8, 0xFF, 0xCC, 0xDA, 0x8A, 0xFF, 0xCA, 0xD8,
|
||||||
|
0x85, 0xFF, 0xD3, 0xDF, 0x99, 0xFF, 0xE6, 0xEC, 0xC4, 0xFF, 0xFA, 0xFB, 0xF3, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xED, 0xC7, 0xFF, 0xB1, 0xC6, 0x4C, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||||
|
0x32, 0x71, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xCD, 0xDB,
|
||||||
|
0x8C, 0xFF, 0xFD, 0xFE, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0xF7, 0xE7, 0xFF, 0xCB, 0xD9,
|
||||||
|
0x87, 0xFF, 0xAE, 0xC3, 0x43, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA4, 0xBD, 0x2F, 0xFF, 0xA4, 0xBD,
|
||||||
|
0x2E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA9, 0xC0, 0x38, 0xFF, 0xBD, 0xCF, 0x66, 0xFF, 0xE8, 0xEE,
|
||||||
|
0xC9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xEB, 0xC1, 0xFF, 0xAD, 0xC3,
|
||||||
|
0x41, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBD,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA4, 0xBC, 0x2D, 0xFF, 0xB8, 0xCB, 0x5C, 0xFF, 0xF6, 0xF9,
|
||||||
|
0xEB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xF5, 0xDF, 0xFF, 0xBA, 0xCD, 0x60, 0xFF, 0xA4, 0xBD,
|
||||||
|
0x2E, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xAE, 0xC4,
|
||||||
|
0x44, 0xFF, 0xE2, 0xE9, 0xBB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xD6,
|
||||||
|
0x7E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0xC0, 0xA6, 0xBE, 0x32, 0xFF, 0xA9, 0xC0,
|
||||||
|
0x39, 0xFF, 0xC8, 0xD7, 0x80, 0xFF, 0xD0, 0xDC, 0x92, 0xFF, 0xE7, 0xEE, 0xC8, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE6, 0xED, 0xC5, 0xFF, 0xCC, 0xDA, 0x8A, 0xFF, 0xB0, 0xC5,
|
||||||
|
0x49, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x30, 0xFF, 0xB0, 0xC6, 0x4A, 0xFF, 0xE3, 0xEA, 0xBE, 0xFF, 0xEA, 0xEF, 0xCE, 0xFF, 0xB8, 0xCB,
|
||||||
|
0x5C, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x2E, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFF, 0xA8, 0xC0,
|
||||||
|
0x37, 0xFF, 0xE0, 0xE8, 0xB8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF6, 0xE3, 0xFF, 0xB3, 0xC7,
|
||||||
|
0x4F, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAA, 0xC1, 0x3A, 0xFF, 0xAB, 0xC1, 0x3D, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x30, 0xFF, 0xB6, 0xCA, 0x58, 0xFF, 0xF4, 0xF7, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFE, 0xFB, 0xFF, 0xC9, 0xD8, 0x84, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA5, 0xBE, 0x30, 0xFF, 0xCD, 0xDB, 0x8C, 0xFF, 0xFE, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0xEA, 0xBC, 0xFF, 0xAA, 0xC1, 0x3A, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAB, 0xC2, 0x3E, 0xFF, 0xBB, 0xCE, 0x63, 0xFF, 0xA7, 0xBF,
|
||||||
|
0x35, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAB, 0xC2, 0x3E, 0xFF, 0xE6, 0xED, 0xC5, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xF5, 0xF8, 0xE8, 0xFF, 0xB7, 0xCB, 0x5A, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xCE, 0xDB, 0x8F, 0xFF, 0xF7, 0xF9, 0xEC, 0xFF, 0xBD, 0xCF,
|
||||||
|
0x67, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xBB, 0xCD, 0x63, 0xFF, 0xF6, 0xF8,
|
||||||
|
0xEA, 0xFF, 0xCE, 0xDB, 0x8F, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x30, 0xFF, 0xB7, 0xCB, 0x5A, 0xFF, 0xF5, 0xF8, 0xE8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0xEE,
|
||||||
|
0xC9, 0xFF, 0xAC, 0xC2, 0x40, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA7, 0xBF, 0x34, 0xFF, 0xBA, 0xCD,
|
||||||
|
0x60, 0xFF, 0xAB, 0xC2, 0x3E, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAA, 0xC1,
|
||||||
|
0x3A, 0xFF, 0xE2, 0xEA, 0xBC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFE, 0xFF, 0xCF, 0xDC, 0x90, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x2F, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xC9, 0xD8,
|
||||||
|
0x84, 0xFF, 0xFD, 0xFE, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xF5, 0xF8, 0xE9, 0xFF, 0xB8, 0xCB, 0x5B, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x2E, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA9, 0xC0,
|
||||||
|
0x38, 0xFF, 0xA8, 0xBF, 0x37, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xB2, 0xC7, 0x4F, 0xFF, 0xF2, 0xF6,
|
||||||
|
0xE2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE2, 0xE9, 0xBB, 0xFF, 0xA9, 0xC0, 0x38, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE, 0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0xC0, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xB5, 0xC9, 0x54, 0xFF, 0xE4, 0xEB,
|
||||||
|
0xC1, 0xFF, 0xDF, 0xE8, 0xB5, 0xFF, 0xAF, 0xC5, 0x47, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xAF, 0xC5, 0x47, 0xFF, 0xCA, 0xD8,
|
||||||
|
0x85, 0xFF, 0xE2, 0xE9, 0xBB, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE9, 0xEF,
|
||||||
|
0xCD, 0xFF, 0xCE, 0xDB, 0x8F, 0xFF, 0xC7, 0xD6, 0x7E, 0xFF, 0xA9, 0xC0, 0x39, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBD,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x73, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xC6, 0xD6, 0x7C, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xE8, 0xB5, 0xFF, 0xAC, 0xC3, 0x40, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA4, 0xBD, 0x2E, 0xFF, 0xB5, 0xC9,
|
||||||
|
0x55, 0xFF, 0xED, 0xF2, 0xD6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFB, 0xF1, 0xFF, 0xBC, 0xCE,
|
||||||
|
0x65, 0xFF, 0xA4, 0xBC, 0x2C, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xAE, 0xC4, 0x44, 0xFF, 0xE6, 0xED,
|
||||||
|
0xC6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE4, 0xEB, 0xC1, 0xFF, 0xB9, 0xCC,
|
||||||
|
0x5E, 0xFF, 0xA7, 0xBF, 0x35, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA4, 0xBD, 0x2E, 0xFF, 0xA4, 0xBD,
|
||||||
|
0x2E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xAB, 0xC1, 0x3D, 0xFF, 0xC5, 0xD5, 0x79, 0xFF, 0xF1, 0xF5,
|
||||||
|
0xDE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xD3, 0xDF, 0x99, 0xFF, 0xA7, 0xBE,
|
||||||
|
0x33, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xB3, 0xC8,
|
||||||
|
0x51, 0xFF, 0xE9, 0xEF, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFA,
|
||||||
|
0xEE, 0xFF, 0xE1, 0xE9, 0xBA, 0xFF, 0xCD, 0xDB, 0x8C, 0xFF, 0xC4, 0xD4, 0x78, 0xFF, 0xC6, 0xD6,
|
||||||
|
0x7C, 0xFF, 0xD3, 0xDF, 0x9A, 0xFF, 0xE9, 0xEF, 0xCD, 0xFF, 0xFC, 0xFD, 0xF9, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xDB, 0xE4, 0xAB, 0xFF, 0xAA, 0xC1, 0x3C, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||||
|
0x32, 0x71, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||||
|
0x32, 0xB3, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x30, 0xFF, 0xB1, 0xC6, 0x4B, 0xFF, 0xDD, 0xE6, 0xB2, 0xFF, 0xFC, 0xFD, 0xF8, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFA,
|
||||||
|
0xEE, 0xFF, 0xD1, 0xDE, 0x96, 0xFF, 0xAA, 0xC1, 0x3C, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||||
|
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x29, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA9, 0xC0, 0x38, 0xFF, 0xC1, 0xD2, 0x71, 0xFF, 0xE2, 0xEA,
|
||||||
|
0xBC, 0xFF, 0xF5, 0xF8, 0xE9, 0xFF, 0xFD, 0xFD, 0xFA, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF,
|
||||||
|
0xFE, 0xFF, 0xFB, 0xFC, 0xF7, 0xFF, 0xF2, 0xF5, 0xE1, 0xFF, 0xDB, 0xE5, 0xAC, 0xFF, 0xB9, 0xCC,
|
||||||
|
0x5F, 0xFF, 0xA6, 0xBE, 0x33, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x31, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA8, 0xBF,
|
||||||
|
0x36, 0xFF, 0xB3, 0xC7, 0x4F, 0xFF, 0xBF, 0xD0, 0x6B, 0xFF, 0xC5, 0xD5, 0x7A, 0xFF, 0xC4, 0xD4,
|
||||||
|
0x78, 0xFF, 0xBC, 0xCE, 0x64, 0xFF, 0xB0, 0xC5, 0x48, 0xFF, 0xA6, 0xBE, 0x33, 0xFF, 0xA5, 0xBD,
|
||||||
|
0x30, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xCF, 0xA6, 0xBE, 0x32, 0x35, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0xB2, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFE, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA5, 0xBD, 0x30, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA4, 0xBD, 0x2E, 0xFF, 0xA4, 0xBD,
|
||||||
|
0x2E, 0xFF, 0xA5, 0xBD, 0x2F, 0xFF, 0xA5, 0xBE, 0x31, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFE, 0xA6, 0xBE,
|
||||||
|
0x32, 0xB3, 0xA6, 0xBE, 0x32, 0x29, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x10, 0xA6, 0xBE,
|
||||||
|
0x32, 0x71, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xDA, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE,
|
||||||
|
0x32, 0x10, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0xBF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xEB, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE,
|
||||||
|
0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFF, 0xA6, 0xBE, 0x32, 0xFC, 0xA6, 0xBE, 0x32, 0xEB, 0xA6, 0xBE,
|
||||||
|
0x32, 0xC0, 0xA6, 0xBE, 0x32, 0x73, 0xA6, 0xBE, 0x32, 0x21, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x0C, 0xA6, 0xBE,
|
||||||
|
0x32, 0x2D, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x81, 0xA6, 0xBE,
|
||||||
|
0x32, 0x81, 0xA6, 0xBE, 0x32, 0x72, 0xA6, 0xBE, 0x32, 0x54, 0xA6, 0xBE, 0x32, 0x2E, 0xA6, 0xBE,
|
||||||
|
0x32, 0x0C, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBD, 0x31, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE,
|
||||||
|
0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0xA6, 0xBE, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80,
|
||||||
|
0x01, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00,
|
||||||
|
0x00, 0x07, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00,
|
||||||
|
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00,
|
||||||
|
0x00, 0x01, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xF0, 0x00,
|
||||||
|
0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x01, 0xFF
|
||||||
|
};
|
||||||
|
|
||||||
|
void *get_refresh_icon_raw_data(int *len)
|
||||||
|
{
|
||||||
|
*len = (int)sizeof(refresh_icon_hexData);
|
||||||
|
return refresh_icon_hexData;
|
||||||
|
}
|
||||||
|
|
91
LinuxGUI/Ventoy2Disk/GTK/secure_icon_data.c
Normal file
91
LinuxGUI/Ventoy2Disk/GTK/secure_icon_data.c
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* secure_icon_data.c
|
||||||
|
*
|
||||||
|
* Copyright (c) 2021, longpanda <admin@ventoy.net>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
static unsigned char secure_icon_hexData[958] = {
|
||||||
|
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xA8, 0x03,
|
||||||
|
0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x20, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x46, 0x5C,
|
||||||
|
0x00, 0x00, 0x46, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C,
|
||||||
|
0xFB, 0x01, 0x00, 0x8C, 0xFB, 0x2E, 0x00, 0x8C, 0xFB, 0x52, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C,
|
||||||
|
0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C,
|
||||||
|
0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x53, 0x00, 0x8C, 0xFB, 0x52, 0x00, 0x8C, 0xFB, 0x2E, 0x00, 0x8C,
|
||||||
|
0xFB, 0x01, 0x00, 0x8C, 0xFB, 0x3E, 0x00, 0x8C, 0xFB, 0xDA, 0x00, 0x8C, 0xFB, 0xF8, 0x00, 0x8C,
|
||||||
|
0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C,
|
||||||
|
0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF7, 0x00, 0x8C, 0xFB, 0xF8, 0x00, 0x8C,
|
||||||
|
0xFB, 0xDA, 0x00, 0x8C, 0xFB, 0x3E, 0x00, 0x8C, 0xFB, 0x78, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x78, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||||
|
0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x86, 0xF1, 0xFF, 0x00, 0x7C, 0xDF, 0xFF, 0x00, 0x86, 0xF1, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFC, 0xFF, 0x00, 0x7C, 0xDF, 0xFF, 0x00, 0x6C, 0xC4, 0xFF, 0x00, 0x7C,
|
||||||
|
0xDF, 0xFF, 0x00, 0x8C, 0xFC, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x87, 0xF2, 0xFF, 0x00, 0x7D,
|
||||||
|
0xE1, 0xFF, 0x00, 0x87, 0xF2, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7A, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFC, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0x7B, 0x00, 0x8C,
|
||||||
|
0xFB, 0x77, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C, 0xFB, 0xFF, 0x00, 0x8C,
|
||||||
|
0xFB, 0x77, 0x00, 0x8C, 0xFB, 0x3A, 0x00, 0x8C, 0xFB, 0xD4, 0x01, 0x8B, 0xF9, 0xF7, 0x03, 0x89,
|
||||||
|
0xF3, 0xFF, 0x01, 0x8B, 0xF8, 0xF8, 0x00, 0x8C, 0xFB, 0xF4, 0x00, 0x8C, 0xFB, 0xF4, 0x00, 0x8C,
|
||||||
|
0xFB, 0xF4, 0x01, 0x8B, 0xF8, 0xF8, 0x03, 0x89, 0xF3, 0xFF, 0x01, 0x8B, 0xF9, 0xF7, 0x00, 0x8C,
|
||||||
|
0xFB, 0xD4, 0x00, 0x8C, 0xFB, 0x3A, 0x00, 0x8C, 0xFB, 0x00, 0x00, 0x93, 0xFF, 0x1E, 0x1D, 0x6B,
|
||||||
|
0xA9, 0x6B, 0x32, 0x54, 0x6F, 0xF6, 0x22, 0x65, 0x9A, 0x7D, 0x00, 0x90, 0xFF, 0x39, 0x00, 0x8C,
|
||||||
|
0xFB, 0x3C, 0x00, 0x90, 0xFF, 0x39, 0x22, 0x65, 0x9A, 0x7D, 0x32, 0x54, 0x6F, 0xF6, 0x1D, 0x6B,
|
||||||
|
0xA9, 0x6B, 0x00, 0x93, 0xFF, 0x1E, 0x00, 0x8C, 0xFB, 0x00, 0x00, 0x8C, 0xFB, 0x00, 0x2A, 0x5D,
|
||||||
|
0x85, 0x00, 0x46, 0x3D, 0x36, 0x3A, 0x43, 0x41, 0x3F, 0xF3, 0x45, 0x3F, 0x3A, 0x58, 0x26, 0x62,
|
||||||
|
0x91, 0x00, 0x00, 0x8D, 0xFD, 0x00, 0x26, 0x62, 0x91, 0x00, 0x45, 0x3F, 0x3A, 0x58, 0x43, 0x41,
|
||||||
|
0x3F, 0xF3, 0x46, 0x3D, 0x36, 0x3A, 0x2A, 0x5D, 0x85, 0x00, 0x00, 0x8C, 0xFB, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x27, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42,
|
||||||
|
0x42, 0x94, 0x42, 0x42, 0x42, 0x01, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x01, 0x42, 0x42,
|
||||||
|
0x42, 0x94, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42, 0x42, 0x27, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x04, 0x42, 0x42,
|
||||||
|
0x42, 0x96, 0x42, 0x42, 0x42, 0xF5, 0x42, 0x42, 0x42, 0x8E, 0x42, 0x42, 0x42, 0x53, 0x42, 0x42,
|
||||||
|
0x42, 0x8E, 0x42, 0x42, 0x42, 0xF5, 0x42, 0x42, 0x42, 0x96, 0x42, 0x42, 0x42, 0x04, 0x42, 0x42,
|
||||||
|
0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42,
|
||||||
|
0x42, 0x00, 0x42, 0x42, 0x42, 0x16, 0x42, 0x42, 0x42, 0x96, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42,
|
||||||
|
0x42, 0xF3, 0x42, 0x42, 0x42, 0xE9, 0x42, 0x42, 0x42, 0x96, 0x42, 0x42, 0x42, 0x16, 0x42, 0x42,
|
||||||
|
0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42,
|
||||||
|
0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x05, 0x42, 0x42,
|
||||||
|
0x42, 0x31, 0x42, 0x42, 0x42, 0x4B, 0x42, 0x42, 0x42, 0x31, 0x42, 0x42, 0x42, 0x05, 0x42, 0x42,
|
||||||
|
0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08,
|
||||||
|
0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
void *get_secure_icon_raw_data(int *len)
|
||||||
|
{
|
||||||
|
*len = (int)sizeof(secure_icon_hexData);
|
||||||
|
return secure_icon_hexData;
|
||||||
|
}
|
1066
LinuxGUI/Ventoy2Disk/GTK/ventoy_gtk.c
Normal file
1066
LinuxGUI/Ventoy2Disk/GTK/ventoy_gtk.c
Normal file
File diff suppressed because it is too large
Load Diff
72
LinuxGUI/Ventoy2Disk/GTK/ventoy_gtk.h
Normal file
72
LinuxGUI/Ventoy2Disk/GTK/ventoy_gtk.h
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* ventoy_gtk.h
|
||||||
|
*
|
||||||
|
* Copyright (c) 2021, longpanda <admin@ventoy.net>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef __VENTOY_GTK_H__
|
||||||
|
#define __VENTOY_GTK_H__
|
||||||
|
|
||||||
|
int ventoy_disk_init(void);
|
||||||
|
void ventoy_disk_exit(void);
|
||||||
|
int ventoy_http_init(void);
|
||||||
|
void ventoy_http_exit(void);
|
||||||
|
int ventoy_log_init(void);
|
||||||
|
void ventoy_log_exit(void);
|
||||||
|
void *get_refresh_icon_raw_data(int *len);
|
||||||
|
void *get_secure_icon_raw_data(int *len);
|
||||||
|
void *get_window_icon_raw_data(int *len);
|
||||||
|
int ventoy_func_handler(const char *jsonstr, char *jsonbuf, int buflen);
|
||||||
|
const char * ventoy_code_get_cur_language(void);
|
||||||
|
int ventoy_code_get_cur_part_style(void);
|
||||||
|
void ventoy_code_set_cur_part_style(int style);
|
||||||
|
int ventoy_code_get_cur_show_all(void);
|
||||||
|
void ventoy_code_set_cur_show_all(int show_all);
|
||||||
|
void ventoy_code_set_cur_language(const char *lang);
|
||||||
|
void ventoy_code_save_cfg(void);
|
||||||
|
void on_init_window(GtkBuilder *pBuilder);
|
||||||
|
int on_exit_window(GtkWidget *widget, gpointer data) ;
|
||||||
|
void ventoy_code_refresh_device(void);
|
||||||
|
int ventoy_code_is_busy(void);
|
||||||
|
int ventoy_code_get_percent(void);
|
||||||
|
int ventoy_code_get_result(void);
|
||||||
|
int msgbox(GtkMessageType type, GtkButtonsType buttons, const char *strid);
|
||||||
|
|
||||||
|
#define MAX_PARAS 64
|
||||||
|
|
||||||
|
#define VTOY_VER_FMT "<span weight='bold' foreground='red' size='xx-large'>%s</span>"
|
||||||
|
|
||||||
|
#define LANG_LABEL_TEXT(id, str) \
|
||||||
|
gtk_label_set_text(BUILDER_ITEM(GtkLabel, id), vtoy_json_get_string_ex(node->pstChild, str))
|
||||||
|
|
||||||
|
#define LANG_BUTTON_TEXT(id, str) \
|
||||||
|
gtk_button_set_label(BUILDER_ITEM(GtkButton, id), vtoy_json_get_string_ex(node->pstChild, str))
|
||||||
|
|
||||||
|
#define LANG_MENU_ITEM_TEXT(id, str) \
|
||||||
|
gtk_menu_item_set_label(BUILDER_ITEM(GtkMenuItem, id), vtoy_json_get_string_ex(node->pstChild, str))
|
||||||
|
|
||||||
|
#define LANG_CHKBTN_TEXT(id, str) \
|
||||||
|
gtk_check_button_set_label(BUILDER_ITEM(GtkCheckButton, id), vtoy_json_get_string_ex(node->pstChild, str))
|
||||||
|
|
||||||
|
#define BUILDER_ITEM(type, id) (type *)gtk_builder_get_object(g_pXmlBuilder, id)
|
||||||
|
|
||||||
|
#define SIGNAL(id, act, func) \
|
||||||
|
g_signal_connect(gtk_builder_get_object(g_pXmlBuilder, id), act, G_CALLBACK(func), NULL)
|
||||||
|
|
||||||
|
#define GTK_MSG_ITERATION() while (gtk_events_pending ()) gtk_main_iteration()
|
||||||
|
|
||||||
|
#endif /* __VENTOY_GTK_H__ */
|
||||||
|
|
7633
LinuxGUI/Ventoy2Disk/GTK/window_icon_data.c
Normal file
7633
LinuxGUI/Ventoy2Disk/GTK/window_icon_data.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -40,9 +40,13 @@
|
|||||||
#include <ventoy_http.h>
|
#include <ventoy_http.h>
|
||||||
#include "fat_filelib.h"
|
#include "fat_filelib.h"
|
||||||
|
|
||||||
|
static char *g_pub_out_buf = NULL;
|
||||||
|
static int g_pub_out_max = 0;
|
||||||
|
|
||||||
static pthread_mutex_t g_api_mutex;
|
static pthread_mutex_t g_api_mutex;
|
||||||
static char g_cur_language[128];
|
static char g_cur_language[128];
|
||||||
static int g_cur_part_style = 0;
|
static int g_cur_part_style = 0;
|
||||||
|
static int g_cur_show_all = 0;
|
||||||
static char g_cur_server_token[64];
|
static char g_cur_server_token[64];
|
||||||
static struct mg_context *g_ventoy_http_ctx = NULL;
|
static struct mg_context *g_ventoy_http_ctx = NULL;
|
||||||
|
|
||||||
@ -52,8 +56,8 @@ static uint8_t *g_grub_stg1_raw_img = NULL;
|
|||||||
|
|
||||||
static char g_cur_process_diskname[64];
|
static char g_cur_process_diskname[64];
|
||||||
static char g_cur_process_type[64];
|
static char g_cur_process_type[64];
|
||||||
static int g_cur_process_result = 0;
|
static volatile int g_cur_process_result = 0;
|
||||||
static PROGRESS_POINT g_current_progress = PT_FINISH;
|
static volatile PROGRESS_POINT g_current_progress = PT_FINISH;
|
||||||
|
|
||||||
static int ventoy_load_mbr_template(void)
|
static int ventoy_load_mbr_template(void)
|
||||||
{
|
{
|
||||||
@ -162,7 +166,8 @@ static int ventoy_http_save_cfg(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(fp, "[Ventoy]\nLanguage=%s\nPartStyle=%d\n", g_cur_language, g_cur_part_style);
|
fprintf(fp, "[Ventoy]\nLanguage=%s\nPartStyle=%d\nShowAllDevice=%d\n",
|
||||||
|
g_cur_language, g_cur_part_style, g_cur_show_all);
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
return 0;
|
return 0;
|
||||||
@ -205,6 +210,10 @@ static int ventoy_http_load_cfg(void)
|
|||||||
{
|
{
|
||||||
g_cur_part_style = (int)strtol(line + strlen("PartStyle="), NULL, 10);
|
g_cur_part_style = (int)strtol(line + strlen("PartStyle="), NULL, 10);
|
||||||
}
|
}
|
||||||
|
else if (strncmp(line, "ShowAllDevice=", strlen("ShowAllDevice=")) == 0)
|
||||||
|
{
|
||||||
|
g_cur_show_all = (int)strtol(line + strlen("ShowAllDevice="), NULL, 10);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
@ -213,6 +222,8 @@ static int ventoy_http_load_cfg(void)
|
|||||||
|
|
||||||
|
|
||||||
static int ventoy_json_result(struct mg_connection *conn, const char *err)
|
static int ventoy_json_result(struct mg_connection *conn, const char *err)
|
||||||
|
{
|
||||||
|
if (conn)
|
||||||
{
|
{
|
||||||
mg_printf(conn,
|
mg_printf(conn,
|
||||||
"HTTP/1.1 200 OK \r\n"
|
"HTTP/1.1 200 OK \r\n"
|
||||||
@ -220,10 +231,18 @@ static int ventoy_json_result(struct mg_connection *conn, const char *err)
|
|||||||
"Content-Length: %d\r\n"
|
"Content-Length: %d\r\n"
|
||||||
"\r\n%s",
|
"\r\n%s",
|
||||||
(int)strlen(err), err);
|
(int)strlen(err), err);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memcpy(g_pub_out_buf, err, (int)strlen(err) + 1);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ventoy_json_buffer(struct mg_connection *conn, const char *json_buf, int json_len)
|
static int ventoy_json_buffer(struct mg_connection *conn, const char *json_buf, int json_len)
|
||||||
|
{
|
||||||
|
if (conn)
|
||||||
{
|
{
|
||||||
mg_printf(conn,
|
mg_printf(conn,
|
||||||
"HTTP/1.1 200 OK \r\n"
|
"HTTP/1.1 200 OK \r\n"
|
||||||
@ -231,6 +250,20 @@ static int ventoy_json_buffer(struct mg_connection *conn, const char *json_buf,
|
|||||||
"Content-Length: %d\r\n"
|
"Content-Length: %d\r\n"
|
||||||
"\r\n%s",
|
"\r\n%s",
|
||||||
json_len, json_buf);
|
json_len, json_buf);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (json_len >= g_pub_out_max)
|
||||||
|
{
|
||||||
|
vlog("json buffer overflow\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memcpy(g_pub_out_buf, json_buf, json_len);
|
||||||
|
g_pub_out_buf[json_len] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1369,6 +1402,41 @@ static int ventoy_json_handler(struct mg_connection *conn, VTOY_JSON *json)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ventoy_func_handler(const char *jsonstr, char *jsonbuf, int buflen)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
const char *method = NULL;
|
||||||
|
VTOY_JSON *json = NULL;
|
||||||
|
|
||||||
|
g_pub_out_buf = jsonbuf;
|
||||||
|
g_pub_out_max = buflen;
|
||||||
|
|
||||||
|
json = vtoy_json_create();
|
||||||
|
if (JSON_SUCCESS == vtoy_json_parse(json, jsonstr))
|
||||||
|
{
|
||||||
|
pthread_mutex_lock(&g_api_mutex);
|
||||||
|
|
||||||
|
method = vtoy_json_get_string_ex(json->pstChild, "method");
|
||||||
|
for (i = 0; i < (int)(sizeof(g_ventoy_json_cb) / sizeof(g_ventoy_json_cb[0])); i++)
|
||||||
|
{
|
||||||
|
if (method && strcmp(method, g_ventoy_json_cb[i].method) == 0)
|
||||||
|
{
|
||||||
|
g_ventoy_json_cb[i].callback(NULL, json->pstChild);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pthread_mutex_unlock(&g_api_mutex);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ventoy_json_result(NULL, VTOY_JSON_INVALID_RET);
|
||||||
|
}
|
||||||
|
|
||||||
|
vtoy_json_destroy(json);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int ventoy_request_handler(struct mg_connection *conn)
|
static int ventoy_request_handler(struct mg_connection *conn)
|
||||||
{
|
{
|
||||||
int post_data_len;
|
int post_data_len;
|
||||||
@ -1481,3 +1549,77 @@ void ventoy_http_exit(void)
|
|||||||
g_efi_part_raw_img = NULL;
|
g_efi_part_raw_img = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const char * ventoy_code_get_cur_language(void)
|
||||||
|
{
|
||||||
|
return g_cur_language;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ventoy_code_get_cur_part_style(void)
|
||||||
|
{
|
||||||
|
return g_cur_part_style;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ventoy_code_set_cur_part_style(int style)
|
||||||
|
{
|
||||||
|
pthread_mutex_lock(&g_api_mutex);
|
||||||
|
|
||||||
|
g_cur_part_style = style;
|
||||||
|
ventoy_http_save_cfg();
|
||||||
|
|
||||||
|
pthread_mutex_unlock(&g_api_mutex);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ventoy_code_get_cur_show_all(void)
|
||||||
|
{
|
||||||
|
return g_cur_show_all;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ventoy_code_set_cur_show_all(int show_all)
|
||||||
|
{
|
||||||
|
pthread_mutex_lock(&g_api_mutex);
|
||||||
|
|
||||||
|
g_cur_show_all = show_all;
|
||||||
|
ventoy_http_save_cfg();
|
||||||
|
|
||||||
|
pthread_mutex_unlock(&g_api_mutex);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ventoy_code_set_cur_language(const char *lang)
|
||||||
|
{
|
||||||
|
pthread_mutex_lock(&g_api_mutex);
|
||||||
|
|
||||||
|
scnprintf(g_cur_language, "%s", lang);
|
||||||
|
ventoy_http_save_cfg();
|
||||||
|
|
||||||
|
pthread_mutex_unlock(&g_api_mutex);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ventoy_code_refresh_device(void)
|
||||||
|
{
|
||||||
|
if (g_current_progress == PT_FINISH)
|
||||||
|
{
|
||||||
|
g_disk_num = 0;
|
||||||
|
ventoy_disk_enumerate_all();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int ventoy_code_is_busy(void)
|
||||||
|
{
|
||||||
|
return (g_current_progress == PT_FINISH) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ventoy_code_get_percent(void)
|
||||||
|
{
|
||||||
|
return g_current_progress * 100 / PT_FINISH;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ventoy_code_get_result(void)
|
||||||
|
{
|
||||||
|
return g_cur_process_result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ventoy_code_save_cfg(void)
|
||||||
|
{
|
||||||
|
ventoy_http_save_cfg();
|
||||||
|
}
|
||||||
|
130
LinuxGUI/Ventoy2Disk/main_gtk.c
Normal file
130
LinuxGUI/Ventoy2Disk/main_gtk.c
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <ventoy_define.h>
|
||||||
|
#include <ventoy_util.h>
|
||||||
|
#include "ventoy_gtk.h"
|
||||||
|
|
||||||
|
static int set_image_from_pixbuf(GtkBuilder *pBuilder, const char *id, const void *pData, int len)
|
||||||
|
{
|
||||||
|
GtkImage *pImage = NULL;
|
||||||
|
GdkPixbuf *pPixbuf = NULL;
|
||||||
|
GInputStream *pStream = NULL;
|
||||||
|
|
||||||
|
pImage = (GtkImage *)gtk_builder_get_object(pBuilder, id);
|
||||||
|
pStream = g_memory_input_stream_new_from_data(pData, len, NULL);
|
||||||
|
pPixbuf = gdk_pixbuf_new_from_stream(pStream, NULL, NULL);
|
||||||
|
gtk_image_set_from_pixbuf(pImage, pPixbuf);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int set_window_icon_from_pixbuf(GtkWindow *window, const void *pData, int len)
|
||||||
|
{
|
||||||
|
GdkPixbuf *pPixbuf = NULL;
|
||||||
|
GInputStream *pStream = NULL;
|
||||||
|
|
||||||
|
pStream = g_memory_input_stream_new_from_data(pData, len, NULL);
|
||||||
|
pPixbuf = gdk_pixbuf_new_from_stream(pStream, NULL, NULL);
|
||||||
|
|
||||||
|
gtk_window_set_icon(window, pPixbuf);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int early_msgbox(GtkMessageType type, GtkButtonsType buttons, const char *str)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
GtkWidget *pMsgBox = NULL;
|
||||||
|
|
||||||
|
pMsgBox= gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, type, buttons, str);
|
||||||
|
|
||||||
|
ret = gtk_dialog_run(GTK_DIALOG(pMsgBox));
|
||||||
|
gtk_widget_destroy(pMsgBox);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
const void *pData = NULL;
|
||||||
|
GtkWidget *pWidget = NULL;
|
||||||
|
GtkBuilder *pBuilder = NULL;
|
||||||
|
GError *error = NULL;
|
||||||
|
|
||||||
|
gtk_init(&argc, &argv);
|
||||||
|
|
||||||
|
if (geteuid() != 0)
|
||||||
|
{
|
||||||
|
early_msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
|
||||||
|
"Ventoy2Disk permission denied!\r\nPlease run with root privileges.");
|
||||||
|
return EACCES;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (access("./boot/boot.img", F_OK) == -1)
|
||||||
|
{
|
||||||
|
early_msgbox(GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Please run under the correct directory.");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ventoy_log_init();
|
||||||
|
|
||||||
|
vlog("================================================\n");
|
||||||
|
vlog("===== Ventoy2Disk %s powered by GTK%d.x =====\n", ventoy_get_local_version(), GTK_MAJOR_VERSION);
|
||||||
|
vlog("================================================\n");
|
||||||
|
|
||||||
|
ventoy_disk_init();
|
||||||
|
|
||||||
|
ventoy_http_init();
|
||||||
|
|
||||||
|
pBuilder = gtk_builder_new();
|
||||||
|
if (!pBuilder)
|
||||||
|
{
|
||||||
|
vlog("failed to create builder\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!gtk_builder_add_from_file(pBuilder, "./tool/VentoyGTK.glade", &error))
|
||||||
|
{
|
||||||
|
vlog("gtk_builder_add_from_file failed:%s\n", error->message);
|
||||||
|
g_clear_error(&error);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
pData = get_refresh_icon_raw_data(&len);
|
||||||
|
set_image_from_pixbuf(pBuilder, "image_refresh", pData, len);
|
||||||
|
|
||||||
|
pData = get_secure_icon_raw_data(&len);
|
||||||
|
set_image_from_pixbuf(pBuilder, "image_secure_local", pData, len);
|
||||||
|
set_image_from_pixbuf(pBuilder, "image_secure_dev", pData, len);
|
||||||
|
|
||||||
|
pWidget = GTK_WIDGET(gtk_builder_get_object(pBuilder, "window"));
|
||||||
|
gtk_widget_show_all(pWidget);
|
||||||
|
|
||||||
|
pData = get_window_icon_raw_data(&len);
|
||||||
|
set_window_icon_from_pixbuf(GTK_WINDOW(pWidget), pData, len);
|
||||||
|
|
||||||
|
on_init_window(pBuilder);
|
||||||
|
g_signal_connect(G_OBJECT(pWidget), "delete_event", G_CALLBACK(on_exit_window), NULL);
|
||||||
|
|
||||||
|
gtk_main();
|
||||||
|
|
||||||
|
ventoy_disk_exit();
|
||||||
|
ventoy_http_exit();
|
||||||
|
|
||||||
|
g_object_unref (G_OBJECT(pBuilder));
|
||||||
|
|
||||||
|
vlog("######## Ventoy2Disk GTK %s exit ########\n", ventoy_get_local_version());
|
||||||
|
|
||||||
|
/* log exit must at the end */
|
||||||
|
ventoy_log_exit();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
1005
LinuxGUI/Ventoy2Disk/ventoy_gui.c
Normal file
1005
LinuxGUI/Ventoy2Disk/ventoy_gui.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -32,7 +32,7 @@ build_func() {
|
|||||||
-I ./Ventoy2Disk/Lib/fat_io_lib \
|
-I ./Ventoy2Disk/Lib/fat_io_lib \
|
||||||
\
|
\
|
||||||
-L ./Ventoy2Disk/Lib/fat_io_lib/lib \
|
-L ./Ventoy2Disk/Lib/fat_io_lib/lib \
|
||||||
Ventoy2Disk/*.c \
|
Ventoy2Disk/main_webui.c \
|
||||||
Ventoy2Disk/Core/*.c \
|
Ventoy2Disk/Core/*.c \
|
||||||
Ventoy2Disk/Web/*.c \
|
Ventoy2Disk/Web/*.c \
|
||||||
Ventoy2Disk/Lib/xz-embedded/linux/lib/decompress_unxz.c \
|
Ventoy2Disk/Lib/xz-embedded/linux/lib/decompress_unxz.c \
|
||||||
|
95
LinuxGUI/build_gtk.sh
Normal file
95
LinuxGUI/build_gtk.sh
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
build_func() {
|
||||||
|
libsuffix=$2
|
||||||
|
toolDir=$3
|
||||||
|
gtkver=$4
|
||||||
|
|
||||||
|
if [ "$libsuffix" = "aa64" ]; then
|
||||||
|
EXD=./EXLIB/aarch64
|
||||||
|
GTKFLAG="-pthread -I$EXD/usr/include/gtk-3.0 -I$EXD/usr/include/atk-1.0 -I$EXD/usr/include/at-spi2-atk/2.0 -I$EXD/usr/include/pango-1.0 -I$EXD/usr/include/gio-unix-2.0/ -I$EXD/usr/include/cairo -I$EXD/usr/include/gdk-pixbuf-2.0 -I$EXD/usr/include/glib-2.0 -I$EXD/usr/lib64/glib-2.0/include -I$EXD/usr/include/at-spi-2.0 -I$EXD/usr/include/dbus-1.0 -I$EXD/usr/lib64/dbus-1.0/include -I$EXD/usr/include/harfbuzz -I$EXD/usr/include/freetype2 -I$EXD/usr/include/pixman-1 -I$EXD/usr/include/libpng15 -I$EXD/usr/include/libdrm"
|
||||||
|
XXLIB="-Wl,-rpath-link $EXD/usr/lib64 -Wl,-rpath-link $EXD/lib64 -Wno-deprecated-declarations -L$EXD/usr/lib64 -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 "
|
||||||
|
elif [ "$libsuffix" = "m64e" ]; then
|
||||||
|
EXDI=./EXLIB/mips64el
|
||||||
|
EXDL=./EXLIB/mips64el/usr/lib/mips64el-linux-gnuabi64
|
||||||
|
EXDL2=./EXLIB/mips64el/lib/mips64el-linux-gnuabi64
|
||||||
|
GTKFLAG="-pthread -I$EXDI/usr/include/gtk-3.0 -I$EXDI/usr/include/at-spi2-atk/2.0 -I$EXDI/usr/include/at-spi-2.0 -I$EXDI/usr/include/dbus-1.0 -I./EXLIB/mips64el/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I$EXDI/usr/include/gtk-3.0 -I$EXDI/usr/include/gio-unix-2.0 -I$EXDI/usr/include/cairo -I$EXDI/usr/include/pango-1.0 -I$EXDI/usr/include/harfbuzz -I$EXDI/usr/include/pango-1.0 -I$EXDI/usr/include/fribidi -I$EXDI/usr/include/harfbuzz -I$EXDI/usr/include/atk-1.0 -I$EXDI/usr/include/cairo -I$EXDI/usr/include/pixman-1 -I$EXDI/usr/include/uuid -I$EXDI/usr/include/freetype2 -I$EXDI/usr/include/libpng16 -I$EXDI/usr/include/gdk-pixbuf-2.0 -I$EXDI/usr/include/libmount -I$EXDI/usr/include/blkid -I$EXDI/usr/include/glib-2.0 -I$EXDL/glib-2.0/include"
|
||||||
|
XXLIB="-Wl,-rpath-link $EXDL -Wl,-rpath-link $EXDL2 -Wno-deprecated-declarations -L$EXDL -L$EXDL2 -lm -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lpcre "
|
||||||
|
else
|
||||||
|
if [ "$gtkver" = "gtk3" ]; then
|
||||||
|
GTKFLAG=$(pkg-config --cflags --libs gtk+-3.0)
|
||||||
|
GLADE=""
|
||||||
|
else
|
||||||
|
GTKFLAG=$(pkg-config --cflags --libs gtk+-2.0)
|
||||||
|
GLADE=$(pkg-config --cflags --libs libglade-2.0)
|
||||||
|
fi
|
||||||
|
XXLIB=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
XXFLAG="-std=gnu99 -D_FILE_OFFSET_BITS=64 $GTKFLAG $GLADE -Wall"
|
||||||
|
|
||||||
|
|
||||||
|
echo "CC=$1 libsuffix=$libsuffix toolDir=$toolDir $gtkver"
|
||||||
|
|
||||||
|
$1 $XXFLAG -c -Wall -Wextra -Wshadow -Wformat-security -Winit-self \
|
||||||
|
-Wmissing-prototypes -O2 -DLINUX \
|
||||||
|
-I./Ventoy2Disk/Lib/libhttp/include \
|
||||||
|
-DNDEBUG -DNO_CGI -DNO_CACHING -DNO_SSL -DSQLITE_DISABLE_LFS -DSSL_ALREADY_INITIALIZED \
|
||||||
|
-DUSE_STACK_SIZE=102400 -DNDEBUG -fPIC \
|
||||||
|
./Ventoy2Disk/Lib/libhttp/include/civetweb.c \
|
||||||
|
-o ./civetweb.o
|
||||||
|
|
||||||
|
$1 -O2 -Wall -Wno-unused-function -DSTATIC=static -DINIT= \
|
||||||
|
-I./Ventoy2Disk \
|
||||||
|
-I./Ventoy2Disk/Core \
|
||||||
|
-I./Ventoy2Disk/Web \
|
||||||
|
-I./Ventoy2Disk/GTK \
|
||||||
|
-I./Ventoy2Disk/Include \
|
||||||
|
-I./Ventoy2Disk/Lib/libhttp/include \
|
||||||
|
-I./Ventoy2Disk/Lib/fat_io_lib/include \
|
||||||
|
-I./Ventoy2Disk/Lib/xz-embedded/linux/include \
|
||||||
|
-I./Ventoy2Disk/Lib/xz-embedded/linux/include/linux \
|
||||||
|
-I./Ventoy2Disk/Lib/xz-embedded/userspace \
|
||||||
|
-I ./Ventoy2Disk/Lib/exfat/src/libexfat \
|
||||||
|
-I ./Ventoy2Disk/Lib/exfat/src/mkfs \
|
||||||
|
-I ./Ventoy2Disk/Lib/fat_io_lib \
|
||||||
|
\
|
||||||
|
-L ./Ventoy2Disk/Lib/fat_io_lib/lib \
|
||||||
|
Ventoy2Disk/main_gtk.c \
|
||||||
|
Ventoy2Disk/Core/*.c \
|
||||||
|
Ventoy2Disk/Web/*.c \
|
||||||
|
Ventoy2Disk/GTK/*.c \
|
||||||
|
Ventoy2Disk/Lib/xz-embedded/linux/lib/decompress_unxz.c \
|
||||||
|
Ventoy2Disk/Lib/exfat/src/libexfat/*.c \
|
||||||
|
Ventoy2Disk/Lib/exfat/src/mkfs/*.c \
|
||||||
|
Ventoy2Disk/Lib/fat_io_lib/*.c \
|
||||||
|
$XXLIB \
|
||||||
|
-l pthread \
|
||||||
|
./civetweb.o \
|
||||||
|
-o Ventoy2Disk.${gtkver}_$libsuffix $XXFLAG
|
||||||
|
|
||||||
|
rm -f *.o
|
||||||
|
|
||||||
|
if [ "$libsuffix" = "aa64" ]; then
|
||||||
|
aarch64-linux-gnu-strip Ventoy2Disk.${gtkver}_$libsuffix
|
||||||
|
elif [ "$libsuffix" = "m64e" ]; then
|
||||||
|
mips-linux-gnu-strip Ventoy2Disk.${gtkver}_$libsuffix
|
||||||
|
else
|
||||||
|
strip Ventoy2Disk.${gtkver}_$libsuffix
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f ../INSTALL/tool/$toolDir/Ventoy2Disk.${gtkver}_$libsuffix
|
||||||
|
cp -a Ventoy2Disk.${gtkver}_$libsuffix ../INSTALL/tool/$toolDir/Ventoy2Disk.${gtkver}
|
||||||
|
|
||||||
|
$1 -D_FILE_OFFSET_BITS=64 Ventoy2Disk/ventoy_gui.c -DVTOY_GUI_ARCH="\"$toolDir\"" -o VentoyGUI.$toolDir
|
||||||
|
cp -a VentoyGUI.$toolDir ../INSTALL/
|
||||||
|
}
|
||||||
|
|
||||||
|
build_func "gcc" '64' 'x86_64' 'gtk2'
|
||||||
|
build_func "gcc" '64' 'x86_64' 'gtk3'
|
||||||
|
build_func "gcc -m32" '32' 'i386' 'gtk2'
|
||||||
|
build_func "gcc -m32" '32' 'i386' 'gtk3'
|
||||||
|
|
||||||
|
build_func "aarch64-linux-gnu-gcc" 'aa64' 'aarch64' 'gtk3'
|
||||||
|
build_func "mips-linux-gnu-gcc -mips64r2 -mabi=64" 'm64e' 'mips64el' 'gtk3'
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user