From 2aeae9450690f68efd2432633aeeaf6b172c9648 Mon Sep 17 00:00:00 2001
From: Tomaz Canabrava <[email protected]>
Date: Mon, 3 Nov 2014 17:39:31 -0200
Subject: [PATCH] Fix position and size of the Filter

Signed-off-by: Tomaz Canabrava <[email protected]>
---
 qt-ui/listfilter.ui     |  2 +-
 qt-ui/mainwindow.ui     |  6 +++---
 qt-ui/simplewidgets.cpp | 18 ++++++++++++++----
 qt-ui/simplewidgets.h   | 14 +++++++-------
 4 files changed, 25 insertions(+), 15 deletions(-)

diff --git a/qt-ui/listfilter.ui b/qt-ui/listfilter.ui
index 2aec3e4..0588afb 100644
--- a/qt-ui/listfilter.ui
+++ b/qt-ui/listfilter.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>400</width>
-    <height>300</height>
+    <height>166</height>
    </rect>
   </property>
   <property name="windowTitle">
diff --git a/qt-ui/mainwindow.ui b/qt-ui/mainwindow.ui
index 8e5be3f..7b75c28 100644
--- a/qt-ui/mainwindow.ui
+++ b/qt-ui/mainwindow.ui
@@ -28,6 +28,9 @@
      <number>0</number>
     </property>
     <item>
+     <widget class="MultiFilter" name="multiFilter" native="true"/>
+    </item>
+    <item>
      <widget class="QSplitter" name="mainSplitter">
       <property name="orientation">
        <enum>Qt::Vertical</enum>
@@ -126,9 +129,6 @@
         <widget class="QWidget" name="page_3">
          <layout class="QVBoxLayout" name="verticalLayout_4">
           <item>
-           <widget class="MultiFilter" name="multiFilter" native="true"/>
-          </item>
-          <item>
            <widget class="DiveListView" name="ListWidget">
             <property name="selectionMode">
              <enum>QAbstractItemView::ExtendedSelection</enum>
diff --git a/qt-ui/simplewidgets.cpp b/qt-ui/simplewidgets.cpp
index a5707c3..522ed30 100644
--- a/qt-ui/simplewidgets.cpp
+++ b/qt-ui/simplewidgets.cpp
@@ -536,13 +536,23 @@ MultiFilter::MultiFilter(QWidget *parent) : QScrollArea(parent)
 	QWidget *w = new QWidget();
 	QHBoxLayout *l = new QHBoxLayout();
 
-	l->addWidget(new TagFilter());
+	TagFilter *tagFilter = new TagFilter();
+	int minimumHeight = tagFilter->ui.filterInternalList->height() +
+		tagFilter->ui.verticalLayout->spacing() * tagFilter->ui.verticalLayout->count();
+
+	QListView *dummyList = new QListView();
+	QStringListModel *dummy = new QStringListModel(QStringList() << "Dummy Text");
+	dummyList->setModel(dummy);
+
+	l->addWidget(tagFilter);
 	l->addWidget(new BuddyFilter());
 	l->addWidget(new LocationFilter());
-
 	l->setContentsMargins(0, 0, 0, 0);
-	l->setSpacing(1);
+	l->setSpacing(0);
+
 	w->setLayout(l);
-	w->setMinimumSize(l->count() * 150, 200);
 	setWidget(w);
+	w->resize(w->width(), minimumHeight + dummyList->sizeHintForRow(0) * 5 );
+
+	setMinimumHeight(w->height());
 }
diff --git a/qt-ui/simplewidgets.h b/qt-ui/simplewidgets.h
index 5fbdad6..b33dd8f 100644
--- a/qt-ui/simplewidgets.h
+++ b/qt-ui/simplewidgets.h
@@ -130,6 +130,12 @@ private:
 	struct dive_components *what;
 };
 
+class MultiFilter : public QScrollArea {
+	Q_OBJECT
+public:
+	MultiFilter(QWidget *parent);
+};
+
 class TagFilter : public QWidget {
 	Q_OBJECT
 public:
@@ -139,6 +145,7 @@ public:
 
 private:
 	Ui::FilterWidget ui;
+	friend class MultiFilter;
 };
 
 class BuddyFilter : public QWidget {
@@ -163,13 +170,6 @@ private:
 	Ui::FilterWidget ui;
 };
 
-
-class MultiFilter : public QScrollArea {
-	Q_OBJECT
-public:
-	MultiFilter(QWidget *parent);
-};
-
 bool isGnome3Session();
 QImage grayImage(const QImage &coloredImg);
 
-- 
2.1.3

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to