summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2014-06-19 15:52:30 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-06-20 15:41:53 -0700
commita7240cd83f24c64d4a65d5f2ed22d1f61d810769 (patch)
tree2c4944fac6cb06a6f65efb6608b1bc0402bb3a7c /qt-ui
parent70c8bbcc915c31e850bdaf350bf913c4508e5a6a (diff)
downloadsubsurface-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.ui24
-rw-r--r--qt-ui/simplewidgets.cpp15
-rw-r--r--qt-ui/simplewidgets.h2
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: