コード例 #1
0
ファイル: Form1.cs プロジェクト: sunsiz/equran
        private void ShowTrans(PanelEx rpanel)
        {
            if (qv.SelectedIndex != -1)
            {
                TextBoxEx     txtpnl = (TextBoxEx)rpanel.Controls[0];
                tafseerStruct r      = GettafseerFromTitle(rpanel.SelectedText);
                txtpnl.RightToLeft = (r.dir == "rtl") ? RightToLeft.Yes : RightToLeft.No;

                if (wc.Contains(r.id))   /* retreive from the web */
                {
                    txtpnl.ShowLoading();
                    lblstatus.Text = "Retrieving Content From Web...";
                    string rpath = (r.location + qv.SelectedAya.ID + ".html");

                    BackgroundWorker bwText = new BackgroundWorker();
                    bwText.DoWork             += new DoWorkEventHandler(bwText_DoWork);
                    bwText.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwText_RunWorkerCompleted);

                    bwText.RunWorkerAsync(new BackgroundWorkerTextArgument(
                                              rpanel, rpath));
                }
                else   /* reteieve local translations */
                {
                    XmlDocument rxml;
                    rxml = (rpanel.Name == "pnla") ? xmlpnla : xmlpnlb;
                    XmlNode x = rxml.SelectSingleNode("//AYA[@id='" + qv.SelectedAya.ID + "']");
                    if (x != null)
                    {
                        txtpnl.Text = x.InnerText;
                    }
                }
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: sunsiz/equran
        private tafseerStruct GettafseerFromTitle(string p)
        {
            tafseerStruct r = (tafseerStruct)mextension.Items[0].Tag;

            for (int i = 0; i < mextension.Items.Count; i++)
            {
                r = (tafseerStruct)mextension.Items[i].Tag;
                if (r.title == p)
                {
                    break;
                }
            }

            return(r);
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: sunsiz/equran
        private void rItem_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem rsender = (ToolStripMenuItem)sender;
            tafseerStruct     rstruct = (tafseerStruct)rsender.Tag;

            downPanel.SelectedText = rstruct.title;

            XmlDocument rxml;

            rxml = (downPanel.Name == "pnla") ? xmlpnla : xmlpnlb;

            if (!wc.Contains(rstruct.id))
            {
                rxml.Load(rstruct.location);
            }

            ShowTrans(downPanel);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: sunsiz/equran
        private void bwText_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            BackgroundWorkerTextArgument rArgument = ((BackgroundWorkerTextArgument)e.Result);
            PanelEx       rpanel = rArgument.Panel;
            TextBoxEx     txtpnl = (TextBoxEx)rpanel.Controls[0];
            tafseerStruct r      = GettafseerFromTitle(rpanel.SelectedText);

            if (rArgument.Text == "-1")
            {
                lblstatus.Text = DOWNLOAD_TRANSLATION_ERROR;
                txtpnl.HideLoading();
                txtpnl.Text = "";
                return;
            }

            txtpnl.RightToLeft = (r.dir == "rtl") ? RightToLeft.Yes : RightToLeft.No;
            string rText = ((BackgroundWorkerTextArgument)e.Result).Text;

            txtpnl.Text    = RemoveDiacritics(RemoveHtml(rText, r.id));
            lblstatus.Text = "Ready";
            txtpnl.HideLoading();
        }
コード例 #5
0
ファイル: Form1.cs プロジェクト: yehiasalam/equran
        private void LoadIdentity(IdentityEnum Identity)
        {
            switch (Identity) {
                case IdentityEnum.Quran:

                    if (!isIdentityLoaded[0]) {
                        XmlTextReader xmlReader;

                        /* Read the list of all the available fonts */
                        FontFamily[] ff = FontFamily.Families;
                        for (int i = 0; i < ff.Length; i++) {
                            cmbFontName.Items.Add((string)ff[i].Name);
                        }
                        cmbFontName.Text = Properties.Settings.Default.FontName;
                        cmbFontSize.Text = Properties.Settings.Default.FontSize;

                        /* Read and Load Extensions */
                        xmlReader = new XmlTextReader(PATH_APP_DATA + "extensions.xml");
                        tafseerStruct rstruct;
                        xmlReader.ReadToFollowing("extension");
                        do {
                            ToolStripItem rItem;
                            rstruct = new tafseerStruct();
                            rstruct.dir = xmlReader.GetAttribute("dir");
                            rstruct.id = xmlReader.GetAttribute("id");
                            xmlReader.ReadToFollowing("title");
                            rstruct.title = xmlReader.ReadElementString();
                            xmlReader.ReadToFollowing("location");
                            rstruct.location = xmlReader.ReadElementString();

                            rItem = mextension.Items.Add(rstruct.title);
                            rItem.Tag = rstruct;
                            rItem.Click += new EventHandler(rItem_Click);

                        } while (xmlReader.ReadToFollowing("extension"));
                        xmlReader.Close();

                        /* Read all the available recitors */
                        xmlReader = new XmlTextReader(PATH_APP_DATA + "recitations.xml");
                        xmlReader.ReadToFollowing("recitation");
                        do {
                            dctReciters.Add(xmlReader.GetAttribute("name"),
                                            xmlReader.GetAttribute("url"));
                            cmbrecitors.Items.Add(xmlReader.GetAttribute("name"));
                        } while (xmlReader.ReadToNextSibling("recitation"));
                        xmlReader.Close();
                        cmbrecitors.SelectedIndex = Properties.Settings.Default.quranReciter;

                        /* Read all the sowar names from the xml file */
                        xmlReader = new XmlTextReader(PATH_APP_DATA + "quran.xml");
                        xmlReader.ReadToFollowing("SOURA");
                        do {
                            cmbSoura.Items.Add(xmlReader.GetAttribute("id") + "."
                                            + xmlReader.GetAttribute("name"));
                        } while (xmlReader.ReadToNextSibling("SOURA"));
                        xmlReader.Close();

                        /* Load the quran to the viewer */
                        qv.LoadXmlFile(PATH_APP_DATA + "quran.xml");
                        qv.LoadQuranParts(PATH_APP_DATA + "quran_parts.xml");

                        /* Read other UI elements settings for the quran identity*/
                        cntright.Panel2Collapsed = Properties.Settings.Default.SearchState;
                        chkSearch.Checked = !cntright.Panel2Collapsed;
                        pnla.SelectedText = Properties.Settings.Default.pnlaSelected;
                        pnlb.SelectedText = Properties.Settings.Default.pnlbSelected;
                        QuranVolume.Position = Properties.Settings.Default.VolumeLevel;

                        xmlpnla = new XmlDocument(); xmlpnlb = new XmlDocument();
                        if (!wc.Contains(GettafseerFromTitle(pnla.SelectedText).id))
                            xmlpnla.Load(GettafseerFromTitle(pnla.SelectedText).location);
                        if (!wc.Contains(GettafseerFromTitle(pnlb.SelectedText).id))
                            xmlpnlb.Load(GettafseerFromTitle(pnlb.SelectedText).location);

                        if (Properties.Settings.Default.ViewMode == 0) {
                            qv.ViewMode = qViewer.ViewModeFlags.SingleLine;
                            chkSingleline.Checked = true;
                        }
                        else {
                            qv.ViewMode = qViewer.ViewModeFlags.MultiLine;
                            chkMultiline.Checked = true;
                        }
                        cmbSoura.SelectedIndex = Properties.Settings.Default.CurrentSoura;
                        qv.SelectedIndex = Properties.Settings.Default.CurrentAya;
                        qv.ScrollPosition = Properties.Settings.Default.CurrentScrollValue;

                    }
                    spcHadeeth.Visible = false;
                    spcQuran.Visible = true;
                    pnlQuranTools.Show();
                    pnlHadeethTools.Hide();
                    isIdentityLoaded[0] = true;

                    break;
                case IdentityEnum.Hadeeth:

                    string hadeethSelected = Properties.Settings.Default.hadeethSelected;
                    StringCollection hadeethSearchHistory = Properties.Settings.Default.hadeethSearchHistory;

                    if (!isIdentityLoaded[1]) { /* Identity is loaded for the first time */
                        LoadHadeethTree();

                        if (hadeethSearchHistory != null)
                            foreach (string rItem in hadeethSearchHistory)
                                cmbhdtSearch.Items.Add(rItem);

                        cmbhdtSearchScope.Items.Add("جميع الكتب");
                        cmbhdtSearchScope.SelectedIndex = 0;
                        for (int i = 0; i < 6; i++)
                            cmbhdtSearchScope.Items.Add(trvHadeeth.Nodes[i].Text);

                        trvHadeeth.SelectedNode = NodeFromIndex(trvHadeeth ,hadeethSelected);
                        trvHadeeth.Select();

                    }
                    spcHadeeth.Visible = true;
                    spcQuran.Visible = false;
                    pnlQuranTools.Hide();
                    pnlHadeethTools.Show();
                    isIdentityLoaded[1] = true;
                    break;

            }
        }
コード例 #6
0
ファイル: Form1.cs プロジェクト: sunsiz/equran
        private void LoadIdentity(IdentityEnum Identity)
        {
            switch (Identity)
            {
            case IdentityEnum.Quran:

                if (!isIdentityLoaded[0])
                {
                    XmlTextReader xmlReader;

                    /* Read the list of all the available fonts */
                    FontFamily[] ff = FontFamily.Families;
                    for (int i = 0; i < ff.Length; i++)
                    {
                        cmbFontName.Items.Add((string)ff[i].Name);
                    }
                    cmbFontName.Text = Properties.Settings.Default.FontName;
                    cmbFontSize.Text = Properties.Settings.Default.FontSize;


                    /* Read and Load Extensions */
                    xmlReader = new XmlTextReader(PATH_APP_DATA + "extensions.xml");
                    tafseerStruct rstruct;
                    xmlReader.ReadToFollowing("extension");
                    do
                    {
                        ToolStripItem rItem;
                        rstruct     = new tafseerStruct();
                        rstruct.dir = xmlReader.GetAttribute("dir");
                        rstruct.id  = xmlReader.GetAttribute("id");
                        xmlReader.ReadToFollowing("title");
                        rstruct.title = xmlReader.ReadElementString();
                        xmlReader.ReadToFollowing("location");
                        rstruct.location = xmlReader.ReadElementString();

                        rItem        = mextension.Items.Add(rstruct.title);
                        rItem.Tag    = rstruct;
                        rItem.Click += new EventHandler(rItem_Click);
                    } while (xmlReader.ReadToFollowing("extension"));
                    xmlReader.Close();

                    /* Read all the available recitors */
                    xmlReader = new XmlTextReader(PATH_APP_DATA + "recitations.xml");
                    xmlReader.ReadToFollowing("recitation");
                    do
                    {
                        dctReciters.Add(xmlReader.GetAttribute("name"),
                                        xmlReader.GetAttribute("url"));
                        cmbrecitors.Items.Add(xmlReader.GetAttribute("name"));
                    } while (xmlReader.ReadToNextSibling("recitation"));
                    xmlReader.Close();
                    cmbrecitors.SelectedIndex = Properties.Settings.Default.quranReciter;

                    /* Read all the sowar names from the xml file */
                    xmlReader = new XmlTextReader(PATH_APP_DATA + "quran.xml");
                    xmlReader.ReadToFollowing("SOURA");
                    do
                    {
                        cmbSoura.Items.Add(xmlReader.GetAttribute("id") + "."
                                           + xmlReader.GetAttribute("name"));
                    } while (xmlReader.ReadToNextSibling("SOURA"));
                    xmlReader.Close();


                    /* Load the quran to the viewer */
                    qv.LoadXmlFile(PATH_APP_DATA + "quran.xml");
                    qv.LoadQuranParts(PATH_APP_DATA + "quran_parts.xml");

                    /* Read other UI elements settings for the quran identity*/
                    cntright.Panel2Collapsed = Properties.Settings.Default.SearchState;
                    chkSearch.Checked        = !cntright.Panel2Collapsed;
                    pnla.SelectedText        = Properties.Settings.Default.pnlaSelected;
                    pnlb.SelectedText        = Properties.Settings.Default.pnlbSelected;
                    QuranVolume.Position     = Properties.Settings.Default.VolumeLevel;


                    xmlpnla = new XmlDocument(); xmlpnlb = new XmlDocument();
                    if (!wc.Contains(GettafseerFromTitle(pnla.SelectedText).id))
                    {
                        xmlpnla.Load(GettafseerFromTitle(pnla.SelectedText).location);
                    }
                    if (!wc.Contains(GettafseerFromTitle(pnlb.SelectedText).id))
                    {
                        xmlpnlb.Load(GettafseerFromTitle(pnlb.SelectedText).location);
                    }

                    if (Properties.Settings.Default.ViewMode == 0)
                    {
                        qv.ViewMode           = qViewer.ViewModeFlags.SingleLine;
                        chkSingleline.Checked = true;
                    }
                    else
                    {
                        qv.ViewMode          = qViewer.ViewModeFlags.MultiLine;
                        chkMultiline.Checked = true;
                    }
                    cmbSoura.SelectedIndex = Properties.Settings.Default.CurrentSoura;
                    qv.SelectedIndex       = Properties.Settings.Default.CurrentAya;
                    qv.ScrollPosition      = Properties.Settings.Default.CurrentScrollValue;
                }
                spcHadeeth.Visible = false;
                spcQuran.Visible   = true;
                pnlQuranTools.Show();
                pnlHadeethTools.Hide();
                isIdentityLoaded[0] = true;

                break;

            case IdentityEnum.Hadeeth:

                string           hadeethSelected      = Properties.Settings.Default.hadeethSelected;
                StringCollection hadeethSearchHistory = Properties.Settings.Default.hadeethSearchHistory;

                if (!isIdentityLoaded[1])       /* Identity is loaded for the first time */
                {
                    LoadHadeethTree();

                    if (hadeethSearchHistory != null)
                    {
                        foreach (string rItem in hadeethSearchHistory)
                        {
                            cmbhdtSearch.Items.Add(rItem);
                        }
                    }

                    cmbhdtSearchScope.Items.Add("جميع الكتب");
                    cmbhdtSearchScope.SelectedIndex = 0;
                    for (int i = 0; i < 6; i++)
                    {
                        cmbhdtSearchScope.Items.Add(trvHadeeth.Nodes[i].Text);
                    }

                    trvHadeeth.SelectedNode = NodeFromIndex(trvHadeeth, hadeethSelected);
                    trvHadeeth.Select();
                }
                spcHadeeth.Visible = true;
                spcQuran.Visible   = false;
                pnlQuranTools.Hide();
                pnlHadeethTools.Show();
                isIdentityLoaded[1] = true;
                break;
            }
        }