Skip to content

Commit 693be11

Browse files
committed
Overall improvements to the styling
Instit noticed that there were some borders missing compared to the previous version, so I took the chance to improve the styles to make it more pretty overall, like it used to be in that version. The styles had become a bit more simple after a big Iced styling change that made it very easy to get a beatiful basic look, and at the time I was too lazy to improve it further.
1 parent 40408cd commit 693be11

File tree

5 files changed

+204
-51
lines changed

5 files changed

+204
-51
lines changed

src/main.rs

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ use settings::{SettingsMessage, SettingsTab};
4343
mod puzzles;
4444
use puzzles::{PuzzleMessage, PuzzleTab, GameStatus};
4545

46+
use crate::styles::btn_style_simple;
47+
4648
mod eval;
4749
mod export;
4850
mod lang;
@@ -1206,8 +1208,8 @@ fn gen_view<'a>(
12061208

12071209
let game_mode_row = row![
12081210
Text::new(lang::tr(lang, "mode")),
1209-
Radio::new(lang::tr(lang, "mode_puzzle"), config::GameMode::Puzzle, Some(game_mode), Message::SelectMode),
1210-
Radio::new(lang::tr(lang, "mode_analysis"), config::GameMode::Analysis, Some(game_mode), Message::SelectMode)
1211+
Radio::new(lang::tr(lang, "mode_puzzle"), config::GameMode::Puzzle, Some(game_mode), Message::SelectMode).style(styles::radio_style),
1212+
Radio::new(lang::tr(lang, "mode_analysis"), config::GameMode::Analysis, Some(game_mode), Message::SelectMode).style(styles::radio_style)
12111213
].spacing(10).padding(10).align_y(Alignment::Center);
12121214

12131215
let fav_label = if is_fav {
@@ -1218,51 +1220,51 @@ fn gen_view<'a>(
12181220
let mut navigation_row = Row::new().padding(3).spacing(10);
12191221
if game_mode == config::GameMode::Analysis {
12201222
if analysis_history_len > current_puzzle_move {
1221-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "takeback"))).on_press(Message::GoBackMove));
1223+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "takeback"))).on_press(Message::GoBackMove).style(btn_style_simple));
12221224
} else {
1223-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "takeback"))));
1225+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "takeback"))).style(btn_style_simple));
12241226
}
12251227
if engine_started {
1226-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "stop_engine"))).on_press(Message::StartEngine));
1228+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "stop_engine"))).on_press(Message::StartEngine).style(btn_style_simple));
12271229
} else {
1228-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "start_engine"))).on_press(Message::StartEngine));
1230+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "start_engine"))).on_press(Message::StartEngine).style(btn_style_simple));
12291231
}
12301232
} else {
12311233
if has_previous {
1232-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "previous"))).on_press(Message::ShowPreviousPuzzle))
1234+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "previous"))).on_press(Message::ShowPreviousPuzzle).style(btn_style_simple))
12331235
} else {
1234-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "previous"))));
1236+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "previous"))).style(btn_style_simple));
12351237
}
12361238
if has_more_puzzles {
1237-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "next"))).on_press(Message::ShowNextPuzzle))
1239+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "next"))).on_press(Message::ShowNextPuzzle).style(btn_style_simple))
12381240
} else {
1239-
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "next"))));
1241+
navigation_row = navigation_row.push(Button::new(Text::new(lang::tr(lang, "next"))).style(btn_style_simple));
12401242
}
12411243
if game_status == GameStatus::NoPuzzles {
12421244
navigation_row = navigation_row
1243-
.push(Button::new(Text::new(lang::tr(lang, "redo"))))
1244-
.push(Button::new(Text::new(fav_label)))
1245-
.push(Button::new(Text::new(lang::tr(lang, "hint"))));
1245+
.push(Button::new(Text::new(lang::tr(lang, "redo"))).style(btn_style_simple))
1246+
.push(Button::new(Text::new(fav_label)).style(btn_style_simple))
1247+
.push(Button::new(Text::new(lang::tr(lang, "hint"))).style(btn_style_simple));
12461248
} else if game_status == GameStatus::PuzzleEnded {
12471249
navigation_row = navigation_row
1248-
.push(Button::new(Text::new(lang::tr(lang, "redo"))).on_press(Message::RedoPuzzle))
1249-
.push(Button::new(Text::new(fav_label)).on_press(Message::FavoritePuzzle))
1250-
.push(Button::new(Text::new(lang::tr(lang, "hint"))));
1250+
.push(Button::new(Text::new(lang::tr(lang, "redo"))).on_press(Message::RedoPuzzle).style(btn_style_simple))
1251+
.push(Button::new(Text::new(fav_label)).on_press(Message::FavoritePuzzle).style(btn_style_simple))
1252+
.push(Button::new(Text::new(lang::tr(lang, "hint"))).style(btn_style_simple));
12511253
} else {
12521254
navigation_row = navigation_row
1253-
.push(Button::new(Text::new(lang::tr(lang, "redo"))).on_press(Message::RedoPuzzle))
1254-
.push(Button::new(Text::new(fav_label)).on_press(Message::FavoritePuzzle))
1255-
.push(Button::new(Text::new(lang::tr(lang, "hint"))).on_press(Message::ShowHint));
1255+
.push(Button::new(Text::new(lang::tr(lang, "redo"))).on_press(Message::RedoPuzzle).style(btn_style_simple))
1256+
.push(Button::new(Text::new(fav_label)).on_press(Message::FavoritePuzzle).style(btn_style_simple))
1257+
.push(Button::new(Text::new(lang::tr(lang, "hint"))).on_press(Message::ShowHint).style(btn_style_simple));
12561258
}
12571259
}
12581260

