Summary: | usability: "check data integrity" window buttons | ||
---|---|---|---|
Product: | [Applications] ktorrent | Reporter: | Maciej Pilichowski <bluedzins> |
Component: | general | Assignee: | Joris Guisson <joris.guisson> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Maciej Pilichowski
2007-06-05 19:40:52 UTC
SVN commit 672601 by guisson: Make sure scan dialog has proper size, it seems that changing the text of a QLabel does not force the dialog to be resized, so manually call adjustSize() so that the scan dialog has the proper size. BUG: 146414 M +1 -0 scandialog.cpp M +10 -2 scandlgbase.ui --- branches/extragear/kde3/network/ktorrent/apps/ktorrent/scandialog.cpp #672600:672601 @@ -76,6 +76,7 @@ void ScanDialog::execute(kt::TorrentInterface* tc,bool silently) { m_torrent_label->setText(i18n("Scanning data of <b>%1</b> :").arg(tc->getStats().torrent_name)); + adjustSize(); m_ok->setEnabled(false); m_cancel->setEnabled(true); this->silently = silently; --- branches/extragear/kde3/network/ktorrent/apps/ktorrent/scandlgbase.ui #672600:672601 @@ -9,9 +9,17 @@ <x>0</x> <y>0</y> <width>441</width> - <height>187</height> + <height>182</height> </rect> </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="caption"> <string>Scanning data</string> </property> @@ -168,7 +176,7 @@ <cstring>m_ok</cstring> </property> <property name="text"> - <string>OK</string> + <string>&OK</string> </property> </widget> <widget class="KPushButton"> Crap, this is the fix for bug 146414, better reopen this bug. SVN commit 672998 by guisson: Scan dialog now has only one button cancel, which becomes close when the scan is finished. Also fixed bug with non functioning x button on scan dialog. BUG: 146414 M +2 -0 ChangeLog M +26 -9 apps/ktorrent/scandialog.cpp M +5 -0 apps/ktorrent/scandialog.h M +3 -9 apps/ktorrent/scandlgbase.ui --- branches/extragear/kde3/network/ktorrent/ChangeLog #672997:672998 @@ -1,5 +1,7 @@ Changes in 2.2dev - Revamped plugin settings page, looks much nicer now. +- Scan dialog now has only one button cancel, which becomes close when the +scan is finished Changes in 2.2beta1 - Ditch KMDI in favor of KDevelop IDEA code --- branches/extragear/kde3/network/ktorrent/apps/ktorrent/scandialog.cpp #672997:672998 @@ -39,16 +39,14 @@ QWidget* parent, const char* name, bool modal, WFlags fl) : ScanDlgBase(parent,name, modal,fl),DataCheckerListener(auto_import),mutex(true),core(core) { - m_ok->setGuiItem(KStdGuiItem::ok()); - m_ok->setDisabled(true); m_cancel->setGuiItem(KStdGuiItem::cancel()); - connect(m_ok,SIGNAL(clicked()),this,SLOT(accept())); - connect(m_cancel,SIGNAL(clicked()),this,SLOT(reject())); + connect(m_cancel,SIGNAL(clicked()),this,SLOT(onCancelPressed())); connect(&timer,SIGNAL(timeout()),this,SLOT(update())); tc = 0; silently = false; restart = false; qm_controlled = false; + scanning = false; num_chunks = 0; total_chunks = 0; num_downloaded = 0; @@ -65,6 +63,7 @@ { tc->startDataCheck(this,auto_import); timer.start(500); + scanning = true; } catch (bt::Error & err) { @@ -77,7 +76,6 @@ { m_torrent_label->setText(i18n("Scanning data of <b>%1</b> :").arg(tc->getStats().torrent_name)); adjustSize(); - m_ok->setEnabled(false); m_cancel->setEnabled(true); this->silently = silently; this->tc = tc; @@ -106,13 +104,12 @@ void ScanDialog::finished() { QMutexLocker lock(&mutex); + scanning = false; timer.stop(); progress(100,100); update(); if (!isStopped()) { - m_ok->setEnabled(true); - m_cancel->setEnabled(false); if (restart) { if (!qm_controlled) @@ -126,6 +123,13 @@ if (silently) accept(); + else + { + // cancel now becomes a close button + m_cancel->setGuiItem(KStdGuiItem::close()); + disconnect(m_cancel,SIGNAL(clicked()),this,SLOT(onCancelPressed())); + connect(m_cancel,SIGNAL(clicked()),this,SLOT(accept())); + } } else { @@ -170,7 +174,14 @@ void ScanDialog::reject() { - //QDialog::reject(); + if (scanning) + stop(); + else + QDialog::reject(); +} + +void ScanDialog::onCancelPressed() +{ stop(); } @@ -179,7 +190,13 @@ QDialog::accept(); } +void ScanDialog::closeEvent(QCloseEvent* e) +{ + if (scanning) + reject(); + else + accept(); +} - #include "scandialog.moc" --- branches/extragear/kde3/network/ktorrent/apps/ktorrent/scandialog.h #672997:672998 @@ -54,10 +54,14 @@ /// Scan finished, runs in app thread virtual void finished(); + /// Handle the close event + virtual void closeEvent(QCloseEvent* e); + protected slots: virtual void reject(); virtual void accept(); + void onCancelPressed(); /// Updates the GUI in app thread void update(); void scan(); @@ -74,6 +78,7 @@ bool restart; bool qm_controlled; int qm_priority; + bool scanning; KTorrentCore* core; }; --- branches/extragear/kde3/network/ktorrent/apps/ktorrent/scandlgbase.ui #672997:672998 @@ -173,19 +173,14 @@ </spacer> <widget class="KPushButton"> <property name="name"> - <cstring>m_ok</cstring> - </property> - <property name="text"> - <string>&OK</string> - </property> - </widget> - <widget class="KPushButton"> - <property name="name"> <cstring>m_cancel</cstring> </property> <property name="text"> <string>C&ancel</string> </property> + <property name="accel"> + <string>Alt+A</string> + </property> </widget> </hbox> </widget> @@ -197,6 +192,5 @@ <includehints> <includehint>kprogress.h</includehint> <includehint>kpushbutton.h</includehint> - <includehint>kpushbutton.h</includehint> </includehints> </UI> |