main window: added colors and tooltips to action button
- they all depend on current launcher state
This commit is contained in:
parent
1d420d27aa
commit
4e6325dd4f
3 changed files with 54 additions and 3 deletions
|
@ -26,6 +26,9 @@ create-prefix = Create prefix
|
||||||
update = Update
|
update = Update
|
||||||
download = Download
|
download = Download
|
||||||
|
|
||||||
|
main-window--patch-unavailable-tooltip = Patch servers are unavailable and launcher can't verify the game's patching status. You're allowed to run the game on your own risk
|
||||||
|
main-window--patch-outdated-tooltip = Patch is outdated or in preparation state, so unavailable for usage. Return back later to see its status
|
||||||
|
main-window--version-outdated-tooltip = Version is too outdated and can't be updated
|
||||||
|
|
||||||
preferences = Preferences
|
preferences = Preferences
|
||||||
general = General
|
general = General
|
||||||
|
|
|
@ -32,6 +32,10 @@ create-prefix = Создать префикс
|
||||||
update = Обновить
|
update = Обновить
|
||||||
download = Установить
|
download = Установить
|
||||||
|
|
||||||
|
main-window--patch-unavailable-tooltip = Серверы патча недоступны и лаунчер не может проверить статус патча игры. Вам разрешено запустить игру на ваш страх и риск
|
||||||
|
main-window--patch-outdated-tooltip = Патч устарел или находится в процессе разработки, поэтому не может быть применен. Возвращайтесь позже чтобы проверить его статус
|
||||||
|
main-window--version-outdated-tooltip = Версия слишком стара и не может быть обновлена
|
||||||
|
|
||||||
|
|
||||||
preferences = Настройки
|
preferences = Настройки
|
||||||
general = Основное
|
general = Основное
|
||||||
|
|
|
@ -232,18 +232,62 @@ impl SimpleComponent for App {
|
||||||
},
|
},
|
||||||
|
|
||||||
#[watch]
|
#[watch]
|
||||||
set_sensitive: match model.state {
|
set_sensitive: match model.state.as_ref() {
|
||||||
Some(LauncherState::GameOutdated { .. }) => false,
|
Some(LauncherState::GameOutdated { .. }) |
|
||||||
Some(LauncherState::VoiceOutdated(_)) => false,
|
Some(LauncherState::VoiceOutdated(_)) => false,
|
||||||
|
|
||||||
|
Some(LauncherState::PatchAvailable(patch)) => match patch {
|
||||||
|
Patch::NotAvailable |
|
||||||
|
Patch::Outdated { .. } |
|
||||||
|
Patch::Preparation { .. } => false,
|
||||||
|
|
||||||
|
Patch::Testing { .. } |
|
||||||
|
Patch::Available { .. } => true
|
||||||
|
},
|
||||||
|
|
||||||
Some(_) => true,
|
Some(_) => true,
|
||||||
|
|
||||||
None => false
|
None => false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
#[watch]
|
||||||
|
set_css_classes: match model.state.as_ref() {
|
||||||
|
Some(LauncherState::GameOutdated { .. }) |
|
||||||
|
Some(LauncherState::VoiceOutdated(_)) => &["warning"],
|
||||||
|
|
||||||
|
Some(LauncherState::PatchAvailable(patch)) => match patch {
|
||||||
|
Patch::NotAvailable |
|
||||||
|
Patch::Outdated { .. } |
|
||||||
|
Patch::Preparation { .. } => &["error"],
|
||||||
|
|
||||||
|
Patch::Testing { .. } => &["warning"],
|
||||||
|
Patch::Available { .. } => &["suggested-action"]
|
||||||
|
},
|
||||||
|
|
||||||
|
Some(_) => &["suggested-action"],
|
||||||
|
|
||||||
|
None => &[]
|
||||||
|
},
|
||||||
|
|
||||||
|
#[watch]
|
||||||
|
set_tooltip_text: Some(&match model.state.as_ref() {
|
||||||
|
Some(LauncherState::GameOutdated { .. }) |
|
||||||
|
Some(LauncherState::VoiceOutdated(_)) => tr("main-window--version-outdated-tooltip"),
|
||||||
|
|
||||||
|
Some(LauncherState::PatchAvailable(patch)) => match patch {
|
||||||
|
Patch::NotAvailable => tr("main-window--patch-unavailable-tooltip"),
|
||||||
|
|
||||||
|
Patch::Outdated { .. } |
|
||||||
|
Patch::Preparation { .. } => tr("main-window--patch-outdated-tooltip"),
|
||||||
|
|
||||||
|
_ => String::new()
|
||||||
|
},
|
||||||
|
|
||||||
|
_ => String::new()
|
||||||
|
}),
|
||||||
|
|
||||||
set_hexpand: false,
|
set_hexpand: false,
|
||||||
set_width_request: 200,
|
set_width_request: 200,
|
||||||
add_css_class: "suggested-action",
|
|
||||||
|
|
||||||
connect_clicked => AppMsg::PerformAction
|
connect_clicked => AppMsg::PerformAction
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue