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

List:       kde-commits
Subject:    Re: koffice/krita/ui
From:       Dmitry Kazakov <dimula73 () gmail ! com>
Date:       2010-11-24 17:08:28
Message-ID: AANLkTim=OmmC51sctWR2VSX5Bk9Ucr3a9cWo_JkH_eU+ () mail ! gmail ! com
[Download RAW message or body]

Don't we have the same shortcut set up onto the Backspace key?

On Wed, Nov 24, 2010 at 5:08 PM, Boudewijn Rempt <boud@valdyas.org> wrote:

> SVN commit 1200276 by rempt:
>
> Call the Edit > Clear action when the Del. key is pressed
>
> Patch by "Francisco Fernandes"
> CCMAIL: francisco.fernandes.j@gmail.com
>
>  M  +28 -25    kis_selection_manager.cc
>
>
> --- trunk/koffice/krita/ui/kis_selection_manager.cc #1200275:1200276
> @@ -1,3 +1,4 @@
> +
>  /*
>  *  Copyright (c) 2004 Boudewijn Rempt <boud@valdyas.org>
>  *  Copyright (c) 2007 Sven Langkamp <sven.langkamp@gmail.com>
> @@ -94,7 +95,6 @@
>         m_selectAll(0),
>         m_deselect(0),
>         m_clear(0),
> -        m_delete(0),
>         m_reselect(0),
>         m_invert(0),
>         m_toNewLayer(0),
> @@ -120,8 +120,7 @@
>
>  KisSelectionManager::~KisSelectionManager()
>  {
> -    while (!m_pluginActions.isEmpty())
> -        delete m_pluginActions.takeFirst();
> +    qDeleteAll(m_pluginActions);
>  }
>
>  void KisSelectionManager::setup(KActionCollection * collection)
> @@ -145,12 +144,8 @@
>     m_deselect = collection->addAction(KStandardAction::Deselect,
>  "deselect", this, SLOT(deselect()));
>
>     m_clear = collection->addAction(KStandardAction::Clear,  "clear", this,
> SLOT(clear()));
> +    m_clear->setShortcut(QKeySequence((Qt::Key_Delete)));
>
> -    m_delete = new KAction(KIcon("edit-delete"), i18n("D&elete
> Selection"), this);
> -    collection->addAction("delete", m_delete);
> -    m_delete->setShortcut(QKeySequence(Qt::Key_Delete));
> -    connect(m_delete, SIGNAL(triggered()), this, SLOT(deleteSelection()));
> -
>     m_reselect  = new KAction(i18n("&Reselect"), this);
>     collection->addAction("reselect", m_reselect);
>     m_reselect->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT +
> Qt::Key_D));
> @@ -267,8 +262,8 @@
>  #endif
>                     }
>
> +    m_clear->setEnabled(enable);
>         m_cut->setEnabled(enable);
> -    m_clear->setEnabled(enable);
>     m_fillForegroundColor->setEnabled(enable);
>     m_fillBackgroundColor->setEnabled(enable);
>     m_fillPattern->setEnabled(enable);
> @@ -316,7 +311,6 @@
>
>     l = m_view->activeLayer();
>     KisShapeLayer * shapeLayer = dynamic_cast<KisShapeLayer*>(l.data());
> -
>     bool shapePasteEnable = false;
>     bool shapeCopyEnable = false;
>     if (shapeLayer) {
> @@ -340,16 +334,18 @@
>     m_pasteNew->setEnabled(!image.isNull() && m_clipboard->hasClip());
>     m_toNewLayer->setEnabled(enable);
>
> -    if (shapeLayer || ((m_view->selection()
> -                        && m_view->selection()->hasShapeSelection()
> -                       )
> -                       &&
> m_view->canvasBase()->shapeManager()->selection()->count() > 0
> -                      )
> -       ) {
> -        m_delete->setEnabled(true);
> -    } else
> -        m_delete->setEnabled(false);
> +    //Handle the clear action disponibility
>
> +    if (m_view->canvasBase()->shapeManager()->selection()->count() > 0) {
> +        m_clear->setEnabled(true);
> +    }
> +    else if (shapeLayer &&
> m_view->canvasBase()->shapeManager()->shapes().empty()){
> +        m_clear->setEnabled(false);
> +    }
> +    else {
> +        m_clear->setEnabled(true);
> +    }
> +
>     updateStatusBar();
>
>  }
> @@ -398,7 +394,8 @@
>     KisShapeLayer * shapeLayer =
> dynamic_cast<KisShapeLayer*>(layer.data());
>     if (shapeLayer) {
>         m_view->canvasBase()->toolProxy()->copy();
> -    } else {
> +    }
> +    else {
>
>         KisImageWSP image = m_view->image();
>         if (!image) return;
> @@ -582,28 +579,34 @@
>     if (!image) return;
>
>     KisPaintDeviceSP dev = m_view->activeDevice();
> -    if (!dev) return;
>
> +    if(m_view->canvasBase()->shapeManager()->selection()->count()){
> +        deleteSelection();
> +    }else if(dev){
> +
>     KisSelectionSP sel = m_view->selection();
>
>     KisTransaction transaction(i18n("Clear"), dev);
>
> -    if (sel)
> +        if (sel){
>         dev->clearSelection(sel);
> -    else {
> +        }else{
>         dev->clear();
>         dev->setDirty();
>     }
>
> +        updateGUI();
> +
>     transaction.commit(image->undoAdapter());
> -
>     dev->setDirty(image->bounds());
>  }
> +}
>
>  void KisSelectionManager::deleteSelection()
>  {
> -    if (m_view->canvasBase()->shapeManager()->selection())
> +    if (m_view->canvasBase()->shapeManager()->selection()){
>         m_view->canvasBase()->toolProxy()->deleteSelection();
> +    }
>     updateGUI();
>  }
>
>


-- 
Dmitry Kazakov

[Attachment #3 (text/html)]

Don&#39;t we have the same shortcut set up onto the Backspace key?<br><br><div \
class="gmail_quote">On Wed, Nov 24, 2010 at 5:08 PM, Boudewijn Rempt <span \
dir="ltr">&lt;<a href="mailto:boud@valdyas.org">boud@valdyas.org</a>&gt;</span> \
wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, \
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">SVN commit 1200276 by \
rempt:<br> <br>
Call the Edit &gt; Clear action when the Del. key is pressed<br>
<br>
Patch by &quot;Francisco Fernandes&quot;<br>
CCMAIL: <a href="mailto:francisco.fernandes.j@gmail.com">francisco.fernandes.j@gmail.com</a><br>
 <br>
  M   +28 -25      kis_selection_manager.cc<br>
<br>
<br>
--- trunk/koffice/krita/ui/kis_selection_manager.cc #1200275:1200276<br>
@@ -1,3 +1,4 @@<br>
+<br>
  /*<br>
   *   Copyright (c) 2004 Boudewijn Rempt &lt;<a \
                href="mailto:boud@valdyas.org">boud@valdyas.org</a>&gt;<br>
   *   Copyright (c) 2007 Sven Langkamp &lt;<a \
href="mailto:sven.langkamp@gmail.com">sven.langkamp@gmail.com</a>&gt;<br> @@ -94,7 \
+95,6 @@<br>  m_selectAll(0),<br>
             m_deselect(0),<br>
             m_clear(0),<br>
-            m_delete(0),<br>
             m_reselect(0),<br>
             m_invert(0),<br>
             m_toNewLayer(0),<br>
@@ -120,8 +120,7 @@<br>
<br>
  KisSelectionManager::~KisSelectionManager()<br>
  {<br>
-      while (!m_pluginActions.isEmpty())<br>
-            delete m_pluginActions.takeFirst();<br>
+      qDeleteAll(m_pluginActions);<br>
  }<br>
<br>
  void KisSelectionManager::setup(KActionCollection * collection)<br>
@@ -145,12 +144,8 @@<br>
       m_deselect = collection-&gt;addAction(KStandardAction::Deselect,   \
&quot;deselect&quot;, this, SLOT(deselect()));<br> <br>
       m_clear = collection-&gt;addAction(KStandardAction::Clear,   \
&quot;clear&quot;, this, SLOT(clear()));<br> +      \
m_clear-&gt;setShortcut(QKeySequence((Qt::Key_Delete)));<br> <br>
-      m_delete = new KAction(KIcon(&quot;edit-delete&quot;), i18n(&quot;D&amp;elete \
                Selection&quot;), this);<br>
-      collection-&gt;addAction(&quot;delete&quot;, m_delete);<br>
-      m_delete-&gt;setShortcut(QKeySequence(Qt::Key_Delete));<br>
-      connect(m_delete, SIGNAL(triggered()), this, SLOT(deleteSelection()));<br>
-<br>
       m_reselect   = new KAction(i18n(&quot;&amp;Reselect&quot;), this);<br>
       collection-&gt;addAction(&quot;reselect&quot;, m_reselect);<br>
       m_reselect-&gt;setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + \
Qt::Key_D));<br> @@ -267,8 +262,8 @@<br>
  #endif<br>
                               }<br>
<br>
+      m_clear-&gt;setEnabled(enable);<br>
             m_cut-&gt;setEnabled(enable);<br>
-      m_clear-&gt;setEnabled(enable);<br>
       m_fillForegroundColor-&gt;setEnabled(enable);<br>
       m_fillBackgroundColor-&gt;setEnabled(enable);<br>
       m_fillPattern-&gt;setEnabled(enable);<br>
@@ -316,7 +311,6 @@<br>
<br>
       l = m_view-&gt;activeLayer();<br>
       KisShapeLayer * shapeLayer = dynamic_cast&lt;KisShapeLayer*&gt;(l.data());<br>
-<br>
       bool shapePasteEnable = false;<br>
       bool shapeCopyEnable = false;<br>
       if (shapeLayer) {<br>
@@ -340,16 +334,18 @@<br>
       m_pasteNew-&gt;setEnabled(!image.isNull() &amp;&amp; \
m_clipboard-&gt;hasClip());<br>  m_toNewLayer-&gt;setEnabled(enable);<br>
<br>
-      if (shapeLayer || ((m_view-&gt;selection()<br>
-                                    &amp;&amp; \
                m_view-&gt;selection()-&gt;hasShapeSelection()<br>
-                                  )<br>
-                                  &amp;&amp;    \
                m_view-&gt;canvasBase()-&gt;shapeManager()-&gt;selection()-&gt;count() \
                &gt; 0<br>
-                                 )<br>
-          ) {<br>
-            m_delete-&gt;setEnabled(true);<br>
-      } else<br>
-            m_delete-&gt;setEnabled(false);<br>
+      //Handle the clear action disponibility<br>
<br>
+      if (m_view-&gt;canvasBase()-&gt;shapeManager()-&gt;selection()-&gt;count() \
&gt; 0) {<br> +            m_clear-&gt;setEnabled(true);<br>
+      }<br>
+      else if (shapeLayer &amp;&amp; \
m_view-&gt;canvasBase()-&gt;shapeManager()-&gt;shapes().empty()){<br> +            \
m_clear-&gt;setEnabled(false);<br> +      }<br>
+      else {<br>
+            m_clear-&gt;setEnabled(true);<br>
+      }<br>
+<br>
       updateStatusBar();<br>
<br>
  }<br>
@@ -398,7 +394,8 @@<br>
       KisShapeLayer * shapeLayer = \
dynamic_cast&lt;KisShapeLayer*&gt;(layer.data());<br>  if (shapeLayer) {<br>
             m_view-&gt;canvasBase()-&gt;toolProxy()-&gt;copy();<br>
-      } else {<br>
+      }<br>
+      else {<br>
<br>
             KisImageWSP image = m_view-&gt;image();<br>
             if (!image) return;<br>
@@ -582,28 +579,34 @@<br>
       if (!image) return;<br>
<br>
       KisPaintDeviceSP dev = m_view-&gt;activeDevice();<br>
-      if (!dev) return;<br>
<br>
+      if(m_view-&gt;canvasBase()-&gt;shapeManager()-&gt;selection()-&gt;count()){<br>
 +            deleteSelection();<br>
+      }else if(dev){<br>
+<br>
       KisSelectionSP sel = m_view-&gt;selection();<br>
<br>
       KisTransaction transaction(i18n(&quot;Clear&quot;), dev);<br>
<br>
-      if (sel)<br>
+            if (sel){<br>
             dev-&gt;clearSelection(sel);<br>
-      else {<br>
+            }else{<br>
             dev-&gt;clear();<br>
             dev-&gt;setDirty();<br>
       }<br>
<br>
+            updateGUI();<br>
+<br>
       transaction.commit(image-&gt;undoAdapter());<br>
-<br>
       dev-&gt;setDirty(image-&gt;bounds());<br>
  }<br>
+}<br>
<br>
  void KisSelectionManager::deleteSelection()<br>
  {<br>
-      if (m_view-&gt;canvasBase()-&gt;shapeManager()-&gt;selection())<br>
+      if (m_view-&gt;canvasBase()-&gt;shapeManager()-&gt;selection()){<br>
             m_view-&gt;canvasBase()-&gt;toolProxy()-&gt;deleteSelection();<br>
+      }<br>
       updateGUI();<br>
  }<br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>Dmitry Kazakov<br>



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

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