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

List:       kde-commits
Subject:    KDE/kdelibs/kate
From:       Christoph Cullmann <cullmann () kde ! org>
Date:       2010-09-12 15:15:39
Message-ID: 20100912151539.94B15AC887 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1174490 by cullmann:

Author: Vladimir Prus <vladimir@codesourcery.com>:
    Implement disabling marks menu and setting default mark type via ConfigInterface.


 M  +15 -0     utils/kateconfig.cpp  
 M  +4 -0      utils/kateconfig.h  
 M  +12 -1     view/kateview.cpp  
 M  +9 -5      view/kateviewhelpers.cpp  


--- trunk/KDE/kdelibs/kate/utils/kateconfig.cpp #1174489:1174490
@@ -1053,6 +1053,7 @@
    m_wordCompletionMinimalWordLengthSet (true),
    m_smartCopyCutSet (true),
    m_scrollPastEndSet (true),
+   m_allowMarkMenu (true),
    m_view (0)
 {
   s_global = this;
@@ -1084,6 +1085,7 @@
    m_wordCompletionMinimalWordLengthSet (false),
    m_smartCopyCutSet (false),
    m_scrollPastEndSet (false),
+   m_allowMarkMenu (true),
    m_view (view)
 {
 }
@@ -1126,6 +1128,7 @@
   m_maxHistorySize = config.readEntry("Maximum Search History Size", 100);
 
   setDefaultMarkType (config.readEntry( "Default Mark Type", \
int(KTextEditor::MarkInterface::markType01) )); +  setAllowMarkMenu \
(config.readEntry( "Allow Mark Menu", true ));  
   setPersistentSelection (config.readEntry( "Persistent Selection", false ));
 
@@ -1176,6 +1179,8 @@
 
   config.writeEntry("Default Mark Type", defaultMarkType());
 
+  config.writeEntry("Allow Mark Menu", allowMarkMenu());
+
   config.writeEntry("Persistent Selection", persistentSelection());
 
   config.writeEntry( "Auto Completion", automaticCompletionInvocation());
@@ -1432,6 +1437,16 @@
   configEnd ();
 }
 
+bool KateViewConfig::allowMarkMenu() const
+{
+  return m_allowMarkMenu;
+}
+
+void KateViewConfig::setAllowMarkMenu (bool allow)
+{
+  m_allowMarkMenu = allow;
+}
+
 bool KateViewConfig::persistentSelection () const
 {
   if (m_persistentSelectionSet || isGlobal())
--- trunk/KDE/kdelibs/kate/utils/kateconfig.h #1174489:1174490
@@ -470,6 +470,9 @@
     uint defaultMarkType () const;
     void setDefaultMarkType (uint type);
 
+    bool allowMarkMenu () const;
+    void setAllowMarkMenu (bool allow);
+
     bool persistentSelection () const;
     void setPersistentSelection (bool on);
 
@@ -552,6 +555,7 @@
     bool m_wordCompletionMinimalWordLengthSet : 1;
     bool m_smartCopyCutSet : 1;
     bool m_scrollPastEndSet : 1;
+    bool m_allowMarkMenu : 1;
 
   private:
     static KateViewConfig *s_global;
--- trunk/KDE/kdelibs/kate/view/kateview.cpp #1174489:1174490
@@ -2539,6 +2539,10 @@
     return renderer()->config()->backgroundColor();
   else if (key == "selection-color")
     return renderer()->config()->selectionColor();
+  else if (key == "default-mark-type")
+    return config()->defaultMarkType();
+  else if (key == "allow-mark-menu")
+    return config()->allowMarkMenu();
 
   // return invalid variant
   return QVariant();
@@ -2551,13 +2555,20 @@
       renderer()->config()->setBackgroundColor(value.value<QColor>());
     else if (key == "selection-color")
       renderer()->config()->setSelectionColor(value.value<QColor>());
-  } else if ( value.canConvert(QVariant::Bool) ) {
+  } else if ( value.type() == QVariant::Bool ) {
+    // Note explicit type check above. If we used canConvert, then
+    // values of type UInt will be trapped here.
     if (key == "icon-bar")
       config()->setIconBar(value.toBool());
     else if (key == "line-numbers")
       config()->setLineNumbers(value.toBool());
     else if (key == "dynamic-word-wrap")
       config()->setDynWordWrap(value.toBool());
+    else if (key == "allow-mark-menu")
+      config()->setAllowMarkMenu(value.toBool());
+  } else if ( value.canConvert(QVariant::UInt) ) {
+    if (key == "default-mark-type")
+      config()->setDefaultMarkType(value.toUInt());
   }
 }
 
--- trunk/KDE/kdelibs/kate/view/kateviewhelpers.cpp #1174489:1174490
@@ -1428,12 +1428,13 @@
     if( area == IconBorder) {
       if (e->button() == Qt::LeftButton) {
         if( !m_doc->handleMarkClick(cursorOnLine) ) {
-          if( m_doc->editableMarks() & KateViewConfig::global()->defaultMarkType() ) \
                {
-            if( m_doc->mark( cursorOnLine ) & \
                KateViewConfig::global()->defaultMarkType() )
-              m_doc->removeMark( cursorOnLine, \
KateViewConfig::global()->defaultMarkType() ); +          KateViewConfig *config = \
m_view->config(); +          if( m_doc->editableMarks() & config->defaultMarkType() ) \
{ +            if( m_doc->mark( cursorOnLine ) & config->defaultMarkType() )
+              m_doc->removeMark( cursorOnLine, config->defaultMarkType() );
             else
-              m_doc->addMark( cursorOnLine, \
                KateViewConfig::global()->defaultMarkType() );
-            } else {
+              m_doc->addMark( cursorOnLine, config->defaultMarkType() );
+            } else if (config->allowMarkMenu()) {
               showMarkMenu( cursorOnLine, QCursor::pos() );
             }
         }
@@ -1485,6 +1486,9 @@
 
 void KateIconBorder::showMarkMenu( uint line, const QPoint& pos )
 {
+  if( !m_view->config()->allowMarkMenu() )
+    return;
+    
   if( m_doc->handleMarkContextMenu( line, pos ) )
     return;
 


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

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