diff options
-rw-r--r-- | assets/opensb/interface/title/serverentry.png | bin | 0 -> 150 bytes | |||
-rw-r--r-- | assets/opensb/interface/title/serverselect.png | bin | 224 -> 617 bytes | |||
-rw-r--r-- | assets/opensb/interface/title/serverselectionbackground.png | bin | 1663 -> 0 bytes | |||
-rw-r--r-- | assets/opensb/interface/title/serverselectselected.png | bin | 221 -> 0 bytes | |||
-rw-r--r-- | assets/opensb/interface/windowconfig/serverselect.config | 8 | ||||
-rw-r--r-- | source/frontend/StarTitleScreen.cpp | 9 |
6 files changed, 11 insertions, 6 deletions
diff --git a/assets/opensb/interface/title/serverentry.png b/assets/opensb/interface/title/serverentry.png Binary files differnew file mode 100644 index 0000000..efbb538 --- /dev/null +++ b/assets/opensb/interface/title/serverentry.png diff --git a/assets/opensb/interface/title/serverselect.png b/assets/opensb/interface/title/serverselect.png Binary files differindex c43d5e2..3821cd8 100644 --- a/assets/opensb/interface/title/serverselect.png +++ b/assets/opensb/interface/title/serverselect.png diff --git a/assets/opensb/interface/title/serverselectionbackground.png b/assets/opensb/interface/title/serverselectionbackground.png Binary files differdeleted file mode 100644 index 2522e3d..0000000 --- a/assets/opensb/interface/title/serverselectionbackground.png +++ /dev/null diff --git a/assets/opensb/interface/title/serverselectselected.png b/assets/opensb/interface/title/serverselectselected.png Binary files differdeleted file mode 100644 index fc7cdf9..0000000 --- a/assets/opensb/interface/title/serverselectselected.png +++ /dev/null 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", "")); |