Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2017
555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 35.69 KB | None | 0 0
  1. Return-Path: <akulikov1988@gmail.com>
  2. Delivered-To: unknown
  3. Received: from imap.gmail.com (209.85.227.109) by AMD64.localdomain with
  4.   IMAP4-SSL; 01 Dec 2010 18:24:51 -0000
  5. Delivered-To: maemo.freemind@gmail.com
  6. Received: by 10.151.144.19 with SMTP id w19cs294011ybn;
  7.         Tue, 30 Nov 2010 21:18:37 -0800 (PST)
  8. Received: by 10.213.26.15 with SMTP id b15mr4961207ebc.13.1291180715321;
  9.         Tue, 30 Nov 2010 21:18:35 -0800 (PST)
  10. Received: from mail-ey0-f172.google.com (mail-ey0-f172.google.com [209.85.215.172])
  11.         by mx.google.com with ESMTP id q52si17134390eeh.4.2010.11.30.21.18.33;
  12.         Tue, 30 Nov 2010 21:18:34 -0800 (PST)
  13. Received-SPF: pass (google.com: domain of akulikov1988@gmail.com designates 209.85.215.172 as permitted sender) client-ip=209.85.215.172;
  14. Authentication-Results: mx.google.com; spf=pass (google.com: domain of akulikov1988@gmail.com designates 209.85.215.172 as permitted sender) smtp.mail=akulikov1988@gmail.com; dkim=pass (test mode) header.i=@gmail.com
  15. Received: by mail-ey0-f172.google.com with SMTP id 10so3393190eyd.17
  16.         for <maemo.freemind@gmail.com>; Tue, 30 Nov 2010 21:18:33 -0800 (PST)
  17. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  18.         d=gmail.com; s=gamma;
  19.         h=domainkey-signature:received:received:content-type:mime-version
  20.          :content-transfer-encoding:subject:x-mercurial-node:message-id
  21.          :in-reply-to:references:user-agent:date:from:to;
  22.         bh=aK+jPfxk8L2Ek+3CBGRj/R5MZIDqipRp1e/4+tETxhE=;
  23.         b=qgoTC3ojWklHqOyvzntS8pa6V/n2VXhU0b+v6tP9U490stIt3t1x0ZtYqjBqGgcPsA
  24.          X0Vl4/PYsX2fUk2TtrMYafDLSY+cJ0x+44PEpWNUWnU7LYVNPV/+k4MMIu5sxNNoIVKa
  25.          r4o4eoOJPm76oUkSb+jK7sqLn4hJduJMEHGBQ=
  26. DomainKey-Signature: a=rsa-sha1; c=nofws;
  27.         d=gmail.com; s=gamma;
  28.         h=content-type:mime-version:content-transfer-encoding:subject
  29.          :x-mercurial-node:message-id:in-reply-to:references:user-agent:date
  30.          :from:to;
  31.         b=Qm64oDuxyP4yhqw55ppI3igKd9E+YVa+NndsN0s4hJ9caiSTZDNV3h9Q/SCD2HqW6e
  32.          o3RFLmSyxg0h/pAFd0rRG6TOkh3SChRVeM5/r2e5kv5va4pXnntqovAQExWA9V4899Yt
  33.          lV3hu8+fPC72VxAIGYZKPZ/j9R45ZvZgDKJJA=
  34. Received: by 10.213.4.71 with SMTP id 7mr2028710ebq.14.1291180713315;
  35.         Tue, 30 Nov 2010 21:18:33 -0800 (PST)
  36. Received: from asgard.hostel ([213.187.119.171])
  37.         by mx.google.com with ESMTPS id x54sm7135638eeh.5.2010.11.30.21.18.32
  38.         (version=TLSv1/SSLv3 cipher=RC4-MD5);
  39.         Tue, 30 Nov 2010 21:18:32 -0800 (PST)
  40. Content-Type: text/plain; charset="us-ascii"
  41. MIME-Version: 1.0
  42. Content-Transfer-Encoding: 7bit
  43. Subject: [PATCH 1 of 2] Extracted actions from MainWindowController into
  44.  ActionBag class (refs #400)
  45. X-Mercurial-Node: b2839d004f161b528a304b66ae3f59e70a3c6a27
  46. Message-Id: <b2839d004f161b528a30.1291180690@asgard.hostel>
  47. In-Reply-To: <patchbomb.1291180689@asgard.hostel>
  48. References: <patchbomb.1291180689@asgard.hostel>
  49. User-Agent: Mercurial-patchbomb/1.6.4
  50. Date: Wed, 01 Dec 2010 08:18:10 +0300
  51. From: Alexander Kulikov <akulikov1988@gmail.com>
  52. To: maemo.freemind@gmail.com
  53.  
  54. # HG changeset patch
  55. # User Alexander Kulikov <asgard1988@yandex.ru>
  56. # Date 1291147922 -10800
  57. # Node ID b2839d004f161b528a304b66ae3f59e70a3c6a27
  58. # Parent 3d6b5e06f52b75384302cc634fafc9d5bde54c97
  59. Extracted actions from the MainWindowController into action_bag module (refs #400)
  60.  
  61. diff -r 3d6b5e06f52b hivemind/action_bag.py
  62. --- /dev/null   Thu Jan 01 00:00:00 1970 +0000
  63. +++ b/hivemind/action_bag.py    Wed Dec 01 21:34:40 2010 +0300
  64. @@ -0,0 +1,60 @@
  65. +# -*- coding: utf-8 -*-
  66. +# HiveMind - Distributed mind map editor for Maemo 5 platform
  67. +# Copyright (C) 2010 HiveMind developers
  68. +#
  69. +# HiveMind is the legal property of its developers, whose names are
  70. +# noticed in  or  annotations at the beginning of each
  71. +# module or class.
  72. +#
  73. +# This program is free software; you can redistribute it and/or modify
  74. +# it under the terms of the GNU General Public License as published by
  75. +# the Free Software Foundation; either version 3 of the License, or
  76. +# (at your option) any later version.
  77. +#
  78. +# This program is distributed in the hope that it will be useful,
  79. +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  80. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  81. +# GNU General Public License for more details.
  82. +#
  83. +# You should have received a copy of the GNU General Public License
  84. +# along with this program; if not, write to the Free Software
  85. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
  86. +
  87. +'''
  88. +Application actions manager
  89. +
  90. +@author: Alexander Kulikov
  91. +'''
  92. +
  93. +__ACTIONS = {}
  94. +'''Hash table containing actions'''
  95. +
  96. +def getActionByName(name):
  97. +    '''
  98. +    Get the action with the given name
  99. +    If name is not present, supply None instead
  100. +
  101. +    @param name: name of action
  102. +    @rtype: QAction
  103. +    '''
  104. +    if __ACTIONS.has_key(name):
  105. +        return __ACTIONS[name]
  106. +    return None
  107. +
  108. +def appendAction(action, name):
  109. +    '''
  110. +    Append the action with the given name
  111. +
  112. +    @param name: name of action
  113. +    @type action: QAction
  114. +    '''
  115. +    __ACTIONS[name] = action
  116. +
  117. +def removeActionByName(name):
  118. +    '''
  119. +    Remove the action with the given name
  120. +
  121. +    @param name: name of action
  122. +    '''
  123. +    if __ACTIONS.has_key(name):
  124. +        del __ACTIONS[name]
  125. diff -r 3d6b5e06f52b hivemind/desktop/main_window.py
  126. --- a/hivemind/desktop/main_window.py   Tue Nov 30 22:10:35 2010 +0300
  127. +++ b/hivemind/desktop/main_window.py   Wed Dec 01 21:34:40 2010 +0300
  128. @@ -42,40 +42,46 @@
  129.      def _createContextMenu(self, controller):
  130.          '''Create context menu'''
  131.          self.__menu = QMenu(self)
  132. -        self.__menu.addAction(controller.addNodeAction)
  133. -        self.__menu.addAction(controller.editNodeAction)
  134. -        self.__menu.addAction(controller.foldNodeAction)
  135. -        self.__menu.addAction(controller.moveNodeAction)
  136. -        self.__menu.addAction(controller.removeNodeAction)
  137. +        self.__menu.addAction(action_bag.getActionByName('addNodeAction'))
  138. +        self.__menu.addAction(action_bag.getActionByName('editNodeAction'))
  139. +        self.__menu.addAction(action_bag.getActionByName('foldNodeAction'))
  140. +        self.__menu.addAction(action_bag.getActionByName('moveNodeAction'))
  141. +        self.__menu.addAction(action_bag.getActionByName('removeNodeAction'))
  142.          self.__menu.addSeparator()
  143. -        self.__menu.addAction(controller.editNodeIconsAction)
  144. +        self.__menu.addAction(action_bag.getActionByName('editNodeIconsAction'))
  145.          edgeSubmenu = QMenu(self)
  146.          edgeSubmenu.setTitle(self.tr('Edge parameters'))
  147. -        edgeSubmenu.addAction(controller.editEdgeAction)
  148. -        edgeSubmenu.addAction(controller.editLabelAction)
  149. +        edgeSubmenu.addAction(action_bag.getActionByName('editEdgeAction'))
  150. +        edgeSubmenu.addAction(action_bag.getActionByName('editLabelAction'))
  151.          edgeSubmenu.addSeparator()
  152. -        edgeSubmenu.addAction(controller.parentWidthAction)
  153. -        edgeSubmenu.addAction(controller.thinWidthAction)
  154. -        edgeSubmenu.addAction(controller.oneWidthAction)
  155. -        edgeSubmenu.addAction(controller.twoWidthAction)
  156. -        edgeSubmenu.addAction(controller.fourWidthAction)
  157. -        edgeSubmenu.addAction(controller.eightWidthAction)
  158. +        edgeSubmenu.addAction(action_bag.getActionByName('parentWidthAction'))
  159. +        edgeSubmenu.addAction(action_bag.getActionByName('thinWidthAction'))
  160. +        edgeSubmenu.addAction(action_bag.getActionByName('oneWidthAction'))
  161. +        edgeSubmenu.addAction(action_bag.getActionByName('twoWidthAction'))
  162. +        edgeSubmenu.addAction(action_bag.getActionByName('fourWidthAction'))
  163. +        edgeSubmenu.addAction(action_bag.getActionByName('eightWidthAction'))
  164.          edgeSubmenu.addSeparator()
  165. -        edgeSubmenu.addAction(controller.parentStyleAction)
  166. -        edgeSubmenu.addAction(controller.linearStyleAction)
  167. -        edgeSubmenu.addAction(controller.bezierStyleAction)
  168. -        edgeSubmenu.addAction(controller.sharpLinearStyleAction)
  169. -        edgeSubmenu.addAction(controller.sharpBezierStyleAction)
  170. +        edgeSubmenu.addAction(action_bag.getActionByName('parentStyleAction'))
  171. +        edgeSubmenu.addAction(action_bag.getActionByName('linearStyleAction'))
  172. +        edgeSubmenu.addAction(action_bag.getActionByName('bezierStyleAction'))
  173. +        edgeSubmenu.addAction(action_bag.getActionByName('sharpLinearStyleAction'))
  174. +        edgeSubmenu.addAction(action_bag.getActionByName('sharpBezierStyleAction'))
  175.          self.__menu.addMenu(edgeSubmenu)
  176.  
  177.      def _addEllipsesToActionText(self, controller):
  178.          '''Add ellipses to the text of the actions displaying dialogs'''
  179. -        actionsWithEllipses = [controller.fileOpenAction, controller.fileSaveAsAction,
  180. -                controller.settingsAction, controller.startNetworkServerAction,
  181. -                controller.startNetworkClientAction, controller.aboutAction,
  182. -                controller.addNodeAction, controller.editNodeAction,
  183. -                controller.editNodeIconsAction, controller.editLabelAction,
  184. -                controller.editEdgeAction]
  185. +        actionsWithEllipses = [
  186. +                action_bag.getActionByName('fileOpenAction'),
  187. +                action_bag.getActionByName('fileSaveAsAction'),
  188. +                action_bag.getActionByName('settingsAction'),
  189. +                action_bag.getActionByName('startNetworkServerAction'),
  190. +                action_bag.getActionByName('startNetworkClientAction'),
  191. +                action_bag.getActionByName('aboutAction'),
  192. +                action_bag.getActionByName('addNodeAction'),
  193. +                action_bag.getActionByName('editNodeAction'),
  194. +                action_bag.getActionByName('editNodeIconsAction'),
  195. +                action_bag.getActionByName('editLabelAction'),
  196. +                action_bag.getActionByName('editEdgeAction')]
  197.          for action in actionsWithEllipses:
  198.              action.setText(action.text() + '...')
  199.  
  200. @@ -86,23 +92,23 @@
  201.          '''
  202.          self._addEllipsesToActionText(controller)
  203.          menu = self.menuBar().addMenu(self.tr('&File'))
  204. -        menu.addAction(controller.fileNewAction)
  205. -        menu.addAction(controller.fileOpenAction)
  206. -        menu.addAction(controller.fileSaveAction)
  207. -        menu.addAction(controller.fileSaveAsAction)
  208. +        menu.addAction(action_bag.getActionByName('fileNewAction'))
  209. +        menu.addAction(action_bag.getActionByName('fileOpenAction'))
  210. +        menu.addAction(action_bag.getActionByName('fileSaveAction'))
  211. +        menu.addAction(action_bag.getActionByName('fileSaveAsAction'))
  212.          menu.addSeparator()
  213. -        menu.addAction(controller.exitAction)
  214. +        menu.addAction(action_bag.getActionByName('exitAction'))
  215.          menu = self.menuBar().addMenu(self.tr('&Edit'))
  216. -        menu.addAction(controller.undoAction)
  217. -        menu.addAction(controller.redoAction)
  218. +        menu.addAction(action_bag.getActionByName('undoAction'))
  219. +        menu.addAction(action_bag.getActionByName('redoAction'))
  220.          menu.addSeparator()
  221. -        menu.addAction(controller.settingsAction)
  222. +        menu.addAction(action_bag.getActionByName('settingsAction'))
  223.          menu = self.menuBar().addMenu(self.tr('&Collaboration'))
  224. -        menu.addAction(controller.startNetworkServerAction)
  225. -        menu.addAction(controller.startNetworkClientAction)
  226. -        menu.addAction(controller.stopNetworkAction)
  227. +        menu.addAction(action_bag.getActionByName('startNetworkServerAction'))
  228. +        menu.addAction(action_bag.getActionByName('startNetworkClientAction'))
  229. +        menu.addAction(action_bag.getActionByName('stopNetworkAction'))
  230.          menu = self.menuBar().addMenu(self.tr('&Help'))
  231. -        menu.addAction(controller.aboutAction)
  232. +        menu.addAction(action_bag.getActionByName('aboutAction'))
  233.  
  234.      def _createToolBars(self, controller):
  235.          '''
  236. @@ -110,16 +116,16 @@
  237.          @type controller: MainWindowController
  238.          '''
  239.          toolbar = self.addToolBar(self.tr('File'))
  240. -        toolbar.addAction(controller.fileNewAction)
  241. -        toolbar.addAction(controller.fileOpenAction)
  242. -        toolbar.addAction(controller.fileSaveAction)
  243. -        toolbar.addAction(controller.fileSaveAsAction)
  244. +        toolbar.addAction(action_bag.getActionByName('fileNewAction'))
  245. +        toolbar.addAction(action_bag.getActionByName('fileOpenAction'))
  246. +        toolbar.addAction(action_bag.getActionByName('fileSaveAction'))
  247. +        toolbar.addAction(action_bag.getActionByName('fileSaveAsAction'))
  248.          toolbar = self.addToolBar(self.tr('Edit'))
  249. -        toolbar.addAction(controller.undoAction)
  250. -        toolbar.addAction(controller.redoAction)
  251. +        toolbar.addAction(action_bag.getActionByName('undoAction'))
  252. +        toolbar.addAction(action_bag.getActionByName('redoAction'))
  253.          toolbar = self.addToolBar(self.tr('View'))
  254. -        toolbar.addAction(controller.zoomOutAction)
  255. -        toolbar.addAction(controller.zoomInAction)
  256. +        toolbar.addAction(action_bag.getActionByName('zoomOutAction'))
  257. +        toolbar.addAction(action_bag.getActionByName('zoomInAction'))
  258.  
  259.      def showMenu(self, rightButton, item):
  260.          '''Show the node menu on right button click'''
  261. diff -r 3d6b5e06f52b hivemind/gui_main.py
  262. --- a/hivemind/gui_main.py  Tue Nov 30 22:10:35 2010 +0300
  263. +++ b/hivemind/gui_main.py  Wed Dec 01 21:34:40 2010 +0300
  264. @@ -39,7 +39,7 @@
  265.  from PySide.QtCore import *
  266.  from twisted.python import log
  267.  import hivemind.gui_factory as gui_factory
  268. -
  269. +import action_bag
  270.  
  271.  # Install qt4reactor as main twisted framework reactor
  272.  from twisted.internet import main
  273. @@ -117,13 +117,14 @@
  274.          '''
  275.          self.__widthActions[currentNode.edgeWidth].setChecked(True)
  276.          self.__styleActions[currentNode.edgeStyle].setChecked(True)
  277. -        self.__foldNodeAction.setEnabled(len(currentNode.children) > 0)
  278. -        self.__foldNodeAction.setText(
  279. +        foldNodeAction = action_bag.getActionByName('foldNodeAction')
  280. +        foldNodeAction.setEnabled(len(currentNode.children) > 0)
  281. +        foldNodeAction.setText(
  282.                 self.tr('Unfold node') if currentNode.folded else self.tr('Fold node'))
  283. -        self.__foldNodeAction.setChecked(currentNode.folded is not None)
  284. -        self.__removeNodeAction.setEnabled(currentNode.parent is not None)
  285. -        self.__editLabelAction.setEnabled(currentNode.parent is not None)
  286. -        self.__moveNodeAction.setEnabled(currentNode.parent is not None)
  287. +        foldNodeAction.setChecked(currentNode.folded is not None)
  288. +        action_bag.getActionByName('removeNodeAction').setEnabled(currentNode.parent is not None)
  289. +        action_bag.getActionByName('editLabelAction').setEnabled(currentNode.parent is not None)
  290. +        action_bag.getActionByName('moveNodeAction').setEnabled(currentNode.parent is not None)
  291.  
  292.      def _createStateModificationAction(self, text, alteredAttributes, shortcut = None, icon = None, checkable = True):
  293.          '''
  294. @@ -143,35 +144,39 @@
  295.  
  296.      def _createStateModificationActions(self):
  297.          '''Create state modification actions'''
  298. -        self.__parentWidthAction = self._createStateModificationAction(self.tr('Parent'),
  299. -                {'edgeWidth': None})
  300. -        self.__thinWidthAction = self._createStateModificationAction(self.tr('Thin'),
  301. -                {'edgeWidth': 11})
  302. -        self.__oneWidthAction = self._createStateModificationAction('1', {'edgeWidth': 1})
  303. -        self.__twoWidthAction = self._createStateModificationAction('2', {'edgeWidth': 2})
  304. -        self.__fourWidthAction = self._createStateModificationAction('4', {'edgeWidth': 4})
  305. -        self.__eightWidthAction = self._createStateModificationAction('8', {'edgeWidth': 8})
  306. -        self.__parentStyleAction = self._createStateModificationAction(self.tr('Parent'),
  307. -                {'edgeStyle': None})
  308. -        self.__linearStyleAction = self._createStateModificationAction(self.tr('Linear'),
  309. -                {'edgeStyle': 'linear'})
  310. -        self.__bezierStyleAction = self._createStateModificationAction(self.tr('Bezier'),
  311. -                {'edgeStyle': 'bezier'})
  312. -        self.__sharpLinearStyleAction = self._createStateModificationAction(self.tr('Sharp linear'),
  313. -                {'edgeStyle': 'sharp_linear'})
  314. -        self.__sharpBezierStyleAction = self._createStateModificationAction(self.tr('Sharp bezier'),
  315. -                {'edgeStyle': 'sharp_bezier'})
  316. -        self.__widthActions = {None : self.__parentWidthAction,
  317. -                               11 : self.__thinWidthAction,
  318. -                               1 : self.__oneWidthAction,
  319. -                               2 : self.__twoWidthAction,
  320. -                               4 : self.__fourWidthAction,
  321. -                               8 : self.__eightWidthAction}
  322. -        self.__styleActions = {'linear' : self.__linearStyleAction,
  323. -                               'bezier' : self.__bezierStyleAction,
  324. -                               'sharp_linear' : self.__sharpLinearStyleAction,
  325. -                               'sharp_bezier' : self.__sharpBezierStyleAction,
  326. -                               None : self.__parentStyleAction}
  327. +        action_bag.appendAction(self._createStateModificationAction(self.tr('Parent'),
  328. +            {'edgeWidth': None}), 'parentWidthAction')
  329. +        action_bag.appendAction(self._createStateModificationAction(self.tr('Thin'),
  330. +            {'edgeWidth': 11}), 'thinWidthAction')
  331. +        action_bag.appendAction(self._createStateModificationAction('1', {'edgeWidth': 1}),
  332. +            'oneWidthAction')
  333. +        action_bag.appendAction(self._createStateModificationAction('2', {'edgeWidth': 2}),
  334. +            'twoWidthAction')
  335. +        action_bag.appendAction(self._createStateModificationAction('4', {'edgeWidth': 4}),
  336. +            'fourWidthAction')
  337. +        action_bag.appendAction(self._createStateModificationAction('8', {'edgeWidth': 8}),
  338. +            'eightWidthAction')
  339. +        action_bag.appendAction(self._createStateModificationAction(self.tr('Parent'),
  340. +                {'edgeStyle': None}), 'parentStyleAction')
  341. +        action_bag.appendAction(self._createStateModificationAction(self.tr('Linear'),
  342. +                {'edgeStyle': 'linear'}), 'linearStyleAction')
  343. +        action_bag.appendAction(self._createStateModificationAction(self.tr('Bezier'),
  344. +                {'edgeStyle': 'bezier'}), 'bezierStyleAction')
  345. +        action_bag.appendAction(self._createStateModificationAction(self.tr('Sharp linear'),
  346. +                {'edgeStyle': 'sharp_linear'}), 'sharpLinearStyleAction')
  347. +        action_bag.appendAction(self._createStateModificationAction(self.tr('Sharp bezier'),
  348. +                {'edgeStyle': 'sharp_bezier'}), 'sharpBezierStyleAction')
  349. +        self.__widthActions = {None : action_bag.getActionByName('parentWidthAction'),
  350. +                               11 : action_bag.getActionByName('thinWidthAction'),
  351. +                               1 : action_bag.getActionByName('oneWidthAction'),
  352. +                               2 : action_bag.getActionByName('twoWidthAction'),
  353. +                               4 : action_bag.getActionByName('fourWidthAction'),
  354. +                               8 : action_bag.getActionByName('eightWidthAction')}
  355. +        self.__styleActions = {'linear' : action_bag.getActionByName('linearStyleAction'),
  356. +                               'bezier' : action_bag.getActionByName('bezierStyleAction'),
  357. +                               'sharp_linear' : action_bag.getActionByName('sharpLinearStyleAction'),
  358. +                               'sharp_bezier' : action_bag.getActionByName('sharpBezierStyleAction'),
  359. +                               None : action_bag.getActionByName('parentStyleAction')}
  360.          group = QActionGroup(self)
  361.          for action in self.__widthActions.values():
  362.              group.addAction(action)
  363. @@ -181,57 +186,73 @@
  364.  
  365.      def _createActions(self):
  366.          '''Create actions'''
  367. -        self.__fileNewAction = self.createAction(self.tr('&New'), self.onFileNew,
  368. -                'Ctrl+N', 'document-new')
  369. -        self.__fileOpenAction = self.createAction(self.tr('&Open'), self.onFileOpen,
  370. -                'Ctrl+O', 'document-open')
  371. -        self.__fileSaveAction = self.createAction(self.tr('&Save'), self.onFileSave,
  372. -                'Ctrl+S', 'document-save')
  373. -        self.__fileSaveAsAction = self.createAction(self.tr('Save as'), self.onFileSaveAs,
  374. -                None, 'document-save-as')
  375. -        self.__editEdgeAction = self.createAction(self.tr('Edit edge'), self.editEdge,
  376. -                'Ctrl+E')
  377. -        self.__editLabelAction = self.createAction(self.tr('Edit label'), self.editLabel,
  378. -                'Ctrl+L')
  379. -        self.__editNodeAction = self.createAction(self.tr('Edit node'), self.editNode,
  380. -                'F2', 'document-edit')
  381. -        self.__editNodeIconsAction = self.createAction(self.tr('Select icons'),
  382. -                self.editNodeIcons, 'Alt+I')
  383. -        self.__foldNodeAction = self.createAction(self.tr('Fold node'), self.foldNode,
  384. -                'Space')
  385. -        self.__addNodeAction = self.createAction(self.tr('Add child node'), self.addNode,
  386. -                'Insert', 'list-add')
  387. -        self.__removeNodeAction = self.createAction(self.tr('Remove node'), self.removeNode,
  388. -                'Delete', 'list-remove')
  389. -        self.__moveNodeAction = self.createAction(self.tr('Move node'), self._startNodeMoving)
  390. -        self.__aboutAction = self.createAction(self.tr('&About'), self.onAbout,
  391. -                None, 'help-about')
  392. -        self.__undoAction = self.__undoStack.createUndoAction(self, self.tr('&Undo'))
  393. -        self.__undoAction.setIcon(QIcon.fromTheme('edit-undo'))
  394. -        self.__undoAction.setShortcut('Ctrl+Z')
  395. -        self.__redoAction = self.__undoStack.createRedoAction(self, self.tr('&Redo'))
  396. -        self.__redoAction.setIcon(QIcon.fromTheme('edit-redo'))
  397. -        self.__redoAction.setShortcut('Ctrl+Y')
  398. -        self.__exitAction = self.createAction(self.tr('E&xit'), self._closeMainWindow,
  399. -                'Ctrl+Q', 'application-exit')
  400. -        self.__startNetworkServerAction = self.createAction(self.tr('&Share mind map'),
  401. -            self._startHiveMindService, None, None)
  402. -        self.__startNetworkClientAction = self.createAction(self.tr('&Edit shared mind map'),
  403. -            self._startHiveMindClient, None, None)
  404. -        self.__stopNetworkAction = self.createAction(self.tr('&Finish collaboration'),
  405. +        action_bag.appendAction(self.createAction(self.tr('&New'), self.onFileNew,
  406. +                'Ctrl+N', 'document-new'), 'fileNewAction')
  407. +        action_bag.appendAction(self.createAction(self.tr('&Open'), self.onFileOpen,
  408. +                'Ctrl+O', 'document-open'), 'fileOpenAction')
  409. +        action_bag.appendAction(self.createAction(self.tr('&Save'), self.onFileSave,
  410. +                'Ctrl+S', 'document-save'), 'fileSaveAction')
  411. +        action_bag.appendAction(self.createAction(self.tr('Save as'), self.onFileSaveAs,
  412. +                None, 'document-save-as'), 'fileSaveAsAction')
  413. +        action_bag.appendAction(self.createAction(self.tr('Edit edge'), self.editEdge,
  414. +                'Ctrl+E'), 'editEdgeAction')
  415. +        action_bag.appendAction(self.createAction(self.tr('Edit label'), self.editLabel,
  416. +                'Ctrl+L'), 'editLabelAction')
  417. +        action_bag.appendAction(self.createAction(self.tr('Edit node'), self.editNode,
  418. +                'F2', 'document-edit'), 'editNodeAction')
  419. +        action_bag.appendAction(self.createAction(self.tr('Select icons'),
  420. +                self.editNodeIcons, 'Alt+I'), 'editNodeIconsAction')
  421. +        action_bag.appendAction(self.createAction(self.tr('Fold node'), self.foldNode,
  422. +                'Space'), 'foldNodeAction')
  423. +        action_bag.appendAction(self.createAction(self.tr('Add child node'), self.addNode,
  424. +                'Insert', 'list-add'), 'addNodeAction')
  425. +        action_bag.appendAction(self.createAction(self.tr('Remove node'), self.removeNode,
  426. +                'Delete', 'list-remove'), 'removeNodeAction')
  427. +        action_bag.appendAction(self.createAction(self.tr('Move node'), self._startNodeMoving),
  428. +                'moveNodeAction')
  429. +        action_bag.appendAction(self.createAction(self.tr('&About'), self.onAbout,
  430. +                None, 'help-about'), 'aboutAction')
  431. +
  432. +        undoAction = self.__undoStack.createUndoAction(self, self.tr('&Undo'))
  433. +        undoAction.setIcon(QIcon.fromTheme('edit-undo'))
  434. +        undoAction.setShortcut('Ctrl+Z')
  435. +        action_bag.appendAction(undoAction, 'undoAction')
  436. +
  437. +        redoAction = self.__undoStack.createRedoAction(self, self.tr('&Redo'))
  438. +        redoAction.setIcon(QIcon.fromTheme('edit-redo'))
  439. +        redoAction.setShortcut('Ctrl+Y')
  440. +        action_bag.appendAction(redoAction, 'redoAction')
  441. +
  442. +        action_bag.appendAction(self.createAction(self.tr('E&xit'), self._closeMainWindow,
  443. +                'Ctrl+Q', 'application-exit'), 'exitAction')
  444. +
  445. +        action_bag.appendAction(self.createAction(self.tr('&Share mind map'),
  446. +            self._startHiveMindService, None, None), 'startNetworkServerAction')
  447. +        action_bag.appendAction(self.createAction(self.tr('&Edit shared mind map'),
  448. +            self._startHiveMindClient, None, None), 'startNetworkClientAction')
  449. +        stopNetworkAction = self.createAction(self.tr('&Finish collaboration'),
  450.              self.__networkController.stopCommunication, None, None)
  451. -        self.__stopNetworkAction.setEnabled(False)
  452. -        self.__settingsAction = self.createAction(self.tr('Settings'), self.onSettings,
  453. -                None, 'preferences-other')
  454. -        self.__selectLeftNodeAction = self.createAction(None, self._selectLeftNode, 'Left')
  455. -        self.__selectRightNodeAction = self.createAction(None, self._selectRightNode, 'Right')
  456. -        self.__selectUpNodeAction = self.createAction(None, self._selectUpNode, 'Up')
  457. -        self.__selectDownNodeAction = self.createAction(None, self._selectDownNode, 'Down')
  458. -        self.__selectRootNodeAction = self.createAction(None, self._selectRootNode, 'Escape')
  459. -        self.__addAdjacentNodeAction = self.createAction(None, self._addAdjacentNode,
  460. -                Qt.Key_Return)
  461. -        self.__zoomInAction = self.createAction(self.tr('Zoom in'), None, '+', 'zoom-in')
  462. -        self.__zoomOutAction = self.createAction(self.tr('Zoom out'), None, '-', 'zoom-out')
  463. +        stopNetworkAction.setEnabled(False)
  464. +        action_bag.appendAction(stopNetworkAction, 'stopNetworkAction')
  465. +
  466. +        action_bag.appendAction(self.createAction(self.tr('Settings'), self.onSettings,
  467. +                None, 'preferences-other'), 'settingsAction')
  468. +        action_bag.appendAction(self.createAction(None, self._selectLeftNode, 'Left'),
  469. +                'selectLeftNodeAction')
  470. +        action_bag.appendAction(self.createAction(None, self._selectRightNode, 'Right'),
  471. +                'selectRightNodeAction')
  472. +        action_bag.appendAction(self.createAction(None, self._selectUpNode, 'Up'),
  473. +                'selectUpNodeAction')
  474. +        action_bag.appendAction(self.createAction(None, self._selectDownNode, 'Down'),
  475. +                'selectDownNodeAction')
  476. +        action_bag.appendAction(self.createAction(None, self._selectRootNode, 'Escape'),
  477. +                'selectRootNodeAction')
  478. +        action_bag.appendAction(self.createAction(None, self._addAdjacentNode, Qt.Key_Return),
  479. +                'addAdjacentNodeAction')
  480. +        action_bag.appendAction(self.createAction(self.tr('Zoom in'), None, '+', 'zoom-in'),
  481. +                'zoomInAction')
  482. +        action_bag.appendAction(self.createAction(self.tr('Zoom out'), None, '-', 'zoom-out'),
  483. +                'zoomOutAction')
  484.  
  485.      def _addCommand(self, command):
  486.          '''
  487. @@ -661,7 +682,7 @@
  488.          @param clean: undo stack clean state indication
  489.          @type clean: bool
  490.          '''
  491. -        self.__fileSaveAction.setDisabled(clean)
  492. +        action_bag.getActionByName('fileSaveAction').setDisabled(clean)
  493.  
  494.      def _closeMainWindow(self):
  495.          '''Close main window of the application'''
  496. @@ -700,9 +721,9 @@
  497.          @type state: str
  498.          '''
  499.          canStart = True if state == 'offline' else False
  500. -        self.__startNetworkClientAction.setEnabled(canStart)
  501. -        self.__startNetworkServerAction.setEnabled(canStart)
  502. -        self.__stopNetworkAction.setEnabled(not canStart)
  503. +        action_bag.getActionByName('startNetworkClientAction').setEnabled(canStart)
  504. +        action_bag.getActionByName('startNetworkServerAction').setEnabled(canStart)
  505. +        action_bag.getActionByName('stopNetworkAction').setEnabled(not canStart)
  506.  
  507.      def _startHiveMindService(self):
  508.          '''Enable HiveMind network service'''
  509. diff -r 3d6b5e06f52b hivemind/maemo/main_window.py
  510. --- a/hivemind/maemo/main_window.py Tue Nov 30 22:10:35 2010 +0300
  511. +++ b/hivemind/maemo/main_window.py Wed Dec 01 21:34:40 2010 +0300
  512. @@ -45,22 +45,23 @@
  513.          self.setAttribute(Qt.WA_Maemo5StackedWindow)
  514.  
  515.      def _createZoomWidget(self, controller):
  516. -        self.__zoomWidget = MaemoZoomWidget(self._mindMapView, controller.zoomInAction,
  517. -                controller.zoomOutAction)
  518. +        self.__zoomWidget = MaemoZoomWidget(self._mindMapView,
  519. +                action_bag.getActionByName('zoomInAction'),
  520. +                action_bag.getActionByName('zoomOutAction'))
  521.  
  522.  
  523.      def _createContextMenu(self, controller):
  524.          self.__menu = MaemoNodeMenu(self._mindMapView, controller)
  525.          self.__additionalMenu = MaemoNodeMenu(self._mindMapView, controller)
  526. -        self.__menu.addAction(controller.addNodeAction, 'add_node')
  527. -        self.__menu.addAction(controller.removeNodeAction, 'remove_node')
  528. -        self.__menu.addAction(controller.editNodeAction, 'edit_node')
  529. -        controller.foldNodeAction.setCheckable(True)
  530. -        self.__menu.addAction(controller.foldNodeAction, 'hide_subtree')
  531. -        self.__additionalMenu.addAction(controller.editNodeIconsAction, 'edit_icons')
  532. -        self.__additionalMenu.addAction(controller.editEdgeAction, 'edit_edge')
  533. -        self.__additionalMenu.addAction(controller.moveNodeAction, 'move_node')
  534. -        self.__additionalMenu.addAction(controller.editLabelAction, 'label_edge')
  535. +        self.__menu.addAction(action_bag.getActionByName('addNodeAction'), 'add_node')
  536. +        self.__menu.addAction(action_bag.getActionByName('removeNodeAction'), 'remove_node')
  537. +        self.__menu.addAction(action_bag.getActionByName('editNodeAction'), 'edit_node')
  538. +        action_bag.getActionByName('foldNodeAction').setCheckable(True)
  539. +        self.__menu.addAction(action_bag.getActionByName('foldNodeAction'), 'hide_subtree')
  540. +        self.__additionalMenu.addAction(action_bag.getActionByName('editNodeIconsAction'), 'edit_icons')
  541. +        self.__additionalMenu.addAction(action_bag.getActionByName('editEdgeAction'), 'edit_edge')
  542. +        self.__additionalMenu.addAction(action_bag.getActionByName('moveNodeAction'), 'move_node')
  543. +        self.__additionalMenu.addAction(action_bag.getActionByName('editLabelAction'), 'label_edge')
  544.          self.connect(self.__menu, SIGNAL('show'),
  545.                       adaptCallable(self.__additionalMenu.hideMenu))
  546.          self.connect(self.__additionalMenu, SIGNAL('show'),
  547. @@ -72,18 +73,18 @@
  548.          @type controller: MainWindowController
  549.          '''
  550.          menu = self.menuBar().addMenu('')
  551. -        menu.addAction(controller.fileNewAction)
  552. -        menu.addAction(controller.fileOpenAction)
  553. -        menu.addAction(controller.fileSaveAction)
  554. -        menu.addAction(controller.fileSaveAsAction)
  555. +        menu.addAction(action_bag.getActionByName('fileNewAction'))
  556. +        menu.addAction(action_bag.getActionByName('fileOpenAction'))
  557. +        menu.addAction(action_bag.getActionByName('fileSaveAction'))
  558. +        menu.addAction(action_bag.getActionByName('fileSaveAsAction'))
  559.          menu.addAction(self.__fullScreenAction)
  560. -        menu.addAction(controller.aboutAction)
  561. -        menu.addAction(controller.settingsAction)
  562. -        menu.addAction(controller.undoAction)
  563. -        menu.addAction(controller.redoAction)
  564. -        menu.addAction(controller.startNetworkServerAction)
  565. -        menu.addAction(controller.startNetworkClientAction)
  566. -        menu.addAction(controller.stopNetworkAction)
  567. +        menu.addAction(action_bag.getActionByName('aboutAction'))
  568. +        menu.addAction(action_bag.getActionByName('settingsAction'))
  569. +        menu.addAction(action_bag.getActionByName('undoAction'))
  570. +        menu.addAction(action_bag.getActionByName('redoAction'))
  571. +        menu.addAction(action_bag.getActionByName('startNetworkServerAction'))
  572. +        menu.addAction(action_bag.getActionByName('startNetworkClientAction'))
  573. +        menu.addAction(action_bag.getActionByName('stopNetworkAction'))
  574.  
  575.      def showMenu(self, rightButton, item):
  576.          '''Show one of the two menus according to the button clicked'''
  577. diff -r 3d6b5e06f52b hivemind/main_window.py
  578. --- a/hivemind/main_window.py   Tue Nov 30 22:10:35 2010 +0300
  579. +++ b/hivemind/main_window.py   Wed Dec 01 21:34:40 2010 +0300
  580. @@ -27,6 +27,7 @@
  581.  from PySide.QtCore import *
  582.  from hivemind.gui_widgets import *
  583.  from hivemind.gui_delegates import *
  584. +import action_bag
  585.  
  586.  class MainView(QGraphicsView):
  587.      '''
  588. @@ -436,24 +437,24 @@
  589.  
  590.      def _initActions(self, controller):
  591.          '''Appends the actions to mainView's list of actions'''
  592. -        self._mindMapView.addAction(controller.editEdgeAction)
  593. -        self._mindMapView.addAction(controller.editLabelAction)
  594. -        self._mindMapView.addAction(controller.editNodeAction)
  595. -        self._mindMapView.addAction(controller.editNodeIconsAction)
  596. -        self._mindMapView.addAction(controller.foldNodeAction)
  597. -        self._mindMapView.addAction(controller.addNodeAction)
  598. -        self._mindMapView.addAction(controller.removeNodeAction)
  599. -        self._mindMapView.addAction(controller.selectLeftNodeAction)
  600. -        self._mindMapView.addAction(controller.selectRightNodeAction)
  601. -        self._mindMapView.addAction(controller.selectUpNodeAction)
  602. -        self._mindMapView.addAction(controller.selectDownNodeAction)
  603. -        self._mindMapView.addAction(controller.selectRootNodeAction)
  604. -        self._mindMapView.addAction(controller.addAdjacentNodeAction)
  605. -        self._mindMapView.addAction(controller.zoomInAction)
  606. -        self._mindMapView.addAction(controller.zoomOutAction)
  607. -        controller.zoomInAction.connect(SIGNAL('triggered()'),
  608. +        self._mindMapView.addAction(action_bag.getActionByName('editEdgeAction'))
  609. +        self._mindMapView.addAction(action_bag.getActionByName('editLabelAction'))
  610. +        self._mindMapView.addAction(action_bag.getActionByName('editNodeAction'))
  611. +        self._mindMapView.addAction(action_bag.getActionByName('editNodeIconsAction'))
  612. +        self._mindMapView.addAction(action_bag.getActionByName('foldNodeAction'))
  613. +        self._mindMapView.addAction(action_bag.getActionByName('addNodeAction'))
  614. +        self._mindMapView.addAction(action_bag.getActionByName('removeNodeAction'))
  615. +        self._mindMapView.addAction(action_bag.getActionByName('selectLeftNodeAction'))
  616. +        self._mindMapView.addAction(action_bag.getActionByName('selectRightNodeAction'))
  617. +        self._mindMapView.addAction(action_bag.getActionByName('selectUpNodeAction'))
  618. +        self._mindMapView.addAction(action_bag.getActionByName('selectDownNodeAction'))
  619. +        self._mindMapView.addAction(action_bag.getActionByName('selectRootNodeAction'))
  620. +        self._mindMapView.addAction(action_bag.getActionByName('addAdjacentNodeAction'))
  621. +        self._mindMapView.addAction(action_bag.getActionByName('zoomInAction'))
  622. +        self._mindMapView.addAction(action_bag.getActionByName('zoomOutAction'))
  623. +        action_bag.getActionByName('zoomInAction').connect(SIGNAL('triggered()'),
  624.              self._mindMapView.zoomIn)
  625. -        controller.zoomOutAction.connect(SIGNAL('triggered()'),
  626. +        action_bag.getActionByName('zoomOutAction').connect(SIGNAL('triggered()'),
  627.              self._mindMapView.zoomOut)
  628.  
  629.      def resetView(self):
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement