Improve lists columns state saving

This commit is contained in:
Christophe Dumez
2011-03-13 10:09:31 +00:00
parent e142aafea1
commit 596737ba2f
7 changed files with 49 additions and 68 deletions

View File

@@ -63,6 +63,7 @@ torrentAdditionDialog::torrentAdditionDialog(QWidget *parent) :
const Preferences pref;
setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
loadFilesListState();
// Icons
CancelButton->setIcon(IconProvider::instance()->getIcon("dialog-cancel"));
OkButton->setIcon(IconProvider::instance()->getIcon("list-add"));
@@ -127,6 +128,7 @@ torrentAdditionDialog::~torrentAdditionDialog() {
void torrentAdditionDialog::closeEvent(QCloseEvent *event)
{
qDebug() << Q_FUNC_INFO;
saveFilesListState();
saveSettings();
QDialog::closeEvent(event);
}
@@ -134,14 +136,24 @@ void torrentAdditionDialog::closeEvent(QCloseEvent *event)
void torrentAdditionDialog::readSettings() {
QIniSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
restoreGeometry(settings.value("TorrentAdditionDlg/dimensions").toByteArray());
torrentContentList->header()->resizeSection(0, 200); //Default
torrentContentList->header()->restoreState(settings.value("TorrentAdditionDlg/contentHeaderState").toByteArray());
}
void torrentAdditionDialog::saveSettings() {
QIniSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
settings.setValue("TorrentAdditionDlg/dimensions", saveGeometry());
settings.setValue("TorrentAdditionDlg/contentHeaderState", torrentContentList->header()->saveState());
}
void torrentAdditionDialog::loadFilesListState() {
QIniSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
if(!torrentContentList->header()->restoreState(settings.value("TorrentAdditionDlg/ContentHeaderState").toByteArray())) {
torrentContentList->header()->resizeSection(0, 200); //Default
}
}
void torrentAdditionDialog::saveFilesListState() {
QIniSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
settings.setValue("TorrentAdditionDlg/ContentHeaderState", torrentContentList->header()->saveState());
}
void torrentAdditionDialog::limitDialogWidth() {