From a0f0f51558d277f9777ff01b0ecc176017041393 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 5 Jun 2010 22:12:38 +0200 Subject: [PATCH] save and restore window size --- qhimdtransfer/qhimdmainwindow.cpp | 38 ++++++++++++++++++++++++++++++------ qhimdtransfer/qhimdmainwindow.h | 2 + 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/qhimdtransfer/qhimdmainwindow.cpp b/qhimdtransfer/qhimdmainwindow.cpp index 747be11..34ff44d 100644 --- a/qhimdtransfer/qhimdmainwindow.cpp +++ b/qhimdtransfer/qhimdmainwindow.cpp @@ -223,14 +223,11 @@ void QHiMDMainWindow::set_buttons_enable(bool connect, bool download, bool uploa void QHiMDMainWindow::init_himd_browser() { + int i = 0; + ui->TrackList->setModel(&trackmodel); - ui->TrackList->resizeColumnToContents(0); - ui->TrackList->resizeColumnToContents(1); - ui->TrackList->resizeColumnToContents(2); - ui->TrackList->resizeColumnToContents(3); - ui->TrackList->resizeColumnToContents(4); - ui->TrackList->resizeColumnToContents(5); - ui->TrackList->resizeColumnToContents(6); + for(;i < trackmodel.columnCount(); i++) + ui->TrackList->resizeColumnToContents(i); QObject::connect(ui->TrackList->selectionModel(), SIGNAL(selectionChanged (const QItemSelection &, const QItemSelection &)), this, SLOT(handle_selection_change(const QItemSelection&, const QItemSelection&))); } @@ -253,6 +250,31 @@ void QHiMDMainWindow::init_local_browser() ui->localScan->setColumnWidth(0, 350); } +void QHiMDMainWindow::save_window_settings() +{ + int i = 0; + + settings.setValue("geometry", QMainWindow::saveGeometry()); + settings.setValue("windowState", QMainWindow::saveState()); + for(;i < trackmodel.columnCount(); i++) + settings.setValue("himd_browser" + QString::number(i), ui->TrackList->columnWidth(i)); +} + +void QHiMDMainWindow::read_window_settings() +{ + int i = 0; + int width; + + QMainWindow::restoreGeometry(settings.value("geometry").toByteArray()); + QMainWindow::restoreState(settings.value("windowState").toByteArray()); + for(; i < trackmodel.columnCount(); i++) + { + width = settings.value("himd_browser" + QString::number(i), 0).toInt(); + if(width != 0) + ui->TrackList->setColumnWidth(i, width); + } +} + bool QHiMDMainWindow::autodetect_init() { int k; @@ -369,6 +391,7 @@ QHiMDMainWindow::QHiMDMainWindow(QWidget *parent) set_buttons_enable(1,0,0,0,0,0,1); init_himd_browser(); init_local_browser(); + read_window_settings(); ui->himd_devices->hide(); if(!autodetect_init()) ui->statusBar->showMessage(" autodetection disabled", 10000); @@ -411,6 +434,7 @@ void QHiMDMainWindow::on_action_Upload_triggered() void QHiMDMainWindow::on_action_Quit_triggered() { + save_window_settings(); close(); } diff --git a/qhimdtransfer/qhimdmainwindow.h b/qhimdtransfer/qhimdmainwindow.h index 694622a..0ca406f 100644 --- a/qhimdtransfer/qhimdmainwindow.h +++ b/qhimdtransfer/qhimdmainwindow.h @@ -49,6 +49,8 @@ private: void set_buttons_enable(bool connect, bool download, bool upload, bool rename, bool del, bool format, bool quit); void init_himd_browser(); void init_local_browser(); + void save_window_settings(); + void read_window_settings(); bool autodetect_init(); void open_himd_at(const QString & path); void upload_to(const QString & path); -- 1.6.4.msysgit.0