Hi, Is it possible to get some decision on this string break? I'd really like to get this patch in soon, if possible.
-Alex Sanford Armstrong wrote: > This email hasn't made it to gnome-i18n or gnome-doc-list, so I have > subscribed to those lists to expedite things. The patch mentioned > below is also attached to this email. Sorry for any unnecessary > duplication. > > On 8/22/06, Sanford Armstrong <[EMAIL PROTECTED]> wrote: >> As part of Tomboy being included in GNOME 2.16 [1], several users have >> requested the ability for old Sticky Notes to be automatically >> imported into Tomboy [2] [3]. This feature is now ready to be >> committed. >> >> Attached is the patch, and it breaks the string freeze for Tomboy in >> two ways: >> >> 1) A GConf key has been added to tomboy.schemas.in. Since the Sticky >> Note import plugin is an official part of Tomboy, and the plugin uses >> a GConf key to determine if it has ever been run before, this is a >> necessary change. >> >> 2) Previously, when manually running the Sticky Note import plugin, >> the dialog would say something like "4 of 4 Sticky Notes were >> successfully imported". But if a user upgrades/installs Tomboy, and >> the first time it starts is on their next log-in, that message is >> somewhat disembodied and needs to be more explicit. Therefore it now >> ends with "successfully imported into Tomboy". I feel that this is an >> important change for users who are just transitioning from Sticky >> Notes to Tomboy. If anyone has a better suggestion for the verbiage >> in that dialog, I would be happy to hear it. >> >> I am new to internationalization, so if there is any additional way I >> have broken the freeze please let me know. I would like to commit >> this patch to CVS as soon as possible. >> >> Thanks, >> Sandy Armstrong >> >> [1] >> http://mail.gnome.org/archives/devel-announce-list/2006-August/msg00000.html >> >> [2] >> http://mail.gnome.org/archives/desktop-devel-list/2006-July/msg00642.html >> [3] >> http://mail.gnome.org/archives/desktop-devel-list/2006-August/msg00211.html >> >> >> >> > > ------------------------------------------------------------------------ > > ? INSTALL > ? Tomboy/Plugins/.StickyNoteImport.cs.swp > ? data/DefaultPlugins.desktop > ? data/DefaultPlugins.desktop.in > ? data/tomboy-plugins.pc > ? po/stamp-it > Index: Tomboy/NoteManager.cs > =================================================================== > RCS file: /cvs/gnome/tomboy/Tomboy/NoteManager.cs,v > retrieving revision 1.30 > diff -u -p -r1.30 NoteManager.cs > --- Tomboy/NoteManager.cs 27 Jul 2006 08:50:17 -0000 1.30 > +++ Tomboy/NoteManager.cs 23 Aug 2006 04:54:00 -0000 > @@ -143,7 +143,10 @@ namespace Tomboy > trie_controller.Update (); > > // Load all the plugins for our notes. > - foreach (Note note in notes) { > + // Iterating through copy of notes list, because list > may be > + // changed when loading plugins. > + ArrayList notesCopy = new ArrayList (notes); > + foreach (Note note in notesCopy) { > plugin_mgr.LoadPluginsForNote (note); > } > } > Index: Tomboy/Preferences.cs > =================================================================== > RCS file: /cvs/gnome/tomboy/Tomboy/Preferences.cs,v > retrieving revision 1.8 > diff -u -p -r1.8 Preferences.cs > --- Tomboy/Preferences.cs 2 Aug 2006 07:08:24 -0000 1.8 > +++ Tomboy/Preferences.cs 23 Aug 2006 04:54:00 -0000 > @@ -23,6 +23,8 @@ namespace Tomboy > public const string EXPORTHTML_LAST_DIRECTORY = > "/apps/tomboy/export_html/last_directory"; > public const string EXPORTHTML_EXPORT_LINKED = > "/apps/tomboy/export_html/export_linked"; > > + public const string STICKYNOTEIMPORTER_FIRST_RUN = > "/apps/tomboy/sticky_note_importer/sticky_importer_first_run"; > + > static GConf.Client client; > static GConf.NotifyEventHandler changed_handler; > > @@ -70,6 +72,9 @@ namespace Tomboy > > case EXPORTHTML_LAST_DIRECTORY: > return ""; > + > + case STICKYNOTEIMPORTER_FIRST_RUN: > + return true; > } > > return null; > Index: Tomboy/Plugins/StickyNoteImport.cs > =================================================================== > RCS file: /cvs/gnome/tomboy/Tomboy/Plugins/StickyNoteImport.cs,v > retrieving revision 1.3 > diff -u -p -r1.3 StickyNoteImport.cs > --- Tomboy/Plugins/StickyNoteImport.cs 25 Jul 2006 22:34:25 -0000 > 1.3 > +++ Tomboy/Plugins/StickyNoteImport.cs 23 Aug 2006 04:54:00 -0000 > @@ -18,9 +18,15 @@ public class StickyNoteImporter : NotePl > private const string base_duplicate_note_title = "{0} (#{1})"; > > private const string debug_no_sticky_file = > - "StickyNoteImporter: Sticky Notes XML file does not exist!"; > + "StickyNoteImporter: Sticky Notes XML file does not exist or is > invalid!"; > private const string debug_create_error_base = > "StickyNoteImporter: Error while trying to create note \"{0}\": > {1}"; > + private const string debug_first_run_detected = > + "StickyNoteImporter: Detecting that importer has never been > run..."; > + private const string debug_gconf_set_error_base = > + "StickyNoteImporter: Error setting initial GConf first run key > value: {0}"; > + > + private string sticky_xml_path; > > protected override void Initialize () > { > @@ -30,6 +36,12 @@ public class StickyNoteImporter : NotePl > item.Activated += ImportButtonClicked; > item.Show (); > AddPluginMenuItem (item); > + > + sticky_xml_path = > + Environment.GetFolderPath > (System.Environment.SpecialFolder.Personal) > + + sticky_xml_rel_path; > + > + CheckForFirstRun (); > } > > protected override void Shutdown () > @@ -41,19 +53,54 @@ public class StickyNoteImporter : NotePl > { > // Do nothing. > } > - > - void ImportButtonClicked (object sender, EventArgs args) > + > + void CheckForFirstRun () > { > - string sticky_xml_path = > - Environment.GetFolderPath > (System.Environment.SpecialFolder.Personal) > - + sticky_xml_rel_path; > + bool firstRun = (bool) Preferences.Get > (Preferences.STICKYNOTEIMPORTER_FIRST_RUN); > + > + if (firstRun) { > + try { > + Preferences.Set > (Preferences.STICKYNOTEIMPORTER_FIRST_RUN, false); > + } catch (Exception e) { > + Logger.Log (debug_gconf_set_error_base, e); > + } > + > + Logger.Log (debug_first_run_detected); > + > + XmlDocument xmlDoc = GetStickyXmlDoc (); > + if (xmlDoc != null) > + ImportNotes (xmlDoc); > + } > + } > > - if (File.Exists (sticky_xml_path)) > - ImportNotes (sticky_xml_path); > + XmlDocument GetStickyXmlDoc () > + { > + if (File.Exists (sticky_xml_path)) { > + try { > + XmlDocument xmlDoc = new XmlDocument (); > + xmlDoc.Load (sticky_xml_path); > + return xmlDoc; > + } > + catch { > + Logger.Log (debug_no_sticky_file); > + return null; > + } > + } > else { > Logger.Log (debug_no_sticky_file); > - ShowNoStickyXMLDialog (sticky_xml_path); > + return null; > } > + > + } > + > + void ImportButtonClicked (object sender, EventArgs args) > + { > + XmlDocument xmlDoc = GetStickyXmlDoc (); > + > + if (xmlDoc != null) > + ImportNotes (xmlDoc); > + else > + ShowNoStickyXMLDialog (sticky_xml_path); > } > > void ShowNoStickyXMLDialog (string xmlPath) > @@ -73,24 +120,14 @@ public class StickyNoteImporter : NotePl > ShowMessageDialog ( > Catalog.GetString ("Sticky Notes import completed"), > string.Format (Catalog.GetString ("<b>{0}</b> of > <b>{1}</b> Sticky Notes " + > - "were successfully > imported."), > + "were successfully > imported into Tomboy."), > numNotesImported, > numNotesTotal), > Gtk.MessageType.Info); > } > > - void ImportNotes (string xmlPath) > + void ImportNotes (XmlDocument xmlDoc) > { > - XmlDocument xmlDoc = new XmlDocument (); > - try { > - xmlDoc.Load (xmlPath); > - } > - catch { > - // TODO: Should this show a different message? > - ShowNoStickyXMLDialog (xmlPath); > - return; > - } > - > XmlNodeList nodes = xmlDoc.SelectNodes (sticky_note_query); > > int numSuccessful = 0; > @@ -133,6 +170,7 @@ public class StickyNoteImporter : NotePl > > try { > Note newNote = Manager.Create (title, noteXml); > + newNote.QueueSave (false); > newNote.Save (); > return true; > } catch (Exception e) { > Index: data/tomboy.schemas.in > =================================================================== > RCS file: /cvs/gnome/tomboy/data/tomboy.schemas.in,v > retrieving revision 1.4 > diff -u -p -r1.4 tomboy.schemas.in > --- data/tomboy.schemas.in 27 May 2006 01:58:25 -0000 1.4 > +++ data/tomboy.schemas.in 23 Aug 2006 04:54:01 -0000 > @@ -207,6 +207,21 @@ > </schema> > > <schema> > + > <key>/schemas/apps/tomboy/sticky_note_importer/sticky_importer_first_run</key> > + > <applyto>/apps/tomboy/sticky_note_importer/sticky_importer_first_run</applyto> > + <owner>tomboy</owner> > + <type>bool</type> > + <default>true</default> > + <locale name="C"> > + <short>Sticky Note Importer First Run</short> > + <long> > + Indicates that the Sticky Note Importer plugin has not been run, so > it should run > + automatically the next time Tomboy starts. > + </long> > + </locale> > + </schema> > + > + <schema> > <key>/schemas/desktop/gnome/url-handlers/note/command</key> > <applyto>/desktop/gnome/url-handlers/note/command</applyto> > <owner>tomboy</owner> _______________________________________________ gnome-doc-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-doc-list
