示例#1
0
        private void GenerateFileList()
        {
            // Steps
            // if the folder is selected
            if (audioFolder != null)
            {
                // Remove list items.
                Gtk.ListStore ls = (Gtk.ListStore)treeview1.Model;
                if (ls != null)
                {
                    ls.Clear();
                }

                // Get List of Audiofiles required.
                List <AudioFiles.AudioEntry> audioFileList = AudioFiles.generateAudioFileNames();
                refreshAudioFileOnScreenListFromAudioFileList(audioFileList);

                // Add them to the screenlist
                addAudioFileListToTreeView();


                //   Show whether they already exist or not
            }
        }
示例#2
0
        public static void saveToAnkiFile(String fileName)
        {
            StreamWriter fileout = new StreamWriter(fileName);

            List <Dictionary <String, String> > outputTable = CardGeneratorDB.Instance.getDataFromTable(CardGeneratorDB.TABLECardOutput);

            foreach (Dictionary <String, String> outputEntry in outputTable)
            {
                String CardDataID       = outputEntry[CardGeneratorDB.COLUMNCardDataID];
                String CardDefinitionID = outputEntry[CardGeneratorDB.COLUMNCardDefinitionID];


                // ("+COLUMNCardOutputID+" INTEGER NOT NULL, "+COLUMNCardDefinitionID+" INTEGER, "+COLUMNCardDataID+" INTEGER)",
                Dictionary <String, String> cardDefinition = CardGeneratorDB.Instance.getRowFromTable(CardGeneratorDB.TABLECardDefinitions, CardGeneratorDB.COLUMNCardDefinitionID, CardDefinitionID);
                Dictionary <String, String> cardData       = CardGeneratorDB.Instance.getRowFromTable(CardGeneratorDB.TABLECardData, CardGeneratorDB.COLUMNCardDataID, CardDataID);

                StringWriter faceOutput    = new StringWriter();
                int          iFace         = 1;
                bool         bFirstFaceRun = true;
                bool         bContinue     = true;
                while (bContinue)
                {
                    String faceColumn = "Face" + (iFace++);
                    if (cardDefinition.ContainsKey(faceColumn))
                    {
                        if (!bFirstFaceRun)
                        {
                            faceOutput.Write(";");
                        }
                        else
                        {
                            bFirstFaceRun = false;
                        }

                        String faceDefinition = cardDefinition[faceColumn];
                        List <CardDefinitions.CardDefClass> faceLanguages = CardDefinitions.faceCardStructureFromJSONString(faceDefinition);
                        bool bFirstRun = true;                         // first entry in a face

                        foreach (CardDefinitions.CardDefClass item in faceLanguages)
                        {
                            if (!bFirstRun)
                            {
                                faceOutput.Write("<BR>");
                            }
                            else
                            {
                                bFirstRun = false;
                            }

                            if (item.TYPE == false)
                            {
                                faceOutput.Write(cardData[item.COLUMNSOURCE]);
                            }
                            else
                            {
                                // a sound, get the sound instead
                                String filename = AudioFiles.generateFilename(item.LANGUAGECODE, cardData[item.COLUMNSOURCE]);
                                faceOutput.Write("[sound:" + filename + "]");
                            }
                        }
                    }
                    else
                    {
                        bContinue = false;
                    }
                }

                String outLn = faceOutput.ToString();
                fileout.WriteLine(outLn);

                // ok, now build the faces from each
                // get faces data

                // DE-JSON into class data

                // build string for each JSON context
            }
            fileout.Close();
        }