summaryrefslogtreecommitdiffstats
path: root/qt-ui/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/mainwindow.cpp')
-rw-r--r--qt-ui/mainwindow.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 9901e4186..8bf03531f 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -14,6 +14,8 @@
#include <QSortFilterProxyModel>
#include <QSettings>
#include <QCloseEvent>
+#include <QApplication>
+#include <QFontMetrics>
#include "divelistview.h"
#include "starwidget.h"
@@ -32,6 +34,38 @@ MainWindow::MainWindow() : ui(new Ui::MainWindow()),
sortModel->setSourceModel(model);
ui->ListWidget->setModel(sortModel);
+ /* figure out appropriate widths for the columns. The strings chosen
+ * are somewhat random (but at least we're trying to allow them to be
+ * localized so they are somewhat universal) */
+ QFontMetrics fm(QApplication::font());
+ int pixelsWide = fm.width(tr("Trip Wed, Mar 29, 2000 (100 dives)"));
+ ui->ListWidget->setColumnWidth(TreeItemDT::DATE, pixelsWide);
+
+ /* all the columns that have usually up to four numbers plus maybe
+ * a decimal separator */
+ pixelsWide = fm.width("000.0");
+ ui->ListWidget->setColumnWidth(TreeItemDT::DEPTH, pixelsWide);
+ ui->ListWidget->setColumnWidth(TreeItemDT::TEMPERATURE, pixelsWide);
+ ui->ListWidget->setColumnWidth(TreeItemDT::TOTALWEIGHT, pixelsWide);
+ ui->ListWidget->setColumnWidth(TreeItemDT::SAC, pixelsWide);
+ ui->ListWidget->setColumnWidth(TreeItemDT::OTU, pixelsWide);
+
+ /* this one is likely dominated by the header (need extra pixels) */
+ pixelsWide = fm.width(tr("maxCNS")) + 10;
+ ui->ListWidget->setColumnWidth(TreeItemDT::MAXCNS, pixelsWide);
+
+ /* the rest we try to cover with reasonable sample text again */
+ pixelsWide = fm.width(" 123456");
+ ui->ListWidget->setColumnWidth(TreeItemDT::NR, pixelsWide);
+ pixelsWide = fm.width("00:00:00");
+ ui->ListWidget->setColumnWidth(TreeItemDT::DURATION, pixelsWide);
+ pixelsWide = fm.width(tr("twin HP119"));
+ ui->ListWidget->setColumnWidth(TreeItemDT::CYLINDER, pixelsWide);
+ pixelsWide = fm.width("888888");
+ ui->ListWidget->setColumnWidth(TreeItemDT::NITROX, pixelsWide);
+ pixelsWide = fm.width(tr("7mm wet, farmer johns and jacket"));
+ ui->ListWidget->setColumnWidth(TreeItemDT::SUIT, pixelsWide);
+
setWindowIcon(QIcon(":subsurface-icon"));
readSettings();
}