From 328e4fd860776a42f4100eca3bcfd657d2e0ffda Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sun, 24 Oct 2010 08:28:35 +0000 Subject: [PATCH] Better fix for save path editing issues in torrent addition dialog --- src/torrentadditiondlg.cpp | 22 +++++++--------------- src/torrentadditiondlg.h | 6 +----- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/src/torrentadditiondlg.cpp b/src/torrentadditiondlg.cpp index fb81ebe15..444511ea4 100644 --- a/src/torrentadditiondlg.cpp +++ b/src/torrentadditiondlg.cpp @@ -30,7 +30,8 @@ #include "torrentadditiondlg.h" -torrentAdditionDialog::torrentAdditionDialog(GUI *parent, QBtSession* _BTSession) : QDialog((QWidget*)parent), old_label(""), hidden_height(0), cursor_pos(-1) { +torrentAdditionDialog::torrentAdditionDialog(GUI *parent, QBtSession* _BTSession) : + QDialog((QWidget*)parent), old_label(""), hidden_height(0) { setupUi(this); setAttribute(Qt::WA_DeleteOnClose); connect(this, SIGNAL(torrentPaused(QTorrentHandle&)), parent->getTransferList(), SLOT(pauseTorrent(QTorrentHandle&))); @@ -250,8 +251,8 @@ void torrentAdditionDialog::showLoad(QString filePath, QString from_url) { loadSavePathHistory(); // Connect slots - connect(savePathTxt, SIGNAL(editTextChanged(QString)), this, SLOT(updateDiskSpaceLabels())); - connect(savePathTxt, SIGNAL(editTextChanged(QString)), this, SLOT(updateSavePathCurrentText(QString))); + connect(savePathTxt->lineEdit(), SIGNAL(editingFinished()), this, SLOT(updateDiskSpaceLabels())); + connect(savePathTxt->lineEdit(), SIGNAL(editingFinished()), this, SLOT(updateSavePathCurrentText())); if(nbFiles == 1) { // Update properties model whenever the file path is edited connect(savePathTxt, SIGNAL(editTextChanged(QString)), this, SLOT(renameTorrentNameInModel(QString))); @@ -643,18 +644,9 @@ void torrentAdditionDialog::renameSelectedFile() { } } - void torrentAdditionDialog::restoreCursorPosition() { - savePathTxt->lineEdit()->setCursorPosition(cursor_pos); - cursor_pos = -1; - } - - void torrentAdditionDialog::updateSavePathCurrentText(QString path) { - if(cursor_pos >= 0) - return; - Q_UNUSED(path); - cursor_pos = savePathTxt->lineEdit()->cursorPosition(); - savePathTxt->setItemText(savePathTxt->currentIndex(), path); - QTimer::singleShot(0, this, SLOT(restoreCursorPosition())); + void torrentAdditionDialog::updateSavePathCurrentText() { + qDebug("updateSavePathCurrentText() - ENTER"); + savePathTxt->setItemText(savePathTxt->currentIndex(), savePathTxt->currentText()); path_history.replace(savePathTxt->currentIndex(), getCurrentTruncatedSavePath()); QString root_folder_or_file_name = ""; getCurrentTruncatedSavePath(&root_folder_or_file_name); diff --git a/src/torrentadditiondlg.h b/src/torrentadditiondlg.h index cdf3535e9..4931553a2 100644 --- a/src/torrentadditiondlg.h +++ b/src/torrentadditiondlg.h @@ -86,12 +86,9 @@ public slots: void saveTruncatedPathHistory(); void loadSavePathHistory(); void updateLabelInSavePath(QString label); - void updateSavePathCurrentText(QString path); + void updateSavePathCurrentText(); void resetComboLabelIndex(QString text); -protected slots: - void restoreCursorPosition(); - signals: void torrentPaused(QTorrentHandle &h); @@ -112,7 +109,6 @@ private: bool is_magnet; int hidden_height; QStringList path_history; - int cursor_pos; }; #endif