| Summary: | Turn under/over exposure display on/off by click on corresponding icons | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | krienke |
| Component: | ImageEditor-Canvas | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | wishlist | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 0.9.1 | |
| Sentry Crash Report: | |||
|
Description
krienke
2007-02-23 15:21:03 UTC
SVN commit 636688 by cgilles:
digikam from trunk : make over/under exposure and Color Managed view indicator on status bar of editor like action buttons to toogle on/off options.
Nota : there are already keyboard shorcuts for these actions : F9/F10/F11
BUG: 142109
M +40 -18 editorwindow.cpp
M +7 -8 editorwindowprivate.h
--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp #636687:636688
@@ -32,6 +32,7 @@
#include <qdockarea.h>
#include <qlayout.h>
#include <qtooltip.h>
+#include <qtoolbutton.h>
#include <qsplitter.h>
#include <qdir.h>
#include <qfileinfo.h>
@@ -466,23 +467,29 @@
m_resLabel->setMaximumHeight(fontMetrics().height()+2);
statusBar()->addWidget(m_resLabel, 100);
- d->underExposureIndicator = new QLabel(statusBar());
- d->underExposureIndicator->setPixmap(SmallIcon("underexposure"));
- d->underExposureIndicator->setAlignment(Qt::AlignCenter);
- d->underExposureIndicator->setMaximumHeight(fontMetrics().height()+2);
+ d->underExposureIndicator = new QToolButton(statusBar());
+ d->underExposureIndicator->setIconSet(SmallIcon("underexposure"));
+ d->underExposureIndicator->setToggleButton(true);
statusBar()->addWidget(d->underExposureIndicator, 1);
- d->overExposureIndicator = new QLabel(statusBar());
- d->overExposureIndicator->setPixmap(SmallIcon("overexposure"));
- d->overExposureIndicator->setAlignment(Qt::AlignCenter);
- d->overExposureIndicator->setMaximumHeight(fontMetrics().height()+2);
+ d->overExposureIndicator = new QToolButton(statusBar());
+ d->overExposureIndicator->setIconSet(SmallIcon("overexposure"));
+ d->overExposureIndicator->setToggleButton(true);
statusBar()->addWidget(d->overExposureIndicator, 1);
- d->cmViewIndicator = new QLabel(statusBar());
- d->cmViewIndicator->setPixmap(SmallIcon("tv"));
- d->cmViewIndicator->setAlignment(Qt::AlignCenter);
- d->cmViewIndicator->setMaximumHeight(fontMetrics().height()+2);
+ d->cmViewIndicator = new QToolButton(statusBar());
+ d->cmViewIndicator->setIconSet(SmallIcon("tv"));
+ d->cmViewIndicator->setToggleButton(true);
statusBar()->addWidget(d->cmViewIndicator, 1);
+
+ connect(d->underExposureIndicator, SIGNAL(toggled(bool)),
+ this, SLOT(slotToggleUnderExposureIndicator()));
+
+ connect(d->overExposureIndicator, SIGNAL(toggled(bool)),
+ this, SLOT(slotToggleOverExposureIndicator()));
+
+ connect(d->cmViewIndicator, SIGNAL(toggled(bool)),
+ this, SLOT(slotToggleColorManagedView()));
}
void EditorWindow::printImage(KURL url)
@@ -731,7 +738,7 @@
d->viewCMViewAction->setEnabled(d->ICCSettings->enableCMSetting);
d->viewCMViewAction->setChecked(d->ICCSettings->managedViewSetting);
- d->cmViewIndicator->setEnabled(d->ICCSettings->managedViewSetting && d->ICCSettings->enableCMSetting);
+ d->cmViewIndicator->setOn(d->ICCSettings->managedViewSetting && d->ICCSettings->enableCMSetting);
setColorManagedViewIndicatorToolTip(d->ICCSettings->managedViewSetting && d->ICCSettings->enableCMSetting);
m_canvas->setICCSettings(d->ICCSettings);
@@ -802,8 +809,8 @@
d->viewUnderExpoAction->setChecked(d->exposureSettings->underExposureIndicator);
d->viewOverExpoAction->setChecked(d->exposureSettings->overExposureIndicator);
- d->underExposureIndicator->setEnabled(d->exposureSettings->underExposureIndicator);
- d->overExposureIndicator->setEnabled(d->exposureSettings->overExposureIndicator);
+ d->underExposureIndicator->setOn(d->exposureSettings->underExposureIndicator);
+ d->overExposureIndicator->setOn(d->exposureSettings->overExposureIndicator);
setUnderExposureToolTip(d->exposureSettings->underExposureIndicator);
setOverExposureToolTip(d->exposureSettings->overExposureIndicator);
m_canvas->setExposureSettings(d->exposureSettings);
@@ -1535,6 +1542,8 @@
void EditorWindow::slotToggleColorManagedView()
{
+ d->cmViewIndicator->blockSignals(true);
+ d->viewCMViewAction->blockSignals(true);
bool cmv = false;
if (d->ICCSettings->enableCMSetting)
{
@@ -1550,8 +1559,11 @@
config->writeEntry("ManagedView", cmv);
}
- d->cmViewIndicator->setEnabled(cmv);
+ d->cmViewIndicator->setOn(cmv);
+ d->viewCMViewAction->setChecked(cmv);
setColorManagedViewIndicatorToolTip(cmv);
+ d->cmViewIndicator->blockSignals(false);
+ d->viewCMViewAction->blockSignals(false);
}
void EditorWindow::setColorManagedViewIndicatorToolTip(bool cmv)
@@ -1564,11 +1576,16 @@
void EditorWindow::slotToggleUnderExposureIndicator()
{
+ d->underExposureIndicator->blockSignals(true);
+ d->viewUnderExpoAction->blockSignals(true);
bool uei = !d->exposureSettings->underExposureIndicator;
- d->underExposureIndicator->setEnabled(uei);
+ d->underExposureIndicator->setOn(uei);
+ d->viewUnderExpoAction->setChecked(uei);
d->exposureSettings->underExposureIndicator = uei;
m_canvas->setExposureSettings(d->exposureSettings);
setUnderExposureToolTip(uei);
+ d->underExposureIndicator->blockSignals(false);
+ d->viewUnderExpoAction->blockSignals(false);
}
void EditorWindow::setUnderExposureToolTip(bool uei)
@@ -1581,11 +1598,16 @@
void EditorWindow::slotToggleOverExposureIndicator()
{
+ d->overExposureIndicator->blockSignals(true);
+ d->viewOverExpoAction->blockSignals(true);
bool oei = !d->exposureSettings->overExposureIndicator;
- d->overExposureIndicator->setEnabled(oei);
+ d->overExposureIndicator->setOn(oei);
+ d->viewOverExpoAction->setChecked(oei);
d->exposureSettings->overExposureIndicator = oei;
m_canvas->setExposureSettings(d->exposureSettings);
setOverExposureToolTip(oei);
+ d->overExposureIndicator->blockSignals(false);
+ d->viewOverExpoAction->blockSignals(false);
}
void EditorWindow::setOverExposureToolTip(bool oei)
--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/editorwindowprivate.h #636687:636688
@@ -1,10 +1,10 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-01-20
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-01-20
* Description : main image editor GUI implementation
* private data.
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@@ -22,7 +22,7 @@
#ifndef EDITORWINDOWPRIVATE_H
#define EDITORWINDOWPRIVATE_H
-class QLabel;
+class QToolButton;
class KAction;
class KToggleAction;
@@ -83,10 +83,9 @@
bool fullScreenHideToolBar;
bool slideShowInFullScreen;
- QLabel *cmViewIndicator;
-
- QLabel *underExposureIndicator;
- QLabel *overExposureIndicator;
+ QToolButton *cmViewIndicator;
+ QToolButton *underExposureIndicator;
+ QToolButton *overExposureIndicator;
KAction *imagePluginsHelpAction;
KAction *donateMoneyAction;
|