From: <geo...@us...> - 2014-01-26 07:39:19
|
Revision: 6715 http://sourceforge.net/p/freeorion/code/6715 Author: geoffthemedio Date: 2014-01-26 07:39:15 +0000 (Sun, 26 Jan 2014) Log Message: ----------- -Modified GG::PopupMenu to take a GG::Clr parameter for its hilite colour, instead of using a full alpha modification of the interior colour, which was not visible when mousing over menu items. -Changed GG::PopupMenu constructors to use the Edit hilite colour for that parameter. -Modified the response of PopupMenu to clicks on a menu item when that item has open submenus. Previously, it would act as though the 0 index menu item in the submenu was clicked. Now, it returns an invalid menu item sentinel value, and the submenu click is only indicated when it is actually clicked on directly. -Added code to determine which other empires are present that could receive gifted planets or fleets, and populated the give away popup menu with these empires' names. Code also responds to clicks on these menu items to issue such orders. -Fixed GiveObjectToEmpireOrder constructor to properly initialize based on parameters provided. Modified Paths: -------------- trunk/FreeOrion/GG/GG/Menu.h trunk/FreeOrion/GG/src/Menu.cpp trunk/FreeOrion/UI/CUIControls.cpp trunk/FreeOrion/UI/DesignWnd.cpp trunk/FreeOrion/UI/FieldIcon.cpp trunk/FreeOrion/UI/FleetWnd.cpp trunk/FreeOrion/UI/InfoPanels.cpp trunk/FreeOrion/UI/MapWnd.cpp trunk/FreeOrion/UI/ObjectListWnd.cpp trunk/FreeOrion/UI/PlayerListWnd.cpp trunk/FreeOrion/UI/ProductionWnd.cpp trunk/FreeOrion/UI/SidePanel.cpp trunk/FreeOrion/UI/SitRepPanel.cpp trunk/FreeOrion/default/stringtables/en.txt trunk/FreeOrion/util/Order.cpp Modified: trunk/FreeOrion/GG/GG/Menu.h =================================================================== --- trunk/FreeOrion/GG/GG/Menu.h 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/GG/GG/Menu.h 2014-01-26 07:39:15 UTC (rev 6715) @@ -238,7 +238,8 @@ /** \name Structors */ ///@{ /** Ctor. Parameter \a m should contain the desired menu in its next_level member. */ - PopupMenu(X x, Y y, const boost::shared_ptr<Font>& font, const MenuItem& m, Clr text_color = CLR_WHITE, Clr color = CLR_BLACK, Clr interior = CLR_SHADOW); + PopupMenu(X x, Y y, const boost::shared_ptr<Font>& font, const MenuItem& m, Clr text_color = CLR_WHITE, + Clr border_color = CLR_BLACK, Clr interior_color = CLR_SHADOW, Clr hilite_color = CLR_GRAY); //@} /** \name Accessors */ ///@{ Modified: trunk/FreeOrion/GG/src/Menu.cpp =================================================================== --- trunk/FreeOrion/GG/src/Menu.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/GG/src/Menu.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -385,12 +385,13 @@ const std::size_t PopupMenu::INVALID_CARET = std::numeric_limits<std::size_t>::max(); PopupMenu::PopupMenu(X x, Y y, const boost::shared_ptr<Font>& font, const MenuItem& m, Clr text_color/* = CLR_WHITE*/, - Clr color/* = CLR_BLACK*/, Clr interior/* = CLR_SHADOW*/) : + Clr border_color/* = CLR_BLACK*/, Clr interior_color/* = CLR_SHADOW*/, Clr hilite_color/* = CLR_GRAY*/) : Wnd(X0, Y0, GUI::GetGUI()->AppWidth() - 1, GUI::GetGUI()->AppHeight() - 1, INTERACTIVE | MODAL), m_font(font), - m_border_color(color), - m_int_color(interior), + m_border_color(border_color), + m_int_color(interior_color), m_text_color(text_color), + m_hilite_color(hilite_color), m_sel_text_color(text_color), m_menu_data(m), m_open_levels(), @@ -398,9 +399,6 @@ m_origin(x, y), m_item_selected(0) { - // use opaque interior color as hilite color - interior.a = 255; - m_hilite_color = interior; m_open_levels.resize(1); if (INSTRUMENT_ALL_SIGNALS) @@ -553,7 +551,8 @@ MenuItem& menu = *menu_ptr; if (pt.x >= m_open_levels[i].ul.x && pt.x <= m_open_levels[i].lr.x && - pt.y >= m_open_levels[i].ul.y && pt.y <= m_open_levels[i].lr.y) { + pt.y >= m_open_levels[i].ul.y && pt.y <= m_open_levels[i].lr.y) + { std::size_t row_selected = Value((pt.y - m_open_levels[i].ul.y) / m_font->Lineskip()); if (row_selected == m_caret[i]) { cursor_is_in_menu = true; @@ -562,7 +561,7 @@ m_open_levels.resize(i + 1); m_caret.resize(i + 1); if (!menu.next_level[row_selected].disabled && menu.next_level[row_selected].next_level.size()) { - m_caret.push_back(0); + m_caret.push_back(INVALID_CARET); m_open_levels.push_back(Rect()); } cursor_is_in_menu = true; Modified: trunk/FreeOrion/UI/CUIControls.cpp =================================================================== --- trunk/FreeOrion/UI/CUIControls.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/CUIControls.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -1200,7 +1200,7 @@ menu_contents.next_level.push_back(GG::MenuItem(UserString("RESET"), 1, false, false)); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { Modified: trunk/FreeOrion/UI/DesignWnd.cpp =================================================================== --- trunk/FreeOrion/UI/DesignWnd.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/DesignWnd.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -1230,7 +1230,7 @@ menu_contents.next_level.push_back(GG::MenuItem(UserString("DESIGN_RENAME"), 2, false, false)); } GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { Modified: trunk/FreeOrion/UI/FieldIcon.cpp =================================================================== --- trunk/FreeOrion/UI/FieldIcon.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/FieldIcon.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -136,7 +136,7 @@ std::string popup_label = boost::io::str(FlexibleFormat(UserString("ENC_LOOKUP")) % UserString(field_type_name)); menu_contents.next_level.push_back(GG::MenuItem(popup_label, 1, false, false)); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (!popup.Run() || popup.MenuID() != 1) return; Modified: trunk/FreeOrion/UI/FleetWnd.cpp =================================================================== --- trunk/FreeOrion/UI/FleetWnd.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/FleetWnd.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -99,7 +99,7 @@ if (!fleet) return retval; - int empire_id = HumanClientApp::GetApp()->EmpireID(); + int client_empire_id = HumanClientApp::GetApp()->EmpireID(); TemporaryPtr<const System> dest = GetSystem(fleet->FinalDestinationID()); TemporaryPtr<const System> cur_sys = GetSystem(fleet->SystemID()); @@ -107,7 +107,7 @@ std::pair<int, int> eta = fleet->ETA(); // .first is turns to final destination. .second is turns to next system on route // name of final destination - const std::string& dest_name = dest->ApparentName(empire_id); + const std::string& dest_name = dest->ApparentName(client_empire_id); // next system on path std::string next_eta_text; @@ -139,7 +139,7 @@ dest_name % final_eta_text % next_eta_text); } else if (cur_sys) { - const std::string& cur_system_name = cur_sys->ApparentName(empire_id); + const std::string& cur_system_name = cur_sys->ApparentName(client_empire_id); if(ClientUI::GetClientUI()->GetMapWnd()->IsFleetExploring(fleet->ID())){ if(fleet->Fuel() == fleet->MaxFuel()) retval = boost::io::str(FlexibleFormat(UserString("FW_FLEET_EXPLORING_WAITING"))); @@ -160,8 +160,8 @@ return; if (ClientPlayerIsModerator()) return; // todo: handle moderator actions for this... - int empire_id = HumanClientApp::GetApp()->EmpireID(); - if (empire_id == ALL_EMPIRES) + int client_empire_id = HumanClientApp::GetApp()->EmpireID(); + if (client_empire_id == ALL_EMPIRES) return; // TODO: We should probably have the sound effect occur exactly once instead of not at all. @@ -203,7 +203,7 @@ Logger().errorStream() << "CreateNewFleetsForShips passed ships with inconsistent system ids"; continue; } - if (!ship->OwnedBy(empire_id)) { + if (!ship->OwnedBy(client_empire_id)) { Logger().errorStream() << "CreateNewFleetsForShips passed ships not owned by this client's empire"; return; } @@ -242,7 +242,7 @@ // create new fleet with ships HumanClientApp::GetApp()->Orders().IssueOrder( - OrderPtr(new NewFleetOrder(empire_id, order_fleet_names, order_fleet_ids, + OrderPtr(new NewFleetOrder(client_empire_id, order_fleet_names, order_fleet_ids, *systems_containing_new_fleets.begin(), order_ship_id_groups, order_ship_aggressives))); @@ -255,7 +255,7 @@ TemporaryPtr<const Fleet> fleet = *it; if (fleet && fleet->Empty()) HumanClientApp::GetApp()->Orders().IssueOrder(OrderPtr( - new DeleteFleetOrder(empire_id, fleet->ID()))); + new DeleteFleetOrder(client_empire_id, fleet->ID()))); } } @@ -275,8 +275,8 @@ << " ship ids and design id: " << design_id; if (ship_ids.empty() || design_id == ShipDesign::INVALID_DESIGN_ID) return; - int empire_id = HumanClientApp::GetApp()->EmpireID(); - if (empire_id == ALL_EMPIRES && !ClientPlayerIsModerator()) + int client_empire_id = HumanClientApp::GetApp()->EmpireID(); + if (client_empire_id == ALL_EMPIRES && !ClientPlayerIsModerator()) return; // select ships with the requested design id @@ -300,8 +300,8 @@ << ship_ids.size() << " ship ids"; if (ship_ids.empty()) return; - int empire_id = HumanClientApp::GetApp()->EmpireID(); - if (empire_id == ALL_EMPIRES && !ClientPlayerIsModerator()) + int client_empire_id = HumanClientApp::GetApp()->EmpireID(); + if (client_empire_id == ALL_EMPIRES && !ClientPlayerIsModerator()) return; // sort ships by ID into container, indexed by design id @@ -325,8 +325,8 @@ void MergeFleetsIntoFleet(int fleet_id) { if (ClientPlayerIsModerator()) return; // todo: handle moderator actions for this... - int empire_id = HumanClientApp::GetApp()->EmpireID(); - if (empire_id == ALL_EMPIRES) + int client_empire_id = HumanClientApp::GetApp()->EmpireID(); + if (client_empire_id == ALL_EMPIRES) return; TemporaryPtr<Fleet> target_fleet = GetFleet(fleet_id); @@ -356,7 +356,7 @@ it != all_system_fleets.end(); ++it) { TemporaryPtr<Fleet> fleet = *it; - if (!fleet->OwnedBy(empire_id)) + if (!fleet->OwnedBy(client_empire_id)) continue; if (fleet->ID() == target_fleet->ID() || fleet->ID() == INVALID_OBJECT_ID) continue; // no need to do things to target fleet's contents @@ -371,7 +371,7 @@ // order ships moved into target fleet HumanClientApp::GetApp()->Orders().IssueOrder( - OrderPtr(new FleetTransferOrder(empire_id, target_fleet->ID(), empire_system_ship_ids))); + OrderPtr(new FleetTransferOrder(client_empire_id, target_fleet->ID(), empire_system_ship_ids))); // delete empty fleets from which ships have been taken @@ -380,7 +380,7 @@ it != empire_system_fleet_ids.end(); ++it) { HumanClientApp::GetApp()->Orders().IssueOrder(OrderPtr( - new DeleteFleetOrder(empire_id, *it))); + new DeleteFleetOrder(client_empire_id, *it))); } GetUniverse().InhibitUniverseObjectSignals(false); @@ -2397,7 +2397,7 @@ GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { case 1: { // rename ship @@ -3058,7 +3058,7 @@ } void FleetWnd::FleetRightClicked(GG::ListBox::iterator it, const GG::Pt& pt) { - int empire_id = HumanClientApp::GetApp()->EmpireID(); + int client_empire_id = HumanClientApp::GetApp()->EmpireID(); TemporaryPtr<Fleet> fleet = GetFleet(FleetInRow(it)); if (!fleet) @@ -3087,30 +3087,54 @@ unfueled_ship_ids.push_back(*it); } + // determine which other empires are at peace with client empire and have + // an owned object in this fleet's system + std::set<int> peaceful_empires_in_system; + if (system) { + std::vector<TemporaryPtr<const UniverseObject> > system_objects = + Objects().FindObjects<const UniverseObject>(system->ObjectIDs()); + for (std::vector<TemporaryPtr<const UniverseObject> >::const_iterator it = system_objects.begin(); + it != system_objects.end(); ++it) + { + TemporaryPtr<const UniverseObject> obj = *it; + if (obj->Owner() == client_empire_id || obj->Unowned()) + continue; + if (peaceful_empires_in_system.find(obj->Owner()) != peaceful_empires_in_system.end()) + continue; + if (Empires().GetDiplomaticStatus(client_empire_id, obj->Owner()) != DIPLO_PEACE) + continue; + peaceful_empires_in_system.insert(obj->Owner()); + } + } + + GG::MenuItem menu_contents; // add a fleet popup command to send the fleet exploring, and stop it from exploring if (system && !ClientUI::GetClientUI()->GetMapWnd()->IsFleetExploring(fleet->ID()) && !ClientPlayerIsModerator() - && fleet->OwnedBy(empire_id)) + && fleet->OwnedBy(client_empire_id)) { menu_contents.next_level.push_back(GG::MenuItem(UserString("ORDER_FLEET_EXPLORE"), 7, false, false)); + menu_contents.next_level.push_back(GG::MenuItem("-", -1, true, false)); } else if (system && !ClientPlayerIsModerator() - && fleet->OwnedBy(empire_id)) + && fleet->OwnedBy(client_empire_id)) { menu_contents.next_level.push_back(GG::MenuItem(UserString("ORDER_CANCEL_FLEET_EXPLORE"), 8, false, false)); + menu_contents.next_level.push_back(GG::MenuItem("-", -1, true, false)); } // Merge fleets if (system - && fleet->OwnedBy(empire_id) + && fleet->OwnedBy(client_empire_id) && !ClientPlayerIsModerator() ) { menu_contents.next_level.push_back(GG::MenuItem(UserString("FW_MERGE_SYSTEM_FLEETS"), 10, false, false)); + menu_contents.next_level.push_back(GG::MenuItem("-", -1, true, false)); } // Split damaged ships - need some, but not all, ships damaged, and need to be in a system @@ -3118,7 +3142,7 @@ && ship_ids_set.size() > 1 && !damaged_ship_ids.empty() && damaged_ship_ids.size() != ship_ids_set.size() - && fleet->OwnedBy(empire_id) + && fleet->OwnedBy(client_empire_id) && !ClientPlayerIsModerator() ) { @@ -3130,7 +3154,7 @@ && ship_ids_set.size() > 1 && unfueled_ship_ids.size() > 0 && unfueled_ship_ids.size() < ship_ids_set.size() - && fleet->OwnedBy(empire_id) + && fleet->OwnedBy(client_empire_id) && !ClientPlayerIsModerator() ) @@ -3141,28 +3165,33 @@ // Split fleet - can't split fleets without more than one ship, or which are not in a system if (system && ship_ids_set.size() > 1 - && (fleet->OwnedBy(empire_id)) + && (fleet->OwnedBy(client_empire_id)) && !ClientPlayerIsModerator() ) { menu_contents.next_level.push_back(GG::MenuItem(UserString("FW_SPLIT_FLEET"), 4, false, false)); menu_contents.next_level.push_back(GG::MenuItem(UserString("FW_SPLIT_SHIPS_ALL_DESIGNS"), 9, false, false)); + menu_contents.next_level.push_back(GG::MenuItem("-", -1, true, false)); } // Rename fleet - if (fleet->OwnedBy(empire_id) + if (fleet->OwnedBy(client_empire_id) || ClientPlayerIsModerator()) { menu_contents.next_level.push_back(GG::MenuItem(UserString("RENAME"), 1, false, false)); + menu_contents.next_level.push_back(GG::MenuItem("-", -3, true, false)); } + bool post_scrap_bar = false; + // add a fleet popup command to order all ships in the fleet scrapped if (system && fleet->HasShipsWithoutScrapOrders() && !ClientPlayerIsModerator() - && fleet->OwnedBy(empire_id)) + && fleet->OwnedBy(client_empire_id)) { menu_contents.next_level.push_back(GG::MenuItem(UserString("ORDER_FLEET_SCRAP"), 5, false, false)); + post_scrap_bar = true; } // add a fleet popup command to cancel all scrap orders on ships in this fleet @@ -3171,10 +3200,28 @@ && !ClientPlayerIsModerator()) { menu_contents.next_level.push_back(GG::MenuItem(UserString("ORDER_CANCEL_FLEET_SCRAP"), 6, false, false)); + post_scrap_bar = true; } + if (fleet->OwnedBy(client_empire_id) && !peaceful_empires_in_system.empty()) { + if (post_scrap_bar) + menu_contents.next_level.push_back(GG::MenuItem("-", -1, true, false)); + + GG::MenuItem give_away_menu(UserString("ORDER_GIVE_FLEET_TO_EMPIRE"), -1, false, false); + for (EmpireManager::const_iterator it = Empires().begin(); + it != Empires().end(); ++it) + { + int other_empire_id = it->first; + if (peaceful_empires_in_system.find(other_empire_id) == peaceful_empires_in_system.end()) + continue; + give_away_menu.next_level.push_back(GG::MenuItem(it->second->Name(), 100 + other_empire_id, false, false)); + } + menu_contents.next_level.push_back(give_away_menu); + } + + GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { @@ -3188,7 +3235,7 @@ if (!ClientPlayerIsModerator()) { if (!new_name.empty() && new_name != fleet_name) { HumanClientApp::GetApp()->Orders().IssueOrder( - OrderPtr(new RenameOrder(empire_id, fleet->ID(), new_name))); + OrderPtr(new RenameOrder(client_empire_id, fleet->ID(), new_name))); } } else { // TODO: Moderator action for renaming fleet @@ -3245,7 +3292,7 @@ for (std::set<int>::iterator it = ship_ids_set.begin(); it != ship_ids_set.end(); ++it) { int ship_id = *it; HumanClientApp::GetApp()->Orders().IssueOrder( - OrderPtr(new ScrapOrder(empire_id, ship_id)) + OrderPtr(new ScrapOrder(client_empire_id, ship_id)) ); } break; @@ -3281,9 +3328,15 @@ break; } - default: + default: { + if (popup.MenuID() > 100) { + int recipient_empire_id = popup.MenuID() - 100; + HumanClientApp::GetApp()->Orders().IssueOrder( + OrderPtr(new GiveObjectToEmpireOrder(client_empire_id, fleet->ID(), recipient_empire_id))); + } break; } + } } } Modified: trunk/FreeOrion/UI/InfoPanels.cpp =================================================================== --- trunk/FreeOrion/UI/InfoPanels.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/InfoPanels.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -495,7 +495,7 @@ std::string popup_label = boost::io::str(FlexibleFormat(UserString("ENC_LOOKUP")) % UserString(species_name)); menu_contents.next_level.push_back(GG::MenuItem(popup_label, 1, false, false)); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (!popup.Run() || popup.MenuID() != 1) return false; @@ -1173,7 +1173,7 @@ std::string popup_label = boost::io::str(FlexibleFormat(UserString("ENC_LOOKUP")) % UserString(species_name)); menu_contents.next_level.push_back(GG::MenuItem(popup_label, 1, false, false)); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (!popup.Run() || popup.MenuID() != 1) { return false; @@ -1835,7 +1835,7 @@ } GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { case 3: { // scrap building @@ -1985,7 +1985,7 @@ GG::MenuItem menu_contents; menu_contents.next_level.push_back(GG::MenuItem(popup_label, 1, false, false)); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (!popup.Run() || popup.MenuID() != 1) { return false; Modified: trunk/FreeOrion/UI/MapWnd.cpp =================================================================== --- trunk/FreeOrion/UI/MapWnd.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/MapWnd.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -1867,7 +1867,7 @@ menu_contents.next_level.push_back(GG::MenuItem(UserString("OPTIONS_GALAXY_MAP_DETECTION_RANGE"), 11, false, detectionRange)); // display popup menu GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { case 1: { GetOptionsDB().Set<bool>("show-fps", !fps); break; } Modified: trunk/FreeOrion/UI/ObjectListWnd.cpp =================================================================== --- trunk/FreeOrion/UI/ObjectListWnd.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/ObjectListWnd.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -1719,7 +1719,7 @@ // run popup and respond GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { case 1: { Modified: trunk/FreeOrion/UI/PlayerListWnd.cpp =================================================================== --- trunk/FreeOrion/UI/PlayerListWnd.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/PlayerListWnd.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -683,7 +683,7 @@ ClientNetworking& net = HumanClientApp::GetApp()->Networking(); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { case 1: { // WAR_DECLARATION Modified: trunk/FreeOrion/UI/ProductionWnd.cpp =================================================================== --- trunk/FreeOrion/UI/ProductionWnd.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/ProductionWnd.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -496,7 +496,7 @@ GG::MenuItem menu_contents; menu_contents.next_level.push_back(GG::MenuItem(UserString("DELETE_QUEUE_ITEM"), 1, false, false)); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, GG::CLR_RED, - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { case 1: { // delete item Modified: trunk/FreeOrion/UI/SidePanel.cpp =================================================================== --- trunk/FreeOrion/UI/SidePanel.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/SidePanel.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -1833,7 +1833,7 @@ menu_contents.next_level.push_back(GG::MenuItem(UserString("SP_PLANET_SUITABILITY"), 2, false, false)); GG::PopupMenu popup(pt.x, pt.y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (popup.Run()) { switch (popup.MenuID()) { Modified: trunk/FreeOrion/UI/SitRepPanel.cpp =================================================================== --- trunk/FreeOrion/UI/SitRepPanel.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/UI/SitRepPanel.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -336,7 +336,7 @@ GG::PopupMenu popup(m_filter_button->UpperLeft().x, m_filter_button->LowerRight().y, ClientUI::GetFont(), menu_contents, ClientUI::TextColor(), - ClientUI::WndOuterBorderColor(), ClientUI::WndColor()); + ClientUI::WndOuterBorderColor(), ClientUI::WndColor(), ClientUI::EditHiliteColor()); if (!popup.Run()) return; int selected_menu_item = popup.MenuID(); Modified: trunk/FreeOrion/default/stringtables/en.txt =================================================================== --- trunk/FreeOrion/default/stringtables/en.txt 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/default/stringtables/en.txt 2014-01-26 07:39:15 UTC (rev 6715) @@ -2396,7 +2396,13 @@ ORDER_CANCEL_FLEET_EXPLORE Stop Exploring +ORDER_GIVE_FLEET_TO_EMPIRE +Give Fleet To... +ORCER_CANCEL_GIVE_FLEET +Cancel Giving Fleet + + ############### # Moderator # ############### Modified: trunk/FreeOrion/util/Order.cpp =================================================================== --- trunk/FreeOrion/util/Order.cpp 2014-01-26 07:33:14 UTC (rev 6714) +++ trunk/FreeOrion/util/Order.cpp 2014-01-26 07:39:15 UTC (rev 6715) @@ -1198,9 +1198,9 @@ {} GiveObjectToEmpireOrder::GiveObjectToEmpireOrder(int empire, int object_id, int recipient) : - Order(), - m_object_id(INVALID_OBJECT_ID), - m_recipient_empire_id(ALL_EMPIRES) + Order(empire), + m_object_id(object_id), + m_recipient_empire_id(recipient) {} void GiveObjectToEmpireOrder::ExecuteImpl() const { |