From 143bcc9d86e4ba6fac8dcee3236273eb2e06d2d6 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 4 Jun 2010 22:50:36 +0200 Subject: [PATCH] save and restore window geometry --- qhimdtransfer/qhimdmainwindow.cpp | 33 ++++++++++++++++++++++++++++++--- qhimdtransfer/qhimdmainwindow.h | 2 ++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/qhimdtransfer/qhimdmainwindow.cpp b/qhimdtransfer/qhimdmainwindow.cpp index 359c91e..9352eb9 100644 --- a/qhimdtransfer/qhimdmainwindow.cpp +++ b/qhimdtransfer/qhimdmainwindow.cpp @@ -154,7 +154,7 @@ QString QHiMDMainWindow::dumppcm(const QHiMDTrack & track, QString file) while(himd_nonmp3stream_read_block(&str, &data, &len, NULL, &status) >= 0) { - + for(i = 0; i < len/4; i++) { left = data[i*4]*256+data[i*4+1]; @@ -271,6 +271,31 @@ bool QHiMDMainWindow::autodetect_init() return true; } +void QHiMDMainWindow::save_window_settings() +{ + int i = 0; + + settings.setValue("geometry", QMainWindow::saveGeometry()); + settings.setValue("windowState", QMainWindow::saveState()); + for(;i == 6; 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 == 6; i++) + { + width = settings.value("himd_browser" + QString::number(i), 0).toInt(); + if(width != 0) + ui->TrackList->setColumnWidth(i, width); + } +} void QHiMDMainWindow::open_himd_at(const QString & path) { @@ -309,7 +334,7 @@ void QHiMDMainWindow::upload_to(const QString & UploadDirectory) allblocks += tracks[i].blockcount(); uploadDialog->init(tracks.length(), allblocks); - + for(int i = 0;i < tracks.length(); i++) { QString filename, errmsg; @@ -360,7 +385,7 @@ void QHiMDMainWindow::upload_to(const QString & UploadDirectory) QHiMDMainWindow::QHiMDMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::QHiMDMainWindowClass) -{ +{ aboutDialog = new QHiMDAboutDialog; formatDialog = new QHiMDFormatDialog; uploadDialog = new QHiMDUploadDialog; @@ -371,6 +396,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); @@ -413,6 +439,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..5d2587d 100644 --- a/qhimdtransfer/qhimdmainwindow.h +++ b/qhimdtransfer/qhimdmainwindow.h @@ -50,6 +50,8 @@ private: void init_himd_browser(); void init_local_browser(); bool autodetect_init(); + void save_window_settings(); + void read_window_settings(); void open_himd_at(const QString & path); void upload_to(const QString & path); -- 1.6.4.msysgit.0