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

List:       kwrite-devel
Subject:    Fwd: [kate] /: be coarse grained, just tell the outside about EditViMode,  not the internal vi mode
From:       Christoph Cullmann <cullmann () absint ! com>
Date:       2013-04-04 19:23:36
Message-ID: 1900030445.216438.1365103416303.JavaMail.root () absint ! com
[Download RAW message or body]

Hi,

viewEditMode extended. (add since 4.11 in second commit)

As I guess you don't want to depend on KDE 4.11, just cast the enum value you receive \
to an int. If == 2 you shall show some widget for the viewMode() string, if you like \
to show the vi mode that is active. See Kate/KWrite for reference if anything is \
still unclear.

Greetings
Christoph

----- Weitergeleitete Mail -----
Von: "Christoph Cullmann" <cullmann@kde.org>
An: kde-commits@kde.org
Gesendet: Donnerstag, 4. April 2013 21:19:18
Betreff: [kate] /: be coarse grained, just tell the outside about EditViMode,  not \
the internal vi mode we are in

Git commit 17a17bab491183c77e0894559de16e537bec291c by Christoph Cullmann.
Committed on 04/04/2013 at 21:18.
Pushed by cullmann into branch 'master'.

be coarse grained, just tell the outside about EditViMode, not the internal vi mode \
we are in

M  +3    -2    ktexteditor/view.h
M  +11   -0    part/view/kateview.cpp
M  +1    -1    part/view/kateview.h

http://commits.kde.org/kate/17a17bab491183c77e0894559de16e537bec291c

diff --git a/ktexteditor/view.h b/ktexteditor/view.h
index a395e4e..60bac02 100644
--- a/ktexteditor/view.h
+++ b/ktexteditor/view.h
@@ -203,8 +203,9 @@ class KTEXTEDITOR_EXPORT View :  public QWidget, public \
                KXMLGUIClient
      * These correspond to various modes the text editor might be in.
      */
     enum EditMode {
-      EditInsert = 0,   /**< Insert mode. Characters will be added. */
-      EditOverwrite = 1 /**< Overwrite mode. Characters will be replaced. */
+      EditInsert = 0,    /**< Insert mode. Characters will be added. */
+      EditOverwrite = 1, /**< Overwrite mode. Characters will be replaced. */
+      EditViMode = 2     /**< Vi mode. The view will behave like the editor vi(m) */
     };
 
     /**
diff --git a/part/view/kateview.cpp b/part/view/kateview.cpp
index 02d7d78..4d2308b 100644
--- a/part/view/kateview.cpp
+++ b/part/view/kateview.cpp
@@ -1097,6 +1097,14 @@ void KateView::unfoldLine (int startLine)
     textFolding().unfoldRange (startingRanges[i].first);
 }
 
+KTextEditor::View::EditMode KateView::viewEditMode() const
+{
+  if (viInputMode())
+    return EditViMode;
+  
+  return isOverwriteMode() ? EditOverwrite : EditInsert;
+}
+
 QString KateView::viewMode () const
 {
   /**
@@ -1203,6 +1211,7 @@ void KateView::slotReadWriteChanged ()
     
   // => view mode changed
   emit viewModeChanged(this);
+  emit viewEditModeChanged(this,viewEditMode());
 }
 
 void KateView::slotClipboardHistoryChanged ()
@@ -1494,12 +1503,14 @@ void KateView::updateViModeBarMode()
 {  
   // view mode changed => status bar in container apps might change!
   emit viewModeChanged (this);
+  emit viewEditModeChanged(this,viewEditMode());
 }
 
 void KateView::updateViModeBarCmd()
 {
   // view mode changed => status bar in container apps might change!
   emit viewModeChanged (this);
+  emit viewEditModeChanged(this,viewEditMode());
 }
 
 ViMode KateView::getCurrentViMode() const
diff --git a/part/view/kateview.h b/part/view/kateview.h
index a65843a..59c93b2 100644
--- a/part/view/kateview.h
+++ b/part/view/kateview.h
@@ -394,7 +394,7 @@ class KATEPART_TESTS_EXPORT KateView : public KTextEditor::View,
      Return values for "save" related commands.
     */
     bool isOverwriteMode() const;
-    enum KTextEditor::View::EditMode viewEditMode() const {return isOverwriteMode() \
? KTextEditor::View::EditOverwrite : KTextEditor::View::EditInsert;} +    EditMode \
viewEditMode() const;  QString currentTextLine();
 
     /**


-- 
----------------------------- Dr.-Ing. Christoph Cullmann ---------
AbsInt Angewandte Informatik GmbH      Email: cullmann@AbsInt.com
Science Park 1                         Tel:   +49-681-38360-22
66123 Saarbrücken                      Fax:   +49-681-38360-20
GERMANY                                WWW:   http://www.AbsInt.com
--------------------------------------------------------------------
Geschäftsführung: Dr.-Ing. Christian Ferdinand
Eingetragen im Handelsregister des Amtsgerichts Saarbrücken, HRB 11234
_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.org
https://mail.kde.org/mailman/listinfo/kwrite-devel


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

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