videocollection/tsrc/stubs/src/hbdialog.cpp
changeset 36 8aed59de29f9
parent 35 3738fe97f027
child 40 13331705e488
equal deleted inserted replaced
35:3738fe97f027 36:8aed59de29f9
    16 */
    16 */
    17 #include <QGraphicsWidget>
    17 #include <QGraphicsWidget>
    18 
    18 
    19 #include "hbaction.h"
    19 #include "hbaction.h"
    20 #include "hblabel.h"
    20 #include "hblabel.h"
    21 #include "HbDialog.h"
    21 #include "hbdialog.h"
    22 
    22 
    23 HbDialog *HbDialog::currentInstance = 0;
    23 HbDialog *HbDialog::currentInstance = 0;
    24 bool HbDialog::execReturnPrimary = true;
    24 bool HbDialog::execReturnPrimary = true;
    25 bool HbDialog::primaryReturnNull = false;
    25 bool HbDialog::primaryReturnNull = false;
    26 bool HbDialog::secondaryReturnNull = false;
    26 bool HbDialog::secondaryReturnNull = false;
    27 
    27 
    28 HbDialog::HbDialog(QGraphicsItem *parent) :
    28 HbDialog::HbDialog(QGraphicsItem *parent) :
    29 HbWidget(parent),
    29 HbWidget(parent),
    30 mHeadingWidget(0),
    30 mHeadingWidget(0),
    31 mContentWidget(0),
    31 mContentWidget(0),
    32 mPrimaryAction(0),
       
    33 mSecondaryAction(0),
       
    34 mTimeout(NoTimeout),
    32 mTimeout(NoTimeout),
    35 mDismissPolicy(NoDismiss)
    33 mDismissPolicy(NoDismiss)
    36 
    34 
    37 {
    35 {
    38     mMinSize.setHeight(0);
    36     mMinSize.setHeight(0);
    43 }
    41 }
    44     
    42     
    45 HbDialog::~HbDialog()
    43 HbDialog::~HbDialog()
    46 {
    44 {
    47     delete mHeadingWidget;
    45     delete mHeadingWidget;
    48     delete mPrimaryAction;
       
    49     delete mSecondaryAction;
       
    50     delete mContentWidget;
    46     delete mContentWidget;
    51     currentInstance = 0;
    47     currentInstance = 0;
    52     mActions.clear();
    48     mActions.clear();
    53 }
    49 }
    54 
    50 
    58     {
    54     {
    59         connect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member));
    55         connect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member));
    60     }
    56     }
    61     if(execReturnPrimary)
    57     if(execReturnPrimary)
    62     {
    58     {
    63         emit finished(mPrimaryAction);
    59         HbAction *action = 0;
       
    60         if(mActions.count() >= 1)
       
    61         {
       
    62             action = mActions[0];
       
    63         }
       
    64         emit finished(action);
    64     }
    65     }
    65     else
    66     else
    66     {
    67     {
    67         emit finished(mSecondaryAction);
    68         HbAction *action = 0;
       
    69         if(mActions.count() >= 2)
       
    70         {
       
    71             action = mActions[1];
       
    72         }
       
    73         emit finished(action);
    68     }
    74     }
    69     if(receiver && member)
    75     if(receiver && member)
    70     {
    76     {
    71         disconnect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member));
    77         disconnect(this, SIGNAL(finished(HbAction*)), receiver, SLOT(member));
    72     }  
    78     }  
    79     
    85     
    80 void HbDialog::setTimeout(HbDialog::DefaultTimeout timeout)
    86 void HbDialog::setTimeout(HbDialog::DefaultTimeout timeout)
    81 {
    87 {
    82     mTimeout = timeout;
    88     mTimeout = timeout;
    83 }
    89 }
    84     
    90 
    85 void HbDialog::setHeadingWidget(QGraphicsWidget *headingWidget)
    91 void HbDialog::setHeadingWidget(QGraphicsWidget *headingWidget)
    86 {
    92 {
    87     mHeadingWidget = headingWidget;
    93     mHeadingWidget = headingWidget;
    88 }
    94 }
    89 
    95 
    90 void HbDialog::setContentWidget(QGraphicsWidget *contentWidget)
    96 void HbDialog::setContentWidget(QGraphicsWidget *contentWidget)
    91 {
    97 {
    92     mContentWidget = contentWidget;
    98     mContentWidget = contentWidget;
    93 }
    99 }
    94 
   100 
    95 void HbDialog::setPrimaryAction(HbAction *action)
       
    96 {
       
    97     mPrimaryAction = action;
       
    98 }
       
    99 
       
   100 HbAction* HbDialog::primaryAction()
       
   101 {
       
   102     if(primaryReturnNull)
       
   103     {
       
   104         return 0;
       
   105     }
       
   106     return mPrimaryAction;
       
   107 }
       
   108 
       
   109 void HbDialog::setSecondaryAction(HbAction *action)
       
   110 {
       
   111     mSecondaryAction = action;
       
   112 }
       
   113 
       
   114 HbAction* HbDialog::secondaryAction()
       
   115 {
       
   116     if(secondaryReturnNull)
       
   117     {
       
   118         return 0;
       
   119     }
       
   120     return mSecondaryAction;
       
   121 }
       
   122 
       
   123 void HbDialog::addAction(HbAction *action)
   101 void HbDialog::addAction(HbAction *action)
   124 {
   102 {
   125     mActions.append(action);
   103     mActions.append(action);
   126 }
   104 }
   127            
   105 
   128 void HbDialog::setMinimumSize(QSize size)
   106 void HbDialog::setMinimumSize(QSize size)
   129 {
   107 {
   130     mMinSize.setHeight(size.height());
   108     mMinSize.setHeight(size.height());
   131     mMinSize.setWidth(size.width());
   109     mMinSize.setWidth(size.width());
   132 }
   110 }
   134 void HbDialog::setMaximumSize(QSize size)
   112 void HbDialog::setMaximumSize(QSize size)
   135 {
   113 {
   136     mMaxSize.setHeight(size.height());
   114     mMaxSize.setHeight(size.height());
   137     mMaxSize.setWidth(size.width());
   115     mMaxSize.setWidth(size.width());
   138 }
   116 }
   139 
       
   140 HbAction* HbDialog::exec()
       
   141 {   
       
   142     if(execReturnPrimary)
       
   143     {
       
   144         return mPrimaryAction;
       
   145     }
       
   146     return mSecondaryAction;
       
   147 }