From: Peter Penz Date: Tue, 3 Feb 2009 18:40:59 +0000 (+0000) Subject: Check whether the global single-click/double-click setting has been changed during... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/6c75649664547b7f0ead9658af224524632d5c56 Check whether the global single-click/double-click setting has been changed during runtime and assure that the behavior of the view is adjusted. CCMAIL: predator106@gmail.com BUG: 175635 BUG: 175280 svn path=/trunk/KDE/kdebase/apps/; revision=920754 --- diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 2b8583e13..b9e499635 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -149,8 +149,8 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr setFocus(); viewport()->installEventFilter(this); - connect(KGlobalSettings::self(), SIGNAL(kdisplayFontChanged()), - this, SLOT(updateFont())); + connect(KGlobalSettings::self(), SIGNAL(settingsChanged(int)), + this, SLOT(slotGlobalSettingsChanged(int))); m_useDefaultIndexAt = false; } @@ -657,14 +657,23 @@ void DolphinDetailsView::requestActivation() m_controller->requestActivation(); } -void DolphinDetailsView::updateFont() +void DolphinDetailsView::slotGlobalSettingsChanged(int category) { + Q_UNUSED(category); + const DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); Q_ASSERT(settings != 0); - if (settings->useSystemFont()) { m_font = KGlobalSettings::generalFont(); } + + disconnect(this, SIGNAL(clicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + disconnect(this, SIGNAL(doubleClicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + if (KGlobalSettings::singleClick()) { + connect(this, SIGNAL(clicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + } else { + connect(this, SIGNAL(doubleClicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + } } void DolphinDetailsView::updateElasticBandSelection() diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h index c81884ae9..0cef83741 100644 --- a/src/dolphindetailsview.h +++ b/src/dolphindetailsview.h @@ -66,7 +66,7 @@ protected: virtual bool eventFilter(QObject* watched, QEvent* event); virtual QModelIndex indexAt (const QPoint& point) const; virtual void setSelection(const QRect& rect, QItemSelectionModel::SelectionFlags command); - virtual void scrollTo (const QModelIndex & index, ScrollHint hint = EnsureVisible); + virtual void scrollTo(const QModelIndex& index, ScrollHint hint = EnsureVisible); private slots: /** @@ -144,7 +144,7 @@ private slots: void requestActivation(); - void updateFont(); + void slotGlobalSettingsChanged(int category); /** * If the elastic band is currently shown, update the elastic band based on diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index 885a49101..180caae22 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -126,8 +126,8 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controlle setFocus(); - connect(KGlobalSettings::self(), SIGNAL(kdisplayFontChanged()), - this, SLOT(updateFont())); + connect(KGlobalSettings::self(), SIGNAL(settingsChanged(int)), + this, SLOT(slotGlobalSettingsChanged(int))); } DolphinIconsView::~DolphinIconsView() @@ -371,14 +371,23 @@ void DolphinIconsView::requestActivation() m_controller->requestActivation(); } -void DolphinIconsView::updateFont() +void DolphinIconsView::slotGlobalSettingsChanged(int category) { + Q_UNUSED(category); + const IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); Q_ASSERT(settings != 0); - if (settings->useSystemFont()) { m_font = KGlobalSettings::generalFont(); } + + disconnect(this, SIGNAL(clicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + disconnect(this, SIGNAL(doubleClicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + if (KGlobalSettings::singleClick()) { + connect(this, SIGNAL(clicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + } else { + connect(this, SIGNAL(doubleClicked(QModelIndex)), m_controller, SLOT(triggerItem(QModelIndex))); + } } void DolphinIconsView::updateGridSize(bool showPreview, int additionalInfoCount) diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h index cc21e9aad..76a369db9 100644 --- a/src/dolphiniconsview.h +++ b/src/dolphiniconsview.h @@ -75,7 +75,7 @@ private slots: void slotAdditionalInfoChanged(); void setZoomLevel(int level); void requestActivation(); - void updateFont(); + void slotGlobalSettingsChanged(int category); private: /**