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

List:       kde-commits
Subject:    KDE/kdebase/apps/konsole/src
From:       Robert Knight <robertknight () gmail ! com>
Date:       2007-06-25 13:10:56
Message-ID: 1182777056.051719.27902.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 680117 by knight:

Use type-safe QFlags for State and Command enums and Qt::KeyboardModifiers instead of \
Qt::KeyboardModifier where appropriate.

 M  +25 -24    KeyboardTranslator.cpp  
 M  +37 -29    KeyboardTranslator.h  
 M  +6 -6      Vt102Emulation.cpp  


--- trunk/KDE/kdebase/apps/konsole/src/KeyboardTranslator.cpp #680116:680117
@@ -227,10 +227,10 @@
         const QList<Token>& tokens = tokenize( QString(_source->readLine()) );
         if ( !tokens.isEmpty() && tokens.first().type == Token::KeyKeyword )
         {
-            KeyboardTranslator::State flags = KeyboardTranslator::NoState;
-            KeyboardTranslator::State flagMask = KeyboardTranslator::NoState;
-            Qt::KeyboardModifier modifiers = Qt::NoModifier;
-            Qt::KeyboardModifier modifierMask = Qt::NoModifier;
+            KeyboardTranslator::States flags = KeyboardTranslator::NoState;
+            KeyboardTranslator::States flagMask = KeyboardTranslator::NoState;
+            Qt::KeyboardModifiers modifiers = Qt::NoModifier;
+            Qt::KeyboardModifiers modifierMask = Qt::NoModifier;
 
             int keyCode = Qt::Key_unknown;
 
@@ -294,19 +294,19 @@
 
 bool KeyboardTranslatorReader::decodeSequence(const QString& text,
                                               int& keyCode,
-                                              Qt::KeyboardModifier& modifiers,
-                                              Qt::KeyboardModifier& modifierMask,
-                                              KeyboardTranslator::State& flags,
-                                              KeyboardTranslator::State& flagMask)
+                                              Qt::KeyboardModifiers& modifiers,
+                                              Qt::KeyboardModifiers& modifierMask,
+                                              KeyboardTranslator::States& flags,
+                                              KeyboardTranslator::States& flagMask)
 {
     bool isWanted = true; 
     bool endOfItem = false;
     QString buffer;
 
-    int tempModifiers = modifiers;
-    int tempModifierMask = modifierMask;
-    int tempFlags = flags;
-    int tempFlagMask = flagMask;
+    Qt::KeyboardModifiers tempModifiers = modifiers;
+    Qt::KeyboardModifiers tempModifierMask = modifierMask;
+    KeyboardTranslator::States tempFlags = flags;
+    KeyboardTranslator::States tempFlagMask = flagMask;
 
   //  qDebug() << "Input text:" << text;
 
@@ -324,9 +324,9 @@
 
         if ( (endOfItem || isLastLetter) && !buffer.isEmpty() )
         {
-            int itemModifier = 0;
+            Qt::KeyboardModifier itemModifier = Qt::NoModifier;
             int itemKeyCode = 0;
-            int itemFlag = 0;
+            KeyboardTranslator::State itemFlag = KeyboardTranslator::NoState;
 
             if ( parseAsModifier(buffer,itemModifier) )
             {
@@ -368,15 +368,15 @@
            isWanted = false; 
     } 
 
-    modifiers = (Qt::KeyboardModifier)tempModifiers;
-    modifierMask = (Qt::KeyboardModifier)tempModifierMask;
-    flags = (KeyboardTranslator::State)tempFlags;
-    flagMask = (KeyboardTranslator::State)tempFlagMask;
+    modifiers = tempModifiers;
+    modifierMask = tempModifierMask;
+    flags = tempFlags;
+    flagMask = tempFlagMask;
 
     return true;
 }
 
-bool KeyboardTranslatorReader::parseAsModifier(const QString& item , int& modifier)
+bool KeyboardTranslatorReader::parseAsModifier(const QString& item , \
Qt::KeyboardModifier& modifier)  {
     if ( item == "shift" )
         modifier = Qt::ShiftModifier;
@@ -391,7 +391,7 @@
 
     return true;
 }
-bool KeyboardTranslatorReader::parseAsStateFlag(const QString& item , int& flag)
+bool KeyboardTranslatorReader::parseAsStateFlag(const QString& item , \
KeyboardTranslator::State& flag)  {
     if ( item == "appcukeys" )
         flag = KeyboardTranslator::CursorKeysState;
@@ -660,8 +660,9 @@
            _text == rhs._text;
 }
 
-bool KeyboardTranslator::Entry::matches(int keyCode , Qt::KeyboardModifier \
                modifiers,
-                                        State state) const
+bool KeyboardTranslator::Entry::matches(int keyCode , 
+                                        Qt::KeyboardModifiers modifiers,
+                                        States state) const
 {
 
     //qDebug() << "Checking for match" << conditionToString();
@@ -679,7 +680,7 @@
 
     // if modifiers is non-zero, the 'any modifier' state is implicit
     if ( modifiers != 0 )
-        state = (State)(state | AnyModifierState);
+        state |= AnyModifierState;
 
     if ( (state & _stateMask) != (_state & _stateMask) )
         return false;
@@ -922,7 +923,7 @@
 {
     _entries.remove(entry.keyCode(),entry);
 }
-KeyboardTranslator::Entry KeyboardTranslator::findEntry(int keyCode, \
Qt::KeyboardModifier modifiers, State state) const +KeyboardTranslator::Entry \
KeyboardTranslator::findEntry(int keyCode, Qt::KeyboardModifiers modifiers, States \
state) const  {
     //qDebug() << "Searching for entry for key code =" << keyCode << ", modifiers =" \
                << modifiers;
     //qDebug() << "Translator keys, count: " << _entries.count() << _entries.keys();
--- trunk/KDE/kdebase/apps/konsole/src/KeyboardTranslator.h #680116:680117
@@ -84,6 +84,7 @@
         /** Indicates that any of the modifier keys is active. */ 
         AnyModifierState = 16
     };
+    Q_DECLARE_FLAGS(States,State)
 
     /**
      * This enum describes commands which are associated with particular key \
sequences. @@ -105,6 +106,7 @@
         /** Toggles scroll lock mode */
         ScrollLockCommand = 32
     };
+    Q_DECLARE_FLAGS(Commands,Command)
 
     /**
      * Represents an association between a key sequence pressed by the user
@@ -156,15 +158,15 @@
          * If a modifier is not set in modifierMask() then the entry matches whether \
                the modifier
          * is pressed or not. 
          */
-        Qt::KeyboardModifier modifiers() const;
+        Qt::KeyboardModifiers modifiers() const;
 
         /** Returns the keyboard modifiers which are valid in this entry.  See \
                modifiers() */
-        Qt::KeyboardModifier modifierMask() const;
+        Qt::KeyboardModifiers modifierMask() const;
 
         /** See modifiers() */
-        void setModifiers( Qt::KeyboardModifier modifiers );
+        void setModifiers( Qt::KeyboardModifiers modifiers );
         /** See modifierMask() and modifiers() */
-        void setModifierMask( Qt::KeyboardModifier modifiers );
+        void setModifierMask( Qt::KeyboardModifiers modifiers );
 
         /** 
          * Returns a bitwise-OR of the enabled state flags associated with this \
entry.  @@ -174,15 +176,15 @@
          * If a state is not set in stateMask() then the entry matches whether the \
                terminal
          * is in that state or not. 
          */
-        State state() const;
+        States state() const;
 
         /** Returns the state flags which are valid in this entry.  See state() */
-        State stateMask() const;
+        States stateMask() const;
 
         /** See state() */
-        void setState( State state );
+        void setState( States state );
         /** See stateMask() */
-        void setStateMask( State mask );
+        void setStateMask( States mask );
 
         /** 
          * Returns the key code and modifiers associated with this entry 
@@ -206,7 +208,9 @@
          * Returns true if this entry matches the given key sequence, specified
          * as a combination of @p keyCode , @p modifiers and @p state.
          */
-        bool matches( int keyCode , Qt::KeyboardModifier modifiers , State flags ) \
const; +        bool matches( int keyCode , 
+                      Qt::KeyboardModifiers modifiers , 
+                      States flags ) const;
 
         bool operator==(const Entry& rhs) const;
        
@@ -216,10 +220,10 @@
         QByteArray unescape(const QByteArray& text) const;
 
         int _keyCode;
-        Qt::KeyboardModifier _modifiers;
-        Qt::KeyboardModifier _modifierMask;
-        State _state;
-        State _stateMask;
+        Qt::KeyboardModifiers _modifiers;
+        Qt::KeyboardModifiers _modifierMask;
+        States _state;
+        States _stateMask;
 
         Command _command;
         QByteArray _text;
@@ -253,7 +257,9 @@
      * @param modifiers A combination of modifiers
      * @param state Optional flags which specify the current state of the terminal
      */
-    Entry findEntry(int keyCode , Qt::KeyboardModifier modifiers , State state = \
NoState) const; +    Entry findEntry(int keyCode , 
+                    Qt::KeyboardModifiers modifiers , 
+                    States state = NoState) const;
 
     /** 
      * Adds an entry to this keyboard translator's table.  Entries can be looked up \
according @@ -282,6 +288,8 @@
     QString _name;
     QString _description;
 };
+Q_DECLARE_OPERATORS_FOR_FLAGS(KeyboardTranslator::States);
+Q_DECLARE_OPERATORS_FOR_FLAGS(KeyboardTranslator::Commands);
 
 /** 
  * Parses the contents of a Keyboard Translator (.keytab) file and 
@@ -361,14 +369,14 @@
     void readNext();
     bool decodeSequence(const QString& , 
                                 int& keyCode,
-                                Qt::KeyboardModifier& modifiers,
-                                Qt::KeyboardModifier& modifierMask,
-                                KeyboardTranslator::State& state,
-                                KeyboardTranslator::State& stateFlags);
+                                Qt::KeyboardModifiers& modifiers,
+                                Qt::KeyboardModifiers& modifierMask,
+                                KeyboardTranslator::States& state,
+                                KeyboardTranslator::States& stateFlags);
 
-    static bool parseAsModifier(const QString& item , int& modifier);
-    static bool parseAsStateFlag(const QString& item , int& modifier);
-    static bool parseAsKeyCode(const QString& item , int& modifier);
+    static bool parseAsModifier(const QString& item , Qt::KeyboardModifier& \
modifier); +    static bool parseAsStateFlag(const QString& item , \
KeyboardTranslator::State& state); +    static bool parseAsKeyCode(const QString& \
item , int& keyCode);  
     QIODevice* _source;
     QString _description;
@@ -471,17 +479,17 @@
 inline int KeyboardTranslator::Entry::keyCode() const { return _keyCode; }
 inline void KeyboardTranslator::Entry::setKeyCode(int keyCode) { _keyCode = keyCode; \
}  
-inline void KeyboardTranslator::Entry::setModifiers( Qt::KeyboardModifier modifier ) \
 +inline void KeyboardTranslator::Entry::setModifiers( Qt::KeyboardModifiers modifier \
)   { 
     _modifiers = modifier;
 }
-inline Qt::KeyboardModifier KeyboardTranslator::Entry::modifiers() const { return \
_modifiers; } +inline Qt::KeyboardModifiers KeyboardTranslator::Entry::modifiers() \
const { return _modifiers; }  
-inline void  KeyboardTranslator::Entry::setModifierMask( Qt::KeyboardModifier mask ) \
 +inline void  KeyboardTranslator::Entry::setModifierMask( Qt::KeyboardModifiers mask \
)   { 
    _modifierMask = mask; 
 }
-inline Qt::KeyboardModifier KeyboardTranslator::Entry::modifierMask() const { return \
_modifierMask; } +inline Qt::KeyboardModifiers \
KeyboardTranslator::Entry::modifierMask() const { return _modifierMask; }  
 inline bool KeyboardTranslator::Entry::isNull() const
 {
@@ -500,17 +508,17 @@
 }
 inline QByteArray KeyboardTranslator::Entry::text() const { return _text; }
 
-inline void KeyboardTranslator::Entry::setState( State state )
+inline void KeyboardTranslator::Entry::setState( States state )
 { 
     _state = state; 
 }
-inline KeyboardTranslator::State KeyboardTranslator::Entry::state() const { return \
_state; } +inline KeyboardTranslator::States KeyboardTranslator::Entry::state() const \
{ return _state; }  
-inline void KeyboardTranslator::Entry::setStateMask( State stateMask )
+inline void KeyboardTranslator::Entry::setStateMask( States stateMask )
 { 
     _stateMask = stateMask; 
 }
-inline KeyboardTranslator::State KeyboardTranslator::Entry::stateMask() const { \
return _stateMask; } +inline KeyboardTranslator::States \
KeyboardTranslator::Entry::stateMask() const { return _stateMask; }  
 }
 
--- trunk/KDE/kdebase/apps/konsole/src/Vt102Emulation.cpp #680116:680117
@@ -963,8 +963,8 @@
 
 void Vt102Emulation::sendKeyEvent( QKeyEvent* event )
 {
-    int modifiers = event->modifiers();
-    int states = KeyboardTranslator::NoState;
+    Qt::KeyboardModifiers modifiers = event->modifiers();
+    KeyboardTranslator::States states = KeyboardTranslator::NoState;
 
     // get current states
     if ( getMode(MODE_NewLine)  ) states |= KeyboardTranslator::NewLineState;
@@ -977,8 +977,8 @@
     {
     KeyboardTranslator::Entry entry = _keyTranslator->findEntry( 
                                                 event->key() , 
-                                                (Qt::KeyboardModifier)modifiers,
-                                                (KeyboardTranslator::State)states );
+                                                modifiers,
+                                                states );
 
         // send result to terminal
         QByteArray textToSend;
@@ -1329,8 +1329,8 @@
 {
   KeyboardTranslator::Entry entry = _keyTranslator->findEntry(
                                             Qt::Key_Backspace,
-                                            (Qt::KeyboardModifier)0,
-                                            (KeyboardTranslator::State)0);
+                                            0,
+                                            0);
   if ( entry.text().count() > 0 )
       return entry.text()[0];
   else


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

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