diff --git a/gui/desktop/generate_qrc_file.py b/gui/desktop/generate_qrc_file.py index 4136f070..1c6cf637 100644 --- a/gui/desktop/generate_qrc_file.py +++ b/gui/desktop/generate_qrc_file.py @@ -5,6 +5,8 @@ import sys import argparse +import xml.etree.cElementTree as ET + def main(): parser = argparse.ArgumentParser() parser.add_argument("data_dir") @@ -12,21 +14,20 @@ def main(): data_root = args.data_dir individual_files = [] - with open('data.qrc', 'w') as qrc: - qrc.write('\n') - qrc.write(' \n') - for root, dirs, files in os.walk(data_root): - for file in files: - f = os.path.join(root, file) - if os.path.isfile(f): - f = f.replace('\\', '/') - individual_files.append(f) - for file in individual_files: - embed_path = file.replace(data_root, '') - qrc.write(' ' + file + '\n') + rcc = ET.Element("RCC") + resources = ET.SubElement(rcc, "qresource", prefix="/") + for root, dirs, files in os.walk(data_root): + for file in files: + f = os.path.join(root, file) + if os.path.isfile(f): + f = f.replace('\\', '/') + individual_files.append(f) + + for file in individual_files: + embed_path = file.replace(data_root, '') + ET.SubElement(resources, "file", alias=embed_path).text = file - qrc.write(' \n') - qrc.write('') + ET.ElementTree(rcc).write("data.qrc") main() diff --git a/gui/desktop/mainwindow.ui b/gui/desktop/mainwindow.ui index ffb4af8b..de0ac157 100644 --- a/gui/desktop/mainwindow.ui +++ b/gui/desktop/mainwindow.ui @@ -69,7 +69,7 @@ - 6 + 0 @@ -2462,13 +2462,16 @@ color: lightgray - 364 + 346 346 ArrowCursor + + true + diff --git a/gui/desktop/tracker/data/area_angular_isles.png b/gui/desktop/tracker/data/areas/Angular Isles.png similarity index 100% rename from gui/desktop/tracker/data/area_angular_isles.png rename to gui/desktop/tracker/data/areas/Angular Isles.png diff --git a/gui/desktop/tracker/data/area_birds_peak_rock.png b/gui/desktop/tracker/data/areas/Birds Peak Rock.png similarity index 100% rename from gui/desktop/tracker/data/area_birds_peak_rock.png rename to gui/desktop/tracker/data/areas/Birds Peak Rock.png diff --git a/gui/desktop/tracker/data/area_boating_course.png b/gui/desktop/tracker/data/areas/Boating Course.png similarity index 100% rename from gui/desktop/tracker/data/area_boating_course.png rename to gui/desktop/tracker/data/areas/Boating Course.png diff --git a/gui/desktop/tracker/data/area_bomb_island.png b/gui/desktop/tracker/data/areas/Bomb Island.png similarity index 100% rename from gui/desktop/tracker/data/area_bomb_island.png rename to gui/desktop/tracker/data/areas/Bomb Island.png diff --git a/gui/desktop/tracker/data/area_cliff_plateau_isles.png b/gui/desktop/tracker/data/areas/Cliff Plateau Isles.png similarity index 100% rename from gui/desktop/tracker/data/area_cliff_plateau_isles.png rename to gui/desktop/tracker/data/areas/Cliff Plateau Isles.png diff --git a/gui/desktop/tracker/data/area_crescent_moon_island.png b/gui/desktop/tracker/data/areas/Crescent Moon Island.png similarity index 100% rename from gui/desktop/tracker/data/area_crescent_moon_island.png rename to gui/desktop/tracker/data/areas/Crescent Moon Island.png diff --git a/gui/desktop/tracker/data/area_cyclops_reef.png b/gui/desktop/tracker/data/areas/Cyclops Reef.png similarity index 100% rename from gui/desktop/tracker/data/area_cyclops_reef.png rename to gui/desktop/tracker/data/areas/Cyclops Reef.png diff --git a/gui/desktop/tracker/data/area_diamond_steppe_island.png b/gui/desktop/tracker/data/areas/Diamond Steppe Island.png similarity index 100% rename from gui/desktop/tracker/data/area_diamond_steppe_island.png rename to gui/desktop/tracker/data/areas/Diamond Steppe Island.png diff --git a/gui/desktop/tracker/data/area_dragon_roost_cavern.png b/gui/desktop/tracker/data/areas/Dragon Roost Cavern.png similarity index 100% rename from gui/desktop/tracker/data/area_dragon_roost_cavern.png rename to gui/desktop/tracker/data/areas/Dragon Roost Cavern.png diff --git a/gui/desktop/tracker/data/area_dragon_roost_island.png b/gui/desktop/tracker/data/areas/Dragon Roost Island.png similarity index 100% rename from gui/desktop/tracker/data/area_dragon_roost_island.png rename to gui/desktop/tracker/data/areas/Dragon Roost Island.png diff --git a/gui/desktop/tracker/data/area_earth_temple.png b/gui/desktop/tracker/data/areas/Earth Temple.png similarity index 100% rename from gui/desktop/tracker/data/area_earth_temple.png rename to gui/desktop/tracker/data/areas/Earth Temple.png diff --git a/gui/desktop/tracker/data/area_eastern_fairy_island.png b/gui/desktop/tracker/data/areas/Eastern Fairy Island.png similarity index 100% rename from gui/desktop/tracker/data/area_eastern_fairy_island.png rename to gui/desktop/tracker/data/areas/Eastern Fairy Island.png diff --git a/gui/desktop/tracker/data/area_eastern_triangle_island.png b/gui/desktop/tracker/data/areas/Eastern Triangle Island.png similarity index 100% rename from gui/desktop/tracker/data/area_eastern_triangle_island.png rename to gui/desktop/tracker/data/areas/Eastern Triangle Island.png diff --git a/gui/desktop/tracker/data/area_empty.png b/gui/desktop/tracker/data/areas/Empty.png similarity index 100% rename from gui/desktop/tracker/data/area_empty.png rename to gui/desktop/tracker/data/areas/Empty.png diff --git a/gui/desktop/tracker/data/area_fire_mountain.png b/gui/desktop/tracker/data/areas/Fire Mountain.png similarity index 100% rename from gui/desktop/tracker/data/area_fire_mountain.png rename to gui/desktop/tracker/data/areas/Fire Mountain.png diff --git a/gui/desktop/tracker/data/area_five_eye_reef.png b/gui/desktop/tracker/data/areas/Five Eye Reef.png similarity index 100% rename from gui/desktop/tracker/data/area_five_eye_reef.png rename to gui/desktop/tracker/data/areas/Five Eye Reef.png diff --git a/gui/desktop/tracker/data/area_five_star_isles.png b/gui/desktop/tracker/data/areas/Five Star Isles.png similarity index 100% rename from gui/desktop/tracker/data/area_five_star_isles.png rename to gui/desktop/tracker/data/areas/Five Star Isles.png diff --git a/gui/desktop/tracker/data/area_flight_control_platform.png b/gui/desktop/tracker/data/areas/Flight Control Platform.png similarity index 100% rename from gui/desktop/tracker/data/area_flight_control_platform.png rename to gui/desktop/tracker/data/areas/Flight Control Platform.png diff --git a/gui/desktop/tracker/data/area_forbidden_woods.png b/gui/desktop/tracker/data/areas/Forbidden Woods.png similarity index 100% rename from gui/desktop/tracker/data/area_forbidden_woods.png rename to gui/desktop/tracker/data/areas/Forbidden Woods.png diff --git a/gui/desktop/tracker/data/area_forest_haven.png b/gui/desktop/tracker/data/areas/Forest Haven.png similarity index 100% rename from gui/desktop/tracker/data/area_forest_haven.png rename to gui/desktop/tracker/data/areas/Forest Haven.png diff --git a/gui/desktop/tracker/data/area_forsaken_fortress_sector.png b/gui/desktop/tracker/data/areas/Forsaken Fortress Sector.png similarity index 100% rename from gui/desktop/tracker/data/area_forsaken_fortress_sector.png rename to gui/desktop/tracker/data/areas/Forsaken Fortress Sector.png diff --git a/gui/desktop/tracker/data/area_forsaken_fortress.png b/gui/desktop/tracker/data/areas/Forsaken Fortress.png similarity index 100% rename from gui/desktop/tracker/data/area_forsaken_fortress.png rename to gui/desktop/tracker/data/areas/Forsaken Fortress.png diff --git a/gui/desktop/tracker/data/area_four_eye_reef.png b/gui/desktop/tracker/data/areas/Four Eye Reef.png similarity index 100% rename from gui/desktop/tracker/data/area_four_eye_reef.png rename to gui/desktop/tracker/data/areas/Four Eye Reef.png diff --git a/gui/desktop/tracker/data/area_gale_isle.png b/gui/desktop/tracker/data/areas/Gale Isle.png similarity index 100% rename from gui/desktop/tracker/data/area_gale_isle.png rename to gui/desktop/tracker/data/areas/Gale Isle.png diff --git a/gui/desktop/tracker/data/area_ganons_tower.png b/gui/desktop/tracker/data/areas/Ganon's Tower.png similarity index 100% rename from gui/desktop/tracker/data/area_ganons_tower.png rename to gui/desktop/tracker/data/areas/Ganon's Tower.png diff --git a/gui/desktop/tracker/data/area_greatfish_isle.png b/gui/desktop/tracker/data/areas/Greatfish Isle.png similarity index 100% rename from gui/desktop/tracker/data/area_greatfish_isle.png rename to gui/desktop/tracker/data/areas/Greatfish Isle.png diff --git a/gui/desktop/tracker/data/area_headstone_island.png b/gui/desktop/tracker/data/areas/Headstone Island.png similarity index 100% rename from gui/desktop/tracker/data/area_headstone_island.png rename to gui/desktop/tracker/data/areas/Headstone Island.png diff --git a/gui/desktop/tracker/data/area_horseshoe_island.png b/gui/desktop/tracker/data/areas/Horseshoe Island.png similarity index 100% rename from gui/desktop/tracker/data/area_horseshoe_island.png rename to gui/desktop/tracker/data/areas/Horseshoe Island.png diff --git a/gui/desktop/tracker/data/area_hyrule_castle.png b/gui/desktop/tracker/data/areas/Hyrule.png similarity index 100% rename from gui/desktop/tracker/data/area_hyrule_castle.png rename to gui/desktop/tracker/data/areas/Hyrule.png diff --git a/gui/desktop/tracker/data/area_ice_ring_isle.png b/gui/desktop/tracker/data/areas/Ice Ring Isle.png similarity index 100% rename from gui/desktop/tracker/data/area_ice_ring_isle.png rename to gui/desktop/tracker/data/areas/Ice Ring Isle.png diff --git a/gui/desktop/tracker/data/area_islet_of_steel.png b/gui/desktop/tracker/data/areas/Islet of Steel.png similarity index 100% rename from gui/desktop/tracker/data/area_islet_of_steel.png rename to gui/desktop/tracker/data/areas/Islet of Steel.png diff --git a/gui/desktop/tracker/data/area_mailbox.png b/gui/desktop/tracker/data/areas/Mailbox.png similarity index 100% rename from gui/desktop/tracker/data/area_mailbox.png rename to gui/desktop/tracker/data/areas/Mailbox.png diff --git a/gui/desktop/tracker/data/area_mother_and_child_isles.png b/gui/desktop/tracker/data/areas/Mother & Child Isles.png similarity index 100% rename from gui/desktop/tracker/data/area_mother_and_child_isles.png rename to gui/desktop/tracker/data/areas/Mother & Child Isles.png diff --git a/gui/desktop/tracker/data/area_needle_rock_isle.png b/gui/desktop/tracker/data/areas/Needle Rock Isle.png similarity index 100% rename from gui/desktop/tracker/data/area_needle_rock_isle.png rename to gui/desktop/tracker/data/areas/Needle Rock Isle.png diff --git a/gui/desktop/tracker/data/area_northern_fairy_island.png b/gui/desktop/tracker/data/areas/Northern Fairy Island.png similarity index 100% rename from gui/desktop/tracker/data/area_northern_fairy_island.png rename to gui/desktop/tracker/data/areas/Northern Fairy Island.png diff --git a/gui/desktop/tracker/data/area_northern_triangle_island.png b/gui/desktop/tracker/data/areas/Northern Triangle Island.png similarity index 100% rename from gui/desktop/tracker/data/area_northern_triangle_island.png rename to gui/desktop/tracker/data/areas/Northern Triangle Island.png diff --git a/gui/desktop/tracker/data/area_outset_island.png b/gui/desktop/tracker/data/areas/Outset Island.png similarity index 100% rename from gui/desktop/tracker/data/area_outset_island.png rename to gui/desktop/tracker/data/areas/Outset Island.png diff --git a/gui/desktop/tracker/data/area_overlook_island.png b/gui/desktop/tracker/data/areas/Overlook Island.png similarity index 100% rename from gui/desktop/tracker/data/area_overlook_island.png rename to gui/desktop/tracker/data/areas/Overlook Island.png diff --git a/gui/desktop/tracker/data/area_pawprint_isle.png b/gui/desktop/tracker/data/areas/Pawprint Isle.png similarity index 100% rename from gui/desktop/tracker/data/area_pawprint_isle.png rename to gui/desktop/tracker/data/areas/Pawprint Isle.png diff --git a/gui/desktop/tracker/data/area_private_oasis.png b/gui/desktop/tracker/data/areas/Private Oasis.png similarity index 100% rename from gui/desktop/tracker/data/area_private_oasis.png rename to gui/desktop/tracker/data/areas/Private Oasis.png diff --git a/gui/desktop/tracker/data/area_rock_spire_isle.png b/gui/desktop/tracker/data/areas/Rock Spire Isle.png similarity index 100% rename from gui/desktop/tracker/data/area_rock_spire_isle.png rename to gui/desktop/tracker/data/areas/Rock Spire Isle.png diff --git a/gui/desktop/tracker/data/area_seven_star_isles.png b/gui/desktop/tracker/data/areas/Seven Star Isles.png similarity index 100% rename from gui/desktop/tracker/data/area_seven_star_isles.png rename to gui/desktop/tracker/data/areas/Seven Star Isles.png diff --git a/gui/desktop/tracker/data/area_shark_island.png b/gui/desktop/tracker/data/areas/Shark Island.png similarity index 100% rename from gui/desktop/tracker/data/area_shark_island.png rename to gui/desktop/tracker/data/areas/Shark Island.png diff --git a/gui/desktop/tracker/data/area_six_eye_reef.png b/gui/desktop/tracker/data/areas/Six Eye Reef.png similarity index 100% rename from gui/desktop/tracker/data/area_six_eye_reef.png rename to gui/desktop/tracker/data/areas/Six Eye Reef.png diff --git a/gui/desktop/tracker/data/area_southern_fairy_island.png b/gui/desktop/tracker/data/areas/Southern Fairy Island.png similarity index 100% rename from gui/desktop/tracker/data/area_southern_fairy_island.png rename to gui/desktop/tracker/data/areas/Southern Fairy Island.png diff --git a/gui/desktop/tracker/data/area_southern_triangle_island.png b/gui/desktop/tracker/data/areas/Southern Triangle Island.png similarity index 100% rename from gui/desktop/tracker/data/area_southern_triangle_island.png rename to gui/desktop/tracker/data/areas/Southern Triangle Island.png diff --git a/gui/desktop/tracker/data/area_spectacle_island.png b/gui/desktop/tracker/data/areas/Spectacle Island.png similarity index 100% rename from gui/desktop/tracker/data/area_spectacle_island.png rename to gui/desktop/tracker/data/areas/Spectacle Island.png diff --git a/gui/desktop/tracker/data/area_star_belt_archipelago.png b/gui/desktop/tracker/data/areas/Star Belt Archipelago.png similarity index 100% rename from gui/desktop/tracker/data/area_star_belt_archipelago.png rename to gui/desktop/tracker/data/areas/Star Belt Archipelago.png diff --git a/gui/desktop/tracker/data/area_star_island.png b/gui/desktop/tracker/data/areas/Star Island.png similarity index 100% rename from gui/desktop/tracker/data/area_star_island.png rename to gui/desktop/tracker/data/areas/Star Island.png diff --git a/gui/desktop/tracker/data/area_stone_watcher_island.png b/gui/desktop/tracker/data/areas/Stone Watcher Island.png similarity index 100% rename from gui/desktop/tracker/data/area_stone_watcher_island.png rename to gui/desktop/tracker/data/areas/Stone Watcher Island.png diff --git a/gui/desktop/tracker/data/area_great_sea.png b/gui/desktop/tracker/data/areas/The Great Sea.png similarity index 100% rename from gui/desktop/tracker/data/area_great_sea.png rename to gui/desktop/tracker/data/areas/The Great Sea.png diff --git a/gui/desktop/tracker/data/area_thorned_fairy_island.png b/gui/desktop/tracker/data/areas/Thorned Fairy Island.png similarity index 100% rename from gui/desktop/tracker/data/area_thorned_fairy_island.png rename to gui/desktop/tracker/data/areas/Thorned Fairy Island.png diff --git a/gui/desktop/tracker/data/area_three_eye_reef.png b/gui/desktop/tracker/data/areas/Three Eye Reef.png similarity index 100% rename from gui/desktop/tracker/data/area_three_eye_reef.png rename to gui/desktop/tracker/data/areas/Three Eye Reef.png diff --git a/gui/desktop/tracker/data/area_tingle_island.png b/gui/desktop/tracker/data/areas/Tingle Island.png similarity index 100% rename from gui/desktop/tracker/data/area_tingle_island.png rename to gui/desktop/tracker/data/areas/Tingle Island.png diff --git a/gui/desktop/tracker/data/area_tower_of_the_gods_sector.png b/gui/desktop/tracker/data/areas/Tower of the Gods Sector.png similarity index 100% rename from gui/desktop/tracker/data/area_tower_of_the_gods_sector.png rename to gui/desktop/tracker/data/areas/Tower of the Gods Sector.png diff --git a/gui/desktop/tracker/data/area_tower_of_the_gods.png b/gui/desktop/tracker/data/areas/Tower of the Gods.png similarity index 100% rename from gui/desktop/tracker/data/area_tower_of_the_gods.png rename to gui/desktop/tracker/data/areas/Tower of the Gods.png diff --git a/gui/desktop/tracker/data/area_two_eye_reef.png b/gui/desktop/tracker/data/areas/Two Eye Reef.png similarity index 100% rename from gui/desktop/tracker/data/area_two_eye_reef.png rename to gui/desktop/tracker/data/areas/Two Eye Reef.png diff --git a/gui/desktop/tracker/data/area_western_fairy_island.png b/gui/desktop/tracker/data/areas/Western Fairy Island.png similarity index 100% rename from gui/desktop/tracker/data/area_western_fairy_island.png rename to gui/desktop/tracker/data/areas/Western Fairy Island.png diff --git a/gui/desktop/tracker/data/area_wind_temple.png b/gui/desktop/tracker/data/areas/Wind Temple.png similarity index 100% rename from gui/desktop/tracker/data/area_wind_temple.png rename to gui/desktop/tracker/data/areas/Wind Temple.png diff --git a/gui/desktop/tracker/data/area_windfall_island.png b/gui/desktop/tracker/data/areas/Windfall Island.png similarity index 100% rename from gui/desktop/tracker/data/area_windfall_island.png rename to gui/desktop/tracker/data/areas/Windfall Island.png diff --git a/gui/desktop/tracker/tracker.cpp b/gui/desktop/tracker/tracker.cpp index 0815b5e4..e09f7d11 100644 --- a/gui/desktop/tracker/tracker.cpp +++ b/gui/desktop/tracker/tracker.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include <../ui_mainwindow.h> @@ -750,10 +751,10 @@ void MainWindow::initialize_tracker() "background-position: center;" "}"); ui->overworld_map_widget->setStyleSheet("QWidget#overworld_map_widget {background-image: url(" + getTrackerAssetPath("sea_chart.png") + ");}"); - ui->chart_list_widget->setStyleSheet("QWidget#chart_list_widget {border-image: url(" + getTrackerAssetPath("area_empty.png") + ");}"); - set_location_list_widget_background("empty"); - ui->entrance_list_widget->setStyleSheet("QWidget#entrance_list_widget {border-image: url(" + getTrackerAssetPath("area_empty.png") + ");}"); - ui->entrance_destination_widget->setStyleSheet("QWidget#entrance_destination_widget {border-image: url(" + getTrackerAssetPath("area_empty.png") + ");}"); + ui->chart_list_widget->setStyleSheet("QWidget#chart_list_widget {border-image: url(" + getTrackerAssetPath("areas/Empty.png") + ");}"); + set_location_list_widget_background("Empty"); + ui->entrance_list_widget->setStyleSheet("QWidget#entrance_list_widget {border-image: url(" + getTrackerAssetPath("areas/Empty.png") + ");}"); + ui->entrance_destination_widget->setStyleSheet("QWidget#entrance_destination_widget {border-image: url(" + getTrackerAssetPath("areas/Empty.png") + ");}"); ui->other_areas_widget->setStyleSheet("QWidget#other_areas_widget {background-color: rgba(160, 160, 160, 0.85);}"); ui->stat_box->setStyleSheet("QWidget#stat_box {background-color: rgba(79, 79, 79, 0.85);}"); @@ -1424,11 +1425,7 @@ void MainWindow::tracker_show_specific_area(const std::string& areaPrefix) ui->location_list_entrances_button->setVisible(!areaEntrances[areaPrefix].empty()); // Update the image used for the background of the area location labels - // Currently this lags the tracker a little bit, so maybe revisit later - // std::replace(areaPrefix.begin(), areaPrefix.end(), ' ', '_'); - // std::transform(areaPrefix.begin(), areaPrefix.end(), areaPrefix.begin(), [](char& c){return std::tolower(c);}); - // std::erase(areaPrefix, '\''); - // set_location_list_widget_background(areaPrefix); + set_location_list_widget_background(areaPrefix); } void MainWindow::tracker_clear_specific_area(const std::string& areaPrefix) @@ -1466,7 +1463,16 @@ void MainWindow::tracker_area_right_clicked(const std::string& areaPrefix) void MainWindow::set_location_list_widget_background(const std::string& area) { - ui->location_list_widget->setStyleSheet("QWidget#location_list_widget {border-image: url(" + getTrackerAssetPath("area_" + area + ".png") + ");}"); + QPixmap island(getTrackerAssetPath("areas/" + area + ".png")); + QPainter painter(&island); + painter.setCompositionMode(QPainter::CompositionMode_SourceAtop); + painter.fillRect(island.rect(), QColor(216, 186, 106, 179)); + painter.end(); + + QPalette palette; + const int width = ui->location_list_widget->width(), height = ui->location_list_widget->height(); + palette.setBrush(QPalette::Window, island.scaled(width, height, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + ui->location_list_widget->setPalette(palette); } void MainWindow::tracker_display_current_item_text(const std::string& currentItem)