Key shortcuts in source editor work as expected, but only with "Alt" key. Support...
[redakcja.git] / apps / toolbar / models.py
index 6a20263..d736c02 100644 (file)
@@ -56,8 +56,8 @@ class Button(models.Model):
     link = models.CharField(max_length = 256, blank = True, default = '')
 
     # ui related stuff
-    key = models.CharField(blank = True, max_length = 1)
-    key_mod = models.PositiveIntegerField(blank = True, default = 1)
+    accesskey = models.CharField(null = True, max_length = 1)
+        
     tooltip = models.CharField(blank = True, max_length = 120)
 
     # Why the button is restricted to have the same position in each group ?
@@ -68,32 +68,15 @@ class Button(models.Model):
         ordering = ('slug',)
         verbose_name, verbose_name_plural = _('button'), _('buttons')
 
-    @property
-    def hotkey_code(self):
-        return ord(self.key.upper()) | (self.key_mod << 8)
-
-    @property
-    def hotkey_name(self):
-        if not self.key:
-            return ''
-
-        mods = []
-        if self.key_mod & 0x01: mods.append('Alt')
-        if self.key_mod & 0x02: mods.append('Ctrl')
-        if self.key_mod & 0x04: mods.append('Shift')
-        mods.append(str(self.key))
-        return '[' + '+'.join(mods) + ']'
-
     @property
     def full_tooltip(self):
-        return self.tooltip + (' ' + self.hotkey_name if self.key else '')
+        return u"%s %s" % (self.tooltip, "[Alt+%s]" % self.accesskey if self.accesskey else "")
 
     def to_dict(self):
         return {
             'label': self.label,
-            'tooltip': (self.tooltip or '') + self.hotkey_name(),
-            'key': self.key,
-            'key_mod': self.key_mod,
+            'tooltip': self.tooltip,
+            'accesskey': self.accesskey,            
             'params': self.params,
             'scriptlet_id': self.scriptlet_id
         }
@@ -105,8 +88,5 @@ class Scriptlet(models.Model):
     name = models.CharField(max_length = 64, primary_key = True)
     code = models.TextField()
 
-    # TODO: add this later and remap code property to this
-    # code_min = models.TextField()
-
     def __unicode__(self):
         return _(u'javascript') + u':' + self.name