Well, this version sound more likely. I have not found errors to report.Could be released a build of this 3.0dev version in the development addons page?
Very thanks. Chris. Noelia, 03/01/2015 20:36:
Hi, if you are interested please report feedback on this version of readFeeds. A file manager item has been appended to the add-on menu, containing two buttons which open the copy and restore personal feeds. It's a settings dialog, to avoid errors when opening another setting dialog while a directory dialog is opened. OK and cancel buttons just destroy the File manager dialog. If this is right, we can proceed to do the same with place markers add-on. Thanks. El 03/01/2015 a las 20:32, commits-noreply@xxxxxxxxxxxxx escribió:2 new commits in readFeeds: https://bitbucket.org/nvdaaddonteam/readfeeds/commits/8b00b8b4cd34/ Changeset: 8b00b8b4cd34 Branch: None User: norrumar Date: 2015-01-03 11:58:54+00:00 Summary: Merge branch 'stable' Affected #: 1 file diff --git a/addon/locale/fi/LC_MESSAGES/nvda.po b/addon/locale/fi/LC_MESSAGES/nvda.po index 77672c8..bd93602 100644 --- a/addon/locale/fi/LC_MESSAGES/nvda.po +++ b/addon/locale/fi/LC_MESSAGES/nvda.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: readFeeds\n" "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n" "POT-Creation-Date: 2013-11-16 13:26+0100\n" -"PO-Revision-Date: 2014-10-17 10:59+0200\n" +"PO-Revision-Date: 2014-12-28 09:17+0200\n" "Last-Translator: Jani Kinnunen <jani.kinnunen@xxxxxxxxxx>\n" "Language-Team: Finnish <jani.kinnunen@xxxxxxxxxx>\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.6.9\n" +"X-Generator: Poedit 1.7.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Translators: the label of a message box dialog. @@ -23,8 +23,8 @@ msgid "" "You have installed the ReadFeeds add-on, probably an old and incompatible " "version with this one. Do you want to uninstall the old version?" msgstr "" -"Sinulla on asennettuna luultavasti vanha Lue syötteet -lisäosan versio, joka " -"ei ole yhteensopiva tämän version kanssa. Haluatko poistaa vanhan version?" +"Sinulla on asennettuna vanha Lue syötteet -lisäosan versio, joka ei ole " +"yhteensopiva tämän version kanssa. Haluatko poistaa vanhan lisäosan?" #. Translators: the title of a message box dialog. msgid "Uninstall incompatible add-on" https://bitbucket.org/nvdaaddonteam/readfeeds/commits/563838854ee0/ Changeset: 563838854ee0 Branch: master User: norrumar Date: 2015-01-03 19:31:37+00:00 Summary: Created a file manager to copy and restore feeds, avoiding errors when opening settings dialogs. Affected #: 1 file diff --git a/addon/globalPlugins/readFeeds.py b/addon/globalPlugins/readFeeds.py index 32950d2..0fd847e 100644 --- a/addon/globalPlugins/readFeeds.py +++ b/addon/globalPlugins/readFeeds.py @@ -169,18 +169,12 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin): # Translators: the tooltip for a menu item. _("Checks for new articles for the current feed")) gui.mainFrame.sysTrayIcon.Bind(wx.EVT_MENU, self.onReadFirstFeed, self.readFirstItem) - self.copyFeedsItem = self.readFeedsMenu.Append(wx.ID_ANY, - # Translators: the name of a menu item, which will backup the users feeds. - _("&Backup personal feeds folder..."), - # Translators: the tooltip for a menu item. - _("Backs up your personal feeds folder")) - gui.mainFrame.sysTrayIcon.Bind(wx.EVT_MENU, self.onCopyFeeds, self.copyFeedsItem) - self.restoreFeedsItem = self.readFeedsMenu.Append(wx.ID_ANY, + self.ReadFeedsFileManagerItem = self.readFeedsMenu.Append(wx.ID_ANY, # Translators: the name of a menu item. - _("R&estore personal feeds..."), + _("&ReadFeeds file manager..."), # Translators: the tooltip for a menu item. - _("Restore previously saved feeds")) - gui.mainFrame.sysTrayIcon.Bind(wx.EVT_MENU, self.onRestoreFeeds, self.restoreFeedsItem) + _("Opens the ReadFeedsFileManager dialog")) + gui.mainFrame.sysTrayIcon.Bind(wx.EVT_MENU, self.onReadFeedsFileManager, self.ReadFeedsFileManagerItem) self._feed = None def terminate(self): @@ -231,47 +225,8 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin): return ui.message(self._feed.getArticleTitle()) - def onCopyFeeds(self, evt): - dlg = wx.DirDialog(gui.mainFrame, - # Translators: the label of a dialog to select a folder. - _("Select the folder where your personal feeds will be backed up."), - configPath, wx.DD_DEFAULT_STYLE) - gui.mainFrame.prePopup() - result = dlg.ShowModal() - gui.mainFrame.postPopup() - if result == wx.ID_OK: - copyPath = os.path.join(dlg.GetPath(), "personalFeeds") - try: - shutil.rmtree(copyPath, ignore_errors=True) - shutil.copytree(_savePath, copyPath) - except WindowsError: - wx.CallAfter(gui.messageBox, - # Translators: the label of an error dialog. - _("Unable to backup folder"), - # Translators: the title of an error dialog. - _("Backup Error"), - wx.OK|wx.ICON_ERROR) - - def onRestoreFeeds(self, evt): - feedsPath = os.path.join(configPath, "personalFeeds") - dlg = wx.DirDialog(gui.mainFrame, - # Translators: the label of a dialog to select a folder. - _("Restore personal feeds from backup folder"), feedsPath, wx.DD_DIR_MUST_EXIST | wx.DD_DEFAULT_STYLE) - gui.mainFrame.prePopup() - result = dlg.ShowModal() - gui.mainFrame.postPopup() - if result == wx.ID_OK: - feedsPath = dlg.GetPath() - try: - shutil.rmtree(_savePath, ignore_errors=True) - shutil.copytree(feedsPath, _savePath) - except WindowsError: - wx.CallAfter(gui.messageBox, - # Translators: the label of an error dialog. - _("Folder not restored"), - # Translators: the title of an error dialog. - _("Restore Error"), - wx.OK|wx.ICON_ERROR) + def onReadFeedsFileManager(self, evt): + gui.mainFrame._popupSettingsDialog(ReadFeedsManagerDialog) def script_readFirstFeed(self, gesture): self.onReadFirstFeed(None) @@ -419,3 +374,62 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin): "kb:control+NVDA+enter": "setAddressFile", "kb:shift+NVDA+enter": "saveAddress", } + +class ReadFeedsManagerDialog(gui.SettingsDialog): + + title = _("Feeds manager") + + def makeSettings(self, settingsSizer): + foldersSizer = wx.BoxSizer(wx.VERTICAL) + # Translators: the name of a dialog button. + self.focusedCtrl = wx.Button(self, label = _("&Backup personal feeds folder...")) + self.focusedCtrl.Bind(wx.EVT_BUTTON, self.onBrowseForBackupDirectory) + foldersSizer.Add(self.focusedCtrl) + # Translators: the name of a dialog button. + ctrl = wx.Button(self, label=_("R&estore personal feeds...")) + ctrl.Bind(wx.EVT_BUTTON, self.onBrowseForRestoreDirectory) + foldersSizer.Add(ctrl) + settingsSizer.Add(foldersSizer) + + def postInit(self): + self.focusedCtrl.SetFocus() + def onBrowseForBackupDirectory(self, evt): + with wx.DirDialog(self, + # Translators: the label of a dialog to select a folder. + _("Select the folder where your personal feeds will be backed up."), + configPath) as dlg: + gui.mainFrame.prePopup() + if dlg.ShowModal() == wx.ID_OK: + gui.mainFrame.postPopup() + copyPath = os.path.join(dlg.GetPath(), "personalFeeds") + try: + shutil.rmtree(copyPath, ignore_errors=True) + shutil.copytree(_savePath, copyPath) + except WindowsError: + wx.CallAfter(gui.messageBox, + ## Translators: the label of an error dialog. + _("Unable to backup folder"), + # Translators: the title of an error dialog. + _("Backup Error"), + wx.OK|wx.ICON_ERROR) + + def onBrowseForRestoreDirectory(self, evt): + feedsPath = os.path.join(configPath, "personalFeeds") + with wx.DirDialog(self, + # Translators: the label of a dialog to select a folder. + _("Restore personal feeds from backup folder"), + feedsPath, wx.DD_DIR_MUST_EXIST | wx.DD_DEFAULT_STYLE) as dlg: + gui.mainFrame.prePopup() + if dlg.ShowModal() == wx.ID_OK: + gui.mainFrame.postPopup() + feedsPath = dlg.GetPath() + try: + shutil.rmtree(_savePath, ignore_errors=True) + shutil.copytree(feedsPath, _savePath) + except WindowsError: + wx.CallAfter(gui.messageBox, + # Translators: the label of an error dialog. + _("Folder not restored"), + # Translators: the title of an error dialog. + _("Restore Error"), + wx.OK|wx.ICON_ERROR) Repository URL: https://bitbucket.org/nvdaaddonteam/readfeeds/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.--- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. http://www.avast.com ---------------------------------------------------------------- NVDA add-ons: A list to discuss add-on code enhancements and for reporting bugs. Community addons are available from: http://addons.nvda-project.org To send a message to the list: nvda-addons@xxxxxxxxxxxxx To change your list settings/unsubscribe: //www.freelists.org/list/nvda-addons To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx
----------------------------------------------------------------NVDA add-ons: A list to discuss add-on code enhancements and for reporting bugs.
Community addons are available from: http://addons.nvda-project.org To send a message to the list: nvda-addons@xxxxxxxxxxxxx To change your list settings/unsubscribe: //www.freelists.org/list/nvda-addons To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx