Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Return-Path: <akulikov1988@gmail.com>
- Delivered-To: unknown
- Received: from imap.gmail.com (209.85.227.109) by AMD64.localdomain with
- IMAP4-SSL; 01 Dec 2010 18:24:51 -0000
- Delivered-To: maemo.freemind@gmail.com
- Received: by 10.151.144.19 with SMTP id w19cs294011ybn;
- Tue, 30 Nov 2010 21:18:37 -0800 (PST)
- Received: by 10.213.26.15 with SMTP id b15mr4961207ebc.13.1291180715321;
- Tue, 30 Nov 2010 21:18:35 -0800 (PST)
- Received: from mail-ey0-f172.google.com (mail-ey0-f172.google.com [209.85.215.172])
- by mx.google.com with ESMTP id q52si17134390eeh.4.2010.11.30.21.18.33;
- Tue, 30 Nov 2010 21:18:34 -0800 (PST)
- Received-SPF: pass (google.com: domain of akulikov1988@gmail.com designates 209.85.215.172 as permitted sender) client-ip=209.85.215.172;
- 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
- Received: by mail-ey0-f172.google.com with SMTP id 10so3393190eyd.17
- for <maemo.freemind@gmail.com>; Tue, 30 Nov 2010 21:18:33 -0800 (PST)
- DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=gmail.com; s=gamma;
- h=domainkey-signature:received:received:content-type:mime-version
- :content-transfer-encoding:subject:x-mercurial-node:message-id
- :in-reply-to:references:user-agent:date:from:to;
- bh=aK+jPfxk8L2Ek+3CBGRj/R5MZIDqipRp1e/4+tETxhE=;
- b=qgoTC3ojWklHqOyvzntS8pa6V/n2VXhU0b+v6tP9U490stIt3t1x0ZtYqjBqGgcPsA
- X0Vl4/PYsX2fUk2TtrMYafDLSY+cJ0x+44PEpWNUWnU7LYVNPV/+k4MMIu5sxNNoIVKa
- r4o4eoOJPm76oUkSb+jK7sqLn4hJduJMEHGBQ=
- DomainKey-Signature: a=rsa-sha1; c=nofws;
- d=gmail.com; s=gamma;
- h=content-type:mime-version:content-transfer-encoding:subject
- :x-mercurial-node:message-id:in-reply-to:references:user-agent:date
- :from:to;
- b=Qm64oDuxyP4yhqw55ppI3igKd9E+YVa+NndsN0s4hJ9caiSTZDNV3h9Q/SCD2HqW6e
- o3RFLmSyxg0h/pAFd0rRG6TOkh3SChRVeM5/r2e5kv5va4pXnntqovAQExWA9V4899Yt
- lV3hu8+fPC72VxAIGYZKPZ/j9R45ZvZgDKJJA=
- Received: by 10.213.4.71 with SMTP id 7mr2028710ebq.14.1291180713315;
- Tue, 30 Nov 2010 21:18:33 -0800 (PST)
- Received: from asgard.hostel ([213.187.119.171])
- by mx.google.com with ESMTPS id x54sm7135638eeh.5.2010.11.30.21.18.32
- (version=TLSv1/SSLv3 cipher=RC4-MD5);
- Tue, 30 Nov 2010 21:18:32 -0800 (PST)
- Content-Type: text/plain; charset="us-ascii"
- MIME-Version: 1.0
- Content-Transfer-Encoding: 7bit
- Subject: [PATCH 1 of 2] Extracted actions from MainWindowController into
- ActionBag class (refs #400)
- X-Mercurial-Node: b2839d004f161b528a304b66ae3f59e70a3c6a27
- Message-Id: <b2839d004f161b528a30.1291180690@asgard.hostel>
- In-Reply-To: <patchbomb.1291180689@asgard.hostel>
- References: <patchbomb.1291180689@asgard.hostel>
- User-Agent: Mercurial-patchbomb/1.6.4
- Date: Wed, 01 Dec 2010 08:18:10 +0300
- From: Alexander Kulikov <akulikov1988@gmail.com>
- To: maemo.freemind@gmail.com
- # HG changeset patch
- # User Alexander Kulikov <asgard1988@yandex.ru>
- # Date 1291147922 -10800
- # Node ID b2839d004f161b528a304b66ae3f59e70a3c6a27
- # Parent 3d6b5e06f52b75384302cc634fafc9d5bde54c97
- Extracted actions from the MainWindowController into action_bag module (refs #400)
- diff -r 3d6b5e06f52b hivemind/action_bag.py
- --- /dev/null Thu Jan 01 00:00:00 1970 +0000
- +++ b/hivemind/action_bag.py Wed Dec 01 21:34:40 2010 +0300
- @@ -0,0 +1,60 @@
- +# -*- coding: utf-8 -*-
- +# HiveMind - Distributed mind map editor for Maemo 5 platform
- +# Copyright (C) 2010 HiveMind developers
- +#
- +# HiveMind is the legal property of its developers, whose names are
- +# noticed in or annotations at the beginning of each
- +# module or class.
- +#
- +# This program is free software; you can redistribute it and/or modify
- +# it under the terms of the GNU General Public License as published by
- +# the Free Software Foundation; either version 3 of the License, or
- +# (at your option) any later version.
- +#
- +# This program is distributed in the hope that it will be useful,
- +# but WITHOUT ANY WARRANTY; without even the implied warranty of
- +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- +# GNU General Public License for more details.
- +#
- +# You should have received a copy of the GNU General Public License
- +# along with this program; if not, write to the Free Software
- +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
- +
- +'''
- +Application actions manager
- +
- +@author: Alexander Kulikov
- +'''
- +
- +__ACTIONS = {}
- +'''Hash table containing actions'''
- +
- +def getActionByName(name):
- + '''
- + Get the action with the given name
- + If name is not present, supply None instead
- +
- + @param name: name of action
- + @rtype: QAction
- + '''
- + if __ACTIONS.has_key(name):
- + return __ACTIONS[name]
- + return None
- +
- +def appendAction(action, name):
- + '''
- + Append the action with the given name
- +
- + @param name: name of action
- + @type action: QAction
- + '''
- + __ACTIONS[name] = action
- +
- +def removeActionByName(name):
- + '''
- + Remove the action with the given name
- +
- + @param name: name of action
- + '''
- + if __ACTIONS.has_key(name):
- + del __ACTIONS[name]
- diff -r 3d6b5e06f52b hivemind/desktop/main_window.py
- --- a/hivemind/desktop/main_window.py Tue Nov 30 22:10:35 2010 +0300
- +++ b/hivemind/desktop/main_window.py Wed Dec 01 21:34:40 2010 +0300
- @@ -42,40 +42,46 @@
- def _createContextMenu(self, controller):
- '''Create context menu'''
- self.__menu = QMenu(self)
- - self.__menu.addAction(controller.addNodeAction)
- - self.__menu.addAction(controller.editNodeAction)
- - self.__menu.addAction(controller.foldNodeAction)
- - self.__menu.addAction(controller.moveNodeAction)
- - self.__menu.addAction(controller.removeNodeAction)
- + self.__menu.addAction(action_bag.getActionByName('addNodeAction'))
- + self.__menu.addAction(action_bag.getActionByName('editNodeAction'))
- + self.__menu.addAction(action_bag.getActionByName('foldNodeAction'))
- + self.__menu.addAction(action_bag.getActionByName('moveNodeAction'))
- + self.__menu.addAction(action_bag.getActionByName('removeNodeAction'))
- self.__menu.addSeparator()
- - self.__menu.addAction(controller.editNodeIconsAction)
- + self.__menu.addAction(action_bag.getActionByName('editNodeIconsAction'))
- edgeSubmenu = QMenu(self)
- edgeSubmenu.setTitle(self.tr('Edge parameters'))
- - edgeSubmenu.addAction(controller.editEdgeAction)
- - edgeSubmenu.addAction(controller.editLabelAction)
- + edgeSubmenu.addAction(action_bag.getActionByName('editEdgeAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('editLabelAction'))
- edgeSubmenu.addSeparator()
- - edgeSubmenu.addAction(controller.parentWidthAction)
- - edgeSubmenu.addAction(controller.thinWidthAction)
- - edgeSubmenu.addAction(controller.oneWidthAction)
- - edgeSubmenu.addAction(controller.twoWidthAction)
- - edgeSubmenu.addAction(controller.fourWidthAction)
- - edgeSubmenu.addAction(controller.eightWidthAction)
- + edgeSubmenu.addAction(action_bag.getActionByName('parentWidthAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('thinWidthAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('oneWidthAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('twoWidthAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('fourWidthAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('eightWidthAction'))
- edgeSubmenu.addSeparator()
- - edgeSubmenu.addAction(controller.parentStyleAction)
- - edgeSubmenu.addAction(controller.linearStyleAction)
- - edgeSubmenu.addAction(controller.bezierStyleAction)
- - edgeSubmenu.addAction(controller.sharpLinearStyleAction)
- - edgeSubmenu.addAction(controller.sharpBezierStyleAction)
- + edgeSubmenu.addAction(action_bag.getActionByName('parentStyleAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('linearStyleAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('bezierStyleAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('sharpLinearStyleAction'))
- + edgeSubmenu.addAction(action_bag.getActionByName('sharpBezierStyleAction'))
- self.__menu.addMenu(edgeSubmenu)
- def _addEllipsesToActionText(self, controller):
- '''Add ellipses to the text of the actions displaying dialogs'''
- - actionsWithEllipses = [controller.fileOpenAction, controller.fileSaveAsAction,
- - controller.settingsAction, controller.startNetworkServerAction,
- - controller.startNetworkClientAction, controller.aboutAction,
- - controller.addNodeAction, controller.editNodeAction,
- - controller.editNodeIconsAction, controller.editLabelAction,
- - controller.editEdgeAction]
- + actionsWithEllipses = [
- + action_bag.getActionByName('fileOpenAction'),
- + action_bag.getActionByName('fileSaveAsAction'),
- + action_bag.getActionByName('settingsAction'),
- + action_bag.getActionByName('startNetworkServerAction'),
- + action_bag.getActionByName('startNetworkClientAction'),
- + action_bag.getActionByName('aboutAction'),
- + action_bag.getActionByName('addNodeAction'),
- + action_bag.getActionByName('editNodeAction'),
- + action_bag.getActionByName('editNodeIconsAction'),
- + action_bag.getActionByName('editLabelAction'),
- + action_bag.getActionByName('editEdgeAction')]
- for action in actionsWithEllipses:
- action.setText(action.text() + '...')
- @@ -86,23 +92,23 @@
- '''
- self._addEllipsesToActionText(controller)
- menu = self.menuBar().addMenu(self.tr('&File'))
- - menu.addAction(controller.fileNewAction)
- - menu.addAction(controller.fileOpenAction)
- - menu.addAction(controller.fileSaveAction)
- - menu.addAction(controller.fileSaveAsAction)
- + menu.addAction(action_bag.getActionByName('fileNewAction'))
- + menu.addAction(action_bag.getActionByName('fileOpenAction'))
- + menu.addAction(action_bag.getActionByName('fileSaveAction'))
- + menu.addAction(action_bag.getActionByName('fileSaveAsAction'))
- menu.addSeparator()
- - menu.addAction(controller.exitAction)
- + menu.addAction(action_bag.getActionByName('exitAction'))
- menu = self.menuBar().addMenu(self.tr('&Edit'))
- - menu.addAction(controller.undoAction)
- - menu.addAction(controller.redoAction)
- + menu.addAction(action_bag.getActionByName('undoAction'))
- + menu.addAction(action_bag.getActionByName('redoAction'))
- menu.addSeparator()
- - menu.addAction(controller.settingsAction)
- + menu.addAction(action_bag.getActionByName('settingsAction'))
- menu = self.menuBar().addMenu(self.tr('&Collaboration'))
- - menu.addAction(controller.startNetworkServerAction)
- - menu.addAction(controller.startNetworkClientAction)
- - menu.addAction(controller.stopNetworkAction)
- + menu.addAction(action_bag.getActionByName('startNetworkServerAction'))
- + menu.addAction(action_bag.getActionByName('startNetworkClientAction'))
- + menu.addAction(action_bag.getActionByName('stopNetworkAction'))
- menu = self.menuBar().addMenu(self.tr('&Help'))
- - menu.addAction(controller.aboutAction)
- + menu.addAction(action_bag.getActionByName('aboutAction'))
- def _createToolBars(self, controller):
- '''
- @@ -110,16 +116,16 @@
- @type controller: MainWindowController
- '''
- toolbar = self.addToolBar(self.tr('File'))
- - toolbar.addAction(controller.fileNewAction)
- - toolbar.addAction(controller.fileOpenAction)
- - toolbar.addAction(controller.fileSaveAction)
- - toolbar.addAction(controller.fileSaveAsAction)
- + toolbar.addAction(action_bag.getActionByName('fileNewAction'))
- + toolbar.addAction(action_bag.getActionByName('fileOpenAction'))
- + toolbar.addAction(action_bag.getActionByName('fileSaveAction'))
- + toolbar.addAction(action_bag.getActionByName('fileSaveAsAction'))
- toolbar = self.addToolBar(self.tr('Edit'))
- - toolbar.addAction(controller.undoAction)
- - toolbar.addAction(controller.redoAction)
- + toolbar.addAction(action_bag.getActionByName('undoAction'))
- + toolbar.addAction(action_bag.getActionByName('redoAction'))
- toolbar = self.addToolBar(self.tr('View'))
- - toolbar.addAction(controller.zoomOutAction)
- - toolbar.addAction(controller.zoomInAction)
- + toolbar.addAction(action_bag.getActionByName('zoomOutAction'))
- + toolbar.addAction(action_bag.getActionByName('zoomInAction'))
- def showMenu(self, rightButton, item):
- '''Show the node menu on right button click'''
- diff -r 3d6b5e06f52b hivemind/gui_main.py
- --- a/hivemind/gui_main.py Tue Nov 30 22:10:35 2010 +0300
- +++ b/hivemind/gui_main.py Wed Dec 01 21:34:40 2010 +0300
- @@ -39,7 +39,7 @@
- from PySide.QtCore import *
- from twisted.python import log
- import hivemind.gui_factory as gui_factory
- -
- +import action_bag
- # Install qt4reactor as main twisted framework reactor
- from twisted.internet import main
- @@ -117,13 +117,14 @@
- '''
- self.__widthActions[currentNode.edgeWidth].setChecked(True)
- self.__styleActions[currentNode.edgeStyle].setChecked(True)
- - self.__foldNodeAction.setEnabled(len(currentNode.children) > 0)
- - self.__foldNodeAction.setText(
- + foldNodeAction = action_bag.getActionByName('foldNodeAction')
- + foldNodeAction.setEnabled(len(currentNode.children) > 0)
- + foldNodeAction.setText(
- self.tr('Unfold node') if currentNode.folded else self.tr('Fold node'))
- - self.__foldNodeAction.setChecked(currentNode.folded is not None)
- - self.__removeNodeAction.setEnabled(currentNode.parent is not None)
- - self.__editLabelAction.setEnabled(currentNode.parent is not None)
- - self.__moveNodeAction.setEnabled(currentNode.parent is not None)
- + foldNodeAction.setChecked(currentNode.folded is not None)
- + action_bag.getActionByName('removeNodeAction').setEnabled(currentNode.parent is not None)
- + action_bag.getActionByName('editLabelAction').setEnabled(currentNode.parent is not None)
- + action_bag.getActionByName('moveNodeAction').setEnabled(currentNode.parent is not None)
- def _createStateModificationAction(self, text, alteredAttributes, shortcut = None, icon = None, checkable = True):
- '''
- @@ -143,35 +144,39 @@
- def _createStateModificationActions(self):
- '''Create state modification actions'''
- - self.__parentWidthAction = self._createStateModificationAction(self.tr('Parent'),
- - {'edgeWidth': None})
- - self.__thinWidthAction = self._createStateModificationAction(self.tr('Thin'),
- - {'edgeWidth': 11})
- - self.__oneWidthAction = self._createStateModificationAction('1', {'edgeWidth': 1})
- - self.__twoWidthAction = self._createStateModificationAction('2', {'edgeWidth': 2})
- - self.__fourWidthAction = self._createStateModificationAction('4', {'edgeWidth': 4})
- - self.__eightWidthAction = self._createStateModificationAction('8', {'edgeWidth': 8})
- - self.__parentStyleAction = self._createStateModificationAction(self.tr('Parent'),
- - {'edgeStyle': None})
- - self.__linearStyleAction = self._createStateModificationAction(self.tr('Linear'),
- - {'edgeStyle': 'linear'})
- - self.__bezierStyleAction = self._createStateModificationAction(self.tr('Bezier'),
- - {'edgeStyle': 'bezier'})
- - self.__sharpLinearStyleAction = self._createStateModificationAction(self.tr('Sharp linear'),
- - {'edgeStyle': 'sharp_linear'})
- - self.__sharpBezierStyleAction = self._createStateModificationAction(self.tr('Sharp bezier'),
- - {'edgeStyle': 'sharp_bezier'})
- - self.__widthActions = {None : self.__parentWidthAction,
- - 11 : self.__thinWidthAction,
- - 1 : self.__oneWidthAction,
- - 2 : self.__twoWidthAction,
- - 4 : self.__fourWidthAction,
- - 8 : self.__eightWidthAction}
- - self.__styleActions = {'linear' : self.__linearStyleAction,
- - 'bezier' : self.__bezierStyleAction,
- - 'sharp_linear' : self.__sharpLinearStyleAction,
- - 'sharp_bezier' : self.__sharpBezierStyleAction,
- - None : self.__parentStyleAction}
- + action_bag.appendAction(self._createStateModificationAction(self.tr('Parent'),
- + {'edgeWidth': None}), 'parentWidthAction')
- + action_bag.appendAction(self._createStateModificationAction(self.tr('Thin'),
- + {'edgeWidth': 11}), 'thinWidthAction')
- + action_bag.appendAction(self._createStateModificationAction('1', {'edgeWidth': 1}),
- + 'oneWidthAction')
- + action_bag.appendAction(self._createStateModificationAction('2', {'edgeWidth': 2}),
- + 'twoWidthAction')
- + action_bag.appendAction(self._createStateModificationAction('4', {'edgeWidth': 4}),
- + 'fourWidthAction')
- + action_bag.appendAction(self._createStateModificationAction('8', {'edgeWidth': 8}),
- + 'eightWidthAction')
- + action_bag.appendAction(self._createStateModificationAction(self.tr('Parent'),
- + {'edgeStyle': None}), 'parentStyleAction')
- + action_bag.appendAction(self._createStateModificationAction(self.tr('Linear'),
- + {'edgeStyle': 'linear'}), 'linearStyleAction')
- + action_bag.appendAction(self._createStateModificationAction(self.tr('Bezier'),
- + {'edgeStyle': 'bezier'}), 'bezierStyleAction')
- + action_bag.appendAction(self._createStateModificationAction(self.tr('Sharp linear'),
- + {'edgeStyle': 'sharp_linear'}), 'sharpLinearStyleAction')
- + action_bag.appendAction(self._createStateModificationAction(self.tr('Sharp bezier'),
- + {'edgeStyle': 'sharp_bezier'}), 'sharpBezierStyleAction')
- + self.__widthActions = {None : action_bag.getActionByName('parentWidthAction'),
- + 11 : action_bag.getActionByName('thinWidthAction'),
- + 1 : action_bag.getActionByName('oneWidthAction'),
- + 2 : action_bag.getActionByName('twoWidthAction'),
- + 4 : action_bag.getActionByName('fourWidthAction'),
- + 8 : action_bag.getActionByName('eightWidthAction')}
- + self.__styleActions = {'linear' : action_bag.getActionByName('linearStyleAction'),
- + 'bezier' : action_bag.getActionByName('bezierStyleAction'),
- + 'sharp_linear' : action_bag.getActionByName('sharpLinearStyleAction'),
- + 'sharp_bezier' : action_bag.getActionByName('sharpBezierStyleAction'),
- + None : action_bag.getActionByName('parentStyleAction')}
- group = QActionGroup(self)
- for action in self.__widthActions.values():
- group.addAction(action)
- @@ -181,57 +186,73 @@
- def _createActions(self):
- '''Create actions'''
- - self.__fileNewAction = self.createAction(self.tr('&New'), self.onFileNew,
- - 'Ctrl+N', 'document-new')
- - self.__fileOpenAction = self.createAction(self.tr('&Open'), self.onFileOpen,
- - 'Ctrl+O', 'document-open')
- - self.__fileSaveAction = self.createAction(self.tr('&Save'), self.onFileSave,
- - 'Ctrl+S', 'document-save')
- - self.__fileSaveAsAction = self.createAction(self.tr('Save as'), self.onFileSaveAs,
- - None, 'document-save-as')
- - self.__editEdgeAction = self.createAction(self.tr('Edit edge'), self.editEdge,
- - 'Ctrl+E')
- - self.__editLabelAction = self.createAction(self.tr('Edit label'), self.editLabel,
- - 'Ctrl+L')
- - self.__editNodeAction = self.createAction(self.tr('Edit node'), self.editNode,
- - 'F2', 'document-edit')
- - self.__editNodeIconsAction = self.createAction(self.tr('Select icons'),
- - self.editNodeIcons, 'Alt+I')
- - self.__foldNodeAction = self.createAction(self.tr('Fold node'), self.foldNode,
- - 'Space')
- - self.__addNodeAction = self.createAction(self.tr('Add child node'), self.addNode,
- - 'Insert', 'list-add')
- - self.__removeNodeAction = self.createAction(self.tr('Remove node'), self.removeNode,
- - 'Delete', 'list-remove')
- - self.__moveNodeAction = self.createAction(self.tr('Move node'), self._startNodeMoving)
- - self.__aboutAction = self.createAction(self.tr('&About'), self.onAbout,
- - None, 'help-about')
- - self.__undoAction = self.__undoStack.createUndoAction(self, self.tr('&Undo'))
- - self.__undoAction.setIcon(QIcon.fromTheme('edit-undo'))
- - self.__undoAction.setShortcut('Ctrl+Z')
- - self.__redoAction = self.__undoStack.createRedoAction(self, self.tr('&Redo'))
- - self.__redoAction.setIcon(QIcon.fromTheme('edit-redo'))
- - self.__redoAction.setShortcut('Ctrl+Y')
- - self.__exitAction = self.createAction(self.tr('E&xit'), self._closeMainWindow,
- - 'Ctrl+Q', 'application-exit')
- - self.__startNetworkServerAction = self.createAction(self.tr('&Share mind map'),
- - self._startHiveMindService, None, None)
- - self.__startNetworkClientAction = self.createAction(self.tr('&Edit shared mind map'),
- - self._startHiveMindClient, None, None)
- - self.__stopNetworkAction = self.createAction(self.tr('&Finish collaboration'),
- + action_bag.appendAction(self.createAction(self.tr('&New'), self.onFileNew,
- + 'Ctrl+N', 'document-new'), 'fileNewAction')
- + action_bag.appendAction(self.createAction(self.tr('&Open'), self.onFileOpen,
- + 'Ctrl+O', 'document-open'), 'fileOpenAction')
- + action_bag.appendAction(self.createAction(self.tr('&Save'), self.onFileSave,
- + 'Ctrl+S', 'document-save'), 'fileSaveAction')
- + action_bag.appendAction(self.createAction(self.tr('Save as'), self.onFileSaveAs,
- + None, 'document-save-as'), 'fileSaveAsAction')
- + action_bag.appendAction(self.createAction(self.tr('Edit edge'), self.editEdge,
- + 'Ctrl+E'), 'editEdgeAction')
- + action_bag.appendAction(self.createAction(self.tr('Edit label'), self.editLabel,
- + 'Ctrl+L'), 'editLabelAction')
- + action_bag.appendAction(self.createAction(self.tr('Edit node'), self.editNode,
- + 'F2', 'document-edit'), 'editNodeAction')
- + action_bag.appendAction(self.createAction(self.tr('Select icons'),
- + self.editNodeIcons, 'Alt+I'), 'editNodeIconsAction')
- + action_bag.appendAction(self.createAction(self.tr('Fold node'), self.foldNode,
- + 'Space'), 'foldNodeAction')
- + action_bag.appendAction(self.createAction(self.tr('Add child node'), self.addNode,
- + 'Insert', 'list-add'), 'addNodeAction')
- + action_bag.appendAction(self.createAction(self.tr('Remove node'), self.removeNode,
- + 'Delete', 'list-remove'), 'removeNodeAction')
- + action_bag.appendAction(self.createAction(self.tr('Move node'), self._startNodeMoving),
- + 'moveNodeAction')
- + action_bag.appendAction(self.createAction(self.tr('&About'), self.onAbout,
- + None, 'help-about'), 'aboutAction')
- +
- + undoAction = self.__undoStack.createUndoAction(self, self.tr('&Undo'))
- + undoAction.setIcon(QIcon.fromTheme('edit-undo'))
- + undoAction.setShortcut('Ctrl+Z')
- + action_bag.appendAction(undoAction, 'undoAction')
- +
- + redoAction = self.__undoStack.createRedoAction(self, self.tr('&Redo'))
- + redoAction.setIcon(QIcon.fromTheme('edit-redo'))
- + redoAction.setShortcut('Ctrl+Y')
- + action_bag.appendAction(redoAction, 'redoAction')
- +
- + action_bag.appendAction(self.createAction(self.tr('E&xit'), self._closeMainWindow,
- + 'Ctrl+Q', 'application-exit'), 'exitAction')
- +
- + action_bag.appendAction(self.createAction(self.tr('&Share mind map'),
- + self._startHiveMindService, None, None), 'startNetworkServerAction')
- + action_bag.appendAction(self.createAction(self.tr('&Edit shared mind map'),
- + self._startHiveMindClient, None, None), 'startNetworkClientAction')
- + stopNetworkAction = self.createAction(self.tr('&Finish collaboration'),
- self.__networkController.stopCommunication, None, None)
- - self.__stopNetworkAction.setEnabled(False)
- - self.__settingsAction = self.createAction(self.tr('Settings'), self.onSettings,
- - None, 'preferences-other')
- - self.__selectLeftNodeAction = self.createAction(None, self._selectLeftNode, 'Left')
- - self.__selectRightNodeAction = self.createAction(None, self._selectRightNode, 'Right')
- - self.__selectUpNodeAction = self.createAction(None, self._selectUpNode, 'Up')
- - self.__selectDownNodeAction = self.createAction(None, self._selectDownNode, 'Down')
- - self.__selectRootNodeAction = self.createAction(None, self._selectRootNode, 'Escape')
- - self.__addAdjacentNodeAction = self.createAction(None, self._addAdjacentNode,
- - Qt.Key_Return)
- - self.__zoomInAction = self.createAction(self.tr('Zoom in'), None, '+', 'zoom-in')
- - self.__zoomOutAction = self.createAction(self.tr('Zoom out'), None, '-', 'zoom-out')
- + stopNetworkAction.setEnabled(False)
- + action_bag.appendAction(stopNetworkAction, 'stopNetworkAction')
- +
- + action_bag.appendAction(self.createAction(self.tr('Settings'), self.onSettings,
- + None, 'preferences-other'), 'settingsAction')
- + action_bag.appendAction(self.createAction(None, self._selectLeftNode, 'Left'),
- + 'selectLeftNodeAction')
- + action_bag.appendAction(self.createAction(None, self._selectRightNode, 'Right'),
- + 'selectRightNodeAction')
- + action_bag.appendAction(self.createAction(None, self._selectUpNode, 'Up'),
- + 'selectUpNodeAction')
- + action_bag.appendAction(self.createAction(None, self._selectDownNode, 'Down'),
- + 'selectDownNodeAction')
- + action_bag.appendAction(self.createAction(None, self._selectRootNode, 'Escape'),
- + 'selectRootNodeAction')
- + action_bag.appendAction(self.createAction(None, self._addAdjacentNode, Qt.Key_Return),
- + 'addAdjacentNodeAction')
- + action_bag.appendAction(self.createAction(self.tr('Zoom in'), None, '+', 'zoom-in'),
- + 'zoomInAction')
- + action_bag.appendAction(self.createAction(self.tr('Zoom out'), None, '-', 'zoom-out'),
- + 'zoomOutAction')
- def _addCommand(self, command):
- '''
- @@ -661,7 +682,7 @@
- @param clean: undo stack clean state indication
- @type clean: bool
- '''
- - self.__fileSaveAction.setDisabled(clean)
- + action_bag.getActionByName('fileSaveAction').setDisabled(clean)
- def _closeMainWindow(self):
- '''Close main window of the application'''
- @@ -700,9 +721,9 @@
- @type state: str
- '''
- canStart = True if state == 'offline' else False
- - self.__startNetworkClientAction.setEnabled(canStart)
- - self.__startNetworkServerAction.setEnabled(canStart)
- - self.__stopNetworkAction.setEnabled(not canStart)
- + action_bag.getActionByName('startNetworkClientAction').setEnabled(canStart)
- + action_bag.getActionByName('startNetworkServerAction').setEnabled(canStart)
- + action_bag.getActionByName('stopNetworkAction').setEnabled(not canStart)
- def _startHiveMindService(self):
- '''Enable HiveMind network service'''
- diff -r 3d6b5e06f52b hivemind/maemo/main_window.py
- --- a/hivemind/maemo/main_window.py Tue Nov 30 22:10:35 2010 +0300
- +++ b/hivemind/maemo/main_window.py Wed Dec 01 21:34:40 2010 +0300
- @@ -45,22 +45,23 @@
- self.setAttribute(Qt.WA_Maemo5StackedWindow)
- def _createZoomWidget(self, controller):
- - self.__zoomWidget = MaemoZoomWidget(self._mindMapView, controller.zoomInAction,
- - controller.zoomOutAction)
- + self.__zoomWidget = MaemoZoomWidget(self._mindMapView,
- + action_bag.getActionByName('zoomInAction'),
- + action_bag.getActionByName('zoomOutAction'))
- def _createContextMenu(self, controller):
- self.__menu = MaemoNodeMenu(self._mindMapView, controller)
- self.__additionalMenu = MaemoNodeMenu(self._mindMapView, controller)
- - self.__menu.addAction(controller.addNodeAction, 'add_node')
- - self.__menu.addAction(controller.removeNodeAction, 'remove_node')
- - self.__menu.addAction(controller.editNodeAction, 'edit_node')
- - controller.foldNodeAction.setCheckable(True)
- - self.__menu.addAction(controller.foldNodeAction, 'hide_subtree')
- - self.__additionalMenu.addAction(controller.editNodeIconsAction, 'edit_icons')
- - self.__additionalMenu.addAction(controller.editEdgeAction, 'edit_edge')
- - self.__additionalMenu.addAction(controller.moveNodeAction, 'move_node')
- - self.__additionalMenu.addAction(controller.editLabelAction, 'label_edge')
- + self.__menu.addAction(action_bag.getActionByName('addNodeAction'), 'add_node')
- + self.__menu.addAction(action_bag.getActionByName('removeNodeAction'), 'remove_node')
- + self.__menu.addAction(action_bag.getActionByName('editNodeAction'), 'edit_node')
- + action_bag.getActionByName('foldNodeAction').setCheckable(True)
- + self.__menu.addAction(action_bag.getActionByName('foldNodeAction'), 'hide_subtree')
- + self.__additionalMenu.addAction(action_bag.getActionByName('editNodeIconsAction'), 'edit_icons')
- + self.__additionalMenu.addAction(action_bag.getActionByName('editEdgeAction'), 'edit_edge')
- + self.__additionalMenu.addAction(action_bag.getActionByName('moveNodeAction'), 'move_node')
- + self.__additionalMenu.addAction(action_bag.getActionByName('editLabelAction'), 'label_edge')
- self.connect(self.__menu, SIGNAL('show'),
- adaptCallable(self.__additionalMenu.hideMenu))
- self.connect(self.__additionalMenu, SIGNAL('show'),
- @@ -72,18 +73,18 @@
- @type controller: MainWindowController
- '''
- menu = self.menuBar().addMenu('')
- - menu.addAction(controller.fileNewAction)
- - menu.addAction(controller.fileOpenAction)
- - menu.addAction(controller.fileSaveAction)
- - menu.addAction(controller.fileSaveAsAction)
- + menu.addAction(action_bag.getActionByName('fileNewAction'))
- + menu.addAction(action_bag.getActionByName('fileOpenAction'))
- + menu.addAction(action_bag.getActionByName('fileSaveAction'))
- + menu.addAction(action_bag.getActionByName('fileSaveAsAction'))
- menu.addAction(self.__fullScreenAction)
- - menu.addAction(controller.aboutAction)
- - menu.addAction(controller.settingsAction)
- - menu.addAction(controller.undoAction)
- - menu.addAction(controller.redoAction)
- - menu.addAction(controller.startNetworkServerAction)
- - menu.addAction(controller.startNetworkClientAction)
- - menu.addAction(controller.stopNetworkAction)
- + menu.addAction(action_bag.getActionByName('aboutAction'))
- + menu.addAction(action_bag.getActionByName('settingsAction'))
- + menu.addAction(action_bag.getActionByName('undoAction'))
- + menu.addAction(action_bag.getActionByName('redoAction'))
- + menu.addAction(action_bag.getActionByName('startNetworkServerAction'))
- + menu.addAction(action_bag.getActionByName('startNetworkClientAction'))
- + menu.addAction(action_bag.getActionByName('stopNetworkAction'))
- def showMenu(self, rightButton, item):
- '''Show one of the two menus according to the button clicked'''
- diff -r 3d6b5e06f52b hivemind/main_window.py
- --- a/hivemind/main_window.py Tue Nov 30 22:10:35 2010 +0300
- +++ b/hivemind/main_window.py Wed Dec 01 21:34:40 2010 +0300
- @@ -27,6 +27,7 @@
- from PySide.QtCore import *
- from hivemind.gui_widgets import *
- from hivemind.gui_delegates import *
- +import action_bag
- class MainView(QGraphicsView):
- '''
- @@ -436,24 +437,24 @@
- def _initActions(self, controller):
- '''Appends the actions to mainView's list of actions'''
- - self._mindMapView.addAction(controller.editEdgeAction)
- - self._mindMapView.addAction(controller.editLabelAction)
- - self._mindMapView.addAction(controller.editNodeAction)
- - self._mindMapView.addAction(controller.editNodeIconsAction)
- - self._mindMapView.addAction(controller.foldNodeAction)
- - self._mindMapView.addAction(controller.addNodeAction)
- - self._mindMapView.addAction(controller.removeNodeAction)
- - self._mindMapView.addAction(controller.selectLeftNodeAction)
- - self._mindMapView.addAction(controller.selectRightNodeAction)
- - self._mindMapView.addAction(controller.selectUpNodeAction)
- - self._mindMapView.addAction(controller.selectDownNodeAction)
- - self._mindMapView.addAction(controller.selectRootNodeAction)
- - self._mindMapView.addAction(controller.addAdjacentNodeAction)
- - self._mindMapView.addAction(controller.zoomInAction)
- - self._mindMapView.addAction(controller.zoomOutAction)
- - controller.zoomInAction.connect(SIGNAL('triggered()'),
- + self._mindMapView.addAction(action_bag.getActionByName('editEdgeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('editLabelAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('editNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('editNodeIconsAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('foldNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('addNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('removeNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('selectLeftNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('selectRightNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('selectUpNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('selectDownNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('selectRootNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('addAdjacentNodeAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('zoomInAction'))
- + self._mindMapView.addAction(action_bag.getActionByName('zoomOutAction'))
- + action_bag.getActionByName('zoomInAction').connect(SIGNAL('triggered()'),
- self._mindMapView.zoomIn)
- - controller.zoomOutAction.connect(SIGNAL('triggered()'),
- + action_bag.getActionByName('zoomOutAction').connect(SIGNAL('triggered()'),
- self._mindMapView.zoomOut)
- def resetView(self):
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement