[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/krita/plugins/filters/blur
From:       Edward Apap <schumifer () hotmail ! com>
Date:       2010-05-01 18:34:49
Message-ID: 20100501183449.D9E1EAC8AA () svn ! kde ! org
[Download RAW message or body]

SVN commit 1121570 by eapap:

* Added a QDial for better angle adjustment


 M  +33 -3     kis_wdg_motion_blur.cpp  
 M  +3 -1      kis_wdg_motion_blur.h  
 M  +33 -9     wdg_motion_blur.ui  


--- trunk/koffice/krita/plugins/filters/blur/kis_wdg_motion_blur.cpp #1121569:1121570
@@ -41,14 +41,17 @@
     m_widget = new Ui_WdgMotionBlur();
     m_widget->setupUi(this);
 
-    connect(m_widget->blurAngle, SIGNAL(valueChanged(int)), \
SIGNAL(sigConfigurationItemChanged())); +    connect(m_widget->blurAngleSlider, \
SIGNAL(valueChanged(int)), SLOT(angleSliderChanged(int))); +    \
connect(m_widget->blurAngleDial, SIGNAL(valueChanged(int)), \
SLOT(angleDialChanged(int))); +
+    connect(m_widget->blurAngleSlider, SIGNAL(valueChanged(int)), \
                SIGNAL(sigConfigurationItemChanged()));
     connect(m_widget->blurLength, SIGNAL(valueChanged(int)), \
SIGNAL(sigConfigurationItemChanged()));  }
 
 KisPropertiesConfiguration* KisWdgMotionBlur::configuration() const
 {
     KisFilterConfiguration* config = new KisFilterConfiguration("motion blur", 1);
-    config->setProperty("blurAngle", m_widget->blurAngle->value());
+    config->setProperty("blurAngle", m_widget->blurAngleSlider->value());
     config->setProperty("blurLength", m_widget->blurLength->value());
     return config;
 }
@@ -57,11 +60,38 @@
 {
     QVariant value;
     if (config->getProperty("blurAngle", value)) {
-        m_widget->blurAngle->setValue(value.toInt());
+        m_widget->blurAngleSlider->setValue(value.toInt());
     }
     if (config->getProperty("blurLength", value)) {
         m_widget->blurLength->setValue(value.toInt());
     }
 }
 
+void KisWdgMotionBlur::angleSliderChanged(int v)
+{
+    int absoluteValue = -v + 270;
+    if (absoluteValue < 0) {
+        absoluteValue += 360;
+    }
+    else if (absoluteValue > 360) {
+        absoluteValue = absoluteValue - 360;
+    }
+
+    m_widget->blurAngleDial->setValue(absoluteValue);
+}
+
+void KisWdgMotionBlur::angleDialChanged(int v)
+{
+    int absoluteValue = v - 270;
+    if (absoluteValue < 0) {
+        absoluteValue = 360 + absoluteValue;
+    }
+    absoluteValue = -absoluteValue;
+    if (absoluteValue < 0) {
+        absoluteValue += 360;
+    }
+
+    m_widget->blurAngleSlider->setValue(absoluteValue);
+}
+
 #include "kis_wdg_motion_blur.moc" 
--- trunk/koffice/krita/plugins/filters/blur/kis_wdg_motion_blur.h #1121569:1121570
@@ -36,7 +36,9 @@
     }
     virtual void setConfiguration(const KisPropertiesConfiguration*);
     virtual KisPropertiesConfiguration* configuration() const;
-
+public slots:
+    void angleSliderChanged(int);
+    void angleDialChanged(int);
 private:
     Ui_WdgMotionBlur* m_widget;
 };
--- trunk/koffice/krita/plugins/filters/blur/wdg_motion_blur.ui #1121569:1121570
@@ -7,11 +7,11 @@
     <x>0</x>
     <y>0</y>
     <width>365</width>
-    <height>313</height>
+    <height>172</height>
    </rect>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <item row="3" column="0" colspan="2">
+   <item row="2" column="0" colspan="2">
     <spacer>
      <property name="orientation">
       <enum>Qt::Vertical</enum>
@@ -36,13 +36,13 @@
       </sizepolicy>
      </property>
      <property name="label">
-      <string>Blur Length</string>
+      <string>Length</string>
      </property>
      <property name="minimum">
       <number>0</number>
      </property>
      <property name="maximum">
-      <number>100</number>
+      <number>256</number>
      </property>
      <property name="sliderEnabled">
       <bool>true</bool>
@@ -50,7 +50,7 @@
     </widget>
    </item>
    <item row="0" column="0">
-    <widget class="KIntNumInput" name="blurAngle">
+    <widget class="KIntNumInput" name="blurAngleSlider">
      <property name="label">
       <string>Angle</string>
      </property>
@@ -68,14 +68,38 @@
      </property>
     </widget>
    </item>
-   <item row="2" column="0">
-    <widget class="QWidget" name="widget" native="true">
+   <item row="0" column="1">
+    <widget class="QDial" name="blurAngleDial">
      <property name="minimumSize">
       <size>
-       <width>100</width>
-       <height>100</height>
+       <width>50</width>
+       <height>50</height>
       </size>
      </property>
+     <property name="maximumSize">
+      <size>
+       <width>50</width>
+       <height>50</height>
+      </size>
+     </property>
+     <property name="maximum">
+      <number>360</number>
+     </property>
+     <property name="value">
+      <number>274</number>
+     </property>
+     <property name="sliderPosition">
+      <number>274</number>
+     </property>
+     <property name="invertedAppearance">
+      <bool>false</bool>
+     </property>
+     <property name="wrapping">
+      <bool>true</bool>
+     </property>
+     <property name="notchesVisible">
+      <bool>false</bool>
+     </property>
     </widget>
    </item>
   </layout>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic