diff options
| author | Peter Penz <[email protected]> | 2006-12-07 20:51:05 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2006-12-07 20:51:05 +0000 |
| commit | 31d14571959f1bf750ccc43c15d71ca9338baaaf (patch) | |
| tree | 238becaaa9a5cf93c86d4c5f196d602a6a1f21d7 /src/viewpropsprogressinfo.cpp | |
| parent | 904168ad2a0e2baff0570658c8f9a9c3feba4554 (diff) | |
Apply the view properties to sub directories without using a modal window. This allows the user to proceed with the work during the view properties are applied.
svn path=/trunk/playground/utils/dolphin/; revision=611369
Diffstat (limited to 'src/viewpropsprogressinfo.cpp')
| -rw-r--r-- | src/viewpropsprogressinfo.cpp | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/src/viewpropsprogressinfo.cpp b/src/viewpropsprogressinfo.cpp index 610a6912c..b04e107d5 100644 --- a/src/viewpropsprogressinfo.cpp +++ b/src/viewpropsprogressinfo.cpp @@ -34,10 +34,10 @@ ViewPropsProgressInfo::ViewPropsProgressInfo(QWidget* parent, const KUrl& dir, - const ViewProperties* viewProps) : + const ViewProperties& viewProps) : KDialog(parent), m_dir(dir), - m_viewProps(viewProps), + m_viewProps(0), m_label(0), m_progressBar(0), m_dirSizeJob(0), @@ -47,6 +47,16 @@ ViewPropsProgressInfo::ViewPropsProgressInfo(QWidget* parent, setCaption(i18n("Applying view properties")); setButtons(KDialog::Cancel); + m_viewProps = new ViewProperties(dir); + m_viewProps->setViewMode(viewProps.viewMode()); + m_viewProps->setShowHiddenFilesEnabled(viewProps.isShowHiddenFilesEnabled()); + m_viewProps->setSorting(viewProps.sorting()); + m_viewProps->setSortOrder(viewProps.sortOrder()); + + // the view properties are stored by the ViewPropsApplierJob, so prevent + // that the view properties are saved twice: + m_viewProps->setAutoSaveEnabled(false); + QWidget* main = new QWidget(); QVBoxLayout* topLayout = new QVBoxLayout(); @@ -79,7 +89,15 @@ ViewPropsProgressInfo::ViewPropsProgressInfo(QWidget* parent, ViewPropsProgressInfo::~ViewPropsProgressInfo() { + delete m_viewProps; + m_viewProps = 0; +} + +void ViewPropsProgressInfo::closeEvent(QCloseEvent* event) +{ m_timer->stop(); + m_applyViewPropsJob = 0; + KDialog::closeEvent(event); } void ViewPropsProgressInfo::updateProgress() @@ -88,8 +106,8 @@ void ViewPropsProgressInfo::updateProgress() const int subdirs = m_dirSizeJob->totalSubdirs(); m_label->setText(i18n("Counting folders: %1", subdirs)); } - else { - assert(m_applyViewPropsJob != 0); + + if (m_applyViewPropsJob != 0) { const int progress = m_applyViewPropsJob->progress(); m_progressBar->setValue(progress); } @@ -117,8 +135,8 @@ void ViewPropsProgressInfo::cancelApplying() if (m_dirSizeJob != 0) { m_dirSizeJob->doKill(); } - else { - assert(m_applyViewPropsJob != 0); + + if (m_applyViewPropsJob != 0) { m_applyViewPropsJob->doKill(); } } |
