OSDN Git Service

localization of application
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / NeverNote.java
index 5897cf1..60aeda2 100644 (file)
@@ -64,12 +64,14 @@ import com.trolltech.qt.core.QFileInfo;
 import com.trolltech.qt.core.QFileSystemWatcher;
 import com.trolltech.qt.core.QIODevice;
 import com.trolltech.qt.core.QIODevice.OpenModeFlag;
+import com.trolltech.qt.core.QLocale;
 import com.trolltech.qt.core.QModelIndex;
 import com.trolltech.qt.core.QSize;
 import com.trolltech.qt.core.QTemporaryFile;
 import com.trolltech.qt.core.QTextCodec;
 import com.trolltech.qt.core.QThreadPool;
 import com.trolltech.qt.core.QTimer;
+import com.trolltech.qt.core.QTranslator;
 import com.trolltech.qt.core.QUrl;
 import com.trolltech.qt.core.Qt;
 import com.trolltech.qt.core.Qt.SortOrder;
@@ -306,7 +308,16 @@ public class NeverNote extends QMainWindow{
                        Global.invalidAttributes.put(elements.get(i), conn.getInvalidXMLTable().getInvalidAttributes(elements.get(i)));
                }
                
-               logger.log(logger.EXTREME, tr("Starting GUI build"));
+               logger.log(logger.EXTREME, "Starting GUI build");
+
+               QTranslator qtTranslator = new QTranslator();
+               qtTranslator.load("classpath:/translations/qt_" + QLocale.system().name() + ".qm");
+               QApplication.instance().installTranslator(qtTranslator);
+
+               QTranslator nevernoteTranslator = new QTranslator();
+               nevernoteTranslator.load("classpath:/translations/nevernote_"+QLocale.system().name()+ ".qm");
+               QApplication.instance().installTranslator(nevernoteTranslator);
+
                Global.originalPalette = QApplication.palette();
                QApplication.setStyle(Global.getStyle());
                if (Global.useStandardPalette())
@@ -1459,6 +1470,13 @@ public class NeverNote extends QMainWindow{
        // A note's tags have been updated
        @SuppressWarnings("unused")
        private void updateNoteTags(String guid, List<String> tags) {
+               // Save any new tags.  We'll need them later.
+               List<String> newTags = new ArrayList<String>();
+               for (int i=0; i<tags.size(); i++) {
+                       if (conn.getTagTable().findTagByName(tags.get(i))==null) 
+                               newTags.add(tags.get(i));
+               }
+               
                listManager.saveNoteTags(guid, tags);
                listManager.countTagResults(listManager.getNoteIndex());
                StringBuffer names = new StringBuffer("");
@@ -1470,7 +1488,10 @@ public class NeverNote extends QMainWindow{
                }
                browserWindow.setTag(names.toString());
                noteDirty = true;
-//             tagTree.updateCounts(listManager.getTagCounter());
+               
+               // Now, we need to add any new tags to the tag tree
+               for (int i=0; i<newTags.size(); i++) 
+                       tagTree.insertTag(newTags.get(i), conn.getTagTable().findTagByName(newTags.get(i)));
        }
        // Get a string containing all tag names for a note
        private String getTagNamesForNote(Note n) {