Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/opensb/interface/title/serverentry.pngbin0 -> 150 bytes
-rw-r--r--assets/opensb/interface/title/serverselect.pngbin224 -> 617 bytes
-rw-r--r--assets/opensb/interface/title/serverselectionbackground.pngbin1663 -> 0 bytes
-rw-r--r--assets/opensb/interface/title/serverselectselected.pngbin221 -> 0 bytes
-rw-r--r--assets/opensb/interface/windowconfig/serverselect.config8
-rw-r--r--source/frontend/StarTitleScreen.cpp9
6 files changed, 11 insertions, 6 deletions
diff --git a/assets/opensb/interface/title/serverentry.png b/assets/opensb/interface/title/serverentry.png
new file mode 100644
index 0000000..efbb538
--- /dev/null
+++ b/assets/opensb/interface/title/serverentry.png
Binary files differ
diff --git a/assets/opensb/interface/title/serverselect.png b/assets/opensb/interface/title/serverselect.png
index c43d5e2..3821cd8 100644
--- a/assets/opensb/interface/title/serverselect.png
+++ b/assets/opensb/interface/title/serverselect.png
Binary files differ
diff --git a/assets/opensb/interface/title/serverselectionbackground.png b/assets/opensb/interface/title/serverselectionbackground.png
deleted file mode 100644
index 2522e3d..0000000
--- a/assets/opensb/interface/title/serverselectionbackground.png
+++ /dev/null
Binary files differ
diff --git a/assets/opensb/interface/title/serverselectselected.png b/assets/opensb/interface/title/serverselectselected.png
deleted file mode 100644
index fc7cdf9..0000000
--- a/assets/opensb/interface/title/serverselectselected.png
+++ /dev/null
Binary files differ
diff --git a/assets/opensb/interface/windowconfig/serverselect.config b/assets/opensb/interface/windowconfig/serverselect.config
index 70bd1fc..78ea6d5 100644
--- a/assets/opensb/interface/windowconfig/serverselect.config
+++ b/assets/opensb/interface/windowconfig/serverselect.config
@@ -8,7 +8,7 @@
"background": {
"type": "background",
"fileHeader": "",
- "fileBody": "/interface/title/serverselectionbackground.png",
+ "fileBody": "/interface/title/serverselect.png",
"fileFooter": ""
},
@@ -28,14 +28,14 @@
"serverList": {
"type": "list",
"schema": {
- "selectedBG": "/interface/title/serverselectselected.png",
- "unselectedBG": "/interface/title/serverselect.png",
+ "selectedBG": "/interface/title/serverentry.png?replace;393939=858585",
+ "unselectedBG": "/interface/title/serverentry.png",
"spacing": [ 0, 2 ],
"memberSize": [ 181, 28 ],
"listTemplate": {
"background": {
"type": "image",
- "file": "/interface/title/serverselect.png",
+ "file": "/interface/title/serverentry.png",
"position": [ 0, 0 ],
"zlevel": -1
},
diff --git a/source/frontend/StarTitleScreen.cpp b/source/frontend/StarTitleScreen.cpp
index a2d2c53..747744c 100644
--- a/source/frontend/StarTitleScreen.cpp
+++ b/source/frontend/StarTitleScreen.cpp
@@ -337,6 +337,9 @@ void TitleScreen::initMultiPlayerMenu() {
GuiReader readerServer;
m_serverList = Root::singleton().configuration()->get("serverList");
+ if (!m_serverList.isType(Json::Type::Array))
+ m_serverList = JsonArray();
+
auto assets = Root::singleton().assets();
readerServer.registerCallback("saveServer", [=](Widget*) {
@@ -348,9 +351,9 @@ void TitleScreen::initMultiPlayerMenu() {
};
auto serverList = m_serverSelectPane->fetchChild<ListWidget>("serverSelectArea.serverList");
- if (auto const pos = serverList->selectedItem(); pos != NPos) {// Edit existing
+ if (auto const pos = serverList->selectedItem(); pos != NPos) { // Edit existing
m_serverList = m_serverList.set(pos, serverData);
- } else {// Save new
+ } else { // Save new
m_serverList = m_serverList.insert(0, serverData);
}
@@ -374,6 +377,8 @@ void TitleScreen::initMultiPlayerMenu() {
serverList->setCallback([=](Widget* widget) {
if (auto selectedItem = serverList->selectedWidget()) {
+ if (selectedItem->findChild<ButtonWidget>("delete")->isHovered())
+ return;
auto& data = selectedItem->data();
setMultiPlayerAddress(data.getString("address", ""));
setMultiPlayerPort(data.getString("port", ""));