diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2014-06-19 15:52:30 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-06-20 15:41:53 -0700 |
commit | a7240cd83f24c64d4a65d5f2ed22d1f61d810769 (patch) | |
tree | 2c4944fac6cb06a6f65efb6608b1bc0402bb3a7c /qt-ui | |
parent | 70c8bbcc915c31e850bdaf350bf913c4508e5a6a (diff) | |
download | subsurface-a7240cd83f24c64d4a65d5f2ed22d1f61d810769.tar.gz |
Added focus handling to the Date Picker.
Added focus handling for the date picker, this way the user
can use the keyboard to change the date. ( still not implemented )
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/maintab.ui | 24 | ||||
-rw-r--r-- | qt-ui/simplewidgets.cpp | 15 | ||||
-rw-r--r-- | qt-ui/simplewidgets.h | 2 |
3 files changed, 31 insertions, 10 deletions
diff --git a/qt-ui/maintab.ui b/qt-ui/maintab.ui index ad654581e..899854f86 100644 --- a/qt-ui/maintab.ui +++ b/qt-ui/maintab.ui @@ -19,9 +19,7 @@ </attribute> <layout class="QGridLayout" name="gridLayout_3"> <item row="2" column="1"> - <widget class="KMessageWidget" name="diveNotesMessage" native="true"> - <zorder>scrollArea</zorder> - </widget> + <widget class="KMessageWidget" name="diveNotesMessage" native="true"/> </item> <item row="3" column="1"> <widget class="QScrollArea" name="scrollArea"> @@ -248,7 +246,11 @@ </widget> </item> <item row="1" column="0" rowspan="2"> - <widget class="DateWidget" name="dateEdit" native="true"/> + <widget class="DateWidget" name="dateEdit" native="true"> + <property name="focusPolicy"> + <enum>Qt::StrongFocus</enum> + </property> + </widget> </item> </layout> </widget> @@ -280,8 +282,8 @@ <rect> <x>0</x> <y>0</y> - <width>662</width> - <height>642</height> + <width>100</width> + <height>30</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_5"> @@ -360,8 +362,8 @@ <rect> <x>0</x> <y>0</y> - <width>662</width> - <height>642</height> + <width>548</width> + <height>395</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_6"> @@ -670,8 +672,8 @@ <rect> <x>0</x> <y>0</y> - <width>662</width> - <height>642</height> + <width>468</width> + <height>229</height> </rect> </property> <layout class="QGridLayout" name="gridLayout_7"> @@ -923,6 +925,7 @@ </customwidgets> <tabstops> <tabstop>scrollArea</tabstop> + <tabstop>dateEdit</tabstop> <tabstop>airtemp</tabstop> <tabstop>watertemp</tabstop> <tabstop>location</tabstop> @@ -937,6 +940,7 @@ <tabstop>scrollArea_2</tabstop> <tabstop>scrollArea_3</tabstop> <tabstop>scrollArea_4</tabstop> + <tabstop>photosView</tabstop> </tabstops> <resources/> <connections/> diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp index 79f12101d..fe9b8f592 100644 --- a/qt-ui/simplewidgets.cpp +++ b/qt-ui/simplewidgets.cpp @@ -305,6 +305,7 @@ DateWidget::DateWidget(QWidget *parent) : QWidget(parent), { setDate(QDate::currentDate()); setMinimumSize(QSize(64,64)); + setFocusPolicy(Qt::StrongFocus); calendarWidget->setWindowFlags(Qt::FramelessWindowHint); connect(calendarWidget, SIGNAL(activated(QDate)), calendarWidget, SLOT(hide())); @@ -352,6 +353,9 @@ void DateWidget::paintEvent(QPaintEvent *event) painter.setBrush(Qt::black); painter.setFont(font); painter.drawText(QPoint(32 - metrics.width(day)/2, 45), day); + + if(hasFocus()) + painter.drawLine(0, 63, 63, 63); } void DateWidget::mousePressEvent(QMouseEvent *event) @@ -360,3 +364,14 @@ void DateWidget::mousePressEvent(QMouseEvent *event) calendarWidget->show(); } + +void DateWidget::focusInEvent(QFocusEvent *event) +{ + setFocus(); + QWidget::focusInEvent(event); +} + +void DateWidget::focusOutEvent(QFocusEvent *event) +{ + QWidget::focusOutEvent(event); +}
\ No newline at end of file diff --git a/qt-ui/simplewidgets.h b/qt-ui/simplewidgets.h index 3600f59b7..445dfebd4 100644 --- a/qt-ui/simplewidgets.h +++ b/qt-ui/simplewidgets.h @@ -100,6 +100,8 @@ public slots: protected: void paintEvent(QPaintEvent *event); void mousePressEvent(QMouseEvent *event); + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); signals: void dateChanged(const QDate& date); private: |