i want unsubscribe from your group On 05/01/2015, Noelia <nrm1977@xxxxxxxxx> wrote: > Hi, unfortunately I don't know that language, but we will try to fix > this bug. > Please test again the new changes and, if these don't fix the problem, > please give more details. > Thanks. > > > El 05/01/2015 a las 3:01, 雪岭冰龙 escribió: >> Hi: >> ReadFeed cannot display and read Simplified Chinese text. >> Thanks! >> >> 2015-01-04 3:36 GMT+08:00, Noelia <nrm1977@xxxxxxxxx>: >>> 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 >> > > --- > 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