QTfrontend/ui/widget/frameTeam.cpp
branchios-develop
changeset 13418 ba39a1d396c0
parent 13239 6fa6626eb273
child 13491 4ef83bcb850b
equal deleted inserted replaced
13416:6e8b807bda4b 13418:ba39a1d396c0
    26 #include "teamselhelper.h"
    26 #include "teamselhelper.h"
    27 #include "hwconsts.h"
    27 #include "hwconsts.h"
    28 #include "DataManager.h"
    28 #include "DataManager.h"
    29 
    29 
    30 FrameTeams::FrameTeams(QWidget* parent) :
    30 FrameTeams::FrameTeams(QWidget* parent) :
    31     QFrame(parent), mainLayout(this), nonInteractive(false)
    31     QFrame(parent), mainLayout(this), nonInteractive(false),
       
    32     hasDecoFrame(false)
    32 {
    33 {
    33     QPalette newPalette = palette();
    34     QPalette newPalette = palette();
    34     newPalette.setColor(QPalette::Window, QColor(0x00, 0x00, 0x00));
    35     newPalette.setColor(QPalette::Window, QColor(0x00, 0x00, 0x00));
    35     setPalette(newPalette);
    36     setPalette(newPalette);
    36     setAutoFillBackground(true);
    37     setAutoFillBackground(true);
    70     if(nonInteractive) pTeamShowWidget->setInteractivity(false);
    71     if(nonInteractive) pTeamShowWidget->setInteractivity(false);
    71 //  int hght=teamToWidget.empty() ? 0 : teamToWidget.begin()->second->size().height();
    72 //  int hght=teamToWidget.empty() ? 0 : teamToWidget.begin()->second->size().height();
    72     mainLayout.addWidget(pTeamShowWidget);
    73     mainLayout.addWidget(pTeamShowWidget);
    73     teamToWidget.insert(team, pTeamShowWidget);
    74     teamToWidget.insert(team, pTeamShowWidget);
    74     QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size());
    75     QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size());
       
    76     updateDecoFrame();
    75     QCoreApplication::postEvent(parentWidget(), pevent);
    77     QCoreApplication::postEvent(parentWidget(), pevent);
    76 }
    78 }
    77 
    79 
    78 void FrameTeams::removeTeam(HWTeam team)
    80 void FrameTeams::removeTeam(HWTeam team)
    79 {
    81 {
    81     if(it==teamToWidget.end()) return;
    83     if(it==teamToWidget.end()) return;
    82     mainLayout.removeWidget(it.value());
    84     mainLayout.removeWidget(it.value());
    83     it.value()->deleteLater();
    85     it.value()->deleteLater();
    84     teamToWidget.erase(it);
    86     teamToWidget.erase(it);
    85     QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size());
    87     QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size());
       
    88     updateDecoFrame();
    86     QCoreApplication::postEvent(parentWidget(), pevent);
    89     QCoreApplication::postEvent(parentWidget(), pevent);
    87 }
    90 }
    88 
    91 
    89 void FrameTeams::resetTeams()
    92 void FrameTeams::resetTeams()
    90 {
    93 {
    93         mainLayout.removeWidget(it.value());
    96         mainLayout.removeWidget(it.value());
    94         it.value()->deleteLater();
    97         it.value()->deleteLater();
    95         teamToWidget.erase(it++);
    98         teamToWidget.erase(it++);
    96     }
    99     }
    97     QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size());
   100     QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size());
       
   101     updateDecoFrame();
    98     QCoreApplication::postEvent(parentWidget(), pevent);
   102     QCoreApplication::postEvent(parentWidget(), pevent);
    99 }
   103 }
   100 
   104 
   101 void FrameTeams::setHHNum(const HWTeam& team)
   105 void FrameTeams::setHHNum(const HWTeam& team)
   102 {
   106 {
   132 
   136 
   133 QSize FrameTeams::sizeHint() const
   137 QSize FrameTeams::sizeHint() const
   134 {
   138 {
   135     return QSize(-1, teamToWidget.size() * 39 + 9);
   139     return QSize(-1, teamToWidget.size() * 39 + 9);
   136 }
   140 }
       
   141 
       
   142 void FrameTeams::setDecoFrameEnabled(bool enabled)
       
   143 {
       
   144     hasDecoFrame = enabled;
       
   145     updateDecoFrame();
       
   146 }
       
   147 
       
   148 void FrameTeams::updateDecoFrame()
       
   149 {
       
   150     if (hasDecoFrame && teamToWidget.size() >= 1)
       
   151     {
       
   152         setStyleSheet(
       
   153             "FrameTeams{"
       
   154             "border: solid;"
       
   155             "border-width: 1px;"
       
   156             "border-radius: 16px;"
       
   157             "border-color: #ffcc00;"
       
   158             "}"
       
   159         );
       
   160     }
       
   161     else
       
   162     {
       
   163         setStyleSheet("FrameTeams{ border: transparent }");
       
   164     }
       
   165 }