12591261
let (input_index, btn_go) = if game_status == GameStatus::Playing {
12601262
(text_input(puzzle_number_ui, puzzle_number_ui).
12611263
on_input(Message::PuzzleInputIndexChange).width(Length::Fixed(150.)),
1262-
button(text(lang::tr(lang, "go"))).on_press(Message::JumpToPuzzle))
1264+
button(text(lang::tr(lang, "go"))).on_press(Message::JumpToPuzzle).style(btn_style_simple))
12631265
} else {
12641266
(text_input(puzzle_number_ui, puzzle_number_ui).width(Length::Fixed(150.)),
1265-
button(text(lang::tr(lang, "go"))))
1267+
button(text(lang::tr(lang, "go"))).style(btn_style_simple))
12661268
};
12671269

12681270
let pagination_row = row![
@@ -1282,10 +1284,10 @@ fn gen_view<'a>(
12821284
);
12831285
}
12841286
if mini_ui {
1285-
let button_mini = Button::new(Text::new(">")).on_press(Message::MinimizeUI);
1287+
let button_mini = Button::new(Text::new(">")).on_press(Message::MinimizeUI).style(btn_style_simple);
12861288
row![board_col,button_mini].spacing(5).align_y(Alignment::Start).into()
12871289
} else {
1288-
let button_mini = Button::new(Text::new("<")).on_press(Message::MinimizeUI);
1290+
let button_mini = Button::new(Text::new("<")).on_press(Message::MinimizeUI).style(btn_style_simple);
12891291
let tabs = Tabs::new(Message::TabSelected)
12901292
.push(TabId::Search, search_tab_label, search_tab)
12911293
.push(TabId::Settings, settings_tab_label, settings_tab)

src/puzzles.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use chess::{Color, Piece};
55
use iced_aw::TabLabel;
66
use rfd::AsyncFileDialog;
77

8+
use crate::styles::btn_style_simple;
89
use crate::{Message, Tab, config, lang};
910

1011
#[derive(Debug, Clone)]
@@ -107,8 +108,8 @@ impl Tab for PuzzleTab {
107108
TextInput::new("",
108109
&("https://lichess.org/training/".to_owned() + &self.puzzles[self.current_puzzle].puzzle_id),
109110
).on_input(PuzzleMessage::ChangeTextInputs),
110-
Button::new(Text::new(lang::tr(&self.lang, "copy"))).on_press(PuzzleMessage::CopyText("https://lichess.org/training/".to_owned() + &self.puzzles[self.current_puzzle].puzzle_id)),
111-
Button::new(Text::new(lang::tr(&self.lang, "open"))).on_press(PuzzleMessage::OpenLink("https://lichess.org/training/".to_owned() + &self.puzzles[self.current_puzzle].puzzle_id)),
111+
Button::new(Text::new(lang::tr(&self.lang, "copy"))).on_press(PuzzleMessage::CopyText("https://lichess.org/training/".to_owned() + &self.puzzles[self.current_puzzle].puzzle_id)).style(btn_style_simple),
112+
Button::new(Text::new(lang::tr(&self.lang, "open"))).on_press(PuzzleMessage::OpenLink("https://lichess.org/training/".to_owned() + &self.puzzles[self.current_puzzle].puzzle_id)).style(btn_style_simple),
112113

113114
],
114115
Text::new(lang::tr(&self.lang, "fen")),
@@ -117,7 +118,7 @@ impl Tab for PuzzleTab {
117118
&self.current_puzzle_fen,
118119
&self.current_puzzle_fen,
119120
).on_input(PuzzleMessage::ChangeTextInputs),
120-
Button::new(Text::new(lang::tr(&self.lang, "copy"))).on_press(PuzzleMessage::CopyText(self.current_puzzle_fen.clone())),
121+
Button::new(Text::new(lang::tr(&self.lang, "copy"))).on_press(PuzzleMessage::CopyText(self.current_puzzle_fen.clone())).style(btn_style_simple),
121122
],
122123
Text::new(lang::tr(&self.lang, "rating") + &self.puzzles[self.current_puzzle].rating.to_string()),
123124
Text::new(lang::tr(&self.lang, "rd") + &self.puzzles[self.current_puzzle].rating_deviation.to_string()),
@@ -131,12 +132,12 @@ impl Tab for PuzzleTab {
131132
&self.puzzles[self.current_puzzle].game_url,
132133
&self.puzzles[self.current_puzzle].game_url,
133134
).on_input(PuzzleMessage::ChangeTextInputs),
134-
Button::new(Text::new(lang::tr(&self.lang, "copy"))).on_press(PuzzleMessage::CopyText(self.puzzles[self.current_puzzle].game_url.clone())),
135-
Button::new(Text::new(lang::tr(&self.lang, "open"))).on_press(PuzzleMessage::OpenLink(self.puzzles[self.current_puzzle].game_url.clone())),
135+
Button::new(Text::new(lang::tr(&self.lang, "copy"))).on_press(PuzzleMessage::CopyText(self.puzzles[self.current_puzzle].game_url.clone())).style(btn_style_simple),
136+
Button::new(Text::new(lang::tr(&self.lang, "open"))).on_press(PuzzleMessage::OpenLink(self.puzzles[self.current_puzzle].game_url.clone())).style(btn_style_simple),
136137
],
137-
Button::new(Text::new(lang::tr(&self.lang, "screenshot"))).on_press(PuzzleMessage::TakeScreenshot),
138-
Button::new(Text::new(lang::tr(&self.lang, "export_pdf_btn"))).on_press(PuzzleMessage::ExportToPDF),
139-
Button::new(Text::new(lang::tr(&self.lang, "export_pgn"))).padding(5).on_press(PuzzleMessage::ExportToPGN),
138+
Button::new(Text::new(lang::tr(&self.lang, "screenshot"))).on_press(PuzzleMessage::TakeScreenshot).style(btn_style_simple),
139+
Button::new(Text::new(lang::tr(&self.lang, "export_pdf_btn"))).on_press(PuzzleMessage::ExportToPDF).style(btn_style_simple),
140+
Button::new(Text::new(lang::tr(&self.lang, "export_pgn"))).padding(5).on_press(PuzzleMessage::ExportToPGN).style(btn_style_simple),
140141
].padding([0, 30]).spacing(10).align_x(Alignment::Center))
141142
} else {
142143
Scrollable::new(col![

src/search_tab.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::io::BufReader;
77
use iced_aw::TabLabel;
88
use chess::{Piece, PROMOTION_PIECES};
99
use crate::config::{load_config, SETTINGS_FILE, PIECES_DIRECTORY};
10-
use crate::styles::PieceTheme;
10+
use crate::styles::{PieceTheme, btn_style_simple};
1111
use crate::{Tab, Message, config, styles, lang, db, openings};
1212

1313
use lang::{DisplayTranslated,PickListWrapper};
@@ -435,8 +435,8 @@ impl Tab for SearchTab {
435435
let mut search_col = col![
436436
Container::new(
437437
row![
438-
Radio::new(lang::tr(&self.lang, "lichess_db"), SearchBase::Lichess, self.base, SearchMesssage::SelectBase),
439-
Radio::new(lang::tr(&self.lang, "my_favories"), SearchBase::Favorites, self.base, SearchMesssage::SelectBase),
438+
Radio::new(lang::tr(&self.lang, "lichess_db"), SearchBase::Lichess, self.base, SearchMesssage::SelectBase).style(styles::radio_style),
439+
Radio::new(lang::tr(&self.lang, "my_favories"), SearchBase::Favorites, self.base, SearchMesssage::SelectBase).style(styles::radio_style),
440440
].spacing(10)
441441
).align_x(alignment::Horizontal::Center).width(Length::Fill),
442442
row![
@@ -445,7 +445,7 @@ impl Tab for SearchTab {
445445
0..=config::MAX_RATING,
446446
self.slider_min_rating_value,
447447
SearchMesssage::SliderMinRatingChanged,
448-
),
448+
).style(styles::slider_style),
449449
Text::new(self.slider_min_rating_value.to_string())
450450
].width(Length::Fill),
451451
row![
@@ -454,7 +454,7 @@ impl Tab for SearchTab {
454454
0..=config::MAX_RATING,
455455
self.slider_max_rating_value,
456456
SearchMesssage::SliderMaxRatingChanged,
457-
),
457+
).style(styles::slider_style),
458458
Text::new(self.slider_max_rating_value.to_string())
459459
].width(Length::Fill),
460460
row![
@@ -463,7 +463,7 @@ impl Tab for SearchTab {
463463
-100..=100,
464464
self.slider_min_popularity,
465465
SearchMesssage::SliderMinPopularityChanged,
466-
),
466+
).style(styles::slider_style),
467467
Text::new(self.slider_min_popularity.to_string())
468468
].width(Length::Fill),
469469
Text::new(lang::tr(&self.lang, "theme_label")),
@@ -488,9 +488,9 @@ impl Tab for SearchTab {
488488

489489
if self.opening.item != Openings::Any {
490490
let row_color = row![
491-
Radio::new(lang::tr(&self.lang, "any"), OpeningSide::Any, self.opening_side, SearchMesssage::SelectOpeningSide),
492-
Radio::new(lang::tr(&self.lang, "white"), OpeningSide::White, self.opening_side, SearchMesssage::SelectOpeningSide),
493-
Radio::new(lang::tr(&self.lang, "black"), OpeningSide::Black, self.opening_side, SearchMesssage::SelectOpeningSide)
491+
Radio::new(lang::tr(&self.lang, "any"), OpeningSide::Any, self.opening_side, SearchMesssage::SelectOpeningSide).style(styles::radio_style),
492+
Radio::new(lang::tr(&self.lang, "white"), OpeningSide::White, self.opening_side, SearchMesssage::SelectOpeningSide).style(styles::radio_style),
493+
Radio::new(lang::tr(&self.lang, "black"), OpeningSide::Black, self.opening_side, SearchMesssage::SelectOpeningSide).style(styles::radio_style)
494494
].spacing(5).align_y(Alignment::Center);
495495
search_col = search_col.push(Text::new(lang::tr(&self.lang, "side"))).push(row_color);
496496
}
@@ -558,7 +558,7 @@ impl Tab for SearchTab {
558558
search_col = search_col.push(Text::new(lang::tr(&self.lang, "searching")));
559559
}
560560
search_col = search_col
561-
.push(Button::new(Text::new(lang::tr(&self.lang, "btn_search"))).padding(5).on_press(SearchMesssage::ClickSearch))
561+
.push(Button::new(Text::new(lang::tr(&self.lang, "btn_search"))).padding(5).on_press(SearchMesssage::ClickSearch).style(btn_style_simple))
562562
.push(Text::new(lang::tr(&self.lang, "promotion_piece")))
563563
.push(row_promotion);
564564

src/settings.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use iced_aw::TabLabel;
55

66
use rfd::AsyncFileDialog;
77

8+
use crate::styles::btn_style_simple;
89
use crate::{Message, Tab, config, styles, lang, lang::PickListWrapper};
910
use crate::config::SETTINGS_FILE;
1011

@@ -252,19 +253,19 @@ impl Tab for SettingsTab {
252253
].spacing(5).align_y(Alignment::Center),
253254
row![
254255
Text::new(lang::tr(&self.lang.lang, "play_sound")),
255-
Checkbox::new(self.play_sound).on_toggle(SettingsMessage::CheckPlaySound).size(20),
256+
Checkbox::new(self.play_sound).on_toggle(SettingsMessage::CheckPlaySound).size(20).style(styles::checkbox_style),
256257
].spacing(5).align_y(Alignment::Center),
257258
row![
258259
Text::new(lang::tr(&self.lang.lang, "auto_load")),
259-
Checkbox::new(self.auto_load_next).on_toggle(SettingsMessage::CheckAutoLoad).size(20),
260+
Checkbox::new(self.auto_load_next).on_toggle(SettingsMessage::CheckAutoLoad).size(20).style(styles::checkbox_style),
260261
].spacing(5).align_y(Alignment::Center),
261262
row![
262263
Text::new(lang::tr(&self.lang.lang, "flip_board")),
263-
Checkbox::new(self.flip_board).on_toggle(SettingsMessage::CheckFlipBoard).size(20),
264+
Checkbox::new(self.flip_board).on_toggle(SettingsMessage::CheckFlipBoard).size(20).style(styles::checkbox_style),
264265
].spacing(5).align_y(Alignment::Center),
265266
row![
266267
Text::new(lang::tr(&self.lang.lang, "show_coords")),
267-
Checkbox::new(self.show_coordinates).on_toggle(SettingsMessage::CheckShowCoords).size(20),
268+
Checkbox::new(self.show_coordinates).on_toggle(SettingsMessage::CheckShowCoords).size(20).style(styles::checkbox_style),
268269
].spacing(5).align_y(Alignment::Center),
269270
row![
270271
Text::new(lang::tr(&self.lang.lang, "pdf_number_of_pages")),
@@ -287,9 +288,9 @@ impl Tab for SettingsTab {
287288
&self.engine_path,
288289
&self.engine_path,
289290
).on_input(SettingsMessage::ChangeEnginePath).width(200),
290-
Button::new(Text::new("Select")).on_press(SettingsMessage::SearchEnginePressed),
291+
Button::new(Text::new("Select")).on_press(SettingsMessage::SearchEnginePressed).style(btn_style_simple),
291292
],
292-
Button::new(Text::new(lang::tr(&self.lang.lang, "save"))).padding(5).on_press(SettingsMessage::ChangePressed),
293+
Button::new(Text::new(lang::tr(&self.lang.lang, "save"))).padding(5).on_press(SettingsMessage::ChangePressed).style(btn_style_simple),
293294
Text::new(&self.settings_status).align_y(alignment::Vertical::Bottom),
294295

295296
].spacing(10).align_x(Alignment::Center);

0 commit comments

Comments
 (0)