ui: fix stratum section at mining screen, optimize copy/paste buttons for tokens, update translations
This commit is contained in:
parent
afdcc4dcb9
commit
e951fbab73
6 changed files with 116 additions and 91 deletions
|
@ -71,48 +71,50 @@ network_mining:
|
|||
disconnected: Disconnected
|
||||
network_settings:
|
||||
change_value: Change value
|
||||
stratum_ip: Stratum IP Address
|
||||
stratum_port: Stratum port
|
||||
stratum_ip: 'Stratum IP Address:'
|
||||
stratum_port: 'Stratum port:'
|
||||
port_unavailable: Specified port is unavailable
|
||||
restart_node_required: Node restart is required to apply changes.
|
||||
enable: Enable
|
||||
disable: Disable
|
||||
restart: Restart
|
||||
server: Server
|
||||
api_ip: API IP Address
|
||||
api_port: API Port
|
||||
api_secret: Rest API and V2 Owner API token
|
||||
foreign_api_secret: Foreign API token
|
||||
api_ip: 'API IP Address:'
|
||||
api_port: 'API Port:'
|
||||
api_secret: 'Rest API and V2 Owner API token:'
|
||||
foreign_api_secret: 'Foreign API token:'
|
||||
disabled: Disabled
|
||||
enabled: Enabled
|
||||
ftl: The Future Time Limit (FTL)
|
||||
ftl: 'The Future Time Limit (FTL):'
|
||||
ftl_description: Limit on how far into the future, relative to a node's local time in seconds, the timestamp on a new block can be, in order for the block to be accepted.
|
||||
not_valid_value: Entered value is not valid
|
||||
full_validation: Full validation
|
||||
full_validation_description: Whether to run a full chain validation when processing each block (except during synchronization).
|
||||
archive_mode: Archive mode
|
||||
archive_mode_desc: Run the node in full archive mode (more disk space and time will be required for synchronization).
|
||||
attempt_time: Attempt time
|
||||
attempt_time_desc: The amount of time in seconds to attempt to mine on a particular header before stopping and re-collecting transactions from the pool
|
||||
min_share_diff: The minimum acceptable share difficulty
|
||||
attempt_time: 'Mining attempt time (in seconds):'
|
||||
attempt_time_desc: The amount of time to attempt to mine on a particular header before stopping and re-collecting transactions from the pool
|
||||
min_share_diff: 'The minimum acceptable share difficulty:'
|
||||
reset_settings_desc: Reset node settings to default values
|
||||
reset_settings: Reset settings
|
||||
reset: Reset
|
||||
tx_pool: Transaction pool
|
||||
pool_fee: Base fee that's accepted into the pool
|
||||
reorg_period: Reorg cache retention period (in minutes)
|
||||
max_tx_pool: Maximum number of transactions in the pool
|
||||
max_tx_stempool: Maximum number of transactions in the stem-pool
|
||||
max_tx_weight: Maximum total weight of transactions that can get selected to build a block
|
||||
epoch_duration: Epoch duration (in seconds)
|
||||
embargo_timer: Embargo timer (in seconds)
|
||||
aggregation_period: Aggregation period (in seconds)
|
||||
stem_probability: Stem phase probability
|
||||
pool_fee: 'Base fee that is accepted into the pool:'
|
||||
reorg_period: 'Reorg cache retention period (in minutes):'
|
||||
max_tx_pool: 'Maximum number of transactions in the pool:'
|
||||
max_tx_stempool: 'Maximum number of transactions in the stem-pool:'
|
||||
max_tx_weight: 'Maximum total weight of transactions that can get selected to build a block:'
|
||||
epoch_duration: 'Epoch duration (in seconds):'
|
||||
embargo_timer: 'Embargo timer (in seconds):'
|
||||
aggregation_period: 'Aggregation period (in seconds):'
|
||||
stem_probability: 'Stem phase probability:'
|
||||
stem_txs: Stem transactions
|
||||
p2p_server: P2P server
|
||||
p2p_port: P2P port
|
||||
p2p_port: 'P2P port:'
|
||||
add_seed: Add DNS Seed
|
||||
seed_address: 'DNS Seed address:'
|
||||
add_peer: Add peer
|
||||
peer_address: 'Peer address:'
|
||||
peer_address_error: 'Enter IP address or DNS name (make sure specified host is available) in correct format, e.g.: 192.168.0.1:1234 or example.com:5678'
|
||||
default: Default
|
||||
allow_list: Allow list
|
||||
|
@ -121,11 +123,11 @@ network_settings:
|
|||
deny_list_desc: Never connect to peers in this list.
|
||||
favourites: Favourites
|
||||
favourites_desc: A list of preferred peers to connect to.
|
||||
ban_window: How long a banned peer should stay banned (in seconds)
|
||||
ban_window: 'How much time (in seconds) a banned peer should stay banned:'
|
||||
ban_window_desc: The decision to ban is made by node, based on the correctness of the data received from the peer.
|
||||
max_inbound_count: Maximum number of inbound peer connections
|
||||
max_outbound_count: Maximum number of outbound peer connections
|
||||
min_outbound_count: Minimum number of outbound peer connections
|
||||
max_inbound_count: 'Maximum number of inbound peer connections:'
|
||||
max_outbound_count: 'Maximum number of outbound peer connections:'
|
||||
min_outbound_count: 'Minimum number of outbound peer connections:'
|
||||
min_outbound_desc: Node server will actively keep trying to add peers until it will get to at least this number.
|
||||
modal:
|
||||
cancel: Cancel
|
||||
|
|
|
@ -71,48 +71,50 @@ network_mining:
|
|||
disconnected: Отключен
|
||||
network_settings:
|
||||
change_value: Изменить значение
|
||||
stratum_ip: Stratum IP Адрес
|
||||
stratum_port: Порт Stratum
|
||||
stratum_ip: 'Stratum IP Адрес:'
|
||||
stratum_port: 'Порт Stratum:'
|
||||
port_unavailable: Указанный порт недоступен
|
||||
restart_node_required: Для применения изменений требуется перезапуск узла.
|
||||
enable: Включить
|
||||
disable: Выключить
|
||||
restart: Перезапуск
|
||||
server: Сервер
|
||||
api_ip: API IP Адрес
|
||||
api_port: API Порт
|
||||
api_secret: Rest и V2 Owner API токен
|
||||
foreign_api_secret: Foreign API токен
|
||||
api_ip: 'API IP Адрес:'
|
||||
api_port: 'API Порт:'
|
||||
api_secret: 'Rest и V2 Owner API токен:'
|
||||
foreign_api_secret: 'Foreign API токен:'
|
||||
disabled: Отключен
|
||||
enabled: Включен
|
||||
ftl: Предел Будущего Времени (FTL)
|
||||
ftl: 'Предел Будущего Времени (FTL):'
|
||||
ftl_description: Насколько далеко в будущем, относительно локального времени узла в секундах, может находиться временная метка на новом блоке для его принятия.
|
||||
not_valid_value: Введено недопустимое значение
|
||||
full_validation: Полная валидация
|
||||
full_validation_description: Запускать ли полную проверку цепи при обработке каждого блока (за исключением синхронизации).
|
||||
archive_mode: Архивный режим
|
||||
archive_mode_desc: Запустить узел в режиме полного архива (потребуется больше места и времени для синхронизации).
|
||||
attempt_time: Время попытки
|
||||
attempt_time_desc: Количество времени в секундах для попытки майнинга на определённом заголовке перед остановкой и повторным сбором транзакций из пула
|
||||
min_share_diff: Минимальная допустимая сложность шары
|
||||
attempt_time: 'Время попытки майнинга (в секундах):'
|
||||
attempt_time_desc: Количество времени для попытки майнинга на определённом заголовке перед остановкой и повторным сбором транзакций из пула
|
||||
min_share_diff: 'Минимальная допустимая сложность шары:'
|
||||
reset_settings_desc: Сбросить настройки узла до стандартных значений
|
||||
reset_settings: Сброс настроек
|
||||
reset: Сбросить
|
||||
tx_pool: Пул транзакций
|
||||
pool_fee: Базовая комиссия, принимаемая в пул
|
||||
reorg_period: Срок хранения кэша реорганизации (в минутах)
|
||||
max_tx_pool: Максимальное количество транзакций в пуле
|
||||
max_tx_stempool: Максимальное количество транзакций в stem-пуле
|
||||
max_tx_weight: Максимальный общий вес транзакций, которые могут быть выбраны для построения блока
|
||||
epoch_duration: Длительность эпохи (в секундах)
|
||||
embargo_timer: Таймер эмбарго (в секундах)
|
||||
aggregation_period: Период агрегации (в секундах)
|
||||
stem_probability: Вероятность фазы Stem
|
||||
pool_fee: 'Базовая комиссия, принимаемая в пул:'
|
||||
reorg_period: 'Срок хранения кэша реорганизации (в минутах):'
|
||||
max_tx_pool: 'Максимальное количество транзакций в пуле:'
|
||||
max_tx_stempool: 'Максимальное количество транзакций в stem-пуле:'
|
||||
max_tx_weight: 'Максимальный общий вес транзакций, которые могут быть выбраны для построения блока:'
|
||||
epoch_duration: 'Длительность эпохи (в секундах):'
|
||||
embargo_timer: 'Таймер эмбарго (в секундах):'
|
||||
aggregation_period: 'Период агрегации (в секундах):'
|
||||
stem_probability: 'Вероятность фазы Stem:'
|
||||
stem_txs: Stem транзакций
|
||||
p2p_server: P2P сервер
|
||||
p2p_port: P2P порт
|
||||
p2p_port: 'P2P порт:'
|
||||
add_seed: Добавить DNS Seed
|
||||
seed_address: 'Адрес DNS Seed:'
|
||||
add_peer: Добавить пир
|
||||
peer_address: 'Адрес пира:'
|
||||
peer_address_error: 'Введите IP адрес или DNS имя (убедитесь, что указанный хост доступен) в правильном формате, например: 192.168.0.1:1234 или example.com:5678'
|
||||
default: По умолчанию
|
||||
allow_list: Белый список
|
||||
|
@ -121,11 +123,11 @@ network_settings:
|
|||
deny_list_desc: Никогда не подключаться к пирам в данном списке.
|
||||
favourites: Избранное
|
||||
favourites_desc: Список предпочтительных пиров для подключения.
|
||||
ban_window: Как долго забаненый пир должен оставаться забаненым (в секундах)
|
||||
ban_window_desc: Решение о запрете принимается нодой, основываясь на корректности данных полученных от пира.
|
||||
max_inbound_count: Максимальное количество входящих подключений пиров
|
||||
max_outbound_count: Максимальное количество исходящих подключений к пирам
|
||||
min_outbound_count: Минимальное количество исходящих подключений к пирам
|
||||
ban_window: 'Сколько времени (в секундах) забаненый пир должен оставаться забаненым:'
|
||||
ban_window_desc: Решение о запрете принимается узлом, основываясь на корректности данных полученных от пира.
|
||||
max_inbound_count: 'Максимальное количество входящих подключений пиров:'
|
||||
max_outbound_count: 'Максимальное количество исходящих подключений к пирам:'
|
||||
min_outbound_count: 'Минимальное количество исходящих подключений к пирам:'
|
||||
min_outbound_desc: Сервер узла будет активно пытаться добавить пиры, пока не дойдёт хотя бы до этого числа.
|
||||
modal:
|
||||
cancel: Отмена
|
||||
|
|
|
@ -203,6 +203,12 @@ impl NetworkTab for NetworkMining {
|
|||
StratumSetup::STRATUM_PORT_MODAL => {
|
||||
self.stratum_server_setup.port_modal(ui, modal, cb);
|
||||
},
|
||||
StratumSetup::ATTEMPT_TIME_MODAL => {
|
||||
self.stratum_server_setup.attempt_modal(ui, modal, cb);
|
||||
},
|
||||
StratumSetup::MIN_SHARE_DIFF_MODAL => {
|
||||
self.stratum_server_setup.min_diff_modal(ui, modal, cb);
|
||||
},
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
use eframe::emath::Align;
|
||||
use egui::{Id, Layout, RichText, TextStyle, Ui, Widget};
|
||||
use egui::os::OperatingSystem;
|
||||
use egui_extras::{Size, StripBuilder};
|
||||
use grin_core::global::ChainTypes;
|
||||
|
||||
use crate::AppConfig;
|
||||
|
@ -357,48 +358,58 @@ impl NodeSetup {
|
|||
.color(Colors::GRAY));
|
||||
ui.add_space(6.0);
|
||||
|
||||
StripBuilder::new(ui)
|
||||
.size(Size::exact(42.0))
|
||||
.vertical(|mut strip| {
|
||||
strip.strip(|builder| {
|
||||
builder
|
||||
.size(Size::remainder())
|
||||
.size(Size::exact(48.0))
|
||||
.size(Size::exact(48.0))
|
||||
.horizontal(|mut strip| {
|
||||
strip.cell(|ui| {
|
||||
// Draw API port text edit.
|
||||
let text_edit_resp = egui::TextEdit::singleline(&mut self.secret_edit)
|
||||
let edit = egui::TextEdit::singleline(&mut self.secret_edit)
|
||||
.id(Id::from(modal.id))
|
||||
.font(TextStyle::Heading)
|
||||
.cursor_at_end(true)
|
||||
.ui(ui);
|
||||
text_edit_resp.request_focus();
|
||||
if text_edit_resp.clicked() {
|
||||
edit.request_focus();
|
||||
if edit.clicked() {
|
||||
cb.show_keyboard();
|
||||
}
|
||||
|
||||
// Show buttons to copy/paste text for Android.
|
||||
if OperatingSystem::from_target_os() == OperatingSystem::Android {
|
||||
ui.add_space(12.0);
|
||||
ui.scope(|ui| {
|
||||
// Setup spacing between buttons.
|
||||
ui.spacing_mut().item_spacing = egui::Vec2::new(12.0, 0.0);
|
||||
|
||||
let mut buttons_rect = ui.available_rect_before_wrap();
|
||||
buttons_rect.set_height(42.0);
|
||||
ui.allocate_ui_at_rect(buttons_rect, |ui| {
|
||||
|
||||
ui.columns(2, |columns| {
|
||||
columns[0].with_layout(Layout::right_to_left(Align::Center), |ui| {
|
||||
View::button(ui, COPY.to_string(), Colors::WHITE, || {
|
||||
});
|
||||
strip.cell(|ui| {
|
||||
ui.vertical_centered(|ui| {
|
||||
// Draw API port text edit.
|
||||
let copy_icon = COPY.to_string();
|
||||
View::button(ui, copy_icon, Colors::WHITE, || {
|
||||
cb.copy_string_to_buffer(self.secret_edit.clone());
|
||||
});
|
||||
});
|
||||
columns[1].with_layout(Layout::left_to_right(Align::Center), |ui| {
|
||||
View::button(ui, CLIPBOARD_TEXT.to_string(), Colors::WHITE, || {
|
||||
});
|
||||
strip.cell(|ui| {
|
||||
ui.vertical_centered(|ui| {
|
||||
// Draw paste button.
|
||||
let paste_icon = CLIPBOARD_TEXT.to_string();
|
||||
View::button(ui, paste_icon, Colors::WHITE, || {
|
||||
self.secret_edit = cb.get_string_from_buffer();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// Show reminder to restart enabled node.
|
||||
NetworkSettings::node_restart_required_ui(ui);
|
||||
|
||||
ui.add_space(12.0);
|
||||
if Node::is_running() {
|
||||
ui.label(RichText::new(t!("network_settings.restart_node_required"))
|
||||
.size(16.0)
|
||||
.color(Colors::GREEN)
|
||||
);
|
||||
ui.add_space(8.0);
|
||||
}
|
||||
ui.add_space(4.0);
|
||||
});
|
||||
|
||||
// Show modal buttons.
|
||||
|
|
|
@ -386,8 +386,8 @@ impl P2PSetup {
|
|||
ui.add_space(6.0);
|
||||
ui.vertical_centered(|ui| {
|
||||
let label_text = match modal.id {
|
||||
Self::CUSTOM_SEED_MODAL => t!("network_settings.add_seed"),
|
||||
&_ => t!("network_settings.add_peer")
|
||||
Self::CUSTOM_SEED_MODAL => t!("network_settings.seed_address"),
|
||||
&_ => t!("network_settings.peer_address")
|
||||
};
|
||||
ui.label(RichText::new(label_text).size(17.0).color(Colors::GRAY));
|
||||
ui.add_space(8.0);
|
||||
|
@ -832,7 +832,6 @@ impl P2PSetup {
|
|||
.size(16.0)
|
||||
.color(Colors::INACTIVE_TEXT)
|
||||
);
|
||||
ui.add_space(2.0);
|
||||
}
|
||||
|
||||
/// Draw minimum number of outbound peers [`Modal`] content.
|
||||
|
|
|
@ -258,7 +258,7 @@ impl StratumSetup {
|
|||
|
||||
/// Draw attempt time value setup content.
|
||||
fn attempt_time_ui(&mut self, ui: &mut Ui, cb: &dyn PlatformCallbacks) {
|
||||
ui.label(RichText::new(t!("network_settings.attempt_time_desc"))
|
||||
ui.label(RichText::new(t!("network_settings.attempt_time"))
|
||||
.size(16.0)
|
||||
.color(Colors::GRAY)
|
||||
);
|
||||
|
@ -276,7 +276,12 @@ impl StratumSetup {
|
|||
Modal::show(time_modal);
|
||||
cb.show_keyboard();
|
||||
});
|
||||
ui.add_space(12.0);
|
||||
ui.add_space(6.0);
|
||||
ui.label(RichText::new(t!("network_settings.attempt_time_desc"))
|
||||
.size(16.0)
|
||||
.color(Colors::INACTIVE_TEXT)
|
||||
);
|
||||
ui.add_space(6.0);
|
||||
}
|
||||
|
||||
/// Draw attempt time [`Modal`] content.
|
||||
|
|
Loading…
Reference in a new issue